計(jì)算機(jī)指令格式.ppt_第1頁(yè)
計(jì)算機(jī)指令格式.ppt_第2頁(yè)
計(jì)算機(jī)指令格式.ppt_第3頁(yè)
計(jì)算機(jī)指令格式.ppt_第4頁(yè)
計(jì)算機(jī)指令格式.ppt_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1,第11講 指令格式,1 指令系統(tǒng)的發(fā)展與性能要求 2 指令格式 3 尋址方式,1 指令系統(tǒng)的發(fā)展與性能要求,指令:微機(jī)完成規(guī)定操作的命令 微指令:微程序級(jí)的命令,它屬于硬件。 宏指令:由若干條機(jī)器指令組成的軟件指令,它屬于軟件。 機(jī)器指令(指令):介于微指令與宏指令之間,每條指令可完成一個(gè)獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算。 指令系統(tǒng):機(jī)器指令的集合稱為計(jì)算機(jī)的指令系統(tǒng),即CPU所能識(shí)別的全部指令。,硬件,軟件,指令系統(tǒng),50年代:指令系統(tǒng)只有定點(diǎn)加減、邏輯運(yùn)算、數(shù)據(jù)傳送、轉(zhuǎn)移等十幾至幾十條指令。 60年代后期:增加了乘除運(yùn)算、浮點(diǎn)運(yùn)算、十進(jìn)制運(yùn)算、字符串處理等指令,指令數(shù)目多達(dá)一二百條,尋址方式也

2、趨多樣化。 70年代末期:大多數(shù)計(jì)算機(jī)的指令系統(tǒng)多達(dá)幾百條。我們稱這些計(jì)算機(jī)為復(fù)雜指令系統(tǒng)計(jì)算機(jī)(CISC)。但是如此龐大的指令系統(tǒng)難以保證正確性,不易調(diào)試維護(hù),造成硬件資源浪費(fèi)。為此人們又提出了便于VLSI技術(shù)實(shí)現(xiàn)的精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)(RISC)。,(1)指令系統(tǒng)的發(fā)展,指令系統(tǒng)的性能決定了計(jì)算機(jī)的基本功能,它的設(shè)計(jì)直接關(guān)系到計(jì)算機(jī)的硬件結(jié)構(gòu)和用戶的需要。 一個(gè)完善的指令系統(tǒng)應(yīng)滿足如下四方面的要求: 完備性 有效性 規(guī)整性 兼容性,(2) 對(duì)指令系統(tǒng)性能的要求,2 指令格式,一條指令應(yīng)包含如下信息:,進(jìn)行何種操作:即操作性質(zhì)。 體現(xiàn)在指令中被稱為操作碼。,操作的對(duì)象:數(shù)據(jù)來(lái)源以及如何尋找操作

3、數(shù)。 體現(xiàn)在指令中被稱為地址碼,操作結(jié)果:結(jié)果存放在何處。,下一條指令又如何尋找,1) 指令字長(zhǎng):一個(gè)指令字中包含二進(jìn)制代碼的位數(shù)。 指令字的長(zhǎng)度取決于操作碼的長(zhǎng)度、操作數(shù)地址的長(zhǎng)度和操作數(shù)地址的個(gè)數(shù)。 2)機(jī)器字長(zhǎng):計(jì)算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的位數(shù),它決定了計(jì)算機(jī)的運(yùn)算能力。,(1) 指令字長(zhǎng),3) 指令字長(zhǎng)與機(jī)器字長(zhǎng)的關(guān)系,指令字長(zhǎng)與機(jī)器字長(zhǎng)沒(méi)有固定的關(guān)系。 等長(zhǎng)指令字結(jié)構(gòu):在一個(gè)指令系統(tǒng)中,各種指令字長(zhǎng)度是相等的。 優(yōu)點(diǎn):指令字結(jié)構(gòu)簡(jiǎn)單:取指快、譯碼簡(jiǎn)單,便于控制。 變長(zhǎng)指令字結(jié)構(gòu):在一個(gè)指令系統(tǒng)中,各種指令字長(zhǎng)度隨指令功能而異,按字節(jié)的倍數(shù)變化。 優(yōu)點(diǎn):指令字結(jié)構(gòu)靈活,合理利用存儲(chǔ)空

4、間; 缺點(diǎn):指令的控制較復(fù)雜。,單字長(zhǎng)指令:指令字長(zhǎng)等于機(jī)器字長(zhǎng); 雙字長(zhǎng)指令:指令字長(zhǎng)等于兩個(gè)機(jī)器字長(zhǎng); 半字長(zhǎng)指令:指令字長(zhǎng)只有半個(gè)機(jī)器字長(zhǎng)。,各種指令字的結(jié)構(gòu)情況,單字長(zhǎng)指令,雙字長(zhǎng)指令,半字長(zhǎng)指令,變字長(zhǎng)指令,操作碼反映機(jī)器做什么操作。 操作碼所占的二進(jìn)制位數(shù)決定了一臺(tái)計(jì)算機(jī)所能允許的指令條數(shù)。 例如,操作碼占用六位二進(jìn)制碼時(shí),這臺(tái)計(jì)算機(jī)最多允許有:,(2)操作碼格式,2664 條指令,1)固定格式-定長(zhǎng)操作碼 各指令操作碼的位置、位數(shù)固定相同。 2)可變格式-擴(kuò)展操作碼 各指令操作碼的位置、位數(shù)不固定,根據(jù)需要變化,操作碼的位數(shù)隨地址數(shù)的減少而增加。關(guān)鍵在設(shè)置擴(kuò)展標(biāo)志。,假設(shè)一臺(tái)計(jì)算

5、機(jī)指令字長(zhǎng)16位,操作碼與地址碼都為4位,如圖所示。 1)方法一:固定格式,則最多可以設(shè)計(jì)16條三地址指令。顯然,4位基本操作碼是不夠的,必須向地址碼字段擴(kuò)展操作碼的長(zhǎng)度。 2)方法二:擴(kuò)展操作碼 該指令可以包含3、2、1或0個(gè)地址。,4 位操作碼,8 位操作碼,12 位操作碼,16 位操作碼,15條三地址指令,15條二地址指令,15條一地址指令,16條零地址指令,2)方法二:擴(kuò)展操作碼,操作碼 15-12,地址碼 11-8 7-4 3-0,在可變長(zhǎng)操作碼的指令系統(tǒng)設(shè)計(jì)中,究竟使用何種擴(kuò)展方法為好,指令的使用頻度(即在程序中出現(xiàn)的概率)是非常重要的依據(jù)。即頻度高的指令應(yīng)分配短的操作碼,頻度低的

6、指令則分配較長(zhǎng)的操作碼。 缺點(diǎn)是譯碼系統(tǒng)比固定操作碼復(fù)雜,增加了設(shè)計(jì)控制器的難度,需要更多的硬件作支持。,例如: 設(shè)某臺(tái)計(jì)算機(jī)有100條指令,(1) 采用固定長(zhǎng)度操作碼編碼,試設(shè)計(jì)其操作碼的編碼。(2) 假如這100條指令中有10條指令的使用概率達(dá)到90%,其余90條指令的使用概率為10%。試采用不等長(zhǎng)編碼設(shè)計(jì)操作碼。,解: (1)固定長(zhǎng)度操作碼編碼:需7位操作碼。 100個(gè)代碼作為100條指令指令操作碼即 0000000指令0的操作碼 0000001指令1的操作碼 1100011指令99的操作碼 剩下28個(gè)代碼可用于增加新指令,長(zhǎng)度都是7位。 1100100 1111111,解:可變長(zhǎng)度操作

7、碼編碼 10條指令:需4位操作碼編碼 0000指令0的操作碼 1001指令9的操作碼 90條指令:需8位操作碼編碼 10100000 (160) 11111001 (249),擴(kuò)展操作碼的組合方案可以有多種,但各條指令的操作碼一定不能重復(fù),而且各指令應(yīng)能正確譯碼。 霍夫曼編碼:對(duì)使用頻度較高的指令,分配較短的操作碼字段;對(duì)使用頻度較低的指令,分配較長(zhǎng)的操作碼字段。 擴(kuò)展操作碼介于定長(zhǎng)編碼和霍夫曼編碼之間,操作碼字段的位數(shù)既不是固定的,又不是任意的,而是有限的幾種碼長(zhǎng)。,指令中的地址碼用來(lái)指出該指令的源操作數(shù)地址(一個(gè)或兩個(gè))、結(jié)果地址及下一條指令的地址。 這里的地址可以是主存地址,也可以是寄存

8、器地址,甚至可以是I/O設(shè)備的地址。 1)指令提供地址的方式: 顯地址方式:指令中明顯指明了地址。 隱地址方式:地址隱含約定,并不出現(xiàn)在指令中,(3)地址結(jié)構(gòu),使用隱地址可以減少指令中的地址數(shù),從而簡(jiǎn)化地址結(jié)構(gòu)。,2)地址結(jié)構(gòu)的簡(jiǎn)化,三地址指令,二地址指令,一地址指令,零地址指令,四地址指令,四地址指令,8 6 6 6 6,A1 第一操作數(shù)地址,A2 第二操作數(shù)地址,A3 結(jié)果的地址,A4 下一條指令地址,4 次訪存,直接尋址范圍 26 = 64,這種指令直觀易懂,但冗余繁瑣,不切實(shí)際。,因?yàn)槌绦蛑写蟛糠种噶疃际琼樞驁?zhí)行的,當(dāng)采用指令計(jì)數(shù)器PC指示指令地址后,A4地址可以省去。,格式:,功能:

9、,例如:四地址指令,(A1)OP(A2)A3 A4=下一條將要執(zhí)行指令的地址,5,3,8,三地址指令,8 8 8 8,需4 次訪存,直接尋址范圍 28 = 256,若 A3 用 A1 或 A2 代替,用三地址指令編寫(xiě)的程序,其指令在內(nèi)存中必須依次存放,才能利用程序計(jì)數(shù)器自動(dòng)增量的辦法順序執(zhí)行。若程序要轉(zhuǎn)向時(shí),必須用轉(zhuǎn)移地址修改PC的內(nèi)容。但是機(jī)器運(yùn)行過(guò)程中,中間結(jié)果可以暫時(shí)存放在CPU的寄存器(如ACC)中,可將A3省去。,格式:,功能:,例如:三地址指令,(A1)OP(A2)A3 (PC)+1=下條將要執(zhí)行指令的地址,程序計(jì)數(shù)器: 存放當(dāng)前指令地址,5,3,8,執(zhí)行一條三地址指令需4次訪問(wèn)主

10、存。,二地址指令,8 12 12,或,4 次訪存 如果(A1)OP(A2) ACC,只需3次訪存,尋址范圍 212 = 4 K, 當(dāng)二地址指令執(zhí)行之后,A1或A2中的內(nèi)容被修改了。 如果將一個(gè)操作數(shù)的地址隱含在運(yùn)算器的ACC中,指令字中只需給出一個(gè)地址碼,構(gòu)成一地址指令。,格式:,功能:,一地址指令,8 24,ACC既存放參與運(yùn)算的操作數(shù),又存放中間結(jié)果,完成一條一地址指令需2 次訪存,直接尋址范圍 224 = 16 M,如:求反,自增1等,格式:,功能:,雙操作數(shù):,單操作數(shù):,在程序執(zhí)行前,必須用一條“取數(shù)指令”把其中一個(gè)操作數(shù)放到累加寄存器中。程序結(jié)束后,累加寄存器的內(nèi)容已被修改。若要將

11、累加寄存器中的結(jié)果送回內(nèi)存,則必須使用“存數(shù)指令”。,雙操作數(shù):,無(wú)地址碼的指令稱為零地址指令??梢詻](méi)有地址,也可以是隱含地址。如停機(jī)指令就是不需要地址的零地址指令。 功能:用于堆?;蛱厥庵噶畈僮?。 執(zhí)行零地址指令時(shí),被運(yùn)算的操作數(shù)地址全部是隱含的,指令格式中只說(shuō)明作什么操作。例如進(jìn)棧(PUSH)、出棧(POP)這類指令,其操作數(shù)的地址隱含在堆棧指針SP中,零地址指令,小結(jié),當(dāng)用一些硬件資源代替指令字中的地址碼字段后,當(dāng)指令的地址字段為寄存器時(shí),可擴(kuò)大指令的尋址范圍,可縮短指令字長(zhǎng),可減少訪存次數(shù),三地址 OP R1, R2, R3,二地址 OP R1, R2,一地址 OP R1,指令執(zhí)行階段不訪存,可縮短指令字長(zhǎng),由于硬件只能識(shí)別1和0,所以采用二進(jìn)制操作碼是必要的,但是我們用二進(jìn)制來(lái)書(shū)寫(xiě)程序卻非常麻煩。為了便于書(shū)寫(xiě)和閱讀程序,每條指令通常用3個(gè)或4個(gè)英文縮寫(xiě)字母來(lái)表示。這種縮寫(xiě)碼叫做指令助記符。,典型的指令助記符,(4)指令助記符,操作數(shù)類型,一、操作數(shù)類型,無(wú)符號(hào)整數(shù),定點(diǎn)數(shù)、浮點(diǎn)數(shù)、十進(jìn)制數(shù),ASCII,邏輯運(yùn)算,二、數(shù)據(jù)在存儲(chǔ)器中的存放方式,字地址 為 低字節(jié) 地址,字地址 為 高字節(jié) 地址,存

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論