版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、東南大學(xué)計算機學(xué)院,主講教師: 徐造林,計算機系統(tǒng)組成,第4章 指令系統(tǒng), 計算機指令 指令:就是要計算機執(zhí)行某種操作的命令;有微指令、機器指令和宏指令之分。, 計算機能執(zhí)行的機器指令全體稱為該機的指令系統(tǒng) 指令系統(tǒng)是軟件編程的出發(fā)點和硬件設(shè)計的依據(jù),它衡量機器硬件的功能,反映硬件對軟件支持的程度。,4.1 指令系統(tǒng)概述 4.1.1 指令系統(tǒng)簡介, 指令系統(tǒng)主要是為計算機應(yīng)用、編譯程序和操作系統(tǒng)提供支持。, 指令系統(tǒng)中指令的設(shè)計,需要從性能提高和帶來的成本增加兩個方面考慮。,1. 指令系統(tǒng)組成, 兩種類型的指令,(1)非特權(quán)指令:這類指令主要供用戶使用,又可分為功能性指令和非功能性指令兩種。,
2、(2)特權(quán)指令:主要供系統(tǒng)程序員使用,一般不允許用戶使用。其中包括I/O指令、停機等待指令、存儲管理及保護指令、控制系統(tǒng)狀態(tài)指令、診斷指令等。,2. 對指令系統(tǒng)性能的要求, 完備性:指令系統(tǒng)應(yīng)功能齊全,給用戶帶來方便。, 規(guī)整性:指令系統(tǒng)的正交性、均勻性、對稱性。, 兼容性:不同機種之間具有相同的基本結(jié)構(gòu)和共同的基本指令集,目的是給軟件資源的重復(fù)利用帶來方便。, 可擴充性:指令系統(tǒng)中要保留一定的指令字空間,以便在需要時進行指令系統(tǒng)的功能擴充。,4.1.2 指令的格式, 指令一般的格式如下:,2. 地址碼 地址碼指出指令中操作數(shù)所在的存儲器地址或寄存器地址。,1. 操作碼 操作碼指出指令應(yīng)該執(zhí)行
3、什么性質(zhì)的操作和具有何種功能;n位操作碼字段的指令系統(tǒng)最多能夠表示2n條指令。, 按指令包含的地址的個數(shù)可分:, 有兩種可能:一是無需任何操作數(shù),如空操作指令、停機指令等。二是所需的操作數(shù)地址是默認的。, 指令字長度,1. 指令長度應(yīng)為存儲器基本字長的整數(shù)倍,2. 指令字長應(yīng)盡量短 指令短,可減少所需存儲量和加快運行速度,但不能為了使指令短而影響指令系統(tǒng)的完備性和規(guī)整性。, 計算機中CPU能直接處理的二進制的位數(shù)稱為機器字長;, 指令字長度:一個指令字包含的所有二進制代碼的位數(shù)。有等長指令字結(jié)構(gòu)和變長指令字結(jié)構(gòu)。, 指令字長度選取原則, 指令助記符,表4.1 常用指令助記符,4.1.3 指令系
4、統(tǒng)設(shè)計概論, 任務(wù)是確定所有機器指令的格式、類型、操作以及對操作數(shù)的訪問方式。出發(fā)點是提高指令系統(tǒng)的性能/價格比。,1. 指令系統(tǒng)設(shè)計的基本思路, 基本設(shè)計思想: (1)確定計算機系統(tǒng)中的基本操作(包括操作系統(tǒng)和高級語言的)是由硬件實現(xiàn)還是由軟件實現(xiàn);,(2)按照盡量縮短平均碼長、方便譯碼與執(zhí)行的原則,設(shè)計指令字格式。, 功能設(shè)計和指令格式設(shè)計, 基本功能設(shè)計:確定指令系統(tǒng)包含哪些基本操作;, 優(yōu)化功能設(shè)計:從對目標程序、操作系統(tǒng)、高級語言的支持角度,確定哪些常用的、相對復(fù)雜的操作(指令串)可作為指令系統(tǒng)包含的操作(指令);, 指令格式設(shè)計:設(shè)計出平均碼長較短、便于譯碼和執(zhí)行的指令字;, 規(guī)整
5、和優(yōu)化設(shè)計:形成長度規(guī)整的、信息冗余較小的指令字。, 指令所占存儲空間是否盡可能?。槐憩F(xiàn)在指令中代碼密度是否高、信息冗余量是否少;,2. 衡量指令系統(tǒng)性能的指標, 指令代碼對應(yīng)用需求的效率是否高,表現(xiàn)在非特權(quán)指令中功能性指令所占比例是否高、指令中操作數(shù)的訪問范圍滿足應(yīng)用需求的概率是否大、對操作系統(tǒng)和編譯程序的支持程度是否高;, 指令的譯碼速度、執(zhí)行速度是否快。,4. 2 操作數(shù)類型及存儲方式 4.2.1 操作數(shù)類型, 數(shù)值型數(shù)據(jù);字符;地址;邏輯數(shù)據(jù)。, 操作數(shù)類型在指令中的表示, 指令中增加一些二進制位標識;可選擇存儲時標識或處理時標識。, 操作數(shù)的4種類型, 標識方法,(a) 每個操作數(shù)標
6、識,(b) 所有操作數(shù)共一個標識,圖4.1 二地址指令數(shù)據(jù)類型表示方法, 通常將操作碼與數(shù)據(jù)類型標識合并成新的操作碼。,4.2.2 操作數(shù)存儲方式, 操作數(shù)可以存儲在指令、寄存器、堆棧和存儲器中;, 數(shù)據(jù)存儲采用小端存儲方式的處理機有Intel 80 x86/Pentium,DEC VAX,DEC Alpha等。,4.2.3 數(shù)據(jù)對齊方式, 操作數(shù)應(yīng)存儲在存儲器空間陣列的同一行;, 信息按整數(shù)邊界存儲原則:數(shù)據(jù)長度為2n個字節(jié),則該數(shù)據(jù)在存儲器中最小存儲地址的最低n位應(yīng)為0。,圖4.3 數(shù)據(jù)的邊界對齊,4.2.4 堆棧存取方式, 堆棧是一種按特定順序訪問的存儲區(qū);其特點是后進先出(LIFO)或
7、先進后出(FILO)。, 堆棧中存放的最上面數(shù)據(jù)的位置是不停變化的,該位置稱為棧頂;, 存取數(shù)據(jù)只能在棧頂進行,不可中間插入或者從中間將數(shù)據(jù)取出。, 堆棧和其它形式的存儲部件之間的差別: (1)堆棧在數(shù)據(jù)存取時不需要地址,而其它存儲部件在數(shù)據(jù)存取時需要地址;, 堆棧操作只有入棧(push)和出棧(pop)兩種。,(2)堆棧只能按先進后出或后進先出方式存取數(shù)據(jù),而其它存儲部件可以根據(jù)地址隨機存取數(shù)據(jù);,(3)堆棧不可以在同一位置連續(xù)寫入或取出數(shù)據(jù),而其它存儲部件可以。,1. 用移位寄存器實現(xiàn)堆棧, 堆棧的實現(xiàn)方法,圖4.4,2. 內(nèi)存中開辟堆棧區(qū) 選取固定的存儲器單元為堆棧區(qū),存儲器堆棧的具體位
8、置由程序員指定,空間大小由程序員分配;,1)自底向上生成堆棧(滿遞減和空遞減): 建棧時堆棧指針SP指向棧底下面一個單元(棧底是堆棧中地址最大的單元); 入棧操作(PUSH)步驟: i)SP-1SP ii)存入數(shù)據(jù) (SP) 出棧操作(POP)步驟: i)(SP)內(nèi)容讀出 ii)SP+1SP, 建棧時設(shè)置堆棧指針SP,指示棧頂位置。,圖4.5 自底向上堆棧操作示例,2)自頂向下生成堆棧(滿遞增和空遞增) : 堆棧建棧時堆棧指針SP指向棧底上面一個單元(棧底是堆棧中地址最小的單元),, 入棧操作(PUSH)步驟: i) SP+1SP ii) 存入數(shù)據(jù)(SP) 出棧操作(POP)步驟: i)(SP
9、)內(nèi)容讀出 ii) SP-1SP, 兩者指針變化方向不同。,例2 某存儲器堆棧,棧底地址 Bottom=3000H,棧中已壓入兩個數(shù)據(jù)a和b,SP為堆棧指針。 (1)畫出此時堆棧示意圖。 (2)現(xiàn)將數(shù)據(jù) c,d 和 e 按順序壓入堆棧,且用累加器AC 進行數(shù)據(jù)交換,寫出數(shù)據(jù)入棧步驟,畫出數(shù)據(jù)入棧后的堆棧情況。 (3)寫出數(shù)據(jù) e 出棧的操作步驟。, 堆棧操作對臨時保存和恢復(fù)某些數(shù)據(jù)極為簡便。堆棧存取方式對應(yīng)的操作有建棧、入棧和出棧三種,可對應(yīng)指令系統(tǒng)中的三條指令。, 堆棧存取方式在指令中的應(yīng)用,解:(1)堆棧情況如下圖所示,2FFFH,4.3 指令系統(tǒng)功能設(shè)計, 指令集中包含的所有操作功能的集
10、合稱為指令系統(tǒng)的功能集, 操作碼是指令系統(tǒng)功能集中各種功能(操作)的編碼。,4.3.1 功能類型分類,1. 數(shù)據(jù)傳送類指令, 傳送(MOV)指令:實現(xiàn)寄存器與寄存器間、常數(shù)操作數(shù)與寄存器間的數(shù)據(jù)傳送;, 取數(shù)(LOAD或LD)指令:實現(xiàn)存儲器到寄存器的數(shù)據(jù)傳送;, 存數(shù)(STORE或ST)指令:實現(xiàn)常數(shù)操作數(shù)或寄存器到存儲器的數(shù)據(jù)傳送; 數(shù)據(jù)交換(XCHG)指令:實現(xiàn)兩個數(shù)據(jù)之間的交換,可以看成是雙向傳送;, 入棧(PUSH)指令:實現(xiàn)寄存器或存儲器到堆棧的數(shù)據(jù)傳送; 出棧(POP)指令:實現(xiàn)堆棧到寄存器或存儲器的數(shù)據(jù)傳送。, 指令主要包括加(ADD)、減(SUB)、乘(MUL)、除(DIV)
11、指令,求反(NOT)、求補(NEG)指令,算術(shù)移位(SLA、SRA)、算術(shù)比較(COMP)指令等。,2. 算術(shù)運算類指令,為區(qū)分數(shù)據(jù)類型和運算規(guī)則,形成擴展運算,如十進制運算、帶進位運算、雙精度運算等指令。, 指令主要包括邏輯與(AND)、邏輯或(OR)、邏輯異或(XOR)、邏輯非(NOT)、邏輯移位(SLL、SRL)、循環(huán)移位(ROL、ROR、ROLC、RORC)指令。,3. 邏輯運算類指令, 指令主要包括無條件轉(zhuǎn)移(JMP)、條件轉(zhuǎn)移(Jcc)、跳步(SKIP)、轉(zhuǎn)子(CALL)、返主(RET)、循環(huán)(LOOP)指令等。 。,4. 程序控制類指令, 當前指令地址碼給出直接地址或相對于當前指
12、令位置的偏移地址,, 實現(xiàn)CPU與外部設(shè)備間的數(shù)據(jù)交換、傳送控制命令及取得設(shè)備狀態(tài)等功能。,5. 輸入輸出類指令, 這類指令有輸入(IN)和輸出(OUT)兩種指令。, 指令包含字符串轉(zhuǎn)換、字符串傳送、字符串比較、字符串查找、字符串抽取、字符串替換等指令。,6. 字符串類指令, 能夠改變系統(tǒng)的工作狀態(tài)、實現(xiàn)操作系統(tǒng)所需要的特殊功能。大多數(shù)為特權(quán)指令。,7. 系統(tǒng)控制類指令,包括停機(HALT)、開中斷(STI)、關(guān)中斷(CLI)、自陷(Trap,即軟中斷INTn)、系統(tǒng)管理、存儲管理等指令。, 特定功能的專用指令;包含狀態(tài)寄存器置位(STC、CLD等)、暫停(WAIT)、測試(TEST)、空操作
13、(NOP)、中斷返回(IRET)等指令。 。,8. 其它指令,4.3.2 指令系統(tǒng)功能集設(shè)計, 指令系統(tǒng)是計算機軟、硬件主要交界面,直接反映了計算機的性能/價格。, 復(fù)雜指令集計算機CISC(Complex Instruction Set Computer)的提出。, 計算機的硬件成本不斷下降,軟件成本不斷上升;, 強化指令功能,實現(xiàn)軟件功能向硬件功能轉(zhuǎn)移;, 指令系統(tǒng)增加了越來越多功能強大的復(fù)雜命令,以便使機器指令的功能接近高級語言語句的功能。, 指令系統(tǒng)越來越復(fù)雜的出發(fā)點: 使目標程序得到優(yōu)化:把原來要用一段程序才能完成的功能,只用一條指令來實現(xiàn);, 給高級語言提供更好的支持:改進指令系統(tǒng)
14、,設(shè)置一些在語義上接近高級語言語句的指令,就可以減輕編譯的負擔(dān),提高編譯效率;, 提供對操作系統(tǒng)的支持:操作系統(tǒng)日益發(fā)展,其功能也日趨復(fù)雜,要求指令系統(tǒng)提供越來越復(fù)雜的功能。, 龐大的指令系統(tǒng)中,只有算術(shù)邏輯運算、數(shù)據(jù)傳送、轉(zhuǎn)移、子程序調(diào)用等幾十條基本指令才是常使用的,在程序中出現(xiàn)的概率占到80%以上;, 復(fù)雜的指令系統(tǒng)帶來的問題 計算機的結(jié)構(gòu)也越來越復(fù)雜,不僅增加了計算機的研制周期和成本,而且難以保證其正確性,有時還可能降低系統(tǒng)的性能;, 需要大量硬件支持的復(fù)雜指令的利用率卻很低,造成了硬件資源的大量浪費。, 各種高級語言的語義之間有很大差別;不可能設(shè)計出一種能對所有高級語言都能提供很好支持
15、的指令系統(tǒng)。, 精簡指令集計算機RISC(Reduced Instruction Set Computer)的提出。, 指令系統(tǒng)越復(fù)雜,包含的指令越多,編譯時生成目標程序的方法也越多,對最終優(yōu)化編譯造成困難。, 精簡指令系統(tǒng)計算機特點 通過簡化指令使計算機的結(jié)構(gòu)更加簡單合理,從而提高機器的性能。,指令數(shù)目較少,一般都選用使用頻度最高的一些簡單指令;,指令長度固定,指令格式種類少,尋址方式種類少;,大多數(shù)指令可在一個機器周期內(nèi)完成;,通用寄存器數(shù)量多,只有存數(shù)/取數(shù)指令訪問存儲器,而其余指令均在寄存器之間進行操作。, 采用RISC技術(shù) 指令系統(tǒng)可以采用速度較快的硬連線邏輯來實現(xiàn),且更適合于采用指
16、令流水技術(shù),可使指令的執(zhí)行速度進一步提高;, 指令數(shù)量少,固然使編譯工作量加大,但由于指令系統(tǒng)中的指令都是精選的,編譯時間少,反過來對編譯程序的優(yōu)化又是有利的;, CISC和RISC技術(shù)都在發(fā)展,兩者都各有自己的優(yōu)點和缺點。, 結(jié)構(gòu)更適合VLSI、并行處理,更能夠提高計算機的性能;, CISC與RISC之爭論 70年代中期,IBM公司、斯坦福大學(xué)、加州大學(xué)伯克利分校等機構(gòu)分別先后開始對CISC技術(shù)進行研究,其成果分別用于IBM、SUN、MIPS等公司的產(chǎn)品中;, 八十年代中期,RISC技術(shù)蓬勃發(fā)展,先后出現(xiàn)了PowerPC、MIPSR4400、MC88000、Super Spare、Intel
17、0860等高性能RISC芯片以及相應(yīng)的計算機;, RISC也隨著速度、芯片密度的不斷提高,使RISC系統(tǒng)日趨復(fù)雜;, CISC機采用了部分RISC先進技術(shù)(強調(diào)指令流水線、分級Cache 和多設(shè)通用寄存器),其性能更加提高。,4. 4 尋址方式, 指令如何指定操作數(shù)或操作數(shù)地址稱為尋址方式。, 確定指令系統(tǒng)的尋址方式時,須考慮以下幾點: 希望指令內(nèi)所含地址盡可能短; 希望能訪問盡可能大的存儲空間; 尋址方法盡可能簡單;, 操作數(shù)的尋址方式主要解決的是操作數(shù)存放在指令、寄存器和存儲器中的尋址問題。, 在不改變指令的情況下,僅改變地址的實際值,從而能方便地訪問數(shù)組、串、表格等較復(fù)雜數(shù)據(jù)。,4.4.
18、1 常用的尋址方式,1. 立即尋址 操作數(shù)在指令中;Data=A。,圖4.6,2. 直接尋址 指令直接給出操作數(shù)(有效)地址;即EA=A。,3. 存儲器間接尋址 操作數(shù)地址在內(nèi)存中;即EA =(A)。,4. 寄存器(直接)尋址, 寄存器尋址有以下優(yōu)點: CPU寄存器數(shù)量遠小于內(nèi)存單元,所以寄存器號比內(nèi)存地址短,因而寄存器尋址方式指令短; 不用訪存,指令執(zhí)行速度快。, 指令地址碼字段給出存放操作數(shù)的寄存器編號; 即data=(R)。,5寄存器間接尋址 操作數(shù)地址在指令指定的CPU某個寄存器中;EA=(R);如8086指令 MOV AL,BSI,6相對尋址 操作數(shù)地址為程序計數(shù)器PC中的內(nèi)容與位移
19、量A之和,即EA=(PC)+ A。,圖4.11 相對尋址,7基址尋址 把由指令中給出的地址(位移量)與CPU 中的某個基址寄存器相加而得到實際的操作數(shù)地址。,EA=(R)基址+A,圖4.12 基址尋址,8寄存器變址尋址 操作數(shù)地址為變址寄存器中的內(nèi)容與位移量之和;即EA=(R)變址+A。, 變址尋址主要解決程序內(nèi)部的循環(huán)問題;基址尋址則要求基址寄存器的內(nèi)容能提供整個主存范圍的尋址能力;在多道程序運行環(huán)境下,實現(xiàn)程序的再定位。,9隱含尋址方式 指令沒有明顯地給出操作數(shù)地址,而在操作碼中隱含著操作數(shù)地址。如操作數(shù)隱含在累加器,堆棧內(nèi)。,10其它尋址方式 有的計算機指令系統(tǒng)中還有更復(fù)雜的尋址方式,如
20、基址變址尋址、位尋址、塊尋址、串尋址等等。, 在使用機器時,不僅要了解該機總體上有哪些尋址方式,還應(yīng)了解各指令具體有哪些尋址方式。,例. 某計算機有變址尋址、間接尋址和相對尋址等尋址方式,設(shè)當前指令的地址碼部分為001AH,正在執(zhí)行的指令所在的地址為1F05H,變址寄存器中的內(nèi)容為23A0H。請?zhí)畛洌?(1)當執(zhí)行取數(shù)指令時,如為變址尋址方式,則取出的數(shù)為 。,(2)如為間接尋址方式,則取出的數(shù)為 。,(3)當執(zhí)行轉(zhuǎn)移指令時,轉(zhuǎn)移地址為 。,解:(1)變址尋址 當前指令的地址碼為001AH,變址寄存器中的內(nèi)容為23A0H; 操作數(shù)地址為: (23A0H + 001AH)=23BAH; 則取出的
21、數(shù)為1748H。, 已知存儲器的部分地址及相應(yīng)內(nèi)容:,(2)間接尋址:地址碼為操作數(shù)地址; 則取出的數(shù)為2600H 。,(3)正在執(zhí)行的指令所在的地址為1F05H; 當執(zhí)行轉(zhuǎn)移指令時,轉(zhuǎn)移地址為: (IF05H+2+001AH)=1F21H。,例. 某計算機指令格式如下:,圖中X為尋址特征位,且X=0時不變址; X=1時用變址寄存器X1進行變址;X=2時用變址寄存器X2進行變址;X=3時相對尋址。設(shè)(PC)=1234H,(X1)=0037H,(X2)=1122H,請確定下列指令的有效地址。,(1)4420H(2)2244H(3)1322H(4)3521H(5)6723H,1122H+0044H
22、,4.4.2 尋址方式設(shè)計, 尋址方式設(shè)計的主要內(nèi)容:, 指令系統(tǒng)的尋址方式集,是指令系統(tǒng)支持的尋址方式的集合;, 指令系統(tǒng)中每條指令的尋址方式子集,即每條指令支持的尋址方式的集合;, 尋址方式集中每種尋址方式的性能參數(shù)。, 指令系統(tǒng)尋址方式集分為常用的和必須的兩種類型。,1. 指令系統(tǒng)尋址方式集設(shè)計, 頻帶分析法: 對大量應(yīng)用程序中指令的尋址方式進行分析,特別是對復(fù)雜數(shù)據(jù)結(jié)構(gòu)尋址方式的分解,將所有的尋址方式進行分類;, 對分解后的各種尋址方式進行頻率統(tǒng)計,包括每種尋址方式中性能參數(shù)(如立即數(shù)、偏移量范圍等)頻率分布的統(tǒng)計;, 根據(jù)指令系統(tǒng)的風(fēng)格及計算機的性能要求,將使用頻率較高的尋址方式作為
23、指令系統(tǒng)尋址方式集的常用尋址方式。, 解決常用尋址方式設(shè)計中對寄存器、存儲器尋址的遺漏問題。, 選擇使用頻率最高的對寄存器或存儲器尋址(常用尋址方式中所缺的)的一種尋址方式作為必須尋址方式中的尋址方式。,(2)尋址方式集的必須尋址方式設(shè)計, 每條指令的尋址方式子集是那些該指令常用的尋址方式,而不是全部尋址方式;, 設(shè)計目標是為指令系統(tǒng)中每條指令確定它所支持的尋址方式。,2. 指令尋址方式子集設(shè)計,(1)尋址方式子集設(shè)計不存在必須的尋址方式問題, (2)指令系統(tǒng)尋址方式集的設(shè)計是針對所有指令進行的,而指令尋址方式子集設(shè)計是針對某條具體的指令進行的。, 指令尋址方式子集與指令系統(tǒng)尋址方式集的設(shè)計區(qū)
24、別, 性能參數(shù)是指該尋址方式滿足應(yīng)用需求所需要的操作數(shù)或操作數(shù)地址碼位數(shù)。, 寄存器號編碼長度設(shè)計 寄存器號編碼長度為log2N位,其中N為指令系統(tǒng)可用寄存器個數(shù)。,3. 尋址方式性能參數(shù)設(shè)計, 尋址方式中指定專用的寄存器,尋址方式對應(yīng)地址碼中應(yīng)省略該寄存器號編碼。, 指令中存儲器地址用相對于某地址的形式地址表示時,形式地址編碼長度不受存儲器地址長度限制。, 存儲器地址編碼長度設(shè)計 存儲器地址編碼長度為log2M位,其中M為指令系統(tǒng)可用存儲器空間。, 尋址方式中立即數(shù)長度設(shè)計 根據(jù)應(yīng)用需求對尋址方式中立即數(shù)值域的要求,確定立即數(shù)值范圍及位數(shù)范圍;, 采用頻帶分析法,在頻率分布中確定對應(yīng)的立即數(shù)
25、長度(值域)范圍。,4.5 指令字格式設(shè)計, 指令格式設(shè)計所要解決的問題:,(1)指令系統(tǒng)由哪些指令構(gòu)成? (2)每條指令中操作碼表示什么?為什么這樣編碼?,(3)當一條指令的操作數(shù)有多種表示形式時,如何區(qū)分不同的尋址方式? (4)指令字格式如何確定?如何提高指令格式的性能/價格比?,4.5.1 指令系統(tǒng)指令數(shù)目設(shè)計, 指令系統(tǒng)中的指令必須能夠?qū)崿F(xiàn)指令系統(tǒng)功能集中支持的所有操作;, 指令系統(tǒng)功能集中包含多少個操作,指令集中就必須對應(yīng)多少條指令;, 指令系統(tǒng)中指令數(shù)為功能集中操作的數(shù)量加上同一操作對應(yīng)多種數(shù)據(jù)類型所增加出來的指令的數(shù)量。,4.5.2 指令字操作碼編碼設(shè)計, 計算機硬件識別和執(zhí)行指
26、令系統(tǒng)的指令是通過二進制編碼實現(xiàn)的;, 不同操作碼對應(yīng)不同的操作和對不同數(shù)據(jù)類型的相同操作。, 如果指令系統(tǒng)功能集共支持N種操作,應(yīng)滿足關(guān)系式:2n-1N2n。所有操作碼的平均碼長為n位;, 定長操作碼主要用于具有CISC風(fēng)格指令系統(tǒng)的計算機和指令字長較長的計算機。,2. 變長操作碼編碼, 變長操作碼編碼中使用頻率較高的操作碼長度較短,使用頻率較低的操作碼長度較長;, 變長操作碼的平均碼長為, 定長操作碼平均碼長為:log2N 。,4.5.3 指令字尋址方式表示設(shè)計, 設(shè)計的目標是確定操作數(shù)地址的尋址方式用什么方法表示及如何表示。,2. 尋址方式的編碼方法, 該尋址方式編碼必須能夠?qū)θ魏沃噶钸m
27、用,一般采用等長二進制編碼方式。, 這種尋址方式的應(yīng)用范圍較均勻;, 該尋址方式就不必進行統(tǒng)一編碼,只要對具體指令類型進行編碼即可。, 尋址方式在地址碼中表示,4.5.4 指令字格式設(shè)計, 設(shè)計任務(wù)是確定指令系統(tǒng)中各指令的具體組成格式,同時使指令字格式具有較好的性能/價格比。,3)尋址方式表示設(shè)計產(chǎn)生的尋址方式表示方法及編碼; 4)尋址方式設(shè)計產(chǎn)生的各尋址方式性能參數(shù)。,1. 指令字格式設(shè)計, 變長編碼格式, 該編碼格式的指令字有多種長度; 可以有效地減少指令系統(tǒng)中指令字的平均長度,降低目標代碼的長度;, 但會使各指令字長短不一,增加了譯碼器的實現(xiàn)難度和譯碼時間; 各指令執(zhí)行時間懸殊較大,不利
28、于流水和并行處理技術(shù)的應(yīng)用。, 當指令數(shù)量和尋址方式較少時,可以有效地減少指令譯碼的復(fù)雜性和提高譯碼速度;, 定長編碼格式, 但會使各指令字空間的利用率不夠高,增加了目標代碼的長度;, 指令字長度均相同;, 指令操作碼采用變長編碼格式,尋址方式在操作碼中表示;指令系統(tǒng)指令數(shù)量和尋址方式種類較少,多用于RISC計算機。, 指令尋址方式少,執(zhí)行速度較快,很適合流水和并行處理技術(shù)的應(yīng)用;, 混合編碼格式, 指令字長度只有有限的幾種; 通過提供幾種指令字長度,期望兼顧目標代碼長度和降低譯碼復(fù)雜性這兩個目標;, 對流水和并行處理技術(shù)的應(yīng)用方便性一般; 指令操作碼和尋址方式表示與變長編碼方式基本一致,指令
29、數(shù)量和尋址方式種類適中。, IBM 360/370和Intel 80 x86均采用這種編碼方式。,2. 指令字格式優(yōu)化設(shè)計, 優(yōu)化設(shè)計:在不增加指令字長的前提下,盡可能使指令功能增強,冗余空間最少提高代碼密度。,(1)對操作碼進行優(yōu)化 對操作碼的優(yōu)化:當操作碼采用變長編碼方式時,為提高操作碼的規(guī)整性,減少譯碼器譯碼和實現(xiàn)難度而進行的優(yōu)化;, 對定長操作碼:可將相同類型的操作碼集中在一起,減少譯碼成本和提高譯碼速度,或利用指令空閑位作為操作碼擴展。,(2)對地址碼進行優(yōu)化 指令字中地址碼字段性能直接影響整個指令字的功能和性能;, 指令字地址碼優(yōu)化設(shè)計的兩點原則: 1)當?shù)刂反a字段長度富裕時,可增
30、加尋址方式或地址字,以增加指令的功能;, 優(yōu)化思想:對高頻率的指令,盡量縮短其指令長度以提高性能;對低頻率的指令,主要考慮擴展指令功能以提高性能/價格比。,2)當?shù)刂反a字段長度緊張或不夠時,可采用特定的尋址方式,提高指令的性能/價格比;或增加指令字長,擴展指令的功能。,例:已知微機中有AX、BX、CX、DX、BP、SP、SI、DI八個寄存器,BX、BP為基址寄存器,SI、DI為變址寄存器。雙操作數(shù)指令有12條,單操作數(shù)指令有46條,無操作數(shù)指令有6條。規(guī)定雙操作數(shù)指令必須有一個操作數(shù)來自寄存器。請設(shè)計該指令系統(tǒng)。,1)尋址方式設(shè)計,雙操作數(shù)須有寄存器 S/D=0,Ry為源操作數(shù),2)雙操作數(shù)指
31、令,3)單操作數(shù)指令,46條,12條,0 1,1101相對尋址為轉(zhuǎn)移指令,機器語言規(guī)整、簡單,4. 6 指令系統(tǒng)舉例 4.6.1 IBM 370系列機指令格式, RRE、S、SSE型指令的操作碼為16位,其余指令的操作碼均為8位。, 操作碼的第0位和第1位組合: 00RR型指令,01RX型指令,10RRE型、RS型、S型及SI型指令,11SS型和SSE型指令。, RR和RRE型指令都是寄存器-寄存器型指令, RX和RS型指令都是寄存器-存儲器型指令,第一個操作數(shù)和結(jié)果放在R1中,另一個操作數(shù)在主存中。, 采用變址尋址方式,有效地址=(X2)+(B2)+D2,B2為基址寄存器,D2為位移量,x為
32、變址寄存器號。, RS型是三地址指令:R1存放結(jié)果,R2放一個源操作數(shù),另一個源操作數(shù)在主存中; 有效地址=(B2)+D2。, SI型是立即數(shù)指令, S型是單操作數(shù)指令, SS和SSE型指令是可變字長指令,用于字符串的運算和處理,L為串之長度。, SSE指令與SS指令之差別是 SS指令中的L字段(8-15位)擴展成操作碼。,4.6.2Pentium指令系統(tǒng),1. 尋址方式 Pentium指令系統(tǒng)共支持9種尋址方式,2. 指令格式 Pentium采用可變長指令格式,最短的指令只有一個字節(jié),最長的指令可有十幾個字節(jié)。, 前綴:位于指令操作碼前, 前綴不是每條指令必須有的;大部分指令并無前綴,它們使
33、用默認的條件或參數(shù)進行操作。如有的話,各種前綴也都是可選的。, 指定功能前綴:實現(xiàn)指定指令對存儲器是獨占訪問或重復(fù)執(zhí)行功能,本指令按此規(guī)則執(zhí)行;, 包括4種指令:LOCK、REP、REPE和REPNE。, 段前綴字段:實現(xiàn)指定段寄存器的功能;缺省時,當前指令使用的段寄存器與上一條相同 ;, 操作數(shù)長度前綴:實現(xiàn)指定操作數(shù)長度的功能 ;, 在實模式下,操作數(shù)長度默認值是16位;在保護模式下,段描述符D=1時是32位,當D=0時是16位。, 地址長度前綴字段:實現(xiàn)指定地址長度功能;可能是寄存器、指令中的存儲器地址,非形式地址;, Pentium的各種指令前綴編碼必須能夠和指令本身的操作碼編碼區(qū)分開
34、來。, 操作碼字段 : 指定指令的操作,還指明數(shù)據(jù)是字節(jié)還是全字長;指明REG字段指定的寄存器是源還是目標 。, 尋址方式字段 : 由MOD和R/M聯(lián)合指定8種寄存器尋址和24種變址尋址方式,reg/OP指定某個寄存器為操作數(shù)或作為操作碼的擴展用。,基址變址參數(shù)(SIB)字段 : SS指定比例系數(shù)(變址尋址方式時用);Index指定變址寄存器;Base指定基址寄存器。,偏移量參數(shù)(DISP)字段: 指定與存儲器有關(guān)的尋址方式的操作數(shù)偏移量;非基址尋址方式時在指令中出現(xiàn) 。,立即數(shù)參數(shù)(IMME)字段: 主要指定立即尋址方式中的立即操作數(shù)。, Pentium的指令格式比較復(fù)雜 1)必須與8086
35、指令系統(tǒng)兼容; 2)Pentium要實現(xiàn)對地址和數(shù)據(jù)的32位擴展,提高尋址方式靈活性。,3. Pentium物理地址的形成, Pentium的邏輯地址包括段和偏移量,段號經(jīng)過段表直接得到該段的首地址,和有效地址相加形成一維的線性地址。,圖4.16,4.6.3 Power PC指令系統(tǒng), Power PC處理器字長為32位,數(shù)據(jù)字長為32位;, 具有32個32位通用寄存器,支持32位物理地址空間訪問;, 指令系統(tǒng)屬于RISC結(jié)構(gòu),支持6種尋址方式,指令長度只有32位一種,指令格式有4種。,1. 尋址方式,2. 指令格式,4.7 MMX技術(shù), MMX是Intel公司為提高PC機處理多媒體和通信能力
36、而推出的新一代處理器技術(shù),增加8個64位寄存器和57條新指令來實現(xiàn)。,MMX的由來與特點 多媒體應(yīng)用中的圖形、圖像、視頻、音頻的操作中存在大量共同特征的操作:, 短整數(shù)類型的并行操作(如8位圖形象素和16位音頻信號); 頻繁的乘法累加(如FIR濾波,矩陣運算);, 短數(shù)據(jù)的高度循環(huán)運算(如快速傅里葉變換FFT、離散余弦變換DCT); 計算密集型算法(如三維圖形、視頻壓縮); 高度并行操作(如圖像處理)。, MMX技術(shù)與以前的Intel CPU(簡稱IA-Intel Architecture)結(jié)構(gòu)相比,增加的功能。,引進了新的數(shù)據(jù)類型和通用寄存器 MMX技術(shù)的主要數(shù)據(jù)類型為定點緊縮整數(shù),它定義了4種新的64位數(shù)據(jù)類型。,圖4.17,(2) 采用SIMD(Single Instruction Multi Data技術(shù) 單條指令同時并行地處理多個數(shù)據(jù)元素,提高運算速度。例如,一條指令可以完成圖形/圖像中8個象素(每象素8位)的并行操作。,(3) 飽和(Situration)運算 環(huán)繞運算或稱非飽和運算,上溢或下溢的結(jié)果被截取,返回低有效位值,F(xiàn)3H+1DH=10H。, 飽和運算:上溢與下溢結(jié)果被截取至各類數(shù)據(jù)值域的最大值或最小值。如,F(xiàn)3H+1DH=FFH 。,表5.3 MMX飽和運算范圍, 飽和運算的應(yīng)用:設(shè)a點亮度值為F3H,b點亮度值為1DH,
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版品德與社會五年級上冊全冊教案
- 開發(fā)耐低溫材料保障極地工程安全
- 現(xiàn)代工程圖學(xué)習(xí)題集答案-第三版-主編楊裕根第3章
- 高一化學(xué)達標訓(xùn)練:第一單元化學(xué)反應(yīng)速率與反應(yīng)限度
- 2024屆西安市航空六一八中學(xué)高考化學(xué)四模試卷含解析
- 2024高中語文第一單元第2課裝在套子里的人提升訓(xùn)練含解析新人教版必修5
- 2024高考地理一輪復(fù)習(xí)第二章地球上的大氣第三講氣壓帶和風(fēng)帶學(xué)案
- 2024高考化學(xué)一輪復(fù)習(xí)第九章有機化合物第一講甲烷乙烯苯規(guī)范演練含解析新人教版
- 貸款違約調(diào)解協(xié)議書
- 大數(shù)據(jù)時代語言學(xué)
- 中華人民共和國能源法
- 礦山智能化監(jiān)控系統(tǒng)
- 五年級口算題卡每天100題帶答案
- Unit 3 Family Matters Developing Ideas Writing about a Family Memory 教學(xué)設(shè)計-2024-2025學(xué)年高一上學(xué)期英語外研版(2019)必修第一冊
- 工程量清單及招標控制價編制工作方案
- 商業(yè)承兌匯票貼現(xiàn)協(xié)議
- 普工附有答案
- 《烏魯木齊市國土空間總體規(guī)劃(2021-2035年)》
- 2024年中國租賃業(yè)調(diào)查報告-畢馬威-202407
- 中俄東線天然氣管道工程(永清-上海)環(huán)境影響報告書
- 2024年長沙市中考數(shù)學(xué)真題試卷及答案
評論
0/150
提交評論