chap3-微處理器系統(tǒng)結(jié)構(gòu)及關(guān)鍵技術(shù)_第1頁
chap3-微處理器系統(tǒng)結(jié)構(gòu)及關(guān)鍵技術(shù)_第2頁
chap3-微處理器系統(tǒng)結(jié)構(gòu)及關(guān)鍵技術(shù)_第3頁
chap3-微處理器系統(tǒng)結(jié)構(gòu)及關(guān)鍵技術(shù)_第4頁
chap3-微處理器系統(tǒng)結(jié)構(gòu)及關(guān)鍵技術(shù)_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、1第第3 3章章 微處理器體系結(jié)構(gòu)及微處理器體系結(jié)構(gòu)及關(guān)鍵技術(shù)關(guān)鍵技術(shù)23.1 微處理器體系結(jié)構(gòu)及功能模塊簡介處理器的主要功能處理器的基本結(jié)構(gòu)一個簡化的處理器模型結(jié)構(gòu)示例3.2 處理器設(shè)計指令系統(tǒng)數(shù)據(jù)通路控制流程時序部件控制邏輯3.3 指令流水線技術(shù)3.4 典型微處理體系結(jié)構(gòu)簡介3.5 先進的微處理器技術(shù)ARM、x86隨機邏輯隨機邏輯、微程序微程序(微碼微碼)數(shù)據(jù)類型、指令功能、指令格式、尋址方式數(shù)據(jù)類型、指令功能、指令格式、尋址方式ALU、Reg、總線、總線程序、指令、微操作程序、指令、微操作時鐘周期、工作周期、指令周期時鐘周期、工作周期、指令周期特點、操作、局限、設(shè)計特點、操作、局限、設(shè)計

2、寬度、周期寬度、周期3中央處理單元 Central Processing Unit, CPU微處理器 Micro Processing Unit, MPU微控制單元 Micro Control Unit, MCU單片機計算機單單片片芯芯片片控制器、運算器、寄存器控制器、運算器、寄存器CPU、少量存儲器及、少量存儲器及I/O接口接口CPU+存儲器存儲器+總線總線/接口接口+外設(shè)外設(shè)41。RISC指令集,指令集,內(nèi)核小,功耗低、內(nèi)核小,功耗低、成本低成本低2。哈佛哈佛結(jié)構(gòu)結(jié)構(gòu)3。運算器操作。運算器操作數(shù)數(shù)只能從寄存器只能從寄存器輸入輸入/輸出輸出4。采用。采用桶式移桶式移位器位器處理處理ALU輸輸

3、入,靈活高速入,靈活高速51。馮式結(jié)構(gòu)。馮式結(jié)構(gòu)2。運算器操作數(shù)可以從寄存器、存儲器或。運算器操作數(shù)可以從寄存器、存儲器或I/O端口獲得端口獲得3。分成兩大功能部件。分成兩大功能部件EU(執(zhí)行單元執(zhí)行單元)、BIU(總線接口單元總線接口單元)61。RISC指令規(guī)則,適合流水設(shè)計指令規(guī)則,適合流水設(shè)計2。尋址方式靈活簡單,執(zhí)行效率高。尋址方式靈活簡單,執(zhí)行效率高3。所有指令的。所有指令的條件執(zhí)行條件執(zhí)行實現(xiàn)最快速的代碼執(zhí)行實現(xiàn)最快速的代碼執(zhí)行4。支持。支持Thumb(16 位)位)/ARM(32 位)雙指令集,能位)雙指令集,能很好的兼容很好的兼容8 位位/16 位器件位器件71。為保持兼容性采

4、用變長的、高度不規(guī)則的。為保持兼容性采用變長的、高度不規(guī)則的CISC指令集。指令集。2。是基于專用寄存器組的二地址存儲器。是基于專用寄存器組的二地址存儲器-寄存寄存器器(M-R)機:對于二元操作,一個操作數(shù)總機:對于二元操作,一個操作數(shù)總是指定在寄存器中,另一個操作數(shù)可以從是指定在寄存器中,另一個操作數(shù)可以從存儲器或寄存器中讀取。存儲器或寄存器中讀取。8計算機系統(tǒng)設(shè)計師認(rèn)為:處理器是指一種能夠經(jīng)過多個步驟執(zhí)行計算計算任務(wù)的數(shù)字?jǐn)?shù)字設(shè)備。從本質(zhì)上講,處理器的作用是協(xié)調(diào)和控制計算機的各個部件,并執(zhí)行程序執(zhí)行程序(指令序列)。處理器的5個主要功能: 指令控制指令控制:控制指令按程序邏輯順序執(zhí)行。 操

5、作控制操作控制:按照指令執(zhí)行過程及指令約定功能的需求產(chǎn)生各種操作控制信號。 時時序序控制控制:能夠在適當(dāng)?shù)臅r間(時刻)使相應(yīng)操作控制信號有效,并保持所需的時長。 數(shù)據(jù)加工數(shù)據(jù)加工:對數(shù)據(jù)進行算術(shù)和邏輯運算處理。 中斷處理中斷處理:程序執(zhí)行過程中應(yīng)能夠及時處理出現(xiàn)的I/O操作請求及異常情況。9CPUCPU的作用是的作用是協(xié)調(diào)和協(xié)調(diào)和控制計算機的各個部件控制計算機的各個部件并執(zhí)行程序中的指令序并執(zhí)行程序中的指令序列列,因此應(yīng)具有以下基,因此應(yīng)具有以下基本功能:本功能:取 指 令 ,P C值 加1停 機?譯 碼 并 執(zhí) 行結(jié) 束YN 取指令:取指令:當(dāng)程序已在存儲器中時,首先根據(jù)程序入口地當(dāng)程序已在

6、存儲器中時,首先根據(jù)程序入口地址取出一條程序,為此要發(fā)出指令地址及控制信號。址取出一條程序,為此要發(fā)出指令地址及控制信號。 分析指令:分析指令:即指令譯碼,是指對當(dāng)前取得的指令進行分即指令譯碼,是指對當(dāng)前取得的指令進行分析,指出它要求什么操作,并產(chǎn)生相應(yīng)的操作控制命令。析,指出它要求什么操作,并產(chǎn)生相應(yīng)的操作控制命令。 執(zhí)行指令:執(zhí)行指令:根據(jù)分析指令時產(chǎn)生的根據(jù)分析指令時產(chǎn)生的“操作命令操作命令”形成相形成相應(yīng)的操作控制信號序列,通過運算器、存儲器及輸入應(yīng)的操作控制信號序列,通過運算器、存儲器及輸入/ /輸出輸出設(shè)備的執(zhí)行,實現(xiàn)每條指令的功能,其中包括對運算結(jié)果的設(shè)備的執(zhí)行,實現(xiàn)每條指令的功

7、能,其中包括對運算結(jié)果的處理以及下條指令地址的形成。處理以及下條指令地址的形成。10馮馮諾依曼機諾依曼機:5 5大部件大部件存儲程序存儲程序串行單順序串行單順序數(shù)據(jù)通路數(shù)據(jù)通路CPU的的RTL描述:描述:數(shù)據(jù)通路數(shù)據(jù)通路控制器控制器寄存器傳輸級Resistor Transistor Level 數(shù)據(jù)流和命令數(shù)據(jù)流和命令流的產(chǎn)生流的產(chǎn)生111.1.數(shù)據(jù)通道數(shù)據(jù)通道組成:組成:ALU+ALU+寄存器寄存器+ +內(nèi)部總線內(nèi)部總線功能:功能:基本的二進制算術(shù)、邏輯及移位基本的二進制算術(shù)、邏輯及移位運算;運算; 根據(jù)運算結(jié)果設(shè)置狀態(tài)標(biāo)志(根據(jù)運算結(jié)果設(shè)置狀態(tài)標(biāo)志(進進/ /借位、溢出等);借位、溢出等)

8、; 特性:特性:數(shù)據(jù)通路寬度:數(shù)據(jù)通路寬度:即字長,即字長,CPUCPU單次單次傳送和處理數(shù)據(jù)的能力。傳送和處理數(shù)據(jù)的能力。數(shù)據(jù)通路周期數(shù)據(jù)通路周期:ALUALU運算并將保存運算并將保存結(jié)果的過程。結(jié)果的過程。2. 2. 控制單元(控制器)控制單元(控制器)時序控制部件:時序控制部件:指令周期、工作周期指令周期、工作周期、時鐘周期、時鐘周期( (工作脈沖工作脈沖) )1.1.指令譯碼邏輯:指令譯碼邏輯:微程序(微程序(CISC CISC )、)、硬連邏輯(硬連邏輯(RISC RISC ) 、12ALU:運算:運算Reg組:暫存組:暫存內(nèi)總線:傳輸內(nèi)總線:傳輸p 簡單的單總線簡單的單總線 (AL

9、U總線總線)p 復(fù)雜的多級總線復(fù)雜的多級總線(片上總線片上總線)13輸入輸入輸出輸出指令序列指令序列指令指令1指令指令2指令指令3指令指令nStep1:取指:取指Step2:取源數(shù):取源數(shù)Step3:取目的數(shù):取目的數(shù)Step4:執(zhí)行運算:執(zhí)行運算Step5:存放結(jié)果:存放結(jié)果Step1:。:。Step2:。:。微命令微命令命令流的產(chǎn)生命令流的產(chǎn)生微程序(微碼)控制器結(jié)構(gòu)設(shè)計微程序(微碼)控制器結(jié)構(gòu)設(shè)計隨機邏輯控制器結(jié)構(gòu)設(shè)計隨機邏輯控制器結(jié)構(gòu)設(shè)計14哈佛結(jié)構(gòu)哈佛結(jié)構(gòu):數(shù)據(jù)總線與數(shù)據(jù)總線與指令總線分離指令總線分離一條指令在一條指令在執(zhí)行執(zhí)行另一條指令另一條指令在等待執(zhí)行在等待執(zhí)行151.對外形成

10、對外形成三總線三總線形式;形式;2.寄存器寄存器MAR和和MBR簡化了簡化了CPU與主存之間的傳送與主存之間的傳送通路通路,使其,使其容易控制容易控制;3.寄存器寄存器MAR和和MBR對用戶對用戶透明透明,即即不能編程訪問不能編程訪問;B存儲器緩沖寄存器存儲器緩沖寄存器內(nèi)存地址寄存器內(nèi)存地址寄存器P63161. CISC(Complex Instruction Set Computer,復(fù)雜指令集計算機)不斷增強原有指令的功能以及設(shè)置更為復(fù)雜的新指令取代原先由程序段完成的功能,從而實現(xiàn)軟件功能的硬化。2. RISC(Reduced Instruction Set Computer,精簡指令集計

11、算機)通過減少指令種類和簡化指令功能來降低硬件設(shè)計復(fù)雜度,從而提高指令的執(zhí)行速度。現(xiàn)代計算機:RISC+CISC17美國加州大學(xué)Berkeley分校的研究結(jié)果表明CISC : 許多復(fù)雜指令很少被使用,“2-8原則”控制器硬件復(fù)雜(指令多,且具有不定長格式和復(fù)雜的數(shù)據(jù)類型),占用了大量芯片面積,且容易出錯,VLSI設(shè)計困難。指令操作繁雜,執(zhí)行速度慢。指令規(guī)整性不好,不便利用流水線技術(shù)提高性能。18 RISC機的設(shè)計應(yīng)當(dāng)遵循以下五個原則: 指令條數(shù)少,格式簡單,易于譯碼; 提供足夠的寄存器,只允許load 和store指令訪問內(nèi)存; 指令由硬件直接執(zhí)行, 在單個周期內(nèi)完成; 充分利用流水線; 強調(diào)

12、優(yōu)化編譯器的作用; 19指令集結(jié)構(gòu)(ISA)是體系結(jié)構(gòu)的主要內(nèi)容之一,其功能設(shè)計實際就是確定軟硬件的功能分配??紤]因素考慮因素 速度、成本和靈活性實現(xiàn)方式實現(xiàn)方式 硬件、軟件 優(yōu)化策略優(yōu)化策略 RISC、CISC;流水線;多核;實現(xiàn)內(nèi)容實現(xiàn)內(nèi)容 數(shù)據(jù)類型、指令功能、指令格式、尋址方式實現(xiàn)步驟實現(xiàn)步驟根據(jù)應(yīng)用初擬出指令的分類和具體的指令;編寫出針對該指令系統(tǒng)的各種高級語言編譯程序;對多種算法程序進行模擬測試,確認(rèn)指令系統(tǒng)的操作碼和尋址方式的效能是否都比較高;用硬件實現(xiàn)高頻使用的指令,軟件實現(xiàn)低頻使用指令。20指令集設(shè)計示例指令集設(shè)計示例假設(shè)某機器的字長是假設(shè)某機器的字長是8位位,支持常見的簡單指

13、令支持常見的簡單指令:指令是指令是雙地址指令雙地址指令,源操作數(shù)采用,源操作數(shù)采用2種尋址方式種尋址方式寄寄存器尋址存器尋址(R0R3)和立即尋址和立即尋址;目標(biāo)操作數(shù)可采用;目標(biāo)操作數(shù)可采用2種種尋址方式尋址方式寄存器尋址和存儲器直接寄存器尋址和存儲器直接。請為下述九條。請為下述九條機器指令設(shè)計可行的代碼方案。機器指令設(shè)計可行的代碼方案。若采用定長編碼(若采用定長編碼(8bit8bit)方案,可定義指令格式如下:)方案,可定義指令格式如下:76543210=0000=0000表示表示ADDADD=0001=0001表示表示SUBSUB=0010=0010表示表示MOVMOV=0011=001

14、1表示表示ININ=0100=0100表示表示OUTOUT=0101=0101表示表示RRRR目的操作數(shù)尋址方式:目的操作數(shù)尋址方式:0 0直接尋址直接尋址 1 1寄存器尋址寄存器尋址目標(biāo)寄存目標(biāo)寄存器編號器編號源操作數(shù)尋址方式:源操作數(shù)尋址方式:00立即尋址立即尋址 11寄存器尋址寄存器尋址源寄存器源寄存器編號編號操操 作作 碼碼2122 由于直接與機器指令二進制表示法打交道很困難,于是普遍使用的是機器指令的符號表示法(symbol representation)。操作碼可縮寫成助記符助記符(mnemonic)(mnemonic)來表示:ADD加SUB減MUL乘DIV除LOAD 由存儲器裝入

15、STOR 存入存儲器匯編語言匯編語言23確認(rèn)某種特殊類型的數(shù)據(jù)是否應(yīng)該得到硬件支持 數(shù)值型數(shù)據(jù):無符號整數(shù)、帶符號整數(shù)、浮點數(shù) 非數(shù)值數(shù)據(jù):字符串確認(rèn)字長(對數(shù)據(jù)長度的限制) 截斷(truncation)或溢出(overflow)在選擇數(shù)據(jù)格式和長度時需要平衡數(shù)值范圍、程序執(zhí)行期間發(fā)生溢出的可能性、處理設(shè)備和存儲設(shè)備的復(fù)雜性、以及價格和速度等因素。24指令按功能可分成以下三種基本類型:1.1.數(shù)據(jù)傳輸:數(shù)據(jù)傳輸:將數(shù)據(jù)從一個地方(源地址)復(fù)制到另一個 地方(目的地址),傳輸結(jié)束后源地址中的內(nèi)容不變。u 數(shù)據(jù)傳送范圍: R-R、R-M、M-R或M-Mu 數(shù)據(jù)傳送寬度:一般為固定值(如8、16或3

16、2bit),其它寬度的數(shù)據(jù)傳送一般可通過軟件移位和合并操作來實現(xiàn)。2.2.數(shù)據(jù)運算:數(shù)據(jù)運算:包括算術(shù)運算(加、減、乘、除等)和邏輯運算(與、或、非、異或等)。u 該類指令需要明確操作數(shù)的類型和長度。3.3.控制類:控制類:用于改變正常的程序執(zhí)行流程,完成程序的跳轉(zhuǎn),主要包括轉(zhuǎn)移指令和過程指令。I/O?25操作碼操作碼(operation code,opcode):需要完成的操作;源操作數(shù)源操作數(shù) (source operand reference):操作所需的輸入;結(jié)果操作數(shù)結(jié)果操作數(shù) (result operand reference):操作產(chǎn)生的結(jié)果;下一條指令下一條指令 (next i

17、nstruction reference):告訴CPU到哪里取下一條指令。26 在計算機內(nèi)部,指令由一個位串來表示。相應(yīng)于指令的各要素,這些位串劃分成幾個字段字段:操作碼字段:操作碼字段:說明CPU應(yīng)進行的操作按操作類型分組:同類操作要求同樣或類似的控制信號,因此編碼也類似(有盡可能多的公共位)操作數(shù)字段操作數(shù)字段/ /地址字段:地址字段:說明源操作數(shù)和目的操作數(shù)存放的位置信息(R、M或I/O);說明源操作數(shù)和目的操作數(shù)的數(shù)據(jù)類型;下一條指令地址字段:下一條指令地址字段: 如緊跟當(dāng)前指令,在主存或虛存中,則不需顯示引用; 如可能產(chǎn)生跳轉(zhuǎn),則需要顯示給出存儲地址;指令類型決定了指令類型決定了CP

18、UCPU的軟件功能特性的軟件功能特性尋址方式?jīng)Q定了尋址方式?jīng)Q定了CPUCPU硬件功能特性硬件功能特性27常見指令字段分配常見指令字段分配操作碼位段分配操作碼位段分配擴展操作碼擴展操作碼28 二元操作(binary operation)是一種基本操作類型,這樣的指令通常包含三個操作數(shù)地址:兩個源操作數(shù)和一個目的(結(jié)果)操作數(shù)。為了縮短指令長度,可以采用以下方法:只有一個地址指定給存儲器中的操作數(shù),而其余地址都指定給寄存器,可以在指令格式中明確地指定其寄存器號。把一個、兩個或三個操作數(shù)的地址在指令格式中變成隱含的地址。隱含的地址可以指定給專用寄存器,而這些寄存器的名字隱含在指令格式的操作碼中。機器

19、指令結(jié)構(gòu)機器指令結(jié)構(gòu):M-M、M-R、R-R機器指令結(jié)構(gòu)機器指令結(jié)構(gòu):零地址零地址、單、單地址、地址、雙雙地址地址29操作數(shù)實際存放位置:尋址方式:1在指令碼中指定操作數(shù):立即數(shù)尋址立即數(shù)尋址2在寄存器中指定操作數(shù):寄存器(直接)尋址寄存器(直接)尋址3在存儲器中指定操作數(shù):存儲器直接尋址、存儲器間接尋址存儲器直接尋址、存儲器間接尋址4在匯編程序中指定操作數(shù): 相對尋址相對尋址5操作數(shù)在I/O接口中: 存儲器尋址(存儲器映像編址)或端口尋址(獨立編址)存儲器尋址(存儲器映像編址)或端口尋址(獨立編址)A BD B控控制制器器運運 算算 器器寄寄 存存 器器C PU存存 儲儲 器器00000HF

20、FFFFHI/O 接接 口口0000HFFFFHI/O 外外 設(shè)設(shè)C B3031 指令的地址字段給出寄存器號(名)寄存器號(名) ,而被指定的寄存器的內(nèi)容就是操作數(shù)。 32指令的地址字段直接給定一個立即數(shù)作為存儲單元的地址。寄存器直接尋址33(1) 寄存器間接尋址方式(2) 存儲器間接尋址方式(3) 位移量尋址方式(4) 變址尋址方式(5) 比例尺尋址方式用于加強編寫與位置無關(guān)的匯編語言程序用于加強編寫與位置無關(guān)的匯編語言程序34 將存儲器地址指定在寄存器中,即讓寄存器內(nèi)容指向一個可訪問到操作數(shù)的存儲器單元。34/8635 多級多級間接尋址;間接尋址; 通常用于訪問存儲器中通常用于訪問存儲器中

21、的的“跳轉(zhuǎn)表跳轉(zhuǎn)表”:跳轉(zhuǎn)表首址:跳轉(zhuǎn)表首址指定在指定在寄存器寄存器中,該表中的中,該表中的每個表項指向一個可訪問到每個表項指向一個可訪問到操作數(shù)的存儲器單元。操作數(shù)的存儲器單元。跳轉(zhuǎn)表跳轉(zhuǎn)表36 通常用于數(shù)組、矩陣類向量數(shù)據(jù)的存取:寄存器寄存器值指定數(shù)組首址,立即數(shù)指定組內(nèi)偏移;37 通常用于數(shù)組、矩陣類通常用于數(shù)組、矩陣類向量數(shù)據(jù)的存取:向量數(shù)據(jù)的存?。杭拇嫫骷拇嫫鱎sRs(基址寄存器)(基址寄存器)值指定值指定數(shù)組首址,數(shù)組首址,寄存器寄存器RxRx(變變址寄存器址寄存器)指定組內(nèi)偏移指定組內(nèi)偏移;38用字節(jié)表示的操作數(shù)的長度位移量尋址位移量尋址+變址尋址變址尋址+自增自增/自減尋址自減

22、尋址39 主要用在主要用在轉(zhuǎn)移和跳轉(zhuǎn)轉(zhuǎn)移和跳轉(zhuǎn)指令,指定匯編語言程指令,指定匯編語言程序碼的內(nèi)部位置作為序碼的內(nèi)部位置作為目的地址偏移量目的地址偏移量操作數(shù)。操作數(shù)。指令:JUMP abe 操作: PC abe = (PC)updated +immSign_ext當(dāng)前指令取出當(dāng)前指令取出后的后的PCPC值值出現(xiàn)在指令中出現(xiàn)在指令中40ALU的實現(xiàn):的實現(xiàn):(1)由基本門電路實由基本門電路實現(xiàn)現(xiàn)全加器全加器;(2)由由n位位全加器全加器構(gòu)成構(gòu)成n位加法器;位加法器;(3)以加法器為核心,以加法器為核心,通過通過擴展輸入選擴展輸入選擇邏輯擇邏輯實現(xiàn)其它實現(xiàn)其它基本算術(shù)和邏輯基本算術(shù)和邏輯運算;運算

23、;41算術(shù)邏輯算術(shù)邏輯運算功能運算功能移位移位運運算功能算功能42IRIDREGALUMEM開始開始退出退出IRIDALUMEMREG微操作通道開始開始退出退出單通數(shù)據(jù)通道RISC:Load/Store結(jié)構(gòu)結(jié)構(gòu)CISC:尋址方式復(fù)雜:尋址方式復(fù)雜434445時序控制部件:脈沖源+分頻邏輯;用以產(chǎn)生各種系統(tǒng)所需的、滿足時序要求的控制信號。 指令周期 讀取并執(zhí)行一條指令所需的時間工作周期 指令周期中的不同工作階段時鐘周期 系統(tǒng)中最小的基本時間分段CPUCPU中的多級時序中的多級時序 46一個指令周期中的多個工作周期一個指令周期中的多個工作周期 指令周期狀態(tài)圖指令周期狀態(tài)圖 取指令取指令指令地指令地

24、址計算址計算指令操指令操作譯碼作譯碼取操取操作數(shù)作數(shù)數(shù)據(jù)數(shù)據(jù)操作操作操作數(shù)地操作數(shù)地址計算址計算存操存操作數(shù)作數(shù)操作數(shù)地操作數(shù)地址計算址計算cpucpu訪問存訪問存儲器或儲器或I/OI/OCpuCpu內(nèi)內(nèi)部操作部操作多個操多個操作數(shù)作數(shù)多個多個結(jié)果結(jié)果字符串或向量字符串或向量指令完成取下一條指令指令完成取下一條指令47現(xiàn)代控制器設(shè)計趨勢現(xiàn)代控制器設(shè)計趨勢: 采用非集中控制模式采用非集中控制模式,I/O和和M擁有各自的控制器,擁有各自的控制器,從而變?yōu)樽灾鞯墓δ懿考?。從而變?yōu)樽灾鞯墓δ懿考?I/O和和M采用異步控制。采用異步控制。 按照微控制命令的形成方按照微控制命令的形成方式,控制器可分為式

25、,控制器可分為隨機隨機邏輯邏輯和和微程序微程序兩種基本類型兩種基本類型。 控制器控制器根據(jù)指令根據(jù)指令譯碼結(jié)果和當(dāng)前狀態(tài)譯碼結(jié)果和當(dāng)前狀態(tài)決定在什么時間、決定在什么時間、根據(jù)什么條件、發(fā)出什么命令、做什么操作根據(jù)什么條件、發(fā)出什么命令、做什么操作:生成時序控制信號生成時序控制信號生成指令執(zhí)行所需的控制信號生成指令執(zhí)行所需的控制信號響應(yīng)各響應(yīng)各種種中斷或異常事件請求中斷或異常事件請求48隨機邏輯隨機邏輯(硬連邏輯硬連邏輯)體系結(jié)構(gòu)用體系結(jié)構(gòu)用布爾邏輯函布爾邏輯函數(shù)數(shù)來表示來表示控制單元控制單元的輸入和輸出之間的關(guān)系。的輸入和輸出之間的關(guān)系。時序部件時序部件指令預(yù)處理指令預(yù)處理49優(yōu)點: 可通過簡

26、化指令減少所使用的門電路總數(shù)從而減少制造費用。缺點:指令集結(jié)構(gòu)與硬件邏輯方程之間存在著密切聯(lián)系,設(shè)計過程復(fù)雜。重用性差,設(shè)計成果很少能再利用到以后的新CPU設(shè)計中。適用于較簡單的指令集結(jié)構(gòu)。50最小化邏輯門數(shù)目優(yōu)化硬件邏輯、盡可能地少用觸發(fā)器優(yōu)化硬件時序邏輯門級數(shù)最小化;建立并行通路以滿足時序約束(增加邏輯)簡化指令集邏輯簡單、寄存器數(shù)量少RISC這是最重要的目的這是最重要的目的51指令集結(jié)構(gòu)驅(qū)動硬件的邏輯方程指令集結(jié)構(gòu)驅(qū)動硬件的邏輯方程 定義所需的指令集結(jié)構(gòu);定義所需的指令集結(jié)構(gòu); 根據(jù)指令集決定硬件邏輯及狀態(tài)機;根據(jù)指令集決定硬件邏輯及狀態(tài)機;硬件邏輯方程反饋到指令集結(jié)構(gòu)硬件邏輯方程反饋到

27、指令集結(jié)構(gòu) 對指令集結(jié)構(gòu)做必要的修改和優(yōu)化;對指令集結(jié)構(gòu)做必要的修改和優(yōu)化; 最大限度地減少邏輯復(fù)雜度;最大限度地減少邏輯復(fù)雜度;52 程序計數(shù)器的值經(jīng)MUX送到存儲器; 存儲器送回的指令寫入指令寄存器; 程序計數(shù)器加1后回寫;53 寄存器堆中的某個地址寄存器通過MUX尋址存儲器,獲得ALU的一個操作數(shù)操作數(shù); 另一個操作數(shù)操作數(shù)來自于寄存器堆中的數(shù)據(jù)寄存器; ALU的結(jié)果結(jié)果值被回寫入寄存器堆。54 考慮如何讓邏輯門可以快速而方便地實現(xiàn) 指令譯碼。 在隨機邏輯CPU的指令集中,可以使用以下4種類型的指令:1分支指令(branch instruction) 2存儲器引用指令(memory re

28、ference instruction)3ALU指令(ALU instruction)4設(shè)置指令(SET instruction) 一般的設(shè)計方法是將指令內(nèi)部的結(jié)構(gòu)劃分成多個指令字段(field)。同時還要求這些指令字段在各指令中所放的位置盡可能一樣。這樣,在CPU中可以減少指令譯碼所需的邏輯門數(shù)量。55如果限制在機器內(nèi)部只用一個累加器,則指令集就會被限如果限制在機器內(nèi)部只用一個累加器,則指令集就會被限制在如下范圍內(nèi)制在如下范圍內(nèi): 使用單目操作數(shù)的指令,可以將累加器作為一個源操作數(shù),同時可作為一個目的操作數(shù)。 使用雙目操作數(shù)的指令,可以將累加器作為一個源操作數(shù),以存儲器作為另一個源操作數(shù),累

29、加器同時也可作為目的操作數(shù)。如果只用一個索引寄存器,則尋址模式將局限于以下兩種如果只用一個索引寄存器,則尋址模式將局限于以下兩種方式方式: 當(dāng)進行直接存儲器尋址時,存儲器地址由指令中的部分字段提供。 當(dāng)進行位移量尋址時,目標(biāo)地址一部分來自指令的存儲器地址,與指數(shù)寄存器相加之后,形成目標(biāo)操作數(shù)的地址。56在微碼結(jié)構(gòu)中,控制單元的輸入和輸出之間的關(guān)系被視為一個存儲系統(tǒng)。時序部件時序部件指令預(yù)處理指令預(yù)處理 工作原理工作原理 微程序控制微程序控制( (存儲控制存儲控制) ) 組成組成微碼控制器微碼控制器+ +微代碼微代碼57優(yōu)點:優(yōu)點:可以通過減少取指令次數(shù)的方法來降低存儲器總訪問時間從而提高系統(tǒng)性

30、能;簡化硬件設(shè)計,可使其成品機器幾乎沒有設(shè)計上的錯誤;建立或改動微代碼比建立或改動電路省時、不易出錯,因此更易于創(chuàng)建新的CPU版本;缺點:缺點: 同樣功能微代碼比硬連邏輯實現(xiàn)的開銷大;58硬件設(shè)計開銷硬件設(shè)計開銷隨機邏輯CPU的硬件和指令集必須同步進行設(shè)計和優(yōu)化,因此比較復(fù)雜。微碼CPU的指令集設(shè)計并不直接影響現(xiàn)有硬件,修改指令集并不需要重新設(shè)計新的硬件。性能性能如果采用相同指令集,則隨機邏輯CPU操作會更快。如果執(zhí)行相同的計算任務(wù),微碼CPU能夠通過使用更少(但更復(fù)雜)的指令達到更高性能。當(dāng)系統(tǒng)整體性能受限于存儲器的速度時,微碼CPU對性能提高的優(yōu)勢更為明顯。59建立建立硬件體系結(jié)構(gòu)硬件體系

31、結(jié)構(gòu), 保證其具備執(zhí)保證其具備執(zhí)行必要行必要基本功能基本功能步驟的功能。步驟的功能。將指令分割成許多微步驟,轉(zhuǎn)寫成將指令分割成許多微步驟,轉(zhuǎn)寫成微程序微程序并寫入并寫入控制存儲器控制存儲器。微指令微指令Micro-instruction:控制存儲器中的一個存儲單元(字)表示控制存儲器中的一個存儲單元(字)表示了某一條指令的某一操作步驟的控制信號,以及下一步驟的有關(guān)信息,稱了某一條指令的某一操作步驟的控制信號,以及下一步驟的有關(guān)信息,稱該字為微指令該字為微指令微程序微程序Micro-program(固件(固件fireware,全部微指令的集合),全部微指令的集合)指令指令instruction微

32、碼控制器微碼控制器Microcode controller(定序器(定序器sequencer)60控制邏輯對IR中的指令譯碼,確定對應(yīng)微碼程序地址并寫入PC;PC向微碼ROM提供 地址,返回的微碼寫入IR;IR譯碼后產(chǎn)生相應(yīng)的控制信號;PC地址加1后獲取下一條微指令地址,直到完成整個微碼程序61 數(shù)據(jù)通路一般應(yīng)有如下三個基本的時鐘周期:從存儲器讀數(shù)據(jù)后:從存儲器讀數(shù)據(jù)后:寫入寄存器堆(Register File);寫入指令寄存器(IR);寫入臨時寄存器(TempIn);作為ALU的一個輸入;從從寄存器讀數(shù)據(jù)后:寄存器讀數(shù)據(jù)后:寫入存儲器地址寄存器MAR;寫入臨時寄存器作為ALU的 一個輸入;存

33、入存儲器;1.將將Result寄存器內(nèi)容寫入寄存器組,或存入存儲器;寄存器內(nèi)容寫入寄存器組,或存入存儲器;62延遲延遲320ps吞吐量吞吐量3.12GIPS延遲延遲?ps吞吐量吞吐量?GIPS延遲延遲360ps吞吐量吞吐量8.33GIPS單個操作延遲增加;單個操作延遲增加;整體吞吐量增加;整體吞吐量增加;6364 各階段性能差異會各階段性能差異會導(dǎo)致流水線性能下降導(dǎo)致流水線性能下降 寄存器延遲寄存器延遲開銷開銷導(dǎo)導(dǎo)致流水線性能下降致流水線性能下降硬件空閑硬件空閑延遲延遲?ps吞吐量吞吐量?GIPS延遲延遲360ps吞吐量吞吐量8.33GIPS65深度深度(depth)或并行度或并行度(degr

34、ee of parallelism)即流水級數(shù)即流水級數(shù)m等待時間等待時間(latency) 每一作業(yè)從開始到結(jié)束所需時鐘周期數(shù),每一作業(yè)從開始到結(jié)束所需時鐘周期數(shù),m理想流水線:理想流水線: 各級延時時間相等;各級延時時間相等; 無等待時間;無等待時間; 大量代碼不斷流;大量代碼不斷流;66吞吐率Tp:指單位時間內(nèi)能完成的作業(yè)量。最大吞吐率Tpmax:流水線達到穩(wěn)定狀態(tài)后的吞吐率。用于描述流水線執(zhí)行各種運算的速率,通常表示為每秒執(zhí)行的運算數(shù)或每周期執(zhí)行的運算數(shù)。1(1)1(1)/ pnnTTm tntmnt 流水若一個m級線性流水線各級時長(即拍長)均為t,則連續(xù)處理n條指令時的實際吞吐率T

35、p為:可以看出,當(dāng)n時,最大吞吐率Tpmax1/ t67CPU回寫執(zhí)行取指回寫執(zhí)行取指回寫執(zhí)行取指1取指1執(zhí)行1回寫2取指2執(zhí)行2回寫3取指3執(zhí)行3回寫4取指4執(zhí)行4回寫5取指5執(zhí)行5回寫M=3級流水線(深度3級) n5條指令的執(zhí)行情況T流水m+(n1)t t 為拍長ttt68CPU回寫執(zhí)行取指回寫執(zhí)行取指回寫執(zhí)行取指1取指1執(zhí)行1回寫2取指2執(zhí)行2回寫3取指3執(zhí)行3回寫4取指4執(zhí)行4回寫5取指5執(zhí)行5回寫M=3級流水線(深度3級) n5條指令的執(zhí)行情況T流水m+(n1)t t 為拍長69非流水線執(zhí)行時間相對流水線執(zhí)行時間之比。 若一個m級線性流水線各級時長(即拍長)均為t,則連續(xù)處理n條指令

36、時的加速比Sp為:(1)11(1)/pTn m tnmmSTm tntmnmn 串行流水可以看出,當(dāng) n時,Spm,即最大加速比等于流水線的段數(shù)m。70一定時段內(nèi),流水線所有段處于工作狀態(tài)的比率一定時段內(nèi),流水線所有段處于工作狀態(tài)的比率。t1(1)1(1)/n m tm m tntmn 若一個m級線性流水線各級時長(即拍長)均為t,則連續(xù)處理n條指令時的效率E為:E =指令完成時間內(nèi)占用的時空區(qū) /指令總時空區(qū)可以看出,當(dāng) n時,E1,即流過流水線的指令越多,流水線效率越高。 7111111I FI DO FEXW B2222233333.nnnnnI 1I 3I n拍(時間)拍(時間)段(空間)段(空間)兩個同高不同寬的矩形,面積定義:時空區(qū)的面積兩個同高不同寬的矩形,

溫馨提示

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

評論

0/150

提交評論