計(jì)算機(jī)組成原理 課件 6 指令系統(tǒng)_第1頁
計(jì)算機(jī)組成原理 課件 6 指令系統(tǒng)_第2頁
計(jì)算機(jī)組成原理 課件 6 指令系統(tǒng)_第3頁
計(jì)算機(jī)組成原理 課件 6 指令系統(tǒng)_第4頁
計(jì)算機(jī)組成原理 課件 6 指令系統(tǒng)_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

6.1.1機(jī)器指令的基本格式

在一個(gè)指令系統(tǒng)中,若所有指令的長(zhǎng)度都是相等的,成為定長(zhǎng)指令字結(jié)構(gòu)。定長(zhǎng)結(jié)構(gòu)指令系統(tǒng)控制簡(jiǎn)單,但不夠靈活。若各種指令的長(zhǎng)度隨指令功能而異,就稱之為變長(zhǎng)指令字結(jié)構(gòu)。現(xiàn)代計(jì)算機(jī)廣泛采用變長(zhǎng)指令字結(jié)構(gòu),指令的長(zhǎng)度能短則短,需長(zhǎng)則長(zhǎng),如80x86的指令長(zhǎng)度從一個(gè)字節(jié)到十幾個(gè)字節(jié)不等。變長(zhǎng)結(jié)構(gòu)指令系統(tǒng)靈活,能充分利用指令長(zhǎng)度,但指令的控制較復(fù)雜。第六章指令系統(tǒng)6.1.2地址碼結(jié)構(gòu)

計(jì)算機(jī)執(zhí)行一條指所需的全部信息都必須包含在指令中。對(duì)于一般的雙操作數(shù)運(yùn)算類指令來說,除去操作碼(OperationCode)之外,指令還應(yīng)包含以下信息:第一操作數(shù)地址,用A1表示。第二操作數(shù)地址,用A2表示。操作結(jié)果存放地址,用A3表示。下條將要執(zhí)行指令的地址,用A4表示第六章指令系統(tǒng)1.四地址指令

前述的4個(gè)地址信息都在地址字段中明顯地給出,其指令的格式為:

指令的含義:(A1)OP(A2)→A3A4=下條將要執(zhí)行指令的地址

其中:OP表示具體的操作,Ai表示地址,(Ai)表示存放于該地址中的內(nèi)容。

這種格式的主要優(yōu)點(diǎn)是直觀,下條指令的地址明顯。但是最嚴(yán)重的缺點(diǎn)是指令的長(zhǎng)度太長(zhǎng),如果每個(gè)地址為16位,整個(gè)地址碼字段就要長(zhǎng)達(dá)64位,所以這種格式是不切實(shí)際的。第六章指令系統(tǒng)

2.三地址指令

正常情況下,大多數(shù)指令按順序依次被從主存中取出來執(zhí)行,只有在遇到轉(zhuǎn)移指令時(shí),程序的執(zhí)行順序才會(huì)改變。因此,可以用一個(gè)程序計(jì)數(shù)器(ProgramCounter,PC)來存放指令地址。通常每執(zhí)行一條指令,PC就自動(dòng)加1(設(shè)每條指令只占一個(gè)主存單元),直接得到將要執(zhí)行的下一條指令的地址。這樣,指令中就不必再明顯地給出下一條指令的地址了。三地址指令格式為:

指令的含義:(A1)OP(A2)→A3

(PC)﹢1→PC(隱含)第六章指令系統(tǒng)3.二地址指令

三地址指令執(zhí)行完后,主存中的兩個(gè)操作數(shù)均不會(huì)被破壞。然而,通常并不一定需要完整的保留兩個(gè)操作數(shù)。比如,可讓第一操作數(shù)地址同時(shí)兼作存放結(jié)果的地址(目的地址),這樣即得到了二地址指令,其格式為:

指令的含義:(A1)OP(A2)→A1(PC)﹢1→PC(隱含)第六章指令系統(tǒng)4.一地址指令

一地址指令顧名思義只有一個(gè)顯地址,它的指令格式為

一地址指令只有一個(gè)地址,那么另一個(gè)操作數(shù)來自何方呢?指令中雖未明顯給出,但按事先約定,這個(gè)隱含的操作數(shù)就放在一個(gè)專門的寄存器中。因?yàn)檫@個(gè)寄存器在連續(xù)性運(yùn)算時(shí),保存著多條指令連續(xù)操作的累計(jì)結(jié)果,故稱為累加寄存器(Accumulator,Acc)。

指令的含義:(Acc)OP(A1)→Acc(PC)+1→PC(隱含)第六章指令系統(tǒng)6.1.3指令的操作碼

指令系統(tǒng)中的每一條指令都有一個(gè)唯一確定的操作碼,指令不同,其操作碼的編碼也不同。通常,希望用盡可能短的操作碼字段來表達(dá)全部的指令。指令操作碼的編程可以分為規(guī)整型和非規(guī)整型兩類。規(guī)整型第六章指令系統(tǒng)6.1.3指令的操作碼

指令系統(tǒng)中的每一條指令都有一個(gè)唯一確定的操作碼,指令不同,其操作碼的編碼也不同。通常,希望用盡可能短的操作碼字段來表達(dá)全部的指令。指令操作碼的編程可以分為規(guī)整型和非規(guī)整型兩類。非規(guī)整型第六章指令系統(tǒng)6.1.4指令格式的優(yōu)化

由于指令由操作碼字段和地址碼字段兩部分組成,當(dāng)對(duì)其優(yōu)化時(shí),主要包含兩方面內(nèi)容,一方面盡量利用寄存器資源,減少指令中包含的操作數(shù)地址,完成對(duì)地址碼字段的優(yōu)化;另一方面,盡量設(shè)計(jì)出短而規(guī)整的操作碼,完成操作碼字段的優(yōu)化。本節(jié)重點(diǎn)介紹關(guān)于操作碼字段的優(yōu)化。第六章指令系統(tǒng)6.2.1編址方式

在計(jì)算機(jī)中,編址方式是指對(duì)各種存儲(chǔ)設(shè)備進(jìn)行編碼的方式。1.編址2.編址單位3.指令中地址碼的位數(shù)第六章指令系統(tǒng)6.2.2指令尋址和數(shù)據(jù)尋址

尋址可以分為指令尋址和數(shù)據(jù)尋址。

跳躍尋址的轉(zhuǎn)移地址形式方式有3種:直接(絕對(duì))、相對(duì)和間接尋址第六章指令系統(tǒng)6.2.3基本的數(shù)據(jù)尋址方式

數(shù)據(jù)尋址方式是根據(jù)指令中給出的地址碼字段尋找真實(shí)操作數(shù)地址的方式。一般情況下,由于指令長(zhǎng)度的限制,指令中的地址碼不會(huì)很長(zhǎng),而主存的容量卻可能越來越大。第六章指令系統(tǒng)6.2.4變型或組合尋址方式1.自增型寄存器間址和自減型寄存器間址(1)自增尋址(2)自減尋址第六章指令系統(tǒng)2.?dāng)U展變址方式

把變址和間址兩種尋址方式結(jié)合起來,就成為擴(kuò)展變址方式,按尋址方式操作的先后順序,有前變址和后變址兩種形式。(l)先變址后間址(前變址方式)

先進(jìn)行變址運(yùn)算,其運(yùn)算結(jié)果作為間接地址,間接地址指出的單元的內(nèi)容才是有效地址。所以,有效地址EA=((Rx)+A),操作數(shù)S=(((Rx)+A))。尋址過程如圖3-13(a)所示。(2)先間址后變址(后變址方式)

將指令中的地址碼先進(jìn)行一次間接尋址,然后再與變址值進(jìn)行運(yùn)算,從而得到一個(gè)有效地址。所以,有效地址EA=(Rx)+(A),操作數(shù)S=((Rx)+(A))。尋址過程如圖3-13(b)所示。第六章指令系統(tǒng)3.基址變址尋址

基址變址尋址是最靈活的一種尋址方式,此時(shí)有效地址是由基址寄存器中的值、變址寄存器中的值和位移量三者相加求得的。在這3項(xiàng)中,除位移量在指令一旦確定后就不能再修改以外,基址和變址寄存器中的內(nèi)容都可以改變。EA=(Rb)+(Rx)+D第六章指令系統(tǒng)6.3.1數(shù)據(jù)傳送類指令1.一般傳送指令2.堆棧操作指令3.?dāng)?shù)據(jù)交換指令第六章指令系統(tǒng)6.3.2運(yùn)算類指令

1.算術(shù)運(yùn)算類指令

2.邏輯運(yùn)算類指令

3.移位類指令

第六章指令系統(tǒng)6.3.3程序控制類指令

1.轉(zhuǎn)移指令

2.子程序調(diào)用指令

3.返回指令

第六章指令系統(tǒng)6.3.4輸入輸出類指令

1.獨(dú)立編址的I/O

獨(dú)立編址方式使用專門的輸入輸出指令(IN/OUT)。

2.統(tǒng)一編址的I/O

所謂統(tǒng)一編址就是把外設(shè)寄存器和主存單元統(tǒng)一編址。在這種方式下,不需要專門的I/O指令,就用一般的數(shù)據(jù)傳送類指令來實(shí)現(xiàn)I/O操作。第六章指令系統(tǒng)6.3.580x86指令系統(tǒng)舉例

1.MOV指令2.PUSH/POP指令3.加、減和比較指令4.乘法、除法指令5.BCD運(yùn)算和ASCII運(yùn)算6.基本邏輯指令7.位測(cè)試指令8.移位與循環(huán)指令9.轉(zhuǎn)移控制指令10.子程序調(diào)用和返回指令第六章指令系統(tǒng)6.4.1x86架構(gòu)的擴(kuò)展指令集1.MMX指令集2.SSE指令集3.3DNow指令集4.SSE2指令集5.SSE3指令集

第六章指令系統(tǒng)6.4.2從復(fù)雜指令系統(tǒng)到精簡(jiǎn)指令系統(tǒng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論