指令格式設(shè)計(jì)舉例_第1頁(yè)
指令格式設(shè)計(jì)舉例_第2頁(yè)
指令格式設(shè)計(jì)舉例_第3頁(yè)
指令格式設(shè)計(jì)舉例_第4頁(yè)
指令格式設(shè)計(jì)舉例_第5頁(yè)
已閱讀5頁(yè),還剩17頁(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)介

指令格式設(shè)計(jì)舉例綜合題1、若某計(jì)算機(jī)數(shù)據(jù)線、地址線均是8bit,有一條相對(duì)尋址的無(wú)條件轉(zhuǎn)移指令存于內(nèi)存的20H單元中,指令給出的位移量D=00010101B,設(shè)該指令占用2個(gè)字節(jié),試計(jì)算:(1)取該指令時(shí)PC的內(nèi)容。(2)該指令執(zhí)行時(shí)PC的內(nèi)容。答:(1)取該指令時(shí)PC的內(nèi)容為20H(2)轉(zhuǎn)移地址=PC+2+D=00100000+00000010+00010101=00110111B2、假設(shè)(R)=1000,(1000)=2000,(2000)=3000,(PC)=4000,問在以下方式中,訪問到的操作數(shù)的值是什么?(1)寄存器尋址RDATA=(R)=1000(2)寄存器間接尋址DATA=((R))=(1000)=2000(3)直接尋址1000DATA=(1000)=2000(4)存儲(chǔ)器間接尋址(1000)DATA=((1000))=(2000)(5)相對(duì)尋址-2000EA=(PC)-2000=2000DATA=(EA)=(2000)=3000(6)立即數(shù)尋址#2000DATA=20003、某臺(tái)計(jì)算機(jī)的指令系統(tǒng)中共有50條指令,試問:(1)若采用固定長(zhǎng)度編碼方式,其操作碼的變碼長(zhǎng)度需要多少位?(2)設(shè)該指令系統(tǒng)中有10條指令的使用概率為90%,其余指令為10%,若采用不等長(zhǎng)編碼方式,其操作碼的平均長(zhǎng)度為多少?(3)若原指令系統(tǒng)采用固定長(zhǎng)度編碼,后繼產(chǎn)品中需增加50條指令,試設(shè)計(jì)器指令操作碼,并計(jì)算器平均長(zhǎng)度。解:(1)采用固定長(zhǎng)度編碼方式,其操作碼的變碼長(zhǎng)度需要6位,即從000000—110001(2)采用不等長(zhǎng)編碼方式,常用的指令用4位,編碼表示,即從0000—1001,其余用7位編碼,即從1010000---1110111。平均長(zhǎng)度=4*90%+7*10%=4.3(3)若原指令系統(tǒng)采用固定長(zhǎng)度編碼,后繼產(chǎn)品中需增加50條指令,其操作碼的變碼長(zhǎng)度需要6位,即從000000—110001。新增指令采用8位編碼,即從11001000--111110013、某指令系統(tǒng)字長(zhǎng)16位,每個(gè)操作數(shù)的地址碼長(zhǎng)6位.設(shè)系統(tǒng)有雙操作數(shù)指令,單操作數(shù)指令和無(wú)操作數(shù)指令3類.若單操作數(shù)指令有M條,無(wú)操作數(shù)指令有N條,問雙操作數(shù)指令最多有多少條?解:因指令總長(zhǎng)度為16位,操作數(shù)地址為6位,則雙操作數(shù)指令的操作碼長(zhǎng)度為(16-6×2)=4位單操作數(shù)指令的操作碼長(zhǎng)度為(16-6)=10位零操作數(shù)指令的操作碼長(zhǎng)度為16位設(shè)雙操作數(shù)指令最多有X條.則三類指令的操作碼范圍:雙操作數(shù)指令的操作碼范圍:0000~(X-1)

單操作數(shù)指令的操作碼范圍:

X?000000~X?(M-1)

零操作數(shù)指令的操作碼范圍:

X?M?000000~X?M?111111N=((24-X)×26-M)×26X=24-(N/26+M)/26某臺(tái)計(jì)算機(jī)字長(zhǎng)16位,主存容量為64K,采用單字長(zhǎng)單地址指令,共有64條指令。請(qǐng)用四中尋址方式(直接、間接、變址、相對(duì))設(shè)計(jì)指令格式。

64條指令占用操作碼(OP)字段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)OPXD15109870設(shè)有一臺(tái)計(jì)算機(jī),其指令長(zhǎng)度為16位,指令格式如下:OPRM中,OP為操作碼,占5位,R為寄存器編號(hào),占3位,可有8個(gè)寄存器;M為尋址方式,占2位,與D一起決定元操作數(shù),規(guī)定如下:MM=00,為立即尋址,D為立即數(shù);MM=01,為相對(duì)尋址,D為位移量;MM=10為變址尋址,D為位移量;假定要執(zhí)行的指令為加法指令,存放在001000單元中,D的值為01,該指令執(zhí)行前存儲(chǔ)器和有關(guān)寄存器的存儲(chǔ)情況如下入所示,其中地址碼和數(shù)據(jù)時(shí)八進(jìn)制表示.000001050001150001250……002006002016001000001001001002001003002001002002001002000015變址寄存器R0在以下幾種情況下,給出該指令執(zhí)行后R0和PC內(nèi)容為幾?若M=00M,(R0)=?若M=01M,(R0)=?若M=10M,(R0)=?PC=?解:從001000單元中的10—8位可知,指令使用R0寄存器,指令為加法指令.(1)

M=00時(shí),為立即尋址,D為立即數(shù)01運(yùn)算結(jié)果=(R0)+D=000015+01=000016,(R0)=000016(2)

M=01時(shí),為相對(duì)尋址,D為位移量,操作數(shù)地址=(PC)+D=001001+01=001002運(yùn)算結(jié)果=(R0)+(001002)=000015+001150=001165,(R0)=001165(3)

(3)M=10時(shí),為變址尋址,D為位移量,操作數(shù)地址=(變址寄存器)+D=001002+01=001003運(yùn)算結(jié)果=(R0)+(001003)=000015+001150=001265,(R0)=001265(4)

無(wú)論尋址方式如何,指令執(zhí)行后,PC的內(nèi)容自動(dòng)加1,指向下一單元的指令.所以(PC)=001001某計(jì)算機(jī)字長(zhǎng)16位,直接尋址空間128字,變址時(shí)的位移量為-64~+63,16個(gè)通用寄存器都可以作為變址寄存器.設(shè)計(jì)一套指令系統(tǒng),滿足下列尋址類型的要求:(1).直接尋址的二地址指令3條.(2).變址尋址的一地址指令6條.(3).寄存器尋址的二地址指令8條.(4).直接尋址的一地址指令12條.(5).零地址指令32條.OP地址碼1地址碼22位7位7位操作碼000110(2).變址尋址的一地址指令6條,故操作碼需要2+3位;而變址時(shí)的位移量為-64~+63,其地址碼需7位;由于16個(gè)通用寄存器都可以作為變址寄存器,寄存器需4位.指令長(zhǎng)度為16位.OP寄存器索引操作數(shù)5位4位7位操作碼1100011001….6條共3條解:(1).直接尋址的二地址指令3條,故操作碼需要2位;而直接尋址空間128字,故地址碼需log227=7位,指令長(zhǎng)度為16位.(3).寄存器尋址的二地址指令8條,操作碼需5+3位;因有16個(gè)通用寄存器,寄存器需4位,故指令字長(zhǎng)為16位.OP寄存器索引1寄存器索引28位4位4位操作碼1111000011110111…..(4).直接尋址的一地址指令12條,操作碼需5+4位;直接尋址空間128字,地址碼需7位;指令字長(zhǎng)為16位.OP地址碼9位7位操作碼111110000111111011…..(5).零地址指令32條,需要5位;但上述指令均為16位,所以,也將此指令的字長(zhǎng)增至16位.OP16位操作碼1111111000000000…..1111111000011111ASCll碼是7位,如果設(shè)計(jì)主存單元字長(zhǎng)為32位,指令字長(zhǎng)為12位,是否合理?為什么?

解:指令字長(zhǎng)設(shè)計(jì)為12位不是很合理。主存單元字長(zhǎng)為32位,一個(gè)存儲(chǔ)單元可存放4個(gè)ASCII碼,余下4位可作為ASCII碼的校驗(yàn)位(每個(gè)ASCII碼帶一位校驗(yàn)位),這樣設(shè)計(jì)還是合理的。

但是,設(shè)計(jì)指令字長(zhǎng)為12位就不合理了,12位的指令碼存放在字長(zhǎng)32位的主存單元中,造成19位不能用而浪費(fèi)了存儲(chǔ)空間。指令格式結(jié)構(gòu)如下所示,試分析指令格式及尋址方式特點(diǎn)。

解:指令格式及尋址方式特點(diǎn)如下:

①單字長(zhǎng)二地址指令;

②操作碼OP可指定=64條指令;

③RR型指令,兩個(gè)操作數(shù)均在寄存器中,源和目標(biāo)都是通用寄存器(可分別指定16個(gè)寄存器之一);

④這種指令格式常用于算術(shù)邏輯類指令。

指令格式結(jié)構(gòu)如下所示,試分析指令格式及尋址方式特點(diǎn)

解:指令格式及尋址方式特點(diǎn)如下:

①雙字長(zhǎng)二地址指令;

②操作碼OP可指定=64條指令;

③RS型指令,兩個(gè)操作數(shù)一個(gè)在寄存器中(16個(gè)寄存器之一),另一個(gè)在存儲(chǔ)器中;

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論