![杭州電子科技大學(xué)計算機(jī)組成原理課件(6)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/15/34fa159f-46cd-4d52-85a0-5e83a54699e8/34fa159f-46cd-4d52-85a0-5e83a54699e81.gif)
![杭州電子科技大學(xué)計算機(jī)組成原理課件(6)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/15/34fa159f-46cd-4d52-85a0-5e83a54699e8/34fa159f-46cd-4d52-85a0-5e83a54699e82.gif)
![杭州電子科技大學(xué)計算機(jī)組成原理課件(6)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/15/34fa159f-46cd-4d52-85a0-5e83a54699e8/34fa159f-46cd-4d52-85a0-5e83a54699e83.gif)
![杭州電子科技大學(xué)計算機(jī)組成原理課件(6)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/15/34fa159f-46cd-4d52-85a0-5e83a54699e8/34fa159f-46cd-4d52-85a0-5e83a54699e84.gif)
![杭州電子科技大學(xué)計算機(jī)組成原理課件(6)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/15/34fa159f-46cd-4d52-85a0-5e83a54699e8/34fa159f-46cd-4d52-85a0-5e83a54699e85.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、2第六章 指令系統(tǒng) 指令格式指令格式6.16.1 本章小結(jié)本章小結(jié) 尋址方式尋址方式6.26.2 指令類型指令類型6.36.36.46.4 指令系統(tǒng)指令系統(tǒng)36.1 6.1 指令格式指令格式一、指令操作一、指令操作碼與地址碼碼與地址碼指令格式指令格式二、指令字長二、指令字長和操作碼擴(kuò)展和操作碼擴(kuò)展4一、指令操作碼與地址碼指令操作碼與地址碼v 指令是由指令是由操作碼操作碼和和地址碼地址碼兩部分組成的兩部分組成的: :操作碼字段(操作碼字段(OPOP)地址碼字段(地址碼字段(A A)v 操作碼:操作碼:用來指明該指令所用來指明該指令所要完成的操作要完成的操作,如加法、,如加法、減法、傳送、移位、轉(zhuǎn)
2、移等等。減法、傳送、移位、轉(zhuǎn)移等等。 位數(shù)反映了機(jī)器的操作種類,也即機(jī)器允許的指位數(shù)反映了機(jī)器的操作種類,也即機(jī)器允許的指令條數(shù),如果操作碼有令條數(shù),如果操作碼有n n位二進(jìn)制數(shù)位二進(jìn)制數(shù), ,則最多可表則最多可表示示2 2n n種指令。種指令。v 地址碼:地址碼:用來尋找運算所需要的操作數(shù)(源操作數(shù)用來尋找運算所需要的操作數(shù)(源操作數(shù)和目的操作數(shù))。和目的操作數(shù))。 地址碼包括:源操作數(shù)地址、目的操作數(shù)地址和地址碼包括:源操作數(shù)地址、目的操作數(shù)地址和下一條指令的地址。下一條指令的地址。 地址含義:主存的地址、寄存器地址或者地址含義:主存的地址、寄存器地址或者I/OI/O設(shè)備設(shè)備地址。地址。
3、5一、指令操作碼與地址碼指令操作碼與地址碼指令操作碼指令操作碼與地址碼與地址碼1 1、操作碼、操作碼2 2、地址碼、地址碼3 3、操作數(shù)類型、操作數(shù)類型61 1、操作碼、操作碼v 操作碼長度固定:操作碼長度固定:將操作碼集中放在指令字的一個將操作碼集中放在指令字的一個字段內(nèi)。字段內(nèi)。 這種格式便于硬件設(shè)計,指令譯碼時間短,廣這種格式便于硬件設(shè)計,指令譯碼時間短,廣泛應(yīng)用于字長較長的、大中型計算機(jī)和超級小型泛應(yīng)用于字長較長的、大中型計算機(jī)和超級小型計算機(jī)以及計算機(jī)以及RISCRISC(Reduced Instruction Set Reduced Instruction Set Computer
4、Computer)中。如)中。如IBM370IBM370和和VAX-11VAX-11系列機(jī),操作系列機(jī),操作碼長度均為碼長度均為8 8位。位。v 操作碼長度不固定:操作碼長度不固定:指令操作碼分散在指令字的不指令操作碼分散在指令字的不同字段中。同字段中。 這種格式可有效地壓縮操作碼的平均長度,在字這種格式可有效地壓縮操作碼的平均長度,在字長較短的微機(jī)中被廣泛采用。如長較短的微機(jī)中被廣泛采用。如PDP-11PDP-11,Intel8086/80386Intel8086/80386等。等。72 2、地址碼、地址碼(1 1)三地址指令:)三地址指令: (A1A1)OPOP(A2A2)A3A3OPA1
5、A2A3(2 2)二地址指令:)二地址指令: (A1A1)OPOP(A2A2)A1A1 A1A1:目的操作數(shù):目的操作數(shù) A2A2:源操作數(shù):源操作數(shù)(3 3)單地址指令:)單地址指令: (ACCACC)OPOP(A A)ACCACC OPOP(A A)A A 單目操作:如單目操作:如NEGNEG、INCINC等指令等指令OPA1A2OPA82 2、按照地址碼分類、按照地址碼分類(4 4)零地址指令)零地址指令 不涉及操作數(shù):如不涉及操作數(shù):如NOPNOP、HLTHLT指令指令 操作數(shù)隱含:如操作數(shù)隱含:如PUSHPUSH、POPPOP指令指令v對于寄存器類型的操作數(shù),對于寄存器類型的操作數(shù),
6、地址地址A A指寄存器編號。指寄存器編號。OP在不改變指令字長的前提下,零地址、一地址指令用一在不改變指令字長的前提下,零地址、一地址指令用一些硬件資源如些硬件資源如PCPC、ACCACC取代地址碼,可以取代地址碼,可以擴(kuò)大指令直接擴(kuò)大指令直接尋址范圍尋址范圍;減少訪存次數(shù)減少訪存次數(shù),加快運行速度。,加快運行速度。93 3、操作數(shù)類型、操作數(shù)類型v按照指令處理的操作數(shù)存放位置分:按照指令處理的操作數(shù)存放位置分: 存儲器類型:存儲器類型:操作數(shù)存放在主存中,操作數(shù)存放在主存中,A A為其地址信息為其地址信息 寄存器類型:寄存器類型:操作數(shù)存放在操作數(shù)存放在CPUCPU的通用寄存器中,的通用寄存
7、器中,A A為寄存器號為寄存器號 立即數(shù)類型:立即數(shù)類型:操作數(shù)存放在指令(地址字段)中操作數(shù)存放在指令(地址字段)中v按照指令處理的操作數(shù)性質(zhì)分:按照指令處理的操作數(shù)性質(zhì)分: 地址(地址(addressesaddresses):):存儲器地址,是無符號整數(shù)。存儲器地址,是無符號整數(shù)。 數(shù)字(數(shù)字(numbersnumbers):整數(shù)、浮點數(shù)、十進(jìn)制數(shù)。):整數(shù)、浮點數(shù)、十進(jìn)制數(shù)。 字符(字符(characterscharacters) 邏輯數(shù)據(jù):真假兩種狀態(tài)邏輯數(shù)據(jù):真假兩種狀態(tài)10二、指令字長和操作碼擴(kuò)展二、指令字長和操作碼擴(kuò)展1 1、指令字長度、指令字長度 指令字長和操指令字長和操作碼擴(kuò)
8、展作碼擴(kuò)展2 2、指令操作、指令操作碼擴(kuò)展碼擴(kuò)展 111 1、指令字長度、指令字長度v 機(jī)器指令是用二進(jìn)制機(jī)器字來表示的,表示一條指機(jī)器指令是用二進(jìn)制機(jī)器字來表示的,表示一條指令的機(jī)器字,就稱為令的機(jī)器字,就稱為指令字指令字。一條指令中所包含的。一條指令中所包含的二進(jìn)制碼的位數(shù),稱為二進(jìn)制碼的位數(shù),稱為指令字長度或指令字長指令字長度或指令字長。它。它主要取決于操作碼的長度、操作數(shù)地址的長度和操主要取決于操作碼的長度、操作數(shù)地址的長度和操作數(shù)地址的個數(shù)。不同機(jī)器的指令字長是不相同的。作數(shù)地址的個數(shù)。不同機(jī)器的指令字長是不相同的。v 注意區(qū)分:機(jī)器字長、指令字長、存儲字長注意區(qū)分:機(jī)器字長、指令字
9、長、存儲字長v按指令長度固定與否可以分為按指令長度固定與否可以分為: 固定指令字長的指令:所有指令的字長均相等,固定指令字長的指令:所有指令的字長均相等,一般等于機(jī)器字長。一般等于機(jī)器字長。 可變指令字長的指令:指令字長不固定,可變指令字長的指令:指令字長不固定,通常取通常取字節(jié)的整數(shù)倍。字節(jié)的整數(shù)倍。121 1、指令字長度、指令字長度v按照指令字長與機(jī)器字長的關(guān)系分類按照指令字長與機(jī)器字長的關(guān)系分類: 短格式指令:指令字長小于或等于機(jī)器字長。短格式指令:指令字長小于或等于機(jī)器字長。 長格式指令:指令字長大于機(jī)器字長。長格式指令:指令字長大于機(jī)器字長。v一個機(jī)器的指令系統(tǒng)中,一個機(jī)器的指令系統(tǒng)
10、中,短格式指令和長格短格式指令和長格式指令可以并存式指令可以并存,通常將最常用的指令設(shè)計通常將最常用的指令設(shè)計成短格式指令,可以節(jié)省存儲空間、提高指成短格式指令,可以節(jié)省存儲空間、提高指令的執(zhí)行速度。令的執(zhí)行速度。132 2、指令操作碼擴(kuò)展、指令操作碼擴(kuò)展v 指令的操作碼的編碼方式:指令的操作碼的編碼方式:固定操作碼長度固定操作碼長度的格式和的格式和可變操作碼長度可變操作碼長度格式格式v 采用采用擴(kuò)展操作碼擴(kuò)展操作碼技術(shù),使操作碼的長度隨地址數(shù)的減技術(shù),使操作碼的長度隨地址數(shù)的減少而增加,即不同地址數(shù)的指令可以具有不同長度的少而增加,即不同地址數(shù)的指令可以具有不同長度的操作碼,從而可以有效地縮
11、短指令字長。操作碼,從而可以有效地縮短指令字長。14舉例舉例OPA1A2A300000001:1110A1A1:A1A2A2:A2A3A3:A34位操作碼位操作碼,15條三地址指令條三地址指令11111111:111100000001:1110A2A2:A2A3A3:A38位操作碼位操作碼,15條二地址指令條二地址指令 11111111:111111111111:111100000001:1110A3A3:A312位操作碼位操作碼,15條一地址指令條一地址指令11111111:111111111111:111111111111:111100000001:111116位操作碼位操作碼 152 2
12、、指令操作碼擴(kuò)展、指令操作碼擴(kuò)展v 在設(shè)計操作碼不固定的指令系統(tǒng)時,應(yīng)安排指令使用在設(shè)計操作碼不固定的指令系統(tǒng)時,應(yīng)安排指令使用頻度高的指令占用短的操作碼,對使用頻度低的指令頻度高的指令占用短的操作碼,對使用頻度低的指令可占用較長的操作碼,這樣可以縮短經(jīng)常使用的指令可占用較長的操作碼,這樣可以縮短經(jīng)常使用的指令的譯碼時間。的譯碼時間。v 指令操作碼擴(kuò)展技術(shù)是一種重要的指令優(yōu)化技術(shù),它指令操作碼擴(kuò)展技術(shù)是一種重要的指令優(yōu)化技術(shù),它可以縮短指令的平均長度,增加指令字所能表示的操可以縮短指令的平均長度,增加指令字所能表示的操作信息。但指令操作碼擴(kuò)展技術(shù)需要更多的硬件支持,作信息。但指令操作碼擴(kuò)展技術(shù)
13、需要更多的硬件支持,它的指令譯碼更加復(fù)雜,使控制器設(shè)計難度增大。它的指令譯碼更加復(fù)雜,使控制器設(shè)計難度增大。 166.2 6.2 尋址方式尋址方式一、指令尋址一、指令尋址尋址方式尋址方式二、數(shù)據(jù)尋址二、數(shù)據(jù)尋址17一、指令尋址v1 1、順序?qū)ぶ贩绞?、順序?qū)ぶ贩绞?控制器中控制器中使用程序計數(shù)器使用程序計數(shù)器PCPC來指示指令在內(nèi)存中來指示指令在內(nèi)存中的地址的地址。在程序順序執(zhí)行時,指令的地址碼由。在程序順序執(zhí)行時,指令的地址碼由PCPC自加自加1 1得出。得出。 指令在內(nèi)存中按順序存放,當(dāng)順序執(zhí)行一段程序指令在內(nèi)存中按順序存放,當(dāng)順序執(zhí)行一段程序時,時,根據(jù)根據(jù)PCPC從存儲器取出當(dāng)前指令,從
14、存儲器取出當(dāng)前指令, PCPC自動自動1 1,然后執(zhí)行這條指令然后執(zhí)行這條指令;接著又根據(jù);接著又根據(jù)PCPC指示從存儲器指示從存儲器取出下一條指令,取出下一條指令, PCPC自動自動1 1, 執(zhí)行執(zhí)行。v2 2、跳躍尋址方式、跳躍尋址方式 當(dāng)程序執(zhí)行轉(zhuǎn)移指令時,程序不再順序執(zhí)行,而當(dāng)程序執(zhí)行轉(zhuǎn)移指令時,程序不再順序執(zhí)行,而是跳轉(zhuǎn)到另一個地址去執(zhí)行,此時,是跳轉(zhuǎn)到另一個地址去執(zhí)行,此時,由該條轉(zhuǎn)移由該條轉(zhuǎn)移指令的地址碼字段可以得到新指令地址,然后將指令的地址碼字段可以得到新指令地址,然后將其置入其置入PCPC中。中。18指令尋址舉例指令尋址舉例0 0指令地址指令地址指令內(nèi)容指令內(nèi)容0 0LDA
15、 200LDA 2001 1ADD 201ADD 2012 2JMP 5JMP 53 3CLRCLR4 4LDA 206LDA 2065 5SUB 207SUB 2076 6INCINC7 7程序計數(shù)器程序計數(shù)器PC內(nèi)內(nèi) 存存19二、數(shù)據(jù)尋址v 形式地址:形式地址:指令的地址碼字段,不一定(通常都不)指令的地址碼字段,不一定(通常都不)代表操作數(shù)的真實地址,記為代表操作數(shù)的真實地址,記為A A。v 有效地址:有效地址:操作數(shù)的真實地址,記作操作數(shù)的真實地址,記作EAEA,它是由尋址,它是由尋址方式和形式地址共同來確定的。方式和形式地址共同來確定的。 v 常見的有常見的有9 9種尋址方式。種尋址
16、方式。 復(fù)合尋址復(fù)合尋址v 所有的計算機(jī)所有的計算機(jī)CPUCPU都采用多種尋址方式都采用多種尋址方式 問題:如何識別?問題:如何識別?20二、數(shù)據(jù)尋址98基址尋址7變址尋址6寄存器間接尋址方式5寄存器尋址方式4間接尋址3直接尋址2立即尋址110堆棧尋址相對尋址基址變地尋址211、立即尋址(Immediate Addressing)v 操作數(shù)在指令的地址碼字段,即:操作數(shù)在指令的地址碼字段,即: DATADATAA Av 例如:例如:MOV AL, 5MOV AL, 5MOV AX, 3064HMOV AX, 3064HMOV AL, MOV AL, A A222直接尋址(Direct Addr
17、essing)v 操作數(shù)位于存儲器中,操作數(shù)所在的存儲器單元的地址存操作數(shù)位于存儲器中,操作數(shù)所在的存儲器單元的地址存放在指令的地址字段放在指令的地址字段A A中,即:中,即: EA=AEA=A DATADATA(EAEA)v例如:例如: MOV AX, 1000HMOV AX, 1000H ADD 2000H, BXADD 2000H, BX233、間接尋址( Indirect Addressing )v 操作數(shù)位于存儲器中,操作數(shù)所在的存儲器單元地址也操作數(shù)位于存儲器中,操作數(shù)所在的存儲器單元地址也存放在存儲器中,該存儲器地址則存放在指令的地址字存放在存儲器中,該存儲器地址則存放在指令的地
18、址字段中,即:段中,即: DATADATA(EAEA) EA=EA=(A A)v 即:即:A A為操作數(shù)地址的地址為操作數(shù)地址的地址24A指令指令存儲器存儲器操作數(shù)操作數(shù)操作數(shù)操作數(shù)A指令指令EAEA:254、寄存器尋址方式 ( Register Addressing )v 操作數(shù)位于寄存器中,操作數(shù)所在的寄存器編號存放在指操作數(shù)位于寄存器中,操作數(shù)所在的寄存器編號存放在指令的地址字段令的地址字段A A中,即:中,即: DATADATA(R Ri i)例如:例如:MOV AX, BXMOV AX, BXMOV AL, BHMOV AL, BH265、寄存器間接尋址方式v操作數(shù)位于存儲器中,操作
19、數(shù)所在的存儲器地址存放在操作數(shù)位于存儲器中,操作數(shù)所在的存儲器地址存放在寄存器中,而該寄存器編號存放在指令的地址字段寄存器中,而該寄存器編號存放在指令的地址字段A A中,中,即:即:DATADATA(EAEA)EAEA(R Ri i )v例如:例如:SUB DX, ESISUB DX, ESI27寄存器號寄存器號指令指令操作數(shù)操作數(shù)寄寄存存器器堆堆寄存器號寄存器號指令指令寄寄存存器器堆堆EA操作數(shù)操作數(shù)存儲器存儲器286、變址尋址(Indexed Addressing)v 操作數(shù)位于存儲器中,操作數(shù)所在的存儲器地址操作數(shù)位于存儲器中,操作數(shù)所在的存儲器地址EAEA由由變址寄存器變址寄存器RIR
20、I和指令的地址字段和指令的地址字段A A指出:指出: DATADATA(EAEA) EAEA(RIRI )A A29變址尋址舉例變址尋址舉例v例如:例如: DataData str_tb db Abort, Retry?, 0 str_tb db Abort, Retry?, 0 CodeCode MOV ESI, 0 MOV ESI, 0 MOV AL, str_tbESI MOV AL, str_tbESI INC ESI INC ESI307、基址尋址 ( Based Addressing )v 操作數(shù)位于存儲器中,操作數(shù)所在的存儲器地址操作數(shù)位于存儲器中,操作數(shù)所在的存儲器地址EAEA
21、由由基址寄存器基址寄存器RbRb和指令的地址字段和指令的地址字段A A指出:指出: DATADATA(EAEA) EAEA(RbRb )A A31基址尋址和變址尋址基址尋址和變址尋址v基址尋址方式適合于多用戶計算機(jī)系統(tǒng),當(dāng)操作基址尋址方式適合于多用戶計算機(jī)系統(tǒng),當(dāng)操作系統(tǒng)為多道程序分配主存空間,將用戶程序裝入系統(tǒng)為多道程序分配主存空間,將用戶程序裝入主存時,需要進(jìn)行邏輯地址到物理地址的轉(zhuǎn)換。主存時,需要進(jìn)行邏輯地址到物理地址的轉(zhuǎn)換。v操作系統(tǒng)給每個用戶一個基地址并將其放入相應(yīng)操作系統(tǒng)給每個用戶一個基地址并將其放入相應(yīng)的基址寄存器,在程序執(zhí)行時,以基址為基準(zhǔn)自的基址寄存器,在程序執(zhí)行時,以基址為
22、基準(zhǔn)自動進(jìn)行邏輯地址到物理地址的轉(zhuǎn)換。動進(jìn)行邏輯地址到物理地址的轉(zhuǎn)換。v在應(yīng)用中,在應(yīng)用中,基址尋址基址尋址面向系統(tǒng),可以用來解決程面向系統(tǒng),可以用來解決程序在主存中的重定位和擴(kuò)大尋址空間等問題;而序在主存中的重定位和擴(kuò)大尋址空間等問題;而變址尋址變址尋址則面向用戶編程,用來訪問字符串、向則面向用戶編程,用來訪問字符串、向量和成批數(shù)據(jù)量和成批數(shù)據(jù)328 8、基址變址尋址、基址變址尋址 339、相對尋址 ( Relative Addressing )v 操作數(shù)位于存儲器中,操作數(shù)所在的存儲器地址操作數(shù)位于存儲器中,操作數(shù)所在的存儲器地址EAEA由由程序計數(shù)器程序計數(shù)器PCPC和指令的地址字段和指
23、令的地址字段A A指出:指出: DATADATA(EAEA) EAEA(PCPC )A A A A通常稱作通常稱作相對偏移量相對偏移量DISPDISP。 相對尋址主要用于轉(zhuǎn)移指令,執(zhí)行之后,程序?qū)⑾鄬ぶ分饕糜谵D(zhuǎn)移指令,執(zhí)行之后,程序?qū)⑥D(zhuǎn)移到轉(zhuǎn)移到(PCPC)偏移量)偏移量為地址的指令去執(zhí)行。為地址的指令去執(zhí)行。 偏移量可正、可負(fù)偏移量可正、可負(fù),通常用補碼表示,即可相對,通常用補碼表示,即可相對PCPC值向后或向前轉(zhuǎn)移。值向后或向前轉(zhuǎn)移。3410、堆棧尋址 ( Stack Addressing )v 操作數(shù)位于存儲器中,操作數(shù)所在的存儲器地址操作數(shù)位于存儲器中,操作數(shù)所在的存儲器地址EAE
24、A由由堆棧指針寄堆棧指針寄存器存器SPSP隱含隱含指出,通常用于堆棧指令。指出,通常用于堆棧指令。v 堆棧是由若干個連續(xù)主存單元組成的堆棧是由若干個連續(xù)主存單元組成的先進(jìn)后出先進(jìn)后出(first in last first in last outout,即,即FILOFILO)存儲區(qū),第一個放入堆棧的數(shù)據(jù)存放在)存儲區(qū),第一個放入堆棧的數(shù)據(jù)存放在棧底棧底,最,最近放入的數(shù)據(jù)存放在近放入的數(shù)據(jù)存放在棧頂棧頂。棧底是固定不變的,而棧頂是隨著數(shù)。棧底是固定不變的,而棧頂是隨著數(shù)據(jù)的入棧和出棧在時刻變化。據(jù)的入棧和出棧在時刻變化。棧頂?shù)牡刂酚啥褩V羔槜m數(shù)牡刂酚啥褩V羔楽PSP指明指明。v 一般計算機(jī)
25、中,堆棧從高地址向低地址擴(kuò)展,即棧底的地址總是一般計算機(jī)中,堆棧從高地址向低地址擴(kuò)展,即棧底的地址總是大于或等于棧頂?shù)牡刂?,稱為大于或等于棧頂?shù)牡刂罚Q為上推堆棧上推堆棧;也有少數(shù)計算機(jī)相反,;也有少數(shù)計算機(jī)相反,稱為下推堆棧。稱為下推堆棧。v 堆棧尋址主要用來暫存中斷和子程序調(diào)用時現(xiàn)場數(shù)據(jù)及返回地址。堆棧尋址主要用來暫存中斷和子程序調(diào)用時現(xiàn)場數(shù)據(jù)及返回地址。 35存儲器存儲器堆棧段堆棧段棧底棧底SP棧棧頂頂堆棧的結(jié)構(gòu)v堆棧的操作:堆棧的操作:壓入壓入(PUSHPUSH)和)和彈出彈出(POPPOP),對應(yīng)),對應(yīng)PUSHPUSH和和POPPOP指令,假指令,假設(shè)數(shù)據(jù)字長為設(shè)數(shù)據(jù)字長為1B1B
26、壓入指令壓入指令 PUSH RiPUSH Ri:將:將RiRi寄存器寄存器內(nèi)容壓入堆棧。其操作是:內(nèi)容壓入堆棧。其操作是:(SPSP)1SP1SP,(Ri) (Ri) (SPSP)彈出指令彈出指令POP RiPOP Ri:從堆棧中彈出:從堆棧中彈出1 1個數(shù)據(jù)送個數(shù)據(jù)送RiRi寄存器,其操作是:寄存器,其操作是:(SP) Ri (SP) Ri ,(SP)(SP)1SP1SP其中其中(SP)(SP)表示堆棧指針表示堆棧指針SPSP的內(nèi)容;的內(nèi)容;(SP)(SP)表示表示SPSP所指的棧頂?shù)膬?nèi)容。所指的棧頂?shù)膬?nèi)容。366.3 指令類型 v 1 1 數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令 包括寄存器與寄存器、寄存
27、器與存儲單元、存儲單包括寄存器與寄存器、寄存器與存儲單元、存儲單元與存儲單元之間的傳送。元與存儲單元之間的傳送。v 2 2算術(shù)邏輯運算指令算術(shù)邏輯運算指令 實現(xiàn)算術(shù)運算(加、減、乘、除等)和邏輯運算實現(xiàn)算術(shù)運算(加、減、乘、除等)和邏輯運算(與、或、非、異或)。有些計算機(jī)還設(shè)置有位操(與、或、非、異或)。有些計算機(jī)還設(shè)置有位操作指令,如位測試(測試指定位的值)、位清零、作指令,如位測試(測試指定位的值)、位清零、位求反指令等。位求反指令等。v 3 3 移位操作指令移位操作指令 可分為算術(shù)移位、邏輯移位和循環(huán)移位。可分為算術(shù)移位、邏輯移位和循環(huán)移位。37邏輯左移、算術(shù)左移邏輯左移、算術(shù)左移 CF
28、 0循環(huán)左移循環(huán)左移CF CF帶進(jìn)位循環(huán)左移帶進(jìn)位循環(huán)左移CF算術(shù)右移算術(shù)右移 0 CF邏輯右移邏輯右移CF循環(huán)右移循環(huán)右移CF帶進(jìn)位循環(huán)右移帶進(jìn)位循環(huán)右移386.3 6.3 指令類型指令類型v4程序控制類指令無條件轉(zhuǎn)移指令:無條件轉(zhuǎn)至目的地址處執(zhí)行。無條件轉(zhuǎn)移指令:無條件轉(zhuǎn)至目的地址處執(zhí)行。條件轉(zhuǎn)移指令:條件滿足轉(zhuǎn)至目的地址處執(zhí)行,條件轉(zhuǎn)移指令:條件滿足轉(zhuǎn)至目的地址處執(zhí)行,否則順序執(zhí)行否則順序執(zhí)行( (生成條件碼生成條件碼判斷決定是否轉(zhuǎn)移判斷決定是否轉(zhuǎn)移) )調(diào)用與返回指令:調(diào)用與返回指令:調(diào)用指令調(diào)用指令CALLCALL用于從當(dāng)前的程序位置轉(zhuǎn)至子用于從當(dāng)前的程序位置轉(zhuǎn)至子程序的入口;程序的
29、入口;返回指令返回指令RETURNRETURN用于子程序執(zhí)行完后重新返用于子程序執(zhí)行完后重新返回到原程序的斷點?;氐皆绦虻臄帱c。陷阱指令陷阱指令 陷阱其實是一種意外事故的中斷。陷阱其實是一種意外事故的中斷。 396.3 指令類型v5 5堆棧操作指令堆棧操作指令v6 6輸入輸出指令:輸入輸出指令:它完成從外設(shè)它完成從外設(shè)端口端口讀入一個數(shù)據(jù)讀入一個數(shù)據(jù)到到CPUCPU的寄存器內(nèi),或?qū)?shù)據(jù)從的寄存器內(nèi),或?qū)?shù)據(jù)從CPUCPU的寄存器輸出到某的寄存器輸出到某外設(shè)的端口中,此類指令適用于外設(shè)寄存器獨立編址外設(shè)的端口中,此類指令適用于外設(shè)寄存器獨立編址的情況。的情況。 v7 7處理器控制指令:處理器控
30、制指令:包括等待指令、停機(jī)指令、空包括等待指令、停機(jī)指令、空操作指令、開操作指令、開/ /關(guān)中斷指令等關(guān)中斷指令等 v8.8.特權(quán)指令特權(quán)指令: :這類指令主要用于系統(tǒng)資源的分配和管這類指令主要用于系統(tǒng)資源的分配和管理。特權(quán)指令只能給理。特權(quán)指令只能給操作系統(tǒng)或其他系統(tǒng)軟件操作系統(tǒng)或其他系統(tǒng)軟件,而不,而不能提供給用戶使用,以防止破壞系統(tǒng)或其他用戶信息能提供給用戶使用,以防止破壞系統(tǒng)或其他用戶信息 406.4 指令系統(tǒng)的設(shè)計技術(shù) 指令系統(tǒng)的要求指令系統(tǒng)的要求一一 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 二二 CISCCISC的特點的特點 三三 RISCRISC的特點的特點 四四 指令系統(tǒng)舉例指令系統(tǒng)舉例
31、 五五41一、指令系統(tǒng)的要求一、指令系統(tǒng)的要求v1 1、完備性:、完備性:指指令系統(tǒng)直接提供的指令指指令系統(tǒng)直接提供的指令足夠使用足夠使用,而不必用軟件來實現(xiàn)。而不必用軟件來實現(xiàn)。v2 2、有效性:、有效性:是指利用該指令系統(tǒng)所編寫的程序能夠是指利用該指令系統(tǒng)所編寫的程序能夠高效高效地運行。程序占據(jù)存儲空間小、執(zhí)行速度快。地運行。程序占據(jù)存儲空間小、執(zhí)行速度快。v3 3、規(guī)整性:、規(guī)整性:對稱性:所有的指令都可使用各種尋址方式;對稱性:所有的指令都可使用各種尋址方式;勻齊性:指令可以支持各種數(shù)據(jù)類型;勻齊性:指令可以支持各種數(shù)據(jù)類型;指令格式和數(shù)據(jù)格式的一致性:指令長度和數(shù)據(jù)指令格式和數(shù)據(jù)格式
32、的一致性:指令長度和數(shù)據(jù)長度有一定的關(guān)系,以方便處理和存取。長度有一定的關(guān)系,以方便處理和存取。v4 4、兼容性:、兼容性:“向上兼容向上兼容”,即低檔機(jī)上運行的軟件,即低檔機(jī)上運行的軟件可以在高檔機(jī)上運行。可以在高檔機(jī)上運行。 42二、指令系統(tǒng)的發(fā)展二、指令系統(tǒng)的發(fā)展 v “復(fù)雜指令系統(tǒng)計算機(jī)復(fù)雜指令系統(tǒng)計算機(jī)”,簡稱,簡稱CISCCISC(Complex Complex Instruction Set ComputerInstruction Set Computer) 指令格式不固定,尋址方式豐富,功能復(fù)雜指令格式不固定,尋址方式豐富,功能復(fù)雜 一些比較簡單的指令,在程序中僅占指令系統(tǒng)中一
33、些比較簡單的指令,在程序中僅占指令系統(tǒng)中指令總數(shù)的指令總數(shù)的20%20%,但出現(xiàn)的頻率卻占,但出現(xiàn)的頻率卻占80%80%;占指令;占指令總數(shù)總數(shù)20%20%的最復(fù)雜的指令,卻占用了控制存儲器容的最復(fù)雜的指令,卻占用了控制存儲器容量的量的80%80%,且使用頻率卻不高。,且使用頻率卻不高。43v 精簡指令系統(tǒng)計算機(jī)(精簡指令系統(tǒng)計算機(jī)(Reduced Instruction Set Reduced Instruction Set ComputerComputer,簡稱,簡稱RISCRISC)v RISCRISC體系結(jié)構(gòu)的芯片經(jīng)歷了三代:體系結(jié)構(gòu)的芯片經(jīng)歷了三代: 第一代以第一代以3232位數(shù)據(jù)通
34、路為代表,支持位數(shù)據(jù)通路為代表,支持Cache,Cache,軟件軟件支持較少,性能與支持較少,性能與CISCCISC體系結(jié)構(gòu)的產(chǎn)品相當(dāng),如體系結(jié)構(gòu)的產(chǎn)品相當(dāng),如RISC RISC 、MIPSMIPS、IBM801IBM801等。等。 第二代產(chǎn)品提高了集成度,增加了對多處理機(jī)系第二代產(chǎn)品提高了集成度,增加了對多處理機(jī)系統(tǒng)的支持,提高了時鐘頻率,建立了完善的存儲統(tǒng)的支持,提高了時鐘頻率,建立了完善的存儲管理體系,軟件支持系統(tǒng)也逐漸完善。它們已具管理體系,軟件支持系統(tǒng)也逐漸完善。它們已具有單指令流水線,可同時執(zhí)行多條指令。有單指令流水線,可同時執(zhí)行多條指令。 第三代第三代RISCRISC產(chǎn)品為產(chǎn)品為
35、6464位微處理器,采用了超級流位微處理器,采用了超級流水線技術(shù)和超標(biāo)量技術(shù),提高了指令級的并行處水線技術(shù)和超標(biāo)量技術(shù),提高了指令級的并行處理能力,使理能力,使RISCRISC處理器的整體性能更好。如處理器的整體性能更好。如MIPSMIPS的的R4000R4000處理器。處理器。二、指令系統(tǒng)的發(fā)展二、指令系統(tǒng)的發(fā)展44三、三、CISCCISC的特點的特點v早期早期CISCCISC指令系統(tǒng)的主要特點是:指令系統(tǒng)的主要特點是:指令系統(tǒng)復(fù)雜。具體表現(xiàn)為指令條數(shù)多、尋址方式指令系統(tǒng)復(fù)雜。具體表現(xiàn)為指令條數(shù)多、尋址方式多、指令格式多。多、指令格式多。指令串行執(zhí)行,大多數(shù)指令需要多個時鐘周期完成。指令串行
36、執(zhí)行,大多數(shù)指令需要多個時鐘周期完成。采用微程序控制,因為微程序控制器適合于實現(xiàn)采用微程序控制,因為微程序控制器適合于實現(xiàn)CISCCISC指令執(zhí)行過程的控制。指令執(zhí)行過程的控制。有較多的專用寄存器,大部分運算所需的數(shù)據(jù)均需有較多的專用寄存器,大部分運算所需的數(shù)據(jù)均需訪問存儲器獲取。訪問存儲器獲取。1.1. 由于指令系統(tǒng)復(fù)雜,編譯系統(tǒng)面臨復(fù)雜的選擇,編由于指令系統(tǒng)復(fù)雜,編譯系統(tǒng)面臨復(fù)雜的選擇,編譯程序難以用優(yōu)化措施生成高效的目標(biāo)代碼程序。譯程序難以用優(yōu)化措施生成高效的目標(biāo)代碼程序。45三、三、CISCCISC的特點的特點v CISCCISC主要在以下方面來對增強(qiáng)指令的功能主要在以下方面來對增強(qiáng)指
37、令的功能面向面向目標(biāo)程序目標(biāo)程序增強(qiáng)指令功能增強(qiáng)指令功能具體方法有:具體方法有:提高運算類指令的功能提高運算類指令的功能提高傳送類指令的功能提高傳送類指令的功能增強(qiáng)程序控制指令功能增強(qiáng)程序控制指令功能面向面向編譯程序編譯程序目標(biāo)代碼生成優(yōu)化的改進(jìn)目標(biāo)代碼生成優(yōu)化的改進(jìn)1.1. 提供面向提供面向操作系統(tǒng)操作系統(tǒng)優(yōu)化的指令優(yōu)化的指令 46v大部分大部分RISCRISC機(jī)具有以下特點機(jī)具有以下特點: (1 1) 指令系統(tǒng)設(shè)計時選擇一些使用頻率較高的指令系統(tǒng)設(shè)計時選擇一些使用頻率較高的簡單指令,且選擇一些很有用但不復(fù)雜的指令。簡單指令,且選擇一些很有用但不復(fù)雜的指令。 (2 2) 指令長度固定,指令格
38、式種類少,尋址方指令長度固定,指令格式種類少,尋址方式種類少。式種類少。 (3 3) 只有取數(shù)只有取數(shù)/ /存數(shù)指令訪問存儲器,其余指令存數(shù)指令訪問存儲器,其余指令的操作都在寄存器之間進(jìn)行。的操作都在寄存器之間進(jìn)行。四、RISC的特點47 (4 4) 采用流水線技術(shù)。超級標(biāo)量及超級流水線采用流水線技術(shù)。超級標(biāo)量及超級流水線技術(shù),增加了指令執(zhí)行的并行度,使得一條指令技術(shù),增加了指令執(zhí)行的并行度,使得一條指令的平均指令執(zhí)行時間小于一個機(jī)器周期。的平均指令執(zhí)行時間小于一個機(jī)器周期。 (5 5) CPUCPU中通用寄存器數(shù)量相當(dāng)多,可以減少中通用寄存器數(shù)量相當(dāng)多,可以減少訪存次數(shù)。訪存次數(shù)。 (6 6
39、) 以硬布線控制邏輯為主,不用或少用微碼以硬布線控制邏輯為主,不用或少用微碼控制??刂啤?(7 7) 采用優(yōu)化的編譯程序,力求有效地支持高采用優(yōu)化的編譯程序,力求有效地支持高級語言程序。級語言程序。 四、RISC的特點48v (1 1) 可以充分利用可以充分利用VLSIVLSI芯片面積芯片面積v (2 2) 可以提高計算機(jī)運算速度可以提高計算機(jī)運算速度 指令數(shù)、尋址方式和指令格式的種類都較少,且指指令數(shù)、尋址方式和指令格式的種類都較少,且指令的編碼很有規(guī)律,使指令譯碼加快。令的編碼很有規(guī)律,使指令譯碼加快。 在簡化指令的情況下,硬布線連接比微程序控制的在簡化指令的情況下,硬布線連接比微程序控制
40、的延遲小,可縮短延遲小,可縮短CPUCPU的周期。的周期。 CPUCPU的通用寄存器多,減少了訪存次數(shù),加快了速度的通用寄存器多,減少了訪存次數(shù),加快了速度 大部分指令能在一個周期內(nèi)完成,特別適合于流水大部分指令能在一個周期內(nèi)完成,特別適合于流水線工作。線工作。 有的有的RISCRISC機(jī)采用寄存器窗口重疊技術(shù),程序嵌套時機(jī)采用寄存器窗口重疊技術(shù),程序嵌套時不必將寄存器內(nèi)容保存到存儲器中,加快了速度。不必將寄存器內(nèi)容保存到存儲器中,加快了速度。同CISC比較,RISC的優(yōu)點49v (3 3) 設(shè)計容易,可降低成本,提高可靠性。設(shè)計容易,可降低成本,提高可靠性。v (4 4) 能有效支持高級語言
41、程序能有效支持高級語言程序 RISCRISC靠編譯程序的優(yōu)化來支持高級語言程序??烤幾g程序的優(yōu)化來支持高級語言程序。 指令少,尋址方式少,反而使編譯程序容易選擇更指令少,尋址方式少,反而使編譯程序容易選擇更有效的指令和尋址方式。有效的指令和尋址方式。 通用寄存器多,可盡量安排快速的寄存器操作,使通用寄存器多,可盡量安排快速的寄存器操作,使編譯程序的代碼優(yōu)化效率較高。編譯程序的代碼優(yōu)化效率較高。 有的有的RISCRISC機(jī)采用寄存器窗口重疊技術(shù),使過程間的機(jī)采用寄存器窗口重疊技術(shù),使過程間的參數(shù)傳送快,且不必保存與恢復(fù)現(xiàn)場,因而能直接參數(shù)傳送快,且不必保存與恢復(fù)現(xiàn)場,因而能直接支持調(diào)用子程序和過
42、程的高級語言程序。支持調(diào)用子程序和過程的高級語言程序。 在編譯時盡量做好程序優(yōu)化工作,而減少程序執(zhí)行在編譯時盡量做好程序優(yōu)化工作,而減少程序執(zhí)行時間時間同CISC比較,RISC的優(yōu)點50五、指令系統(tǒng)舉例 . .1 1、Pentium Pentium 指令系統(tǒng)指令系統(tǒng) 指令系統(tǒng)舉例指令系統(tǒng)舉例2 2、模型機(jī)上模型機(jī)上8 8位字長的指令位字長的指令系統(tǒng)設(shè)計系統(tǒng)設(shè)計511 1、Pentium Pentium 指令系統(tǒng)指令系統(tǒng) v指令類型指令類型(1 1)算術(shù)邏輯操作指令)算術(shù)邏輯操作指令(2 2)串操作)串操作/ /轉(zhuǎn)移控制指令轉(zhuǎn)移控制指令(3 3)標(biāo)志控制)標(biāo)志控制/ /高級語言支持指令高級語言支
43、持指令(4 4)數(shù)據(jù)傳送指令)數(shù)據(jù)傳送指令(5 5)系統(tǒng)控制)系統(tǒng)控制/ /段寄存器操作指令段寄存器操作指令(6 6)保護(hù))保護(hù)/CACHE/CACHE管理指令管理指令vPentium Pentium 的指令格式的指令格式52主要由兩部分組成:指令前綴,指令本身。主要由兩部分組成:指令前綴,指令本身。指令前綴為指令前綴為可選可選。指令段指定操作數(shù)長度指定地址長度指定(a)前綴(b)指令OP0或1字節(jié)0或1字節(jié)0或1字節(jié)0或1字節(jié)1或2字節(jié)0或1字節(jié)0或1字節(jié)0,1,2或40,1,2或4MOD/RMSIBDISPIMMEMODREGRMSSINDEXBASE7 65 4 32 1 02 1 05
44、 4 37 6圖615 Pentium 指令格式1、Pentium 指令系統(tǒng) 532、模型機(jī)上8位字長的指令系統(tǒng)設(shè)計模型機(jī)尋模型機(jī)尋址方式址方式模型機(jī)指模型機(jī)指令格式令格式模型機(jī)模型機(jī)指令系指令系統(tǒng)設(shè)計統(tǒng)設(shè)計54 模型機(jī)指令格式v 格式格式1 1:一般指令格式一般指令格式I7 I6 I5 I4I3 I2I1 I0OPSRDRDATA/ADDR/DISP/XDRDR:目的寄存器號,:目的寄存器號,2 2位,用于對位,用于對4 4個通用寄存器個通用寄存器R0R0、R1R1、R2R2、R3R3的選擇,其內(nèi)容可送總線,也可以從總線上接收的選擇,其內(nèi)容可送總線,也可以從總線上接收數(shù)據(jù),通常作為目的操作數(shù)
45、。數(shù)據(jù),通常作為目的操作數(shù)。DATA/ADDR/DISP/XDATA/ADDR/DISP/X:指令的第二個字,可有可無,其含義:指令的第二個字,可有可無,其含義也可以由用戶自定義,可以是立即數(shù),可以是直接也可以由用戶自定義,可以是立即數(shù),可以是直接/ /間接間接地址,也可以是其它尋址方式用到的地址信息,如相對地址,也可以是其它尋址方式用到的地址信息,如相對偏移量、形式地址等等。偏移量、形式地址等等。55格式2:帶尋址方式碼的指令格式v OP1OP1:第一指令操作碼,第一指令操作碼, 2 2位,是帶尋址方式碼位,是帶尋址方式碼 的指令(的指令(4 4條)的特征位。條)的特征位。v MODMOD:
46、尋址方式碼,尋址方式碼,2 2位,用于對位,用于對4 4種尋址方式的編碼種尋址方式的編碼,至于至于4 4種尋址方式的定義,可以自行設(shè)計,例如:可種尋址方式的定義,可以自行設(shè)計,例如:可設(shè)計為直接、間接、變址、相對尋址。設(shè)計為直接、間接、變址、相對尋址。v OP2OP2:第二指令操作碼,第二指令操作碼,2 2位,是位,是4 4條帶尋址方式碼的條帶尋址方式碼的指令本身的編碼指令本身的編碼。v DRDR:同格式一。同格式一。v ADDR/DISP/XADDR/DISP/X:指令的第二個字,為尋址方式中所用指令的第二個字,為尋址方式中所用到的直接到的直接/ /間接地址間接地址ADDRADDR,或者是相
47、對尋址的偏移量,或者是相對尋址的偏移量DISPDISP,或者是變址尋址的形式地址,或者是變址尋址的形式地址X XI7 I6I5 I4I3 I2I1 I0OP1MODOP2DRADDR/DISP/X 56帶尋址方式帶尋址方式MODMOD的指令格式(格式的指令格式(格式2 2)v 對于指令格式對于指令格式2 2,假設(shè)定義:,假設(shè)定義: MOD=00MOD=00:直接尋址直接尋址,則有效地址,則有效地址EA=ADDREA=ADDR,操作數(shù),操作數(shù)= =(ADDRADDR);); MOD=01MOD=01:間接尋址間接尋址,則有效地址,則有效地址EA=EA=(ADDRADDR),操),操作數(shù)作數(shù)= =
48、(ADDRADDR);); MOD=10MOD=10:變址尋址變址尋址,則有效地址,則有效地址EA=EA=(SISI)+X+X,操,操作數(shù)作數(shù)= =(SISI)+X+X);其中);其中SISI為變址寄存器,隱含為變址寄存器,隱含為為R2R2; MOD=11MOD=11:相對尋址相對尋址,則有效地址,則有效地址EA=EA=(PCPC)+DISP+DISP,操作數(shù)操作數(shù)= =(PCPC)+DISP+DISP););57格式3:三字指令 I7 I6I5 I4I3 I2I1 I0OP1MODOP2DRADDR/DISP/X1 DATA/ADDR/DISP/X2v 指令包含三字:指令包含三字: 指令第一
49、字:包含操作碼、尋址方式、寄存器號指令第一字:包含操作碼、尋址方式、寄存器號 指令第二字和第三字:為尋址方式中所用到的直指令第二字和第三字:為尋址方式中所用到的直接接/ /間接地址間接地址ADDRADDR,或者是相對尋址的偏移量,或者是相對尋址的偏移量DISPDISP,或者是變址尋址的形式地址或者是變址尋址的形式地址X X,也可以是立即數(shù),也可以是立即數(shù)DATADATAv 雙存儲器操作數(shù)的指令:既指令的兩個操作數(shù)均在雙存儲器操作數(shù)的指令:既指令的兩個操作數(shù)均在存儲器內(nèi)。其余同格式存儲器內(nèi)。其余同格式2 2。 I7 I6 I5 I4I3 I2I1 I0OPSRDRADDR/DISP/X1 DAT
50、A/ADDR/DISP/X258格式4:操作碼擴(kuò)展指令格式 v OPOP指令操作碼,指令操作碼,4 4位,位,是單寄存器地址指令(是單寄存器地址指令(1616條)的操作碼,可通過條)的操作碼,可通過I I7 7 I I6 6為為1111方式實現(xiàn)散轉(zhuǎn)。方式實現(xiàn)散轉(zhuǎn)。I7 I6I5 I4 I3 I2I1 I0OPSR/ DRDATA/ADDR/DISP/Xv SR/DRSR/DR同上。同上。v ADDR/DISP/XADDR/DISP/X指令的第二個字,為尋址方式中所用到指令的第二個字,為尋址方式中所用到的立即數(shù)的立即數(shù)DATADATA、直接、直接/ /間接地址間接地址ADDRADDR,或者是相對
51、尋址,或者是相對尋址的偏移量的偏移量DISPDISP,或者是變址尋址的形式地址,或者是變址尋址的形式地址X X。59 模型機(jī)尋址方式模型機(jī)尋址方式v 模型機(jī)的指令系統(tǒng),可實現(xiàn):寄存器直接、寄存器模型機(jī)的指令系統(tǒng),可實現(xiàn):寄存器直接、寄存器間接、直接、間接、相對、變址、立即數(shù)間接、直接、間接、相對、變址、立即數(shù)7 7種基本尋種基本尋址方式址方式。v 對于其中相對復(fù)雜的尋址方式(直接、間接、相對、對于其中相對復(fù)雜的尋址方式(直接、間接、相對、變址),可以由指令中的變址),可以由指令中的MODMOD字段來定義。字段來定義。v 簡單的尋址方式可以直接由指令操作碼指定。簡單的尋址方式可以直接由指令操作碼
52、指定。v 注意:任何一種尋址方式,均可以直接由指令操作注意:任何一種尋址方式,均可以直接由指令操作碼隱含指定。碼隱含指定。v 用戶也可以根據(jù)需要,用戶也可以根據(jù)需要,自行設(shè)計自行設(shè)計一些特殊的尋址方一些特殊的尋址方式,例如相對式,例如相對SRSR的偏移量尋址方法,即的偏移量尋址方法,即EA=EA=(SRSR)+ADDR+ADDR。60v指令設(shè)計原則指令設(shè)計原則指令的格式必須按照規(guī)定的指令的格式必須按照規(guī)定的格式設(shè)計格式設(shè)計,即操作,即操作碼碼OPOP、源寄存器號、源寄存器號SRSR、目的寄存器號、目的寄存器號DRDR必須按必須按格式規(guī)定格式規(guī)定固定長度和位置固定長度和位置,若按照格式,若按照格
53、式2 2設(shè)計指設(shè)計指令,則操作碼令,則操作碼OPOP分為兩段。分為兩段。尋址方式的設(shè)計尋址方式的設(shè)計,可以根據(jù)需要,由,可以根據(jù)需要,由MODMOD字段定字段定義,或由操作碼隱含指定。義,或由操作碼隱含指定。指令類型及功能的設(shè)計指令類型及功能的設(shè)計,只需滿足程序設(shè)計的,只需滿足程序設(shè)計的要求和需求即可。要求和需求即可。指令操作碼的分配設(shè)計指令操作碼的分配設(shè)計,要注意規(guī)整性。,要注意規(guī)整性。v模型機(jī)指令設(shè)計舉例模型機(jī)指令設(shè)計舉例1 1v模型機(jī)指令設(shè)計舉例模型機(jī)指令設(shè)計舉例2 2 模型機(jī)指令系統(tǒng)設(shè)計模型機(jī)指令系統(tǒng)設(shè)計61指令系統(tǒng)1舉例v 不用專門的不用專門的MODMOD字段指出尋址方式,字段指出尋
54、址方式,尋址方式由指令尋址方式由指令碼定義(隱含)。碼定義(隱含)。0000*RdDATA1. MOV1 #DATA , Rd ; DATARd2. MOV2 Rs, Addr;(Rs)Addr0001Rs*Addr3. ADD Addr, Rd;(Addr)+(Rd)Rd0100*RdAddr返回返回624. IN Rd,Addr; (Port Addr)Rd110000 RdPort Addr110001 RsPort Addr110011 *110010 *Addr110100 Rd110101 Rd110110 *Addr返回返回63程序功能匯編結(jié)果(M地址:機(jī)器指令)MOV1 #04
55、H,R104HR100H:0000000101H:00000100MOV2 R1, 11H(R1)11H02H:0001010003H:00010001IN 01H, R1(INPUT DEVICE)R104H:1100000105H:00000001MOV2 R1, 10H(R1)10H06H:0001010007H:00010000IN 01H, R1(INPUT DEVICE)(R1)08H:1100000109H:00000001ADD 10H, R1(10H)+(R1)R10AH:001000010BH:00010000OUT R1, 02H(R1)OUTPUT DEVICE0CH:
56、110001010DH:00000010JMP 11H(11H)PC0EH:110010000FH:0001000164指令系統(tǒng)指令系統(tǒng)2 2舉例舉例v共有共有1616條指令,分為:條指令,分為:v5 5條雙寄存器算術(shù)邏輯運算類指令條雙寄存器算術(shù)邏輯運算類指令v3 3條單寄存器指令條單寄存器指令 v4 4條存儲器訪問類指令條存儲器訪問類指令 v2 2條條I/OI/O指令指令v2 2條過程控制類指令條過程控制類指令 v程序設(shè)計程序設(shè)計655 5條雙寄存器算術(shù)邏輯運算類指令條雙寄存器算術(shù)邏輯運算類指令v 格式:格式:v 操作碼及功能:操作碼及功能:I7 I6 I5 I4I7 I6 I5 I4I3
57、I2I3 I2I1 I0I1 I0OPOPSRSRDRDR助記符助記符操作碼操作碼OP功能功能MOV DR,SR0000(SR)DRADD DR,SR0001(SR)+(DR)DRSUB DR,SR0010(DR)-(SR)DRAND DR,SR0011(SR)(DR)DRRRC DR,SR0100(SR)進(jìn)行帶進(jìn)位循環(huán)右移進(jìn)行帶進(jìn)位循環(huán)右移DR663 3條單寄存器指令條單寄存器指令v 格式:格式:v 操作碼及功能:操作碼及功能:I7 I6I7 I6I5 I4 I3 I2I5 I4 I3 I2I1 I0I1 I01111OPOPDR/SRDR/SR助記符助記符操作碼操作碼OP功能功能INC DR1101(DR)+1DRDEC DR1110(DR)-1DRCLR DR11110DR674 4條存儲器訪問類指令條存儲器訪問類指令v 格式:格式:v 操作碼及功能:操作碼及功能:v SISI隱含為隱含為R2R2I7 I6I7 I6I5 I4I5 I4I3 I2I3 I2I1 I0I1 I01010MODMODOP2OP2DRDRADDR/DISP/X ADDR/DISP/X MOD尋址方式尋址方式EA助記符助記符OP2功能功能00直接尋址直接尋址
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《項目驗收培訓(xùn)》課件
- 《EPS保溫箱原料》課件
- 《小數(shù)點移動》課件
- 銅產(chǎn)品市場需求分析
- 二零二五年度盤扣式建筑模板體系研發(fā)與推廣合同
- 臨床專科績效評估與激勵機(jī)制
- 低空空域管理與安全監(jiān)管
- 《誰選擇了它們》課件
- 二零二五年度熱水器品牌授權(quán)經(jīng)營合同協(xié)議書
- 《節(jié)電小專家:2 節(jié)電小貼士》說課稿-2023-2024學(xué)年四年級下冊綜合實踐活動滬科黔科版
- 2024年世界職業(yè)院校技能大賽高職組“市政管線(道)數(shù)字化施工組”賽項考試題庫
- 華為研發(fā)部門績效考核制度及方案
- CSC資助出國博士聯(lián)合培養(yǎng)研修計劃英文-research-plan
- 2025年蛇年年度營銷日歷營銷建議【2025營銷日歷】
- 攝影入門課程-攝影基礎(chǔ)與技巧全面解析
- 司法考試2024年知識點背誦版-民法
- 冀少版小學(xué)二年級下冊音樂教案
- 【龍集鎮(zhèn)稻蝦綜合種養(yǎng)面臨的問題及優(yōu)化建議探析(論文)13000字】
- 25 黃帝的傳說 公開課一等獎創(chuàng)新教案
- 人教版音樂三年級下冊第一單元 朝景 教案
- 《師范硬筆書法教程(第2版)》全套教學(xué)課件
評論
0/150
提交評論