




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、東南大學計算機學院計算機系統(tǒng)組成主講教師:徐造林第6章指令系統(tǒng) 計算機指令 指令:就是要計算機執(zhí)行某種操作指令和宏指令之分。令;有微指令、 計算機能執(zhí)行的指令全體稱為該機的指令系統(tǒng) 指令系統(tǒng)是軟件編程的出發(fā)點和硬件設計的依據(jù),它衡量程度。硬件的功能,反映硬件對軟件支持的6.1指令系統(tǒng)概述6.1.1 指令系統(tǒng)簡介1. 指令系統(tǒng)主要是為計算機應用、編譯程序和操作系統(tǒng)提供支持。 指令系統(tǒng)中指令的設計,需要從性能提高和帶來的成本增加兩個方面考慮。 兩種類型的指令(1)非指令:這類指令主要供用戶使用,又可分為功能性指令和非功能性指令兩種。(2)指令:主要供系統(tǒng)程序員使用,一般不允許用戶使用。其中包括I/
2、O指令、停機等待指令、管理及保護指令、系統(tǒng)狀態(tài)指令、診斷指令等。2. 完備性:指令系統(tǒng)應功能齊全,給用戶帶來方便。 規(guī)整性:指令系統(tǒng)的正交性、均勻性、對稱性。 兼容性:不同機種之間具有相同的基本結構和共同的基本指令集,目的是給軟件帶來方便。的重復利用 可擴充性:指令系統(tǒng)中要保留一定的指令字空間,以便在需要時進行指令系統(tǒng)的功能擴充。6.1.2指令的格式 指令一般的格式如下:1. 操作碼 操作碼指出指令應該執(zhí)行什么性質的操作和具有何種功能;n位操作碼字段的指令系統(tǒng)最多能夠表示2n條指令。2. 地址碼 地址碼指出指令中操作數(shù)所在的或寄存器地址。器地址操作碼OP地址碼 A 按指令包含的地址的個數(shù)可分:
3、1執(zhí)行(A1)OP(A2)2A3執(zhí)行(A1)OP(A2)A2OPA1A2OPA1A2A33執(zhí)行(A1)OP (AC)4AC 有兩種可能:一是無需任何操作數(shù),如空操作指令、停機指令等。二是所需的操作數(shù)地址是默認的。OPOPA1 指令字長度 計算機中CPU能直接處理的二進制的位數(shù)稱為字長; 指令字長度:一個指令字包含的所有二進制代碼的位數(shù)。有等長指令字結構和變長指令字結構。 指令字長度選取原則1. 2. 指令短,可減少所需量和加快運行速度,但不能為了使指令短而影響指令系統(tǒng)的完備性和規(guī)整性。 指令助記符表6.1 常用指令助記符指令類型指令助記符二進制操作碼加法ADD001減法SUB010傳送MOV0
4、11跳轉JMP100ST101讀數(shù)LD1106.1.3指令系統(tǒng)設計概論1. 任務是確定所有以及對操作數(shù)的指令的格式、類型、操作方式。出發(fā)點是提高指令系統(tǒng)的性能/價格比。 基本設計思想:(1)確定計算機系統(tǒng)中的基本操作(包括操作系 統(tǒng)和高級語言的)是由硬件實現(xiàn)還是由軟件實現(xiàn);(2)按照盡量縮短平均碼長、方便譯碼與執(zhí)行的原則,設計指令字格式。 功能設計和指令格式設計 基本功能設計:確定指令系統(tǒng)包含哪些基本操作; 優(yōu)化功能設計:從對目標程序、操作系統(tǒng)、高級語言的支持角度,確定哪些常用的、相對復雜的操作(指令串)可作為指令系統(tǒng)包含的操作(指令); 指令格式設計:設計出平均碼長較短、便于譯碼和執(zhí)行的指令
5、字; 規(guī)整和優(yōu)化設計:形成長度規(guī)整的、信息冗余較小的指令字。2. 指令所占空間是否盡可能小;表現(xiàn)在指令中代碼密度是否高、信息冗余量是否少; 指令代碼對應用需求的效率是否高,表現(xiàn)在非指令的能性指令所占比例是否高、指令中操作數(shù)范圍滿足應用需求的概率是否大、對操作系統(tǒng)和編譯程序的支持程度是否高; 指令的譯碼速度、執(zhí)行速度是否快。6. 2操作數(shù)類型及方式6.2.1 操作數(shù)類型 操作數(shù)的4種類型 數(shù)值型數(shù)據(jù);字符;地址;邏輯數(shù)據(jù)。 操作數(shù)類型在指令中的表示 指令中增加一些二進制位標識;可選擇識或處理時標識。時標 標識方法(a) 每個操作數(shù)標識(b) 所有操作數(shù)共一個標識圖6.1二地址指令數(shù)據(jù)類型表示方法
6、 通常將操作碼與數(shù)據(jù)類型標識合并成新的操作碼。OPDFA1A2OPDF1A1DF2A26.2.2操作數(shù)方式在指令、寄存器、堆棧和 操作數(shù)可以器中;方式有大端(Big-Endian)和小 數(shù)據(jù)端(Little-Endian)兩種。圖6.2數(shù)據(jù)在采用小端器中的兩種存放方式方式的處理機有Intel 數(shù)據(jù)80x86/Pentium,DEC VAX,DEC Alpha等。6.2.3數(shù)據(jù)對齊方式 操作數(shù)應在器空間陣列的同一行;圖6.3 信息按整數(shù)邊界數(shù)據(jù)的邊界對齊原則:數(shù)據(jù)長度為2n個字節(jié),地址的最低n位應為0。則該數(shù)據(jù)在器中最小6.2.4堆棧存取方式 堆棧是一種按特定順序的區(qū);其特點是后進先出(LIFO
7、)或先進后出(FILO)。 堆棧存取方式 堆棧最底部存放數(shù)據(jù)的位置是固定不變的,該位置稱為棧底; 堆棧中存放的最上面數(shù)據(jù)的位置是不停變化的,該位置稱為棧頂; 存取數(shù)據(jù)只能在棧頂進行,不可中間中間將數(shù)據(jù)取出?;蛘邚?堆棧操作只有入棧(push)和出棧(pop)兩種。 堆棧和其它形式的部件之間的差別:(1)堆棧在數(shù)據(jù)存取時不需要地址,而其它部件在數(shù)據(jù)存取時需要地址;(2)堆棧只能按先進后出或后進先出方式存取數(shù)據(jù),而其它部件可以根據(jù)地址隨機存取數(shù)據(jù);(3)堆棧不可以在同一位置連續(xù)寫入或取出數(shù)據(jù),而其它部件可以。 堆棧的實現(xiàn)方法棧頂棧底空棧:1. 存入a:棧頂棧底存入b:棧頂棧底取出b:棧底棧頂圖圖5
8、6.140棧頂固定方式堆棧及其存取aaba2. 選取固定的器單元為堆棧區(qū),器堆棧的具置由程序員指定,空間大小由程序員分配; 建棧時設置堆棧指針SP,指示棧頂位置。1)自底向上生成堆棧(滿遞減和空遞減): 建棧時堆棧指針SP指向棧底下面一個單元(棧底是堆棧中地址最大的單元); 入棧操作(PUSH)步驟:i)SP-1SPii)存入數(shù)據(jù)(SP) 出棧操作(POP)步驟:i)(SP)內容讀出ii)SP+1SP圖6.5自底向上堆棧操作示例2)自頂向下生成堆棧(滿遞增和空遞增) : 堆棧建棧時堆棧指針SP指向棧底上面一個單元(棧 底是堆棧中地址最小的單元), 入棧操作(PUSH)步驟:i)SP+1SPii
9、) 存入數(shù)據(jù)(SP)i)(SP)內容讀出 出棧操作(POP)步驟:ii)SP-1SP 兩者指針變化方向不同。 堆棧存取方式在指令中的應用 堆棧操作對臨時保存和恢復某些數(shù)據(jù)極為簡便。堆棧存取方式對應的操作有建棧、入棧和出棧三種,可對應指令系統(tǒng)中的三條指令。例2器堆棧,棧底地址 Bottom=3000H,棧某中已壓入兩個數(shù)據(jù)a和b,SP為堆棧指針。(1)畫出此時堆棧示意圖。(2)現(xiàn)將數(shù)據(jù)c,d 和e 按順序壓入堆棧,且用累,寫出數(shù)據(jù)入棧步驟,畫加器AC 進行出數(shù)據(jù)入棧后的堆棧情況。(3)寫出數(shù)據(jù)e 出棧的操作步驟。解:(1)堆棧情況如下圖所示 2FFFH(2)數(shù)據(jù)入棧操作ACAC ACc;SPd;
10、SP e;SPSP-1;(SP)SP-1;(SP)SP-1;(SP)ACAC AC(3)數(shù)據(jù)e 的出棧操作AC SP(SP) SP+16.3指令系統(tǒng)功能設計 指令集中包含的所有操作功能的集合稱為指令系統(tǒng)的功能集 操作碼是指令系統(tǒng)功能集中各種功能(操作)的編碼。6.3.1功能類型分類1. 傳送(MOV)指令:實現(xiàn)寄存器與寄存器間、常數(shù)操作數(shù)與寄存器間的數(shù)據(jù)傳送; 取數(shù)(LOAD或LD)指令:實現(xiàn)器的數(shù)據(jù)傳送;器到寄存存數(shù)(STORE或ST)指令:實現(xiàn)常數(shù)操作數(shù)或寄存器到器的數(shù)據(jù)傳送;(XCHG)指令:實現(xiàn)兩個數(shù)據(jù)之間的交換,可以看成是雙向傳送;入棧(PUSH)指令:實現(xiàn)寄存器或器到堆棧的數(shù)據(jù)傳送
11、; 出棧(POP)指令:實現(xiàn)堆棧到寄存器或器的數(shù)據(jù)傳送。2. 指令主要包括加( A D D ) 、 減( S U B ) 、乘(MUL)、除(DIV)指令,求反(NOT)、求補(NEG)指令,算術移位(SLA、SRA)、 算術比較(COMP)指令等。 為區(qū)分數(shù)據(jù)類型和運算規(guī)則, 形成擴展運算, 如十進制運算、帶進位運算、雙精度運算等指令。3. 指令主要包括邏輯與(AND)、邏輯或(OR)、邏輯異或( XOR)、邏輯非( NOT)、邏輯移位( SLL 、SRL ) 、循環(huán)移位( ROL 、ROR 、ROLC、RORC)指令。4. 指令主要包括無條件轉移( JMP ) 、 條件轉移(Jcc)、跳步
12、(SKIP)、轉子(CALL)、返主(RET)、循環(huán)(LOOP)指令等。 當前指令地址碼給出直接地址或相對于當前指令位置的偏移地址,5. 實現(xiàn)CPU與外部設備間的令及取得設備狀態(tài)等功能。 這類指令有輸入(IN)和輸出(OUT)兩種指令。、傳送命6. 指令包含字符串轉換、字符串傳送、字符串比較、字符串查找、字符串抽取、字符串替換等指令。7. 能夠改變系統(tǒng)的工作狀態(tài)、實現(xiàn)操作系統(tǒng)所需要的特殊功能。大多數(shù)為指令。 包括停機( HA LT ) 、開中斷( STI ) 、關中斷(CLI)、自陷(Trap,即軟中斷INTn)、系統(tǒng)管理、管理等指令。8. 特 定 功 能 的指 令 ; 包 含 狀 態(tài) 寄 存
13、 器 置位( S T C 、 C L D 等) 、 暫停( WA I T ) 、 測試 ( T E S T ) 、 空 操 作 ( N O P ) 、 中 斷 返回(IRET)等指令。6.3.2 指令系統(tǒng)功能集設計 指令系統(tǒng)是計算機軟、硬件主要交界面,直接反 映了計算機的性能/價格。 復雜指令集計算機CISC(Complex Instruction Set Computer)的提出。 計算機的硬件成本不斷下降,軟件成本不斷上升; 強化指令功能,實現(xiàn)軟件功能向硬件功能轉移; 指令系統(tǒng)增加了越來越多功能強大的復雜命令,以便使指令的功能接近高級語言語句的功能。 指令系統(tǒng)越來越復雜的出發(fā)點:使目標程序
14、得到優(yōu)化:把原來要用一段程序才能完成的功能,只用一條指令來實現(xiàn); 給高級語言提供更好的支持:改進指令系統(tǒng),設置一些在語義上接近高級語言語句的指令,就可以減輕編譯的負擔,提高編譯效率; 提供對操作系統(tǒng)的支持:操作系統(tǒng)日益發(fā)展,其功能也日趨復雜,要求指令系統(tǒng)提供越來越復雜的功能。 復雜的指令系統(tǒng)帶來的問題 計算機的結構也越來越復雜,不僅增加了計算機的研制周期和成本,而且難以保證其正確性,有時還 可能降低系統(tǒng)的性能; 龐大的指令系統(tǒng)中,只有算術邏輯運算、數(shù)據(jù)傳送、轉移、子程序調用等幾十條基本指令才是常使用的,在程序中出現(xiàn)的概率占到80%以上; 需要大量硬件支持的復雜指令的利用率卻很低,造成了硬件的大
15、量浪費。 精簡指令集計算機RISC(ReducedInstructionSetComputer)的提出。 各種高級語言的語義之間有很大差別;不可能設計出一種能對所有高級語言都能提供很好支持的指令系統(tǒng)。 指令系統(tǒng)越復雜,包含的指令越多,編譯時生成目標程序的方法也越多,對最終優(yōu)化編譯造成。 精簡指令系統(tǒng)計算機特點 通過簡化指令使計算機的結構更加簡單合理,從而提高的性能。 指令數(shù)目較少,一般都選用使用頻度最高的一些簡單指令; 指令長度固定,指令格式種類少,尋址方式種類少; 大多數(shù)指令可在一個周期內完成; 通用寄存器數(shù)量多,只有存數(shù)/取數(shù)指令,而其余指令均在寄存器之間進行操作。器 采用RISC技術 指
16、令系統(tǒng)可以采用速度較快的硬連線邏輯來實現(xiàn), 且更適合于采用指令流水技術,可使指令的執(zhí)行速度進一步提高; 指令數(shù)量少,固然使編譯工作量加大,但由于指令 系統(tǒng)中的指令都是精選的,編譯時間少,反過來對 編譯程序的優(yōu)化又是有利的; 結構更適合VLSI、并行處理,更能夠提高計算機的性能; CISC和RISC技術都在發(fā)展,兩者都各有點和缺點。的優(yōu) CISC與RISC之爭論 70年代中期,IBM公司、斯坦福大學、加州大學伯 克利分校等機構分別先后開始對CISC技術進行研究,其成果分別用于IBM、SUN、MIPS等公司的產 八十年代中期,RISC技術蓬勃發(fā)展,先后出現(xiàn)了PowerPC、MIPSR4400、MC
17、88000、Super Spare品中;、Intel0860等高性能RISC以及相應的計算機; RISC也隨著速度、系統(tǒng)日趨復雜;密度的不斷提高,使RISC CISC機采用了部分RISC先進技術(強調指令流水線、分級Cache 和多設通用寄存器),其性能更加提高。6. 4尋址方式 指令如何指定操作數(shù)或操作數(shù)地址稱為尋址方式。 操作數(shù)的尋址方式主要解決的是操作數(shù)存放在指令、寄存器和器中的尋址問題。 確定指令系統(tǒng)的尋址方式時,須考慮以下幾點: 希望指令內所含地址盡可能短; 希望能盡可能大的空間; 尋址方法盡可能簡單; 在不改變指令的情況下,僅改變地址的實際值,從而能方便地數(shù)組、串、表格等較復雜數(shù)據(jù)
18、。 設指令格式:OP尋址特征MOD形式地址D6.4.1 常用的尋址方式1. 操作數(shù)在指令中;Data=A。指令(a) 8位立即數(shù)(b) 16位立即數(shù) 圖圖56.61按字節(jié)編址中的立即尋址指令器地址器內容n操作碼n+1立即數(shù)低8位n+2立即數(shù)高8位n+3下條指令器地址器內容n操作碼n+18位立即數(shù)n+2下條指令OPF1A2. 指令直接給出操作數(shù)(有效)地址;即EA=A。指令器圖6.7直接尋址操作數(shù)OPF2A3. 操作數(shù)地址在內存中;即EA =(A)。指令器圖6.8間接尋址A(EA)操作數(shù)OPF3A4. 指令寄存器 指令地址碼字段給出存放操作數(shù)的寄存器編號;即data=(R)。圖6.9寄存器尋址
19、寄存器尋址有以下優(yōu)點: CPU寄存器數(shù)量遠小于內存單元,所以寄存器號比內存地址短,因而寄存器尋址方式指令短;不用訪存,指令執(zhí)行速度快。操作數(shù)OPF4R5 操作數(shù)地址在指令指定的CPU某個寄存器中;EA=(R);如8086指令MOV AL,BSI指令寄存器器圖6.10寄存器間接尋址操作數(shù)A(EA)OPF5R6 操作數(shù)地址為程序計數(shù)器PC中的內容與位移量A之和,即EA=(PC)+ A。圖6.11相對尋址 7 把由指令中給出的地址(位移量)與CPU 中的某個基址寄存器相加而得到實際的操作數(shù)地址。EA=(R)基址+A圖6.12基址尋址 8 操作數(shù)地址為變址寄存器中的內容與位移量之和;即EA=(R)變址
20、+A。EA+8086指令MOV AL,S形式地址0H圖圖6.51.34 變址尋址選擇數(shù)組數(shù)據(jù) 變址尋址主要解決程序內部的循環(huán)問題;基址尋址則要求基址寄存器的內容能提供整個主存范圍的尋址能力;在多道程序運行環(huán)境下,實現(xiàn)程序的再定位。OOP P寄F存8器號R形式A地址data ndata 2data 1SI9 指令沒有明顯地給出操作數(shù)地址,而在操作碼中隱含著操作數(shù)地址。如操作數(shù)隱含在累加器,堆棧內。10 有的計算機指令系統(tǒng)中還有更復雜的尋址方式,如基址變址尋址、位尋址、塊尋址、串尋址等等。 在使用時,不僅要了解該機總體上有哪些尋址方式,還應了解各指令具體有哪些尋址方式。例. 某計算機有變址尋址、間
21、接尋址和相對尋址等尋址方式,設當前指令的地址碼部分為001AH,正在執(zhí)行的指令所在的地址為1F05H,變址寄存器中的內容為23A0H。請?zhí)畛洌海?) 當執(zhí)行取數(shù)指令時,如為變址尋址 方式,則取出的數(shù)(2) 為如為間接尋址。方式,則取出的數(shù)(3)為當執(zhí)行轉移指。令時,轉移地址為。地址內容001AH23A0H1F05H241AHIFIFH2500H23A0H2600H23BAH1748H 已知器的部分地址及相應內容:解:(1)變址尋址 當前指令的地址碼為001AH,變址寄存器中的內容為23A0H; 操作數(shù)地址為:(23A0H + 001AH)=23BAH; 則取出的數(shù)為1748H。(2) 間接尋址
22、:地址碼為操作數(shù)地址; 則取出的數(shù)為2600H 。(3) 正在執(zhí)行的指令所在的地址為1F05H; 當執(zhí)行轉移指令時,轉移地址為:(IF05H+2+001AH)=1F21H。地址內容001AH23A0H1F05H241AHIFIFH2500H23A0H2600H23BAH1748H例. 某計算機指令格式如下:151098 70圖中X為尋址特征位,且X=0時不變址;X=1時用變址寄存器X1進行變址;X=2時用變址寄存器X2進行變址;X=3時 相對尋址。設(PC)=1234H,(X1)=0037H,(X2)=1122H,請確定下列指令的有效地址。(1)4420H(2)1122H(3)1322H(4)
23、3521H(5)6723HHOPXD6.4.2 尋址方式設計 尋址方式設計的主要內容: 指令系統(tǒng)的尋址方式集,是指令系統(tǒng)支持的尋址方式的集合; 指令系統(tǒng)中每條指令的尋址方式子集,即每條指令支持的尋址方式的集合; 尋址方式集中每種尋址方式的性能參數(shù)。1. 指令系統(tǒng)尋址方式集分為常用的和必須的兩種類型。(1)尋址方式集的常用尋址方式設計 根據(jù)指令系統(tǒng)風格(CISC和RISC)和各種尋址方式的使用頻率,選擇使用頻率較高的尋址方式作為指令系統(tǒng)尋址方式集的常用尋址方式。 頻帶分析法: 對大量應用程序中指令的尋址方式進行分析,特別是對復雜數(shù)據(jù)結構尋址方式的分解,將所有的尋址方式進行分類; 對分解后的各種尋
24、址方式進行頻率統(tǒng)計,包括每種尋址方式中性能參數(shù)(如立即數(shù)、偏移量范圍等)頻率分布的統(tǒng)計; 根據(jù)指令系統(tǒng)的風格及計算機的性能要求,將使用頻率較高的尋址方式作為指令系統(tǒng)尋址方式集的常用尋址方式。(2)尋址方式集的必須尋址方式設計 解決常用尋址方式設計中對寄存器、的遺漏問題。器尋址 選擇使用頻率最高的對寄存器或器尋址(常用尋址方式中所缺的)的一種尋址方式作為必須尋址方式中的尋址方式。2. 每條指令的尋址方式子集是那些該指令常用的尋址方式,而不是全部尋址方式; 設計目標是為指令系統(tǒng)中每條指令確定它所支持的尋址方式。 指令尋址方式子集與指令系統(tǒng)尋址方式集的設計區(qū)別(1)尋址方式子集設計不存在必須的尋址方
25、式問題,(2)指令系統(tǒng)尋址方式集的設計是行的, 而指令尋址方式子集設計是體的指令進行的。所有指令進某條具3. 性能參數(shù)是指該尋址方式滿足應用需求所需要的操作數(shù)或操作數(shù)地址碼位數(shù)。 寄存器號編碼長度設計 寄存器號編碼長度為log2N位,其中N為指令系統(tǒng)可用寄存器個數(shù)。 尋址方式中指定的寄存器,尋址方式對應地址碼中應省略該寄存器號編碼。器地址編碼長度設計器地址編碼長度為log2M位,其中M為指令系統(tǒng)可用器空間。器地址用相對于某地址的形式地址表 指令中示時,形式地址編碼長度不受器地址長度限制。 尋址方式中立即數(shù)長度設計 根據(jù)應用需求對尋址方式中立即數(shù)值域的要求,確定立即數(shù)值范圍及位數(shù)范圍; 采用頻帶
26、分析法,在頻率分布中確定對應的立即數(shù)長度(值域)范圍。6.5指令字格式設計 指令格式設計所要解決的問題:(1)指令系統(tǒng)由哪些指令?(2)每條指令中操作碼表示什么?為什么這樣編碼?(3) 當一條指令的操作數(shù)有多種表示形式時,如何區(qū)分不同的尋址方式?(4) 指令字格式如何確定?如何提高指令格式的性能/價格比?6.5.1指令系統(tǒng)指令數(shù)目設計 指令系統(tǒng)中的指令必須能夠實現(xiàn)指令系統(tǒng)功能集中支持的所有操作; 指令系統(tǒng)功能集中包含多少個操作,指令集中就必須對應多少條指令; 指令系統(tǒng)中指令數(shù)為功能集中操作的數(shù)量加上同一操作對應多種數(shù)據(jù)類型所增加出來的指令的數(shù)量。6.5.2指令字操作碼編碼設計 計算機硬件識別和
27、執(zhí)行指令系統(tǒng)的指令是通過二進制編碼實現(xiàn)的; 不同操作碼對應不同的操作和對不同數(shù)據(jù)類型的相同操作。1. 定長操作碼編碼中所有操作碼的長度固定; 如果指令系統(tǒng)功能集共支持N種操作,應滿足關系式:2n-1N2n。所有操作碼的平均碼長為n位; 定長操作碼主要用于具有CISC風格指令系統(tǒng)的計算機和指令字長較長的計算機。2. 變長操作碼編碼中使用頻率較高的操作碼長度較短,使用頻率較低的操作碼長度較長;Nlavg= Pi li 變長操作碼的平均碼長為i=1 定長操作碼平均碼長為:log2N 。6.5.3指令字尋址方式表示設計 設計的目標是確定操作數(shù)地址的尋址方式用什么方法表示及如何表示。1. 1) 將尋址方
28、式標志編碼于操作碼中;2) 在地址碼字段為每個操作數(shù)設置一個地址描述符,由該地址描述符表示該操作數(shù)的尋址方式。(a) 在操作碼中表示尋址方式(b) 在地址碼中表示尋址方式圖6.14尋址方式的兩種表示形式OPF1A1FnAnOPFA1An2. 尋址方式在地址碼中表示 這種尋址方式的應用范圍較均勻; 該尋址方式編碼必須能夠對任何指令適用,一般采用等長二進制編碼方式。 尋址方式在操作碼中表示 這種尋址方式的應用范圍不均勻,某種類型的指令只支持12種尋址方式; 該尋址方式就不必進行統(tǒng)一編碼,只要對具體指令類型進行編碼即可。6.5.4指令字格式設計 設計任務是確定指令系統(tǒng)中各指令的具體組成格式,同時使指
29、令字格式具有較好的性能/價格比。 指令字格式設計的四個條件:1) 操作碼編碼設計產生的各指令的操作碼;2) 功能集設計產生的每條指令的操作數(shù)個數(shù);3) 尋址方式表示設計產生的尋址方式表示方法及編碼;4) 尋址方式設計產生的各尋址方式性能參數(shù)。1. 變長編碼格式 該編碼格式的指令字有多種長度; 可以有效地減少指令系統(tǒng)中指令字的平均長度,降低目標代碼的長度; 但會使各指令字長短不一,增加了譯碼器的實現(xiàn)難度和譯碼時間; 各指令執(zhí)行時間懸殊較大,不利于流水和并行處理技術的應用。 定長編碼格式 指令字長度均相同; 當指令數(shù)量和尋址方式較少時,可以有效地減少指令譯碼的復雜性和提高譯碼速度; 指令尋址方式少
30、,執(zhí)行速度較快,很適合流水和并行處理技術的應用; 但會使各指令字空間的利用率不夠高,增加了目標代碼的長度; 指令操作碼采用變長編碼格式,尋址方式在操作碼中表示;指令系統(tǒng)指令數(shù)量和尋址方式種類較少,多用于RISC計算機。 混合編碼格式 指令字長度只有有限的幾種; 通過提供幾種指令字長度,期望兼顧目標代碼長度和降低譯碼復雜性這兩個目標; 對流水和并行處理技術的應用方便性一般; 指令操作碼和尋址方式表示與變長編碼方式基本一致,指令數(shù)量和尋址方式種類適中。 IBM 360/370和Intel 80x86均采用這種編碼方式。2. 優(yōu)化設計:在不增加指令字長的前提下,盡可能使指令功能增強, 冗余空間最少提
31、高代碼密度。(1)對操作碼進行優(yōu)化 對操作碼的優(yōu)化:當操作碼采用變長編碼方式時,為提高操作碼的規(guī)整性,減少譯碼器譯碼和實現(xiàn)難度而進行的優(yōu)化; 對定長操作碼: 可將相同類型的操作碼集中在一起,減少譯碼成本和提高譯碼速度,或利用指令空閑位作為操作碼擴展。(2)對地址碼進行優(yōu)化 指令字中地址碼字段性能直接影響整個指令字的功能和性能; 優(yōu)化思想:對高頻率的指令,盡量縮短其指令長度 以提高性能; 對低頻率的指令, 主要考慮擴展指令功能以提高性能/價格比。 指令字地址碼優(yōu)化設計的兩點原則:1) 當?shù)刂反a字段長度富裕時,可增加尋址方式或地址字,以增加指令的功能;2) 當?shù)刂反a字段長度緊張或不夠時,可采用特定
32、的尋址方式,提高指令的性能/價格比;或增加指令字長,擴展指令的功能。例:已知微機中有AX、BX、CX、DX、BP、SP、SI、DI八個寄存器,BX、BP為基址寄存器,SI、DI為變址寄存器。雙操作數(shù)指令有12條, 單操作數(shù)指令有46條,無操作數(shù)指令有6條。規(guī)定雙操作數(shù)指令必須有一個操作數(shù)來自寄存器。 請設計該指令系統(tǒng)。1)尋址方式設計雙操作數(shù)須有寄存器S/D=0,Ry為源操作數(shù)2)雙操作數(shù)指令12條01語言規(guī)整、簡單3)單操作數(shù)指令46條1101相對尋址為轉移指令4)無操作數(shù)指令6條6. 6指令系統(tǒng)舉例6.6.1 IBM 370系列機指令格式 RRE、S、SSE型指令的操作碼為16位,其余指令
33、的操作碼均為8位。 操作碼的第0位和第1位組合: 00RR型指令,01RX型指令,10RRE型、R S型、S型及SI型指令,11SS型和SSE型指令。 RR和RRE型指令都是寄存器-寄存器型指令 RX和RS型指令都是寄存器-器型指令,第一個操作數(shù)和結果放在R1中,另一個操作數(shù)在主存中。 采用變址尋址方式,有效地址=(X2)+(B2)+D2,B2為基址寄存器,D2為位移量,x為變址寄存器號。 RS型是三地址指令:R1存放結果,R2放一個源操作數(shù),另一個源操作數(shù)在主存中;有效地址=(B2)+D2。 SI型是立即數(shù)指令 S型是單操作數(shù)指令 SS和SSE型指令是可變字長指令,用于字符串的運算和處理,L
34、為串之長度。 SSE指令與SS指令之差別是段(8-15位)擴展成操作碼。SS指令中的L字6.6.2Pentium指令系統(tǒng)1. Pentium指令系統(tǒng)共支持9種尋址方式序號尋址方式名稱線性地址LA算法說明1立即尋址操作數(shù)在指令中給出2寄存器尋址操作數(shù)為指定寄存器的內容3偏移尋址LA=(SR)+A對應直接尋址4基址尋址LA=(SR)+(B)對應寄存器間接尋址5基址+偏移尋址LA=(SR)+(B)+A對應基址尋址6比例變址+偏移尋址LA=(SR)+(I)S+AS為1時對應變址尋址7基址+變址+偏移尋址LA=(SR)+(B)+(I)+A對應基址+變址尋址8基址+比例變址+偏移尋址LA=(SR)+(B)
35、+(I)S +A9相對尋址LA=(PC)+APC為程序計數(shù)器或指令指針2. Pentium采用可變長指令格式,最短的指令只有一個字節(jié),最長的指令可有十幾個字節(jié)。 前綴:位于指令操作碼前前綴類型:字節(jié)數(shù): 前綴不是每條指令必須有的;大部分指令并無前綴,它們使用默認的條件或參數(shù)進行操作。,各種前綴也都是可選的。的話指令前綴段前綴操作數(shù)長度地址長度0或10或10或10或1 指定功能前綴:實現(xiàn)指定指令對器是獨占或重復執(zhí)行功能,本指令按此規(guī)則執(zhí)行; 包括4種指令:LOCK、REP、REPE和REPNE。 段前綴字段:實現(xiàn)指定段寄存器的功能;缺省時,當前指令使用的段寄存器與上一條相同; 操作數(shù)長度前綴:實
36、現(xiàn)指定操作數(shù)長度的功能; 在實模式下,操作數(shù)長度默認值是16位;在保護模式下,段描述符D=1時是32位,當D=0時是16位。 地址長度前綴字段:實現(xiàn)指定地址長度功能;可能是寄存器、指令中的器地址,非形式地址; Pentium的各種指令前綴編碼必須能夠和指令本身的操作碼編碼區(qū)來。 指令本身,各部分的長度和含義:指令段字節(jié)數(shù)7654321076543210圖圖56.1154Pentium指令格式SSIndexBaseModReg/OPR/M: 操作碼尋址方式SIB位移直接數(shù)據(jù):1或20或10或11、2、4立即數(shù)指令段字節(jié)數(shù)7654321076543210 尋址方式字段 : 由MOD和R/M指定8種
37、寄存器尋址和24種變址尋址方式,reg/OP指定某個寄存器為操作數(shù)或作為操作碼的擴展用?;纷冎穮?shù)(SIB)字段 : SS指定比例系數(shù)(變址尋址方式時用);Index指定變址寄存器;Base指定基 址寄存器。 操作碼字段 : 指定指令的操作,還指明數(shù)據(jù)圖是5字.1節(jié)4還是P全en字ti長u;m指指明令R格EG式字段指定的寄存器是源還是目標 。SSIndexBaseModReg/OPR/M: 操作碼尋址方式SIB位移直接數(shù)據(jù):1或20或10或11、2、4立即數(shù)偏移量參數(shù)(DISP)字段: 指定與器有關的尋址方式的操作數(shù)偏移量;非基址尋址方式時在指令中出現(xiàn)立即數(shù)參數(shù)(IMME)字段:。 主要指定
38、立即尋址方式中的立即操作數(shù)。 Pentium的指令格式比較復雜1)必須與8086指令系統(tǒng)兼容;2)Pentium要實現(xiàn)對地址和數(shù)據(jù)的32位擴展,提高尋址方式靈活性。3. Pentium Pentium的邏輯地址包括段和偏移量,段號經(jīng)過段表直接得到該段的首地址,和有效地址相加形成一 維的線性地址。邏輯地址線性地址段偏移目錄頁號位移物理地址.段表頁目錄表頁表圖圖65.1.165Pentium物理地址的形成.6.6.3Power PC指令系統(tǒng) Power PC處理器字長為32位,數(shù)據(jù)字長為32位; 具有32個32位通用寄存器,支持32位物理地址空間; 指令系統(tǒng)屬于RISC結構,支持6種尋址方式,指令
39、長度只有32位一種,指令格式有4種。1. 序號尋址方式名稱線性地址LA算法應用指令類型說明1立即尋址定點指令操作數(shù)在指令中給出2寄存器尋址定點、浮點指令操作數(shù)為指定寄存器的內容3絕對尋址LA=(SR)+A轉移指令對應直接尋址4間接尋址LA=(SR)+(B)+A裝入、轉移指令對應基址尋址5間接變址尋址LA=(SR)+(B)+(I)裝入指令對應基址變址尋址6相對尋址LA=(PC)+A轉移指令PC為程序計數(shù)器2. 6位02位5位5位5位5位45位立即數(shù)型寄存器型轉 移 型OPER操作碼,RD目標寄存器號,RS源寄存器號,DISP偏移量或立即數(shù)FUNC功能碼或操作碼擴展,R狀態(tài)寄存器條件,F(xiàn)尋址方式或
40、操作碼擴展OPTION轉移方法,CR轉移條件,SHAMT移位量OPERRD/OPTIONRS/CRDISPR/FOPERRD/RSRS/RDRS/SHAMTFUNC/MOVLROPERRDRSRSRSFUNCROPERDISPF6.7MMX技術 MMX是Intel公司為提高PC機處理多和通信能力而推出的新一代處理器技術,增加8個64位寄存器和57條新指令來實現(xiàn)。1. MMX多應用中的圖形、圖像、音頻的操作中存在大量共同特征的操作: 短整數(shù)類型的并行操作(如8位圖形象素和16位音頻信號); 頻繁的乘法累加(如FIR濾波,矩陣運算); 短數(shù)據(jù)的高度循環(huán)運算(如快速傅里葉變換FFT、離散余弦變換DC
41、T); 計算密集型算法(如三維圖形、 高度并行操作(如圖像處理)。壓縮); MMX技術與以前的Intel CPU(簡稱IA-IntelArchitecture)結構相比,增加的功能。(1) 引進了新的數(shù)據(jù)類型和通用寄存器 MMX技術的主要數(shù)據(jù)類型為定點緊縮整數(shù),它定 義了4種新的64位數(shù)據(jù)類型。6356 554839323124 23緊縮字節(jié)473231緊縮字32310緊縮雙字6304字圖圖56.1177 MMX技術引入的數(shù)據(jù)類型(2) 采用SIMD(Single Instruction Multi Data技術 單條指令同時并行地處理多個數(shù)據(jù)元素,提高運算速度。例如,一條指令可以完成圖形/圖像中8 個象素(每象素8位)的并行操作。(3) 飽和(Situration)運算 環(huán)繞運算或稱非飽和運算,上溢或下溢的結果被截取,返回低有效位值,F(xiàn)3H+1DH=10H。 飽和運算:上溢與下溢結果被截取至各類數(shù)據(jù)值域的最大值或最小
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年EMI屏蔽材料合作協(xié)議書
- 2025年廢舊材料回收加工合作協(xié)議書
- 2025年石墨及炭素制品合作協(xié)議書
- 2025年正電子發(fā)射體層成像裝置(PET)合作協(xié)議書
- 2025年HCA衛(wèi)生紙起皺粘合劑項目發(fā)展計劃
- 農村信息技術服務協(xié)議規(guī)范
- 生態(tài)養(yǎng)殖場建設運營與安全管理責任協(xié)議
- 汽車租賃公司共享服務平臺協(xié)議
- 2025年行政管理考點重點及試題答案
- 智慧農業(yè)軟件開發(fā)服務合同
- 血液凈化標準操作規(guī)程 2021 版
- 保護患者隱私權醫(yī)療AI技術的倫理要求與實踐
- 權益配置與代理關系的成本效益分析
- 空地或鋪面出租合同協(xié)議
- 2025年全國保密教育線上培訓考試試題庫及答案【網(wǎng)校專用】含答案詳解
- 華為管理面試題及答案
- 2024年廣州醫(yī)科大學校本部招聘工作人員筆試真題
- 初中2年級家長會課件
- 2025餐飲轉讓合同協(xié)議書 餐飲轉讓合同協(xié)議書范本
- 2024-2025學年統(tǒng)編版小學道德與法治三年級下冊期中考試測試卷附答案
- 智能垃圾桶設計方案資料
評論
0/150
提交評論