《計算機組成原理》課件-第五章指令系統(tǒng)-5.3_第1頁
《計算機組成原理》課件-第五章指令系統(tǒng)-5.3_第2頁
《計算機組成原理》課件-第五章指令系統(tǒng)-5.3_第3頁
《計算機組成原理》課件-第五章指令系統(tǒng)-5.3_第4頁
《計算機組成原理》課件-第五章指令系統(tǒng)-5.3_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第5章指令系統(tǒng)業(yè)精于勤而荒于嬉,行成于思而毀于隨5.3指令格式設(shè)計設(shè)計指令系統(tǒng)時,必須考慮到指令系統(tǒng)中需要包含的因素,如操作碼種類、尋址方式種類、可尋址的范圍、寄存器數(shù)目、地址碼種類等等,設(shè)計時要綜合考慮。操作碼的位數(shù)決定了指令系統(tǒng)的規(guī)模。也就是說,操作碼字段的位數(shù)越長,可以設(shè)計的指令種類就越多。操作碼可以是一個固定長度的代碼,也可以是可變長度的代碼。業(yè)精于勤而荒于嬉,行成于思而毀于隨5.3指令格式設(shè)計指令采用固定長度的操作碼時,操作碼部分長度相同,編碼簡單,只需對不同的指令確定一個不同的二進制編碼就可以了。長度n位的操作碼可代表2n種不同的指令。這種方式不利于指令系統(tǒng)中增加新的指令。可變長度的操作碼是指每條指令可以有不同長度的操作碼。為了區(qū)分不同指令,可以根據(jù)操作碼的前綴進行判斷。例如一條指令的操作碼是1100,則其他指令的操作碼前4位就不能是1100,否則譯碼器進行譯碼時不能區(qū)別兩條指令的操作碼。采用可變長度的操作碼便于增加新的指令,提高了指令系統(tǒng)的可擴展性。業(yè)精于勤而荒于嬉,行成于思而毀于隨5.3指令格式設(shè)計地址碼的位數(shù)決定了訪問操作數(shù)的尋址范圍,即可訪問的內(nèi)存的規(guī)模。地址碼部分如果包含有尋址方式,那么地址碼位數(shù)越長,可以提供的尋址方式越多,給程序設(shè)計者的選擇就越多。指令長度為操作碼和地址碼長度之和,可以是變長度和固定長度。業(yè)精于勤而荒于嬉,行成于思而毀于隨5.3指令格式設(shè)計[例5-3]某機主存容量為64K*16,寄存器長度為16。變址寄存器1個。要求設(shè)計指令系統(tǒng),每條指令都為單字長、單地址形式,采用固定操作碼,共有指令60種,有直接尋址、存儲器間接尋址、變址尋址、相對尋址4種尋址方式。計算每種尋址方式的尋址范圍。業(yè)精于勤而荒于嬉,行成于思而毀于隨5.3指令格式設(shè)計解:CPU字長16位,所以指令長度為16位。指令60種,則固定操作碼需要6位編碼。4種尋址方式,尋址方式字段編碼要2位。剩余為地址碼部分,為16-6-2=8位。計算每種尋址方式的尋址范圍:(1)直接尋址:地址碼長度8位,可尋址28=256字節(jié)。(2)存儲器間接尋址:地址碼代表一個單元,單元中可以放16位地址,216=64K字節(jié)。(3)變址尋址:變址寄存器中地址+指令地址碼的值=216+28-1字節(jié)。(4)相對尋址:PC寄存器中地址+指令地址碼的值=216+28-1字節(jié)。業(yè)精于勤而荒于嬉,行成于思而毀于隨5.3指令格式設(shè)計[例5-4]某臺計算機有100條指令。(1)當(dāng)采用固定長度操作碼編碼,操作碼的長度是多少?(2)假如這100條指令中有10條指令的使用概率是90%,其余90條指令的使用概率為10%。設(shè)計一種可變長度的操作碼編碼方案,求出操作碼的平均長度。解:(1)采用固定長度操作碼時,100條指令需要采用7位操作碼。(2)采用可變長度的操作碼編碼方案時,為10條使用概率90%的指令分配4位編碼0000~1001。用1010~1111作為代碼前綴,再擴展4位得到10100000~11111110的8位操作碼,用于其余90條指令。指令操作碼的平均長度=4×90%+8×10%=4.4位。業(yè)精于勤而荒于嬉,行成于思而毀于隨5.3指令格式設(shè)計[例5-5]某機字長16位,16個寄存器都可以作為變址寄存器,采用擴展操作碼方式設(shè)計指令系統(tǒng)格式及操作碼編碼,要求可以直接尋址128字節(jié),變址的位移量可以是-64~63,并且具有:(1)直接尋址的二地址指令3種。(2)變址尋址的一地址指令6種。(3)寄存器尋址的二地址指令8種。(4)直接尋址的一地址指令12種。(5)零地址指令32種。業(yè)精于勤而荒于嬉,行成于思而毀于隨5.3指令格式設(shè)計解:(1)直接尋址的二地址指令:指令格式包含操作碼、地址碼1、地址碼2。要求尋址空間為128字節(jié),則地址碼長度為7,所以操作碼位數(shù)=16-2×7=2。用00、01、10作為3種指令的編碼。(2)變址尋址的一地址指令:指令格式包含操作碼、地址碼1和變址位移量。變址位移量為-64~63,所以位移量字段需要7位。地址碼1為變址寄存器編碼字段,16個寄存器要4位。所以操作碼位數(shù)16-7-4=5位。用11作為這類指令操作碼前綴,擴展3位編碼得到6種指令。操作碼編碼為11000~11101。業(yè)精于勤而荒于嬉,行成于思而毀于隨5.3指令格式設(shè)計解:(3)寄存器尋址的二地址指令:指令格式包含操作碼、寄存器地址1、寄存器地址2。寄存器有16個,需4位編碼,所以操作碼是16-4-4=8位。用11110作為前綴,擴展3位編碼得到8條指令。操作碼編碼為11110000~11110111。(4)直接尋址一地址指令:指令格式包含操作碼、地址碼1。直接尋址128字節(jié),則地址碼為7位,操作碼部分16-7=9位。用11111作為前綴,擴展4位編碼得到12條指令。操作碼編碼為111110000~111111011。(5)零地址指令。指

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論