![組成與體系結構(6)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/4/e72adaef-de8d-4eb7-a54f-8f2b3fe795cf/e72adaef-de8d-4eb7-a54f-8f2b3fe795cf1.gif)
![組成與體系結構(6)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/4/e72adaef-de8d-4eb7-a54f-8f2b3fe795cf/e72adaef-de8d-4eb7-a54f-8f2b3fe795cf2.gif)
![組成與體系結構(6)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/4/e72adaef-de8d-4eb7-a54f-8f2b3fe795cf/e72adaef-de8d-4eb7-a54f-8f2b3fe795cf3.gif)
![組成與體系結構(6)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/4/e72adaef-de8d-4eb7-a54f-8f2b3fe795cf/e72adaef-de8d-4eb7-a54f-8f2b3fe795cf4.gif)
![組成與體系結構(6)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/4/e72adaef-de8d-4eb7-a54f-8f2b3fe795cf/e72adaef-de8d-4eb7-a54f-8f2b3fe795cf5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1第五章第五章 指令系統(tǒng)指令系統(tǒng)2本章主要內容 指令系統(tǒng)的發(fā)展 指令的一般格式 指令的尋址方式 指令的分類和功能3 50年代計算機硬件結構簡單,指令系統(tǒng)只有十幾到幾十條指令。 60年代后期出現系列機。指令向下兼容。 70年代末期,出現VLSI技術,CISC指令集 RISC5.1 指令系統(tǒng)概述指令系統(tǒng)概述4操作系統(tǒng):DOS,WINDOWS,UNIX,.程序設計語言服務程序:KV300,PCTOOLS,.機器語言:匯編語言:高級語言解釋執(zhí)行編譯執(zhí)行PASCAL易教好學FORTRAN 計算C 長于計算控制BASIC易學好記COBOL事務管理應用軟件:WORD,EXCEL,ACCESS,DBASE,.
2、二進制,CPU直接執(zhí)行的指令系統(tǒng)把源程序匯編成機器語言目標程序計算機系統(tǒng)中運行的軟件有系統(tǒng)軟件和應用軟件兩種。計算機系統(tǒng)中運行的軟件有系統(tǒng)軟件和應用軟件兩種。 系統(tǒng)軟件對整個計算機系統(tǒng)進行調度、管理、監(jiān)視、服系統(tǒng)軟件對整個計算機系統(tǒng)進行調度、管理、監(jiān)視、服務,務,為用戶提供使用方便,擴大機器功能,提高機器使用為用戶提供使用方便,擴大機器功能,提高機器使用效率。效率。 應用軟件是用戶針對某種領域實際應用需求而開發(fā)的應用軟件是用戶針對某種領域實際應用需求而開發(fā)的軟件。許多通用商品化的應用軟件現已成為系統(tǒng)軟件軟件。許多通用商品化的應用軟件現已成為系統(tǒng)軟件, ,如如WordWord等。等。 前述所有各
3、種軟件的設計基礎就是計算機的指令系統(tǒng)。前述所有各種軟件的設計基礎就是計算機的指令系統(tǒng)。5名詞解釋:名詞解釋: 指令:命令計算機直接進行某種基本操作的二進制代碼指令:命令計算機直接進行某種基本操作的二進制代碼串串, ,也叫機器語言代碼。每條指令可以完成一個獨立的也叫機器語言代碼。每條指令可以完成一個獨立的算術運算或邏輯運算操作。算術運算或邏輯運算操作。 從計算機組成的層次結構來說,計算機的指令有微指令、從計算機組成的層次結構來說,計算機的指令有微指令、機器指令和宏指令。微指令是微程序級的命令,屬于硬機器指令和宏指令。微指令是微程序級的命令,屬于硬件;宏指令是由若干條機器指令組成的軟件指令,它屬件
4、;宏指令是由若干條機器指令組成的軟件指令,它屬于軟件;而機器指令則介于微指令與宏指令之間。于軟件;而機器指令則介于微指令與宏指令之間。 指令系統(tǒng):一臺計算機能直接理解與執(zhí)行的全部指令的指令系統(tǒng):一臺計算機能直接理解與執(zhí)行的全部指令的集合稱為該機的指令系統(tǒng),也叫機器語言。指令系統(tǒng)是集合稱為該機的指令系統(tǒng),也叫機器語言。指令系統(tǒng)是進行計算機邏輯設計和編制程序的基本依據。它直接說進行計算機邏輯設計和編制程序的基本依據。它直接說明了這臺計算機的功能明了這臺計算機的功能. .不同類型不同類型CPUCPU的指令系統(tǒng)是不能的指令系統(tǒng)是不能混用與兼容的,但同一系列的混用與兼容的,但同一系列的CPUCPU一般升
5、級后指令都有一般升級后指令都有擴充,并可兼容。擴充,并可兼容。 復雜指令系統(tǒng)計算機(復雜指令系統(tǒng)計算機(CISC)CISC)和精簡指令系統(tǒng)計算機和精簡指令系統(tǒng)計算機(RISC)RISC)6完善的指令系統(tǒng)完備性有效性規(guī)整性兼容性75.2 指令格式指令格式5.2.1 指令的結構指令的結構指令字:代表指令的一組二進制代碼信息;指令字:代表指令的一組二進制代碼信息;指令長度:指令字中二進制代碼的位數;指令長度:指令字中二進制代碼的位數; 1、典型的指令格式典型的指令格式 操作操作 碼碼 OP指明操作性質的命令碼,指明操作性質的命令碼, 提供指令的操作控制信息。提供指令的操作控制信息。 操作對象操作對象
6、A說明操作數存放的地址,說明操作數存放的地址, 有時則就是操作數本身。有時則就是操作數本身。 OP A8F 零地址指令零地址指令 例如:例如:NOP 、HLT,也叫無操作數指令也叫無操作數指令F 一地址指令一地址指令 例如:遞增,移位,取反,例如:遞增,移位,取反,INC AX,NOT BXF 二地址指令二地址指令 例:例:A1+A2A1,A2為源地址,為源地址, A1A1目的地目的地址址F 三地址指令三地址指令F 例:例: A1+A2A3,其中其中 A1A1、A2A2為源地為源地址,址, A3A3為目的地址,操作后源地址內容不變僅被為目的地址,操作后源地址內容不變僅被拷貝拷貝F 多地址指令:
7、用于實現成批數據處理。多地址指令:用于實現成批數據處理。OP OP A OP A1 A2 OP A1 A2 A32、指令格式的五種類型、指令格式的五種類型根據操作對象地址長度的不同而劃分。根據操作對象地址長度的不同而劃分。93、指令操作碼的編碼格式、指令操作碼的編碼格式 指令操作碼的位數限制指令系統(tǒng)中完成操作指令操作碼的位數限制指令系統(tǒng)中完成操作的指令條數。的指令條數。 固定格式操作碼固定格式操作碼操作碼長度固定,一般集中于指令字的一個字段中。在操作碼長度固定,一般集中于指令字的一個字段中。在字長較大的大中型以及超級小型機上廣泛使用。字長較大的大中型以及超級小型機上廣泛使用。優(yōu)點:有利于簡化硬
8、件設計,減少譯碼時間優(yōu)點:有利于簡化硬件設計,減少譯碼時間 可變格式操作碼可變格式操作碼通常在指令字中用一個固定長度的字段來表示基本的操通常在指令字中用一個固定長度的字段來表示基本的操作碼,而對于一部分少地址指令則把它們的操作碼擴充作碼,而對于一部分少地址指令則把它們的操作碼擴充到該指令的地址字段,即操作碼長度可以改變。到該指令的地址字段,即操作碼長度可以改變。這種方法在不增加指令字長度的情況下可表示更多的指這種方法在不增加指令字長度的情況下可表示更多的指令,但增加了譯碼和分析難度,需更多硬件支持。微機令,但增加了譯碼和分析難度,需更多硬件支持。微機中常使用此方式。中常使用此方式。105.2.
9、2 指令操作碼的擴展技術指令操作碼的擴展技術可變格式操作碼的指令示例可變格式操作碼的指令示例1 假設某機器的指令長度為假設某機器的指令長度為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條,則一樣能夠采條,則一樣能夠采用可變格式操作碼實現。例如可以這樣規(guī)定:用可變格式操作碼實現。例如可以這樣規(guī)定:15條三地址指令的操作碼為:條三地址指令的操作碼為:0000 111015條二地址指令的操作碼為:前條二地址指令的操作碼為:前4位位1111, 即即 1111 0000 1111 111015條一地址指令的操作碼為:前條一地址指令的操作碼為:前8位均為位均為1, 即即 0000 111016條零地址指令的操作碼為:前條零地址指令的操作碼為:前12位均為位均為1, 即即
11、11111111111100001111111111111111可變格式操作碼的指令示例可變格式操作碼的指令示例212 再如:同樣情況下用可變格式操作碼分再如:同樣情況下用可變格式操作碼分別形成三地址指令、二地址指令、一地址指別形成三地址指令、二地址指令、一地址指令和零地址指令令和零地址指令15、14、31、16條。按要求條。按要求得到結果之一如下得到結果之一如下15條三地址為:條三地址為: 0000 111014條二地址為:條二地址為: 11110000 1111110131條一地址為:條一地址為: 00000 1111016條零地址為:條零地址為: 11111111111100001111
12、111111111111 可變格式操作碼的指令示例可變格式操作碼的指令示例313思考題 某計算機系統(tǒng)的指令字長為16位,有二地址指令和一地址指令兩種類型,每個地址字段的長度為6位。如果二地址指令有x條,問一地址指令最多可以有多少條?答案:(答案:(16-x)26條條 14 5.2.3 指令長度與機器字長的關系指令長度與機器字長的關系 機器字長機器字長是指計算機能直接處理的二進制數據的是指計算機能直接處理的二進制數據的位數,它與計算機的功能和用途有很大的關系,是計位數,它與計算機的功能和用途有很大的關系,是計算機的一個重要技術指標。首先,字長決定了計算機算機的一個重要技術指標。首先,字長決定了計
13、算機的運算精度,字長越長計算機的運算精度越高,因此的運算精度,字長越長計算機的運算精度越高,因此高性能的計算機字長較長。其次,地址碼長度決定了高性能的計算機字長較長。其次,地址碼長度決定了指令直接尋址能力。這對于字長較短(指令直接尋址能力。這對于字長較短(8位或位或16位)位)的微型機來說遠遠滿足不了實際需要,擴大尋址能力的微型機來說遠遠滿足不了實際需要,擴大尋址能力的方法,一是通過增加機器字長來增加地址碼的長度;的方法,一是通過增加機器字長來增加地址碼的長度;二是采用地址擴展技術,把存儲空間分成若干個段,二是采用地址擴展技術,把存儲空間分成若干個段,用基地址加位移量的方法來增加地址碼的長度。
14、用基地址加位移量的方法來增加地址碼的長度。 指令字長度指令字長度是指一個指令字中包含二進制代碼的是指一個指令字中包含二進制代碼的位數。如指令字長度等于機器字長度的指令,稱為單位數。如指令字長度等于機器字長度的指令,稱為單字長指令。字長指令。 15 指令的長度指令的長度主要取決于主要取決于操作碼的長度、操作數操作碼的長度、操作數地址的長度地址的長度和和操作數地址操作數地址的個數。由于操作碼的的個數。由于操作碼的長度、操作數地址的長度及指令格式不同,各指長度、操作數地址的長度及指令格式不同,各指令的長度不是固定的,指令的長度通常為字節(jié)的令的長度不是固定的,指令的長度通常為字節(jié)的整數倍。整數倍。 指
15、令的長度與機器的字長沒有固定的關系,它指令的長度與機器的字長沒有固定的關系,它既可以小于或等于機器的字長既可以小于或等于機器的字長,也可以大于機器也可以大于機器的字長。前者稱為短格式指令,后者稱為長格式的字長。前者稱為短格式指令,后者稱為長格式指令。一條指令存放在地址連續(xù)的存儲單元中。指令。一條指令存放在地址連續(xù)的存儲單元中。同一臺計算機中可能既有短格式指令又有長格式同一臺計算機中可能既有短格式指令又有長格式指令,但通常是把最常用的指令(如算術邏輯運指令,但通常是把最常用的指令(如算術邏輯運算指令、數據傳送指令)設計成短格式指令,以算指令、數據傳送指令)設計成短格式指令,以便節(jié)省存儲空間和提高
16、指令的執(zhí)行速度。便節(jié)省存儲空間和提高指令的執(zhí)行速度。 在在Pentium系列機中,指令格式也是可變的:系列機中,指令格式也是可變的:有有8位、位、16位、位、32位、位、64位不等。位不等。165.3 數據在內存中的存放格式數據在內存中的存放格式 計算機中基本數據有邏輯數、定點數、無計算機中基本數據有邏輯數、定點數、無符號數、浮點數、字符數及數組等。符號數、浮點數、字符數及數組等。 目前微機所用的數據目前微機所用的數據(字字)長度一般為長度一般為32位,位, 4個字節(jié)。內存地址按字節(jié)編址。個字節(jié)。內存地址按字節(jié)編址。 計算機指令系統(tǒng)可支持對字節(jié)、半字、字、計算機指令系統(tǒng)可支持對字節(jié)、半字、字、
17、雙字的運算,有的還支持位操作。雙字的運算,有的還支持位操作。 為便于硬件的實現,一般要求多字節(jié)數據采為便于硬件的實現,一般要求多字節(jié)數據采用對準數據邊界的方式儲存。不合要求則填充用對準數據邊界的方式儲存。不合要求則填充空白字節(jié)(無操作)代替??瞻鬃止?jié)(無操作)代替。174字節(jié)字節(jié)32位存儲器位存儲器字地址字地址0字地址字地址4半字地址半字地址8半字地址半字地址10半字地址半字地址12字節(jié)地址字節(jié)地址15半字地址半字地址22對準邊界對準邊界(下圖所示下圖所示)格式存儲數據:格式存儲數據:字節(jié)地址字節(jié)地址14字節(jié)地址字節(jié)地址19 字節(jié)地址字節(jié)地址18字節(jié)地址字節(jié)地址20字節(jié)地址字節(jié)地址17 字節(jié)地
18、址字節(jié)地址16字節(jié)地址字節(jié)地址21地址地址048121620在數據對準邊界存儲的計算機中,對于以二進制在數據對準邊界存儲的計算機中,對于以二進制表示的存儲地址來說,半字地址的最低位、字地表示的存儲地址來說,半字地址的最低位、字地址的最低兩位和雙字地址的最低三位恒為零。址的最低兩位和雙字地址的最低三位恒為零。1832位、位、4個字節(jié)個字節(jié)地址地址048字節(jié)字節(jié)半字的一半半字的一半一字的一字的3/4半字半字 有的計算機不要求對準邊界存儲數據,如下有的計算機不要求對準邊界存儲數據,如下圖所示,但這種方式增加硬件的復雜程度,并圖所示,但這種方式增加硬件的復雜程度,并且有可能導致訪問次數增加。且有可能導
19、致訪問次數增加。半字另一半半字另一半一字的一字的1/4半字半字195.4操作數操作數的的尋址方式(編碼方式)尋址方式(編碼方式) 尋址方式:指令中如何提供操作數或尋址方式:指令中如何提供操作數或操作數地址。換句話說就是規(guī)定如何對操作數地址。換句話說就是規(guī)定如何對地址字段作出解釋以找到操作數。地址字段作出解釋以找到操作數。 不同類型計算機的尋址方式亦有差別,不同類型計算機的尋址方式亦有差別,但大多可以歸結為立即尋址、直接尋址、但大多可以歸結為立即尋址、直接尋址、間接尋址、變址尋址以及相對尋址等幾間接尋址、變址尋址以及相對尋址等幾種尋址方式,或者這幾種方式的組合與種尋址方式,或者這幾種方式的組合與
20、變形。變形。20 在這種方式中,指令的地址碼部分就是指令在這種方式中,指令的地址碼部分就是指令的操作數,而不是操作數的地址。的操作數,而不是操作數的地址。 優(yōu)點:取指同時取得操作數,提高指令的運優(yōu)點:取指同時取得操作數,提高指令的運行速度。行速度。 缺點:操作數的長度受指令長度的影響,且缺點:操作數的長度受指令長度的影響,且不便修改。適合操作數固定的情況。不便修改。適合操作數固定的情況。 例:例: MOV AX,1AH的結果:的結果: ( AX ) 1AH一、立即數尋址方式一、立即數尋址方式21二、直接尋址方式二、直接尋址方式 指令的地址碼部分給出的就是操作數在指令的地址碼部分給出的就是操作數
21、在存儲器中的地址。存儲器中的地址。 特點是簡單直觀,特點是簡單直觀,便于硬件實現,但便于硬件實現,但操作數地址是指令操作數地址是指令的一部分,只能用的一部分,只能用于訪問固定的存儲于訪問固定的存儲器單元。器單元。 例:例: MOV AX,0110H存儲器存儲器OP A 操作數操作數 0110H22三、寄存器尋址方式三、寄存器尋址方式 在指令的地址碼部分給出某一寄存器的名在指令的地址碼部分給出某一寄存器的名稱,而所需的操作數地址就在這個寄存器稱,而所需的操作數地址就在這個寄存器中。中。 這種方式數據傳送快,計算機中多用。這種方式數據傳送快,計算機中多用。 例:例:MOV AX,BX其中其中BX為
22、源操作數地址,為源操作數地址,AX為目的操為目的操作數地址,操作的結果為將作數地址,操作的結果為將BX中的數據傳中的數據傳送(拷貝)到送(拷貝)到AX中。中。23四、寄存器間接尋址方式四、寄存器間接尋址方式 在指令的地址碼部分直接在指令的地址碼部分直接給出的既不是操作數也不給出的既不是操作數也不是操作數的地址,而是操是操作數的地址,而是操作數地址的地址。作數地址的地址。 優(yōu)點:改變寄存器優(yōu)點:改變寄存器 Rn中中的的內容就可訪問內存的內容就可訪問內存的不同地址。修改十分方便。不同地址。修改十分方便。 缺點:二次尋址速度慢。缺點:二次尋址速度慢。 例:例:MOV AX,BX存儲器存儲器OP Rn
23、 A:操作數操作數Rn:A24五、變址尋址方式五、變址尋址方式變址尋址:把變址尋址:把CPU中變址寄存器的內容和中變址寄存器的內容和指令地址部分給出的地址之和作為操作數指令地址部分給出的地址之和作為操作數的地址來獲得操作數。這種方式多用于字的地址來獲得操作數。這種方式多用于字串處理、矩陣運算和成批數據處理。串處理、矩陣運算和成批數據處理。OP . Rx AKRx:加加法法器器存儲器存儲器操作數操作數A+K:A:25六、基址尋址方式六、基址尋址方式 將整個存儲空間分成若干個段,段的首地將整個存儲空間分成若干個段,段的首地址存放在基址寄存器中,操作數的存儲地址與址存放在基址寄存器中,操作數的存儲地
24、址與段的首地址的距離即段內偏移量由指令直接給段的首地址的距離即段內偏移量由指令直接給出。操作數存儲單元的實際有效地址就等于基出。操作數存儲單元的實際有效地址就等于基址寄存器的內容與段內偏移量之和。址寄存器的內容與段內偏移量之和。 改變基址寄存器的內容改變基址寄存器的內容(基準量基準量)并由指令并由指令提供位移量就可以訪問存儲器的任一單元?;峁┪灰屏烤涂梢栽L問存儲器的任一單元?;芳拇嫫饔糜诔绦蜓b配可為浮動程序分配存儲址寄存器用于程序裝配可為浮動程序分配存儲單元。單元。 基址尋址面向系統(tǒng),解決程序的存儲定位基址尋址面向系統(tǒng),解決程序的存儲定位問題;變址尋址面向用戶,用以訪問字串和數問題;變址尋
25、址面向用戶,用以訪問字串和數組。組。26思考題 某處理機的一種訪問存儲器指令只用8位地址碼,就能夠指向一個1G地址空間中任意256個連續(xù)地址之一,請描述這種尋址方式。(字長32位,主存儲器按字節(jié)編址,指令按字尋址) 27參考答案第一種方法:采用變址尋址方式,指令中給出8位偏移量,如果只設置1個變址寄存器,則可以隱含。變址寄存器的字長不短于20位,通過變址寄存器指向1G地址空間的任意位置,再通過指令中給出的8位偏移量就能夠訪問256個連續(xù)地址之一。28參考答案第二種方法:采用基址尋址方式,指令中給出8位偏移量,隱含設置1個基址寄存器?;芳拇嫫鞯淖珠L為20位,通過基址寄存器指向1G地址空間的任意
26、位置,再通過指令中給出的8位偏移量就能夠訪問256個連續(xù)地址之一。 29七、相對尋址方式七、相對尋址方式 也稱程序計數器尋址,其有效地址是指也稱程序計數器尋址,其有效地址是指令中地址碼部分給出的形式地址令中地址碼部分給出的形式地址(偏移量偏移量Disp)與程序計數器與程序計數器PC的內容之和。即有效地址是的內容之和。即有效地址是以當前以當前PC的內容為基準浮動的,浮動的距離的內容為基準浮動的,浮動的距離就是偏移量。就是偏移量。 偏移量可正可負,通常用補碼表示。偏移量可正可負,通常用補碼表示。 相對尋址方式主要應用于相對轉移指令。相對尋址方式主要應用于相對轉移指令。由于目的地址隨由于目的地址隨P
27、C變化不固定,所以非常適變化不固定,所以非常適用于浮動程序的裝配與運行。用于浮動程序的裝配與運行。30例題例題:一種兩地址:一種兩地址RS型指令的結構如下所示,其中型指令的結構如下所示,其中I為間接尋址標志位,為間接尋址標志位,X為尋址模式字段,為尋址模式字段,D為偏移量為偏移量字段。通過字段。通過I,X,D的組合,可構成下表所式的尋址方式。的組合,可構成下表所式的尋址方式。請寫出六種尋址方式的名稱。請寫出六種尋址方式的名稱。 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、數據傳送指令、數據傳送指令用以實現寄存器與寄存器之間用以實現
29、寄存器與寄存器之間(MOV AX,BX)、寄存器與內存單元之間寄存器與內存單元之間(MOV 0001H,AX)以及內存以及內存單元相互之間的數據傳送。數據能夠被從源地址傳單元相互之間的數據傳送。數據能夠被從源地址傳送到目的地址,而源地址中數據不變,送到目的地址,而源地址中數據不變,拷貝??截?。包括:立即數送寄存器包括:立即數送寄存器 (MOV AX,1 )、將將數據送到不同字長的寄存器中數據送到不同字長的寄存器中 (MOV AL,78H、 MOV AX,A0A0H MOV EAX,12345678H )以及以及寄存器組數據交換等操作指令寄存器組數據交換等操作指令。332、算術與邏輯運算指令、算
30、術與邏輯運算指令 算術運算指令:一般包括定點、浮點的加、算術運算指令:一般包括定點、浮點的加、減、乘、除運算。根據運算結果改變標志寄減、乘、除運算。根據運算結果改變標志寄存器的狀態(tài)位。存器的狀態(tài)位。 ADD,ADC,SUB,SBB,INC,DEC,DIV,MUL 邏輯運算:一般包括邏輯與,邏輯或,邏輯邏輯運算:一般包括邏輯與,邏輯或,邏輯非,邏輯異或等運算,是以二進制為單位按非,邏輯異或等運算,是以二進制為單位按位進行運算。位進行運算。 OR,AND,XOR,NOT343、移位指令、移位指令 算術移位:左移時空位補算術移位:左移時空位補0而符號位進標志位,右而符號位進標志位,右移時空位復制符號
31、位而溢出位進標志位。移時空位復制符號位而溢出位進標志位。 邏輯移位:整體移位,空位補邏輯移位:整體移位,空位補0,溢出進標志位。,溢出進標志位。 循環(huán)移位:有不帶進位循環(huán)和帶進位循環(huán)。前者循環(huán)移位:有不帶進位循環(huán)和帶進位循環(huán)。前者循環(huán)后的溢出位進標志位,后者與標志位一起循環(huán)。循環(huán)后的溢出位進標志位,后者與標志位一起循環(huán)。4、比較指令、比較指令 比較指令:比較指令:CMP AX,BX作用:根據參加比較的兩個數相減后的結果,作用:根據參加比較的兩個數相減后的結果,區(qū)分大于等于小于等情況對標志位進行置位操區(qū)分大于等于小于等情況對標志位進行置位操作。比較指令只影響標志位,而不影響參加比作。比較指令只影
32、響標志位,而不影響參加比較的操作數。較的操作數。355、轉移指令、轉移指令 作用:根據邏輯判斷結果,改變程序的執(zhí)行作用:根據邏輯判斷結果,改變程序的執(zhí)行順序。順序。 無條件轉移指令強迫無條件轉移指令強迫CPU運行程序地址轉移運行程序地址轉移至新地址開始執(zhí)行程序。至新地址開始執(zhí)行程序。 有條件轉移指令根據當前運算的結果進行邏有條件轉移指令根據當前運算的結果進行邏輯判斷,符合判斷條件則轉移到指令表明的輯判斷,符合判斷條件則轉移到指令表明的新地址處執(zhí)行程序,否則繼續(xù)按原順序執(zhí)行新地址處執(zhí)行程序,否則繼續(xù)按原順序執(zhí)行原來的程序。原來的程序。 根據實際需要,有條件轉移指令分為許多種根據實際需要,有條件轉
33、移指令分為許多種類,其中包括單一條件轉移指令、復合條件類,其中包括單一條件轉移指令、復合條件轉移指令、適用于無符號數的條件轉移指令、轉移指令、適用于無符號數的條件轉移指令、適用于有符號數的條件轉移指令以及某些特適用于有符號數的條件轉移指令以及某些特殊的條件轉移指令等等。殊的條件轉移指令等等。366、調用指令和返回指令、調用指令和返回指令 調用指令實現從一個程序轉去執(zhí)行子程序的操作;調用指令實現從一個程序轉去執(zhí)行子程序的操作; 返回指令則使返回指令則使CPU結束執(zhí)行子程序而返回執(zhí)行原程結束執(zhí)行子程序而返回執(zhí)行原程序。序。7、輸入、輸出指令、輸入、輸出指令完成在中央處理器和外設之間進行數據交換。完
34、成在中央處理器和外設之間進行數據交換。輸入指令使數據由外設傳送到處理機輸入指令使數據由外設傳送到處理機 輸出指令使數據由處理機傳送到外設輸出指令使數據由處理機傳送到外設 37 8、 堆棧及堆棧操作指令堆棧及堆棧操作指令 堆棧(堆棧(stack是由若干個連續(xù)存儲單元組成的先進是由若干個連續(xù)存儲單元組成的先進后出(后出(first in last out,簡稱簡稱FILO)存儲區(qū)。第一個存儲區(qū)。第一個送入堆棧中的數據存放在棧底,最后送入堆棧中的數據送入堆棧中的數據存放在棧底,最后送入堆棧中的數據存放在棧頂。棧底是固定不變的,而棧頂卻是隨著數據存放在棧頂。棧底是固定不變的,而棧頂卻是隨著數據的入棧和
35、出棧在不斷變化。為了表示棧頂的位置,有一的入棧和出棧在不斷變化。為了表示棧頂的位置,有一個寄存器或存儲器單元用于指出棧頂的地址,這個寄存?zhèn)€寄存器或存儲器單元用于指出棧頂的地址,這個寄存器或存儲器單元就稱為器或存儲器單元就稱為堆棧指針堆棧指針(stack pointer簡稱簡稱SP),),任何堆棧操作只能在棧頂進行任何堆棧操作只能在棧頂進行. 。 在一般計算機中堆棧主要用來暫存中斷和子程序調在一般計算機中堆棧主要用來暫存中斷和子程序調用時現場數據及返回地址,用于訪問堆棧的指令只有壓用時現場數據及返回地址,用于訪問堆棧的指令只有壓入(即進棧)和彈出(即退棧)兩種,它們實際上是一入(即進棧)和彈出(
36、即退棧)兩種,它們實際上是一種特殊的數據傳送指令。壓入指令(種特殊的數據傳送指令。壓入指令(PUSH)是把指定是把指定的操作數送入堆棧的棧頂,而彈出指令(的操作數送入堆棧的棧頂,而彈出指令(POP)的操作的操作剛好相反,是把棧頂的數據取出,送到指令所指定的目剛好相反,是把棧頂的數據取出,送到指令所指定的目的地。的地。38 在一般的計算機中,堆棧從高地址向低地址擴展,在一般的計算機中,堆棧從高地址向低地址擴展,即棧底的地址總是大于或等于棧頂的地址(也有少數計即棧底的地址總是大于或等于棧頂的地址(也有少數計算機剛好相反)。當執(zhí)行壓入操作時,首先把堆棧指針算機剛好相反)。當執(zhí)行壓入操作時,首先把堆棧
37、指針(SP)減量(減量的多少取決于壓入數據的字節(jié)數,減量(減量的多少取決于壓入數據的字節(jié)數,若壓入一個字節(jié),則減若壓入一個字節(jié),則減1;若壓入兩個字節(jié),則減;若壓入兩個字節(jié),則減2,以,以此類推),然后把數據送入此類推),然后把數據送入SP所指定的單元。當執(zhí)行所指定的單元。當執(zhí)行彈出操作時,首先把彈出操作時,首先把SP所指定的單元(即棧頂)的數所指定的單元(即棧頂)的數據取出,然后根據數據的大小(即所占的字節(jié)數)對據取出,然后根據數據的大?。此嫉淖止?jié)數)對SP增量。例如增量。例如 壓入指令壓入指令 PUSH OPR把把OPR(長度為兩個字節(jié))壓入堆長度為兩個字節(jié))壓入堆棧棧 其操作是(其操
38、作是(SP)2 SP OPR (Sp) 彈出指令彈出指令 POP OPR彈出一個數據(長度為兩個字節(jié))送彈出一個數據(長度為兩個字節(jié))送OPR 其操作是其操作是: (SP) OPR (SP)十十2 SP 其中,(其中,(SP)表示堆棧指針的內容;表示堆棧指針的內容;(SP)表示表示SP所指的棧頂所指的棧頂的內容。的內容。399、字符串處理指令、字符串處理指令 用于各種文字編輯與排版處理用于各種文字編輯與排版處理 包括:字符串的傳送、比較、查找、匹配以包括:字符串的傳送、比較、查找、匹配以及字符串的抽取和字符串的替換等操作指令。及字符串的抽取和字符串的替換等操作指令。10、其它特殊指令、其它特殊
39、指令專用指令用來完成特殊的專門操作。如:暫停、等待、專用指令用來完成特殊的專門操作。如:暫停、等待、空操作、位操作、以及開中斷、關中斷等等??詹僮?、位操作、以及開中斷、關中斷等等。特權指令分配和管理系統(tǒng)資源,防止非法用戶對系統(tǒng)資特權指令分配和管理系統(tǒng)資源,防止非法用戶對系統(tǒng)資源及其他用戶程序的修改、打印以及刪除等。源及其他用戶程序的修改、打印以及刪除等。需要說明的是:計算機種類不同其指令系統(tǒng)包括數量需要說明的是:計算機種類不同其指令系統(tǒng)包括數量與功能亦有所不同,用其編程時務必參照相應的指令與功能亦有所不同,用其編程時務必參照相應的指令系統(tǒng)手冊。系統(tǒng)手冊。405.6 5.6 指令系統(tǒng)的兼容性指令
40、系統(tǒng)的兼容性 采用不同指令系統(tǒng)編寫的程序不能相互使用,采用不同指令系統(tǒng)編寫的程序不能相互使用,同一系列兼容機采用具有向前兼容的特點。同一系列兼容機采用具有向前兼容的特點。 計算機的操作過程:計算機的操作過程: 加電加電開外設開外設 開主機開主機 產生產生RESET信號信號 執(zhí)行程序執(zhí)行程序 停主機停主機 停外設停外設 停電停電 計算機工作過程本身就是根據存儲執(zhí)行原理,計算機工作過程本身就是根據存儲執(zhí)行原理,按一定順序自動執(zhí)行程序指令。按一定順序自動執(zhí)行程序指令。 指令執(zhí)行五階段:指令執(zhí)行五階段: 取指取指譯碼譯碼取操作數取操作數操作操作結果處理結果處理 415.7 精簡指令系統(tǒng)計算機精簡指令系
41、統(tǒng)計算機(RISC)簡介簡介一、一、RISCRISC由來由來 計算機的不斷升級擴充,同時又兼容過去產品使指令計算機的不斷升級擴充,同時又兼容過去產品使指令系統(tǒng)日趨復雜,形成了系統(tǒng)日趨復雜,形成了“復雜指令系統(tǒng)計算機復雜指令系統(tǒng)計算機( (CISC)”CISC)”。如有條指令,如有條指令,1 1種尋址方式。種尋址方式。機有條,種尋址方式。機有條,種尋址方式。 復雜指令系統(tǒng)增加硬件復雜性,降低機器運行速度。復雜指令系統(tǒng)增加硬件復雜性,降低機器運行速度。經實際分析發(fā)現:經實際分析發(fā)現: 1 1、各種指令使用頻率相差懸殊。、各種指令使用頻率相差懸殊。80%80%指令使用很少。指令使用很少。 2 2、指
42、令系統(tǒng)的復雜性帶來系統(tǒng)結構的復雜性,增加了、指令系統(tǒng)的復雜性帶來系統(tǒng)結構的復雜性,增加了設計時間和售價,也增加了設計時間和售價,也增加了VLSIVLSI設計負擔,不利于微機向設計負擔,不利于微機向高檔機器發(fā)展。高檔機器發(fā)展。 3 3、復雜指令操作復雜、運行速度慢。、復雜指令操作復雜、運行速度慢。由此提出由此提出“精簡指令系統(tǒng)計算機精簡指令系統(tǒng)計算機( (RISC)”RISC)”的概念。的概念。42 RISC不是簡單地簡化指令系統(tǒng),而是通過簡化指不是簡單地簡化指令系統(tǒng),而是通過簡化指令使計算機的結構更加簡單合理,從而提高運算速度。令使計算機的結構更加簡單合理,從而提高運算速度。;1、僅選使用頻率
43、高的一些簡單指令和很有用但不復、僅選使用頻率高的一些簡單指令和很有用但不復雜指令,指令條數少。雜指令,指令條數少。;2、指令長度固定,指令格式少,尋址方式少、指令長度固定,指令格式少,尋址方式少;3、只有取數只有取數/存數指令訪問存儲器,其余指令都在寄存數指令訪問存儲器,其余指令都在寄存器中進行,即限制內存訪問存器中進行,即限制內存訪問;4、CPU中通用寄存器數量相當多;大部分指令都在中通用寄存器數量相當多;大部分指令都在一個機器周期內完成。一個機器周期內完成。;5、以硬布線邏輯為主,不用或少用微程序控制、以硬布線邏輯為主,不用或少用微程序控制;6、特別重視編譯工作,以簡單有效的方式支持高級、
44、特別重視編譯工作,以簡單有效的方式支持高級語言,減少程序執(zhí)行時間語言,減少程序執(zhí)行時間二、二、RISC的特點的特點43補充補充1: 5. 8 Pentium微處理器指令系統(tǒng)簡介微處理器指令系統(tǒng)簡介 Pentium處理器包括處理器包括4個個32位數據寄存器位數據寄存器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(即程序計數器即程序計數器PC)。)。 EAX,EBX,ECX,EDX,EBP,ESI和和EDI可用作通用寄存器、可用作通用寄存器、AX,BX,CX,DX,BP。SI和和DI可被程序員作為多種用途而應可被程序員作為多種用途而應用于實模式用于實模式,但也可被指定為專用。(例如,但也可被指定為專用。(例如,AX用于乘法和除法用于乘法和除法操作中或者在指令中用于訪問操作中或者在指令中用于訪問IO端口
46、);端口);CX在循環(huán)操作中作在循環(huán)操作中作為指針,為指針,CX的低的低8位位CL寄存器還可作為移位操作的計數器;寄存器還可作為移位操作的計數器;DX用于乘法和除法操作,還可作為訪問用于乘法和除法操作,還可作為訪問IO的指針的指針;SI和和DI在字符在字符串操作中作為指針。串操作中作為指針。 44 Pentium 擁有擁有6個段寄存器,它用于控制訪問主存?zhèn)€段寄存器,它用于控制訪問主存和外設和外設IO端口。端口。CS用于取指令,用于取指令,DS常被默認用于讀常被默認用于讀寫數據,堆棧指針寫數據,堆棧指針SS用于堆棧操作,用于堆棧操作,ES用于程序員用于程序員希望的任何事情。附加的兩個段寄存器希望
47、的任何事情。附加的兩個段寄存器FS和和GS是從是從80386開始增加的,可供程序員任意使用、所有段寄存開始增加的,可供程序員任意使用、所有段寄存器都為器都為 16位。位。 設設CS的內容為的內容為A000H,IP(即即PC)的內容為的內容為5F00H,在實模式情況下形成訪存地址的過程如下在實模式情況下形成訪存地址的過程如下: 將將CS的內容左移的內容左移4位即把位即把A000H改變成改變成A0000H然后然后與與IP的內容相加得的內容相加得A5FOOH,并以此新值寫入并以此新值寫入IP中,此中,此即為下一條指令的地址。即為下一條指令的地址。 在保護模式,段寄存器用作選擇器指出預定義的段在保護模式,段寄存器用作選擇器指出預定義的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自制水囊在剖宮產宮縮乏力出血中的臨床應用
- 應急響應的統(tǒng)一指揮
- 二零二五年度道路設施更新改造合同3篇
- 二零二五年度個人鄉(xiāng)村旅游消費貸款合同示范文本2篇
- 二零二五年度屋頂防水隔熱節(jié)能改造合同4篇
- 2025年度新能源儲能系統(tǒng)采購與安裝合同范本3篇
- 2025版高層建筑消防系統(tǒng)改造合同協(xié)議書3篇
- 二零二五年度個人股權代持與公司解散合同3篇
- 不良反應上報流程
- 二零二五年度大學生創(chuàng)業(yè)項目融資借款合同
- 2025屆安徽省皖南八校聯盟高二物理第一學期期末統(tǒng)考試題含解析
- 第六章-主成分分析法
- 2024簡單的租房合同樣本下載
- 中考數學計算題練習100道(2024年中考真題)
- 新人教版五年級上冊數學應用題大全及答案
- 【家庭教育】0-3歲嬰幼兒早教訓練方案
- 國家中長期科技發(fā)展規(guī)劃(2021-2035)
- 經營范圍登記規(guī)范表述目錄(試行)(V1.0.2版)
- 2023年山東省威海市中考物理真題(附答案詳解)
- 第八講 發(fā)展全過程人民民主PPT習概論2023優(yōu)化版教學課件
- 王崧舟:學習任務群與課堂教學變革 2022版新課程標準解讀解析資料 57
評論
0/150
提交評論