計(jì)算機(jī)系統(tǒng)結(jié)構(gòu):第二章 計(jì)算機(jī)指令集結(jié)構(gòu)設(shè)計(jì)2010_第1頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu):第二章 計(jì)算機(jī)指令集結(jié)構(gòu)設(shè)計(jì)2010_第2頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu):第二章 計(jì)算機(jī)指令集結(jié)構(gòu)設(shè)計(jì)2010_第3頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu):第二章 計(jì)算機(jī)指令集結(jié)構(gòu)設(shè)計(jì)2010_第4頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu):第二章 計(jì)算機(jī)指令集結(jié)構(gòu)設(shè)計(jì)2010_第5頁(yè)
已閱讀5頁(yè),還剩46頁(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、第二章 計(jì)算機(jī)指令集結(jié)構(gòu)設(shè)計(jì) 主要介紹計(jì)算機(jī)指令集結(jié)構(gòu)的分類,尋址技術(shù),計(jì)算機(jī)指令集結(jié)構(gòu)的功能設(shè)計(jì), Huffman編碼法。 重點(diǎn)是CISC計(jì)算機(jī)指令集和RISC計(jì)算機(jī)指令集的設(shè)計(jì)思想、設(shè)計(jì)原則、結(jié)構(gòu)特點(diǎn)、改進(jìn)思路和改進(jìn)方法等。2.1指令集結(jié)構(gòu)的分類2.1.1指令集結(jié)構(gòu)的分類 指令集是軟硬件功能分配最主要的界面指令集結(jié)構(gòu)的分類分類所考慮的因素如下:(1)在CPU中操作數(shù)的存儲(chǔ)方法;(2)指令中顯式表示的操作數(shù)個(gè)數(shù);(3)操作數(shù)的尋址方式;(4)指令集所提供的操作類型;(5)操作數(shù)的類型和大小。2.1指令集結(jié)構(gòu)的分類按CPU中操作數(shù)的存儲(chǔ)方法分為:堆棧型指令集結(jié)構(gòu); 累加器型指令集結(jié)構(gòu); 通用寄

2、存器型指令集結(jié)構(gòu)RM及RR。2.1指令集結(jié)構(gòu)的分類CPU對(duì)操作數(shù)的不同存取方式CPU提供的暫存器ALU指令顯式表示的操作數(shù)個(gè)數(shù)運(yùn)算結(jié)果的目的地訪問(wèn)顯式操作數(shù)的方法堆棧0堆棧PUSH/POP累加器1累加器LOAD/STORE累加器一組寄存器2/3寄存器或存儲(chǔ)器LOAD/STORE寄存器或存儲(chǔ)器2.1指令集結(jié)構(gòu)的分類C=A+B在三種類型指令集結(jié)構(gòu)上的實(shí)現(xiàn)堆棧累加器寄存器(寄存器存儲(chǔ)器)寄存器(寄存器寄存器)PUSH ALOAD ALOAD R1,ALOAD R1,APUSH BADD BADD R1,BLOAD R2,BADDSTORE CSTORE C,R1ADD R3,R1,R2POP CST

3、ORE C,R32.1指令集結(jié)構(gòu)的分類三類指令集結(jié)構(gòu)的優(yōu)缺點(diǎn)類型優(yōu)點(diǎn)缺點(diǎn)堆棧型表示計(jì)算的簡(jiǎn)單模型;指令短小不能隨機(jī)訪問(wèn)堆棧,從而很難生成有效代碼;堆棧是瓶頸,很難被高效地實(shí)現(xiàn)累加器型減小了機(jī)器的內(nèi)部狀態(tài);指令短小由于累加器是唯一的暫存器,這種機(jī)器的存儲(chǔ)器通信開銷很大寄存器型是代碼生成的最一般模型所有操作數(shù)均需命名,且要顯示表示,因而指令比較長(zhǎng)2.1指令集結(jié)構(gòu)的分類2.1.2 通用寄存器型指令集結(jié)構(gòu)分類利用寄存器的優(yōu)勢(shì):(1)在表達(dá)式求值方面,具有更大的靈活性;(2)利用寄存器存放變量,不但能夠減少存儲(chǔ)器的通信量,加快程序的執(zhí)行速度,而且和存儲(chǔ)器相比;(3)還可以用更少的地址位來(lái)尋址寄存器,從而

4、能夠有效改進(jìn)程序的目標(biāo)代碼大小。2.1指令集的結(jié)構(gòu)分類ALU指令中操作數(shù)個(gè)數(shù)和存儲(chǔ)器操作數(shù)個(gè)數(shù)ALU指令中存儲(chǔ)器操作數(shù)個(gè)數(shù)ALU指令中操作數(shù)的最大個(gè)數(shù)機(jī)器實(shí)例02IBM RT-PC3SPARC,MIPS12PDP-10,IBM 360,Motorola 680003IBM 360的部分指令22PDP-11,部分IBM 360指令333VAX2.2 尋址技術(shù)通用寄存器型指令集結(jié)構(gòu)可分為三類:寄存器寄存器型(R-R);寄存器存儲(chǔ)器型(R-M);存儲(chǔ)器存儲(chǔ)器型(M-M)。尋址方式指令實(shí)例含義寄存器尋址ADD R4,R3RegR4 RegR4 + RegR3 立即值尋址ADD R4,#3RegR4 R

5、egR4+3偏移尋址ADD R4,100(R1)RegR4 RegR4+Mem100+RegR1寄存器間接尋址ADD R4,(R1)RegR4 RegR4+MemRegR1索引尋址ADD R3,(R1+R2)RegR3 RegR3+MemRegR1+RegR2直接尋址ADD R1,(1001)RegR1 RegR1+Mem1001存儲(chǔ)器間接尋址ADD R1,(R3)RegR1 RegR1+MemMemRegR3自增尋址ADD R1,(R2)+RegR1 RegR1+MemRegR2RegR2 RegR2+d自減尋址ADD R1,-(R2)RegR2 RegR2-dRegR1 RegR1+Mem

6、RegR2縮放尋址ADD R1,100(R2)R3RegR1 RegR1+Mem100+RegR2+RegR3*d2.2 尋址技術(shù)2.2 尋址技術(shù)指令集結(jié)構(gòu)中選擇那些尋址方式?在指令集結(jié)構(gòu)中采用多種尋址方式可以顯著地減少程序的指令條數(shù),但同時(shí)可能增加實(shí)現(xiàn)的復(fù)雜度和使用這些尋址方式的指令的執(zhí)行時(shí)鐘周期數(shù)(CPI)。所以應(yīng)該選擇使用頻率比較高的尋址方式。統(tǒng)計(jì)表明,立即值尋址方式和偏移尋址方式的使用頻率非常高。2.2 尋址技術(shù)決定指令字長(zhǎng)度的主要因素有哪些?(1)指令集中指令的條數(shù);(2)CPU中通用寄存器的數(shù)目;(3)所支持存儲(chǔ)器容量的大小;(4)偏移尋址中所支持的偏移量大小;(5)立即值尋址中所

7、支持的立即值大小。統(tǒng)計(jì)表明75%99%的偏移量大小可用1216位表示;50%80%的立即值大小可用816位表示。2.3指令集結(jié)構(gòu)的功能設(shè)計(jì)指令集結(jié)構(gòu)的功能設(shè)計(jì)一種指令集結(jié)構(gòu)中的指令到底要支持哪些類型的操作呢?這就是所謂的指令集結(jié)構(gòu)的功能設(shè)計(jì)問(wèn)題。指令集結(jié)構(gòu)的功能設(shè)計(jì)的兩個(gè)方向:CISC:盡量多地支持各種類型的操作,實(shí)現(xiàn)軟件功能向硬件功能的轉(zhuǎn)移。RISC:只支持使用頻率比較高的操作,優(yōu)化這些操作的實(shí)現(xiàn)以提高性能。2.3指令集結(jié)構(gòu)的功能設(shè)計(jì)指令集結(jié)構(gòu)中操作的分類:操作類型實(shí)例算術(shù)邏輯運(yùn)算整數(shù)的算術(shù)和邏輯操作:加、減、乘、除、與、或等數(shù)據(jù)傳輸Load/Store控制分支、跳轉(zhuǎn)、過(guò)程調(diào)用和返回、自陷等

8、系統(tǒng)操作系統(tǒng)調(diào)用、虛擬存儲(chǔ)器管理等浮點(diǎn)浮點(diǎn)操作:加、減、乘、除等十進(jìn)制十進(jìn)制加、減、乘、除、十進(jìn)制到字符的轉(zhuǎn)換等字符串字符串移動(dòng)、比較、搜索等圖形像素操作、壓縮、解壓操作等2.3.1 CISC指令集結(jié)構(gòu)的功能設(shè)計(jì)CISC計(jì)算機(jī)指令集結(jié)構(gòu)的功能設(shè)計(jì)CISC計(jì)算機(jī)提高性能的途徑:強(qiáng)化指令功能,減少程序指令的條數(shù)。增強(qiáng)機(jī)器指令功能的方法:1面向目標(biāo)程序增強(qiáng)指令功能;2面向高級(jí)語(yǔ)言和編譯程序改進(jìn)指令系統(tǒng);3面向操作系統(tǒng)的優(yōu)化改進(jìn)指令系統(tǒng)。2.3.1 CISC指令集結(jié)構(gòu)的功能設(shè)計(jì)面向目標(biāo)程序增強(qiáng)指令功能:用一條新的指令代替使用頻率較高的指令串,或優(yōu)化使用頻率較高的指令。主要方法:(1)提高運(yùn)算型指令功能

9、;(2)提高傳送指令功能;(3)增加程序控制指令功能。2.3.1 CISC指令集結(jié)構(gòu)的功能設(shè)計(jì)面向高級(jí)語(yǔ)言和編譯程序改進(jìn)指令系統(tǒng): 編譯程序形成的目標(biāo)程序比直接用機(jī)器語(yǔ)言編寫的程序要長(zhǎng); 編譯程序運(yùn)行時(shí)間在總的運(yùn)行時(shí)間中占較大的比例; 編譯通過(guò),目標(biāo)程序運(yùn)行時(shí)沒(méi)通過(guò)時(shí),查找錯(cuò)誤很困難。2.3.1 CISC指令集結(jié)構(gòu)的功能設(shè)計(jì)改進(jìn)方法:(1)增加對(duì)高級(jí)語(yǔ)言和編譯系統(tǒng)支持的指令功能。(a)對(duì)使用頻度高的高級(jí)語(yǔ)言語(yǔ)句,設(shè)置專門的機(jī)器指令或增加相應(yīng)指令的功能,以提高編譯速度和執(zhí)行速度;(b)增加指令結(jié)構(gòu)的規(guī)整性來(lái)改進(jìn)指令系統(tǒng)。(2)高級(jí)語(yǔ)言計(jì)算機(jī)指令系統(tǒng)。2.3.1 CISC指令集結(jié)構(gòu)的功能設(shè)計(jì)面向操

10、作系統(tǒng)的優(yōu)化改進(jìn)指令系統(tǒng): 對(duì)中斷處理、進(jìn)程管理、存儲(chǔ)管理和保護(hù)、系統(tǒng)工作狀態(tài)的建立和切換等提供支持。通過(guò)設(shè)置支持系統(tǒng)工作狀態(tài)和訪問(wèn)方式轉(zhuǎn)換的指令、支持進(jìn)程切換的指令、支持進(jìn)程同步和互斥的指令等達(dá)到優(yōu)化實(shí)現(xiàn)操作系統(tǒng)的目的。2.3.1 CISC指令集結(jié)構(gòu)的功能設(shè)計(jì)CISC結(jié)構(gòu)的缺點(diǎn):(1)指令的使用頻率相差懸殊;(2)體系結(jié)構(gòu)復(fù)雜,增加研制時(shí)間和成本,容易出現(xiàn)設(shè)計(jì)錯(cuò)誤;(3)VLSI設(shè)計(jì)困難,不利于單片集成;(4)復(fù)雜指令運(yùn)行速度慢;(5)指令功能不均衡,不利于流水。2.3.2 RISC指令集結(jié)構(gòu)的功能設(shè)計(jì)進(jìn)行RISC計(jì)算機(jī)指令集結(jié)構(gòu)功能設(shè)計(jì)時(shí)必須遵循如下原則:(1)選擇使用頻率最高的指令,并補(bǔ)

11、充一些最有用的指令;(2)每條指令的功能應(yīng)盡可能簡(jiǎn)單,并在一個(gè)機(jī)器周期內(nèi)完成;(3)所有指令長(zhǎng)度均相同;(4)只有Load和Store才訪問(wèn)存儲(chǔ)器,其他指令操作均在寄存器之間進(jìn)行;(5)以簡(jiǎn)單有效方式支持高級(jí)語(yǔ)言。2.3.2 RISC指令集結(jié)構(gòu)的功能設(shè)計(jì)(補(bǔ))RISC的重疊寄存器窗口技術(shù)(1)在處理器中設(shè)置數(shù)量比較大的寄存器堆,并把它們劃分成很多個(gè)窗口。(2)其中一個(gè)窗口為公共窗口,用來(lái)存放全局變量。(3)每個(gè)過(guò)程使用三個(gè)相鄰的窗口和公共窗口。(4)本過(guò)程所使用的三個(gè)窗口中,有一個(gè)高區(qū)窗口,一個(gè)本區(qū)窗口和一個(gè)低區(qū)窗口。(5)被調(diào)用過(guò)程的高區(qū)窗口與調(diào)用過(guò)程的低區(qū)窗口重疊,用于調(diào)用過(guò)程向被調(diào)用過(guò)程

12、傳遞參數(shù),或用于被調(diào)用過(guò)程向調(diào)用過(guò)程傳送結(jié)果。故稱作為重疊寄存器窗口。2.3.2 RISC指令集結(jié)構(gòu)的功能設(shè)計(jì)(補(bǔ))RISC 的重疊寄存器窗口R137R132R131R122R121R116R9R0R115R106R105R100A過(guò)程的窗口B過(guò)程的窗口高區(qū)高區(qū)本區(qū)本區(qū)低區(qū)低區(qū)重疊窗口,用于傳遞參數(shù)和結(jié)果全局變量全局變量2.3.3 控制指令控制指令在本書中,當(dāng)控制指令為無(wú)條件改變控制流時(shí),成為“跳轉(zhuǎn)”;當(dāng)控制指令有條件改變控制流時(shí),成為“分支”。有四類控制指令:條件分支、跳轉(zhuǎn)、過(guò)程調(diào)用、過(guò)程返回,改變控制流的大部分指令是條件分支指令。2.3.2 控制指令每次CALL/RETURN的開銷計(jì)算機(jī)執(zhí)

13、行時(shí)間(us)執(zhí)行指令的條數(shù)訪問(wèn)存儲(chǔ)器的次數(shù)VAX-1126519PDP-11221915MC 6800019912RISC 260.22.3.3 控制指令如何表示分支條件?表示分支條件的技術(shù)測(cè)試分支條件的方法優(yōu)點(diǎn)缺點(diǎn)條件碼(CC)在程序的控制下,由ALU操作設(shè)置特殊的位可以自由設(shè)置分支條件因?yàn)楸仨殢囊粭l指令將分支條件信息傳送到分支指令,所以CC是額外的狀態(tài),條件碼限制了指令順序條件寄存器根據(jù)比較結(jié)果測(cè)試條件寄存器簡(jiǎn)單占用了一個(gè)寄存器比較且分支比較操作是分支指令的一部分,通常這種比較是受一定限制的一條指令完成了兩條指令的功能分支指令中的操作增多2.3.3 控制指令如何指出目標(biāo)地址? 除返回指令

14、外,都在控制指令中給出目標(biāo)地址。一般方法是在指令中提供一個(gè)和程序計(jì)數(shù)器PC的相加的偏移量。這種尋址方式稱為PC相對(duì)尋址。使用PC相對(duì)尋址的好處:(1)控制轉(zhuǎn)移的目標(biāo)一般和當(dāng)前指令比較近,可以縮短控制指令中目標(biāo)地址字段的長(zhǎng)度;(2)使用PC相對(duì)尋址,可以使代碼在執(zhí)行時(shí)與它被載入的地址無(wú)關(guān)。如何確定控制指令中目標(biāo)地址字段的長(zhǎng)度?根據(jù)控制指令中偏移量大小的分布情況確定。2.3.3 控制指令對(duì)于過(guò)程調(diào)用和返回指令來(lái)說(shuō),如何保存機(jī)器狀態(tài)?機(jī)器狀態(tài):各個(gè)寄存器的值和返回地址,一般保存在內(nèi)存的特定區(qū)域,例如堆棧。指令集結(jié)構(gòu)是否提供保存指令?保存寄存器內(nèi)容的方法有兩種:“調(diào)用者保存”策略;“被調(diào)用者保存”策略

15、。2.4 操作數(shù)類型、表示和大小操作數(shù)類型、表示和大小數(shù)據(jù)類型是面向應(yīng)用、面向軟件系統(tǒng)所處理的各種數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)表示是硬件結(jié)構(gòu)能夠識(shí)別、指令系統(tǒng)可以直接調(diào)用的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)表示所表征的那些操作數(shù)類型是應(yīng)用軟件和系統(tǒng)軟件所處理的操作數(shù)類型的子集。2.4 操作數(shù)類型、表示和大小對(duì)指令所處理的操作數(shù)類型的表示方法有兩種:(1)操作數(shù)的類型由指令操作碼的編碼指定。這是最常見的方法;(2)數(shù)據(jù)可以附上由硬件解釋的標(biāo)記,由這些標(biāo)記指定操作數(shù)的類型,從而選擇適當(dāng)?shù)倪\(yùn)算。一般的操作數(shù)類型大小選擇主要有:字節(jié)、半字、單字和雙字。2.5 指令集格式的設(shè)計(jì)指令集格式的設(shè)計(jì)指令集中的每條指令由操作碼和地址碼組成,指令

16、集格式的設(shè)計(jì)就是要確定操作碼字段和地址碼字段的大小及其組合形式,以及各種尋址方式的編碼方法。格式優(yōu)化設(shè)計(jì)的目標(biāo)有兩個(gè):(1)節(jié)省程序的存儲(chǔ)空間;(2)指令格式要盡量規(guī)整,以減少硬件譯碼的復(fù)雜度。2.5 指令集格式的設(shè)計(jì)在指令集格式的設(shè)計(jì)中,必須在以下三個(gè)方面折衷:(1)盡可能增加寄存器數(shù)目和尋址方式類型;(2)充分考慮寄存器字段和尋址方式字段對(duì)指令平均字長(zhǎng)的影響,以及它們對(duì)目標(biāo)代碼大小的影響;(3)在具體實(shí)現(xiàn)中能夠容易地處理所設(shè)計(jì)的指令集格式。2.5 .1 尋址方式的表示方法尋址方式的表示方法(1)將尋址方式編碼于操作碼中,由操作碼在描述指令操作的同時(shí),也描述了相應(yīng)操作的尋址方式;(2)為每個(gè)

17、操作數(shù)設(shè)置一個(gè)地址描述符,由該地址描述符表示相應(yīng)操作數(shù)的尋址方式。2.5 .2 指令集格式的選擇指令集格式的選擇有三種指令集編碼格式:(1)變長(zhǎng)編碼格式;當(dāng)有多種尋址方式和操作類型時(shí),常采用這種格式。(2)固定長(zhǎng)度編碼格式;將操作類型和尋址方式組合編碼在操作碼中,當(dāng)尋址方式和操作類型非常少時(shí),常采用這種格式。(3)混合型編碼格式,其目的是提供一定類型的指令字長(zhǎng),期望能夠兼顧降低目標(biāo)代碼長(zhǎng)度和降低譯碼復(fù)雜度兩個(gè)目標(biāo)。補(bǔ)充: Huffman編碼法操作碼的優(yōu)化表示操作碼的表示方法通常有三種:固定長(zhǎng)度操作碼,Huffman編碼法,擴(kuò)展編碼法。Huffman壓縮的思想高概率指令的操作碼用較短的位數(shù)表示,

18、低概率指令的操作碼用較長(zhǎng)的位數(shù)表示,就可以使得指令操作碼的平均長(zhǎng)度較短。所以指令操作碼的優(yōu)化的前提是知道各條指令在程序中出現(xiàn)的概率。補(bǔ)充: Huffman編碼法操作碼的信息源熵實(shí)例:I1:0.40; I2:0.30; I3:0.15; I4:0.05; I5:0.04; I6:0.03 I7:0.03信息源熵 H=0.401.32 +0.301.74+0.152.74+0.054.32 +0.044.64+0.035.06+0.035.06 =2.17補(bǔ)充: Huffman編碼法操作碼表示的信息冗余量采用固定長(zhǎng)度操作碼時(shí)信息冗余量=(3-2.17)/(2.17)=0.28補(bǔ)充: Huffman

19、編碼法Huffman編碼法Huffman樹的生成方法:1)將所有指令的使用頻度由小到大排序,每個(gè)頻度作為一個(gè)節(jié)點(diǎn):2)選擇其中頻度最小的兩個(gè)節(jié)點(diǎn),將它們合并成一個(gè)新的節(jié)點(diǎn),新節(jié)點(diǎn)的頻度是這兩個(gè)節(jié)點(diǎn)頻度的和;3)將新節(jié)點(diǎn)按頻度大小插入未合并的節(jié)點(diǎn)中;4)再?gòu)奈春喜⒌墓?jié)點(diǎn)中選擇兩個(gè)頻度最小節(jié)點(diǎn),將它們合并成一個(gè)新的節(jié)點(diǎn);5)如此繼續(xù)進(jìn)行,直至全部節(jié)點(diǎn)合并完成形成根節(jié)點(diǎn);6)之后,從根節(jié)點(diǎn)開始,向下延伸,分出兩個(gè)分支,分別用一位代碼的“0”和“1”來(lái)表示。補(bǔ)充: Huffman編碼法I70.03I60.03I50.04I40.05I30.15I20.30I10.400.090.060.150.300

20、.601.00011010001101從根節(jié)點(diǎn)開始,沿線到達(dá)各指令所經(jīng)過(guò)的代碼序列就構(gòu)成該指令的操作碼。短碼不可能是長(zhǎng)碼的前綴。I1:0I2:10I3:110I4:11100I5:11101I6:11110I7:11111補(bǔ)充: Huffman編碼法Huffman編碼指令平局長(zhǎng)度L=0.401+0.302+0.153+0.055 +0.045+0.035+0.035 =2.20信息冗余量為(2.20-2.17)2.201.36%無(wú)法達(dá)到理論值2.17,是因?yàn)椴僮鞔a必須用整數(shù)位表示。補(bǔ)充: Huffman編碼法擴(kuò)展Huffman編碼介于固定長(zhǎng)度操作碼編碼和Huffman編碼之間的一種編碼方式,操

21、作碼長(zhǎng)度雖不是定長(zhǎng)的,但是只有幾種碼長(zhǎng),但仍然是概率高的指令用短操作碼表示,概率低的指令用短操作碼表示。仍然符合Huffman壓縮的思想。補(bǔ)充: Huffman編碼法I1:00I2:01I3:10I4:1100I5:1101I6:1110I7:1111擴(kuò)展Huffman編碼擴(kuò)展Huffman編碼指令平局長(zhǎng)度L=0.402+0.302+0.152+0.054+0.044+0.034+0.034 =2.30信息冗余量為(2.30-2.17)2.305.65%補(bǔ)充:B-1700計(jì)算機(jī)操作碼編碼方式比較 B-1700計(jì)算機(jī)操作碼編碼方式比較編碼方式整個(gè)操作系統(tǒng)所用指令總位數(shù)改進(jìn)的百分比8位定長(zhǎng)編碼30

22、124804-6-10擴(kuò)展編碼18496639%全Huffman編碼17234643%補(bǔ)充:地址碼的優(yōu)化表示地址碼的優(yōu)化表示 與地址碼域長(zhǎng)度相關(guān)的主要因素:地址碼的個(gè)數(shù)、操作數(shù)所存放的存儲(chǔ)設(shè)備(通用寄存器、主存儲(chǔ)器、堆棧等)、存儲(chǔ)設(shè)備的尋址空間大小、編址方式、尋址方式等。補(bǔ)充:地址碼的優(yōu)化表示地址碼個(gè)數(shù)的選擇(1)三地址指令:op Ad,As1,As2(2)二地址指令:op Ad,As(3)一地址指令:op A(4)零地址指令:op補(bǔ)充:地址碼的優(yōu)化表示表達(dá)式x=(a*b+c-d)/(e+f)的不同實(shí)現(xiàn)三地址二地址R型二地址一地址零地址MUL X,A,BADD X,X,CSUB X,X,DADD Y,E,FDIV X,X,YMOVE X,AMUL X,BADD X,CSUB X,DMOVE Y,EADD Y,FDIV X,YMOVE R1,AMUL R1,BADD R1,CSUB R1,DMOVE R2,EADD R2,FDIV R1,R2MOVE X,R1LOAD EADD FSTORE XLOAD AM

溫馨提示

  • 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)論