微處理器第三章結(jié)構(gòu)組成_第1頁
微處理器第三章結(jié)構(gòu)組成_第2頁
微處理器第三章結(jié)構(gòu)組成_第3頁
微處理器第三章結(jié)構(gòu)組成_第4頁
微處理器第三章結(jié)構(gòu)組成_第5頁
已閱讀5頁,還剩66頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、自動化工程學(xué)院自動化工程學(xué)院測試技術(shù)及儀器研究所測試技術(shù)及儀器研究所肖肖 寅寅 東東E-mail: TELE:信與信息工程學(xué)院通信與信息工程學(xué)院無線通信與嵌入式系統(tǒng)實驗室無線通信與嵌入式系統(tǒng)實驗室閻閻 波波E-mail: TELE:動化自動化微處理器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)設(shè)計3/17/2022第三章第三章 微處理器體系結(jié)構(gòu)及關(guān)鍵技術(shù)微處理器體系結(jié)構(gòu)及關(guān)鍵技術(shù)3.1 微處理器體系結(jié)構(gòu)及功能模塊簡介微處理器體系結(jié)構(gòu)及功能模塊簡介1.處理器的主要功能處理器的主要功能2.處理器的基本結(jié)構(gòu)處理器的基本結(jié)構(gòu)3.一個簡化的處理器模型結(jié)構(gòu)示例一個簡化的處理

2、器模型結(jié)構(gòu)示例3.2 處理器設(shè)計處理器設(shè)計1.指令系統(tǒng)指令系統(tǒng)2.數(shù)據(jù)通路數(shù)據(jù)通路控制流程控制流程時序部件時序部件控制邏輯控制邏輯3.3 指令流水線技術(shù)指令流水線技術(shù)3.4 典型微處理體系結(jié)構(gòu)簡介典型微處理體系結(jié)構(gòu)簡介3.5 先進的微處理器技術(shù)先進的微處理器技術(shù)ARM、x86隨機邏輯、微程序隨機邏輯、微程序(微碼微碼)數(shù)據(jù)類型、指令功能、指令格式、尋址方式數(shù)據(jù)類型、指令功能、指令格式、尋址方式ALU、Reg、總線、總線程序、指令、微操作程序、指令、微操作時鐘周期、工作周期、指令周期時鐘周期、工作周期、指令周期特點特點、操作操作、局限局限、設(shè)計設(shè)計寬度、周期寬度、周期3第三章第三章 習(xí)題習(xí)題作業(yè)

3、:作業(yè):1313、5 5、9 9、1010、1111、13151315思考:思考:1.61.6、4 4、6868 、1212、1616補充題補充題(選作)選作)2 2、某計算機指令系統(tǒng)中,指令字長為、某計算機指令系統(tǒng)中,指令字長為1212位,每個地址碼長位,每個地址碼長3 3位位,有三地址指令,有三地址指令4 4條,單地址指令條,單地址指令255255條,零地址指令條,零地址指令1616條。條。(1 1)能否以擴展操作碼為其編碼?說明其理由。)能否以擴展操作碼為其編碼?說明其理由。(2 2)如果其中單地址指令為)如果其中單地址指令為254254條呢?說明其理由。條呢?說明其理由。 1 1、有一

4、條、有一條4 4個段的線性流水線,各段的執(zhí)行時間分別為個段的線性流水線,各段的執(zhí)行時間分別為50ns50ns、50ns50ns、100ns100ns、200ns200ns。 (1 1)連續(xù)向流水線輸入)連續(xù)向流水線輸入6 6條指令,畫出指令執(zhí)行的時條指令,畫出指令執(zhí)行的時- -空圖空圖,求該流水線的實際吞吐率和效率。注意計算時需寫出步驟。,求該流水線的實際吞吐率和效率。注意計算時需寫出步驟。 (2 2)該流水線的瓶頸在哪一個段?請采用兩種不同的措施)該流水線的瓶頸在哪一個段?請采用兩種不同的措施消除此瓶頸,畫出兩種改進方法后執(zhí)行消除此瓶頸,畫出兩種改進方法后執(zhí)行6 6條指令的時條指令的時- -

5、空圖。空圖。 自動化工程學(xué)院自動化工程學(xué)院測試技術(shù)及儀器研究所測試技術(shù)及儀器研究所肖肖 寅寅 東東E-mail: TELE:信與信息工程學(xué)院通信與信息工程學(xué)院無線通信與嵌入式系統(tǒng)實驗室無線通信與嵌入式系統(tǒng)實驗室閻閻 波波E-mail: TELE:動化工程學(xué)院自動化工程學(xué)院測試技術(shù)及儀器研究所測試技術(shù)及儀器研究所第 三 章 結(jié) 束幾個概念幾個概念1. 中央處理單元中央處理單元 Central Processing Unit, CPU2. 微處理器微處理器 Micro Processing Unit, MPU3. 微控制單元微控制單元 Mic

6、ro Control Unit, MCU4. 單片機單片機5. 計算機計算機單單片片芯芯片片控制器、運算器、寄存器控制器、運算器、寄存器CPU、少量存儲器及、少量存儲器及I/O接口接口CPU+存儲器存儲器+總線總線/接口接口+外設(shè)外設(shè)*6/867微處理器的主要功能微處理器的主要功能計算機系統(tǒng)設(shè)計師認為:處理器是指一種能夠經(jīng)計算機系統(tǒng)設(shè)計師認為:處理器是指一種能夠經(jīng)過多個步驟執(zhí)行過多個步驟執(zhí)行計算計算任務(wù)的任務(wù)的數(shù)字數(shù)字設(shè)備。設(shè)備。從本質(zhì)上講,處理器的作用是協(xié)調(diào)和控制計算機從本質(zhì)上講,處理器的作用是協(xié)調(diào)和控制計算機的各個部件,并的各個部件,并執(zhí)行程序執(zhí)行程序的指令序列。的指令序列。處理器的處理器

7、的5個主要功能:個主要功能: 指令控制指令控制:控制指令按程序邏輯順序執(zhí)行。:控制指令按程序邏輯順序執(zhí)行。 操作控制操作控制:按照指令執(zhí)行過程及指令約定功能的需求:按照指令執(zhí)行過程及指令約定功能的需求產(chǎn)生各種操作控制信號。產(chǎn)生各種操作控制信號。 時序控制時序控制:能夠在適當(dāng)?shù)臅r間:能夠在適當(dāng)?shù)臅r間(時刻時刻)使相應(yīng)操作控制信使相應(yīng)操作控制信號有效,并保持所需的時長。號有效,并保持所需的時長。 數(shù)據(jù)加工數(shù)據(jù)加工:對數(shù)據(jù)進行算術(shù)和邏輯運算處理。:對數(shù)據(jù)進行算術(shù)和邏輯運算處理。 中斷處理中斷處理:程序執(zhí)行過程中應(yīng)能夠及時處理出現(xiàn)的:程序執(zhí)行過程中應(yīng)能夠及時處理出現(xiàn)的I/O操作請求及異常情況。操作請求

8、及異常情況。8CPU最基本的功能最基本的功能CPU的作用是協(xié)調(diào)和的作用是協(xié)調(diào)和控制計算機的各個部件控制計算機的各個部件并執(zhí)行程序中的指令序并執(zhí)行程序中的指令序列,因此應(yīng)具有以下基列,因此應(yīng)具有以下基本功能:本功能:取指令,P C值加1停機?譯碼并執(zhí)行結(jié)束YN 取指令:取指令:當(dāng)程序已在存儲器中時,首先根據(jù)程序入口地當(dāng)程序已在存儲器中時,首先根據(jù)程序入口地址取出一條程序,為此要發(fā)出指令地址及控制信號。址取出一條程序,為此要發(fā)出指令地址及控制信號。 分析指令:分析指令:即指令譯碼,是指對當(dāng)前取得的指令進行分即指令譯碼,是指對當(dāng)前取得的指令進行分析,指出它要求什么操作,并產(chǎn)生相應(yīng)的操作控制命令。析,

9、指出它要求什么操作,并產(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)每條指令的功能,其中包括對運算結(jié)果的處理以及下條指令地址的形成。處理以及下條指令地址的形成。*8/869微處理器的基本結(jié)構(gòu)微處理器的基本結(jié)構(gòu)馮馮諾依曼機諾依曼機:5大部件大部件存儲程序存儲程序串行單順序串行單順序數(shù)據(jù)通路數(shù)據(jù)通路CPU的的RTL描述描述:數(shù)據(jù)通路數(shù)據(jù)通路控制器控制器10數(shù)據(jù)

10、通路數(shù)據(jù)通路:ALUReg+內(nèi)部總線內(nèi)部總線ALU:運算:運算Reg組:暫存組:暫存內(nèi)總線:傳輸內(nèi)總線:傳輸p 簡單的單總線簡單的單總線 (ALU總線總線)p 復(fù)雜的多級總復(fù)雜的多級總線線(片上總線片上總線)11控制器控制器輸入輸入輸出輸出12簡化的處理器模型簡化的處理器模型哈佛結(jié)構(gòu)哈佛結(jié)構(gòu)13CPU與內(nèi)存儲器的接口與內(nèi)存儲器的接口1.對外形成對外形成三總線三總線形式;形式;2.寄存器寄存器MAR和和MBR簡化了簡化了CPU與主存之間的傳送通與主存之間的傳送通路,使其容易控制路,使其容易控制;3.寄存器寄存器MAR和和MBR對用戶對用戶透明透明,即不能編程訪問;即不能編程訪問;14微處理器的微

11、處理器的總體結(jié)構(gòu)總體結(jié)構(gòu)數(shù)據(jù)通道數(shù)據(jù)通道1.組成:組成:ALU+寄存器寄存器+內(nèi)部總線內(nèi)部總線2.功能:功能:基本的二進制算術(shù)、邏輯及移位運算;基本的二進制算術(shù)、邏輯及移位運算; 根據(jù)運算結(jié)果設(shè)置狀態(tài)標(biāo)志(進根據(jù)運算結(jié)果設(shè)置狀態(tài)標(biāo)志(進/借位、溢出等);借位、溢出等); 3.特性:特性: 數(shù)據(jù)通路寬度數(shù)據(jù)通路寬度:即字長,即字長,CPU單次傳送和處理數(shù)據(jù)的能力。單次傳送和處理數(shù)據(jù)的能力。 數(shù)據(jù)通路周期數(shù)據(jù)通路周期:ALU運算并將保存結(jié)果的過程。運算并將保存結(jié)果的過程??刂茊卧刂破鳎┛刂茊卧刂破鳎r序控制部件:時序控制部件:指令周期、工作周期、時鐘周期指令周期、工作周期、時鐘周期(工作脈

12、沖工作脈沖)指令譯碼邏輯:指令譯碼邏輯:微程序(微程序(CISC )、硬連邏輯()、硬連邏輯(RISC ) 、指令系統(tǒng)設(shè)計指令系統(tǒng)設(shè)計指令集結(jié)構(gòu)指令集結(jié)構(gòu)(ISA)是體系是體系結(jié)構(gòu)的主要內(nèi)容之一,其功結(jié)構(gòu)的主要內(nèi)容之一,其功能設(shè)計實際就是確定軟硬件能設(shè)計實際就是確定軟硬件的功能分配。的功能分配。考慮因素考慮因素 速度、成本和靈活性速度、成本和靈活性實現(xiàn)方式實現(xiàn)方式 硬件、軟件硬件、軟件 優(yōu)化策略優(yōu)化策略 RISC、CISC;流水線;多核;流水線;多核;實現(xiàn)內(nèi)容實現(xiàn)內(nèi)容 數(shù)據(jù)類型數(shù)據(jù)類型、指令功能指令功能、指令格式指令格式、尋址方式尋址方式實現(xiàn)步驟實現(xiàn)步驟 根據(jù)應(yīng)用初擬出指令的分類和具體的指令;

13、根據(jù)應(yīng)用初擬出指令的分類和具體的指令; 編寫出針對該指令系統(tǒng)的各種高級語言編譯程序;編寫出針對該指令系統(tǒng)的各種高級語言編譯程序; 對多種算法程序進行模擬測試,確認指令系統(tǒng)的操作對多種算法程序進行模擬測試,確認指令系統(tǒng)的操作碼和尋址方式的效能是否都比較高;碼和尋址方式的效能是否都比較高; 用硬件實現(xiàn)高頻使用的指令,軟件實現(xiàn)低頻使用指令。用硬件實現(xiàn)高頻使用的指令,軟件實現(xiàn)低頻使用指令。指令集設(shè)計示例指令集設(shè)計示例假設(shè)某機器的字長是假設(shè)某機器的字長是8位位,支持常見的簡單指令:,支持常見的簡單指令:指令是指令是雙地址指令雙地址指令,源操作數(shù)采用,源操作數(shù)采用2種尋址方式種尋址方式寄寄存器尋址存器尋址

14、(R0R3)和立即數(shù)尋址和立即數(shù)尋址;目標(biāo)操作數(shù)可采用;目標(biāo)操作數(shù)可采用2種尋址方式種尋址方式寄存器尋址和存儲器直接寄存器尋址和存儲器直接。請為下述九。請為下述九條機器指令設(shè)計可行的代碼方案。條機器指令設(shè)計可行的代碼方案。若采用定長編碼(若采用定長編碼(8bit)方案,可定義指令格式如下:)方案,可定義指令格式如下:76543210=0000=0000表示表示ADDADD=0001=0001表示表示SUBSUB=0010=0010表示表示MOVMOV=0011=0011表示表示ININ=0100=0100表示表示OUTOUT=0101=0101表示表示RRRR目的操作數(shù)尋址方式:目的操作數(shù)尋址

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

16、除除LOAD 由存儲器裝入由存儲器裝入STOR 存入存儲器存入存儲器*18/86匯編語言匯編語言數(shù)據(jù)類型數(shù)據(jù)類型確認某種特殊類型的數(shù)據(jù)是否應(yīng)該得到硬件支持確認某種特殊類型的數(shù)據(jù)是否應(yīng)該得到硬件支持 數(shù)值型數(shù)據(jù):無符號整數(shù)、帶符號整數(shù)、浮點數(shù)數(shù)值型數(shù)據(jù):無符號整數(shù)、帶符號整數(shù)、浮點數(shù) 非數(shù)值數(shù)據(jù):字符串非數(shù)值數(shù)據(jù):字符串確認字長(對數(shù)據(jù)長度的限制)確認字長(對數(shù)據(jù)長度的限制) 截斷(截斷(truncation)或溢出()或溢出(overflow)在選擇數(shù)據(jù)格式和長度時需要平衡數(shù)值范圍、程序執(zhí)行在選擇數(shù)據(jù)格式和長度時需要平衡數(shù)值范圍、程序執(zhí)行期間發(fā)生溢出的可能性、處理設(shè)備和存儲設(shè)備的復(fù)期間發(fā)生溢出

17、的可能性、處理設(shè)備和存儲設(shè)備的復(fù)雜性、以及價格和速度等因素。雜性、以及價格和速度等因素。指令類型指令類型指令按功能可分成以下三種基本類型:指令按功能可分成以下三種基本類型:1. 數(shù)據(jù)傳輸:數(shù)據(jù)傳輸:將數(shù)據(jù)從一個地方(源地址)復(fù)制到另一個將數(shù)據(jù)從一個地方(源地址)復(fù)制到另一個 地方(目的地址),傳輸結(jié)束后源地址中的內(nèi)容不變。地方(目的地址),傳輸結(jié)束后源地址中的內(nèi)容不變。u 數(shù)據(jù)傳送范圍:數(shù)據(jù)傳送范圍: R-R、R-M、M-R或或M-Mu 數(shù)據(jù)傳送寬度:一般為固定值(如數(shù)據(jù)傳送寬度:一般為固定值(如8、16或或32bit),其),其它它寬度的數(shù)據(jù)傳送一般可通過軟件移位和合寬度的數(shù)據(jù)傳送一般可通過

18、軟件移位和合并操作來實現(xiàn)。并操作來實現(xiàn)。 數(shù)據(jù)運算:數(shù)據(jù)運算:包括算術(shù)運算(加、減、乘、除等)和邏輯包括算術(shù)運算(加、減、乘、除等)和邏輯 運算(與、或、非、異或等)。運算(與、或、非、異或等)。 該類指令需要明確操作數(shù)的類型和長度。該類指令需要明確操作數(shù)的類型和長度。 控制類:控制類:用于改變正常的程序執(zhí)行流程,完成程序的跳轉(zhuǎn)用于改變正常的程序執(zhí)行流程,完成程序的跳轉(zhuǎn),主要包括轉(zhuǎn)移指令和過程指令。主要包括轉(zhuǎn)移指令和過程指令。I/O?機器指令要素機器指令要素操作碼操作碼(operation code,opcode):需要完成的操作;:需要完成的操作;源操作數(shù)源操作數(shù) (source opera

19、nd reference):操作所需的輸入;:操作所需的輸入;結(jié)果操作數(shù)結(jié)果操作數(shù) (result operand reference):操作產(chǎn)生的結(jié)果;:操作產(chǎn)生的結(jié)果;下一條指令下一條指令 (next instruction reference):告訴:告訴CPU到哪里到哪里取取下一條指令。下一條指令。 *取 指譯碼執(zhí)行回寫22指令格式指令格式 在計算機內(nèi)部,指令由一個位串來表示。相應(yīng)于指令在計算機內(nèi)部,指令由一個位串來表示。相應(yīng)于指令的各要素,這些位串劃分成幾個的各要素,這些位串劃分成幾個字段字段: 操作碼字段操作碼字段: 說明說明CPU應(yīng)進行的操作應(yīng)進行的操作 按操作類型分組:同類操作

20、要求同樣或類似的控制信號,按操作類型分組:同類操作要求同樣或類似的控制信號,因此編碼也類似(有盡可能多的公共位)因此編碼也類似(有盡可能多的公共位) 操作數(shù)字段操作數(shù)字段/地址字段地址字段: 說明源操作數(shù)和目的操作數(shù)存放的位置信息說明源操作數(shù)和目的操作數(shù)存放的位置信息(R、M或或I/O); 說明源操作數(shù)和目的操作數(shù)的數(shù)據(jù)類型說明源操作數(shù)和目的操作數(shù)的數(shù)據(jù)類型; 下一條指令地址字段下一條指令地址字段: 如緊跟當(dāng)前指令,在主存或虛存中,則不需顯示引用;如緊跟當(dāng)前指令,在主存或虛存中,則不需顯示引用; 如可能產(chǎn)生跳轉(zhuǎn),則需要顯示給出存儲地址;如可能產(chǎn)生跳轉(zhuǎn),則需要顯示給出存儲地址;指令類型決定了指令

21、類型決定了CPUCPU的軟件功能特性的軟件功能特性尋址方式?jīng)Q定了尋址方式?jīng)Q定了CPUCPU硬件功能特性硬件功能特性22/8623操作碼字段操作碼字段常見指令字段分配常見指令字段分配操作碼位段分配操作碼位段分配擴展操作碼擴展操作碼操作數(shù)字段操作數(shù)字段 二元操作二元操作(binary operation)是一種基本操作是一種基本操作類型,這樣的指令通常包含類型,這樣的指令通常包含三個操作數(shù)地址三個操作數(shù)地址:兩個:兩個源操作數(shù)和一個目的源操作數(shù)和一個目的(結(jié)果結(jié)果)操作數(shù)。為了縮短指令操作數(shù)。為了縮短指令長度,可以采用以下方法:長度,可以采用以下方法:一、只有一個地址指定給存儲器中的操作數(shù),一、只

22、有一個地址指定給存儲器中的操作數(shù),而其余地址都指定給而其余地址都指定給寄存器寄存器,可以在指令格式中明,可以在指令格式中明確地指定其寄存器號。確地指定其寄存器號。二、把一個、兩個或三個操作數(shù)的地址在指令二、把一個、兩個或三個操作數(shù)的地址在指令格式中變成格式中變成隱含隱含的地址。隱含的地址可以指定給專的地址。隱含的地址可以指定給專用寄存器,而這些寄存器的名字隱含在指令格式的用寄存器,而這些寄存器的名字隱含在指令格式的操作碼中操作碼中。*24/86機器指令結(jié)構(gòu):機器指令結(jié)構(gòu):M-M、M-R、R-R機器指令結(jié)構(gòu):零地址、單地址、雙地址機器指令結(jié)構(gòu):零地址、單地址、雙地址25尋址方式尋址方式操作數(shù)實際

23、存放位置:操作數(shù)實際存放位置:尋址方式:尋址方式:1在指令碼中指定操作數(shù):在指令碼中指定操作數(shù):立即數(shù)尋址立即數(shù)尋址2在寄存器中指定操作數(shù):在寄存器中指定操作數(shù):寄存器(直接)尋址寄存器(直接)尋址3在存儲器中指定操作數(shù):在存儲器中指定操作數(shù):存儲器直接尋址存儲器直接尋址、存儲器間接存儲器間接尋址尋址4在匯編程序中指定操作數(shù):在匯編程序中指定操作數(shù): 相對尋址相對尋址5操作數(shù)在操作數(shù)在I/O接口中:接口中: 存儲器尋址(存儲器映像編址)或端口尋址(獨立編址)存儲器尋址(存儲器映像編址)或端口尋址(獨立編址)ABDB控控制制器器運運算算器器寄寄存存器器CPU存存儲儲器器00000HFFFFFHI

24、/O接接口口0000HFFFFHI/O外外設(shè)設(shè)CB26立即數(shù)尋址立即數(shù)尋址immediate addressing mode27寄存器直接尋址方式寄存器直接尋址方式register direct addressing mode 指令的地址字段給指令的地址字段給出出寄存器號(名)寄存器號(名) ,而,而被指定的寄存器的內(nèi)容被指定的寄存器的內(nèi)容就是操作數(shù)。就是操作數(shù)。 28存儲器直接尋址存儲器直接尋址memory direct addressing mode指令的地址字段直接指令的地址字段直接給定一個給定一個立即數(shù)立即數(shù)作為作為存儲單元的存儲單元的地址地址。寄存器直接尋址29存儲器間接尋址存儲器間

25、接尋址memory indirect addressing mode(1) 寄存器間接尋址方式寄存器間接尋址方式(2) 存儲器間接尋址方式存儲器間接尋址方式(3) 位移量尋址方式位移量尋址方式(4) 變址尋址方式變址尋址方式(5) 比例尺尋址方式比例尺尋址方式用于加強編寫與位置無關(guān)的匯編語言程序用于加強編寫與位置無關(guān)的匯編語言程序30寄存器間接尋址方式寄存器間接尋址方式register indirect addressing mode 將存儲器地址指定在將存儲器地址指定在寄存器中,即讓寄存器中,即讓寄存器寄存器內(nèi)容指向內(nèi)容指向一個可訪問到一個可訪問到操作數(shù)的存儲器單元。操作數(shù)的存儲器單元。*3

26、0/8631存儲器間接尋址方式存儲器間接尋址方式 memory indirect addressing mode 多級多級間接尋址;間接尋址; 通常用于訪問存儲器中通常用于訪問存儲器中的的“跳轉(zhuǎn)表跳轉(zhuǎn)表”:跳轉(zhuǎn)表首址:跳轉(zhuǎn)表首址指定在指定在寄存器寄存器中,該表中的中,該表中的每個表項指向一個可訪問到每個表項指向一個可訪問到操作數(shù)的存儲器單元。操作數(shù)的存儲器單元。跳轉(zhuǎn)表跳轉(zhuǎn)表32位移量尋址方式位移量尋址方式displacement addressing mode 通常用于數(shù)組、通常用于數(shù)組、矩陣類向量數(shù)據(jù)的矩陣類向量數(shù)據(jù)的存?。捍嫒。杭拇嫫骷拇嫫髦抵钢抵付〝?shù)組首址,定數(shù)組首址,立即立即數(shù)數(shù)指定組

27、內(nèi)偏移;指定組內(nèi)偏移;33指數(shù)尋址方式指數(shù)尋址方式indexed addressing mode 通常用于數(shù)組、通常用于數(shù)組、矩陣類向量數(shù)據(jù)的矩陣類向量數(shù)據(jù)的存?。捍嫒。杭拇嫫骷拇嫫?值指值指定數(shù)組首址,定數(shù)組首址,寄存寄存器器2指定組內(nèi)偏移;指定組內(nèi)偏移;34比例尺尋址方式比例尺尋址方式scaled addressing mode用字節(jié)表示的操用字節(jié)表示的操作數(shù)的長度作數(shù)的長度位移量尋址位移量尋址+指數(shù)尋址指數(shù)尋址+自增自增/自減尋址自減尋址35PC相對尋址方式相對尋址方式Program Counter-related addressing mode 主要用在主要用在轉(zhuǎn)移和跳轉(zhuǎn)轉(zhuǎn)移和跳轉(zhuǎn)指令

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

29、功能描述示例算術(shù)邏輯算術(shù)邏輯運算功能運算功能移位運移位運算功能算功能數(shù)據(jù)通路的實現(xiàn)數(shù)據(jù)通路的實現(xiàn)程序、指令、微操作程序、指令、微操作40時序控制部件時序控制部件時序控制部件:時序控制部件:脈沖源脈沖源+分頻邏輯分頻邏輯;用以產(chǎn)生各;用以產(chǎn)生各種系統(tǒng)所需的、滿足時序要求的控制信號。種系統(tǒng)所需的、滿足時序要求的控制信號。 指令周期指令周期 讀取并執(zhí)行一條指令所需的時間讀取并執(zhí)行一條指令所需的時間工作周期工作周期 指令周期中的不同工作階段指令周期中的不同工作階段時鐘周期時鐘周期 系統(tǒng)中最小的基本時間分段系統(tǒng)中最小的基本時間分段CPU中的多級時序中的多級時序 一個指令周期中的多個工作周期一個指令周期中

30、的多個工作周期 現(xiàn)代控制器設(shè)計趨勢現(xiàn)代控制器設(shè)計趨勢: 采用非集中控制模式,采用非集中控制模式,I/O和和M擁有各自的控制器,擁有各自的控制器,從而變?yōu)樽灾鞯墓δ懿考亩優(yōu)樽灾鞯墓δ懿考?I/O和和M采用異步控制。采用異步控制??刂破鞯脑O(shè)計控制器的設(shè)計 控制器根據(jù)指令控制器根據(jù)指令譯碼結(jié)果和當(dāng)前狀態(tài)譯碼結(jié)果和當(dāng)前狀態(tài)決定在什么時間決定在什么時間、根據(jù)什么條件、發(fā)出什么命令、做什么操作:、根據(jù)什么條件、發(fā)出什么命令、做什么操作: 生成時序控制信號生成時序控制信號 生成指令執(zhí)行所需的控制信號生成指令執(zhí)行所需的控制信號 響應(yīng)各種中斷或異常事件請求響應(yīng)各種中斷或異常事件請求按照微控制命令的形成方

31、式,控制器可分為按照微控制命令的形成方式,控制器可分為隨機邏輯隨機邏輯和和微程序微程序兩種基本類型。兩種基本類型。隨機邏輯隨機邏輯CPU的結(jié)構(gòu)的結(jié)構(gòu)隨機邏輯隨機邏輯(硬連邏輯硬連邏輯)體系結(jié)構(gòu)用體系結(jié)構(gòu)用布爾邏輯函布爾邏輯函數(shù)數(shù)來表示來表示控制單元控制單元的輸入和輸出之間的關(guān)系。的輸入和輸出之間的關(guān)系。時序部件時序部件指令預(yù)處理指令預(yù)處理隨機邏輯隨機邏輯CPU的特點的特點優(yōu)點:優(yōu)點: 可通過簡化指令可通過簡化指令減少所使用的門電路減少所使用的門電路總數(shù)從而減少制造費用。總數(shù)從而減少制造費用。缺點:缺點: 指令集結(jié)構(gòu)與硬件邏輯方程之間存在指令集結(jié)構(gòu)與硬件邏輯方程之間存在著密切聯(lián)系,設(shè)計過程復(fù)雜。

32、著密切聯(lián)系,設(shè)計過程復(fù)雜。 重用性差重用性差,設(shè)計成果很少能再利用到,設(shè)計成果很少能再利用到以后的新以后的新CPU設(shè)計中。設(shè)計中。 適用于較簡單的指令集結(jié)構(gòu)。適用于較簡單的指令集結(jié)構(gòu)。隨機邏輯隨機邏輯CPU的設(shè)計步驟的設(shè)計步驟 指令集結(jié)構(gòu)驅(qū)動硬件的邏輯方程指令集結(jié)構(gòu)驅(qū)動硬件的邏輯方程 定義所需的指令集結(jié)構(gòu);定義所需的指令集結(jié)構(gòu); 根據(jù)指令集決定硬件邏輯及狀態(tài)機;根據(jù)指令集決定硬件邏輯及狀態(tài)機; 硬件邏輯方程反饋到指令集結(jié)構(gòu)硬件邏輯方程反饋到指令集結(jié)構(gòu) 對指令集結(jié)構(gòu)做必要的修改和優(yōu)化;對指令集結(jié)構(gòu)做必要的修改和優(yōu)化; 最大限度地減少邏輯復(fù)雜度;最大限度地減少邏輯復(fù)雜度;*隨機邏輯隨機邏輯CPU的

33、設(shè)計要點的設(shè)計要點 一、一、最小化邏輯門數(shù)目最小化邏輯門數(shù)目優(yōu)化硬件邏輯、盡可能地少用觸發(fā)器優(yōu)化硬件邏輯、盡可能地少用觸發(fā)器優(yōu)化硬件時序優(yōu)化硬件時序邏輯門邏輯門級數(shù)最小化級數(shù)最小化;建立并行通路以滿足時序約束建立并行通路以滿足時序約束(增加邏輯增加邏輯)簡化指令集簡化指令集邏輯簡單、寄存器數(shù)量少邏輯簡單、寄存器數(shù)量少RISC最重要的目的最重要的目的隨機邏輯隨機邏輯CPU的操作的操作1-取指令取指令 程序計數(shù)器程序計數(shù)器的值經(jīng)的值經(jīng)MUX送到存儲器;送到存儲器; 存儲器送回的指令寫入存儲器送回的指令寫入指令寄存器指令寄存器; 程序計數(shù)器加程序計數(shù)器加1后回寫;后回寫;47隨機邏輯隨機邏輯CPU的

34、操作的操作2-指令譯碼與執(zhí)行指令譯碼與執(zhí)行 寄存器堆中的某個獲得寄存器堆中的某個獲得ALU的一個的一個操作數(shù)操作數(shù); 另一個另一個操作數(shù)操作數(shù)來自于寄存器堆中的數(shù)據(jù)寄存器;來自于寄存器堆中的數(shù)據(jù)寄存器; ALU的的結(jié)果結(jié)果值被回寫入寄存器堆。值被回寫入寄存器堆。48Balancing Operatorsa, b, c, d: 4-bit vectorsout = a * b * c * dXabXcXdzXabout = (a * b) * (c * d)XcdXzUnbalancedBalanced4 x 48 x 412 x 416-bit4 x 44 x 48 x 816-bitDela

35、y through 3 Stages of MultiplyDelay through 2 Stages of Multiply49隨機邏輯隨機邏輯CPU的指令集設(shè)計的指令集設(shè)計 考慮如何讓邏輯門可以快速而方便地實現(xiàn)考慮如何讓邏輯門可以快速而方便地實現(xiàn) 指令譯碼。指令譯碼。 在隨機邏輯在隨機邏輯CPU的指令集中,可以使用以下的指令集中,可以使用以下4種類種類型的指令:分支指令型的指令:分支指令(branch instruction) 、存儲器存儲器引用指令引用指令(memory reference instruction)、ALU指指令令(ALU instruction)、設(shè)置指令、設(shè)置指令(

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

37、以將累加器作為一個源操作數(shù),同時可作為一個目的操作數(shù)。同時可作為一個目的操作數(shù)。 使用雙目操作數(shù)的指令,可以將累加器作為一個源操作數(shù),使用雙目操作數(shù)的指令,可以將累加器作為一個源操作數(shù),以存儲器作為另一個源操作數(shù),累加器同時也可作為目的操作以存儲器作為另一個源操作數(shù),累加器同時也可作為目的操作數(shù)。數(shù)。如果只用一個索引寄存器,則尋址模式將局限于以下兩種方如果只用一個索引寄存器,則尋址模式將局限于以下兩種方式:式: 當(dāng)進行直接存儲器尋址時,存儲器地址由指令中的部分字當(dāng)進行直接存儲器尋址時,存儲器地址由指令中的部分字段提供。段提供。 當(dāng)進行指數(shù)尋址時,目標(biāo)地址一部分來自指令的存儲器地當(dāng)進行指數(shù)尋址時

38、,目標(biāo)地址一部分來自指令的存儲器地址,與指數(shù)寄存器相加之后,形成目標(biāo)操作數(shù)的地址。址,與指數(shù)寄存器相加之后,形成目標(biāo)操作數(shù)的地址。微碼微碼CPU的結(jié)構(gòu)的結(jié)構(gòu)在微碼結(jié)構(gòu)中,在微碼結(jié)構(gòu)中,控制單元控制單元的輸入和輸出之間的輸入和輸出之間的關(guān)系被視為一個的關(guān)系被視為一個存儲系統(tǒng)存儲系統(tǒng)。時序部件時序部件指令預(yù)處理指令預(yù)處理 工作原理工作原理 微程序控制微程序控制(存儲控制存儲控制) 組成組成微碼控制器微碼控制器+微代碼微代碼微碼微碼CPU的操作的操作-指令譯碼與執(zhí)行指令譯碼與執(zhí)行1. 控制邏輯對控制邏輯對IR中的指中的指令譯碼,確定對應(yīng)微令譯碼,確定對應(yīng)微碼程序地址并寫入碼程序地址并寫入 PC;2.

39、 PC向微碼向微碼ROM提供提供 地址,返回的微碼寫地址,返回的微碼寫入入 IR; IR譯碼后產(chǎn)生相應(yīng)譯碼后產(chǎn)生相應(yīng)的控制信號;的控制信號; PC地址加地址加1后獲取下后獲取下一條微指令地址,直一條微指令地址,直到完成整個微碼程序到完成整個微碼程序*53微碼微碼CPU的特點的特點優(yōu)點:優(yōu)點:1. 可以通過減少取指令次數(shù)的方法來可以通過減少取指令次數(shù)的方法來降低存儲降低存儲器總訪問時間器總訪問時間從而提高系統(tǒng)性能;從而提高系統(tǒng)性能;2. 簡化硬件設(shè)計簡化硬件設(shè)計,可使其成品機器幾乎沒有設(shè),可使其成品機器幾乎沒有設(shè)計上的錯誤;計上的錯誤;3. 建立或改動微代碼比建立或改動電路省時、建立或改動微代碼

40、比建立或改動電路省時、不易出錯,因此更易于不易出錯,因此更易于創(chuàng)建新的創(chuàng)建新的CPU版本版本;缺點:缺點: 同樣功能微代碼比硬連邏輯實現(xiàn)的同樣功能微代碼比硬連邏輯實現(xiàn)的開銷大開銷大;*53/8654微碼結(jié)構(gòu)與隨機邏輯結(jié)構(gòu)的比較微碼結(jié)構(gòu)與隨機邏輯結(jié)構(gòu)的比較 硬件設(shè)計開銷硬件設(shè)計開銷 隨機邏輯隨機邏輯CPU的硬件和指令集必須同步進行設(shè)計和優(yōu)的硬件和指令集必須同步進行設(shè)計和優(yōu)化,因此比較復(fù)雜?;虼吮容^復(fù)雜。 微碼微碼CPU的指令集設(shè)計并不直接影響現(xiàn)有硬件,修改的指令集設(shè)計并不直接影響現(xiàn)有硬件,修改指令集并不需要重新設(shè)計新的硬件。指令集并不需要重新設(shè)計新的硬件。 性能性能 如果采用相同指令集,則隨

41、機邏輯如果采用相同指令集,則隨機邏輯CPU操作會更快。操作會更快。 如果執(zhí)行相同的計算任務(wù),微碼如果執(zhí)行相同的計算任務(wù),微碼CPU能夠通過使用更能夠通過使用更少少(但更復(fù)雜但更復(fù)雜)的指令達到更高性能。的指令達到更高性能。 當(dāng)系統(tǒng)整體性能受限于存儲器的速度時,微碼當(dāng)系統(tǒng)整體性能受限于存儲器的速度時,微碼CPU對對性能提高的優(yōu)勢更為明顯。性能提高的優(yōu)勢更為明顯。*54/86流水線結(jié)構(gòu)與微碼結(jié)構(gòu)的比較流水線結(jié)構(gòu)與微碼結(jié)構(gòu)的比較比較下列操作在微碼比較下列操作在微碼CPU和流水線和流水線CPU中的執(zhí)行情況中的執(zhí)行情況Mem(Reg 1)+Mem(Reg 2)Reg 3微碼機器(微碼機器(CISC)中只

42、需要一條指令表示,而在)中只需要一條指令表示,而在流水線機器(流水線機器(RISC)里則需要)里則需要3條指令;條指令;在流水線機器中需要取存在流水線機器中需要取存5次存儲器,而微碼機器次存儲器,而微碼機器只需要只需要3次。次。若存儲器速度為系統(tǒng)瓶頸,則應(yīng)采用微碼若存儲器速度為系統(tǒng)瓶頸,則應(yīng)采用微碼CPU3次指令,次指令,2次數(shù)據(jù)次數(shù)據(jù)1次指令,次指令,2次數(shù)據(jù)次數(shù)據(jù)56微碼微碼CPU的設(shè)計步驟的設(shè)計步驟 建立建立硬件體系結(jié)構(gòu)硬件體系結(jié)構(gòu), 保證其具備執(zhí)保證其具備執(zhí)行必要行必要基本功能基本功能步驟的功能。步驟的功能。 將指令分割成許多微步驟,轉(zhuǎn)寫成將指令分割成許多微步驟,轉(zhuǎn)寫成微程序微程序并寫

43、入并寫入控制存儲器控制存儲器。微指令微指令Micro-instruction微程序微程序Micro-program(固件(固件fireware)指令指令instruction微碼控制器微碼控制器Microcode controller(定序器(定序器sequencer)*56/8657流水線技術(shù)的特點流水線技術(shù)的特點 延遲延遲320ps吞吐量吞吐量3.12GIPS延遲延遲?ps吞吐量吞吐量?GIPS延遲延遲360ps吞吐量吞吐量8.33GIPS單個操作延遲增加;單個操作延遲增加;整體吞吐量增加;整體吞吐量增加;58流水線操作過程流水線操作過程59流水線的局限性流水線的局限性 各階段性能差異各階

44、段性能差異會會導(dǎo)致流水線性能下降導(dǎo)致流水線性能下降 寄存器延遲開銷寄存器延遲開銷導(dǎo)導(dǎo)致流水線性能下降致流水線性能下降硬件空閑硬件空閑延遲延遲?ps吞吐量吞吐量?GIPS延遲延遲360ps吞吐量吞吐量5.88GIPS60指令流水線設(shè)計指令流水線設(shè)計 基本要求基本要求流水線各個段的操作相互獨立流水線各個段的操作相互獨立流水線各個段的操作同步流水線各個段的操作同步 性能指標(biāo)性能指標(biāo)吞吐率吞吐率(Throughput Rate)加速比加速比(Speedup Ratio)效率效率(Efficiency) 相關(guān)及處理相關(guān)及處理 結(jié)構(gòu)相關(guān)、數(shù)據(jù)相關(guān)和控制相關(guān)深度深度(depth)或并行度或并行度(degre

45、e of parallelism)即流水級數(shù)即流水級數(shù)m等待時間等待時間(latency) 每一作業(yè)從開始到結(jié)束所需時鐘周期數(shù),每一作業(yè)從開始到結(jié)束所需時鐘周期數(shù),m理想流水線:理想流水線: 各級延時時間相等;各級延時時間相等; 無等待時間;無等待時間; 大量代碼不斷流;大量代碼不斷流;61吞吐率吞吐率(Throughput Rate)吞吐率吞吐率Tp:指單位時間內(nèi)能處理的任務(wù)數(shù):指單位時間內(nèi)能處理的任務(wù)數(shù)(指令數(shù)指令數(shù))。最大吞吐率最大吞吐率Tpmax:流水線達到穩(wěn)定狀態(tài)后的吞:流水線達到穩(wěn)定狀態(tài)后的吞吐吐率。率。用于描述流水線執(zhí)行各種運算的用于描述流水線執(zhí)行各種運算的速率速率,通常表示為,通常表示為每秒執(zhí)行的運算數(shù)或每周期執(zhí)行的運算數(shù)。每秒執(zhí)行的運算數(shù)或每周期執(zhí)行的運算數(shù)。1(1)1(1) / pnnTTm tntmnt 流

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論