指令格式設計舉例_第1頁
指令格式設計舉例_第2頁
指令格式設計舉例_第3頁
指令格式設計舉例_第4頁
指令格式設計舉例_第5頁

下載本文檔

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

文檔簡介

1、指令格式設計舉例綜合題綜合題1、若某計算機數(shù)據(jù)線、地址線均是、若某計算機數(shù)據(jù)線、地址線均是8bit,有一條相對尋,有一條相對尋址的無條件轉移指令存于內(nèi)存的址的無條件轉移指令存于內(nèi)存的20H單元中,指令給出的單元中,指令給出的位移量位移量D=00010101B,設該指令占用,設該指令占用2個字節(jié),試計算:個字節(jié),試計算:(1)取該指令時)取該指令時PC的內(nèi)容。的內(nèi)容。(2) 該指令執(zhí)行時該指令執(zhí)行時PC的內(nèi)容。的內(nèi)容。答: (1)取該指令時PC的內(nèi)容為20H(2)轉移地址=PC+2+D=00100000+00000010+00010101=00110111B2、假設(、假設(R)=1000,(,

2、(1000)=2000,(,(2000)=3000,(PC)=4000,問在以下方式中,訪問到的操作數(shù)的值,問在以下方式中,訪問到的操作數(shù)的值是什么?是什么?(1)寄存器尋址)寄存器尋址 RDATA=(R )=1000(2)寄存器間接尋址寄存器間接尋址DATA=(R) =(1000)=2000(3)直接尋址直接尋址 1000DATA=(1000) =2000(4)存儲器間接尋址存儲器間接尋址 (1000)DATA=(1000)=(2000)(5)相對尋址相對尋址 -2000EA=(PC )-2000=2000DATA=(EA)=(2000)=3000(6)立即數(shù)尋址立即數(shù)尋址 #2000 DA

3、TA=20003、某臺計算機的指令系統(tǒng)中共有、某臺計算機的指令系統(tǒng)中共有50條指令,試問:條指令,試問:(1)若采用固定長度編碼方式,其操作碼的變碼長度需)若采用固定長度編碼方式,其操作碼的變碼長度需要多少位?要多少位?(2)設該指令系統(tǒng)中有)設該指令系統(tǒng)中有10條指令的使用概率為條指令的使用概率為90%,其,其余指令為余指令為10%,若采用不等長編碼方式,其操作碼的平均,若采用不等長編碼方式,其操作碼的平均長度為多少?長度為多少?(3)若原指令系統(tǒng)采用固定長度編碼,后繼產(chǎn)品中需增)若原指令系統(tǒng)采用固定長度編碼,后繼產(chǎn)品中需增加加50條指令,試設計器指令操作碼,并計算器平均長度。條指令,試設計

4、器指令操作碼,并計算器平均長度。解:解: (1)采用固定長度編碼方式,其操作碼的變碼長度需要6位,即從000000110001(2)采用不等長編碼方式,常用的指令用4位,編碼表示,即從00001001,其余用7位編碼,即從1010000-1110111。平均長度=4*90%+7*10%=4.3(3)若原指令系統(tǒng)采用固定長度編碼,后繼產(chǎn)品中需增加50條指令,其操作碼的變碼長度需要6位,即從000000110001。新增指令采用8位編碼,即從11001000-111110013、某指令系統(tǒng)字長、某指令系統(tǒng)字長16位位,每個操作數(shù)的地址碼長每個操作數(shù)的地址碼長6位位.設系設系統(tǒng)有雙操作數(shù)指令統(tǒng)有雙操

5、作數(shù)指令,單操作數(shù)指令和無操作數(shù)指令單操作數(shù)指令和無操作數(shù)指令3類類.若單若單操作數(shù)指令有操作數(shù)指令有M條條,無操作數(shù)指令有無操作數(shù)指令有N條條,問雙操作數(shù)指令問雙操作數(shù)指令最多有多少條最多有多少條?解:因指令總長度為解:因指令總長度為16位位,操作數(shù)地址為操作數(shù)地址為6位位,則則 雙操作數(shù)指令的操作碼長度為雙操作數(shù)指令的操作碼長度為(16-62)=4位位 單操作數(shù)指令的操作碼長度為單操作數(shù)指令的操作碼長度為(16-6)=10位位 零操作數(shù)指令的操作碼長度為零操作數(shù)指令的操作碼長度為16位位 設雙操作數(shù)指令最多有設雙操作數(shù)指令最多有X條條.則三類指令的操作碼范圍則三類指令的操作碼范圍: 雙操作

6、數(shù)指令的操作碼范圍雙操作數(shù)指令的操作碼范圍: 0000(X-1) 單操作數(shù)指令的操作碼范圍單操作數(shù)指令的操作碼范圍: X000000 X(M-1) 零操作數(shù)指令的操作碼范圍零操作數(shù)指令的操作碼范圍: XM000000 XM111111 N=(24-X)26-M)26 X=24-(N/26+M)/26某臺計算機字長某臺計算機字長16位,主存容量為位,主存容量為64K,采用單字長單地,采用單字長單地址指令,共有址指令,共有64 條指令。請用四中尋址方式(直接、間條指令。請用四中尋址方式(直接、間接、變址、相對)設計指令格式。接、變址、相對)設計指令格式。 64條指令占用操作碼(條指令占用操作碼(O

7、P)字段)字段6位,尋址方式(位,尋址方式(X)4種,需種,需2位,剩余位,剩余8位為位移量(位為位移量(D) X=00 直接尋址直接尋址 有效地址有效地址E=D(256單元)單元)X=01 直接尋址直接尋址 有效地址有效地址E=(D)()( 64K)X=10 直接尋址直接尋址 有效地址有效地址E=D+(R) 64K)X=11 直接尋址直接尋址 有效地址有效地址E=D+(PC)()( 64K)OPXD15 10 9 8 7 0設有一臺計算機設有一臺計算機,其指令長度為其指令長度為16位位,指令格式如下指令格式如下:OPRMD15 11 10 8 7 6 5 0其中其中,OP為操作碼為操作碼,占

8、占5位位,R為寄存器編號為寄存器編號,占占3位位,可有可有8個寄個寄存器存器;M為尋址方式為尋址方式,占占2位位,與與D一起決定元操作數(shù)一起決定元操作數(shù),規(guī)定如規(guī)定如下下:MM=00,為立即尋址為立即尋址,D為立即數(shù)為立即數(shù);MM=01,為相對尋址為相對尋址,D為位移量為位移量;MM=10為變址尋址為變址尋址,D 為位移量為位移量;假定要執(zhí)行的指令為加法指令假定要執(zhí)行的指令為加法指令,存放在存放在001000單元中單元中,D的的值為值為01,該指令執(zhí)行前存儲器和有關寄存器的存儲情況如該指令執(zhí)行前存儲器和有關寄存器的存儲情況如下入所示下入所示,其中地址碼和數(shù)據(jù)時八進制表示其中地址碼和數(shù)據(jù)時八進制

9、表示.000001050001150001250002006002016001000001001001002001003002001002002001002000015變址寄存器變址寄存器R0在以下幾種情況下在以下幾種情況下,給出該指令執(zhí)行后給出該指令執(zhí)行后R0和和PC內(nèi)容為幾內(nèi)容為幾?若若M=00M,(R0)=?若若M=01M,(R0)=?若若M=10M,(R0)=?PC=?解解:從從001000單元中的單元中的108位可知位可知,指令使用指令使用R0寄存器寄存器,指令為加法指令指令為加法指令.(1) M=00時時,為立即尋址為立即尋址,D為立即數(shù)為立即數(shù)01運算結果運算結果=(R0)+D=

10、000015+01=000016,(R0)=000016(2) M=01時時,為相對尋址為相對尋址,D為位移量為位移量,操作數(shù)地址操作數(shù)地址=(PC)+D=001001+01=001002運算結果運算結果=(R0)+(001002)=000015+001150=001165,(R0)=001165(3) (3) M=10時時,為變址尋址為變址尋址,D為位移量為位移量,操作數(shù)地址操作數(shù)地址=(變變址寄存器址寄存器)+D=001002+01=001003運算結果運算結果=(R0)+(001003)=000015+001150=001265,(R0)=001265(4) 無論尋址方式如何無論尋址方式

11、如何,指令執(zhí)行后指令執(zhí)行后,PC的內(nèi)容自動加的內(nèi)容自動加1,指向下一單元的指令指向下一單元的指令. 所以所以(PC)=001001某計算機字長某計算機字長16位位,直接尋址空間直接尋址空間128字字,變址時的位移量為變址時的位移量為-64+63,16個通用寄存器都可以作為變址寄存器個通用寄存器都可以作為變址寄存器.設計一套設計一套指令系統(tǒng)指令系統(tǒng),滿足下列尋址類型的要求滿足下列尋址類型的要求:(1). 直接尋址的二地址指令直接尋址的二地址指令3條條.(2). 變址尋址的一地址指令變址尋址的一地址指令6條條.(3). 寄存器尋址的二地址指令寄存器尋址的二地址指令8條條.(4). 直接尋址的一地址

12、指令直接尋址的一地址指令12條條.(5). 零地址指令零地址指令32條條.OP地址碼1地址碼2 2位位 7位位 7位位操作碼操作碼000110 (2). 變址尋址的一地址指令變址尋址的一地址指令6條條,故操作碼需要故操作碼需要2+3位位;而而變址時的位移量為變址時的位移量為-64+63,其地址碼需其地址碼需7位位;由于由于16個通個通用寄存器都可以作為變址寄存器用寄存器都可以作為變址寄存器,寄存器需寄存器需4位位.指令長度指令長度為為16位位.OP寄存器索引 操作數(shù) 5位位 4位位 7位位操作碼操作碼1100011001.6條條共共3條條解:解:(1). 直接尋址的二地址指令直接尋址的二地址指

13、令3條條,故操作碼需要故操作碼需要2位位;而直接尋址空間而直接尋址空間128字字,故地址碼需故地址碼需log227=7位位,指令長指令長度為度為16位位. (3).寄存器尋址的二地址指令寄存器尋址的二地址指令8條條,操作碼需操作碼需5+3位位;因有因有16個通用寄存器個通用寄存器,寄存器需寄存器需4位位,故指令字長為故指令字長為16位位.OP 寄存器索引1 寄存器索引2 8位位 4位位 4位位操作碼操作碼1111000011110111.(4).直接尋址的一地址指令直接尋址的一地址指令12條條,操作碼需操作碼需5+4位位;直接直接尋址空間尋址空間128字字,地址碼需地址碼需7位位;指令字長為指

14、令字長為16位位.OP地址碼 9位位 7位位操作碼操作碼111110000111111011.(5).零地址指令零地址指令32條條, 需要需要5位位;但上述指令均為但上述指令均為16位位,所所以以,也將此指令的字長增至也將此指令的字長增至16位位. OP 16位位操作碼操作碼1111111000000000.1111111000011111ASCll碼是碼是7位,如果設計主存單元字長為位,如果設計主存單元字長為32位,指位,指令字長為令字長為12位,是否合理?為什么?位,是否合理?為什么?解:指令字長設計為解:指令字長設計為12位不是很合理。主存單元字位不是很合理。主存單元字長為長為32位,一

15、個存儲單元可存放位,一個存儲單元可存放4個個ASCII碼,余下碼,余下4位可作為位可作為ASCII碼的校驗位(每個碼的校驗位(每個ASCII碼帶一位校碼帶一位校驗位),這樣設計還是合理的。驗位),這樣設計還是合理的。但是,設計指令字長為但是,設計指令字長為12 位就不合理了,位就不合理了,12位位的指令碼存放在字長的指令碼存放在字長32位的主存單元中,造成位的主存單元中,造成19位位不能用而浪費了存儲空間。不能用而浪費了存儲空間。 指令格式結構如下所示,試分析指令格式及尋址方式特點。指令格式結構如下所示,試分析指令格式及尋址方式特點。解:指令格式及尋址方式特點如下:解:指令格式及尋址方式特點如

16、下: 單字長二地址指令;單字長二地址指令; 操作碼操作碼OP可指定可指定=64條指令;條指令; RR型指令,兩個操作數(shù)均在寄存器中,型指令,兩個操作數(shù)均在寄存器中,源和目標都是通用寄存器(可分別指定源和目標都是通用寄存器(可分別指定16個個寄存器之一);寄存器之一); 這種指令格式常用于算術邏輯類指令。這種指令格式常用于算術邏輯類指令。 指令格式結構如下所示,試分析指令格式及尋址方式特點指令格式結構如下所示,試分析指令格式及尋址方式特點 解:指令格式及尋址方式特點如下:解:指令格式及尋址方式特點如下: 雙字長二地址指令;雙字長二地址指令; 操作碼操作碼OP可指定可指定=64條指令;條指令; RS型指令,兩個操作數(shù)一個在寄存器中(型指令,兩個操作數(shù)一個在寄存器中(16個個寄存器之一),另一個在存儲器中;寄存器之一),另一個在存儲器中; 有效地址通過變址求

溫馨提示

  • 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

提交評論