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

下載本文檔

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

文檔簡介

第五章指令系統(tǒng)指令系統(tǒng)概述計算機系統(tǒng)中運行的軟件有系統(tǒng)軟件和應(yīng)用軟件兩種。系統(tǒng)軟件對整個計算機系統(tǒng)進行調(diào)度、管理、監(jiān)視、服務(wù),為用戶提供使用方便,擴大機器功能,提高機器使用效率

應(yīng)用軟件是用戶針對某種領(lǐng)域?qū)嶋H應(yīng)用需求而開發(fā)的軟件。許多通用商品化的應(yīng)用軟件現(xiàn)已成為系統(tǒng)軟件,如Word等前述所有各種軟件的設(shè)計基礎(chǔ)就是計算機的指令系統(tǒng)。名詞解釋:指令:命令計算機直接進行某種基本操作的二進制代碼串,也叫機器語言代碼。每條指令可以完成一個獨立的算術(shù)運算或邏輯運算操作。從計算機組成的層次結(jié)構(gòu)來說,計算機的指令有微指令、機器指令和宏指令。微指令是微程序級的命令,它屬于硬件;宏指令是由若干條機器指令組成的軟件指令,它屬于軟件;機器指令則介于微指令與宏指令之間,通常簡稱為指令。每一條指令可完成一個獨立的算術(shù)運算或邏輯運算操作。本章所討論的指令是機器指令。

指令系統(tǒng):一臺計算機能直接理解與執(zhí)行的全部指令的集合稱為該機的指令系統(tǒng),也叫機器語言。指令系統(tǒng)是進行計算機邏輯設(shè)計和編制程序的基本依據(jù)。它直接說明了這臺計算機的功能.不同類型CPU的指令系統(tǒng)是不能混用與兼容的,但同一系列的CPU一般升級后指令都有擴充,并可兼容。復(fù)雜指令系統(tǒng)計算機(CISC)和精簡指令系統(tǒng)計算機(RISC)。 指令格式指令的結(jié)構(gòu)指令字:代表指令的一組二進制代碼信息,通常簡稱指令;一條完整的指令稱為一個指令字。指令長度:指令字中二進制代碼的位數(shù);指令格式:是指令字用二進制代碼表示的結(jié)構(gòu)形式。一條指令的結(jié)構(gòu)可用如下形式來表示:操作碼字段地址碼字段n位操作碼能描述的操作最多有2n指令字長度計算機中CPU能直接處理的二進制的位數(shù)稱為機器字長;指令字長度:一個指令字包含的所有二進制代碼的位數(shù)。有等長指令字結(jié)構(gòu)和變長指令字結(jié)構(gòu)。

指令字長度選取原則

指令長度應(yīng)為存儲器基本字長的整數(shù)倍指令字長應(yīng)盡量短指令短,可減少所需存儲量和加快運行速度,但不能為了使指令短而影響指令系統(tǒng)的完備性和規(guī)整性。根據(jù)一條指令中有幾個操作數(shù)地址,可將該指令稱為幾操作數(shù)指令或幾地址指令。單地址二地址三地址零地址目前二地址和單地址指令格式用的得最多。指令格式的五種類型

——根據(jù)操作對象地址長度的不同而劃分。零地址指令

也叫無操作數(shù)指令,這種指令有兩種可能:(1)無需任何操作數(shù)。例如:NOP(空操作指令)、HLT(停機指令)等。(2)所需的操作數(shù)是默認的。OP零地址指令的指令中只有操作碼,而沒有地址碼。一地址指令

例如:遞增,移位,取反(NOTBX),加1指令(INCAX)

OPA一地址指令常稱為單操作數(shù)指令。通常這種指令以運算器中累加寄存器AC中的數(shù)據(jù)為被操作數(shù),指令字的地址碼字段所指明的數(shù)為操作數(shù),操作結(jié)果又放回累加寄存器AC中。(AC)OP(A)→ACOP表示操作性質(zhì);(AC)表示累加寄存器AC中的數(shù);(A)表示內(nèi)存中地址為A的存儲單元中的數(shù)或運算器中地址為A的通用寄存器中的數(shù);→表示把操作(運算)結(jié)果傳送到指定的地方。二地址指令

OPA1A2二地址指令常稱為雙操作數(shù)指令,它的兩個地址碼字段分別指明參與操作的兩個數(shù)在內(nèi)存中或運算器中通用寄存器的地址,A1作存放操作結(jié)果的地址。(A1)OP(A2)→A1例如:ADDOPD,OPS ANDOPD,OPS三地址指令

OPA1A2A3三地址指令字中有三個操作數(shù)地址。(A1)OP(A2)→A3A1為被操作數(shù)地址,也稱源操作數(shù)地址;A2為操作數(shù)地址,也稱終點操作數(shù)地址;A3為存放結(jié)果的地址。同樣,A1、A2、A3可以是內(nèi)存中的單元地址,也可以是運算器中通用寄存器的地址。操作后源地址內(nèi)容不變僅被拷貝。多地址指令:用于實現(xiàn)成批數(shù)據(jù)處理。例如:ADDR1,R2,R3 (R3)=(R1)+(R2)從操作數(shù)的物理位置來說,又可歸結(jié)為三種類型:1、訪問內(nèi)存的指令格式,我們稱這類指令為存儲器-存儲器(SS)型指令;數(shù)據(jù)多2、訪問寄存器的指令格式,我們稱這類指令為寄存器-寄存器(RR)型指令;速度快3、第三種類型為寄存器-存儲器(RS)型指令。3、指令操作碼的編碼格式指令操作碼的位數(shù)限制指令系統(tǒng)中完成操作的指令條數(shù)。固定格式操作碼操作碼長度固定,一般集中于指令字的一個字段中。在字長較大的大中型以及超級小型機上廣泛使用。優(yōu)點:有利于簡化硬件設(shè)計,減少譯碼時間可變格式操作碼通常在指令字中用一個固定長度的字段來表示基本的操作碼,而對于一部分少地址指令則把它們的操作碼擴充到該指令的地址字段,即操作碼長度可以改變。這種方法在不增加指令字長度的情況下可表示更多的指令,但增加了譯碼和分析難度,需更多硬件支持。微機中常使用此方式。指令操作碼的擴展技術(shù)假設(shè)某機器的指令長度為16位,包括4位基本操作碼和三個4位地址碼段。

15…1211……87……43…..04位基本操作碼可表示16個狀態(tài),因此如用4位操作碼則能表示16條三地址指令,而用8位操作碼則可表示256條二地址指令。而用12位操作碼則可表示4096條一地址指令。

OPA1A2A3可變格式操作碼的指令示例1同樣情況下,如果需要三地址、二地址、一地址指令各15條、零地址指令16條,則一樣能夠采用可變格式操作碼實現(xiàn)。例如可以這樣規(guī)定:15條三地址指令的操作碼為:0000~111015條二地址指令的操作碼為:前4位1111,即11110000~1111111015條一地址指令的操作碼為:前8位均為1,即111111110000~11111111111016條零地址指令的操作碼為:前12位均為1,即1111111111110000~1111111111111111可變格式操作碼的指令示例2再如:同樣情況下用可變格式操作碼分別形成三地址指令、二地址指令、一地址指令和零地址指令15、14、31、16條。按要求得到結(jié)果之一如下

15條三地址為: 0000~1110 14條二地址為:

11110000~11111101 31條一地址為:

111111100000~111111111110 16條零地址為:

1111111111110000~1111111111111111

可變格式操作碼的指令示例3

指令長度與機器字長的關(guān)系機器字長是指計算機能直接處理的二進制數(shù)據(jù)的位數(shù),它與計算機的功能和用途有很大的關(guān)系,是計算機的一個重要技術(shù)指標。字長決定了計算機的運算精度,字長越長計算機的運算精度越高,因此高性能的計算機字長較長。地址碼長度決定了指令直接尋址能力。擴大尋址能力的方法,一是通過增加機器字長來增加地址碼的長度;二是采用地址擴展技術(shù),把存儲空間分成若干個段,用基地址加位移量的方法來增加地址碼的長度。指令字長度是指一個指令字中包含二進制代碼的位數(shù)。指令的長度主要取決于操作碼的長度、操作數(shù)地址的長度和操作數(shù)地址的個數(shù)。指令的長度通常為字節(jié)的整數(shù)倍。指令的長度與機器的字長沒有固定的關(guān)系,它既可以小于或等于機器的字長,也可以大于機器的字長。前者稱為短格式指令,后者稱為長格式指令。在Pentium系列機中,指令格式也是可變的:由8位、16位、32位、64位不等。指令字長度等于機器字長度的指令,稱為單字長指令;指令字長度等于半個機器字長度的指令,稱為半字長指令;指令字長度等于兩個機器字長度的指令,稱為雙字長指令。數(shù)據(jù)在內(nèi)存中的存放格式計算機中基本數(shù)據(jù)有邏輯數(shù)、定點數(shù)、無符號數(shù)、浮點數(shù)、字符數(shù)及數(shù)組等。目前微機所用的數(shù)據(jù)(字)長度一般為32位,4個字節(jié)。內(nèi)存地址按字節(jié)編址。計算機指令系統(tǒng)可支持對字節(jié)、半字、字、雙字的運算,有的還支持位操作。為便于硬件的實現(xiàn),一般要求多字節(jié)數(shù)據(jù)采用對準數(shù)據(jù)邊界的方式儲存。不合要求則填充空白字節(jié)(無操作)代替。4字節(jié)32位存儲器字地址0字地址4半字地址8半字地址10半字地址12字節(jié)地址15半字地址22對準邊界(下圖所示)格式存儲數(shù)據(jù):字節(jié)地址14字節(jié)地址19字節(jié)地址18字節(jié)地址16字節(jié)地址17字節(jié)地址20字節(jié)地址21地址048121620在數(shù)據(jù)對準邊界存儲的計算機中,對于以二進制表示的存儲地址來說,半字地址的最低位、字地址的最低兩位和雙字地址的最低三位恒為零。32位、4個字節(jié)地址048字節(jié)半字的一半一字的3/4半字有的計算機不要求對準邊界存儲數(shù)據(jù),如下圖所示,但這種方式增加硬件的復(fù)雜程度,并且有可能導(dǎo)致訪問次數(shù)增加。半字另一半一字的1/4半字

指令的尋址方式(編碼方式)尋址方式:指令中如何提供操作數(shù)或操作數(shù)地址。換句話說就是規(guī)定如何對地址字段作出解釋以找到操作數(shù)。不同類型計算機的尋址方式亦有差別,但大多可以歸結(jié)為立即尋址、直接尋址、間接尋址、變址尋址以及相對尋址等幾種尋址方式,或者這幾種方式的組合與變形。在這種方式中,指令的地址碼部分就是指令的操作數(shù),而不是操作數(shù)的地址。優(yōu)點:取指同時取得操作數(shù),提高指令的運行速度。缺點:操作數(shù)的長度受指令長度的影響,且不便修改。適合操作數(shù)固定的情況。例:MOVAX,1AH的結(jié)果:(AX)←1AH一、立即數(shù)址方式二、直接尋址方式指令的地址碼部分給出的就是操作數(shù)在存儲器中的地址。特點是簡單直觀, 便于硬件實現(xiàn),但 操作數(shù)地址是指令 的一部分,只能用 于訪問固定的存儲 器單元。例:MOVAX,[0110H]存儲器OP……A操作數(shù)0110H三、寄存器尋址方式在指令的地址碼部分給出某一寄存器的名稱,而所需的操作數(shù)就在這個寄存器中。這種方式數(shù)據(jù)傳送快,計算機中多用。例:MOVAX,BX 其中BX為源操作數(shù)地址 AX為目的操作數(shù)地址操作的結(jié)果為將BX中的數(shù)據(jù)傳送(拷貝)到AX中。四、寄存器間接尋址方式在指令的地址碼部分直接給出的既不是操作數(shù)也不是操作數(shù)的地址,而是操作數(shù)地址的地址。優(yōu)點:改變寄存器Rn中的內(nèi)容就可訪問內(nèi)存的不同地址。修改十分方便。缺點:二次尋址速度慢。例:MOVAX,[BX]存儲器OP……RnA:操作數(shù)Rn:A五、變址尋址方式變址尋址:把CPU中變址寄存器的內(nèi)容和指令地址部分給出的地址之和作為操作數(shù)的地址來獲得操作數(shù)。這種方式多用于字串處理、矩陣運算和成批數(shù)據(jù)處理。OP…………..RxAKRx:加法器存儲器操作數(shù)A+K:A:使用變址尋址方式的目的不在于擴大尋址空間,而在于實現(xiàn)程序塊的規(guī)律變化。六、基址尋址方式將整個存儲空間分成若干個段,段的首地址存放在基址寄存器中,操作數(shù)的存儲地址與段的首地址的距離即段內(nèi)偏移量由指令直接給出。操作數(shù)存儲單元的實際有效地址就等與基址寄存器的內(nèi)容與段內(nèi)偏移量之和。改變基址寄存器的內(nèi)容(基準量)并由指令提供位移量就可以訪問存儲器的任一單元?;芳拇嫫饔糜诔绦蜓b配可為浮動程序分配存儲單元?;穼ぶ访嫦蛳到y(tǒng),解決程序的存儲定位問題;變址尋址面向用戶,用以訪問字串和數(shù)組。優(yōu)點是可以擴大尋址能力。

七、相對尋址方式也稱程序計數(shù)器尋址,其有效地址是指令中地址碼部分給出的形式地址(偏移量Disp)與程序計數(shù)器PC的內(nèi)容之和。即有效地址是以當前PC的內(nèi)容為基準浮動的,浮動的距離就是偏移量。偏移量可正可負,通常用補碼表示。相對尋址方式主要應(yīng)用于相對轉(zhuǎn)移指令。由于目的地址隨PC變化不固定,所以非常適用于浮動程序的裝配與運行??偨Y(jié)操作數(shù)尋址有多種方式,它由指令中尋址方式字段給定。設(shè)指令格式如下:OP尋址特征MOD形式地址D常用的尋址方式有以下幾種:立即尋址操作數(shù)在指令中,即Data=D直接尋址操作數(shù)地址在指令中,即EA=D存儲器間接尋址操作數(shù)在內(nèi)存中,即EA=(D)寄存器尋址操作數(shù)在寄存器中,即Data=(R)寄存器間接尋址操作數(shù)在寄存器中,即EA=(D)隱含尋址操作數(shù)的地址隱含在指令的操作碼中變址尋址操作數(shù)的地址為變址寄存器中的內(nèi)容與位移量D之和,即EA=(R)變址+D基址尋址操作數(shù)的地址為基址寄存器中的內(nèi)容與位移量D之和,即EA=(R)基址+D相對尋址操作數(shù)的地址為程序計數(shù)器中的內(nèi)容與位移量D之和,即EA=(PC)+D復(fù)合型尋址方式相對間接尋址操作數(shù)的有效地址EA=((PC)+D)間接相對尋址EA=(PC)+(D)變址間接尋址EA=((R)+D)相對變址尋址EA=

(R)+(D)基址+變址尋址EA=(R)基址+(R)變址+D

例:一種兩地址RS型指令的結(jié)構(gòu)如下所示,其中I為間接尋址標志位,X為尋址模式字段,D位偏移量字段。通過I,X,D的組合,可構(gòu)成下表所式的尋址方式。請寫出六種尋址方式的名稱。6位4位1位2位16位尋址方式表OP----通用寄存器IX偏移量D尋址方式I

X有效地址E算法說明(1)(2)(3)(4)(5)(6)000110000110110011E=DE=(PC)±DE=(R2)±DE=(R3)E=(D)E=(R1)±DR2為變址寄存器R1為基址寄存器

解:1、直接尋址2、相對尋址3、變址尋址4、寄存器間接尋址5、間接尋址6、基址尋址尋址方式I

X有效地址E算法說明(1)(2)(3)(4)(5)(6)000110000110110011E=DE=(PC)±DE=(R2)±DE=(R3)E=(D)E=(R1)±DR2為變址寄存器R1為基址寄存器寄存器間接尋址寄存器間接尋址方式中,寄存器的內(nèi)容為操作數(shù)的偏移地址EA,操作數(shù)在存儲器中。匯編格式:[R]功能:操作數(shù)存放在存儲器,寄存器R存放操作數(shù)的偏移地址EA。偏移地址EA計算方法如下:EA=[SI] SI作間址寄存器。[DI] DI作間址寄存器。[BX] BX作間址寄存器。[BP] BP作間址寄存器。AX∶Accumulator,通用寄存器,算術(shù)運算的主要寄存器。另外,所有的I/O指令都使用這一寄存器與外部設(shè)備傳送信息。其中AH是高8位,AL是低8位。BP∶BasePointer,基址指針寄存器??梢耘cSS寄存器聯(lián)用來確定堆棧中任一存儲單元的地址。它指示堆棧中任一單元的偏移量。非堆棧進出指令要訪問堆棧,只能通過BP進行。BX∶Base,通用寄存器。在計算存儲器地址時,經(jīng)常用作基址寄存器。其中BH是高8位,BL是低8位。CX∶Count,通用寄存器。在循環(huán)和串處理指令中用作隱含的計數(shù)器。其中CH是高8位,CL是低8位。DX∶Data,通用寄存器。在作雙字長運算時,把DX和AX組合在一起存放一個雙字數(shù),DX用來存放高位字。此外,對某些I/O操作,DX可用來存放I/O的端口地址。其中DH是高8位,DL是低8位。DS∶DataSegment,數(shù)據(jù)段寄存器。存放數(shù)據(jù)段的起始地址(高16位)。數(shù)據(jù)段存放當前運行程序所用的數(shù)據(jù),如果程序中使用了串處理指令,則其源操作數(shù)也存放在數(shù)據(jù)段中。DI∶DestinationIndex,目的變址寄存器。與ES聯(lián)用,用來確定數(shù)據(jù)段中某一存儲單元的偏移地址。在串處理指令中,DI指出目的操作數(shù)的地址,隱含段為當前的附加段。ES∶ExtraSegment,附加段寄存器。用于存放附加段的起始地址(高16位)。附加段是一個輔助的數(shù)據(jù)區(qū),也是串處理指令的目的操作數(shù)據(jù)存放區(qū)。SI∶SourceIndex,源變址寄存器。與DS聯(lián)用,用來確定數(shù)據(jù)段中某一存儲單元的偏移地址。在串處理指令中,SI指出源操作數(shù)的地址,隱含段為當前的數(shù)據(jù)段。SS∶StackSegment,堆棧段寄存器。用來存放堆棧段的起始地址(高16位)。變址尋址變址尋址方式操作數(shù)的偏移地址EA為寄存器的內(nèi)容加位移量,操作數(shù)在存儲器中。匯編格式:X[R](X表示位移量,是8位或16位二進制補碼表示的有符號數(shù))功能:操作數(shù)存放在存儲器,寄存器R的內(nèi)容加位移量X為操作數(shù)的偏移地址EA。圖形表示如下:偏移地址EA計算方法如下:執(zhí)行:(20036H)+(AX)→20036H執(zhí)行后:(AX)=0040H,(BX)=0030H,(DS)=2000H,(20036H)=0090H。立即尋址立即尋址方式中,指令操作碼和操作數(shù)都在存儲器代碼段中。匯編格式:n(n為立即操作數(shù),是用8位或16位二進制補碼表示的有符號數(shù))功能:操作數(shù)存放在存儲器,指令下一單元的內(nèi)容為立即操作數(shù)n。圖形表示:

直接尋址匯編格式:①含有變量的地址表達式。②段寄存器名:[EA]。功能:指令下一字單元的內(nèi)容是操作數(shù)的偏移地址EA。圖形表示:指令的類型一個指令系統(tǒng)常有幾十、幾百條指令(Intel8086具有133條指令),但按功能可以劃分為如下幾大類:1、數(shù)據(jù)傳送指令用以實現(xiàn)寄存器與寄存器之間(MOVAX,BX)、寄存器與內(nèi)存單元之間(MOV[0001H],AX)以及內(nèi)存單元相互之間的數(shù)據(jù)傳送。數(shù)據(jù)能夠被從源地址傳送到目的地址,而源地址中數(shù)據(jù)不變,——拷貝。包括:立即數(shù)送寄存器(MOVAX,1)、將數(shù)據(jù)送到不同字長的寄存器中(MOVAL,78H、MOVAX,A0A0HMOVEAX,12345678H)以及寄存器組數(shù)據(jù)交換等操作指令。2、算術(shù)與邏輯運算指令算術(shù)運算指令:一般包括定點、浮點的加、減、乘、除運算。根據(jù)運算結(jié)果改變標志寄存器的狀態(tài)位。

ADD,ADC(帶進位加法),SUB,SBB(帶借位減法),INC,DEC,DIV,MUL邏輯運算:一般包括邏輯與,邏輯或,邏輯非,邏輯異或等運算,是以二進制為單位按位進行運算。

OR,AND,XOR,NOT3、移位指令算術(shù)移位:左移時空位補0而符號位進標志位,右移時空位復(fù)制符號位而溢出位進標志位。邏輯移位:整體移位,空位補0,溢出進標志位。循環(huán)移位:有不帶進位循環(huán)和帶進位循環(huán)。前者循環(huán)后的溢出位進標志位,后者與標志位一起循環(huán)。4、比較指令比較指令:CMPAX,BX作用:根據(jù)參加比較的兩個數(shù)相減后的結(jié)果,區(qū)分大于等于小于等情況對標志位進行置位操作。比較指令只影響標志位,而不影響參加比較的操作數(shù)。5、轉(zhuǎn)移指令作用:根據(jù)邏輯判斷結(jié)果,改變程序的執(zhí)行順序無條件轉(zhuǎn)移指令強迫CPU運行程序地址轉(zhuǎn)移至新地址開始執(zhí)行程序。有條件轉(zhuǎn)移指令根據(jù)當前運算的結(jié)果進行邏輯判斷,符合判斷條件則轉(zhuǎn)移到指令表明的新地址處執(zhí)行程序,否則繼續(xù)按原順序執(zhí)行原來的程序。根據(jù)實際需要,有條件轉(zhuǎn)移指令分為許多種類,其中包括單一條件轉(zhuǎn)移指令、復(fù)合條件轉(zhuǎn)移指令、適用于無符號數(shù)的條件轉(zhuǎn)移指令、適用于有符號數(shù)的條件轉(zhuǎn)移指令以及某些特殊的條件轉(zhuǎn)移指令等等。6、調(diào)用指令和返回指令調(diào)用指令實現(xiàn)從一個程序轉(zhuǎn)去執(zhí)行子程序的操作;返回指令則使CPU結(jié)束執(zhí)行子程序而返回執(zhí)行原程序。7、輸入、輸出指令完成在中央處理器和外設(shè)之間進行數(shù)據(jù)交換。輸入指令使數(shù)據(jù)由外設(shè)傳送到處理機輸出指令使數(shù)據(jù)由處理機傳送到外設(shè)

8、堆棧及堆棧操作指令

堆棧(stack}是由若干個連續(xù)存儲單元組成的先進后出(firstinlastout,簡稱FILO)存儲區(qū)。第一個送入堆棧中的數(shù)據(jù)存放在棧底,最后送人堆棧中的數(shù)據(jù)存放在棧頂。棧底是固定不變的,而棧頂卻是隨著數(shù)據(jù)的人棧和出棧在不斷變化。為了表示棧頂?shù)奈恢茫幸粋€寄存器或存儲器單元用于指出棧頂?shù)牡刂?,這個寄存器或存儲器單元就稱為堆棧指針(stackpointer簡稱SP),任何堆棧操作只能在棧頂進行。

在一般計算機中堆棧主要用來暫存中斷和子程序調(diào)用時現(xiàn)場數(shù)據(jù)及返回地址,用于訪問堆棧的指令只有壓人(即進棧)和彈出(即退棧)兩種,它們實際上是一種特殊的數(shù)據(jù)傳送指令。壓人指令(PUSH)是把指定的操作數(shù)送人堆棧的棧頂,而彈出指令(POP)的操作剛好相反,是把棧頂?shù)臄?shù)據(jù)取出,送到指令所指定的目的地。在一般的計算機中,堆棧從高地址向低地址擴展,即棧底的地址總是大于或等于棧頂?shù)牡刂罚ㄒ灿猩贁?shù)計算機剛好相反)。當執(zhí)行壓人操作時,首先把堆棧指針(SP)減量(減量的多少取決于壓人數(shù)據(jù)的字節(jié)數(shù),若壓人一個字節(jié),則減1;若壓人兩個字節(jié),則減2,以此類推),然后把數(shù)據(jù)送人SP所指定的單元。當執(zhí)行彈出操作時,首先把SP所指定的單元(即棧頂)的數(shù)據(jù)取出,然后根據(jù)數(shù)據(jù)的大?。此嫉淖止?jié)數(shù))對SP增量。9、字符串處理指令用于各種文字編輯與排版處理包括:字符串的傳送、比較、查找、匹配以及字符串的抽取和字符串的替換等操作指令。10、其它特殊指令專用指令用來完成特殊的專門操作。如:暫停、等待、空操作、位操作、以及開中斷、關(guān)中斷等等。特權(quán)指令分配和管理系統(tǒng)資源,防止非法用戶對系統(tǒng)資源及其他用戶程序的修改、打印以及刪除等。需要說明的是:計算機種類不同其指令系統(tǒng)包括數(shù)量與功能亦有所不同,用其編程時務(wù)必參照相應(yīng)的指令系統(tǒng)手冊。指令系統(tǒng)的兼容性

采用不同指令系統(tǒng)編寫的程序不能相互使用,同一系列兼容機采用具有向前兼容的特點。計算機的操作過程:加電開外設(shè)開主機產(chǎn)生RESET信號執(zhí)行程序停主機停外設(shè)停電計算機工作過程本身就是根據(jù)存儲執(zhí)行原理,按一定順序自動執(zhí)行程序指令。指令執(zhí)行五階段:取指譯碼取操作數(shù)操作結(jié)果處理精簡指令系統(tǒng)計算機(RISC)簡介一、RISC由來

計算機的不斷升級擴充,同時又兼容過去產(chǎn)品使指令系統(tǒng)日趨復(fù)雜,形成了“復(fù)雜指令系統(tǒng)計算機(CISC)”。如VAXII/780由303條指令,18種尋址方式。Pentium機有191條,9種尋址方式。復(fù)雜指令系統(tǒng)增加硬件復(fù)雜性,降低機器運行速度。經(jīng)實際分析發(fā)現(xiàn):1、各種指令使用頻率相差懸殊。80%指令使用很少。2、指令系統(tǒng)的復(fù)雜性帶來系統(tǒng)結(jié)構(gòu)的復(fù)雜性,增加了設(shè)計時間和售價,也增加了VLSI設(shè)計負擔,不利于微機向高檔機器發(fā)展。3、復(fù)雜指令操作復(fù)雜、運行速度慢。由此提出“精簡指令系統(tǒng)計算機(RISC)”的概念。

RISC不是簡單地簡化指令系統(tǒng),而是通過簡化指令使計算機的結(jié)構(gòu)更加簡單合理,從而提高運算速度。1、僅選使用頻率高的一些簡單指令和很有用但不復(fù)雜指令,指令條數(shù)少。2、指令長度固定,指令格式少,尋址方式少3、只有取數(shù)/存數(shù)指令訪問存儲器,其余指令都在寄存器中進行,即限制內(nèi)存訪問4、CPU中通用寄存器數(shù)量相當多;大部分指令都在一個機器周期內(nèi)完成。5、以硬布線邏輯為主,不用或少用微程序控制6、特別重視編譯工作,以簡單有效的方式支持高級語言,減少程序執(zhí)行時間二、RISC的特點

Pentium微處理器指令系統(tǒng)簡介

Pentium處理器包括4個32位數(shù)據(jù)寄存器EAX,EBX,ECX和EDX、其低16位稱為AX,BX,CX和DX,低16位還可分為兩個8位例如AX的低8位為AL,高8位為AH。寄存器名字中的E表示擴展,所以EAX表示將16位AX擴充到32位。還有5個32位寄存器用作指針或變址寄存器,它們是堆棧指針ESP基指針EBP,源變址寄存器ESI,目的變址寄存器EDI,指令指針EIP(即程序計數(shù)器PC)。

EAX,EBX,ECX,EDX,EBP,ESI和EDI可用作通用寄存器、AX,BX,CX,DX,BP。SI和DI可被程序員作為多種用途而應(yīng)用于實模式,但也可被指定為專用。例如,AX用于乘法和除法操作中或者在指令中用于訪問I/O)端口;CX在循環(huán)操作中作為指針,CX的低8位CL寄存器還可作為移位操作的計數(shù)器;DX用于乘法和除法操作,還可作為訪問I/O的指針;SI和DI在字符串操作中作為指針。Pentium擁有6個段寄存器,它用于控制訪問主存和外設(shè)I/O端口。CS用于取指令,DS常被默認用于讀/寫數(shù)據(jù),堆棧指針SS用于堆棧操作,ES用于程序員希望的任何事情。附加的兩個段寄存器FS和GS是從80386開始增加的,可供程序員任意使用、所有段寄存器都為16位。

設(shè)CS的內(nèi)容為A000H,IP(即PC)的內(nèi)容為5F00H,在實模式情況下形成訪存地址的過程如下:將CS的內(nèi)容左移4位即把A000

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論