版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1第五章第五章 指令系統(tǒng)指令系統(tǒng)2本章主要內(nèi)容 指令系統(tǒng)的發(fā)展 指令的一般格式 指令的尋址方式 指令的分類和功能3 50年代計算機硬件結(jié)構(gòu)簡單,指令系統(tǒng)只有十幾到幾十條指令。 60年代后期出現(xiàn)系列機。指令向下兼容。 70年代末期,出現(xiàn)VLSI技術(shù),CISC指令集 RISC5.1 指令系統(tǒng)概述指令系統(tǒng)概述4操作系統(tǒng):DOS,WINDOWS,UNIX,.程序設(shè)計語言服務(wù)程序:KV300,PCTOOLS,.機器語言:匯編語言:高級語言解釋執(zhí)行編譯執(zhí)行PASCAL易教好學(xué)FORTRAN 計算C 長于計算控制BASIC易學(xué)好記COBOL事務(wù)管理應(yīng)用軟件:WORD,EXCEL,ACCESS,DBASE,.
2、二進制,CPU直接執(zhí)行的指令系統(tǒng)把源程序匯編成機器語言目標(biāo)程序計算機系統(tǒng)中運行的軟件有系統(tǒng)軟件和應(yīng)用軟件兩種。計算機系統(tǒng)中運行的軟件有系統(tǒng)軟件和應(yīng)用軟件兩種。 系統(tǒng)軟件對整個計算機系統(tǒng)進行調(diào)度、管理、監(jiān)視、服系統(tǒng)軟件對整個計算機系統(tǒng)進行調(diào)度、管理、監(jiān)視、服務(wù),務(wù),為用戶提供使用方便,擴大機器功能,提高機器使用為用戶提供使用方便,擴大機器功能,提高機器使用效率。效率。 應(yīng)用軟件是用戶針對某種領(lǐng)域?qū)嶋H應(yīng)用需求而開發(fā)的應(yīng)用軟件是用戶針對某種領(lǐng)域?qū)嶋H應(yīng)用需求而開發(fā)的軟件。許多通用商品化的應(yīng)用軟件現(xiàn)已成為系統(tǒng)軟件軟件。許多通用商品化的應(yīng)用軟件現(xiàn)已成為系統(tǒng)軟件, ,如如WordWord等。等。 前述所有各
3、種軟件的設(shè)計基礎(chǔ)就是計算機的指令系統(tǒng)。前述所有各種軟件的設(shè)計基礎(chǔ)就是計算機的指令系統(tǒng)。5名詞解釋:名詞解釋: 指令:命令計算機直接進行某種基本操作的二進制代碼指令:命令計算機直接進行某種基本操作的二進制代碼串串, ,也叫機器語言代碼。每條指令可以完成一個獨立的也叫機器語言代碼。每條指令可以完成一個獨立的算術(shù)運算或邏輯運算操作。算術(shù)運算或邏輯運算操作。 從計算機組成的層次結(jié)構(gòu)來說,計算機的指令有微指令、從計算機組成的層次結(jié)構(gòu)來說,計算機的指令有微指令、機器指令和宏指令。微指令是微程序級的命令,屬于硬機器指令和宏指令。微指令是微程序級的命令,屬于硬件;宏指令是由若干條機器指令組成的軟件指令,它屬件
4、;宏指令是由若干條機器指令組成的軟件指令,它屬于軟件;而機器指令則介于微指令與宏指令之間。于軟件;而機器指令則介于微指令與宏指令之間。 指令系統(tǒng):一臺計算機能直接理解與執(zhí)行的全部指令的指令系統(tǒng):一臺計算機能直接理解與執(zhí)行的全部指令的集合稱為該機的指令系統(tǒng),也叫機器語言。指令系統(tǒng)是集合稱為該機的指令系統(tǒng),也叫機器語言。指令系統(tǒng)是進行計算機邏輯設(shè)計和編制程序的基本依據(jù)。它直接說進行計算機邏輯設(shè)計和編制程序的基本依據(jù)。它直接說明了這臺計算機的功能明了這臺計算機的功能. .不同類型不同類型CPUCPU的指令系統(tǒng)是不能的指令系統(tǒng)是不能混用與兼容的,但同一系列的混用與兼容的,但同一系列的CPUCPU一般升
5、級后指令都有一般升級后指令都有擴充,并可兼容。擴充,并可兼容。 復(fù)雜指令系統(tǒng)計算機(復(fù)雜指令系統(tǒng)計算機(CISC)CISC)和精簡指令系統(tǒng)計算機和精簡指令系統(tǒng)計算機(RISC)RISC)6完善的指令系統(tǒng)完備性有效性規(guī)整性兼容性75.2 指令格式指令格式5.2.1 指令的結(jié)構(gòu)指令的結(jié)構(gòu)指令字:代表指令的一組二進制代碼信息;指令字:代表指令的一組二進制代碼信息;指令長度:指令字中二進制代碼的位數(shù);指令長度:指令字中二進制代碼的位數(shù); 1、典型的指令格式典型的指令格式 操作操作 碼碼 OP指明操作性質(zhì)的命令碼,指明操作性質(zhì)的命令碼, 提供指令的操作控制信息。提供指令的操作控制信息。 操作對象操作對象
6、A說明操作數(shù)存放的地址,說明操作數(shù)存放的地址, 有時則就是操作數(shù)本身。有時則就是操作數(shù)本身。 OP A8F 零地址指令零地址指令 例如:例如:NOP 、HLT,也叫無操作數(shù)指令也叫無操作數(shù)指令F 一地址指令一地址指令 例如:遞增,移位,取反,例如:遞增,移位,取反,INC AX,NOT BXF 二地址指令二地址指令 例:例:A1+A2A1,A2為源地址,為源地址, A1A1目的地目的地址址F 三地址指令三地址指令F 例:例: A1+A2A3,其中其中 A1A1、A2A2為源地為源地址,址, A3A3為目的地址,操作后源地址內(nèi)容不變僅被為目的地址,操作后源地址內(nèi)容不變僅被拷貝拷貝F 多地址指令:
7、用于實現(xiàn)成批數(shù)據(jù)處理。多地址指令:用于實現(xiàn)成批數(shù)據(jù)處理。OP OP A OP A1 A2 OP A1 A2 A32、指令格式的五種類型、指令格式的五種類型根據(jù)操作對象地址長度的不同而劃分。根據(jù)操作對象地址長度的不同而劃分。93、指令操作碼的編碼格式、指令操作碼的編碼格式 指令操作碼的位數(shù)限制指令系統(tǒng)中完成操作指令操作碼的位數(shù)限制指令系統(tǒng)中完成操作的指令條數(shù)。的指令條數(shù)。 固定格式操作碼固定格式操作碼操作碼長度固定,一般集中于指令字的一個字段中。在操作碼長度固定,一般集中于指令字的一個字段中。在字長較大的大中型以及超級小型機上廣泛使用。字長較大的大中型以及超級小型機上廣泛使用。優(yōu)點:有利于簡化硬
8、件設(shè)計,減少譯碼時間優(yōu)點:有利于簡化硬件設(shè)計,減少譯碼時間 可變格式操作碼可變格式操作碼通常在指令字中用一個固定長度的字段來表示基本的操通常在指令字中用一個固定長度的字段來表示基本的操作碼,而對于一部分少地址指令則把它們的操作碼擴充作碼,而對于一部分少地址指令則把它們的操作碼擴充到該指令的地址字段,即操作碼長度可以改變。到該指令的地址字段,即操作碼長度可以改變。這種方法在不增加指令字長度的情況下可表示更多的指這種方法在不增加指令字長度的情況下可表示更多的指令,但增加了譯碼和分析難度,需更多硬件支持。微機令,但增加了譯碼和分析難度,需更多硬件支持。微機中常使用此方式。中常使用此方式。105.2.
9、2 指令操作碼的擴展技術(shù)指令操作碼的擴展技術(shù)可變格式操作碼的指令示例可變格式操作碼的指令示例1 假設(shè)某機器的指令長度為假設(shè)某機器的指令長度為16位,包括位,包括4位位基本操作碼和三個基本操作碼和三個4位地址碼段。位地址碼段。 15 12 118 7 4 3.04位基本操作碼可表示位基本操作碼可表示16個狀態(tài),因此如用個狀態(tài),因此如用4位操作碼則能表示位操作碼則能表示16條三地址指令,而用條三地址指令,而用8位位操作碼則可表示操作碼則可表示256條二地址指令。而用條二地址指令。而用12位位操作碼則可表示操作碼則可表示4096條一地址指令。條一地址指令。 OP A1 A2 A311同樣情況下,如果
10、需要三地址、二地址、一地址同樣情況下,如果需要三地址、二地址、一地址指令各指令各15條、零地址指令條、零地址指令16條,則一樣能夠采條,則一樣能夠采用可變格式操作碼實現(xiàn)。例如可以這樣規(guī)定:用可變格式操作碼實現(xiàn)。例如可以這樣規(guī)定:15條三地址指令的操作碼為:條三地址指令的操作碼為:0000 111015條二地址指令的操作碼為:前條二地址指令的操作碼為:前4位位1111, 即即 1111 0000 1111 111015條一地址指令的操作碼為:前條一地址指令的操作碼為:前8位均為位均為1, 即即 0000 111016條零地址指令的操作碼為:前條零地址指令的操作碼為:前12位均為位均為1, 即即
11、11111111111100001111111111111111可變格式操作碼的指令示例可變格式操作碼的指令示例212 再如:同樣情況下用可變格式操作碼分再如:同樣情況下用可變格式操作碼分別形成三地址指令、二地址指令、一地址指別形成三地址指令、二地址指令、一地址指令和零地址指令令和零地址指令15、14、31、16條。按要求條。按要求得到結(jié)果之一如下得到結(jié)果之一如下15條三地址為:條三地址為: 0000 111014條二地址為:條二地址為: 11110000 1111110131條一地址為:條一地址為: 00000 1111016條零地址為:條零地址為: 11111111111100001111
12、111111111111 可變格式操作碼的指令示例可變格式操作碼的指令示例313思考題 某計算機系統(tǒng)的指令字長為16位,有二地址指令和一地址指令兩種類型,每個地址字段的長度為6位。如果二地址指令有x條,問一地址指令最多可以有多少條?答案:(答案:(16-x)26條條 14 5.2.3 指令長度與機器字長的關(guān)系指令長度與機器字長的關(guān)系 機器字長機器字長是指計算機能直接處理的二進制數(shù)據(jù)的是指計算機能直接處理的二進制數(shù)據(jù)的位數(shù),它與計算機的功能和用途有很大的關(guān)系,是計位數(shù),它與計算機的功能和用途有很大的關(guān)系,是計算機的一個重要技術(shù)指標(biāo)。首先,字長決定了計算機算機的一個重要技術(shù)指標(biāo)。首先,字長決定了計
13、算機的運算精度,字長越長計算機的運算精度越高,因此的運算精度,字長越長計算機的運算精度越高,因此高性能的計算機字長較長。其次,地址碼長度決定了高性能的計算機字長較長。其次,地址碼長度決定了指令直接尋址能力。這對于字長較短(指令直接尋址能力。這對于字長較短(8位或位或16位)位)的微型機來說遠遠滿足不了實際需要,擴大尋址能力的微型機來說遠遠滿足不了實際需要,擴大尋址能力的方法,一是通過增加機器字長來增加地址碼的長度;的方法,一是通過增加機器字長來增加地址碼的長度;二是采用地址擴展技術(shù),把存儲空間分成若干個段,二是采用地址擴展技術(shù),把存儲空間分成若干個段,用基地址加位移量的方法來增加地址碼的長度。
14、用基地址加位移量的方法來增加地址碼的長度。 指令字長度指令字長度是指一個指令字中包含二進制代碼的是指一個指令字中包含二進制代碼的位數(shù)。如指令字長度等于機器字長度的指令,稱為單位數(shù)。如指令字長度等于機器字長度的指令,稱為單字長指令。字長指令。 15 指令的長度指令的長度主要取決于主要取決于操作碼的長度、操作數(shù)操作碼的長度、操作數(shù)地址的長度地址的長度和和操作數(shù)地址操作數(shù)地址的個數(shù)。由于操作碼的的個數(shù)。由于操作碼的長度、操作數(shù)地址的長度及指令格式不同,各指長度、操作數(shù)地址的長度及指令格式不同,各指令的長度不是固定的,指令的長度通常為字節(jié)的令的長度不是固定的,指令的長度通常為字節(jié)的整數(shù)倍。整數(shù)倍。 指
15、令的長度與機器的字長沒有固定的關(guān)系,它指令的長度與機器的字長沒有固定的關(guān)系,它既可以小于或等于機器的字長既可以小于或等于機器的字長,也可以大于機器也可以大于機器的字長。前者稱為短格式指令,后者稱為長格式的字長。前者稱為短格式指令,后者稱為長格式指令。一條指令存放在地址連續(xù)的存儲單元中。指令。一條指令存放在地址連續(xù)的存儲單元中。同一臺計算機中可能既有短格式指令又有長格式同一臺計算機中可能既有短格式指令又有長格式指令,但通常是把最常用的指令(如算術(shù)邏輯運指令,但通常是把最常用的指令(如算術(shù)邏輯運算指令、數(shù)據(jù)傳送指令)設(shè)計成短格式指令,以算指令、數(shù)據(jù)傳送指令)設(shè)計成短格式指令,以便節(jié)省存儲空間和提高
16、指令的執(zhí)行速度。便節(jié)省存儲空間和提高指令的執(zhí)行速度。 在在Pentium系列機中,指令格式也是可變的:系列機中,指令格式也是可變的:有有8位、位、16位、位、32位、位、64位不等。位不等。165.3 數(shù)據(jù)在內(nèi)存中的存放格式數(shù)據(jù)在內(nèi)存中的存放格式 計算機中基本數(shù)據(jù)有邏輯數(shù)、定點數(shù)、無計算機中基本數(shù)據(jù)有邏輯數(shù)、定點數(shù)、無符號數(shù)、浮點數(shù)、字符數(shù)及數(shù)組等。符號數(shù)、浮點數(shù)、字符數(shù)及數(shù)組等。 目前微機所用的數(shù)據(jù)目前微機所用的數(shù)據(jù)(字字)長度一般為長度一般為32位,位, 4個字節(jié)。內(nèi)存地址按字節(jié)編址。個字節(jié)。內(nèi)存地址按字節(jié)編址。 計算機指令系統(tǒng)可支持對字節(jié)、半字、字、計算機指令系統(tǒng)可支持對字節(jié)、半字、字、
17、雙字的運算,有的還支持位操作。雙字的運算,有的還支持位操作。 為便于硬件的實現(xiàn),一般要求多字節(jié)數(shù)據(jù)采為便于硬件的實現(xiàn),一般要求多字節(jié)數(shù)據(jù)采用對準(zhǔn)數(shù)據(jù)邊界的方式儲存。不合要求則填充用對準(zhǔn)數(shù)據(jù)邊界的方式儲存。不合要求則填充空白字節(jié)(無操作)代替??瞻鬃止?jié)(無操作)代替。174字節(jié)字節(jié)32位存儲器位存儲器字地址字地址0字地址字地址4半字地址半字地址8半字地址半字地址10半字地址半字地址12字節(jié)地址字節(jié)地址15半字地址半字地址22對準(zhǔn)邊界對準(zhǔn)邊界(下圖所示下圖所示)格式存儲數(shù)據(jù):格式存儲數(shù)據(jù):字節(jié)地址字節(jié)地址14字節(jié)地址字節(jié)地址19 字節(jié)地址字節(jié)地址18字節(jié)地址字節(jié)地址20字節(jié)地址字節(jié)地址17 字節(jié)地
18、址字節(jié)地址16字節(jié)地址字節(jié)地址21地址地址048121620在數(shù)據(jù)對準(zhǔn)邊界存儲的計算機中,對于以二進制在數(shù)據(jù)對準(zhǔn)邊界存儲的計算機中,對于以二進制表示的存儲地址來說,半字地址的最低位、字地表示的存儲地址來說,半字地址的最低位、字地址的最低兩位和雙字地址的最低三位恒為零。址的最低兩位和雙字地址的最低三位恒為零。1832位、位、4個字節(jié)個字節(jié)地址地址048字節(jié)字節(jié)半字的一半半字的一半一字的一字的3/4半字半字 有的計算機不要求對準(zhǔn)邊界存儲數(shù)據(jù),如下有的計算機不要求對準(zhǔn)邊界存儲數(shù)據(jù),如下圖所示,但這種方式增加硬件的復(fù)雜程度,并圖所示,但這種方式增加硬件的復(fù)雜程度,并且有可能導(dǎo)致訪問次數(shù)增加。且有可能導(dǎo)
19、致訪問次數(shù)增加。半字另一半半字另一半一字的一字的1/4半字半字195.4操作數(shù)操作數(shù)的的尋址方式(編碼方式)尋址方式(編碼方式) 尋址方式:指令中如何提供操作數(shù)或?qū)ぶ贩绞剑褐噶钪腥绾翁峁┎僮鲾?shù)或操作數(shù)地址。換句話說就是規(guī)定如何對操作數(shù)地址。換句話說就是規(guī)定如何對地址字段作出解釋以找到操作數(shù)。地址字段作出解釋以找到操作數(shù)。 不同類型計算機的尋址方式亦有差別,不同類型計算機的尋址方式亦有差別,但大多可以歸結(jié)為立即尋址、直接尋址、但大多可以歸結(jié)為立即尋址、直接尋址、間接尋址、變址尋址以及相對尋址等幾間接尋址、變址尋址以及相對尋址等幾種尋址方式,或者這幾種方式的組合與種尋址方式,或者這幾種方式的組合與
20、變形。變形。20 在這種方式中,指令的地址碼部分就是指令在這種方式中,指令的地址碼部分就是指令的操作數(shù),而不是操作數(shù)的地址。的操作數(shù),而不是操作數(shù)的地址。 優(yōu)點:取指同時取得操作數(shù),提高指令的運優(yōu)點:取指同時取得操作數(shù),提高指令的運行速度。行速度。 缺點:操作數(shù)的長度受指令長度的影響,且缺點:操作數(shù)的長度受指令長度的影響,且不便修改。適合操作數(shù)固定的情況。不便修改。適合操作數(shù)固定的情況。 例:例: MOV AX,1AH的結(jié)果:的結(jié)果: ( AX ) 1AH一、立即數(shù)尋址方式一、立即數(shù)尋址方式21二、直接尋址方式二、直接尋址方式 指令的地址碼部分給出的就是操作數(shù)在指令的地址碼部分給出的就是操作數(shù)
21、在存儲器中的地址。存儲器中的地址。 特點是簡單直觀,特點是簡單直觀,便于硬件實現(xiàn),但便于硬件實現(xiàn),但操作數(shù)地址是指令操作數(shù)地址是指令的一部分,只能用的一部分,只能用于訪問固定的存儲于訪問固定的存儲器單元。器單元。 例:例: MOV AX,0110H存儲器存儲器OP A 操作數(shù)操作數(shù) 0110H22三、寄存器尋址方式三、寄存器尋址方式 在指令的地址碼部分給出某一寄存器的名在指令的地址碼部分給出某一寄存器的名稱,而所需的操作數(shù)地址就在這個寄存器稱,而所需的操作數(shù)地址就在這個寄存器中。中。 這種方式數(shù)據(jù)傳送快,計算機中多用。這種方式數(shù)據(jù)傳送快,計算機中多用。 例:例:MOV AX,BX其中其中BX為
22、源操作數(shù)地址,為源操作數(shù)地址,AX為目的操為目的操作數(shù)地址,操作的結(jié)果為將作數(shù)地址,操作的結(jié)果為將BX中的數(shù)據(jù)傳中的數(shù)據(jù)傳送(拷貝)到送(拷貝)到AX中。中。23四、寄存器間接尋址方式四、寄存器間接尋址方式 在指令的地址碼部分直接在指令的地址碼部分直接給出的既不是操作數(shù)也不給出的既不是操作數(shù)也不是操作數(shù)的地址,而是操是操作數(shù)的地址,而是操作數(shù)地址的地址。作數(shù)地址的地址。 優(yōu)點:改變寄存器優(yōu)點:改變寄存器 Rn中中的的內(nèi)容就可訪問內(nèi)存的內(nèi)容就可訪問內(nèi)存的不同地址。修改十分方便。不同地址。修改十分方便。 缺點:二次尋址速度慢。缺點:二次尋址速度慢。 例:例:MOV AX,BX存儲器存儲器OP Rn
23、 A:操作數(shù)操作數(shù)Rn:A24五、變址尋址方式五、變址尋址方式變址尋址:把變址尋址:把CPU中變址寄存器的內(nèi)容和中變址寄存器的內(nèi)容和指令地址部分給出的地址之和作為操作數(shù)指令地址部分給出的地址之和作為操作數(shù)的地址來獲得操作數(shù)。這種方式多用于字的地址來獲得操作數(shù)。這種方式多用于字串處理、矩陣運算和成批數(shù)據(jù)處理。串處理、矩陣運算和成批數(shù)據(jù)處理。OP . Rx AKRx:加加法法器器存儲器存儲器操作數(shù)操作數(shù)A+K:A:25六、基址尋址方式六、基址尋址方式 將整個存儲空間分成若干個段,段的首地將整個存儲空間分成若干個段,段的首地址存放在基址寄存器中,操作數(shù)的存儲地址與址存放在基址寄存器中,操作數(shù)的存儲地
24、址與段的首地址的距離即段內(nèi)偏移量由指令直接給段的首地址的距離即段內(nèi)偏移量由指令直接給出。操作數(shù)存儲單元的實際有效地址就等于基出。操作數(shù)存儲單元的實際有效地址就等于基址寄存器的內(nèi)容與段內(nèi)偏移量之和。址寄存器的內(nèi)容與段內(nèi)偏移量之和。 改變基址寄存器的內(nèi)容改變基址寄存器的內(nèi)容(基準(zhǔn)量基準(zhǔn)量)并由指令并由指令提供位移量就可以訪問存儲器的任一單元。基提供位移量就可以訪問存儲器的任一單元?;芳拇嫫饔糜诔绦蜓b配可為浮動程序分配存儲址寄存器用于程序裝配可為浮動程序分配存儲單元。單元。 基址尋址面向系統(tǒng),解決程序的存儲定位基址尋址面向系統(tǒng),解決程序的存儲定位問題;變址尋址面向用戶,用以訪問字串和數(shù)問題;變址尋
25、址面向用戶,用以訪問字串和數(shù)組。組。26思考題 某處理機的一種訪問存儲器指令只用8位地址碼,就能夠指向一個1G地址空間中任意256個連續(xù)地址之一,請描述這種尋址方式。(字長32位,主存儲器按字節(jié)編址,指令按字尋址) 27參考答案第一種方法:采用變址尋址方式,指令中給出8位偏移量,如果只設(shè)置1個變址寄存器,則可以隱含。變址寄存器的字長不短于20位,通過變址寄存器指向1G地址空間的任意位置,再通過指令中給出的8位偏移量就能夠訪問256個連續(xù)地址之一。28參考答案第二種方法:采用基址尋址方式,指令中給出8位偏移量,隱含設(shè)置1個基址寄存器?;芳拇嫫鞯淖珠L為20位,通過基址寄存器指向1G地址空間的任意
26、位置,再通過指令中給出的8位偏移量就能夠訪問256個連續(xù)地址之一。 29七、相對尋址方式七、相對尋址方式 也稱程序計數(shù)器尋址,其有效地址是指也稱程序計數(shù)器尋址,其有效地址是指令中地址碼部分給出的形式地址令中地址碼部分給出的形式地址(偏移量偏移量Disp)與程序計數(shù)器與程序計數(shù)器PC的內(nèi)容之和。即有效地址是的內(nèi)容之和。即有效地址是以當(dāng)前以當(dāng)前PC的內(nèi)容為基準(zhǔn)浮動的,浮動的距離的內(nèi)容為基準(zhǔn)浮動的,浮動的距離就是偏移量。就是偏移量。 偏移量可正可負,通常用補碼表示。偏移量可正可負,通常用補碼表示。 相對尋址方式主要應(yīng)用于相對轉(zhuǎn)移指令。相對尋址方式主要應(yīng)用于相對轉(zhuǎn)移指令。由于目的地址隨由于目的地址隨P
27、C變化不固定,所以非常適變化不固定,所以非常適用于浮動程序的裝配與運行。用于浮動程序的裝配與運行。30例題例題:一種兩地址:一種兩地址RS型指令的結(jié)構(gòu)如下所示,其中型指令的結(jié)構(gòu)如下所示,其中I為間接尋址標(biāo)志位,為間接尋址標(biāo)志位,X為尋址模式字段,為尋址模式字段,D為偏移量為偏移量字段。通過字段。通過I,X,D的組合,可構(gòu)成下表所式的尋址方式。的組合,可構(gòu)成下表所式的尋址方式。請寫出六種尋址方式的名稱。請寫出六種尋址方式的名稱。 6位位 4位位 1位位 2位位 16位位 尋址方式表尋址方式表OP- 通用寄存器 I X 偏移量D尋址方式尋址方式 I X有效地址有效地址E算法算法 說說 明明(1)
28、( 2 ) (3 ) (4 ) (5) ( 6)0000 00 0E=DE=D()()()()()()()()()()為變址寄存器為變址寄存器為基址寄存器為基址寄存器31 解:,直接尋址解:,直接尋址 ,相對尋址,相對尋址 ,變址尋址,變址尋址 ,寄存器間接尋址,寄存器間接尋址 ,間接尋址,間接尋址 ,基址尋址,基址尋址325.5 指令的類型指令的類型 一個指令系統(tǒng)常有幾十、幾百條指令一個指令系統(tǒng)常有幾十、幾百條指令(Intel 8086具有具有133條指令),但按功能可以條指令),但按功能可以劃分為如下幾大類:劃分為如下幾大類:1、數(shù)據(jù)傳送指令、數(shù)據(jù)傳送指令用以實現(xiàn)寄存器與寄存器之間用以實現(xiàn)
29、寄存器與寄存器之間(MOV AX,BX)、寄存器與內(nèi)存單元之間寄存器與內(nèi)存單元之間(MOV 0001H,AX)以及內(nèi)存以及內(nèi)存單元相互之間的數(shù)據(jù)傳送。數(shù)據(jù)能夠被從源地址傳單元相互之間的數(shù)據(jù)傳送。數(shù)據(jù)能夠被從源地址傳送到目的地址,而源地址中數(shù)據(jù)不變,送到目的地址,而源地址中數(shù)據(jù)不變,拷貝??截?。包括:立即數(shù)送寄存器包括:立即數(shù)送寄存器 (MOV AX,1 )、將將數(shù)據(jù)送到不同字長的寄存器中數(shù)據(jù)送到不同字長的寄存器中 (MOV AL,78H、 MOV AX,A0A0H MOV EAX,12345678H )以及以及寄存器組數(shù)據(jù)交換等操作指令寄存器組數(shù)據(jù)交換等操作指令。332、算術(shù)與邏輯運算指令、算
30、術(shù)與邏輯運算指令 算術(shù)運算指令:一般包括定點、浮點的加、算術(shù)運算指令:一般包括定點、浮點的加、減、乘、除運算。根據(jù)運算結(jié)果改變標(biāo)志寄減、乘、除運算。根據(jù)運算結(jié)果改變標(biāo)志寄存器的狀態(tài)位。存器的狀態(tài)位。 ADD,ADC,SUB,SBB,INC,DEC,DIV,MUL 邏輯運算:一般包括邏輯與,邏輯或,邏輯邏輯運算:一般包括邏輯與,邏輯或,邏輯非,邏輯異或等運算,是以二進制為單位按非,邏輯異或等運算,是以二進制為單位按位進行運算。位進行運算。 OR,AND,XOR,NOT343、移位指令、移位指令 算術(shù)移位:左移時空位補算術(shù)移位:左移時空位補0而符號位進標(biāo)志位,右而符號位進標(biāo)志位,右移時空位復(fù)制符號
31、位而溢出位進標(biāo)志位。移時空位復(fù)制符號位而溢出位進標(biāo)志位。 邏輯移位:整體移位,空位補邏輯移位:整體移位,空位補0,溢出進標(biāo)志位。,溢出進標(biāo)志位。 循環(huán)移位:有不帶進位循環(huán)和帶進位循環(huán)。前者循環(huán)移位:有不帶進位循環(huán)和帶進位循環(huán)。前者循環(huán)后的溢出位進標(biāo)志位,后者與標(biāo)志位一起循環(huán)。循環(huán)后的溢出位進標(biāo)志位,后者與標(biāo)志位一起循環(huán)。4、比較指令、比較指令 比較指令:比較指令:CMP AX,BX作用:根據(jù)參加比較的兩個數(shù)相減后的結(jié)果,作用:根據(jù)參加比較的兩個數(shù)相減后的結(jié)果,區(qū)分大于等于小于等情況對標(biāo)志位進行置位操區(qū)分大于等于小于等情況對標(biāo)志位進行置位操作。比較指令只影響標(biāo)志位,而不影響參加比作。比較指令只影
32、響標(biāo)志位,而不影響參加比較的操作數(shù)。較的操作數(shù)。355、轉(zhuǎn)移指令、轉(zhuǎn)移指令 作用:根據(jù)邏輯判斷結(jié)果,改變程序的執(zhí)行作用:根據(jù)邏輯判斷結(jié)果,改變程序的執(zhí)行順序。順序。 無條件轉(zhuǎn)移指令強迫無條件轉(zhuǎn)移指令強迫CPU運行程序地址轉(zhuǎn)移運行程序地址轉(zhuǎn)移至新地址開始執(zhí)行程序。至新地址開始執(zhí)行程序。 有條件轉(zhuǎn)移指令根據(jù)當(dāng)前運算的結(jié)果進行邏有條件轉(zhuǎn)移指令根據(jù)當(dāng)前運算的結(jié)果進行邏輯判斷,符合判斷條件則轉(zhuǎn)移到指令表明的輯判斷,符合判斷條件則轉(zhuǎn)移到指令表明的新地址處執(zhí)行程序,否則繼續(xù)按原順序執(zhí)行新地址處執(zhí)行程序,否則繼續(xù)按原順序執(zhí)行原來的程序。原來的程序。 根據(jù)實際需要,有條件轉(zhuǎn)移指令分為許多種根據(jù)實際需要,有條件轉(zhuǎn)
33、移指令分為許多種類,其中包括單一條件轉(zhuǎn)移指令、復(fù)合條件類,其中包括單一條件轉(zhuǎn)移指令、復(fù)合條件轉(zhuǎn)移指令、適用于無符號數(shù)的條件轉(zhuǎn)移指令、轉(zhuǎn)移指令、適用于無符號數(shù)的條件轉(zhuǎn)移指令、適用于有符號數(shù)的條件轉(zhuǎn)移指令以及某些特適用于有符號數(shù)的條件轉(zhuǎn)移指令以及某些特殊的條件轉(zhuǎn)移指令等等。殊的條件轉(zhuǎn)移指令等等。366、調(diào)用指令和返回指令、調(diào)用指令和返回指令 調(diào)用指令實現(xiàn)從一個程序轉(zhuǎn)去執(zhí)行子程序的操作;調(diào)用指令實現(xiàn)從一個程序轉(zhuǎn)去執(zhí)行子程序的操作; 返回指令則使返回指令則使CPU結(jié)束執(zhí)行子程序而返回執(zhí)行原程結(jié)束執(zhí)行子程序而返回執(zhí)行原程序。序。7、輸入、輸出指令、輸入、輸出指令完成在中央處理器和外設(shè)之間進行數(shù)據(jù)交換。完
34、成在中央處理器和外設(shè)之間進行數(shù)據(jù)交換。輸入指令使數(shù)據(jù)由外設(shè)傳送到處理機輸入指令使數(shù)據(jù)由外設(shè)傳送到處理機 輸出指令使數(shù)據(jù)由處理機傳送到外設(shè)輸出指令使數(shù)據(jù)由處理機傳送到外設(shè) 37 8、 堆棧及堆棧操作指令堆棧及堆棧操作指令 堆棧(堆棧(stack是由若干個連續(xù)存儲單元組成的先進是由若干個連續(xù)存儲單元組成的先進后出(后出(first in last out,簡稱簡稱FILO)存儲區(qū)。第一個存儲區(qū)。第一個送入堆棧中的數(shù)據(jù)存放在棧底,最后送入堆棧中的數(shù)據(jù)送入堆棧中的數(shù)據(jù)存放在棧底,最后送入堆棧中的數(shù)據(jù)存放在棧頂。棧底是固定不變的,而棧頂卻是隨著數(shù)據(jù)存放在棧頂。棧底是固定不變的,而棧頂卻是隨著數(shù)據(jù)的入棧和
35、出棧在不斷變化。為了表示棧頂?shù)奈恢?,有一的入棧和出棧在不斷變化。為了表示棧頂?shù)奈恢?,有一個寄存器或存儲器單元用于指出棧頂?shù)牡刂罚@個寄存?zhèn)€寄存器或存儲器單元用于指出棧頂?shù)牡刂?,這個寄存器或存儲器單元就稱為器或存儲器單元就稱為堆棧指針堆棧指針(stack pointer簡稱簡稱SP),),任何堆棧操作只能在棧頂進行任何堆棧操作只能在棧頂進行. 。 在一般計算機中堆棧主要用來暫存中斷和子程序調(diào)在一般計算機中堆棧主要用來暫存中斷和子程序調(diào)用時現(xiàn)場數(shù)據(jù)及返回地址,用于訪問堆棧的指令只有壓用時現(xiàn)場數(shù)據(jù)及返回地址,用于訪問堆棧的指令只有壓入(即進棧)和彈出(即退棧)兩種,它們實際上是一入(即進棧)和彈出(
36、即退棧)兩種,它們實際上是一種特殊的數(shù)據(jù)傳送指令。壓入指令(種特殊的數(shù)據(jù)傳送指令。壓入指令(PUSH)是把指定是把指定的操作數(shù)送入堆棧的棧頂,而彈出指令(的操作數(shù)送入堆棧的棧頂,而彈出指令(POP)的操作的操作剛好相反,是把棧頂?shù)臄?shù)據(jù)取出,送到指令所指定的目剛好相反,是把棧頂?shù)臄?shù)據(jù)取出,送到指令所指定的目的地。的地。38 在一般的計算機中,堆棧從高地址向低地址擴展,在一般的計算機中,堆棧從高地址向低地址擴展,即棧底的地址總是大于或等于棧頂?shù)牡刂罚ㄒ灿猩贁?shù)計即棧底的地址總是大于或等于棧頂?shù)牡刂罚ㄒ灿猩贁?shù)計算機剛好相反)。當(dāng)執(zhí)行壓入操作時,首先把堆棧指針?biāo)銠C剛好相反)。當(dāng)執(zhí)行壓入操作時,首先把堆棧
37、指針(SP)減量(減量的多少取決于壓入數(shù)據(jù)的字節(jié)數(shù),減量(減量的多少取決于壓入數(shù)據(jù)的字節(jié)數(shù),若壓入一個字節(jié),則減若壓入一個字節(jié),則減1;若壓入兩個字節(jié),則減;若壓入兩個字節(jié),則減2,以,以此類推),然后把數(shù)據(jù)送入此類推),然后把數(shù)據(jù)送入SP所指定的單元。當(dāng)執(zhí)行所指定的單元。當(dāng)執(zhí)行彈出操作時,首先把彈出操作時,首先把SP所指定的單元(即棧頂)的數(shù)所指定的單元(即棧頂)的數(shù)據(jù)取出,然后根據(jù)數(shù)據(jù)的大?。此嫉淖止?jié)數(shù))對據(jù)取出,然后根據(jù)數(shù)據(jù)的大?。此嫉淖止?jié)數(shù))對SP增量。例如增量。例如 壓入指令壓入指令 PUSH OPR把把OPR(長度為兩個字節(jié))壓入堆長度為兩個字節(jié))壓入堆棧棧 其操作是(其操
38、作是(SP)2 SP OPR (Sp) 彈出指令彈出指令 POP OPR彈出一個數(shù)據(jù)(長度為兩個字節(jié))送彈出一個數(shù)據(jù)(長度為兩個字節(jié))送OPR 其操作是其操作是: (SP) OPR (SP)十十2 SP 其中,(其中,(SP)表示堆棧指針的內(nèi)容;表示堆棧指針的內(nèi)容;(SP)表示表示SP所指的棧頂所指的棧頂?shù)膬?nèi)容。的內(nèi)容。399、字符串處理指令、字符串處理指令 用于各種文字編輯與排版處理用于各種文字編輯與排版處理 包括:字符串的傳送、比較、查找、匹配以包括:字符串的傳送、比較、查找、匹配以及字符串的抽取和字符串的替換等操作指令。及字符串的抽取和字符串的替換等操作指令。10、其它特殊指令、其它特殊
39、指令專用指令用來完成特殊的專門操作。如:暫停、等待、專用指令用來完成特殊的專門操作。如:暫停、等待、空操作、位操作、以及開中斷、關(guān)中斷等等??詹僮?、位操作、以及開中斷、關(guān)中斷等等。特權(quán)指令分配和管理系統(tǒng)資源,防止非法用戶對系統(tǒng)資特權(quán)指令分配和管理系統(tǒng)資源,防止非法用戶對系統(tǒng)資源及其他用戶程序的修改、打印以及刪除等。源及其他用戶程序的修改、打印以及刪除等。需要說明的是:計算機種類不同其指令系統(tǒng)包括數(shù)量需要說明的是:計算機種類不同其指令系統(tǒng)包括數(shù)量與功能亦有所不同,用其編程時務(wù)必參照相應(yīng)的指令與功能亦有所不同,用其編程時務(wù)必參照相應(yīng)的指令系統(tǒng)手冊。系統(tǒng)手冊。405.6 5.6 指令系統(tǒng)的兼容性指令
40、系統(tǒng)的兼容性 采用不同指令系統(tǒng)編寫的程序不能相互使用,采用不同指令系統(tǒng)編寫的程序不能相互使用,同一系列兼容機采用具有向前兼容的特點。同一系列兼容機采用具有向前兼容的特點。 計算機的操作過程:計算機的操作過程: 加電加電開外設(shè)開外設(shè) 開主機開主機 產(chǎn)生產(chǎn)生RESET信號信號 執(zhí)行程序執(zhí)行程序 停主機停主機 停外設(shè)停外設(shè) 停電停電 計算機工作過程本身就是根據(jù)存儲執(zhí)行原理,計算機工作過程本身就是根據(jù)存儲執(zhí)行原理,按一定順序自動執(zhí)行程序指令。按一定順序自動執(zhí)行程序指令。 指令執(zhí)行五階段:指令執(zhí)行五階段: 取指取指譯碼譯碼取操作數(shù)取操作數(shù)操作操作結(jié)果處理結(jié)果處理 415.7 精簡指令系統(tǒng)計算機精簡指令系
41、統(tǒng)計算機(RISC)簡介簡介一、一、RISCRISC由來由來 計算機的不斷升級擴充,同時又兼容過去產(chǎn)品使指令計算機的不斷升級擴充,同時又兼容過去產(chǎn)品使指令系統(tǒng)日趨復(fù)雜,形成了系統(tǒng)日趨復(fù)雜,形成了“復(fù)雜指令系統(tǒng)計算機復(fù)雜指令系統(tǒng)計算機( (CISC)”CISC)”。如有條指令,如有條指令,1 1種尋址方式。種尋址方式。機有條,種尋址方式。機有條,種尋址方式。 復(fù)雜指令系統(tǒng)增加硬件復(fù)雜性,降低機器運行速度。復(fù)雜指令系統(tǒng)增加硬件復(fù)雜性,降低機器運行速度。經(jīng)實際分析發(fā)現(xiàn):經(jīng)實際分析發(fā)現(xiàn): 1 1、各種指令使用頻率相差懸殊。、各種指令使用頻率相差懸殊。80%80%指令使用很少。指令使用很少。 2 2、指
42、令系統(tǒng)的復(fù)雜性帶來系統(tǒng)結(jié)構(gòu)的復(fù)雜性,增加了、指令系統(tǒng)的復(fù)雜性帶來系統(tǒng)結(jié)構(gòu)的復(fù)雜性,增加了設(shè)計時間和售價,也增加了設(shè)計時間和售價,也增加了VLSIVLSI設(shè)計負擔(dān),不利于微機向設(shè)計負擔(dān),不利于微機向高檔機器發(fā)展。高檔機器發(fā)展。 3 3、復(fù)雜指令操作復(fù)雜、運行速度慢。、復(fù)雜指令操作復(fù)雜、運行速度慢。由此提出由此提出“精簡指令系統(tǒng)計算機精簡指令系統(tǒng)計算機( (RISC)”RISC)”的概念。的概念。42 RISC不是簡單地簡化指令系統(tǒng),而是通過簡化指不是簡單地簡化指令系統(tǒng),而是通過簡化指令使計算機的結(jié)構(gòu)更加簡單合理,從而提高運算速度。令使計算機的結(jié)構(gòu)更加簡單合理,從而提高運算速度。;1、僅選使用頻率
43、高的一些簡單指令和很有用但不復(fù)、僅選使用頻率高的一些簡單指令和很有用但不復(fù)雜指令,指令條數(shù)少。雜指令,指令條數(shù)少。;2、指令長度固定,指令格式少,尋址方式少、指令長度固定,指令格式少,尋址方式少;3、只有取數(shù)只有取數(shù)/存數(shù)指令訪問存儲器,其余指令都在寄存數(shù)指令訪問存儲器,其余指令都在寄存器中進行,即限制內(nèi)存訪問存器中進行,即限制內(nèi)存訪問;4、CPU中通用寄存器數(shù)量相當(dāng)多;大部分指令都在中通用寄存器數(shù)量相當(dāng)多;大部分指令都在一個機器周期內(nèi)完成。一個機器周期內(nèi)完成。;5、以硬布線邏輯為主,不用或少用微程序控制、以硬布線邏輯為主,不用或少用微程序控制;6、特別重視編譯工作,以簡單有效的方式支持高級、
44、特別重視編譯工作,以簡單有效的方式支持高級語言,減少程序執(zhí)行時間語言,減少程序執(zhí)行時間二、二、RISC的特點的特點43補充補充1: 5. 8 Pentium微處理器指令系統(tǒng)簡介微處理器指令系統(tǒng)簡介 Pentium處理器包括處理器包括4個個32位數(shù)據(jù)寄存器位數(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位寄
45、存器用作指針或變址寄存器,它們是堆棧指針位寄存器用作指針或變址寄存器,它們是堆棧指針ESP,基指針,基指針EBP,源變址寄存器源變址寄存器ESI,目的變址寄存器目的變址寄存器EDI,指令指針指令指針EIP(即程序計數(shù)器即程序計數(shù)器PC)。)。 EAX,EBX,ECX,EDX,EBP,ESI和和EDI可用作通用寄存器、可用作通用寄存器、AX,BX,CX,DX,BP。SI和和DI可被程序員作為多種用途而應(yīng)可被程序員作為多種用途而應(yīng)用于實模式用于實模式,但也可被指定為專用。(例如,但也可被指定為專用。(例如,AX用于乘法和除法用于乘法和除法操作中或者在指令中用于訪問操作中或者在指令中用于訪問IO端口
46、);端口);CX在循環(huán)操作中作在循環(huán)操作中作為指針,為指針,CX的低的低8位位CL寄存器還可作為移位操作的計數(shù)器;寄存器還可作為移位操作的計數(shù)器;DX用于乘法和除法操作,還可作為訪問用于乘法和除法操作,還可作為訪問IO的指針的指針;SI和和DI在字符在字符串操作中作為指針。串操作中作為指針。 44 Pentium 擁有擁有6個段寄存器,它用于控制訪問主存?zhèn)€段寄存器,它用于控制訪問主存和外設(shè)和外設(shè)IO端口。端口。CS用于取指令,用于取指令,DS常被默認用于讀常被默認用于讀寫數(shù)據(jù),堆棧指針寫數(shù)據(jù),堆棧指針SS用于堆棧操作,用于堆棧操作,ES用于程序員用于程序員希望的任何事情。附加的兩個段寄存器希望
47、的任何事情。附加的兩個段寄存器FS和和GS是從是從80386開始增加的,可供程序員任意使用、所有段寄存開始增加的,可供程序員任意使用、所有段寄存器都為器都為 16位。位。 設(shè)設(shè)CS的內(nèi)容為的內(nèi)容為A000H,IP(即即PC)的內(nèi)容為的內(nèi)容為5F00H,在實模式情況下形成訪存地址的過程如下在實模式情況下形成訪存地址的過程如下: 將將CS的內(nèi)容左移的內(nèi)容左移4位即把位即把A000H改變成改變成A0000H然后然后與與IP的內(nèi)容相加得的內(nèi)容相加得A5FOOH,并以此新值寫入并以此新值寫入IP中,此中,此即為下一條指令的地址。即為下一條指令的地址。 在保護模式,段寄存器用作選擇器指出預(yù)定義的段在保護模式,段寄存器用作選擇器指出預(yù)定義的
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度滑雪場設(shè)施裝修安全防護合同3篇
- 2025年度早餐店加盟連鎖承包合同范本4篇
- 2025年度智能車間承包環(huán)保技術(shù)改造協(xié)議4篇
- 2024-2028年中國無線電接收機行業(yè)發(fā)展前景預(yù)測及投資戰(zhàn)略規(guī)劃研究報告
- 中國太陽能空調(diào)項目可行性研究報告建議書
- 2025年度個人二手房定金買賣合同書標(biāo)準(zhǔn)化版2篇
- 2025年度個人借款聯(lián)保合同(附財產(chǎn)抵押)4篇
- 2025年山東國新抱犢食品有限公司招聘筆試參考題庫含答案解析
- 二零二五版苗木種植基地水資源利用與節(jié)水技術(shù)合同4篇
- 2025年寧夏昊陽資產(chǎn)管理有限公司招聘筆試參考題庫含答案解析
- 公司組織架構(gòu)圖(可編輯模版)
- 1汽輪機跳閘事故演練
- 陜西省銅川市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細
- 禮品(禮金)上交登記臺賬
- 普通高中英語課程標(biāo)準(zhǔn)詞匯表
- 北師大版七年級數(shù)學(xué)上冊教案(全冊完整版)教學(xué)設(shè)計含教學(xué)反思
- 2023高中物理步步高大一輪 第五章 第1講 萬有引力定律及應(yīng)用
- 青少年軟件編程(Scratch)練習(xí)題及答案
- 浙江省公務(wù)員考試面試真題答案及解析精選
- 系統(tǒng)性紅斑狼瘡-第九版內(nèi)科學(xué)
- 全統(tǒng)定額工程量計算規(guī)則1994
評論
0/150
提交評論