計算機組成原理:第五章 中央處理器_第1頁
計算機組成原理:第五章 中央處理器_第2頁
計算機組成原理:第五章 中央處理器_第3頁
計算機組成原理:第五章 中央處理器_第4頁
計算機組成原理:第五章 中央處理器_第5頁
已閱讀5頁,還剩162頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第五章 中央處理器返回1第五章 中央處理器5.1CPU功能和組成5.2指令周期5.3時序產生器5.4微程序控制器及其設計5.5硬布線控制器及其設計5.6傳統CPU5.7流水CPU5.8RISC的CPU5.9多媒體CPU25.1 CPU的功能和組成1、CPU的功能指令控制(程序的順序控制)操作控制(一條指令有若干操作信號實現)時間控制(指令各個操作實施時間的定時)數據加工(算術運算和邏輯運算)32、CPU的基本組成RD/WRLDDRLDIRLDPCLDARPC+142、CPU的基本組成(1)中央處理器CPU=運算器+控制器(2)運算器ALU累加器暫存器52、CPU的基本組成(3)控制器 控制器組

2、成:程序計數器、指令寄存器、數據緩沖器、地址寄存器、通用寄存器、狀態寄存器、時序發生器、指令譯碼器、總線(數據通路)程序計數器PC(Programming Counter)用來存放正在執行的指令的地址或接著將要執行的下一條指令的地址。順序執行時,每執行一條指令,PC的值應加1要改變程序執行順序的情況時,一般由轉移類指令將轉移目標地址送往PC ,可實現程序的轉移。指令寄存器IR(Instruction Register) 指令寄存器用來存放從存儲器中取出的待執行的指令。在執行該指令的過程中,指令寄存器的內容不允許發生變化,以保證實現指令的全部功能。62、CPU的基本組成指令譯碼器ID(Instr

3、uction Decoder) 暫存在指令寄存器中的指令只有在其操作碼部分經譯碼后才能識別出是一條什么樣的指令。譯碼器經過對指令進行分析和解釋,產生相應的控制信號提供給時序控制信號形成部件。機器周期、工作節拍、脈沖及啟停控制線路 由脈沖源產生一定頻率的脈沖信號作為整個機器的時鐘脈沖時序控制信號形成部件 時序控制信號形成部件又稱微操作信號發生器,真正控制各部件工作的微操作信號是由指令部件提供的操作信號、時序部件提供的時序信號、被控制功能部件所反饋的狀態及條件綜合形成的。72、CPU的基本組成地址形成部件 根據指令的不同尋址方式,用來形成操作數的有效地址功能就是指令流出的控制,實質上就是對取指令的

4、控制。指令分析與執行的控制,對指令流中的每條指令進行分析解釋,根據指令的操作性質和尋址方式形成操作數的地址,然后根據該操作數的地址找到相應的存儲單元,并從中取出指令執行過程中要用到的操作數,最后還要形成相應的操作控制信號序列,通過運算器、存儲器及輸入輸出設備的動作,來實現這條指令的功能。指令流向的控制,指令流向的控制即下條指令地址的形成控制。數據緩沖器、狀態條件寄存器83、CPU中的主要寄存器DR緩沖寄存器/地址寄存器AR中轉站補償速度差別IR指令寄存器PC程序計數器AC內存或I/O指令數據DR指令數據94、操作控制器和時序產生器(1)數據通路(2)操作控制器:為數據通路的建立提供各種操作信號

5、。操作信號提供的依據是指令操作碼和時序信號,主要有三種類型:組合類型存儲類型混合類型104、操作控制器和時序產生器硬布線控制器 硬布線控制器,它是采用組合邏輯技術來實現的,其時序控制信號形成部件是由門電路組成的復雜樹形網絡。這種方法是分立元件時代的產物,以使用最少器件數和取得最高操作速度為設計目標。組合邏輯控制器的最大優點是速度快,但是時序控制信號形成部件的結構不規整,使得設計、調試、維修較困難,難以實現設計自動化。114、操作控制器和時序產生器微程序控制器微程序控制器是采用存儲邏輯來實現的,也就是把微操作信號代碼化,使每條機器指令轉化成為一段微程序并存入一個專門的存儲器(控制存儲器)中,微操

6、作控制信號由微指令產生。微程序控制器的設計思想和組合邏輯設計思想截然不同。它具有設計規整、調試、維修以及更改、擴充指令方便的優點,易于實現自動化設計,已成為當前控制器的主流。但是,由于它增加了一級控制存儲器,所以指令執行速度比組合邏輯控制器慢。組合邏輯和存儲邏輯結合型 這種控制器稱為PLA控制器,它是吸收前兩種的設計思想來實現的。124、操作控制器和時序產生器時序產生器:提供定時和時序信號13145.2指令周期5.2.1 指令周期的基本概念5.2.2 典型指令的指令周期5.2.3 用方框圖語言表示指令周期155.2 指令周期165.2.1 指令周期的基本概念概念指令周期:指取指令、分析指令到執

7、行完該指令所需的全部時間。各種指令的指令周期相同嗎?為什么?機器周期通常又稱CPU周期,通常把一條指令周期劃分為若干個機器周期,每個機器周期完成一個基本操作。主存的工作周期(存取周期)為基礎來規定CPU周期,比如,可以用CPU讀取一個指令字的最短時間來規定CPU周期不同的指令,可能包含不同數目的機器周期。一個機器周期中,包含若干個機器周期(節拍脈沖或T脈沖)。CPU周期規定,不同的計算機中規定不同175.2.1 指令周期的基本概念時鐘周期在一個機器周期內,要完成若干個微操作。這些微操作有的可以同時執行,有的需要按先后次序串行執行。因而需要把一個機器周期分為若干個相等的時間段,每一個時間段稱為一

8、個節拍。節拍常用具有一定寬度的電位信號表示,稱之為節拍電位。節拍的寬度取決于CPU完成一次基本的微操作的時間,如:ALU完成一次正確的運算,寄存器間的一次數據傳送等。185.2.1 指令周期的基本概念195.2.2指令周期下面我們用一個模型機來介紹指令周期概念主要包括:取指(令)周期、(指令)執行周期執行過程:框架原理20215.2.2MOV指令的指令周期取指周期執行周期225.2.2MOV指令的指令周期-取指 程序計數器PC中裝入第一條指令地址101(八進制); PC的內容被放到指令地址總線ABUS(I)上,對指存進行譯碼,并啟動讀命令; 從101號地址讀出的MOV指令通過指令總線IBUS裝

9、入指令寄存器IR; 程序計數器內容加1,變成102,為取下一條指令做好準備; 指令寄存器中的操作碼(OP)被譯碼; CPU識別出是MOV指令,至此,取指周期即告結束。WR/RD235.2.2MOV指令的指令周期-執行 操作控制器(OC)送出控制信號到通用寄存器,選擇R1(10)作源寄存器,選擇R0作目標寄存器; OC送出控制信號到ALU,指定ALU做傳送操作; OC送出控制信號,打開ALU輸出三態門,將ALU輸出送到數據總線DBUS上。注意,任何時候DBUS上只能有一個數據。 OC送出控制信號,將DBUS上的數據打入到數據緩沖寄存器DR(10); OC送出控制信號,將DR中的數據10打入到目標

10、寄存器R0,R0的內容由00變為10。至此,MOV指令執行結束。245.2.3LAD指令的指令周期取指周期執行周期255.2.3LAD指令的指令周期265.2.5ADD指令的指令周期275.2.5ADD指令的指令周期285.2.5STO指令的指令周期295.2.5STO指令的指令周期305.2.6JMP指令的指令周期315.2.6JMP指令的指令周期325.2.7用方框圖語言表示的指令周期引入目的主要是為了教學目的(控制器設計)方法:指令系統設計(模型機的五指令系統)方框按CPU周期方框內內容數據通路操作或控制操作菱形符號判別或測試公操作前邊所講述的5種操作的框圖描述335.2.7方框圖表示指

11、令周期取指執行345.2.7方框圖表示指令周期P139例1雙總線結構機器的數據通路圖微操作信號微操作信號35注意微操作控制信號(右邊)ALU0ALU036總結:一條指令包括一個取指令周期和一個及一個以上的執行周期組成在每個CPU周期中數據通路是明確的數據通路的建立及操作受到操作控制器的控制,當然決定于是什么指令。375.3 時序產生器和控制方式5.3.1時序產生器作用和體制5.3.2時序信號產生器5.3.3控制方式385.3.1、時序產生器作用和體制作用:CPU中的控制器用它指揮機器的工作CPU可以用時序信號/周期信息來辨認從內存中取出的是指令(取指)還是數據(執行)一個CPU周期中時鐘脈沖對

12、CPU的動作有嚴格的約束操作控制器發出的各種信號是時間(時序信號)和空間(部件操作信號)的函數。395.3.1、時序產生器作用和體制體制組成計算機硬件的器件特性決定了時序信號的基本體制是電位脈沖制(以觸發器為例)D為電位輸入端,CP(Clock Pulse)為脈沖輸入端R,S為電位輸入端特性方程如下D=0時,CP上升沿到來時,D觸發器狀態置0D=1時,CP上升沿到來時,D觸發器狀態置1405.3.1、時序產生器作用和體制415.3.1、時序產生器作用和體制硬布線控制器,采用主狀態周期節拍電位節拍脈沖三級體制時序信號產生電路復雜425.3.1、時序產生器作用和體制微程序控制器,節拍電位節拍脈沖二

13、級體制利用微程序順序執行來實現微操作時序信號產生電路簡單435.3.2、時序信號產生器功能:產生時序信號各型計算機產生時序電路不相同大、中型計算機的時序電路復雜,微型計算機的時序電路簡單構成:時鐘源環形脈沖發生器節拍脈沖和讀寫時序譯碼邏輯啟停控制邏輯44一、時鐘脈沖源電路左邊是振蕩電路,右邊是整形電路,左邊的電路產生接近正弦波的波形,右邊非門則將其整形為一個理想的方波11RC1C245二、環形脈沖發生器作用:產生一組有序間隔相等或不等的脈沖序列毛刺產生原因:電路內部原因以及寄存器參數的影響,避免方法:采用循環移位寄存器電路分析:S為置位端,R為復位端SRDCPQQ46三、環形脈沖發生器47三、

14、環形脈沖發生器C4C1C2C348四、節拍脈沖和讀/寫時序的編碼節拍脈沖的譯碼邏輯(一個CPU周期包含4個等間隔的節拍脈沖)思考:假設一個CPU周期包含5個等間隔的節拍脈沖,環型脈沖發生電路怎樣改進?譯碼邏輯有什么變化?49四、節拍脈沖和讀/寫時序的編碼讀寫時序信號的譯碼邏輯表達式以上帶的表示信號來自微程序控制器,持續一個CPU周期 讀寫時序信號受到控制的信號,而節拍脈沖信號時計算機加上電源后就產生。5051五、啟停控制邏輯啟動、停機是隨機的,對讀/寫時序信號也需要由啟停邏輯加以控制。當運行觸發器為“1”時,打開時序電路。當計算機啟動時,一定要從第1個節拍脈沖前沿開始工作。當運行觸發器“0”時

15、,關閉時序產生器。停機時一定要在第4個節拍脈沖結束后關閉時序產生器。525.3.3 控制方式機器指令所包含的CPU周期數反映了指令的復雜程度,不同CPU周期的操作信號的數目和出現的先后次序也不相同。控制方式:控制不同操作序列時序信號的方法。分為以下幾種:同步控制方式異步控制方式聯合控制方式535.3.3 控制方式同步控制方式(指令的機器周期和時鐘周期數不變)完全統一的機器周期執行各種不同的指令采用不定長機器周期中央控制于局部控制的結合異步控制方式每條指令需要多長時間就占多長時間聯合控制方式大部分指令在固定的周期內完成,少數難以確定的操作采用異步方式機器周期的節拍脈沖固定,但是各指令的機器周期數

16、不固定(微程序控制器采用)545.4 微程序控制器發展微程序的概念和原理是由英國劍橋大學的MVWilkes教授于1951年在曼徹斯特大學計算機會議上首先提出來的,當時還沒有合適的存放微程序的控制存儲器的元件。到1964年,IBM公司在IBM 360系列機上成功地采用了微程序設計技術。20世紀70年代以來,由于VLSI技術的發展,推動了微程序設計技術的發展和應用。目前,從大型機到小型機、微型機都普遍采用了微程序設計技術。555.4 微程序控制器基本思想:仿照解題的方法,把操作控制信號編制成微指令,存放到控制存儲器里,運行時,從控存中取出微指令,產生指令運行所需的操作控制信號。從上述可以看出,微程

17、序設計技術是用軟件方法來設計硬件的技術。565.4 微程序控制器5.4.1微程序控制原理5.4.2微程序設計技術575.4.1微程序控制原理微命令:控制部件向執行部件發出的各種控制命令叫作微命令,它是構成控制序列的最小單位。例如:打開或關閉某個控制門的電位信號、某個寄存器的打入脈沖等。微命令是控制計算機各部件完成某個基本微操作的命令。微操作:是微命令的操作過程。微命令和微操作是一一對應的。微命令是微操作的控制信號,微操作是微命令的操作過程。微操作是執行部件中最基本的操作。585.4.1微程序控制原理 由于數據通路的結構關系,微操作可分為相容的和互斥的兩種:互斥的微操作,是指不能同時或不能在同一

18、個節拍內并行執行的微操作。可以編碼相容的微操作,是指能夠同時或在同一個節拍內并行執行的微操作。必須各占一位舉一個例子看一下:見下圖59605.4.1微程序控制原理3、微指令:把在同一CPU周期內并行執行的微操作控制信息,存儲在控制存儲器里,稱為一條微指令(Microinstruction)。它是微命令的組合,微指令存儲在控制器中的控制存儲器中一條微指令通常至少包含兩大部分信息:操作控制字段,又稱微操作碼字段,用以產生某一步操作所需的各個微操作控制信號。某位為1,表明發微指令微指令發出的控制信號都是節拍電位信號,持續時間為一個CPU周期微命令信號還要引入時間控制順序控制字段,又稱微地址碼字段,用

19、以控制產生下一條要執行的微指令地址。615.4.1微程序控制原理4、微程序一系列微指令的有序集合就是微程序。一段微程序對應一條機器指令。微地址:存放微指令的控制存儲器的單元地址下面我們舉一個十進制加法指令為實例。625.4.1微程序控制原理微指令基本格式635.4.1微程序控制原理以十進制加法指令流程數據通路圖操作流程圖645.4.1微程序控制原理四條微指令如下000 000 000 000 111111000000000取指令操作信號P1判別010 100 100 100 000000010011010存結果LDR2R1-XR2 - Y+65十進制加法指令的微程序010 001 001 10

20、0 000000100001001存結果LDR2R2 - XR3 - Y+P2判別P2條件為0,轉到取指令的公操作010 001 001 001 000000000000001存結果LDR2R2 - XR3 - Y-轉到取指令的公操作665.4.1微程序控制原理控制存儲器(CM)。這是微程序控制器的核心部件,用來存放微程序。其性能(包括容量、速度、可靠性等)與計算機的性能密切相關。5、微程序控制器原理675.4.1微程序控制原理微指令寄存器(IR)用來存放從CM取出的正在執行的微指令,它的位數同微指令字長相等。微地址形成部件用來產生初始微地址和后繼微地址,以保證微指令的連續執行。微地址寄存器(

21、MAR) 它接受微地址形成部件送來的微地址,為下一步從CM中讀取微指令作準備。685.4.1微程序控制原理微程序控制器的工作過程(1)執行取指令的公共操作。取指令的公共操作通常由一段取指微程序來完成,在機器開始運行時,自動將取指微程序的入口微地址送MAR,并從CM中讀出相應的微指令送入IR。微指令的操作控制字段產生有關的微命令,用來控制實現取機器指令的公共操作。取指微程序的入口地址一般為CM的0號單元,當取指微程序執行完后,從主存中取出的機器指令就已存人指令寄存器IR中了。(2)由機器指令的操作碼字段通過微地址形成部件產生出該機器指令所對應的微程序的入口地址,并送入MA(3)從CM中逐條取出對

22、應的微指令并執行之,每條微指令都能自動產生下一條微指令的地址。695.4.1微程序控制原理(4)一條機器指令對應的微程序的最后一條微指令執行完畢后,其下一條微指令地址又回到取指微程序的人口地址,從而繼續第(1)步,以完成取下條機器指令的公共操作。以上是一條機器指令的執行過程,如此周而復始,直到整個程序的所有機器指令執行完畢。705.4.1微程序控制原理6、CPU周期和微指令周期的關系715.4.1微程序控制原理72機器指令與微指令的關系狀態信息73 例 設某計算機運算器框圖如圖所示,其中ALU為16位的加法器(高電平工作),SA,SB為16位暫存器。4個通用寄存器由D觸發器組成,Q端輸出,其讀

23、、寫控制功能見下表。 寫控制讀控制選擇WA1WA0W選擇RA1RA0R不寫入*0不讀出*0R3111R3111R2011R2011R1101R1101R0001R00017475 機器采用串行微程序控制方式,其微指令周期見上頁圖(b)。其中讀ROM是從控存中讀出一條微指令時間,為1s;ALU工作是加法器做加法運算,為500ns;m1是讀寄存器時間,為500ns;m2是寫寄存器的工作脈沖寬度,為100ns。 微指令字長12位,微指令格式如下:RA0RA1:讀R0-R3的選擇控制WA0WA1:寫R0-R3的選擇控制R:寄存器讀命令 W:寄存器寫命令 LDSA:打入SA的控制信號 LDSB:打入SB

24、的控制信號 SB-ALU:傳送SB的控制信號 SB-ALU:傳送SB的控制信號,并使加法器最低位加1. Reset:清暫存器SB為零的信號 :一段微程序結束,轉入取機器指令的控制信號RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset76要求:用二進制代碼寫出如下指令的微程序:(1)“ADD R0,R1”指令,即(R0)+(R1)R1(2)“SUB R2,R3”指令,即(R3)-(R2)R3(3)“MOV R2,R3”指令,即(R2)(R3)77先畫出三條指令的微指令的微程序流程圖,如下圖所示。 其中未考慮“取指周期”和順序控制問題,也即微程序僅考慮“執行周期”,微指

25、令序列的順序用數字標號標在每條微指令的右上角。每一框表示一條微指令。根據給定的微指令周期時間關系,完成ADD,SUB指令的執行動作需要3條微指令,MOV指令只需2條微指令。用二進制代碼寫出的三條指令的微程序列于下表中,其中*表示代碼隨意設置(0或1均可)。 78 指令 微程序代碼 ADD 00*10100000 01*10010000 *0101001001 SUB 11*10100000 10*10010000 *1101000101 MOV 10*10100000 *1101001011RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset795.4.2 微程序設計

26、技術一、設計微指令應當追求的目標有利于縮短微指令的長度有利于縮小CM的容量有利于提高微程序的執行速度有利于對微指令的修改有利于提高微程序設計的靈活性805.4.2 微程序設計技術1、微命令的編碼方法編碼有三種方法:直接表示法/編碼表示法/混合表示法直接表示法:操作控制字段中的各位分別可以直接控制計算機,不需要進行譯碼。81直接表示法舉例,操作控制字段的每一個獨立的二進制位代表一個微命令,該位為“1”表示這個微命令有效,為“0”表示這個微命令無效。5.4.2 微程序設計技術后繼微地址判斷條件uA0uA1uA2uA3uA4uA5P0P1P2P3INTSINTCLDIRLDPCM4PC_ADDPC_

27、INCLDIARLDAR1AR1_INCM3LDERIAR_BUS#SW_BUS#RS_BUS#ALU_BUSLRWCEL#WRDLDDR1M1S0S1S2111213141516171819202122232425262728293031323334 微指令格式舉例(TEC_5實驗平臺格式)35TJ82直接表示法特點:這種方法結構簡單,并行性強,操作速度快,但是微指令字太長,若微命令的總數為N個,則微指令字的操作控制字段就要有N位。另外,在N個微命令中,有許多是互斥的,不允許并行操作,將它們安排在一條微指令中是毫無意義的,只會使信息的利用率下降。5.4.2 微程序設計技術832、編碼表示法:

28、將操作控制字段分為若干個小段,每段內采用最短編碼法,段與段之間采用直接控制法。5.4.2 微程序設計技術編碼表示法特點:可以避免互斥,使指令字大大縮短,但增加了譯碼電路,使微程序的執行速度減慢845.4.2 微程序設計技術3、混合編碼法:將前兩種結合在一起,兼顧兩者特點。一個字段的某些編碼不能獨立地定義某些微命令,而需要與其他字段的編碼來聯合定義,如例2:F1與RW855.4.2 微程序設計技術編碼注意幾點:字段編碼法中操作控制字段并非是任意的,必須要遵循如下的原則:把互斥性的微命令分在同一段內,兼容性的微命令分在不同段內。這樣不僅有助于提高信息的利用率,縮短微指令字長,而且有助于充分利用硬件

29、所具有的并行性,加快執行的速度。應與數據通路結構相適應。每個小段中包含的信息位不能太多,否則將增加譯碼線路的復雜性和譯碼時間。一般每個小段還要留出一個狀態,表示本字段不發出任何微命令。因此當某字段的長度為三位時,最多只能表示七個互斥的微命令,通常用000表示不操作。下面舉例說明86123456789順序控制4、5:00 無操作01 R1X10 R2 X11 DR X 6、7:00 無操作01 R3Y10 R2 Y11 R1 Y 8、9:00 無操作01 10 11 M 混和表示法1、2、3位為直接表示法4、5 6、78、9位為編碼表示法875.4.2 微程序設計技術二、微指令地址的形成入口地址

30、:每條機器指令對應一段微程序,當公用的取指微程序從主存中取出機器指令之后,由機器指令的操作碼字段指出各段微程序的入口地址,這是一種多分支(或多路轉移)的情況。機器指令的操作碼轉換成初始微地址的方式主要有兩種。計數器的方式多路轉移的方式885.4.2 微程序設計技術1、入口地址形成:如果機器指令操作碼字段的位數和位置固定,可以直接使操作碼與微程序入口地址的部分位相對應。895.4.2 微程序設計技術2、后繼微地址形成方法(1)計數器的方式方法:微程序順序執行時,其后繼微地址就是現行微地址加上一個增量(通常為1);當微程序遇到轉移或轉子程序時,由微指令的轉移地址段來形成轉移微地址。在微程序控制器中

31、也有一個微程序計數器PC,一般情況下都是將微地址寄存器MAR作為PC特點:優點是簡單、易于掌握,編制微程序容易缺點是這種方式不能實現兩路以上的并行微程序轉移,因而不利于提高微程序的執行速度。905.4.2 微程序設計技術(2)多路轉移的方式根據條件轉移如圖條件:狀態條件/測試/微指令中微地址/操作碼91【例2】微地址寄存器有6位(A5-A0),當需要修改其內容時,可通過某一位觸發器的強置端S將其置“1”。現有三種情況:(1)執行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)進行16路分支;(2)執行條件轉移指令微程序時,按進位標志C的狀態進行2路分支;(3)執行控制臺指令微程序時,

32、按IR4,IR5的狀態進行4路分支。 請按多路轉移方法設計微地址轉移邏輯。92 按所給設計條件,微程序有三種判別測試,分別為P1,P2,P3。 由于修改A5-A0內容具有很大靈活性,現分配如下:(1)用P1和IR3-IR0修改A3-A0;(2)用P2和C修改A0;(3)用P3和IR5,IR4修改A5,A4。 另外還要考慮時間因素T4(假設CPU周期最后一個節拍脈沖),故轉移邏輯表達式如下:A5=P3IR5T4A4=P3IR4T4A3=P1IR3T4A2=P1IR2T4A1=P1IR1T4A0=P1IR0T4+P2CT4 由于從觸發器強置端修改,故前5個表達式可用“與非”門實現,最后一個用“與或

33、非”門實現。 下圖僅畫出了A2、A1、A0觸發器的微地址轉移邏輯圖。93945.4.2 微程序設計技術3、微指令格式分為兩類:水平型微指令和垂直型微指令(1)水平型微指令 水平型微指令是指一次能定義并能并行執行多個微命令的微指令。格式如下控制字段判別測試字段下地址字段955.4.2 微程序設計技術水平型微指令特點: 優點:微指令字較長,速度越快。微指令中的微操作有高度的并行性。微指令譯碼簡單。控制存儲器的縱向容量小,靈活性強。缺點:微指令字比較長,明顯地增加了控制存儲器的橫向容量。水平微指令與機器指令差別很大,一般要熟悉機器結構、數據通路、時序系統以及指令執行過程的人才能進行微程序設計,這對用

34、戶來說是很困難的。965.4.2 微程序設計技術(2)垂直型微指令:采用編碼方式。設置微操作控制字段時,一次只能執行一到二個微命令的微指令稱為垂直型微指令。975.4.2 微程序設計技術垂直型微指令的特點:微指令字短,一般為1020位左右。微指令的并行微操作能力有限,一條微指令一般只包含一個微操作命令。微指令譯碼比較復雜。全部微命令用一個微操作控制字段進行編碼,微指令執行時需行完全譯碼。設計用戶只需注意微指令的功能,而對微命令及其選擇、數據通路的結構則不用過多地考慮,因此,便于用戶編制微程序。而且,編制的微程序規整、直觀,便于實現設計的自動化。垂直微指令字較短,使控制存儲器的橫向容量少。用垂直

35、微指令編制微程序要使用較多的微指令,微程序較長;要求控制存儲器的縱向容量大。垂直微指令產生微命令要經過譯碼,微程序執行速度慢。不能充分利用數據通路具有多種并行操作能力985.4.2 微程序設計技術水平型微指令和垂直型微指令的比較(1)水平型微指令并行操作能力強,效率高,靈活性強,垂直型微指令則較差。(2)水平型微指令執行一條指令的時間短,垂直型微指令執行時間長。(3)由水平型微指令解釋指令的微程序,有微指令字較長而微程序短的特點。垂直型微指令則相反。(4)水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對來說,比較容易掌握。995.4.2 微程序設計技術4、動態微程序設計對應于一臺計

36、算機的機器指令只有一組微程序,這一組微程序設計好之后,一般無須改變而且也不好改變,這種微程序設計技術稱為靜態微程序設計。 采用EPROM作為控制存儲器,可以通過改變微指令和微程序來改變機器的指令系統,這種微程序設計技術稱為動態微程序設計。1005.6 硬布線控制器1、實現方法通過邏輯電路直接連線而產生的,又稱為組合邏輯控制方式2、設計目標使用最少元件(復雜的樹形網絡)速度最高1015.6 硬布線控制器3、邏輯原理 (1)邏輯原理圖C為微操作控制信號Im為譯碼器輸出,Mi為節拍電位,Tk為節拍脈沖,Bj為狀態條件C由組合電路實現,速度快,但難以修改。(2)指令的執行流程微程序控制器時序信號簡單。

37、只需要若干節拍脈沖信號即可。組合邏輯控制器除了節拍脈沖信號外,還需要節拍電位信號。返回1025.6 硬布線控制器(3)微操作控制信號產生在微程序控制器中,微操作控制信號由微指令產生,并且可以重復使用。在硬聯線控制器中,某一微操作控制信號由布爾代數表達式描述的輸出函數產生。設計微操作控制信號的方法和過程是,根據所有機器指令流程圖,尋找出產生同一個微操作信號的所有條件,并與適當的節拍電位和節拍脈沖組合,從而寫出其布爾代數表達式并進行簡化,然后用門電路或可編程器件來實現。 1035.6 硬布線控制器4、設計步驟(1)畫出指令流程圖 (2)列出微操作時間表將指令流程圖中的微操作合理地安排到各個機器周期

38、的相應節拍和脈沖中去;微操作時間表形象地表明:什么時間、根據什么條件發出哪些微操作信號。1045.6 硬布線控制器(3)進行微操作信號的綜合當列出所有指令的微操作時間表之后,需要對它們進行綜合分析,把凡是要執行某一微操作的所有條件(哪條指令、哪個機器周期、哪個節拍和脈沖等)都考慮在內,加以分類組合,列出各微操作產生的邏輯表達式,然后加以簡化,使邏輯表達式更為合理。(4)實現電路 根據整理并化簡的邏輯表達式組,可以用一系列組合邏輯電路加以實現,加根據邏輯表達式畫出邏輯電路圖,用邏輯門電路的組合來實現之,也可以直接根據邏輯表達式,用PLA或其他邏輯電路實現。105 例3根據圖5.29,寫出以下操作

39、控制信號RD(I)、RD(D)、WE(D)、LDPC、LDIR、LDAR、LDDR、PC+1、LDR2的邏輯表達式。其中每個操作控制信號的含義是:RD(I)指存讀命令RD(D)數存讀命令WE(D)數存寫命令LDPC打入程序計數器LDIR打入指令寄存器LDAR打入數存地址寄存器LDDR打入數據緩沖寄存器PC+1程序計數器加1LDR2打入R1寄存器106數據通路圖RD/WRLDDRLDIRLDPCLDARPC+1107 圖5.29 硬布線控制器的指令周期流程圖108列出微操作時間表(根據數據通路和操作流程圖)節拍電位脈沖LDARLDDRLDIRM1T1T2T3ADD、STA、JMP、NOP、CLA

40、T4ADD、STA、JMP、NOP、CLAADD、STA、JMP、NOP、CLAM2T1T2T3T4ADD、STA、JMPM3T1T2T3ADD、STAT4109進行微操作信號的綜合 圖5.29中五條指令的微操作控制信號舉例。 LDAR=M1T4+M2(ADD+STA+JMP)T4 LDDR=M1T3+M3(ADD+STA)T3 LDIR=M1T4 其中M1、M2、M3是三個節拍電位信號;T3、T4為時鐘周期信號;ADD、STA、JMP是指令OP字段譯碼器的輸出信號。最后給出電路(省略)1105.6 傳統CPU5.6.1Intel 80885.6.2 IBM3701115.6.1Intel 8

41、0881125.6.2 IBM370IBM370 CPU(自己看)1972年32位ALU的三個功能部件寄存器結構CPU控制狀態管態目態1135.7 流水CPUEnslow統計過:19651975間,反映器件性能級延遲大約為原來的1/10,而反映計算機系統性能之一的平均指令時間為1%。結論:同一時期計算機系統性能比器件性能提高的速度快得多促使計算機性能提高的因素除了器件性能得提高外還有哪些呢?1145.7 流水CPU5.7.1并行處理技術5.7.2流水CPU的結構5.7.3流水線中的主要問題5.7.4 Pentium CPU1155.7.1并行處理技術并行性(Parrelism)概念問題中具有可

42、以同時進行運算或操作的特性例:在相同時延的條件下,用n位運算器進行n位并行運算速度幾乎是一位運算器進行n位串行運算的n倍(狹義)(廣義)含義只要在同一時刻(同時性)或在同一時間間隔內(并發性)完成兩種或兩種以上性質相同或不同的工作,他們在時間上相互重疊,都體現了并行性1165.7.1并行處理技術三種形式時間并行(重疊):讓多個處理過程在時間上相互錯開,輪流使用同一套硬件設備的各個部件,以加快硬件周轉而贏得速度,實現方式就是采用流水處理部件空間并行(資源重復):以數量取勝它能真正的體現同時性LSI和VLSI為其提供了技術保證時間+空間并行Pentium中采用了超標量流水線技術1175.7.2流水

43、CPU的結構流水計算機的系統組成存儲器體系:主存采用多體交叉存儲器;Cache流水方式CPU:指令部件、指令隊列、執行部件指令流水線指令隊列:FIFO執行部件:可以有多個采用流水線方式構成的算術邏輯部件構成,可以將定點運算部件和浮點運算部件分開。1185.7.2流水CPU的結構流水線CPU時空圖IF(Instruction Fetch取指) ID(Instruction Decode指令譯碼)EX(Execution執行) WB(Write Back寫回)1195.7.2流水CPU的結構流水CPU非流水CPU1205.7.2流水CPU的結構具有兩條以上的指令流水線上圖中流水線滿載時,每一個時鐘

44、周期可以執行2條指令采用時間和空間并行技術1215.7.2流水CPU的結構流水線(Pipelining)的分類按級別分為指令流水線算術流水線處理機流水線(宏流水線)1225.7.3流水線中的主要問題瓶頸問題(流水線中有速度慢的段)再分成幾個段用資源重復的方法也可以解決資源相關:多條指令進入流水線后在同一時鐘周期內爭用同一功能部件。解決辦法:后邊指令拖一拍再推進;增設一個功能部件1235.7.3流水線中的主要問題數據相關RAW(Read After Write)后面指令用到前面指令所寫的數據WAW(Write After Write)兩條指令寫同一個單元在簡單流水線中沒有此類相關,因為不會亂序執

45、行WAR(Write After Read)后面指令覆蓋前面指令所讀的單元在簡單流水線中沒有此類相關解決辦法:可以推后后繼指令對相關單元的讀操作設置相關的直接通路(Forwarding)1245.7.3流水線中的主要問題例:兩條指令發生數據相關沖突RAW(Read After Write)ADDR1,R2,R3R2+R3-R1SUBR4,R1,R5R1-R5-R4ANDR6,R1,R7R1R7-R61255.7.3流水線中的主要問題控制相關引起原因:轉移指令解決辦法:延遲轉移法,轉移預測法126【例4】流水線中有三類數據相關沖突:寫后讀(RAW)相關;讀后寫(WAR)相關;寫后寫(WAW)相關

46、。判斷以下三組指令各存在哪種類型的數據相關。(1)I1 ADD R1,R2,R3 ;(R2)+(R3)-R1 I2 SUB R4,R1,R5 ;(R1)-(R5)-R4(2)I3 STO M(x),R3 ;(R3)-M(x),M(x)是存儲器單元 I4 ADD R3,R4,R5 ;(R4)+(R5)-R3(3)I5 MUL R3,R1,R2 ;(R1)(R2)-R3 I6 ADD R3,R4,R5 ;(R4)+(R5)-R3解:第(1)組指令中,I1指令運算結果應先寫入R1,然后在I2指令中讀出R1內容。由于I2指令進入流水線,變成I2指令在I1指令寫入R1前就讀出R1內容,發生RAW相關。第

47、(2)組指令中,I3指令應先讀出R3內容并存入存儲單元M(x),然后在I4指令中將運算結果寫入R3。但由于I4指令進入流水線,變成I4指令在I3指令讀出R3內容前就寫入R3,發生WAR相關。第(3)組指令中,如果I6指令的加法運算完成時間早于I5指令的乘法運算時間,變成指令I6在指令I5寫入R3前就寫入R3,導致R3的內容錯誤,發生WAW相關。1275.7.4 Pentium CPUPentium CPU (第一代)1989年初0.8um工藝,310萬晶體管有60M和66MHz外頻兩種版本5V電壓,功耗20W超標量流水線結構486有一條流水線Pentium有U和V兩條指令流水線U流水線可以執行

48、所有的整數和浮點指令V流水線可以執行簡單的整數和FXCH浮點指令雙重分離式Cache,減少了等待和搬移數據時間32位CPU,外部數據總線寬度為64位,外部地址總線寬度為36位1285.7.4 Pentium CPU非固定長度指令格式,9種尋址方式,191條指令,兼具有RISC和CISC特性,不過我們還是將其看成CISCSL電源管理技術提供了更加靈活的存儲器尋址結構,可以支持傳統的4k大小的頁面,也可以支持4M大小的頁面動態轉移預測技術Pentium結構圖MESI(Modified Exclusion Share Invalid)BTB(Branch Target Buffer)TLB(Tran

49、slation Lookaside Buffer)1291305.8 RISC CPU特點(采用流水線技術)簡單而統一格式的指令譯碼;大部分指令可以單周期執行只有LOAD/STORE可以訪問存儲器簡單的尋址方式采用延遲轉移技術采用LOAD延遲技術三地址指令格式較多的寄存器對稱的指令格式其他。(見書)1315.8 RISC CPU實例 MC88110CPU結構框圖(見下圖)12個執行功能部件3個Cache(指令,數據和目標指令)兩個寄存器堆(通用寄存器堆、擴展寄存器堆)六條80位寬的內部總線132MC88110 CPU結構框圖133MC88110的指令流水線超標量流水線CPUF&D:取指和譯碼段

50、需要一個時鐘周期,EX:執行段,大都只需要一個時鐘周期,WB:寫回段,只需要時鐘周期的一半采用了直接通路(Forwarding)技術F&DEXWB134指令動態調度策略按序發射取兩條指令,配對發送,一個周期可以有兩條指令執行完畢如下圖:135第一條指令由于資源相關或數據相關,則這兩條指令都不發射若第一條指令能發射,第二條不能發射,只發射第1條指令到EX段,第二條指令等待并新取一條指令與之配對等待發射1365.8 RISC CPU幾個問題:怎樣判斷能否發射呢?可以采用計分牌的方法如何保證按序完成?FIFO指令隊列如何對待控制相關(轉移指令)?采用延遲轉移法和目標指令cache法1375.8 RI

51、SC CPU計分牌:計分牌是一個位向量、每一位對應寄存器堆中的一個寄存器。指令發射時,目的寄存器在計分牌中相應位為1;寫回后清0判斷指令可否發射的條件是:該指令的所有目的寄存器、源寄存器在向量位中對應的位都為0否則,等待這些位清除1385.8 RISC CPUFIFO隊列FIFO隊列稱為歷史緩沖器,每當一條指令發射后,副本傳入FIFO隊列隊尾只有當前面的指令執行完畢,才到達隊首,執行完畢后,離開隊列1395.8 RISC CPU延遲轉移法可選如果采用延遲轉移選項,則轉移指令后的轉移延遲時間內指令被發射否則,指令照常發送指令Cache(TIC)法是一個32位的全相聯Cache,用來保存轉移路徑的

52、前兩條指令1405.8 RISC CPU例5 超標量流水線結構如下1415.8 RISC CPUI1LDA R1,AI2ADDR2,R1I3ADDR3,R4I4MULR4,R5I5LDAR6,BI6MULR6,R7畫出按序完成各段推進情況圖畫出按序完成流水線時空圖RAWWARWAW1425.8 RISC CPUI61435.8 RISC CPU1445.9 多媒體 CPU多媒體概念指利用計算機來綜合、集成地處理文字、圖形、圖象、聲音、視頻、動畫等媒體,從而形成的一種全新的信息傳播和處理的計算機技術。主要特征:信息表示的數字化處理的集成性系統的交互性1455.9 多媒體 CPU主要技術問題壓縮和

53、解壓縮技術靜態640*480的256色圖象約占640*480*1B=307200B300K640*480的24Bit彩色圖象約占640*480B*3=921600B=900K動態每秒鐘30楨(播放256色)則每秒鐘處理300K*30=9M,而ISA總線的傳輸率只有5MBPS結論:多媒體信息量大,給信息處理和傳輸帶來了困難1465.9 多媒體 CPU解決方法:壓縮技術JPEG(Joint Photographic Experts GroupMPEG(Moving Picture group)軟件技術多媒體OS多媒體處理軟件硬件技術MMX(多媒體擴展技術)動態執行技術1475.9 多媒體 CPUM

54、MX(多媒體擴展技術)MMX是Intel為增強處理器的多媒體能力而提出的解決方案,它是57個多媒體指令集合。這些指令是為高效地處理視頻、聲音和圖形數據而專門設計的Intel使用SIMD(單指令流,多數據流)過程來實現這些多媒體指令。1485.9 多媒體 CPU多媒體和通信應用中經常使用重復運行的循環,這些循環只占程序代碼的10%或更少,卻要占用多達90%的執行時間。SIMD允許一條指令在多個數據上進行相同的操作。由于循環是打亂CPU內部流水線,降低CPU執行效率的一個重要因素,MMX指令,減少了循環,能大大提高原來存在大量計算性循環的視頻、聲音和圖象等多媒體應用的性能。1495.9 多媒體 C

55、PUMMX指令處理的數據類型稱作分組數據(packet data),每個分組數據總是64位的。8個字節4個16位字2個32位雙字一個64位數據1505.9 多媒體 CPUMMX一次可以計算64位數據,而Intel處理器上的通用寄存器是32位的,因此它借用浮點運算器80位的寄存器來存放數據。雖然借用了浮運算器的寄存器,但數據的處理或運算并不是在浮點運算器中進行,而是在專門的整數處理單元中進行。8個80位的浮點數據寄存器,在進行浮點運算的時候ST0ST7在進行MMX運算的時候,MM0MM1從總體上說,MMX指令屬于整數指令。(但是這個整數指令可以處理圖像、圖形、音頻、通訊、信號處理等其他功能)1515.9 多媒體 CPUMMX指令的先進性體現在以下五個方SIMD結構 飽和運算方式 積和運算方式比較指令轉換指令1525.9 多媒體 CPUSIMD結構:利用CPU64的帶寬,一次可以并行處理8個8位數據,或4個16位數據等飽和運算:在運算結果最大值,按最

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論