計算機組成原理-第11講(第4章)_第1頁
計算機組成原理-第11講(第4章)_第2頁
計算機組成原理-第11講(第4章)_第3頁
計算機組成原理-第11講(第4章)_第4頁
計算機組成原理-第11講(第4章)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Shenyang Institute of Aeronautical Engineering0第四章 指令系統(tǒng)4.1 指令的發(fā)展與性能要求指令的發(fā)展與性能要求4.2 指令格式指令格式4.3 指令碼的擴展指令碼的擴展4.4 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式4.5 RISC與與CISCShenyang Institute of Aeronautical Engineering1 硬件計算機系統(tǒng) 軟件 硬件:由中央處理機、存儲器以及外部設備等組成的實際裝置。軟件:為便于用戶使用計算機而編寫的各種程序,最終轉(zhuǎn)換成 一系列機器指令后在計算機上執(zhí)行。指令系統(tǒng)決定了計算機的基本功能。 4.1指令的發(fā)

2、展與性能要求Shenyang Institute of Aeronautical Engineering2計算機程序一系列一系列 指令指令 的有序集合。的有序集合。指令是計算機執(zhí)行某種操作的命令。指令是計算機執(zhí)行某種操作的命令。 指 令微指令宏指令機器指令微程序級的命令,屬硬件范疇。微程序級的命令,屬硬件范疇。由若干機器指令組成的軟件指令,屬軟件。由若干機器指令組成的軟件指令,屬軟件。介于微指令與宏指令之間,一條機器指令介于微指令與宏指令之間,一條機器指令可完成一個獨立的算術運算或邏輯運算操作可完成一個獨立的算術運算或邏輯運算操作指令系統(tǒng) 一臺計算機中所有機器指令的集合,稱為一臺計算機中所有機

3、器指令的集合,稱為這臺計算機的指令系統(tǒng)。這臺計算機的指令系統(tǒng)。指令指令指令系統(tǒng)的概念Shenyang Institute of Aeronautical Engineering3完善的計算機的指令系統(tǒng)應具備:完備性:完備性:至少包含最基本的、必不可少的指令。至少包含最基本的、必不可少的指令。有效性:有效性:利用該指令系統(tǒng)所提供的指令編制的程序能夠產(chǎn)生利用該指令系統(tǒng)所提供的指令編制的程序能夠產(chǎn)生 高效率。占用存儲空間小、執(zhí)行速度快高效率。占用存儲空間小、執(zhí)行速度快兼容性:兼容性:兼容性一般是指計算機的體系結構設計基本相同,兼容性一般是指計算機的體系結構設計基本相同, 機器之間具有相同的基本結構、

4、數(shù)據(jù)表示和共同的基機器之間具有相同的基本結構、數(shù)據(jù)表示和共同的基 本指令集合。本指令集合。指令系統(tǒng)的性能要求Shenyang Institute of Aeronautical Engineering44.2指令格式操作碼操作數(shù)地址操作結果的存儲地址下一條指令的地址執(zhí)行程序 執(zhí)行指令輸入數(shù)據(jù)執(zhí)行的操作輸出結果數(shù)據(jù)的來源執(zhí)行的操作結果的去向一條指令包含的內(nèi)容Shenyang Institute of Aeronautical Engineering5操作碼:操作碼:指明本條指令所要完成的操作。指明本條指令所要完成的操作。每條指令被分配一個確切的操作碼(唯一性每條指令被分配一個確切的操作碼(唯一性

5、)。必須具備的條件:必須具備的條件: 每條指令都要求它的操作碼必須是獨一無二的每條指令都要求它的操作碼必須是獨一無二的 指令系統(tǒng)中指令的個數(shù)指令系統(tǒng)中指令的個數(shù)N與操作碼與操作碼的位數(shù)的位數(shù)n, 必須滿足關系式:必須滿足關系式:N2n操作碼操作碼OP地址碼地址碼A(操作數(shù))(操作數(shù))指令結構指令結構指令格式Shenyang Institute of Aeronautical Engineering6地址碼:地址碼:指明該指令的操作數(shù)據(jù)或操作數(shù)的主存地址指明該指令的操作數(shù)據(jù)或操作數(shù)的主存地址 或寄存器地址或寄存器地址。指令的長度:指令的長度: 操作碼的位數(shù)操作碼的位數(shù)+(+(操作數(shù)地址個數(shù)操作數(shù)

6、地址個數(shù)) )* *( (操作數(shù)地址碼位數(shù)操作數(shù)地址碼位數(shù)) ) 操作碼操作碼OP地址碼地址碼A(操作數(shù))(操作數(shù))指令結構指令結構指令格式Shenyang Institute of Aeronautical Engineering7指令中的地址碼三地址指令OP碼A1A2A3二地址指令OP碼A1A2一地址指令OP碼A零地址指令OP碼Shenyang Institute of Aeronautical Engineering8三地址指令 指令中含有三個操作數(shù)(地址碼)。指令中的地址碼OP碼A1A2A3相關說明:(1)A1和A2運算完以后的結果存入A3。 操作形式: (A1)OP(A2)A3(2)

7、設指令和數(shù)據(jù)存放位置如右, 忽略其它因素 (A1)ADD(A2)A3 分析指令執(zhí)行所需要的訪存次數(shù) 共需訪存4次結果結果指令指令下一指令下一指令第一操作數(shù)第一操作數(shù)第二操作數(shù)第二操作數(shù)050H1F0H230H3C8HShenyang Institute of Aeronautical Engineering9指令中的地址碼二地址指令 指令中包含一個操作碼和兩個地址碼。 也稱為雙操作數(shù)指令。指令助記符指令助記符MOV AL,04MOV AX,04OP碼A1A2相關說明:(1)A1既是源操作數(shù),又是目標操作數(shù),運算完畢后的結果存入A1,A1可能是存儲器地址,也可能是寄存器號。 操作形式: (A1)

8、OP(A2)A1Shenyang Institute of Aeronautical Engineering10指令中的地址碼一地址指令 顧名思義,指令中只有一個操作碼和一個地址碼。 指令中給出的一個地址既是操作數(shù)的地址,又是操作結果 的存儲地址。如加1、減1、移位等單操作數(shù)指令。也稱為單操作數(shù)指令。 操作形式:OP(A)A 或者: (AC) OP (A) A指令助記符指令助記符INC AXINC BXShenyang Institute of Aeronautical Engineering11指令中的地址碼零地址指令 指令中只有一個操作碼,而無地址碼。這種指令有兩種可能:(1)無需任何操作

9、數(shù)。如空操作指令,停機指令等。(2)所需的操作數(shù)是默認的:某些堆棧操作指令。指令助記符指令助記符HLTNOPShenyang Institute of Aeronautical Engineering12指令助記符操作碼操作碼OP地址碼地址碼A(操作數(shù))(操作數(shù))純二進制表示,記憶麻煩。用英文單詞來表示相應功能的指令,這些英文單詞稱為指令助記符。1101110000011010001Shenyang Institute of Aeronautical Engineering13指令助記符典型指令典型指令指令助記符指令助記符二進制操作碼二進制操作碼加法ADD001減法SUB010傳遞MOV011

10、跳轉(zhuǎn)JMP100轉(zhuǎn)子程序JSR101存數(shù)STO110取數(shù)LAD111設指令系統(tǒng)僅有7條指令。Shenyang Institute of Aeronautical Engineering14 機器字長:計算機能直接處理的二進制數(shù)據(jù)的位數(shù) 按計算機的發(fā)展,從8位16位發(fā)展到32位和64位 決定計算機的運算精度。 地址碼部分決定了指令的直接尋址能力。 若為n位,則能直接尋址2n字節(jié)。 早期計算機字長較短,采用下列方式提高尋址能力增加機器字長以增加地址碼長度,直接提高采用地址擴展技術。存儲空間分段,用基地址加上位移量來增加地址碼長度機器字長與指令字長的關系Shenyang Institute of A

11、eronautical Engineering15指令的長度: 操作碼的位數(shù)+(操作數(shù)地址個數(shù))*(操作數(shù)地址碼位數(shù)) 存儲器能直接訪問的最小單位為字節(jié),為了充分利用存儲器指令的長度通常為字節(jié)的整數(shù)倍。 指令的長度與機器字長之間有沒有固定關系?無固定關系。指令可以短于機器字長,也可以比其長。短指令格式:訪存少,有利于提高運行速度,用于執(zhí)行頻率較 高的指令。長指令格式:訪存時間長,用于較為復雜的指令。機器字長與指令字長的關系Shenyang Institute of Aeronautical Engineering16地址個數(shù)多地址個數(shù)多指令長,一條指令功能較為強大,可以縮短程序長度指令長,一條

12、指令功能較為強大,可以縮短程序長度地址個數(shù)少地址個數(shù)少指令短,一條指令完成功能較少,程序長度較長,單條指令指令短,一條指令完成功能較少,程序長度較長,單條指令訪存次數(shù)也可以相應減少,硬件設計可以得到簡化訪存次數(shù)也可以相應減少,硬件設計可以得到簡化ADD A1 ,A2,A3ADD A1,A2MOV A3,A1地址個數(shù)對程序和指令長度的影響Shenyang Institute of Aeronautical Engineering174.3指令碼的擴展 指令操作碼的長度決定了指令系統(tǒng)中完成不同操作的指令條數(shù)。設操作碼有n位, 則指令條數(shù)最多為2n條OP編碼方式固定格式 操作碼長度固定,集中放在一個

13、字段可變格式 OP長度可變,分散放在指令的不同字段中Shenyang Institute of Aeronautical Engineering18可變格式一:Huffman編碼 Huffman編碼的原則: 對使用頻度較高的指令,分配較短的操作碼字段; 對使用頻度較低的指令,分配較長的操作碼字段。若采用自由可變長的huffman編碼,勢必使得操作碼的譯碼困難。 指令的長度有限,當?shù)刂反a的數(shù)目確定后,操作碼的變長受其限制。Shenyang Institute of Aeronautical Engineering19問題的提出 某機器的指令長度為16位,包括4位基本操作碼和三個4位地址字段。 若

14、三地址指令僅需15條,兩地址指令需15條,一地址指令需15條,零地址指令需16條,共61條指令,應如何安排操作碼?61條指令,若采用固定長度編碼,則操作碼至少需要6位, 當前只給定了4位,即使擴展成6位,也無法滿足三地址指令的需要可變格式二:指令操作碼擴展技術Shenyang Institute of Aeronautical Engineering20可能性 若指令長度固定,地址碼個數(shù)不同,操作碼的長度也不同。ADD A,B,CMOV A,BINC AHALT可變格式二:指令操作碼擴展技術Shenyang Institute of Aeronautical Engineering21操作碼的

15、擴展需要兼顧指令條數(shù)和地址碼的個數(shù)OPA1A2AnOPA1A2AnO PA2AnOPAn 指令擴展的要點:指令擴展的要點:操作碼位數(shù)隨地址碼個數(shù)變化采取可變長度的類型;操作碼位數(shù)隨地址碼個數(shù)變化采取可變長度的類型;不允許短操作碼是長操作碼的一部分,以保證指令間指令碼不允許短操作碼是長操作碼的一部分,以保證指令間指令碼 一定不重復;一定不重復;根據(jù)需要靈活變通,但操作碼長度為有限幾種。根據(jù)需要靈活變通,但操作碼長度為有限幾種??勺兏袷蕉褐噶畈僮鞔a擴展技術Shenyang Institute of Aeronautical Engineering22例如:某機器的指令長度為16位,包括4位基本操

16、作碼和三個4位地址字段。 若三地址指令僅需15條,兩地址指令需15條,一地址指令需15條,零地址指令需16條,共61條指令,應如何安排操作碼?15條15條15條16條可變格式二:指令操作碼擴展技術Shenyang Institute of Aeronautical Engineering2315條15條15條16條4位4位4位4位OPA3A2A1OPOPA1OP00001110 1111留作擴展留作擴展A3A2A11111000011111110 11111111留作擴展留作擴展A1A2A2A1111111110000111111111110 111111111111留作擴展留作擴展A1111

17、11111111100001111111111111111為了縮短指令的平均長度,應用頻率比較高的指令應該分配較短的操作碼。確保指令碼的唯一性;可變格式二:指令操作碼擴展技術Shenyang Institute of Aeronautical Engineering24特點:能充分利用指令字的各個字段;在不增加指令長度的情況下擴展操作碼的長度,能表示更多的指令。可變格式二:指令操作碼擴展技術Shenyang Institute of Aeronautical Engineering25實例 實際的機器中,比較成功的為B-1700機,該機指令的操作碼字段有4位,6位和10位三種長度。Shenya

18、ng Institute of Aeronautical Engineering26 課堂練習 例如:某機器的指令長度為16位,包括4位基本操作碼和三個4位地址字段,4位基本操作碼有16個碼點,若全部用于表示三地址指令,則只有16條。 若三地址指令僅需15條,兩地址指令需14條,一地址指令需31條,零地址指令需16條,共76條指令,應如何安排操作碼?Shenyang Institute of Aeronautical Engineering27小結 指令的出現(xiàn)與發(fā)展 指令的格式,操作碼和地址碼的含義 指令操作碼的擴展方法和意義Shenyang Institute of Aeronautical Engineering人有了知識,就會具備各種分析能力,人有了知識,就會具備各種分析能力,明辨是非的能力。明辨是非的能力。所以我們要勤懇讀書,廣泛閱讀,所以我們要勤懇讀書,廣泛閱讀,古人說古人說

溫馨提示

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

最新文檔

評論

0/150

提交評論