陳偉婷計(jì)算機(jī)組成原理ch4 指令系統(tǒng)_第1頁
陳偉婷計(jì)算機(jī)組成原理ch4 指令系統(tǒng)_第2頁
陳偉婷計(jì)算機(jī)組成原理ch4 指令系統(tǒng)_第3頁
陳偉婷計(jì)算機(jī)組成原理ch4 指令系統(tǒng)_第4頁
陳偉婷計(jì)算機(jī)組成原理ch4 指令系統(tǒng)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2021-11-141第4章 指令系統(tǒng)2021-11-142主要內(nèi)容n指令系統(tǒng)基本概念n指令格式n尋址方式n典型指令類型2021-11-1434.1 指令系統(tǒng)基本概念n指令、指令系統(tǒng)、程序n機(jī)器指令的特點(diǎn)ncisc和risc2021-11-144指令在計(jì)算機(jī)系統(tǒng)中的地位(1)是軟件和硬件分界面的一個主要標(biāo)志n硬件設(shè)計(jì)人員采用各種手段實(shí)現(xiàn)它;n軟件設(shè)計(jì)人員則利用它編制各種各樣的系統(tǒng)軟件和應(yīng)用軟件.(2)是硬件設(shè)計(jì)人員和軟件設(shè)計(jì)人員之間的分界面,也是他們之間溝通的橋梁。 硬件設(shè)計(jì)者的目的, 軟件編程者的手段 硬件向軟件提供的 服務(wù)接口2021-11-145指令概念l 指令與機(jī)器指令指令與機(jī)器指令指

2、令就是要計(jì)算機(jī)執(zhí)行某種操作的命令。 機(jī)器指令(指令):介于微指令與宏指令之間,每條指令可完成一個獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算。 l 指令系統(tǒng)指令系統(tǒng)一臺計(jì)算機(jī)中所有機(jī)器指令的集合,是表征一臺計(jì)算機(jī)性能的重要因素,其格式與功能不僅直接影響機(jī)器的硬件結(jié)構(gòu),也直接影響系統(tǒng)軟件,影響機(jī)器的適用范圍。l 程序程序計(jì)算機(jī)的程序是由一系列的指令組成的。 2021-11-146機(jī)器指令的特點(diǎn)n機(jī)器指令是面向機(jī)器的計(jì)算機(jī)語言n機(jī)器指令與匯編語言n系列計(jì)算機(jī)指基本指令系統(tǒng)相同、基本體系結(jié)構(gòu)相同的一系列計(jì)算機(jī) 2021-11-147低級語言與高級語言關(guān)系比較內(nèi)容高級語言低級語言1對程序員的訓(xùn)練要求(1)通用算法(2)語

3、言規(guī)則(3)硬件知識有較少不要有較多要2對機(jī)器獨(dú)立的程度獨(dú)立不獨(dú)立3編制程序的難易程度易難4編制程序所需時(shí)間短較長5程序執(zhí)行時(shí)間較長短6編譯過程中對計(jì)算機(jī)資源的要求多少2021-11-148cisc:復(fù)雜指令系統(tǒng)計(jì)算機(jī)n指令系統(tǒng)中的指令數(shù)多n指令功能全n尋址方式豐富n指令格式多樣n占指令總數(shù)20%的指令使用頻率達(dá)80%2021-11-149risc:精簡指令系統(tǒng)計(jì)算機(jī)n選取使用頻率最高的一些簡單指令n指令長度固定、指令格式種類少、尋址方式種類少n只有取數(shù)/存數(shù)指令訪問存儲器,其余指令的操作都在寄存器之間進(jìn)行2021-11-1410指令系統(tǒng)的性能要求n完備性完備性用匯編語言編寫各種程序時(shí),指令系

4、統(tǒng)直接提供的指令足夠使用,而不必用軟件來實(shí)現(xiàn)。完備性要求完備性要求指令系統(tǒng)豐富、功能齊全、使用方便。指令系統(tǒng)豐富、功能齊全、使用方便。 n有效性有效性利用該指令系統(tǒng)所編寫的程序能夠高效率的運(yùn)行。高效率主要表現(xiàn)在程序占據(jù)存儲空間小、執(zhí)行速度高效率主要表現(xiàn)在程序占據(jù)存儲空間小、執(zhí)行速度快。快。n規(guī)整性規(guī)整性規(guī)整性包括指令系統(tǒng)的對稱性、勻齊性、指令格式和數(shù)據(jù)格式的一致性。對稱性對稱性指在指令系統(tǒng)中所有的寄存器和存儲器單元都可同等對待,所有的指令都可使用各種尋址方式;勻齊性勻齊性是指一種操作性質(zhì)的指令可以支持各種數(shù)據(jù)類型;指令格式和數(shù)據(jù)格式的一致性指令格式和數(shù)據(jù)格式的一致性是指指令長度和數(shù)據(jù)長度有一定

5、的關(guān)系,以方便處理和存取。n兼容性兼容性系列機(jī)各機(jī)種之間具有相同的基本結(jié)構(gòu)和共同的基本指令集,因而指令系統(tǒng)是兼容的。2021-11-14114.2 指令格式n指令字:操作碼字段+地址碼字段n操作碼:表示指令的操作性質(zhì)(唯一性/無二義性)指令的操作碼op表示該指令應(yīng)進(jìn)行什么性質(zhì)的操作,如進(jìn)行加法、減法、乘法、除法、取數(shù)、存數(shù)等等。不同的指令用操作碼字段的不同編碼來表示,每一種編碼代表一種指令。固定長度操作碼:便于譯碼,擴(kuò)展性差可變長度操作碼:能縮短指令平均長度n地址碼:反映操作數(shù)地址或操作數(shù)零地址、一地址、二地址、三地址2021-11-1412n地址碼:根據(jù)一條指令中有幾個操作數(shù)地址,可將該指令

6、稱為幾操作數(shù)指令或幾地址指令。目前二地址和一地址指令格式用得最多。p零地址指令:零地址指令的指令字中只有操作碼,沒有地址碼。p如:nop、 clr指令 p一地址指令: 一地址指令常稱單操作數(shù)指令,指令中僅給出一個操作數(shù)地址a,另一個操作數(shù)地址和目的操作數(shù)地址均隱含(指定為累加器ac)。(ac) op (a) ac p如:add r1p二地址指令:二地址指令常稱雙操作數(shù)指令,指令中給出兩個地址碼字段a1和a2,分別指明參與操作的兩個數(shù)在內(nèi)存中或運(yùn)算器通用寄存器的地址,其中地址a1兼作存放操作結(jié)果的地址。(a1) op (a2) a1。p如:add r1, r2p三地址指令:三地址指令字中有二個源

7、操作數(shù)地址a1,a2和一個目的操作數(shù)地址a3。(a1) op (a2) a3 。p如:add r1, r2, r32021-11-1413n在二地址指令格式中,從操作數(shù)的物理位置來說,又可歸結(jié)為三種類型:存儲器存儲器(ss)型指令,為訪問存儲器的指令格式;寄存器存儲器(rs)型指令,用于存儲器與寄存器交換信息。 寄存器寄存器(rr)型指令,為訪問寄存器的指令格式;2021-11-1414n指令字長度指令字長度指一個指令字中包含二進(jìn)制代碼的位數(shù)機(jī)器字長是指計(jì)算機(jī)能處理的二進(jìn)制數(shù)據(jù)的位數(shù)機(jī)器字長通常與主存單元的位數(shù)一致固定長度:取指快、譯碼簡單。l半字長、單字長、雙字長、多字長可變長度:可提高編碼

8、效率2021-11-1415(2)用4位代碼對10條常用指令進(jìn)行編碼,用8位代碼對90條不常用代碼進(jìn)行編碼,即0000指令0的操作碼0001指令1的操作碼1000指令8的操作碼1001指令9的操作碼10100000指令10的操作碼10100001指令11的操作碼11111001指令99的操作碼指令操作碼的平均長度為490%+810%=4.4位。例1 設(shè)某臺計(jì)算機(jī)有設(shè)某臺計(jì)算機(jī)有100條指令,條指令,(1) 采用固定長度操作碼編碼,試設(shè)計(jì)其操作碼的編碼。采用固定長度操作碼編碼,試設(shè)計(jì)其操作碼的編碼。(2) 假如這假如這100條指令中有條指令中有10條指令的使用概率達(dá)到條指令的使用概率達(dá)到90%,

9、其余,其余90條指令的使用概率為條指令的使用概率為10%。試采用不等長編碼設(shè)計(jì)操作碼。試采用不等長編碼設(shè)計(jì)操作碼。解:解:(1) 采用固定長度操作碼編碼時(shí),需要7位操作碼。取其中的100個代碼作為指令操作碼,可以用0000000到1100011之間的代碼代表100條指令,即0000000指令0的操作碼0000001指令1的操作碼1100011指令99的操作碼剩下從1100100到1111111共28個代碼可用于增加新指令,每條指令的操作碼的長度都是7。2021-11-1416例2 若某計(jì)算機(jī)要求有如下形式的指令:三地址指令若某計(jì)算機(jī)要求有如下形式的指令:三地址指令12條,條,二地址指令二地址指

10、令60條,零地址指令條,零地址指令16條條(不要求有單地址指令不要求有單地址指令)。設(shè)指令字長為設(shè)指令字長為16位,每個地址碼長為位,每個地址碼長為4位,試用擴(kuò)展操作碼位,試用擴(kuò)展操作碼為其編碼。為其編碼。解解:三個地址碼字段占12位。剩下4位作為操作碼,12條指令的操作碼分別為0000、0001、0010、1011。n在雙地址指令中,操作碼擴(kuò)展到8位。取其中6位,可以有64個編碼,取60個,即1100000011111011。n零地址指令中,全部16位指令代碼都是操作碼,取其前16個編碼,即11111100000000001111110000001111。操作碼操作碼111111000000

11、0000 11111100000011110000 1011零地址指令11000000 11111011二地址指令三地址指令地址碼 1地址碼 2操作碼地址碼 1地址碼 2地址碼 32021-11-14174.3 尋址方式n尋址方式尋址方式:當(dāng)采用地址指定方式時(shí),形成操作數(shù)或指令地址的方式.n指令尋址方式指令尋址方式順序?qū)ぶ贩绞教S尋址方式n操作數(shù)尋址方式操作數(shù)尋址方式(形成操作數(shù)的有效地址的方法)有效地址形式地址(也叫偏移量,是指令字結(jié)構(gòu)中給定的地址量)2021-11-1418操作數(shù)尋址方式n隱含尋址n立即尋址n直接尋址n間接尋址n寄存器尋址n寄存器間接尋址n相對尋址n基址尋址n變址尋址n堆棧

12、尋址2021-11-1419操作數(shù)尋址方式操作數(shù)尋址方式addressing mode1. 隱含尋址隱含尋址如add a 中的累加器ac ac+a ac2. 立即尋址立即尋址如int #3 操作碼操作數(shù)立即尋址指令寄存器尋址操作碼寄存器指令r操作數(shù)3. 寄存器尋址寄存器尋址 如inc r12021-11-1420操作數(shù)尋址方式(續(xù))操作數(shù)尋址方式(續(xù))4. 直接尋址直接尋址如inc 1000操作碼存儲器 直接尋址指令a操作數(shù)2021-11-1421操作數(shù)尋址方式操作數(shù)尋址方式(續(xù))(續(xù))5. 間接尋址間接尋址寄存器間接,如inc (r1)存儲器間接,如inc (1000)操作碼 寄存器間接尋址

13、存儲器寄存器指令r1 存儲器間接尋址存儲器指令操作碼1000a操作數(shù)a操作數(shù)2021-11-1422 操作數(shù)尋址方式操作數(shù)尋址方式(續(xù))(續(xù))6. 相對尋址相對尋址如inc 8(pc)操作碼pc 相對尋址指令存儲器8操作數(shù)2021-11-1423 操作數(shù)尋址方式操作數(shù)尋址方式(續(xù))(續(xù))7. 變址和基址尋址變址和基址尋址如inc a(r1)變址尋址indexedmode-便于數(shù)組訪問基址尋址basedmode-可擴(kuò)大尋址范圍,可實(shí)現(xiàn)程序浮動ia 變址尋址存儲器寄存器r1指令操作碼操作數(shù)2021-11-1424各種常見尋址方式的匯編指令表示2021-11-1425尋址方式舉例 例例 某16位機(jī)器

14、所使用的指令格式和尋址方式如下所示,該機(jī)有兩個20位基址寄存器,四個16位變址寄存器,十六個16位通用寄存器指令匯編格式中的s(源),d(目標(biāo))都是通用寄存器,m是主存中的一個單元。三種指令的操作碼分別是mov(op code)(a)h ,sta(op code )(1b)h ,lda(op code )(3c)h。mov是傳送指令,sta為寫數(shù)指令,lda為讀數(shù)指令。 (教材p118) 要求: 分析三種指令的指令格式與尋址方式特點(diǎn)。 cpu完成哪一種操作所花時(shí)間最短?哪一種操作所花時(shí)間最長?第二種指令的執(zhí)行時(shí)間有時(shí)會等于第三種指令的執(zhí)行時(shí)間嗎? 下列情況下每個十六進(jìn)制指令字分別代表什么操作?

15、其中如果有編碼不正確,如何改正才能成為合法指令? (f0f1)h (3cd2)h (2856)h (6fd6)h (1c2)h2021-11-1426解解: 第一種指令是單字長二地址指令,rr型;第二種指令是雙字長二地址指令,rs型,其中s采用基址尋址或變址尋址,r由源寄存器決定;第三種也是雙字長二地址指令,rs型,其中r由目標(biāo)寄存器決定,s由20位地址(直接尋址)決定。處理機(jī)完成第一種指令所花時(shí)間最短,因?yàn)槭莚r型指令,不需要訪問存儲器。第二種指令所花時(shí)間最長,因?yàn)槭莚s型指令,需要訪問存儲器,同時(shí)要進(jìn)行尋址方式的變換運(yùn)算(基址或變址),這也需要時(shí)間。第二種指令的執(zhí)行時(shí)間不會等于第三種指令,

16、因?yàn)榈谌N指令雖然也訪問存儲器,但節(jié)省了求有效地址運(yùn)算的時(shí)間開銷。根據(jù)已知條件:mov(op)001010,sta(op)011011,lda(op)111100,將指令的十六進(jìn)制格式轉(zhuǎn)換成二進(jìn)制代碼且比較后可知:(f0f1)h (3cd2)h 指令代表lda指令,編碼正確,其含義是把主存(13cd2)h 地址單元的內(nèi)容取至15號寄存器。(2856)h 指令代表mov指令,編碼正確,含義是把6號源寄存器的內(nèi)容傳送至5號目標(biāo)寄存器。 (6fd6)h 是單字長指令,一定是mov指令,但編碼錯誤,可改正為(28d6)h(1c2)h 是單字長指令,代表mov指令,但編碼錯誤,可改正為(28c2)h 。

17、 2021-11-1427存儲器堆棧n由程序員設(shè)置一部分主存儲器作為堆棧n特點(diǎn):先進(jìn)后出n堆棧操作與堆棧指示器n壓棧:(a)msp, (sp)-1spn退棧:(sp)+1sp, (msp)a2021-11-14284.4 典型指令類型n數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令n算邏運(yùn)算指令算邏運(yùn)算指令n程序控制指令程序控制指令n輸入輸出指令輸入輸出指令n字符串處理指令字符串處理指令n特權(quán)指令特權(quán)指令n其他指令其他指令 2021-11-1429數(shù)據(jù)傳送指令n寄存器間數(shù)據(jù)傳送寄存器間數(shù)據(jù)傳送mov ax , bxn寄存器與存儲器之間寄存器與存儲器之間mov ax , 2000hmov 2000h , axn堆棧操

18、作堆棧操作push axpop ax2021-11-1430算術(shù)運(yùn)算指令n加減運(yùn)算指令加減運(yùn)算指令add ax , bxsub ax , bxn乘除運(yùn)算指令乘除運(yùn)算指令mul ax , bxdiv ax , bxn加一減一指令加一減一指令inc axdec ax2021-11-1431邏輯運(yùn)算指令n邏輯運(yùn)算邏輯運(yùn)算and ax , bxor ax , bxxor ax , bxnot axn移位操作移位操作shr axshl ax2021-11-1432程序控制指令n無條件轉(zhuǎn)換指令無條件轉(zhuǎn)換指令jmpn條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令jcjncn子程序調(diào)用與返回子程序調(diào)用與返回callret2021-11-1433輸入輸出指令n輸入指令輸入指令in ax , 10hn輸出指令輸出指令out 20h , ax2021-11-1434基本指令系統(tǒng)基本指令系統(tǒng)(cisc的主要特點(diǎn))n指令系統(tǒng)復(fù)雜指令數(shù)多尋址方式多指令格式多n絕大多數(shù)指令需要多個時(shí)鐘周期才能執(zhí)行完成n各種指令都可訪問存儲器n采用微程序控制n有專用寄存器n難以用優(yōu)化編譯生成高效的目標(biāo)代碼程序2021-11-1435risc技術(shù)的主要特征n簡化的指令系統(tǒng)n表現(xiàn)在指令數(shù)較少、基本尋址方式少、指令格式少、指令字長度一致n以寄存器寄存器方式

溫馨提示

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

評論

0/150

提交評論