




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第五章 中央處理器返回1第五章 中央處理器5.1CPU功能和組成5.2指令周期5.3時(shí)序產(chǎn)生器5.4微程序控制器及其設(shè)計(jì)5.5硬布線控制器及其設(shè)計(jì)5.6傳統(tǒng)CPU5.7流水CPU5.8RISC的CPU5.9多媒體CPU25.1 CPU的功能和組成1、CPU的功能指令控制(程序的順序控制)操作控制(一條指令有若干操作信號(hào)實(shí)現(xiàn))時(shí)間控制(指令各個(gè)操作實(shí)施時(shí)間的定時(shí))數(shù)據(jù)加工(算術(shù)運(yùn)算和邏輯運(yùn)算)32、CPU的基本組成RD/WRLDDRLDIRLDPCLDARPC+142、CPU的基本組成(1)中央處理器CPU=運(yùn)算器+控制器(2)運(yùn)算器ALU累加器暫存器52、CPU的基本組成(3)控制器 控制器組
2、成:程序計(jì)數(shù)器、指令寄存器、數(shù)據(jù)緩沖器、地址寄存器、通用寄存器、狀態(tài)寄存器、時(shí)序發(fā)生器、指令譯碼器、總線(數(shù)據(jù)通路)程序計(jì)數(shù)器PC(Programming Counter)用來存放正在執(zhí)行的指令的地址或接著將要執(zhí)行的下一條指令的地址。順序執(zhí)行時(shí),每執(zhí)行一條指令,PC的值應(yīng)加1要改變程序執(zhí)行順序的情況時(shí),一般由轉(zhuǎn)移類指令將轉(zhuǎn)移目標(biāo)地址送往PC ,可實(shí)現(xiàn)程序的轉(zhuǎn)移。指令寄存器IR(Instruction Register) 指令寄存器用來存放從存儲(chǔ)器中取出的待執(zhí)行的指令。在執(zhí)行該指令的過程中,指令寄存器的內(nèi)容不允許發(fā)生變化,以保證實(shí)現(xiàn)指令的全部功能。62、CPU的基本組成指令譯碼器ID(Instr
3、uction Decoder) 暫存在指令寄存器中的指令只有在其操作碼部分經(jīng)譯碼后才能識(shí)別出是一條什么樣的指令。譯碼器經(jīng)過對(duì)指令進(jìn)行分析和解釋,產(chǎn)生相應(yīng)的控制信號(hào)提供給時(shí)序控制信號(hào)形成部件。機(jī)器周期、工作節(jié)拍、脈沖及啟停控制線路 由脈沖源產(chǎn)生一定頻率的脈沖信號(hào)作為整個(gè)機(jī)器的時(shí)鐘脈沖時(shí)序控制信號(hào)形成部件 時(shí)序控制信號(hào)形成部件又稱微操作信號(hào)發(fā)生器,真正控制各部件工作的微操作信號(hào)是由指令部件提供的操作信號(hào)、時(shí)序部件提供的時(shí)序信號(hào)、被控制功能部件所反饋的狀態(tài)及條件綜合形成的。72、CPU的基本組成地址形成部件 根據(jù)指令的不同尋址方式,用來形成操作數(shù)的有效地址功能就是指令流出的控制,實(shí)質(zhì)上就是對(duì)取指令的
4、控制。指令分析與執(zhí)行的控制,對(duì)指令流中的每條指令進(jìn)行分析解釋,根據(jù)指令的操作性質(zhì)和尋址方式形成操作數(shù)的地址,然后根據(jù)該操作數(shù)的地址找到相應(yīng)的存儲(chǔ)單元,并從中取出指令執(zhí)行過程中要用到的操作數(shù),最后還要形成相應(yīng)的操作控制信號(hào)序列,通過運(yùn)算器、存儲(chǔ)器及輸入輸出設(shè)備的動(dòng)作,來實(shí)現(xiàn)這條指令的功能。指令流向的控制,指令流向的控制即下條指令地址的形成控制。數(shù)據(jù)緩沖器、狀態(tài)條件寄存器83、CPU中的主要寄存器DR緩沖寄存器/地址寄存器AR中轉(zhuǎn)站補(bǔ)償速度差別IR指令寄存器PC程序計(jì)數(shù)器AC內(nèi)存或I/O指令數(shù)據(jù)DR指令數(shù)據(jù)94、操作控制器和時(shí)序產(chǎn)生器(1)數(shù)據(jù)通路(2)操作控制器:為數(shù)據(jù)通路的建立提供各種操作信號(hào)
5、。操作信號(hào)提供的依據(jù)是指令操作碼和時(shí)序信號(hào),主要有三種類型:組合類型存儲(chǔ)類型混合類型104、操作控制器和時(shí)序產(chǎn)生器硬布線控制器 硬布線控制器,它是采用組合邏輯技術(shù)來實(shí)現(xiàn)的,其時(shí)序控制信號(hào)形成部件是由門電路組成的復(fù)雜樹形網(wǎng)絡(luò)。這種方法是分立元件時(shí)代的產(chǎn)物,以使用最少器件數(shù)和取得最高操作速度為設(shè)計(jì)目標(biāo)。組合邏輯控制器的最大優(yōu)點(diǎn)是速度快,但是時(shí)序控制信號(hào)形成部件的結(jié)構(gòu)不規(guī)整,使得設(shè)計(jì)、調(diào)試、維修較困難,難以實(shí)現(xiàn)設(shè)計(jì)自動(dòng)化。114、操作控制器和時(shí)序產(chǎn)生器微程序控制器微程序控制器是采用存儲(chǔ)邏輯來實(shí)現(xiàn)的,也就是把微操作信號(hào)代碼化,使每條機(jī)器指令轉(zhuǎn)化成為一段微程序并存入一個(gè)專門的存儲(chǔ)器(控制存儲(chǔ)器)中,微操
6、作控制信號(hào)由微指令產(chǎn)生。微程序控制器的設(shè)計(jì)思想和組合邏輯設(shè)計(jì)思想截然不同。它具有設(shè)計(jì)規(guī)整、調(diào)試、維修以及更改、擴(kuò)充指令方便的優(yōu)點(diǎn),易于實(shí)現(xiàn)自動(dòng)化設(shè)計(jì),已成為當(dāng)前控制器的主流。但是,由于它增加了一級(jí)控制存儲(chǔ)器,所以指令執(zhí)行速度比組合邏輯控制器慢。組合邏輯和存儲(chǔ)邏輯結(jié)合型 這種控制器稱為PLA控制器,它是吸收前兩種的設(shè)計(jì)思想來實(shí)現(xiàn)的。124、操作控制器和時(shí)序產(chǎn)生器時(shí)序產(chǎn)生器:提供定時(shí)和時(shí)序信號(hào)13145.2指令周期5.2.1 指令周期的基本概念5.2.2 典型指令的指令周期5.2.3 用方框圖語言表示指令周期155.2 指令周期165.2.1 指令周期的基本概念概念指令周期:指取指令、分析指令到執(zhí)
7、行完該指令所需的全部時(shí)間。各種指令的指令周期相同嗎?為什么?機(jī)器周期通常又稱CPU周期,通常把一條指令周期劃分為若干個(gè)機(jī)器周期,每個(gè)機(jī)器周期完成一個(gè)基本操作。主存的工作周期(存取周期)為基礎(chǔ)來規(guī)定CPU周期,比如,可以用CPU讀取一個(gè)指令字的最短時(shí)間來規(guī)定CPU周期不同的指令,可能包含不同數(shù)目的機(jī)器周期。一個(gè)機(jī)器周期中,包含若干個(gè)機(jī)器周期(節(jié)拍脈沖或T脈沖)。CPU周期規(guī)定,不同的計(jì)算機(jī)中規(guī)定不同175.2.1 指令周期的基本概念時(shí)鐘周期在一個(gè)機(jī)器周期內(nèi),要完成若干個(gè)微操作。這些微操作有的可以同時(shí)執(zhí)行,有的需要按先后次序串行執(zhí)行。因而需要把一個(gè)機(jī)器周期分為若干個(gè)相等的時(shí)間段,每一個(gè)時(shí)間段稱為一
8、個(gè)節(jié)拍。節(jié)拍常用具有一定寬度的電位信號(hào)表示,稱之為節(jié)拍電位。節(jié)拍的寬度取決于CPU完成一次基本的微操作的時(shí)間,如:ALU完成一次正確的運(yùn)算,寄存器間的一次數(shù)據(jù)傳送等。185.2.1 指令周期的基本概念195.2.2指令周期下面我們用一個(gè)模型機(jī)來介紹指令周期概念主要包括:取指(令)周期、(指令)執(zhí)行周期執(zhí)行過程:框架原理20215.2.2MOV指令的指令周期取指周期執(zhí)行周期225.2.2MOV指令的指令周期-取指 程序計(jì)數(shù)器PC中裝入第一條指令地址101(八進(jìn)制); PC的內(nèi)容被放到指令地址總線ABUS(I)上,對(duì)指存進(jìn)行譯碼,并啟動(dòng)讀命令; 從101號(hào)地址讀出的MOV指令通過指令總線IBUS裝
9、入指令寄存器IR; 程序計(jì)數(shù)器內(nèi)容加1,變成102,為取下一條指令做好準(zhǔn)備; 指令寄存器中的操作碼(OP)被譯碼; CPU識(shí)別出是MOV指令,至此,取指周期即告結(jié)束。WR/RD235.2.2MOV指令的指令周期-執(zhí)行 操作控制器(OC)送出控制信號(hào)到通用寄存器,選擇R1(10)作源寄存器,選擇R0作目標(biāo)寄存器; OC送出控制信號(hào)到ALU,指定ALU做傳送操作; OC送出控制信號(hào),打開ALU輸出三態(tài)門,將ALU輸出送到數(shù)據(jù)總線DBUS上。注意,任何時(shí)候DBUS上只能有一個(gè)數(shù)據(jù)。 OC送出控制信號(hào),將DBUS上的數(shù)據(jù)打入到數(shù)據(jù)緩沖寄存器DR(10); OC送出控制信號(hào),將DR中的數(shù)據(jù)10打入到目標(biāo)
10、寄存器R0,R0的內(nèi)容由00變?yōu)?0。至此,MOV指令執(zhí)行結(jié)束。245.2.3LAD指令的指令周期取指周期執(zhí)行周期255.2.3LAD指令的指令周期265.2.5ADD指令的指令周期275.2.5ADD指令的指令周期285.2.5STO指令的指令周期295.2.5STO指令的指令周期305.2.6JMP指令的指令周期315.2.6JMP指令的指令周期325.2.7用方框圖語言表示的指令周期引入目的主要是為了教學(xué)目的(控制器設(shè)計(jì))方法:指令系統(tǒng)設(shè)計(jì)(模型機(jī)的五指令系統(tǒng))方框按CPU周期方框內(nèi)內(nèi)容數(shù)據(jù)通路操作或控制操作菱形符號(hào)判別或測(cè)試公操作前邊所講述的5種操作的框圖描述335.2.7方框圖表示指
11、令周期取指執(zhí)行345.2.7方框圖表示指令周期P139例1雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路圖微操作信號(hào)微操作信號(hào)35注意微操作控制信號(hào)(右邊)ALU0ALU036總結(jié):一條指令包括一個(gè)取指令周期和一個(gè)及一個(gè)以上的執(zhí)行周期組成在每個(gè)CPU周期中數(shù)據(jù)通路是明確的數(shù)據(jù)通路的建立及操作受到操作控制器的控制,當(dāng)然決定于是什么指令。375.3 時(shí)序產(chǎn)生器和控制方式5.3.1時(shí)序產(chǎn)生器作用和體制5.3.2時(shí)序信號(hào)產(chǎn)生器5.3.3控制方式385.3.1、時(shí)序產(chǎn)生器作用和體制作用:CPU中的控制器用它指揮機(jī)器的工作CPU可以用時(shí)序信號(hào)/周期信息來辨認(rèn)從內(nèi)存中取出的是指令(取指)還是數(shù)據(jù)(執(zhí)行)一個(gè)CPU周期中時(shí)鐘脈沖對(duì)
12、CPU的動(dòng)作有嚴(yán)格的約束操作控制器發(fā)出的各種信號(hào)是時(shí)間(時(shí)序信號(hào))和空間(部件操作信號(hào))的函數(shù)。395.3.1、時(shí)序產(chǎn)生器作用和體制體制組成計(jì)算機(jī)硬件的器件特性決定了時(shí)序信號(hào)的基本體制是電位脈沖制(以觸發(fā)器為例)D為電位輸入端,CP(Clock Pulse)為脈沖輸入端R,S為電位輸入端特性方程如下D=0時(shí),CP上升沿到來時(shí),D觸發(fā)器狀態(tài)置0D=1時(shí),CP上升沿到來時(shí),D觸發(fā)器狀態(tài)置1405.3.1、時(shí)序產(chǎn)生器作用和體制415.3.1、時(shí)序產(chǎn)生器作用和體制硬布線控制器,采用主狀態(tài)周期節(jié)拍電位節(jié)拍脈沖三級(jí)體制時(shí)序信號(hào)產(chǎn)生電路復(fù)雜425.3.1、時(shí)序產(chǎn)生器作用和體制微程序控制器,節(jié)拍電位節(jié)拍脈沖二
13、級(jí)體制利用微程序順序執(zhí)行來實(shí)現(xiàn)微操作時(shí)序信號(hào)產(chǎn)生電路簡(jiǎn)單435.3.2、時(shí)序信號(hào)產(chǎn)生器功能:產(chǎn)生時(shí)序信號(hào)各型計(jì)算機(jī)產(chǎn)生時(shí)序電路不相同大、中型計(jì)算機(jī)的時(shí)序電路復(fù)雜,微型計(jì)算機(jī)的時(shí)序電路簡(jiǎn)單構(gòu)成:時(shí)鐘源環(huán)形脈沖發(fā)生器節(jié)拍脈沖和讀寫時(shí)序譯碼邏輯啟??刂七壿?4一、時(shí)鐘脈沖源電路左邊是振蕩電路,右邊是整形電路,左邊的電路產(chǎn)生接近正弦波的波形,右邊非門則將其整形為一個(gè)理想的方波11RC1C245二、環(huán)形脈沖發(fā)生器作用:產(chǎn)生一組有序間隔相等或不等的脈沖序列毛刺產(chǎn)生原因:電路內(nèi)部原因以及寄存器參數(shù)的影響,避免方法:采用循環(huán)移位寄存器電路分析:S為置位端,R為復(fù)位端SRDCPQQ46三、環(huán)形脈沖發(fā)生器47三、
14、環(huán)形脈沖發(fā)生器C4C1C2C348四、節(jié)拍脈沖和讀/寫時(shí)序的編碼節(jié)拍脈沖的譯碼邏輯(一個(gè)CPU周期包含4個(gè)等間隔的節(jié)拍脈沖)思考:假設(shè)一個(gè)CPU周期包含5個(gè)等間隔的節(jié)拍脈沖,環(huán)型脈沖發(fā)生電路怎樣改進(jìn)?譯碼邏輯有什么變化?49四、節(jié)拍脈沖和讀/寫時(shí)序的編碼讀寫時(shí)序信號(hào)的譯碼邏輯表達(dá)式以上帶的表示信號(hào)來自微程序控制器,持續(xù)一個(gè)CPU周期 讀寫時(shí)序信號(hào)受到控制的信號(hào),而節(jié)拍脈沖信號(hào)時(shí)計(jì)算機(jī)加上電源后就產(chǎn)生。5051五、啟停控制邏輯啟動(dòng)、停機(jī)是隨機(jī)的,對(duì)讀/寫時(shí)序信號(hào)也需要由啟停邏輯加以控制。當(dāng)運(yùn)行觸發(fā)器為“1”時(shí),打開時(shí)序電路。當(dāng)計(jì)算機(jī)啟動(dòng)時(shí),一定要從第1個(gè)節(jié)拍脈沖前沿開始工作。當(dāng)運(yùn)行觸發(fā)器“0”時(shí)
15、,關(guān)閉時(shí)序產(chǎn)生器。停機(jī)時(shí)一定要在第4個(gè)節(jié)拍脈沖結(jié)束后關(guān)閉時(shí)序產(chǎn)生器。525.3.3 控制方式機(jī)器指令所包含的CPU周期數(shù)反映了指令的復(fù)雜程度,不同CPU周期的操作信號(hào)的數(shù)目和出現(xiàn)的先后次序也不相同。控制方式:控制不同操作序列時(shí)序信號(hào)的方法。分為以下幾種:同步控制方式異步控制方式聯(lián)合控制方式535.3.3 控制方式同步控制方式(指令的機(jī)器周期和時(shí)鐘周期數(shù)不變)完全統(tǒng)一的機(jī)器周期執(zhí)行各種不同的指令采用不定長(zhǎng)機(jī)器周期中央控制于局部控制的結(jié)合異步控制方式每條指令需要多長(zhǎng)時(shí)間就占多長(zhǎng)時(shí)間聯(lián)合控制方式大部分指令在固定的周期內(nèi)完成,少數(shù)難以確定的操作采用異步方式機(jī)器周期的節(jié)拍脈沖固定,但是各指令的機(jī)器周期數(shù)
16、不固定(微程序控制器采用)545.4 微程序控制器發(fā)展微程序的概念和原理是由英國劍橋大學(xué)的MVWilkes教授于1951年在曼徹斯特大學(xué)計(jì)算機(jī)會(huì)議上首先提出來的,當(dāng)時(shí)還沒有合適的存放微程序的控制存儲(chǔ)器的元件。到1964年,IBM公司在IBM 360系列機(jī)上成功地采用了微程序設(shè)計(jì)技術(shù)。20世紀(jì)70年代以來,由于VLSI技術(shù)的發(fā)展,推動(dòng)了微程序設(shè)計(jì)技術(shù)的發(fā)展和應(yīng)用。目前,從大型機(jī)到小型機(jī)、微型機(jī)都普遍采用了微程序設(shè)計(jì)技術(shù)。555.4 微程序控制器基本思想:仿照解題的方法,把操作控制信號(hào)編制成微指令,存放到控制存儲(chǔ)器里,運(yùn)行時(shí),從控存中取出微指令,產(chǎn)生指令運(yùn)行所需的操作控制信號(hào)。從上述可以看出,微程
17、序設(shè)計(jì)技術(shù)是用軟件方法來設(shè)計(jì)硬件的技術(shù)。565.4 微程序控制器5.4.1微程序控制原理5.4.2微程序設(shè)計(jì)技術(shù)575.4.1微程序控制原理微命令:控制部件向執(zhí)行部件發(fā)出的各種控制命令叫作微命令,它是構(gòu)成控制序列的最小單位。例如:打開或關(guān)閉某個(gè)控制門的電位信號(hào)、某個(gè)寄存器的打入脈沖等。微命令是控制計(jì)算機(jī)各部件完成某個(gè)基本微操作的命令。微操作:是微命令的操作過程。微命令和微操作是一一對(duì)應(yīng)的。微命令是微操作的控制信號(hào),微操作是微命令的操作過程。微操作是執(zhí)行部件中最基本的操作。585.4.1微程序控制原理 由于數(shù)據(jù)通路的結(jié)構(gòu)關(guān)系,微操作可分為相容的和互斥的兩種:互斥的微操作,是指不能同時(shí)或不能在同一
18、個(gè)節(jié)拍內(nèi)并行執(zhí)行的微操作??梢跃幋a相容的微操作,是指能夠同時(shí)或在同一個(gè)節(jié)拍內(nèi)并行執(zhí)行的微操作。必須各占一位舉一個(gè)例子看一下:見下圖59605.4.1微程序控制原理3、微指令:把在同一CPU周期內(nèi)并行執(zhí)行的微操作控制信息,存儲(chǔ)在控制存儲(chǔ)器里,稱為一條微指令(Microinstruction)。它是微命令的組合,微指令存儲(chǔ)在控制器中的控制存儲(chǔ)器中一條微指令通常至少包含兩大部分信息:操作控制字段,又稱微操作碼字段,用以產(chǎn)生某一步操作所需的各個(gè)微操作控制信號(hào)。某位為1,表明發(fā)微指令微指令發(fā)出的控制信號(hào)都是節(jié)拍電位信號(hào),持續(xù)時(shí)間為一個(gè)CPU周期微命令信號(hào)還要引入時(shí)間控制順序控制字段,又稱微地址碼字段,用
19、以控制產(chǎn)生下一條要執(zhí)行的微指令地址。615.4.1微程序控制原理4、微程序一系列微指令的有序集合就是微程序。一段微程序?qū)?yīng)一條機(jī)器指令。微地址:存放微指令的控制存儲(chǔ)器的單元地址下面我們舉一個(gè)十進(jìn)制加法指令為實(shí)例。625.4.1微程序控制原理微指令基本格式635.4.1微程序控制原理以十進(jìn)制加法指令流程數(shù)據(jù)通路圖操作流程圖645.4.1微程序控制原理四條微指令如下000 000 000 000 111111000000000取指令操作信號(hào)P1判別010 100 100 100 000000010011010存結(jié)果LDR2R1-XR2 - Y+65十進(jìn)制加法指令的微程序010 001 001 10
20、0 000000100001001存結(jié)果LDR2R2 - XR3 - Y+P2判別P2條件為0,轉(zhuǎn)到取指令的公操作010 001 001 001 000000000000001存結(jié)果LDR2R2 - XR3 - Y-轉(zhuǎn)到取指令的公操作665.4.1微程序控制原理控制存儲(chǔ)器(CM)。這是微程序控制器的核心部件,用來存放微程序。其性能(包括容量、速度、可靠性等)與計(jì)算機(jī)的性能密切相關(guān)。5、微程序控制器原理675.4.1微程序控制原理微指令寄存器(IR)用來存放從CM取出的正在執(zhí)行的微指令,它的位數(shù)同微指令字長(zhǎng)相等。微地址形成部件用來產(chǎn)生初始微地址和后繼微地址,以保證微指令的連續(xù)執(zhí)行。微地址寄存器(
21、MAR) 它接受微地址形成部件送來的微地址,為下一步從CM中讀取微指令作準(zhǔn)備。685.4.1微程序控制原理微程序控制器的工作過程(1)執(zhí)行取指令的公共操作。取指令的公共操作通常由一段取指微程序來完成,在機(jī)器開始運(yùn)行時(shí),自動(dòng)將取指微程序的入口微地址送MAR,并從CM中讀出相應(yīng)的微指令送入IR。微指令的操作控制字段產(chǎn)生有關(guān)的微命令,用來控制實(shí)現(xiàn)取機(jī)器指令的公共操作。取指微程序的入口地址一般為CM的0號(hào)單元,當(dāng)取指微程序執(zhí)行完后,從主存中取出的機(jī)器指令就已存人指令寄存器IR中了。(2)由機(jī)器指令的操作碼字段通過微地址形成部件產(chǎn)生出該機(jī)器指令所對(duì)應(yīng)的微程序的入口地址,并送入MA(3)從CM中逐條取出對(duì)
22、應(yīng)的微指令并執(zhí)行之,每條微指令都能自動(dòng)產(chǎn)生下一條微指令的地址。695.4.1微程序控制原理(4)一條機(jī)器指令對(duì)應(yīng)的微程序的最后一條微指令執(zhí)行完畢后,其下一條微指令地址又回到取指微程序的人口地址,從而繼續(xù)第(1)步,以完成取下條機(jī)器指令的公共操作。以上是一條機(jī)器指令的執(zhí)行過程,如此周而復(fù)始,直到整個(gè)程序的所有機(jī)器指令執(zhí)行完畢。705.4.1微程序控制原理6、CPU周期和微指令周期的關(guān)系715.4.1微程序控制原理72機(jī)器指令與微指令的關(guān)系狀態(tài)信息73 例 設(shè)某計(jì)算機(jī)運(yùn)算器框圖如圖所示,其中ALU為16位的加法器(高電平工作),SA,SB為16位暫存器。4個(gè)通用寄存器由D觸發(fā)器組成,Q端輸出,其讀
23、、寫控制功能見下表。 寫控制讀控制選擇WA1WA0W選擇RA1RA0R不寫入*0不讀出*0R3111R3111R2011R2011R1101R1101R0001R00017475 機(jī)器采用串行微程序控制方式,其微指令周期見上頁圖(b)。其中讀ROM是從控存中讀出一條微指令時(shí)間,為1s;ALU工作是加法器做加法運(yùn)算,為500ns;m1是讀寄存器時(shí)間,為500ns;m2是寫寄存器的工作脈沖寬度,為100ns。 微指令字長(zhǎng)12位,微指令格式如下:RA0RA1:讀R0-R3的選擇控制WA0WA1:寫R0-R3的選擇控制R:寄存器讀命令 W:寄存器寫命令 LDSA:打入SA的控制信號(hào) LDSB:打入SB
24、的控制信號(hào) SB-ALU:傳送SB的控制信號(hào) SB-ALU:傳送SB的控制信號(hào),并使加法器最低位加1. Reset:清暫存器SB為零的信號(hào) :一段微程序結(jié)束,轉(zhuǎn)入取機(jī)器指令的控制信號(hào)RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset76要求:用二進(jìn)制代碼寫出如下指令的微程序:(1)“ADD R0,R1”指令,即(R0)+(R1)R1(2)“SUB R2,R3”指令,即(R3)-(R2)R3(3)“MOV R2,R3”指令,即(R2)(R3)77先畫出三條指令的微指令的微程序流程圖,如下圖所示。 其中未考慮“取指周期”和順序控制問題,也即微程序僅考慮“執(zhí)行周期”,微指
25、令序列的順序用數(shù)字標(biāo)號(hào)標(biāo)在每條微指令的右上角。每一框表示一條微指令。根據(jù)給定的微指令周期時(shí)間關(guān)系,完成ADD,SUB指令的執(zhí)行動(dòng)作需要3條微指令,MOV指令只需2條微指令。用二進(jìn)制代碼寫出的三條指令的微程序列于下表中,其中*表示代碼隨意設(shè)置(0或1均可)。 78 指令 微程序代碼 ADD 00*10100000 01*10010000 *0101001001 SUB 11*10100000 10*10010000 *1101000101 MOV 10*10100000 *1101001011RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset795.4.2 微程序設(shè)計(jì)
26、技術(shù)一、設(shè)計(jì)微指令應(yīng)當(dāng)追求的目標(biāo)有利于縮短微指令的長(zhǎng)度有利于縮小CM的容量有利于提高微程序的執(zhí)行速度有利于對(duì)微指令的修改有利于提高微程序設(shè)計(jì)的靈活性805.4.2 微程序設(shè)計(jì)技術(shù)1、微命令的編碼方法編碼有三種方法:直接表示法/編碼表示法/混合表示法直接表示法:操作控制字段中的各位分別可以直接控制計(jì)算機(jī),不需要進(jìn)行譯碼。81直接表示法舉例,操作控制字段的每一個(gè)獨(dú)立的二進(jìn)制位代表一個(gè)微命令,該位為“1”表示這個(gè)微命令有效,為“0”表示這個(gè)微命令無效。5.4.2 微程序設(shè)計(jì)技術(shù)后繼微地址判斷條件uA0uA1uA2uA3uA4uA5P0P1P2P3INTSINTCLDIRLDPCM4PC_ADDPC_
27、INCLDIARLDAR1AR1_INCM3LDERIAR_BUS#SW_BUS#RS_BUS#ALU_BUSLRWCEL#WRDLDDR1M1S0S1S2111213141516171819202122232425262728293031323334 微指令格式舉例(TEC_5實(shí)驗(yàn)平臺(tái)格式)35TJ82直接表示法特點(diǎn):這種方法結(jié)構(gòu)簡(jiǎn)單,并行性強(qiáng),操作速度快,但是微指令字太長(zhǎng),若微命令的總數(shù)為N個(gè),則微指令字的操作控制字段就要有N位。另外,在N個(gè)微命令中,有許多是互斥的,不允許并行操作,將它們安排在一條微指令中是毫無意義的,只會(huì)使信息的利用率下降。5.4.2 微程序設(shè)計(jì)技術(shù)832、編碼表示法:
28、將操作控制字段分為若干個(gè)小段,每段內(nèi)采用最短編碼法,段與段之間采用直接控制法。5.4.2 微程序設(shè)計(jì)技術(shù)編碼表示法特點(diǎn):可以避免互斥,使指令字大大縮短,但增加了譯碼電路,使微程序的執(zhí)行速度減慢845.4.2 微程序設(shè)計(jì)技術(shù)3、混合編碼法:將前兩種結(jié)合在一起,兼顧兩者特點(diǎn)。一個(gè)字段的某些編碼不能獨(dú)立地定義某些微命令,而需要與其他字段的編碼來聯(lián)合定義,如例2:F1與RW855.4.2 微程序設(shè)計(jì)技術(shù)編碼注意幾點(diǎn):字段編碼法中操作控制字段并非是任意的,必須要遵循如下的原則:把互斥性的微命令分在同一段內(nèi),兼容性的微命令分在不同段內(nèi)。這樣不僅有助于提高信息的利用率,縮短微指令字長(zhǎng),而且有助于充分利用硬件
29、所具有的并行性,加快執(zhí)行的速度。應(yīng)與數(shù)據(jù)通路結(jié)構(gòu)相適應(yīng)。每個(gè)小段中包含的信息位不能太多,否則將增加譯碼線路的復(fù)雜性和譯碼時(shí)間。一般每個(gè)小段還要留出一個(gè)狀態(tài),表示本字段不發(fā)出任何微命令。因此當(dāng)某字段的長(zhǎng)度為三位時(shí),最多只能表示七個(gè)互斥的微命令,通常用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 微程序設(shè)計(jì)技術(shù)二、微指令地址的形成入口地址
30、:每條機(jī)器指令對(duì)應(yīng)一段微程序,當(dāng)公用的取指微程序從主存中取出機(jī)器指令之后,由機(jī)器指令的操作碼字段指出各段微程序的入口地址,這是一種多分支(或多路轉(zhuǎn)移)的情況。機(jī)器指令的操作碼轉(zhuǎn)換成初始微地址的方式主要有兩種。計(jì)數(shù)器的方式多路轉(zhuǎn)移的方式885.4.2 微程序設(shè)計(jì)技術(shù)1、入口地址形成:如果機(jī)器指令操作碼字段的位數(shù)和位置固定,可以直接使操作碼與微程序入口地址的部分位相對(duì)應(yīng)。895.4.2 微程序設(shè)計(jì)技術(shù)2、后繼微地址形成方法(1)計(jì)數(shù)器的方式方法:微程序順序執(zhí)行時(shí),其后繼微地址就是現(xiàn)行微地址加上一個(gè)增量(通常為1);當(dāng)微程序遇到轉(zhuǎn)移或轉(zhuǎn)子程序時(shí),由微指令的轉(zhuǎn)移地址段來形成轉(zhuǎn)移微地址。在微程序控制器中
31、也有一個(gè)微程序計(jì)數(shù)器PC,一般情況下都是將微地址寄存器MAR作為PC特點(diǎn):優(yōu)點(diǎn)是簡(jiǎn)單、易于掌握,編制微程序容易缺點(diǎn)是這種方式不能實(shí)現(xiàn)兩路以上的并行微程序轉(zhuǎn)移,因而不利于提高微程序的執(zhí)行速度。905.4.2 微程序設(shè)計(jì)技術(shù)(2)多路轉(zhuǎn)移的方式根據(jù)條件轉(zhuǎn)移如圖條件:狀態(tài)條件/測(cè)試/微指令中微地址/操作碼91【例2】微地址寄存器有6位(A5-A0),當(dāng)需要修改其內(nèi)容時(shí),可通過某一位觸發(fā)器的強(qiáng)置端S將其置“1”。現(xiàn)有三種情況:(1)執(zhí)行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)進(jìn)行16路分支;(2)執(zhí)行條件轉(zhuǎn)移指令微程序時(shí),按進(jìn)位標(biāo)志C的狀態(tài)進(jìn)行2路分支;(3)執(zhí)行控制臺(tái)指令微程序時(shí),
32、按IR4,IR5的狀態(tài)進(jìn)行4路分支。 請(qǐng)按多路轉(zhuǎn)移方法設(shè)計(jì)微地址轉(zhuǎn)移邏輯。92 按所給設(shè)計(jì)條件,微程序有三種判別測(cè)試,分別為P1,P2,P3。 由于修改A5-A0內(nèi)容具有很大靈活性,現(xiàn)分配如下:(1)用P1和IR3-IR0修改A3-A0;(2)用P2和C修改A0;(3)用P3和IR5,IR4修改A5,A4。 另外還要考慮時(shí)間因素T4(假設(shè)CPU周期最后一個(gè)節(jié)拍脈沖),故轉(zhuǎn)移邏輯表達(dá)式如下:A5=P3IR5T4A4=P3IR4T4A3=P1IR3T4A2=P1IR2T4A1=P1IR1T4A0=P1IR0T4+P2CT4 由于從觸發(fā)器強(qiáng)置端修改,故前5個(gè)表達(dá)式可用“與非”門實(shí)現(xiàn),最后一個(gè)用“與或
33、非”門實(shí)現(xiàn)。 下圖僅畫出了A2、A1、A0觸發(fā)器的微地址轉(zhuǎn)移邏輯圖。93945.4.2 微程序設(shè)計(jì)技術(shù)3、微指令格式分為兩類:水平型微指令和垂直型微指令(1)水平型微指令 水平型微指令是指一次能定義并能并行執(zhí)行多個(gè)微命令的微指令。格式如下控制字段判別測(cè)試字段下地址字段955.4.2 微程序設(shè)計(jì)技術(shù)水平型微指令特點(diǎn): 優(yōu)點(diǎn):微指令字較長(zhǎng),速度越快。微指令中的微操作有高度的并行性。微指令譯碼簡(jiǎn)單??刂拼鎯?chǔ)器的縱向容量小,靈活性強(qiáng)。缺點(diǎn):微指令字比較長(zhǎng),明顯地增加了控制存儲(chǔ)器的橫向容量。水平微指令與機(jī)器指令差別很大,一般要熟悉機(jī)器結(jié)構(gòu)、數(shù)據(jù)通路、時(shí)序系統(tǒng)以及指令執(zhí)行過程的人才能進(jìn)行微程序設(shè)計(jì),這對(duì)用
34、戶來說是很困難的。965.4.2 微程序設(shè)計(jì)技術(shù)(2)垂直型微指令:采用編碼方式。設(shè)置微操作控制字段時(shí),一次只能執(zhí)行一到二個(gè)微命令的微指令稱為垂直型微指令。975.4.2 微程序設(shè)計(jì)技術(shù)垂直型微指令的特點(diǎn):微指令字短,一般為1020位左右。微指令的并行微操作能力有限,一條微指令一般只包含一個(gè)微操作命令。微指令譯碼比較復(fù)雜。全部微命令用一個(gè)微操作控制字段進(jìn)行編碼,微指令執(zhí)行時(shí)需行完全譯碼。設(shè)計(jì)用戶只需注意微指令的功能,而對(duì)微命令及其選擇、數(shù)據(jù)通路的結(jié)構(gòu)則不用過多地考慮,因此,便于用戶編制微程序。而且,編制的微程序規(guī)整、直觀,便于實(shí)現(xiàn)設(shè)計(jì)的自動(dòng)化。垂直微指令字較短,使控制存儲(chǔ)器的橫向容量少。用垂直
35、微指令編制微程序要使用較多的微指令,微程序較長(zhǎng);要求控制存儲(chǔ)器的縱向容量大。垂直微指令產(chǎn)生微命令要經(jīng)過譯碼,微程序執(zhí)行速度慢。不能充分利用數(shù)據(jù)通路具有多種并行操作能力985.4.2 微程序設(shè)計(jì)技術(shù)水平型微指令和垂直型微指令的比較(1)水平型微指令并行操作能力強(qiáng),效率高,靈活性強(qiáng),垂直型微指令則較差。(2)水平型微指令執(zhí)行一條指令的時(shí)間短,垂直型微指令執(zhí)行時(shí)間長(zhǎng)。(3)由水平型微指令解釋指令的微程序,有微指令字較長(zhǎng)而微程序短的特點(diǎn)。垂直型微指令則相反。(4)水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對(duì)來說,比較容易掌握。995.4.2 微程序設(shè)計(jì)技術(shù)4、動(dòng)態(tài)微程序設(shè)計(jì)對(duì)應(yīng)于一臺(tái)計(jì)
36、算機(jī)的機(jī)器指令只有一組微程序,這一組微程序設(shè)計(jì)好之后,一般無須改變而且也不好改變,這種微程序設(shè)計(jì)技術(shù)稱為靜態(tài)微程序設(shè)計(jì)。 采用EPROM作為控制存儲(chǔ)器,可以通過改變微指令和微程序來改變機(jī)器的指令系統(tǒng),這種微程序設(shè)計(jì)技術(shù)稱為動(dòng)態(tài)微程序設(shè)計(jì)。1005.6 硬布線控制器1、實(shí)現(xiàn)方法通過邏輯電路直接連線而產(chǎn)生的,又稱為組合邏輯控制方式2、設(shè)計(jì)目標(biāo)使用最少元件(復(fù)雜的樹形網(wǎng)絡(luò))速度最高1015.6 硬布線控制器3、邏輯原理 (1)邏輯原理圖C為微操作控制信號(hào)Im為譯碼器輸出,Mi為節(jié)拍電位,Tk為節(jié)拍脈沖,Bj為狀態(tài)條件C由組合電路實(shí)現(xiàn),速度快,但難以修改。(2)指令的執(zhí)行流程微程序控制器時(shí)序信號(hào)簡(jiǎn)單。
37、只需要若干節(jié)拍脈沖信號(hào)即可。組合邏輯控制器除了節(jié)拍脈沖信號(hào)外,還需要節(jié)拍電位信號(hào)。返回1025.6 硬布線控制器(3)微操作控制信號(hào)產(chǎn)生在微程序控制器中,微操作控制信號(hào)由微指令產(chǎn)生,并且可以重復(fù)使用。在硬聯(lián)線控制器中,某一微操作控制信號(hào)由布爾代數(shù)表達(dá)式描述的輸出函數(shù)產(chǎn)生。設(shè)計(jì)微操作控制信號(hào)的方法和過程是,根據(jù)所有機(jī)器指令流程圖,尋找出產(chǎn)生同一個(gè)微操作信號(hào)的所有條件,并與適當(dāng)?shù)墓?jié)拍電位和節(jié)拍脈沖組合,從而寫出其布爾代數(shù)表達(dá)式并進(jìn)行簡(jiǎn)化,然后用門電路或可編程器件來實(shí)現(xiàn)。 1035.6 硬布線控制器4、設(shè)計(jì)步驟(1)畫出指令流程圖 (2)列出微操作時(shí)間表將指令流程圖中的微操作合理地安排到各個(gè)機(jī)器周期
38、的相應(yīng)節(jié)拍和脈沖中去;微操作時(shí)間表形象地表明:什么時(shí)間、根據(jù)什么條件發(fā)出哪些微操作信號(hào)。1045.6 硬布線控制器(3)進(jìn)行微操作信號(hào)的綜合當(dāng)列出所有指令的微操作時(shí)間表之后,需要對(duì)它們進(jìn)行綜合分析,把凡是要執(zhí)行某一微操作的所有條件(哪條指令、哪個(gè)機(jī)器周期、哪個(gè)節(jié)拍和脈沖等)都考慮在內(nèi),加以分類組合,列出各微操作產(chǎn)生的邏輯表達(dá)式,然后加以簡(jiǎn)化,使邏輯表達(dá)式更為合理。(4)實(shí)現(xiàn)電路 根據(jù)整理并化簡(jiǎn)的邏輯表達(dá)式組,可以用一系列組合邏輯電路加以實(shí)現(xiàn),加根據(jù)邏輯表達(dá)式畫出邏輯電路圖,用邏輯門電路的組合來實(shí)現(xiàn)之,也可以直接根據(jù)邏輯表達(dá)式,用PLA或其他邏輯電路實(shí)現(xiàn)。105 例3根據(jù)圖5.29,寫出以下操作
39、控制信號(hào)RD(I)、RD(D)、WE(D)、LDPC、LDIR、LDAR、LDDR、PC+1、LDR2的邏輯表達(dá)式。其中每個(gè)操作控制信號(hào)的含義是:RD(I)指存讀命令RD(D)數(shù)存讀命令WE(D)數(shù)存寫命令LDPC打入程序計(jì)數(shù)器LDIR打入指令寄存器LDAR打入數(shù)存地址寄存器LDDR打入數(shù)據(jù)緩沖寄存器PC+1程序計(jì)數(shù)器加1LDR2打入R1寄存器106數(shù)據(jù)通路圖RD/WRLDDRLDIRLDPCLDARPC+1107 圖5.29 硬布線控制器的指令周期流程圖108列出微操作時(shí)間表(根據(jù)數(shù)據(jù)通路和操作流程圖)節(jié)拍電位脈沖LDARLDDRLDIRM1T1T2T3ADD、STA、JMP、NOP、CLA
40、T4ADD、STA、JMP、NOP、CLAADD、STA、JMP、NOP、CLAM2T1T2T3T4ADD、STA、JMPM3T1T2T3ADD、STAT4109進(jìn)行微操作信號(hào)的綜合 圖5.29中五條指令的微操作控制信號(hào)舉例。 LDAR=M1T4+M2(ADD+STA+JMP)T4 LDDR=M1T3+M3(ADD+STA)T3 LDIR=M1T4 其中M1、M2、M3是三個(gè)節(jié)拍電位信號(hào);T3、T4為時(shí)鐘周期信號(hào);ADD、STA、JMP是指令OP字段譯碼器的輸出信號(hào)。最后給出電路(省略)1105.6 傳統(tǒng)CPU5.6.1Intel 80885.6.2 IBM3701115.6.1Intel 8
41、0881125.6.2 IBM370IBM370 CPU(自己看)1972年32位ALU的三個(gè)功能部件寄存器結(jié)構(gòu)CPU控制狀態(tài)管態(tài)目態(tài)1135.7 流水CPUEnslow統(tǒng)計(jì)過:19651975間,反映器件性能級(jí)延遲大約為原來的1/10,而反映計(jì)算機(jī)系統(tǒng)性能之一的平均指令時(shí)間為1%。結(jié)論:同一時(shí)期計(jì)算機(jī)系統(tǒng)性能比器件性能提高的速度快得多促使計(jì)算機(jī)性能提高的因素除了器件性能得提高外還有哪些呢?1145.7 流水CPU5.7.1并行處理技術(shù)5.7.2流水CPU的結(jié)構(gòu)5.7.3流水線中的主要問題5.7.4 Pentium CPU1155.7.1并行處理技術(shù)并行性(Parrelism)概念問題中具有可
42、以同時(shí)進(jìn)行運(yùn)算或操作的特性例:在相同時(shí)延的條件下,用n位運(yùn)算器進(jìn)行n位并行運(yùn)算速度幾乎是一位運(yùn)算器進(jìn)行n位串行運(yùn)算的n倍(狹義)(廣義)含義只要在同一時(shí)刻(同時(shí)性)或在同一時(shí)間間隔內(nèi)(并發(fā)性)完成兩種或兩種以上性質(zhì)相同或不同的工作,他們?cè)跁r(shí)間上相互重疊,都體現(xiàn)了并行性1165.7.1并行處理技術(shù)三種形式時(shí)間并行(重疊):讓多個(gè)處理過程在時(shí)間上相互錯(cuò)開,輪流使用同一套硬件設(shè)備的各個(gè)部件,以加快硬件周轉(zhuǎn)而贏得速度,實(shí)現(xiàn)方式就是采用流水處理部件空間并行(資源重復(fù)):以數(shù)量取勝它能真正的體現(xiàn)同時(shí)性LSI和VLSI為其提供了技術(shù)保證時(shí)間+空間并行Pentium中采用了超標(biāo)量流水線技術(shù)1175.7.2流水
43、CPU的結(jié)構(gòu)流水計(jì)算機(jī)的系統(tǒng)組成存儲(chǔ)器體系:主存采用多體交叉存儲(chǔ)器;Cache流水方式CPU:指令部件、指令隊(duì)列、執(zhí)行部件指令流水線指令隊(duì)列:FIFO執(zhí)行部件:可以有多個(gè)采用流水線方式構(gòu)成的算術(shù)邏輯部件構(gòu)成,可以將定點(diǎn)運(yùn)算部件和浮點(diǎn)運(yùn)算部件分開。1185.7.2流水CPU的結(jié)構(gòu)流水線CPU時(shí)空?qǐng)DIF(Instruction Fetch取指) ID(Instruction Decode指令譯碼)EX(Execution執(zhí)行) WB(Write Back寫回)1195.7.2流水CPU的結(jié)構(gòu)流水CPU非流水CPU1205.7.2流水CPU的結(jié)構(gòu)具有兩條以上的指令流水線上圖中流水線滿載時(shí),每一個(gè)時(shí)鐘
44、周期可以執(zhí)行2條指令采用時(shí)間和空間并行技術(shù)1215.7.2流水CPU的結(jié)構(gòu)流水線(Pipelining)的分類按級(jí)別分為指令流水線算術(shù)流水線處理機(jī)流水線(宏流水線)1225.7.3流水線中的主要問題瓶頸問題(流水線中有速度慢的段)再分成幾個(gè)段用資源重復(fù)的方法也可以解決資源相關(guān):多條指令進(jìn)入流水線后在同一時(shí)鐘周期內(nèi)爭(zhēng)用同一功能部件。解決辦法:后邊指令拖一拍再推進(jìn);增設(shè)一個(gè)功能部件1235.7.3流水線中的主要問題數(shù)據(jù)相關(guān)RAW(Read After Write)后面指令用到前面指令所寫的數(shù)據(jù)WAW(Write After Write)兩條指令寫同一個(gè)單元在簡(jiǎn)單流水線中沒有此類相關(guān),因?yàn)椴粫?huì)亂序執(zhí)
45、行WAR(Write After Read)后面指令覆蓋前面指令所讀的單元在簡(jiǎn)單流水線中沒有此類相關(guān)解決辦法:可以推后后繼指令對(duì)相關(guān)單元的讀操作設(shè)置相關(guān)的直接通路(Forwarding)1245.7.3流水線中的主要問題例:兩條指令發(fā)生數(shù)據(jù)相關(guān)沖突RAW(Read After Write)ADDR1,R2,R3R2+R3-R1SUBR4,R1,R5R1-R5-R4ANDR6,R1,R7R1R7-R61255.7.3流水線中的主要問題控制相關(guān)引起原因:轉(zhuǎn)移指令解決辦法:延遲轉(zhuǎn)移法,轉(zhuǎn)移預(yù)測(cè)法126【例4】流水線中有三類數(shù)據(jù)相關(guān)沖突:寫后讀(RAW)相關(guān);讀后寫(WAR)相關(guān);寫后寫(WAW)相關(guān)
46、。判斷以下三組指令各存在哪種類型的數(shù)據(jù)相關(guān)。(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)是存儲(chǔ)器單元 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指令運(yùn)算結(jié)果應(yīng)先寫入R1,然后在I2指令中讀出R1內(nèi)容。由于I2指令進(jìn)入流水線,變成I2指令在I1指令寫入R1前就讀出R1內(nèi)容,發(fā)生RAW相關(guān)。第
47、(2)組指令中,I3指令應(yīng)先讀出R3內(nèi)容并存入存儲(chǔ)單元M(x),然后在I4指令中將運(yùn)算結(jié)果寫入R3。但由于I4指令進(jìn)入流水線,變成I4指令在I3指令讀出R3內(nèi)容前就寫入R3,發(fā)生WAR相關(guān)。第(3)組指令中,如果I6指令的加法運(yùn)算完成時(shí)間早于I5指令的乘法運(yùn)算時(shí)間,變成指令I(lǐng)6在指令I(lǐng)5寫入R3前就寫入R3,導(dǎo)致R3的內(nèi)容錯(cuò)誤,發(fā)生WAW相關(guān)。1275.7.4 Pentium CPUPentium CPU (第一代)1989年初0.8um工藝,310萬晶體管有60M和66MHz外頻兩種版本5V電壓,功耗20W超標(biāo)量流水線結(jié)構(gòu)486有一條流水線Pentium有U和V兩條指令流水線U流水線可以執(zhí)行
48、所有的整數(shù)和浮點(diǎn)指令V流水線可以執(zhí)行簡(jiǎn)單的整數(shù)和FXCH浮點(diǎn)指令雙重分離式Cache,減少了等待和搬移數(shù)據(jù)時(shí)間32位CPU,外部數(shù)據(jù)總線寬度為64位,外部地址總線寬度為36位1285.7.4 Pentium CPU非固定長(zhǎng)度指令格式,9種尋址方式,191條指令,兼具有RISC和CISC特性,不過我們還是將其看成CISCSL電源管理技術(shù)提供了更加靈活的存儲(chǔ)器尋址結(jié)構(gòu),可以支持傳統(tǒng)的4k大小的頁面,也可以支持4M大小的頁面動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)技術(shù)Pentium結(jié)構(gòu)圖MESI(Modified Exclusion Share Invalid)BTB(Branch Target Buffer)TLB(Tran
49、slation Lookaside Buffer)1291305.8 RISC CPU特點(diǎn)(采用流水線技術(shù))簡(jiǎn)單而統(tǒng)一格式的指令譯碼;大部分指令可以單周期執(zhí)行只有LOAD/STORE可以訪問存儲(chǔ)器簡(jiǎn)單的尋址方式采用延遲轉(zhuǎn)移技術(shù)采用LOAD延遲技術(shù)三地址指令格式較多的寄存器對(duì)稱的指令格式其他。(見書)1315.8 RISC CPU實(shí)例 MC88110CPU結(jié)構(gòu)框圖(見下圖)12個(gè)執(zhí)行功能部件3個(gè)Cache(指令,數(shù)據(jù)和目標(biāo)指令)兩個(gè)寄存器堆(通用寄存器堆、擴(kuò)展寄存器堆)六條80位寬的內(nèi)部總線132MC88110 CPU結(jié)構(gòu)框圖133MC88110的指令流水線超標(biāo)量流水線CPUF&D:取指和譯碼段
50、需要一個(gè)時(shí)鐘周期,EX:執(zhí)行段,大都只需要一個(gè)時(shí)鐘周期,WB:寫回段,只需要時(shí)鐘周期的一半采用了直接通路(Forwarding)技術(shù)F&DEXWB134指令動(dòng)態(tài)調(diào)度策略按序發(fā)射取兩條指令,配對(duì)發(fā)送,一個(gè)周期可以有兩條指令執(zhí)行完畢如下圖:135第一條指令由于資源相關(guān)或數(shù)據(jù)相關(guān),則這兩條指令都不發(fā)射若第一條指令能發(fā)射,第二條不能發(fā)射,只發(fā)射第1條指令到EX段,第二條指令等待并新取一條指令與之配對(duì)等待發(fā)射1365.8 RISC CPU幾個(gè)問題:怎樣判斷能否發(fā)射呢?可以采用計(jì)分牌的方法如何保證按序完成?FIFO指令隊(duì)列如何對(duì)待控制相關(guān)(轉(zhuǎn)移指令)?采用延遲轉(zhuǎn)移法和目標(biāo)指令cache法1375.8 RI
51、SC CPU計(jì)分牌:計(jì)分牌是一個(gè)位向量、每一位對(duì)應(yīng)寄存器堆中的一個(gè)寄存器。指令發(fā)射時(shí),目的寄存器在計(jì)分牌中相應(yīng)位為1;寫回后清0判斷指令可否發(fā)射的條件是:該指令的所有目的寄存器、源寄存器在向量位中對(duì)應(yīng)的位都為0否則,等待這些位清除1385.8 RISC CPUFIFO隊(duì)列FIFO隊(duì)列稱為歷史緩沖器,每當(dāng)一條指令發(fā)射后,副本傳入FIFO隊(duì)列隊(duì)尾只有當(dāng)前面的指令執(zhí)行完畢,才到達(dá)隊(duì)首,執(zhí)行完畢后,離開隊(duì)列1395.8 RISC CPU延遲轉(zhuǎn)移法可選如果采用延遲轉(zhuǎn)移選項(xiàng),則轉(zhuǎn)移指令后的轉(zhuǎn)移延遲時(shí)間內(nèi)指令被發(fā)射否則,指令照常發(fā)送指令Cache(TIC)法是一個(gè)32位的全相聯(lián)Cache,用來保存轉(zhuǎn)移路徑的
52、前兩條指令1405.8 RISC CPU例5 超標(biāo)量流水線結(jié)構(gòu)如下1415.8 RISC CPUI1LDA R1,AI2ADDR2,R1I3ADDR3,R4I4MULR4,R5I5LDAR6,BI6MULR6,R7畫出按序完成各段推進(jìn)情況圖畫出按序完成流水線時(shí)空?qǐng)DRAWWARWAW1425.8 RISC CPUI61435.8 RISC CPU1445.9 多媒體 CPU多媒體概念指利用計(jì)算機(jī)來綜合、集成地處理文字、圖形、圖象、聲音、視頻、動(dòng)畫等媒體,從而形成的一種全新的信息傳播和處理的計(jì)算機(jī)技術(shù)。主要特征:信息表示的數(shù)字化處理的集成性系統(tǒng)的交互性1455.9 多媒體 CPU主要技術(shù)問題壓縮和
53、解壓縮技術(shù)靜態(tài)640*480的256色圖象約占640*480*1B=307200B300K640*480的24Bit彩色圖象約占640*480B*3=921600B=900K動(dòng)態(tài)每秒鐘30楨(播放256色)則每秒鐘處理300K*30=9M,而ISA總線的傳輸率只有5MBPS結(jié)論:多媒體信息量大,給信息處理和傳輸帶來了困難1465.9 多媒體 CPU解決方法:壓縮技術(shù)JPEG(Joint Photographic Experts GroupMPEG(Moving Picture group)軟件技術(shù)多媒體OS多媒體處理軟件硬件技術(shù)MMX(多媒體擴(kuò)展技術(shù))動(dòng)態(tài)執(zhí)行技術(shù)1475.9 多媒體 CPUM
54、MX(多媒體擴(kuò)展技術(shù))MMX是Intel為增強(qiáng)處理器的多媒體能力而提出的解決方案,它是57個(gè)多媒體指令集合。這些指令是為高效地處理視頻、聲音和圖形數(shù)據(jù)而專門設(shè)計(jì)的Intel使用SIMD(單指令流,多數(shù)據(jù)流)過程來實(shí)現(xiàn)這些多媒體指令。1485.9 多媒體 CPU多媒體和通信應(yīng)用中經(jīng)常使用重復(fù)運(yùn)行的循環(huán),這些循環(huán)只占程序代碼的10%或更少,卻要占用多達(dá)90%的執(zhí)行時(shí)間。SIMD允許一條指令在多個(gè)數(shù)據(jù)上進(jìn)行相同的操作。由于循環(huán)是打亂CPU內(nèi)部流水線,降低CPU執(zhí)行效率的一個(gè)重要因素,MMX指令,減少了循環(huán),能大大提高原來存在大量計(jì)算性循環(huán)的視頻、聲音和圖象等多媒體應(yīng)用的性能。1495.9 多媒體 C
55、PUMMX指令處理的數(shù)據(jù)類型稱作分組數(shù)據(jù)(packet data),每個(gè)分組數(shù)據(jù)總是64位的。8個(gè)字節(jié)4個(gè)16位字2個(gè)32位雙字一個(gè)64位數(shù)據(jù)1505.9 多媒體 CPUMMX一次可以計(jì)算64位數(shù)據(jù),而Intel處理器上的通用寄存器是32位的,因此它借用浮點(diǎn)運(yùn)算器80位的寄存器來存放數(shù)據(jù)。雖然借用了浮運(yùn)算器的寄存器,但數(shù)據(jù)的處理或運(yùn)算并不是在浮點(diǎn)運(yùn)算器中進(jìn)行,而是在專門的整數(shù)處理單元中進(jìn)行。8個(gè)80位的浮點(diǎn)數(shù)據(jù)寄存器,在進(jìn)行浮點(diǎn)運(yùn)算的時(shí)候ST0ST7在進(jìn)行MMX運(yùn)算的時(shí)候,MM0MM1從總體上說,MMX指令屬于整數(shù)指令。(但是這個(gè)整數(shù)指令可以處理圖像、圖形、音頻、通訊、信號(hào)處理等其他功能)1515.9 多媒體 CPUMMX指令的先進(jìn)性體現(xiàn)在以下五個(gè)方SIMD結(jié)構(gòu) 飽和運(yùn)算方式 積和運(yùn)算方式比較指令轉(zhuǎn)換指令1525.9 多媒體 CPUSIMD結(jié)構(gòu):利用CPU64的帶寬,一次可以并行處理8個(gè)8位數(shù)據(jù),或4個(gè)16位數(shù)據(jù)等飽和運(yùn)算:在運(yùn)算結(jié)果最大值,按最
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 車輛轉(zhuǎn)讓及二手車市場(chǎng)運(yùn)營(yíng)及售后服務(wù)協(xié)議
- 泡沫鋁橋梁防撞塊安裝技術(shù)專題
- 2型糖尿病護(hù)理教學(xué)查房
- 阿勒泰輔警考試題庫
- 形式法律教育體系構(gòu)建與實(shí)施路徑
- 體育培訓(xùn)方案
- 銀行單位開戶操作規(guī)范
- J酒店禮儀培訓(xùn)
- 初級(jí)養(yǎng)老護(hù)理員培訓(xùn)
- 物料請(qǐng)購流程管理規(guī)范
- 五年級(jí)下冊(cè)期末英語試卷測(cè)試題(含答案)
- 2023超星爾雅《藝術(shù)鑒賞》期末考試答案
- 產(chǎn)后出血的護(hù)理-課件
- 中醫(yī)適宜技術(shù)操作規(guī)程及評(píng)分標(biāo)準(zhǔn)
- 生物傳感器課件
- 護(hù)理三基知識(shí)試題與答案
- 陜西省機(jī)關(guān)事業(yè)單位工人技術(shù)等級(jí)考核農(nóng)藝工題庫
- 湖北省襄陽市樊城區(qū)2022-2023學(xué)年數(shù)學(xué)六下期末檢測(cè)試題含解析
- 周圍性面癱-醫(yī)學(xué)課件
- 2023年春季國開《學(xué)前教育科研方法》期末大作業(yè)(參考答案)
- 2023四川安全員《B證》考試題庫
評(píng)論
0/150
提交評(píng)論