




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第四章指令系統4.1指令系統的發展與性能要求4.1.1指令系統的發展計算機的程序是由一系列的機器指令組成的。指令就是指揮計算機執行某種操作的命令。從計算機組成的層次結構來說,指令可以分為:1.微指令是微程序級屬于硬件2.宏指令由若干條機器指令組成屬于軟件3.機器指令介于上述兩者之間通常稱為指令每一條指令可以獨立的完成一個算術運算或邏輯運算。4.1指令系統的發展與性能要求4.1.1指令系統的發展一臺計算機中所有機器指令的集合,稱為這臺計算機的指令系統。指令系統的格式與功能不僅直接影響到機器的硬件結構,而且也直接影響到系統軟件,影響到機器的適用范圍。早期的計算機,由于硬件結構簡單,指令系統就只有定點加減、邏輯運算、數據傳送、轉移等幾十條指令。60年代,隨著集成電路的出現,又設置了乘除運算、浮點運算、十進制運算、字符串處理等指令,達一二百條。4.1指令系統的發展與性能要求4.1.1指令系統的發展
70年代末期,隨著VLSI技術的發展,大多數計算機的指令系統多達幾百條。稱為復雜指令系統計算機,簡稱為CISC。但CISC的研制周期長,難以保證正確性,不易調試,很多指令使用頻率低且造成硬件資源浪費。為此又提出了精簡指令系統計算機,簡稱RISC。4.1指令系統的發展與性能要求4.1.2對指令系統性能的要求一個完善的指令系統應滿足如下四個方面的要求:1.完備性:指用匯編語言編寫各種程序時,指令系統直接提供的指令足夠使用。2.有效性:指該指令系統所編寫的程序能夠高效的運行。占空小、速度快。3.規整性:指指令系統的對稱性、勻齊性、指令格式和數據格式的一致性。4.兼容性:同一系列的不同機型,指令系統兼容。但不同機型在結構和性能上有差異,完全兼容是不可能的。只能做到“向上兼容”。4.2指令格式
一條指令應提供兩方面的信息:1、是指明操作的性質,即干什么工作2、指明操作數的來源,地址指令的基本格式如下:在指令格式設計時應相應地考慮如下問題:①指令字長需要多少位,是定字長還是變字長;②操作碼是定長還是擴展,是一段還由若干段組合;③地址結構:一條指令的執行涉及到哪些地址,在指令中給出哪些地址,哪些地址隱含的約定;操作碼字段OP地址碼字段A4.2指令格式④尋址方式:如何獲得操作數地址,是直接給出還是間接給出,或是經過變換計算獲得等。4.2指令格式4.2.1指令字長度1、一條指令字中包含二進制代碼的位數,稱為指令字長度。指令字越長→表示的信息越多,功能越豐富,→占用空間就越多→讀取的時間越長。指令字越短→表示的信息越少,功能越簡單,→占用空間就越少→讀取的時間越短。
4.2指令格式
4.2.1指令字長度2、機器字長:是指計算機能直接處理的二進制數據的位數,一般與主存單元的位數一致。由指令字長和機器字長之間的關系又可分為半字長指令、單字長指令,雙字長指令。采用單字長指令,則訪問內存所花費的時間短。采用多字長指令,可以有足夠的地址位來解決訪問內存任何單元的尋址問題,但缺點是必須兩次或多次訪問內存,浪費時間,且又占用了更多的內存空間。4.2指令格式4.2.1指令字長度3、固定字長和變字長指令⑴如果各種指令字長度是相等的,稱為等長指令字結構。特點:結構簡單、易于硬件實現;⑵如果各種指令字長度是隨指令功能而變化,稱為變長指令字結構。特點:能充分利用指令長度、但指令的控制較復雜。早期計算機如NOVA系列,采用定字長指令格式,每條指令16位?,F代計算機廣泛應用變字長指令,例如,IBM370系列,它的指令格式有16位(半字)的,有32位(單字)的,還有48位(一個半字)的。Pentium系列機,指令格式也是可變的:有8位、16位、32位、64位不等。4.2.2操作碼格式指令的操作碼OP表示指令應進行什么性質的操作。操作碼的位數決定了該操作類型的多少。操作碼字段不同的編碼表示不同的操作。操作碼大致有以下兩種:1.定長操作碼:該操作碼的位數與位置固定,通常占據指令最前面的幾位。特點:便于硬件設計和指令譯碼時間短。該方式廣泛用于字長較長的、大中型計算機和小型計算機以及RISC中。例如:IBM370和VAX-11系列機,操作碼長度均為8位。
4.2指令格式2、擴展操作碼對于操作碼長度不固定的指令,其操作碼分散在指令的不同字段中。這種格式可有效地壓縮操作碼的平均長度,在字長較短的微型機中廣泛采用。例如PDP-11、Intel8086/80386等,操作碼的長度是可變的。操作碼長度可變使控制器設計復雜化。通常采用擴展操作碼技術,使操作碼的長度隨地址數的減少而增加,不同地址數的指令可以有不同的操作碼,從而有效的縮短指令字長。4.2指令格式2、擴展操作碼
設某機器的指令長度為16位,有4位基本的操作碼字段和兩個6位地址碼字段,其格式如下:OPA1A21512116504.2指令格式①.二地址指令只用15條,由4位基本操作碼0000-----1110組合給出,剩余一個1111用于把操作碼擴展到A1。②.單地址指令由操作碼1111000000----1111111110給出,剩余一個1111111111用于把操作碼擴展到A2。③.零地址的16位操作碼由1111111111000000-----1111111111111111給出。二地址指令有15條,單地址指令有63條,零地址指令有64條,共計142條指令。4.2指令格式4.2.3地址結構
根據指令中地址數的多少可分為幾地址指令。一般的操作數有被操作數、操作數及操作結果這三種數,因而就形成了三地址指令格式?,F在又發展成為二地址格式、一地址格式和零地址格式。⑴零地址格式:只有操作碼,沒有地址碼。如停機指令。⑵一地址指令:只有一個地址碼,另一個操作數地址隱含指定,如累加器AC。(AC)OP(A)→AC4.2指令格式4.2.3地址結構
⑶二地址格式:它有兩個操作數地址字段A1和A2。(A1)OP(A2)→A1⑷三地址格式:它有三個操作數地址字段A1、A2和A3。(A1)OP(A2)→A34.2指令格式4.2.3地址結構從操作數的物理位置來說,又可分為三種類型:第一種:訪問內存的指令格式,存貯器——存貯器SS型第二種:訪問寄存器的指令格式,寄存器——寄存器RR型第三種:寄存器——存貯器RS型請問哪種速度最快?哪種最慢?RR型最快,SS型最慢,4.2指令格式4.2.4指令助記符
由于硬件只能識別1和0,所以采用二進制操作碼是必要的,但書寫程序十分麻煩。為了便于書寫和閱讀程序,每條指令通常用幾個英文縮寫字母來表示,可以望文生義,這種縮寫碼叫指令助記符。例如:ADD001SUB010MOV0114.2指令格式指令格式舉例不同的機器有不同的指令格式1、IBM370的指令格式。IBM370曾經是大型機的重要代表,它根據操作數的不同來源,分為:RR(寄存器——寄存器)型;RS(寄存器——存貯器)型;RX(寄存器——變址存貯器)型;SI(寄存器——立即數)型;SS(存貯器——存貯器)型;指令字長度可變,但操作碼長度不變。相應地設置了5種主要的指令格式如下:
4.2指令格式RR格式(16位)264400OPRiRjRX格式(32位)264441201OPRiRxRbD4.2指令格式RS格式(32位)264441210OPRiRjRbDSI格式(32位)26841210OPIRbD4.2指令格式SI格式(48位)26841241211OPLRb1D1Rb2D2上圖中,Ri,Rj為16個通用寄存器中的任意兩個寄存器號,分別用4位字段表示。Rx——為變址寄存器號Rb——為基址寄存器號D——為位移量,占12位I——為立即數,占8位L——可以是一個8位字段或兩個4位字段,用來指定一個或兩個操作數的長度。4.2指令格式2、PDP-11指令格式PDP-11曾是16位機的典型代表,其指令的基本字長為16位,但根據不同的尋址方式,在16位指令字之后還可以跟2~4字節的存貯器地址,采用了擴展操作碼的方法。下面介紹了幾種16位的指令字格式。
4.2指令格式15121198 65320①操作碼
尋址方式寄存器號尋址方式寄存器號159865320②操作碼寄存器號尋址方式寄存器號
159865320③操作碼寄存器號尋址方式4.2指令格式
15870④操作碼位移量
15540⑤
操作碼條件碼4.2指令格式3、MIPSR4000指令格式
MIPSR4000是上世紀80年代后期推出的RISC計算機系統,指令字長32位,操作碼字段固定6位,沒有專門的尋址方式字段,由指令格式確定各操作數的尋址方式。它指令格式簡單、指令數量少,32個通用寄存器。其算術指令格式(R型)如下:6位5位5位5位5位6位oprsrtrdshamtfunct4.2指令格式3、MIPSR4000指令格式在MIPS中,訪問存儲器需要使用數據傳送指令。此時的指令格式,稱為I型(立即數)指令,其指令格式如下:6位5位5位16位oprsrt常數或地址4.2指令格式3、MIPSR4000指令格式J型指令主要是無條件跳轉指令,指令中給出的是26位直接地址,只要將當前PC的高4位拼接上26位直接地址,最后添上兩個“0”就可以得到32位的跳轉目標地址。其指令格式如下:
6位26位op直接地址4.2指令格式3、MIPSR4000指令格式部分MIPS指令字段值指令格式oprsrtrdshamtfunct常數或地址addR0regregreg032subR0regregreg034立即數加I8regreg常數lwI35regreg地址swI43regreg地址4.2指令格式[例1]假定C語言賦值語句“f=(g+h)-(i+j);”中變量i、j、f、g、h由編譯器分別分配給MIPS寄存器﹩t0~﹩t4(其寄存器編號對應為8~12)。要求給出該語句編譯后的MIPS機器代碼和匯編表示。4.2指令格式[解]:
只要用三條R型指令即可,兩條add和一條sub.Add﹩t5,﹩t3,﹩t4#g+h00000001011011000110100000100000Add﹩t6,﹩t0,﹩t1#i+j00000001000010010111000000100000sub﹩t2,﹩t5,﹩t6#f=(g+h)-(i+j)000000011010111001010000001000104.2指令格式[例2]指令格式如下所示,其中OP為操作碼,試分析指令格式的特點。1597430
OP--------源寄存器目標寄存器[解]:
(1)單字長二地址指令。(2)操作碼字段OP可以指定128條指令。(3)源寄存器和目標寄存器都是通用寄存器(可分別指定16個),所以是RR型指令,兩個操作數均在寄存器中。(4)這種指令結構常用于算術邏輯運算類指令。
4.2指令格式[例3]指令格式如下所示,OP為操作碼字段,試分析指令格式特點。15107430
OP--------源寄存器變址寄存器位移量(16位)
[解]:
(1)雙字長二地址指令,用于訪問存儲器。(2)操作碼字段OP為6位,可以指定64種操作。(3)一個操作數在源寄存器(共16個),另一個操作數在存儲器中(由變址寄存器和位移量決定)所以是RS型指令。4.3指令和數據的尋址方式4.3.1指令的尋址方式一種是順序尋址方式,另一種是跳躍尋址方式。1.順序尋址方式指令地址在內存中按順序安排,當執行一段程序時,通常是一條指令接一條指令的順序執行。從存儲器取出第一條指令,然后執行這條指令;接著從存儲器取出第二條指令,在執行第二條指令;接著再取出第三條指令……這種程序順序執行的過程,我們稱為指令的順序尋址方式。為此,必須使用程序計數器(又稱指令指針寄存器)PC來計數指令的順序號,該順序號就是指令在內存中的地址.4.3指令和數據的尋址方式2.跳躍尋址方式
當程序轉移執行的順序時,指令的尋址就采取跳躍尋址方式。所謂跳躍,是指下條指令的地址碼不是由程序計數器給出,而是由本條指令給出。程序跳躍后,按新的指令地址開始順序執行。采用指令跳躍尋址方式,可以實現程序轉移或構成循環程序。指令系統中的各種條件轉移或無條件轉移指令,就是為了實現指令的跳躍尋址而設置的。4.3指令和數據的尋址方式4.3.2操作數的尋址方式隱含尋址立即尋址直接尋址間接尋址寄存器尋址方式寄存器間接尋址方式基值尋址方式變址尋址方式相對尋址方式4.3
指令和數據的尋址方式隱含尋址這種類型的指令,不是明顯地給出操作數的地址,而是指令中隱含著操作數的地址。4.3指令和數據的尋址方式立即地址
指令的地址字段指出的不是操作數的地址,而是操作數本身,這種尋址方式稱為立即尋址。立即尋址方式的特點是指令執行時間很短,因為它不需要訪問內存取數,從而節省了訪問內存的時間。例如:
#表示立即尋址的特征,A表示立即數。優點:操作數在指令中,可立即獲得,不必訪問存儲器;缺點:A的位數限制了立即數的范圍。OP#A4.3指令和數據的尋址方式直接尋址直接尋址是一種基本的尋址方法,其特點是:在指令格式的地址字段中直接指出操作數在內存的地址A。由于操作數的地址直接給出而不需要經過某種變換或運算,所以稱這種尋址方式為直接尋址方式。
操作數=2000HOPXA=1350H。2000H1350H4.3指令和數據的尋址方式直接尋址優點:尋找操作數簡單,對主存的訪問只需要一次。缺點:在于A的位數限制了操作數的尋址范圍,直接尋址的地址不能修改,使程序不能靈活地處理數組以及方便地實現程序循環,程序的位置也不能在存貯器中浮動,給多道程序的運行和管理帶來不便。4.3指令和數據的尋址方式間接尋址
間接尋址是相對于直接尋址而言的,在間接尋址的情況下,指令地址字段中的形式地址A不是操作數的真正地址,而是操作數地址的指示器,或者說A單元的內容才是操作數的有效地址。一般要設置一個尋址特征位給予指示。優點:1.擴大了操作數的尋址范圍;2.便于編制程序;缺點:指令執行時需要兩次或多次訪問存儲器,使指令執行時間延長。4.3指令和數據的尋址方式操作數=1234HOPX2A=1000H
操作數地址=2000HS=1234H1000H2000H4.3指令和數據的尋址方式
寄存器尋址方式
當操作數不放在內存中,而是放在CPU的通用寄存器中時,可采用寄存器尋址方式。此時指令中給出的操作數地址不是內存的地址單元號,而是通用寄存器的編號。
優點:⑴不需要訪問存儲器,減少了執行時間;
⑵指令字較短。4.3指令和數據的尋址方式寄存器間接尋址方式
寄存器間接尋址方式與寄存器尋址方式的區別在于:指令格式中的寄存器內容不是操作數,而是操作數的地址,該地址指明的操作數在內存中。4.3指令和數據的尋址方式基址尋址方式:目的是為了擴大操作數的尋址空間。基址寄存器的位數可以大于形式地址A的位數。格式:OPRbAA為位移量有效地址=(Rb)+A
基址尋址方式可以便于實現對較大主存空間的訪問。例如,將主存空間分段,每個段首地址存放在基址寄存器中,段內的位移量由形式地址A指出。只要對基址寄存器的內容修改,便可訪問主存的任何一個單元。4.3指令和數據的尋址方式基址尋址方式
基址寄存器在多道程序中很有用。用戶程序存放在哪個段,由操作系統決定,基址寄存器由操作系統賦值,用戶不必關心。用戶只需修改位移量A?;芳拇嫫鲬芴峁┤珠L地址碼,能夠指向主存的任一單元。位移量不必是全字長,這是由于程序運行時的區域局限性所定。4.3指令和數據的尋址方式變址尋址方式:變址方式是為了靈活的修改地址以適應連續區間的操作格式:OPRxAA為形式地址,應該提供全字長的地址碼,能夠指向主存的任一單元。它的位數應該較長。
有效地址=(Rx)+A例如對一個數組進行操作時,可以將該數組的首地址作為形式地址,變址寄存器中存放位移量,通過修改變址寄存器的內容,可以訪問數組中任何一個元素。
4.3指令和數據的尋址方式變址尋址方式變址尋址方式雖然與基址尋址方式極為相似,但應用場合不同,有較大區別?;穼ぶ贩绞街饕糜跒槌绦蚧驍祿峙浯鎯臻g,Rb的內容由操作系統決定,在程序執行過程中是不變的,而指令中的位移地址A是可變的。變址尋址方式中,變址寄存器中的內容是由用戶設定的,在程序執行中可變,而指令中的位移地址A是不變的。主要用于處理數組問題,特別適合編制循環程序。4.3指令和數據的尋址方式基址加變址方式結合了兩者的優點有效地址=(基址量)+(變址量)+位移量這樣的尋址方式可以方便的處理兩維數組。例如讓基址寄存器內容指向數組起始端,基址加位移量為其一行數組的起點,而變址寄存器的內容為一行數組中元素與起點間的距離。
4.3指令和數據的尋址方式相對尋址是把程序計數器PC的內容加上指令格式中的形式地址A而形成操作數有效地址。程序計數器的內容就是當前指令的地址。因此,所謂“相對”尋址,就是相對于當前指令地址而言。采用相對尋址方式的好處是程序員勿需用指令的絕對地址編程,因而所編程序可以放在內存任何地方。4.3指令和數據的尋址方式
PC操作數=1234H+假設A=1000H,PC=2000H,則有效地址=(PC)+A=2000H+1000H=3000H操作數=(3000H)=1234HOPX3A1234H3000H例題:設相對尋址的轉移指令占3個字節,第一個字節為操作碼,第二、三字節為相對位移量(補碼表示),而且數據在存儲器中以低字節地址為字地址的存放方式。每當CPU從存儲器取出一個字節時,就自動完成(PC)+1→(PC)問:(1)若PC當前值為240(十進制),要求轉移到290(十進制),則轉移指令的第二、三字節的機器代碼是什么?(2)若PC當前值為240(十進制),要求轉移到200(十進制),則轉移指令的第二、三字節的機器代碼是什么?解:(1)當前PC=240,取出指令后,PC=243,要求轉移到290,所以位移量為290-243=47,補碼表示為2FH。故該轉移指令的第二字節為2FH,第三字節為00H。(2)當前PC=240,取出指令后,PC=243,要求轉移到200,所以位移量為200-243=-43,補碼表示為D5H。故該轉移指令的第二字節為D5H,第三字節為FFH。4.3指令和數據的尋址方式在設計指令系統中,需要考慮兩方面:一方面是選取哪些尋址方式才能滿足程序需要,又能使編程靈活方便;另一方面是:考慮CPU解釋執行的硬件代價,以及執行速度。
思考題2.比較直接尋址、間接尋址、寄存器尋址和寄存器間接尋址、基址尋址的速度快慢。
由快到慢的順序是:寄存器尋址、直接尋址、寄存器間接尋址、基址尋址和間接尋址4.3指令和數據的尋址方式[例3]一種二地址RS型指令的結構如下所示:6位4位1位2位16位
OP---通用寄存器IX偏移量A其中I為間接尋址標志位,X為尋址模式字段,A位偏移量字段。通過I,X,A的組合,可構成下表所示的尋址方式。請寫出六種尋址方式的名稱。尋址方式IX有效地址E算法說明(1)000E=A(2)001E=(PC)+/-APC為程序計數(3)010E=(R2)+/-AR2為變址寄存器(4)111E=(R3)(5)100E=(A)(6)011E=(R1)+/-AR1為基址寄存器4.3指令和數據的尋址方式解:
⑴直接尋址⑵相對尋址⑶變址尋址⑷寄存器間接尋址⑸間接尋址⑹基址尋址4.3指令和數據的尋址方式[例4]某16位機器所使用的指令格式和尋址方式如下所示,該機有兩個20位基址寄存器,四個16位變址寄存器,十六個16位通用寄存器指令匯編格式中的S(源),D(目標)都是通用寄存器,M是主存中的一個單元。三種指令的操作碼分別是MOV(OP)=(A)H,STA(OP)=(1B)H,LDA(OP)=(3C)H。MOV是傳送指令,STA為寫數指令,LDA為讀數指令。4.3指令和數據的尋址方式1510987430OP---目標源MOVS,DOP基址源變址STAS,M位移量OP---目標LDAS,M20位地址4.3指令和數據的尋址方式要求:⑴分析三種指令的指令格式與尋址方式特點。⑵CPU完成哪一種操作所花時間最短?哪一種操作所花時間最長?第二種指令的執行時間有時會等于第三種指令的執行時間嗎?⑶下列情況下每個十六進制指令字分別代表什么操作?其中如果有編碼不正確,如何改正才能成為合法指令?①(F0F1)H(3CD2)H②(2856)H③(6FD6)H④(1C2)H4.3指令和數據的尋址方式⑴第一種指令是單字長二地址指令,RR型;第二種指令是雙字長二地址指令,RS型,其中S采用基址尋址或變址尋址,R由源寄存器決定;第三種也是雙字長二地址指令,RS型,其中R由目標寄存器決定,S由20位地址(直接尋址)決定。
4.3指令和數據的尋址方式⑵處理機完成第一種指令所花時間最短,因為是RR型指令,不需要訪問存儲器。第二種指令所花時間最長,因為是RS型指令,需要訪問存儲器,同時要進行尋址方式的變換運算(基址或變址),這也需要時間。第二種指令的執行時間不會等于第三種指令,因為第三種指令雖然也訪問存儲器,但節省了求有效地址運算的時間開銷。4.3指令和數據的尋址方式
⑶根據已知條件知:MOV(OP)=001010,STA(OP)=011011,LDA(OP)=111100,將指令的十六進制格式轉換成二進制代碼且比較后可知:①(F0F1)(3CD2)H指令代表LDA指令,編碼正確,其含義是把主存(13CD2)H地址單元的內容取至15號寄存器。②(2856)H指令代表MOV指令,編碼正確,含義是把5號源寄存器的內容傳送至6號目標寄存器。4.3指令和數據的尋址方式③(6FD6)H是單字長指令,一定是MOV指令,但編碼錯誤,可改正為(28D6)H④(1C2)H是單字長指令,代表MOV指令,但編碼錯誤,可改正為(28C2)H。作業P137第1、5、8、9題
4.4堆棧尋址方式一、串聯堆棧串聯堆棧一般是由一組專門的寄存器組成,通常為8個或16個,數量較少,但速度很快。..\..\..\組成原理-白中英網絡版\Chap04\images\4.7.swf
4.4堆棧尋址方式二、存貯器椎棧串聯堆棧的缺點:①堆棧的數目有限②串聯堆棧的讀出是破壞性的③當進棧的數目大于堆棧本身的數量單元時,“老”的數據就會被破壞。因此,通常在主存中開辟一個堆棧區,一旦設定,該區域就不能作其它用途。為了便于操作,設置一個堆棧指示器SP。進棧:(A)→Msp,(sp)-1→sp出棧:(sp)+1→sp,(Msp)→A..\..\..\組成原理-白中英網絡版\Chap04\images\4.8.swf4.5典型指令數據傳送類指令算術運算類指令邏輯運算類指令程序控制類指令輸入輸出類指令字符串處理指令特權指令其他指令4.6CISC和RISC隨著計算機發展,都希望新機種能夠包含舊機種的所有指令和尋址方式,致使同一系列計算機指令系統變得越來越復雜。例如VAX11/780計算機有303條指令,16種尋址方式。Pentium機也有191條指令,9種尋址方式。這類機器被稱為復雜指令系統計算機(CISC)。當指令系統過于復雜時,機器的設計周期會很長,資金耗費也會很大。但是對CISC機的測試表明,最常使用的是一些最基本最簡單的指令,僅占指令總數的20%,但在程序中出現的頻率卻占80%。4.6CISC和RISC人們從80—20規律中得到啟示:能否用20%的簡單指令,重新組合不常用的80%的指令功能呢?這便引出了精簡指令系統計算機(RISC)。其主要特征如下:⑴選取使用頻率較高的一些簡單指令,復雜指令的功能由簡單指令的組合來完成;
⑵指令長度固定,指令格式和尋址方式種類少;
⑶只有取數/存數指令訪問存儲器,其余指令的操作都在寄存器之間進行。4.6CISC和RISC
⑷CPU中有多個通用寄存器;
⑸采用流水線技術,大部分指令在一個時鐘周期內完成;
⑹控制器采用組合邏輯控制,不用微程序控制;
⑺采用優化的編譯程序。
4.6CISC和RISC表4.6典型RISC機指令系統的基本特征通用寄型號指令數尋址方式指令格式存器數主頻/MHZRISC-I3122788RISC-II392213812MIPS5534164SPARC7543120-13625-33MIPSR300091333225I860653432504.6CISC和RISC的比較與CISC機相比較,RISC機的主要優點有:⑴充分利用了VLSI芯片的面積CISC機大多采用微程序控制器,微程序控制器占CPU芯片面積的50%,而RISC機采用硬布線控制器,只占CPU芯片面積的10%。⑵提高了計算機的速度①RISC機的指令譯碼比CISC機快。②RISC機中的通用寄存器多,減少了訪問內存次數。③RISC機采用寄存器窗口重迭技術。④RISC機采用的是硬布線控制器。⑤精簡指令系統適合流水線工作,大多指令在一個時鐘周期內完成。4.6CISC和RISC的比較與CISC機相比較,RISC機的主要優點有:⑶便于設計,可降低成本,提高可靠性。RISC機的邏輯簡單,設計出錯可能性小,有錯時也容易發現,可靠性高。⑷有效支持高級語言程序由于RISC指令少,尋址方式少,使編譯程序容易選擇更有效的指令和尋址方式,而且由于RISC機的通用寄存器多,使編譯程序的代碼優化效率提高。例1例1,某機字長16位,存貯器直接尋址空間為128字,變址時的位移量為-64~+63,16個通用寄存器均可作為變址寄存器,設計一套指令系統格式,滿足下列尋址類型的要求:(1)直接尋址的二地址指令3條(2)變址尋址的一地址指令6條(3)寄存器尋址的二地址指令8條(4)直接尋址的一地址指令12條(5)零地址指令32條試問還有多種代碼未用?例1解:(1)直接尋址的二地址指令格式為:
277OPA1A200,01,10共3條(2)變址尋址的一地址指令格式為:
547OPRXD11000……11101共6條例1(3)寄存器尋址的二地址指令格式為:
844OPR1R211110000……11110111共8條(4)直接尋址的一地址指令格式為:
97OPA111110000……111111011共12條例1
(5)零地址指令格式為:
16OP1111111000000000……1111111000011111共32條還有29-32=480種代碼未用。
例2例2,某機字長32位,CPU內有32個32位的通用寄存器,設計一種能夠容納64種操作的指令系統,設指令字長等于機器字長。(1)如果主存可直接或間接尋址,采用RS型指令,能直接尋址的最大的存儲空間是多少?畫出指令格式。(2)如果采用通用寄存器作為基址寄存器,則上述RS型指令的指令格式有何特點?畫出指令格式并指出這類指令可訪問多大的存儲空間?例2解:根據題意有:(1)61520OPIRDOP為6位,可容納64種操作;I為1位,為直接或間接尋址方式位;R為5位,為32個通用寄存器的編號;D為20位,為形式地址。這種指令可直接尋址的最大的存儲空間是220;例2(2)615515OPIRBDOP為6位,可容納64種操作;I為1位,為直接或間接尋址方式位;R為5位,為32個通用寄存器的編號;B為5位,為基址寄存器的編號;D為15位,為形式地址。這種指令可尋址的最大的存儲空間是232例3例3:若機器采用三地址格式訪問存儲器指令,試問完成一條加法指令共需要訪問幾次存儲器?若該機共能完成54種操作,操作數可在1K地址范圍內尋址,試畫出該機器的指令格式。解:依題意義有:6101010OPD1D2D3完成一條加法指令共需要訪問4次存儲器,一次取指令,兩次取操作數,一次存放結果。例4例4:某指令系統字長12位,地址碼長3位,試提出一種方案,使該指令系統有4條三地址指令、8條二地址指令、150條單地址指令。解:OPA1A2A3000xxxxxxxxx001xxxxxxxxx010xxxxxxxxx4條三地址指令011xxxxxxxxx
OPA1A2
100
000xxxxxx100
001xxxxxx.8條二地址指令.100
111xxxxxx
OPA1101
000000xxx101
000001xxx.64條單地址指令.101
111111xxx
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄉鎮醫院護士管理辦法
- 會計服務招標管理辦法
- 信息定向發布管理辦法
- 任縣園林綠化管理辦法
- 傳播領域投資管理辦法
- 企業防雷檢測管理辦法
- 中鐵修訂員工管理辦法
- 人員物資采購管理辦法
- 人員閉環運輸管理辦法
- 保密軟件采購管理辦法
- 工程合同平移協議
- 飼料倉庫衛生管理制度
- 酒店智能化系統方案設計
- 2025浙江慈溪市水務集團限公司招聘國企業人員19人易考易錯模擬試題(共500題)試卷后附參考答案
- 大理白族自治州2025屆小升初總復習數學測試卷含解析
- 2025吉林省安全員C證考試(專職安全員)題庫及答案
- 電鉆清洗消毒流程
- 良心裝飾公司招商方案
- 2025四川省安全員-C證考試(專職安全員)題庫附答案
- 《針法灸法》課件-持針、練針
- 2.4四等水準測量(教案)-高一《建筑工程測量》(高教版第2版)
評論
0/150
提交評論