




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第5章章 指令系統(tǒng)指令系統(tǒng) 本章學(xué)習(xí)導(dǎo)讀:(1)指令的格式、尋址方式和功能分類。(2)RISC與CISC指令以及適于多媒體應(yīng)用的MMX指令。(3)典型計(jì)算機(jī)的指令系統(tǒng)。 計(jì)算機(jī)的指令有微指令、機(jī)器指令和宏指令之分。計(jì)算機(jī)的指令有微指令、機(jī)器指令和宏指令之分。 微指令是微程序級(jí)的命令,屬于硬件;微指令是微程序級(jí)的命令,屬于硬件; 宏指令是由若干機(jī)器指令組成,屬于軟件;宏指令是由若干機(jī)器指令組成,屬于軟件; 機(jī)器指令介于二者之間,因而是硬件和軟件的界面。機(jī)器指令介于二者之間,因而是硬件和軟件的界面。 一臺(tái)計(jì)算機(jī)能執(zhí)行的機(jī)器指令全體稱為該機(jī)的指令系一臺(tái)計(jì)算機(jī)能執(zhí)行的機(jī)器指令全體稱為該機(jī)的指令系統(tǒng)。
2、統(tǒng)。 指令系統(tǒng)是軟件編程的出發(fā)點(diǎn)和硬件設(shè)計(jì)的依據(jù),它指令系統(tǒng)是軟件編程的出發(fā)點(diǎn)和硬件設(shè)計(jì)的依據(jù),它衡量機(jī)器硬件的功能,反映硬件對(duì)軟件支持的程度。衡量機(jī)器硬件的功能,反映硬件對(duì)軟件支持的程度。5.1 指令格式指令格式 5.1.1 指令的格式指令的格式 指令一般的格式如下:指令一般的格式如下: 操作碼 OP 地址碼 D 按指令包含的地址的個(gè)數(shù)可分:按指令包含的地址的個(gè)數(shù)可分: 1、三地址指令、三地址指令 OPD1D2D3執(zhí)行(執(zhí)行(D1)OP(D2) D3 OPD1D2執(zhí)行(執(zhí)行(D1)OP(D2) D2 2、二地址指令、二地址指令3單地址指令單地址指令 OPD執(zhí)行(執(zhí)行(D)OP (A) A 4
3、、零地址指令、零地址指令 空操作、停機(jī)等不需要地址的指令空操作、停機(jī)等不需要地址的指令5.1.2 指令長(zhǎng)度指令長(zhǎng)度 指令指令長(zhǎng)度長(zhǎng)度選取選取原則:原則: 1. 指令長(zhǎng)度應(yīng)為存儲(chǔ)器基本字長(zhǎng)的整數(shù)倍指令長(zhǎng)度應(yīng)為存儲(chǔ)器基本字長(zhǎng)的整數(shù)倍2. 指令字長(zhǎng)應(yīng)盡量短指令字長(zhǎng)應(yīng)盡量短 指令短,可減少所需存儲(chǔ)量和加快運(yùn)行速度,但不能指令短,可減少所需存儲(chǔ)量和加快運(yùn)行速度,但不能為了使指令短而影響指令系統(tǒng)的完備性和規(guī)整性。為了使指令短而影響指令系統(tǒng)的完備性和規(guī)整性。5. 2 尋址方式尋址方式 指令如何指定操作數(shù)或操作數(shù)地址稱為尋址方式。指令如何指定操作數(shù)或操作數(shù)地址稱為尋址方式。 確定指令系統(tǒng)的尋址方式時(shí),須考慮以
4、下幾點(diǎn):確定指令系統(tǒng)的尋址方式時(shí),須考慮以下幾點(diǎn): 希望指令內(nèi)所含地址盡可能短;希望指令內(nèi)所含地址盡可能短; 希望能訪問盡可能大的存儲(chǔ)空間;希望能訪問盡可能大的存儲(chǔ)空間; 尋址方法盡可能簡(jiǎn)單;尋址方法盡可能簡(jiǎn)單; 在不改變指令的情況下,僅改變地址的實(shí)際值,從而在不改變指令的情況下,僅改變地址的實(shí)際值,從而能方便地訪問數(shù)組、串、表格等較復(fù)雜數(shù)據(jù)。能方便地訪問數(shù)組、串、表格等較復(fù)雜數(shù)據(jù)。 常用的尋址方式常用的尋址方式1. 立即尋址立即尋址 指令直接給出操作數(shù)本身,稱立即數(shù)尋址方式。指令直接給出操作數(shù)本身,稱立即數(shù)尋址方式。 OP操作數(shù)格式如下:操作碼存儲(chǔ)器地址 存儲(chǔ)器內(nèi)容8位立即數(shù)n+1操作碼n下
5、條指令n+2存儲(chǔ)器地址存儲(chǔ)器內(nèi)容n+2n+1n立即數(shù)高8位立即數(shù)低8位n+3下條指令(a) 8位立即數(shù)(b) 16位立即數(shù)圖5.1 按字節(jié)編址機(jī)器中的立即尋址指令2. 直接尋址直接尋址 指令直接給出操作數(shù)地址指令直接給出操作數(shù)地址 OP操作數(shù)地址格式如下:操作碼存儲(chǔ)器地址存儲(chǔ)器內(nèi)容n+2n+1n 操作數(shù)地址高8位 操作數(shù)地址低8位n+3下條指令圖5.2 按字節(jié)編址機(jī)器中的直接尋址指令3. 間接尋址間接尋址 指令給出存放操作數(shù)地址的存儲(chǔ)單元地址。指令給出存放操作數(shù)地址的存儲(chǔ)單元地址。 OP 間接地址格式如下:OP操作數(shù)有效地址主存 間接地址圖5.3 單級(jí)間接尋址4. 寄存器寄存器(直接直接)尋址
6、尋址 操作數(shù)在指令指定的操作數(shù)在指令指定的CPU的某個(gè)寄存器中。的某個(gè)寄存器中。OP寄存器號(hào)或OP寄存器號(hào)1寄存器號(hào)2 寄存器尋址有以下優(yōu)點(diǎn):寄存器尋址有以下優(yōu)點(diǎn): CPU寄存器數(shù)量遠(yuǎn)小于內(nèi)存單元,所以寄存器號(hào)比寄存器數(shù)量遠(yuǎn)小于內(nèi)存單元,所以寄存器號(hào)比內(nèi)存地址短,因而寄存器尋址方式指令短;內(nèi)存地址短,因而寄存器尋址方式指令短; 操作數(shù)已在操作數(shù)已在CPU中中,不用訪存,指令執(zhí)行速度快。不用訪存,指令執(zhí)行速度快。5寄存器間接尋址寄存器間接尋址 操作數(shù)地址在指令指定的操作數(shù)地址在指令指定的CPU某個(gè)寄存器中。某個(gè)寄存器中。 8086指令指令 MOV AX,BX 6寄存器變址寄存器變址 尋址尋址指令
7、指定一個(gè)指令指定一個(gè)CPU寄存器(稱為變址寄存器)和寄存器(稱為變址寄存器)和一個(gè)形式地址,操作數(shù)地址是二者之和。一個(gè)形式地址,操作數(shù)地址是二者之和。 data ndata 1data 2SI形式地址+圖5.4 變址尋址選擇數(shù)組數(shù)據(jù)OP寄存器號(hào)形式地址8086指令指令MOV AL,SI+1000H 7相對(duì)尋址相對(duì)尋址 相對(duì)尋址是把程序計(jì)數(shù)器相對(duì)尋址是把程序計(jì)數(shù)器PC的內(nèi)容,加上由指令給出的內(nèi)容,加上由指令給出的形式地址而形成操作數(shù)地址。的形式地址而形成操作數(shù)地址。8基址尋址基址尋址 把由指令中給出的地址把由指令中給出的地址(或稱位移量或稱位移量)與與CPU 中的某個(gè)中的某個(gè)基址寄存器相加而得到
8、實(shí)際的操作數(shù)地址?;芳拇嫫飨嗉佣玫綄?shí)際的操作數(shù)地址。 變址尋址主要解決程序內(nèi)部的循環(huán)問題,基址尋址則變址尋址主要解決程序內(nèi)部的循環(huán)問題,基址尋址則要求基址寄存器的內(nèi)容能提供整個(gè)主存范圍的尋址能要求基址寄存器的內(nèi)容能提供整個(gè)主存范圍的尋址能力;在多道程序運(yùn)行環(huán)境下,實(shí)現(xiàn)程序的再定位。力;在多道程序運(yùn)行環(huán)境下,實(shí)現(xiàn)程序的再定位。 9隱含尋址方式隱含尋址方式 指令沒有明顯地給出操作數(shù)地址,而在操作碼中隱含指令沒有明顯地給出操作數(shù)地址,而在操作碼中隱含著操作數(shù)地址。如操作數(shù)隱含在累加器,堆棧內(nèi)。著操作數(shù)地址。如操作數(shù)隱含在累加器,堆棧內(nèi)。 10其它尋址方式其它尋址方式 有的計(jì)算機(jī)指令系統(tǒng)中還有更復(fù)
9、雜的尋址方式,如基有的計(jì)算機(jī)指令系統(tǒng)中還有更復(fù)雜的尋址方式,如基址變址尋址、位尋址、塊尋址、串尋址等等。址變址尋址、位尋址、塊尋址、串尋址等等。 在使用機(jī)器時(shí),不僅要了解該機(jī)總體上有哪些尋址方在使用機(jī)器時(shí),不僅要了解該機(jī)總體上有哪些尋址方式,還應(yīng)了解各指令具體有哪些尋址方式。式,還應(yīng)了解各指令具體有哪些尋址方式。5. 3 指令類型指令類型 設(shè)計(jì)一臺(tái)計(jì)算機(jī)的指令系統(tǒng)的功能時(shí),須考慮的幾設(shè)計(jì)一臺(tái)計(jì)算機(jī)的指令系統(tǒng)的功能時(shí),須考慮的幾個(gè)原則:個(gè)原則: 完備性或完整性完備性或完整性: 指令系統(tǒng)的功能應(yīng)盡量完備,但較復(fù)雜的功能可以通指令系統(tǒng)的功能應(yīng)盡量完備,但較復(fù)雜的功能可以通過程序?qū)崿F(xiàn)。過程序?qū)崿F(xiàn)。 兼
10、容性兼容性: 高檔機(jī)的指令系統(tǒng)兼容以前的低檔機(jī)的指令系統(tǒng),給高檔機(jī)的指令系統(tǒng)兼容以前的低檔機(jī)的指令系統(tǒng),給軟件資源重復(fù)利用帶來方便。軟件資源重復(fù)利用帶來方便。 均勻性均勻性: 數(shù)據(jù)處理指令能對(duì)多種類型的數(shù)據(jù)進(jìn)行處理,包括三數(shù)據(jù)處理指令能對(duì)多種類型的數(shù)據(jù)進(jìn)行處理,包括三種整數(shù)種整數(shù)(字節(jié)、字、雙字字節(jié)、字、雙字)和兩種浮點(diǎn)數(shù)和兩種浮點(diǎn)數(shù)(單精度和雙精單精度和雙精度浮點(diǎn)數(shù)度浮點(diǎn)數(shù))。 可擴(kuò)充性可擴(kuò)充性: 操作碼字段要保留一定的空間,以便需要時(shí)進(jìn)行功能操作碼字段要保留一定的空間,以便需要時(shí)進(jìn)行功能擴(kuò)充。擴(kuò)充。1指令按功能分類:指令按功能分類:算術(shù)和邏輯運(yùn)算指令算術(shù)和邏輯運(yùn)算指令 有加(有加(ADD)
11、、減()、減(SUB)、比較()、比較(CMP)、乘()、乘(MUL)、除()、除(DIV)、與()、與(AND)、或()、或(OR)、?。⑷》矗ǚ矗∟OT)、)、 變補(bǔ)(變補(bǔ)(NEG)、異或()、異或(XOR)、加)、加1(INC)、減)、減1(DEC) 等。等。 帶進(jìn)位的加(帶進(jìn)位的加(ADC )和帶借位的減()和帶借位的減(SBB )指令;)指令;十進(jìn)制數(shù)的運(yùn)算指令等。十進(jìn)制數(shù)的運(yùn)算指令等。(2) 移位指令和循環(huán)指令移位指令和循環(huán)指令 算術(shù)移位、邏輯移位、環(huán)移、半字交換等。算術(shù)移位、邏輯移位、環(huán)移、半字交換等。 算術(shù)移位:算術(shù)移位: 算術(shù)左移:操作數(shù)的各位依次向左移一位,最低位補(bǔ)算術(shù)左
12、移:操作數(shù)的各位依次向左移一位,最低位補(bǔ)零;原操作數(shù)的最高位移入零;原操作數(shù)的最高位移入C 標(biāo)志位。標(biāo)志位。 算術(shù)右移:操作數(shù)的各位依次向右移一位,最高位(算術(shù)右移:操作數(shù)的各位依次向右移一位,最高位(符號(hào)位)不變;原操作數(shù)的最低位移入符號(hào)位)不變;原操作數(shù)的最低位移入C 標(biāo)志位。標(biāo)志位。10100011操作數(shù)移位前:移位后:101000110操作數(shù)C標(biāo)志C標(biāo)志0(a) 算術(shù)左移移位前:移位后:11010001101000100操作數(shù)操作數(shù)C標(biāo)志C標(biāo)志(b) 算術(shù)右移圖5.5 算術(shù)移位 邏輯移位:邏輯移位: 邏輯左移:操作同算術(shù)左移,大多數(shù)機(jī)器一般不再專邏輯左移:操作同算術(shù)左移,大多數(shù)機(jī)器一般
13、不再專門設(shè)置此指令。門設(shè)置此指令。 邏輯右移:操作數(shù)的各位依次向右移一位,最高位補(bǔ)邏輯右移:操作數(shù)的各位依次向右移一位,最高位補(bǔ)零。原操作數(shù)的最低位移入零。原操作數(shù)的最低位移入C標(biāo)志位。標(biāo)志位。移位前:移位后:01010001101000100操作數(shù)操作數(shù)C標(biāo)志C標(biāo)志圖5.6 邏輯右移 環(huán)移:環(huán)移: 小環(huán)移小環(huán)移 小循環(huán)左移,最高位移入小循環(huán)左移,最高位移入C標(biāo)志,同時(shí)移入最低位。標(biāo)志,同時(shí)移入最低位。1) 小循環(huán)右移,最低位移入小循環(huán)右移,最低位移入C標(biāo)志,同時(shí)移入最高位標(biāo)志,同時(shí)移入最高位。C標(biāo)志操作數(shù)(a) 小循環(huán)左移C標(biāo)志操作數(shù)(b) 小循環(huán)右移圖5.7 小環(huán)移(a) 大循環(huán)左移(b)
14、 大循環(huán)右移圖5.8 大環(huán)移C標(biāo)志操作數(shù)操作數(shù)2) 大環(huán)移大環(huán)移 大循環(huán)左移,最高位移入大循環(huán)左移,最高位移入C標(biāo)志,標(biāo)志,C標(biāo)志移入最低位。標(biāo)志移入最低位。 大循環(huán)右移,最低位移入大循環(huán)右移,最低位移入C標(biāo)志,標(biāo)志,C標(biāo)志移入最高位。標(biāo)志移入最高位。 半字交換半字交換交換前:0100100001101110交換后:0110111001001000圖 5.9 半字交換(3) 傳送類指令傳送類指令 有:傳送(有:傳送(MOV)(源操作數(shù))(源操作數(shù)目標(biāo)操作數(shù))、取目標(biāo)操作數(shù))、取數(shù)(數(shù)(LDA)(數(shù)由內(nèi)存)(數(shù)由內(nèi)存CPU寄存器)、存數(shù)(寄存器)、存數(shù)(STA)(數(shù)由)(數(shù)由CPU寄存器寄存器內(nèi)
15、存)、交換(內(nèi)存)、交換(XCHG)(源)(源操作數(shù)和目標(biāo)操作數(shù)交換)等。操作數(shù)和目標(biāo)操作數(shù)交換)等。(4) 串指令串指令: 對(duì)字符串進(jìn)行操作的指令。如有串傳送、比較、檢索對(duì)字符串進(jìn)行操作的指令。如有串傳送、比較、檢索、傳送轉(zhuǎn)換等指令。、傳送轉(zhuǎn)換等指令。(5) 順序控制指令順序控制指令: 用來控制程序執(zhí)行的順序。有條件轉(zhuǎn)移、無條件轉(zhuǎn)移用來控制程序執(zhí)行的順序。有條件轉(zhuǎn)移、無條件轉(zhuǎn)移(JMP)、跳步()、跳步(SKIP)、轉(zhuǎn)子()、轉(zhuǎn)子(CALL)、返主()、返主(RET)等指令。)等指令。 (7) 輸入、輸出指令輸入、輸出指令: 用于完成用于完成CPU與外部設(shè)備交換數(shù)據(jù)或傳送控制命令及與外部設(shè)備
16、交換數(shù)據(jù)或傳送控制命令及狀態(tài)信息。狀態(tài)信息。(6) CPU控制指令:控制指令: 有停機(jī)、開中斷、關(guān)中斷以及改變執(zhí)行特權(quán)、進(jìn)入特有停機(jī)、開中斷、關(guān)中斷以及改變執(zhí)行特權(quán)、進(jìn)入特殊處理程序等指令。大多數(shù)只能用于操作系統(tǒng)等系統(tǒng)殊處理程序等指令。大多數(shù)只能用于操作系統(tǒng)等系統(tǒng)軟件。軟件。2. 按操作數(shù)個(gè)數(shù)分有:按操作數(shù)個(gè)數(shù)分有:(1) 雙操作數(shù)指令:如:雙操作數(shù)指令:如:ADD、SUB、AND等等(2) 單操作數(shù)指令:如:?jiǎn)尾僮鲾?shù)指令:如:NEG、NOT、INC、DEC等等(3) 無操作數(shù)指令:如:空操作(無操作數(shù)指令:如:空操作(NOP)、停機(jī),開中)、停機(jī),開中斷、關(guān)中斷等。斷、關(guān)中斷等。3. 按操作
17、數(shù)尋址方式分有按操作數(shù)尋址方式分有: R-R型:兩個(gè)操作數(shù)都在型:兩個(gè)操作數(shù)都在CPU的寄存器中。的寄存器中。 R-S型:兩個(gè)操作數(shù)中一個(gè)在型:兩個(gè)操作數(shù)中一個(gè)在CPU寄存器中,另一寄存器中,另一個(gè)在內(nèi)存中。個(gè)在內(nèi)存中。 (3) S-S型:兩個(gè)操作數(shù)都在內(nèi)存中型:兩個(gè)操作數(shù)都在內(nèi)存中 。5. 4 堆棧和堆棧存取方式堆棧和堆棧存取方式 堆棧是一種特定的數(shù)據(jù)結(jié)構(gòu)堆棧是一種特定的數(shù)據(jù)結(jié)構(gòu),其特點(diǎn)是后進(jìn)先出其特點(diǎn)是后進(jìn)先出(LIFO)或先進(jìn)后出或先進(jìn)后出(FILO)。 1. 用移位寄存器用移位寄存器實(shí)現(xiàn)堆棧實(shí)現(xiàn)堆棧 棧頂空棧: 棧底 棧頂存入b:ba 棧底 棧頂取出b:a 棧底 圖5.10棧頂固定方式
18、堆棧及其存取 棧頂存入a:a 棧底 用若干移位寄存器用若干移位寄存器構(gòu)成,又叫棧頂固構(gòu)成,又叫棧頂固定方式堆棧。定方式堆棧。 2. 內(nèi)存中開辟堆棧區(qū)內(nèi)存中開辟堆棧區(qū) 這種堆棧,存儲(chǔ)器單元固定,而棧頂位置動(dòng)態(tài)變化。這種堆棧,存儲(chǔ)器單元固定,而棧頂位置動(dòng)態(tài)變化。在在CPU中專門設(shè)置堆棧指針中專門設(shè)置堆棧指針SP,指示棧頂位置,存取,指示棧頂位置,存取只能在棧頂進(jìn)行。只能在棧頂進(jìn)行。1)自底向上生成堆棧:自底向上生成堆棧: 建棧時(shí)堆棧指針建棧時(shí)堆棧指針SP指向棧底下面一個(gè)單元(棧底是堆指向棧底下面一個(gè)單元(棧底是堆棧中地址最大的單元);棧中地址最大的單元); 入棧操作(入棧操作(PUSH)步驟:)步
19、驟:i)SP-1SP ii)存入數(shù)據(jù)存入數(shù)據(jù)(SP) 出棧操作(出棧操作(POP)步驟:)步驟: i)(SP)內(nèi)容讀出)內(nèi)容讀出 ii) SP+1SP 1FFD 1FFE 1FFF 2000棧底堆棧指針SP2000(a) 建棧 1FFD 1FFE 1FFF 2000棧底a堆棧指針SP1FFF(b) a入棧 1FFD 1FFE 1FFF 2000棧底a堆棧指針SP1FFF(d) b出棧圖5.11 自底向上生成堆棧 1FFD 1FFE 1FFF 2000棧底ba堆棧指針SP1FFE(c) b入棧2)自頂向下生成堆棧:自頂向下生成堆棧: 這種堆棧建棧時(shí)堆棧指針這種堆棧建棧時(shí)堆棧指針SP指向棧底上面一
20、個(gè)單元(指向棧底上面一個(gè)單元(棧底是堆棧中地址最小的單元),棧底是堆棧中地址最小的單元), 入棧操作(入棧操作(PUSH)步驟:)步驟: i) SP+1SP ii)存入數(shù)據(jù)存入數(shù)據(jù)(SP) 出棧操作(出棧操作(POP)步驟:)步驟: i)(SP)內(nèi)容讀出)內(nèi)容讀出 ii) SP-1SP 指針變化方向不同。指針變化方向不同。5. 5 指令系統(tǒng)舉例指令系統(tǒng)舉例 5.5.1 IBM 370系列機(jī)指令格式系列機(jī)指令格式 RRE、S、SSE型指令的操作碼為型指令的操作碼為16位,其余指令的位,其余指令的操作碼均為操作碼均為8位。位。 操作碼的第操作碼的第0位和第位和第1位組成四種不同的編碼位組成四種不同
21、的編碼 00表示表示RR型指令,型指令,01表示表示RX型指令,型指令,10表示表示RRE型型、RS型、型、S型及型及SI型指令,型指令,11表示表示SS型和型和SSE型指令型指令 RR和和RRE型指令都是寄存器型指令都是寄存器-寄存器型指令寄存器型指令 RX和和RS型指令都是寄存器型指令都是寄存器-存儲(chǔ)器型指令,第一個(gè)操存儲(chǔ)器型指令,第一個(gè)操作數(shù)和結(jié)果放在作數(shù)和結(jié)果放在R1中,另一個(gè)操作數(shù)在主存中。中,另一個(gè)操作數(shù)在主存中。 采用變址尋址方式,有效地址采用變址尋址方式,有效地址=(X2)+(B2)+D2,B2為基址寄存器,為基址寄存器,D2為位移量,為位移量,x為變址寄存器號(hào)。為變址寄存器號(hào)
22、。 RS型是三地址指令:型是三地址指令:R1存放結(jié)果,存放結(jié)果,R2放一個(gè)源操作放一個(gè)源操作數(shù),另一個(gè)源操作數(shù)在主存中;數(shù),另一個(gè)源操作數(shù)在主存中; 有效地址有效地址=(B2)+D2。 SI型是立即數(shù)指令型是立即數(shù)指令 S型是單操作數(shù)指令型是單操作數(shù)指令 SS和和SSE型指令是可變字長(zhǎng)指令,用于字符串的運(yùn)型指令是可變字長(zhǎng)指令,用于字符串的運(yùn)算和處理,算和處理,L為串之長(zhǎng)度。為串之長(zhǎng)度。 SSE指令與指令與SS指令之差別是指令之差別是 SS指令中的指令中的L字段字段(8-15位位)擴(kuò)展成操作碼。擴(kuò)展成操作碼。5.5.2 PDP-11指令格式指令格式 PDP-11是一個(gè)具有是一個(gè)具有8個(gè)寄存器(個(gè)
23、寄存器(R0-R7)、)、16位字長(zhǎng)位字長(zhǎng)的小型計(jì)算機(jī)。其中,的小型計(jì)算機(jī)。其中,R0-R5為通用寄存器,為通用寄存器,R7是程是程序計(jì)數(shù)器序計(jì)數(shù)器PC,R6是棧指針是棧指針SP。存儲(chǔ)器按字節(jié)編址。存儲(chǔ)器按字節(jié)編址。 雙操作數(shù)指令:操作碼雙操作數(shù)指令:操作碼4位,每個(gè)地址碼位,每個(gè)地址碼6位,地址位,地址碼由碼由3位寄存器號(hào)和位寄存器號(hào)和3位尋址方式字段構(gòu)成。位尋址方式字段構(gòu)成。 單操作數(shù)指令:操作碼單操作數(shù)指令:操作碼10位,地址碼位,地址碼6位。位。 轉(zhuǎn)移指令:轉(zhuǎn)移地址轉(zhuǎn)移指令:轉(zhuǎn)移地址(相對(duì)轉(zhuǎn)移相對(duì)轉(zhuǎn)移)由由8位位移量指出;位位移量指出; 條件碼操作指令:低條件碼操作指令:低5位為條件標(biāo)
24、志。位為條件標(biāo)志。例例1 某計(jì)算機(jī)字長(zhǎng)某計(jì)算機(jī)字長(zhǎng)16bit,主存容量,主存容量64K。指令系統(tǒng)共有。指令系統(tǒng)共有58條指令,有直接、間接、相對(duì)和變址四種尋址條指令,有直接、間接、相對(duì)和變址四種尋址方式,指令為單字長(zhǎng)單地址指令。請(qǐng)?jiān)O(shè)計(jì)該指令方式,指令為單字長(zhǎng)單地址指令。請(qǐng)?jiān)O(shè)計(jì)該指令系統(tǒng)的指令格式。系統(tǒng)的指令格式。 解:解: 單地址指令格式為單地址指令格式為OPMD 計(jì)算機(jī)字長(zhǎng)為計(jì)算機(jī)字長(zhǎng)為16bit,指令為單字長(zhǎng),所以指令字長(zhǎng)為,指令為單字長(zhǎng),所以指令字長(zhǎng)為16bit;因;因26=6458,所以操作碼為,所以操作碼為6bit。16-6-2=8,剩,剩余余8位作形式地址。位作形式地址。OPMD6
25、 2 8 設(shè)計(jì)指令格式為設(shè)計(jì)指令格式為00 直接尋址直接尋址 E=D(0255)01 間接尋址間接尋址 E=(D) (216=64K) 變址尋址變址尋址 E=RX+D (RX 變址寄存器)變址寄存器)10 11 相對(duì)尋址相對(duì)尋址 E=PC+D(PC 程序計(jì)數(shù)器)程序計(jì)數(shù)器) 一條指令包含下列信息:一條指令包含下列信息: 操作碼,操作數(shù)的地址,操作結(jié)果的存放地址,下一操作碼,操作數(shù)的地址,操作結(jié)果的存放地址,下一條指令的地址(順序、轉(zhuǎn)移和調(diào)子程序條指令的地址(順序、轉(zhuǎn)移和調(diào)子程序)。例例2 某存儲(chǔ)器堆棧,棧底地址某存儲(chǔ)器堆棧,棧底地址 Bottom=3000H,棧中,棧中已壓入兩個(gè)數(shù)據(jù)已壓入兩個(gè)
26、數(shù)據(jù)a和和b,SP為堆棧指針。為堆棧指針。(1)畫出此時(shí)堆棧示意圖。)畫出此時(shí)堆棧示意圖。(2)現(xiàn)將數(shù)據(jù))現(xiàn)將數(shù)據(jù) c,d 和和 e 按順序壓入堆棧,且用累加按順序壓入堆棧,且用累加器器AC 進(jìn)行數(shù)據(jù)交換,寫出數(shù)據(jù)入棧步驟,畫出數(shù)進(jìn)行數(shù)據(jù)交換,寫出數(shù)據(jù)入棧步驟,畫出數(shù)據(jù)入棧后的堆棧情況。據(jù)入棧后的堆棧情況。(3)寫出數(shù)據(jù))寫出數(shù)據(jù) e 出棧的操作步驟。出棧的操作步驟。解:(解:(1)堆棧情況如下圖所示)堆棧情況如下圖所示(2)數(shù)據(jù)入棧操作)數(shù)據(jù)入棧操作AC c;SP SP-1;(SP) ACAC d;SP SP-1;(SP) ACAC e;SP SP-1;(SP) AC(3)數(shù)據(jù))數(shù)據(jù) e 的
27、出棧操作的出棧操作AC (SP)SP SP+15.5.3Pentium指令系統(tǒng)指令系統(tǒng) 指令格式指令格式 Pentium采用可變長(zhǎng)指令格式,最短的指令只有一采用可變長(zhǎng)指令格式,最短的指令只有一個(gè)字節(jié),最長(zhǎng)的指令可有十幾個(gè)字節(jié)。個(gè)字節(jié),最長(zhǎng)的指令可有十幾個(gè)字節(jié)。 指令前綴段前綴操作數(shù)長(zhǎng)度地址長(zhǎng)度 0或10或1 0或1 0或1前綴類型:字節(jié)數(shù): 指令組成:指令組成: 前綴:位于指令操作碼前,各類前綴的字節(jié)數(shù)如下前綴:位于指令操作碼前,各類前綴的字節(jié)數(shù)如下: : 前綴不是每條指令必須有的。如有的話,各種前綴也前綴不是每條指令必須有的。如有的話,各種前綴也都是可選的。都是可選的。 指令:指令各部分的長(zhǎng)
28、度和含義如下:指令:指令各部分的長(zhǎng)度和含義如下:操作碼尋址方式 SIB 位移直接數(shù)據(jù)1或20或10或11、2、4立即數(shù)指令段: 字節(jié)數(shù):ModSSR/MReg/OPBaseIndex7651234670234501圖5.14 Pentium指令格式 操作碼:操作碼: 指定指令的操作,還指明數(shù)據(jù)是字節(jié)還是全字長(zhǎng);指指定指令的操作,還指明數(shù)據(jù)是字節(jié)還是全字長(zhǎng);指明明REG字段指定的寄存器是源還是目標(biāo)字段指定的寄存器是源還是目標(biāo) 。 尋址方式字節(jié):尋址方式字節(jié): 由由MOD和和R/M聯(lián)合指定聯(lián)合指定8種寄存器尋址和種寄存器尋址和24種變址尋種變址尋址方式,址方式,reg/OP指定某個(gè)寄存器為操作數(shù)或
29、作為操作指定某個(gè)寄存器為操作數(shù)或作為操作碼的擴(kuò)展用。碼的擴(kuò)展用。 SIB: SS指定比例系數(shù)(變址尋址方式時(shí)用);指定比例系數(shù)(變址尋址方式時(shí)用);Index指定指定變址寄存器;變址寄存器;Base指定基址寄存器。指定基址寄存器。操作碼尋址方式 SIB 位移直接數(shù)據(jù)1或20或10或11、2、4立即數(shù)指令段: 字節(jié)數(shù):ModSSR/MReg/OPBaseIndex7651234670234501圖5.14 Pentium指令格式2. 尋址方式尋址方式 (1) Pentium物理地址的形成物理地址的形成 Pentium的邏輯地址包括段和偏移量,段號(hào)經(jīng)過段表的邏輯地址包括段和偏移量,段號(hào)經(jīng)過段表直接
30、得到該段的首地址,和有效地址相加形成一維的直接得到該段的首地址,和有效地址相加形成一維的線性地址。線性地址。 邏輯地址段偏移.目錄頁號(hào)位移 線性地址.物理地址頁目錄表頁表段表 圖5.15 Pentium物理地址的形成(2) Pentium的尋址方式的尋址方式 表5.1 Pentium的尋址方式 尋址方式 說明立即尋址指令直接給出操作數(shù)指定的寄存器R的內(nèi)容為操作數(shù)寄存器尋址位移LA=(SR)+A基址尋址LA=(SR)+(B)基址加位移LA=(SR)+(B)+A比例變址加位移LA=(SR)+(I)S + ALA=(SR)+(B)+(I)+ALA=(SR)+(B)+(I)S + ALA=(PC)+A
31、基址加變址加位移基址加比例變址加位移相對(duì)尋址注:LA:線性地址 (X):X的內(nèi)容 SR:段寄存器B:基址寄存器 I:變址寄存器 S:比例系數(shù) PC:程序計(jì)數(shù)器A:指令中給定地址段的位移量R:寄存器5.5.4 Power PC指令系統(tǒng)指令系統(tǒng) PowerPC為為RISC計(jì)算機(jī),其指令格式和尋址方式要計(jì)算機(jī),其指令格式和尋址方式要比一般比一般CISC機(jī)簡(jiǎn)單、規(guī)整。機(jī)簡(jiǎn)單、規(guī)整。 1指令格式指令格式 Power PC采用單一的采用單一的32位指令長(zhǎng)度,格式規(guī)整;所位指令長(zhǎng)度,格式規(guī)整;所有指令的最高有指令的最高6位都是操作碼,有的指令將其它一些位都是操作碼,有的指令將其它一些位位(X0)作為操作碼擴(kuò)
32、展。作為操作碼擴(kuò)展。 轉(zhuǎn)移指令轉(zhuǎn)移指令 鏈接指示(鏈接指示(L),表示是否將緊接著該指令的指令地址),表示是否將緊接著該指令的指令地址送入鏈接寄存器(返回地址)。送入鏈接寄存器(返回地址)。 A標(biāo)志位,指明地址是絕對(duì)地址還是相對(duì)于標(biāo)志位,指明地址是絕對(duì)地址還是相對(duì)于PC的地址。的地址。 CR 位字段指明轉(zhuǎn)移條件要對(duì)條件寄存器(標(biāo)志寄存器位字段指明轉(zhuǎn)移條件要對(duì)條件寄存器(標(biāo)志寄存器)中哪一位進(jìn)行測(cè)試。)中哪一位進(jìn)行測(cè)試。 選項(xiàng)字段選項(xiàng)字段(5位位)指定如下幾個(gè)轉(zhuǎn)移方法:指定如下幾個(gè)轉(zhuǎn)移方法: 總是轉(zhuǎn)移。總是轉(zhuǎn)移。 如果計(jì)數(shù)如果計(jì)數(shù)0,且測(cè)試的條件為真則轉(zhuǎn)移。,且測(cè)試的條件為真則轉(zhuǎn)移。 如果計(jì)數(shù)如
33、果計(jì)數(shù)0,且測(cè)試的條件為假則轉(zhuǎn)移。,且測(cè)試的條件為假則轉(zhuǎn)移。 如果計(jì)數(shù)如果計(jì)數(shù)0,且測(cè)試的條件為真則轉(zhuǎn)移。,且測(cè)試的條件為真則轉(zhuǎn)移。 如果計(jì)數(shù)如果計(jì)數(shù)0,且測(cè)試的條件為假則轉(zhuǎn)移。,且測(cè)試的條件為假則轉(zhuǎn)移。 如果計(jì)數(shù)如果計(jì)數(shù)0,轉(zhuǎn)移。,轉(zhuǎn)移。 如果測(cè)試的條件為真,則轉(zhuǎn)移。如果測(cè)試的條件為真,則轉(zhuǎn)移。 如果測(cè)試的條件為假,則轉(zhuǎn)移。如果測(cè)試的條件為假,則轉(zhuǎn)移。 取數(shù)取數(shù)/存數(shù)指令存數(shù)指令 條件寄存器指令條件寄存器指令 R標(biāo)志位,用來表示是否將運(yùn)算結(jié)果的有關(guān)標(biāo)志寫入標(biāo)志位,用來表示是否將運(yùn)算結(jié)果的有關(guān)標(biāo)志寫入到條件寄存器中去,這在條件轉(zhuǎn)移預(yù)測(cè)時(shí)很有用。到條件寄存器中去,這在條件轉(zhuǎn)移預(yù)測(cè)時(shí)很有用。 2.
34、 尋址方式尋址方式 (1) 取數(shù)取數(shù)/存數(shù)指令的尋址方式存數(shù)指令的尋址方式 間接尋址間接尋址 有效地址有效地址EA=(BR)+D,BR為基址寄存器;為基址寄存器; D為為16位位(有正負(fù)有正負(fù))的位移量。的位移量。 間接變址尋址間接變址尋址 有效地址有效地址EA=(BR)+(IR),IR為變址寄存器,任一通為變址寄存器,任一通用寄存器也均可作為變址寄存器。用寄存器也均可作為變址寄存器。基址寄存器(BR) 變址寄存器(IR)邏輯地址 至地址轉(zhuǎn)換機(jī)構(gòu) (b) 變址間接尋址基址寄存器(BR) 有符號(hào)位移 D邏輯地址 至地址轉(zhuǎn)換機(jī)構(gòu) (a) 間接尋址 圖5.16 Power PC訪存指令尋址方式 (2
35、) 轉(zhuǎn)移指令的尋址方式轉(zhuǎn)移指令的尋址方式 絕對(duì)地址:絕對(duì)地址: 無條件轉(zhuǎn)移和條件轉(zhuǎn)移:指令分別給出無條件轉(zhuǎn)移和條件轉(zhuǎn)移:指令分別給出24位和位和16位地位地址,均擴(kuò)展為址,均擴(kuò)展為32位后形成轉(zhuǎn)移地址。位后形成轉(zhuǎn)移地址。 擴(kuò)展的方法:最低端補(bǔ)兩個(gè)零,高端進(jìn)行符號(hào)擴(kuò)展。擴(kuò)展的方法:最低端補(bǔ)兩個(gè)零,高端進(jìn)行符號(hào)擴(kuò)展。 相對(duì)尋址:相對(duì)尋址: 無條件轉(zhuǎn)移,指令給出無條件轉(zhuǎn)移,指令給出24位地址,將它按前述方法擴(kuò)位地址,將它按前述方法擴(kuò)展后和展后和PC相加即為下條指令地址;相加即為下條指令地址; 條件轉(zhuǎn)移,指令給出條件轉(zhuǎn)移,指令給出14位地址,按前述方法擴(kuò)展后和位地址,按前述方法擴(kuò)展后和PC相加作為下條
36、指令地址。相加作為下條指令地址。3. 算術(shù)指令的尋址方式算術(shù)指令的尋址方式 整數(shù)算術(shù)指令采用寄存器尋址或立即尋址,立即數(shù)是整數(shù)算術(shù)指令采用寄存器尋址或立即尋址,立即數(shù)是16位有符號(hào)數(shù)。浮點(diǎn)算術(shù)指令只可采用寄存器尋址。位有符號(hào)數(shù)。浮點(diǎn)算術(shù)指令只可采用寄存器尋址。 間接尋址:間接尋址: 下條指令的有效地址存放于鏈接寄存器或計(jì)數(shù)寄存器下條指令的有效地址存放于鏈接寄存器或計(jì)數(shù)寄存器中。若采用計(jì)數(shù)寄存器,此時(shí)計(jì)數(shù)寄存器不能再作計(jì)中。若采用計(jì)數(shù)寄存器,此時(shí)計(jì)數(shù)寄存器不能再作計(jì)數(shù)器用。數(shù)器用。5. 6 CISC與與RISC指令指令 1背景背景 計(jì)算機(jī)的硬件成本不斷下降,軟件成本不斷上升;計(jì)算機(jī)的硬件成本不斷
37、下降,軟件成本不斷上升; 指令系統(tǒng)增加了越來越多功能強(qiáng)大的復(fù)雜命令,以便指令系統(tǒng)增加了越來越多功能強(qiáng)大的復(fù)雜命令,以便使機(jī)器指令的功能接近高級(jí)語言語句的功能;使機(jī)器指令的功能接近高級(jí)語言語句的功能; 目前許多計(jì)算機(jī)的指令系統(tǒng)可包含幾百條指令,十多目前許多計(jì)算機(jī)的指令系統(tǒng)可包含幾百條指令,十多種尋址方式,這對(duì)簡(jiǎn)化匯編語言設(shè)計(jì),提高高級(jí)語言種尋址方式,這對(duì)簡(jiǎn)化匯編語言設(shè)計(jì),提高高級(jí)語言的執(zhí)行效率是有利的。的執(zhí)行效率是有利的。 “復(fù)雜指令集計(jì)算機(jī)復(fù)雜指令集計(jì)算機(jī)”,簡(jiǎn)稱,簡(jiǎn)稱CISC(Complex Instruction Set Computer)的提出。的提出。 指令系統(tǒng)越來越復(fù)雜的出發(fā)點(diǎn):指令
38、系統(tǒng)越來越復(fù)雜的出發(fā)點(diǎn): 使目標(biāo)程序得到優(yōu)化:把原來要用一段程序才能完使目標(biāo)程序得到優(yōu)化:把原來要用一段程序才能完成的功能,只用一條指令來實(shí)現(xiàn)。成的功能,只用一條指令來實(shí)現(xiàn)。 給高級(jí)語言提供更好的支持:改進(jìn)指令系統(tǒng),設(shè)置給高級(jí)語言提供更好的支持:改進(jìn)指令系統(tǒng),設(shè)置一些在語義上接近高級(jí)語言語句的指令,就可以減輕一些在語義上接近高級(jí)語言語句的指令,就可以減輕編譯的負(fù)擔(dān),提高編譯效率。編譯的負(fù)擔(dān),提高編譯效率。 提供對(duì)操作系統(tǒng)的支持:操作系統(tǒng)日益發(fā)展,其功提供對(duì)操作系統(tǒng)的支持:操作系統(tǒng)日益發(fā)展,其功能也日趨復(fù)雜,這就要求指令系統(tǒng)提供越來越復(fù)雜能也日趨復(fù)雜,這就要求指令系統(tǒng)提供越來越復(fù)雜的功能。的功能
39、。 龐大的指令系統(tǒng)中,只有算術(shù)邏輯運(yùn)算、數(shù)據(jù)傳送、轉(zhuǎn)龐大的指令系統(tǒng)中,只有算術(shù)邏輯運(yùn)算、數(shù)據(jù)傳送、轉(zhuǎn)移、子程序調(diào)用等幾十條基本指令才是常使用的,在程移、子程序調(diào)用等幾十條基本指令才是常使用的,在程序中出現(xiàn)的概率占到序中出現(xiàn)的概率占到80%以上;以上; 復(fù)雜的指令系統(tǒng)帶來的問題復(fù)雜的指令系統(tǒng)帶來的問題 計(jì)算機(jī)的結(jié)構(gòu)也越來越復(fù)雜,不僅增加了計(jì)算機(jī)的研制計(jì)算機(jī)的結(jié)構(gòu)也越來越復(fù)雜,不僅增加了計(jì)算機(jī)的研制周期和成本,而且難以保證其正確性,有時(shí)還可能降低周期和成本,而且難以保證其正確性,有時(shí)還可能降低系統(tǒng)的性能。系統(tǒng)的性能。 需要大量硬件支持的復(fù)雜指令的利用率卻很低,造成了需要大量硬件支持的復(fù)雜指令的利用
40、率卻很低,造成了硬件資源的大量浪費(fèi)。硬件資源的大量浪費(fèi)。 各種高級(jí)語言的語義之間有很大差別。不可能設(shè)計(jì)出各種高級(jí)語言的語義之間有很大差別。不可能設(shè)計(jì)出一種能對(duì)所有高級(jí)語言都能提供很好支持的指令系統(tǒng)一種能對(duì)所有高級(jí)語言都能提供很好支持的指令系統(tǒng)。 精簡(jiǎn)指令集計(jì)算機(jī)精簡(jiǎn)指令集計(jì)算機(jī)RISC(Reduced Instruction Set Computer)的提出。)的提出。 指令系統(tǒng)越復(fù)雜,包含的指令越多,編譯時(shí)生成目標(biāo)指令系統(tǒng)越復(fù)雜,包含的指令越多,編譯時(shí)生成目標(biāo)程序的方法也越多,對(duì)最終優(yōu)化編譯造成困難。程序的方法也越多,對(duì)最終優(yōu)化編譯造成困難。2精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)特點(diǎn)精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)特點(diǎn) 通
41、過簡(jiǎn)化指令使計(jì)算機(jī)的結(jié)構(gòu)更加簡(jiǎn)單合理,從而提通過簡(jiǎn)化指令使計(jì)算機(jī)的結(jié)構(gòu)更加簡(jiǎn)單合理,從而提高機(jī)器的性能。高機(jī)器的性能。 指令數(shù)目較少,一般都選用使用頻度最高的一些簡(jiǎn)指令數(shù)目較少,一般都選用使用頻度最高的一些簡(jiǎn)單指令;單指令; 指令長(zhǎng)度固定,指令格式種類少,尋址方式種類少;指令長(zhǎng)度固定,指令格式種類少,尋址方式種類少; 大多數(shù)指令可在一個(gè)機(jī)器周期內(nèi)完成;大多數(shù)指令可在一個(gè)機(jī)器周期內(nèi)完成; 通用寄存器數(shù)量多,只有存數(shù)通用寄存器數(shù)量多,只有存數(shù)/取數(shù)指令訪問存儲(chǔ)器取數(shù)指令訪問存儲(chǔ)器,而其余指令均在寄存器之間進(jìn)行操作。,而其余指令均在寄存器之間進(jìn)行操作。 采用采用RISC技術(shù)技術(shù) 指令系統(tǒng)可以采用速度
42、較快的硬連線邏輯來實(shí)現(xiàn),且指令系統(tǒng)可以采用速度較快的硬連線邏輯來實(shí)現(xiàn),且更適合于采用指令流水技術(shù),可使指令的執(zhí)行速度進(jìn)更適合于采用指令流水技術(shù),可使指令的執(zhí)行速度進(jìn)一步提高。一步提高。 指令數(shù)量少,固然使編譯工作量加大,但由于指令系指令數(shù)量少,固然使編譯工作量加大,但由于指令系統(tǒng)中的指令都是精選的,編譯時(shí)間少,反過來對(duì)編譯統(tǒng)中的指令都是精選的,編譯時(shí)間少,反過來對(duì)編譯程序的優(yōu)化又是有利的。程序的優(yōu)化又是有利的。 CISC和和RISC技術(shù)都在發(fā)展,兩者都各有自己的優(yōu)點(diǎn)技術(shù)都在發(fā)展,兩者都各有自己的優(yōu)點(diǎn)和缺點(diǎn)。但是和缺點(diǎn)。但是RISC技術(shù)作為一種新的設(shè)計(jì)思想,無疑技術(shù)作為一種新的設(shè)計(jì)思想,無疑對(duì)計(jì)
43、算機(jī)的發(fā)展產(chǎn)生重大影響。對(duì)計(jì)算機(jī)的發(fā)展產(chǎn)生重大影響。3CISC與與RISC之爭(zhēng)論之爭(zhēng)論 70年代中期,年代中期,IBM公司、斯坦福大學(xué)、加州大學(xué)伯克公司、斯坦福大學(xué)、加州大學(xué)伯克利分校等機(jī)構(gòu)分別先后開始對(duì)利分校等機(jī)構(gòu)分別先后開始對(duì)CISC技術(shù)進(jìn)行研究,其技術(shù)進(jìn)行研究,其成果分別用于成果分別用于IBM、SUN、MIPS等公司的產(chǎn)品中;等公司的產(chǎn)品中; 八十年代中期,八十年代中期,RISC技術(shù)蓬勃發(fā)展,先后出現(xiàn)了技術(shù)蓬勃發(fā)展,先后出現(xiàn)了PowerPC、MIPSR4400、MC88000、Super Spare、Intel0860等高性能等高性能RISC芯片以及相應(yīng)的計(jì)算機(jī);芯片以及相應(yīng)的計(jì)算機(jī);
44、RISC也隨著速度、芯片密度的不斷提高,使也隨著速度、芯片密度的不斷提高,使RISC系系統(tǒng)日趨復(fù)雜;統(tǒng)日趨復(fù)雜; CISC機(jī)采用了部分機(jī)采用了部分RISC先進(jìn)技術(shù)先進(jìn)技術(shù)(強(qiáng)調(diào)指令流水線、強(qiáng)調(diào)指令流水線、分級(jí)分級(jí)Cache 和多設(shè)通用寄存器和多設(shè)通用寄存器),其性能更加提高。,其性能更加提高。5.7 MMX技術(shù)技術(shù) MMX(Microprocessor Media Extension)是是Intel公司為公司為提高提高PC機(jī)處理多媒體和通信能力而推出的新一代處理機(jī)處理多媒體和通信能力而推出的新一代處理器技術(shù),增加器技術(shù),增加8個(gè)個(gè)64位寄存器和位寄存器和57條新指令來實(shí)現(xiàn)。條新指令來實(shí)現(xiàn)。 M
45、MX的由來與特點(diǎn)的由來與特點(diǎn) 多媒體應(yīng)用中的圖形、圖像、視頻、音頻的操作多媒體應(yīng)用中的圖形、圖像、視頻、音頻的操作中存在大量共同特征的操作:中存在大量共同特征的操作: 短整數(shù)類型的并行操作短整數(shù)類型的并行操作(如如8位圖形象素和位圖形象素和16位音頻信號(hào)位音頻信號(hào)); 頻繁的乘法累加頻繁的乘法累加(如如FIR濾波,矩陣運(yùn)算濾波,矩陣運(yùn)算); 短數(shù)據(jù)的高度循環(huán)運(yùn)算短數(shù)據(jù)的高度循環(huán)運(yùn)算(如快速傅里葉變換如快速傅里葉變換FFT、離散、離散余弦變換余弦變換DCT); 計(jì)算密集型算法計(jì)算密集型算法(如三維圖形、視頻壓縮如三維圖形、視頻壓縮); 高度并行操作高度并行操作(如圖像處理如圖像處理)。 MMX技
46、術(shù)與以前的技術(shù)與以前的Intel CPU(簡(jiǎn)稱簡(jiǎn)稱IA-Intel Architecture)結(jié)構(gòu)相比,增加的功能。結(jié)構(gòu)相比,增加的功能。 引進(jìn)了新的數(shù)據(jù)類型和通用寄存器引進(jìn)了新的數(shù)據(jù)類型和通用寄存器 MMX技術(shù)的主要數(shù)據(jù)類型為定點(diǎn)緊縮技術(shù)的主要數(shù)據(jù)類型為定點(diǎn)緊縮(Packed)整數(shù)整數(shù),它定義了,它定義了4種新的種新的64位數(shù)據(jù)類型。位數(shù)據(jù)類型。63 56 55 4831 24 23 16 15 8 7 063 4863 0緊縮字節(jié)緊縮字4字緊縮雙字圖5.17 MMX技術(shù)引入的數(shù)據(jù)類型47323116150 47 406332 3103239(2) 采用采用SIMD(Single Instr
47、uction Multi Data技術(shù)技術(shù)單條指令同時(shí)并行地處理多個(gè)數(shù)據(jù)元素,提高運(yùn)算速單條指令同時(shí)并行地處理多個(gè)數(shù)據(jù)元素,提高運(yùn)算速度。例如,一條指令可以完成圖形度。例如,一條指令可以完成圖形/圖像中圖像中8個(gè)象素個(gè)象素(每每象素象素8位位)的并行操作。的并行操作。(3) 飽和飽和(Situration)運(yùn)算運(yùn)算 環(huán)繞運(yùn)算或稱非飽和運(yùn)算,上溢或下溢的結(jié)果被截取環(huán)繞運(yùn)算或稱非飽和運(yùn)算,上溢或下溢的結(jié)果被截取,返回低有效位值,返回低有效位值,F(xiàn)3H+1DH=10H。 飽和運(yùn)算:上溢與下溢結(jié)果被截取至各類數(shù)據(jù)值域的飽和運(yùn)算:上溢與下溢結(jié)果被截取至各類數(shù)據(jù)值域的最大值或最小值。如,最大值或最小值。如
48、,F(xiàn)3H+1DH=FFH 。 表表5.3 MMX飽和運(yùn)算范圍飽和運(yùn)算范圍 a亮值為亮值為F3H,b點(diǎn)亮度值為點(diǎn)亮度值為1DH,采用非飽和運(yùn)算模,采用非飽和運(yùn)算模式,其線性插值的結(jié)果為式,其線性插值的結(jié)果為10H/2=08H。該結(jié)果的亮度。該結(jié)果的亮度值比值比b點(diǎn)還低。點(diǎn)還低。 引入飽和運(yùn)算后,引入飽和運(yùn)算后,a與與b占亮度插值應(yīng)為:占亮度插值應(yīng)為: FHFFHDHHF72213(4) 兼容性兼容性 MMX技術(shù)與現(xiàn)有的技術(shù)與現(xiàn)有的IA(Intel Architecture)處理器和處理器和OS保持向下兼容,保持向下兼容,IA MMX狀態(tài)建立在狀態(tài)建立在IA浮點(diǎn)狀態(tài)之上浮點(diǎn)狀態(tài)之上,無需增加新的狀
49、態(tài)。,無需增加新的狀態(tài)。 2. MMX指令系統(tǒng)指令系統(tǒng) 早期早期MMX結(jié)構(gòu)中引入了結(jié)構(gòu)中引入了57條新的指令,條新的指令,P4 MMX指指令增為令增為144條,條,SIMD得到了強(qiáng)化,得到了強(qiáng)化,MMX寄存器也擴(kuò)寄存器也擴(kuò)充為充為128位。位。 57條指令分成條指令分成7大類:算術(shù)運(yùn)算指令、邏輯運(yùn)算指令大類:算術(shù)運(yùn)算指令、邏輯運(yùn)算指令、比較指令、轉(zhuǎn)換指令、移位指令、數(shù)據(jù)傳送指令、比較指令、轉(zhuǎn)換指令、移位指令、數(shù)據(jù)傳送指令、置空置空MMX狀態(tài)指令。狀態(tài)指令。(1) 指令句法指令句法數(shù)據(jù)類型:緊縮字節(jié)、緊縮字、緊縮雙字、數(shù)據(jù)類型:緊縮字節(jié)、緊縮字、緊縮雙字、64位字;位字;有符號(hào)數(shù)與無符號(hào)數(shù);環(huán)繞和飽和運(yùn)算。有符號(hào)數(shù)與無符號(hào)數(shù);環(huán)繞和飽和運(yùn)算。一個(gè)時(shí)鐘周期內(nèi)可處理完一個(gè)時(shí)鐘周期內(nèi)可處理完16字節(jié)的數(shù)據(jù)。字節(jié)的數(shù)據(jù)。句法:句法: 詞頭:詞頭:P(Packed)表示緊縮型指令表示緊縮型指令 指令:指令
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 冀教版一年級(jí)下冊(cè)數(shù)學(xué)教學(xué)計(jì)劃(含進(jìn)度表)
- 人教版九年級(jí)下冊(cè)數(shù)學(xué)教學(xué)計(jì)劃(及進(jìn)度表)
- 2025年湖北省中考英語模擬試卷(附答案)
- 2025年第十屆安全生產(chǎn)知識(shí)競(jìng)賽經(jīng)典題庫及答案(共六套)
- 農(nóng)村小吃店開業(yè)致詞簡(jiǎn)短
- 高新科技研發(fā)居間存款合同
- 航空票務(wù)居間服務(wù)合同
- 建筑柴油供應(yīng)居間協(xié)議樣本
- 城市公共交通運(yùn)營合同
- 停車場(chǎng)智能門禁管理系統(tǒng)
- 小學(xué)中年級(jí)數(shù)學(xué)戲劇劇本小熊賣魚
- 《有為神農(nóng)之言者許行》講讀課件
- 櫻桃課件完整
- 設(shè)計(jì)報(bào)價(jià)單模板
- 幼兒行為觀察與分析案例教程第2版全套教學(xué)課件
- 醫(yī)院會(huì)計(jì)制度科目表
- 校本研修教師手冊(cè)電子模板
- 應(yīng)急隊(duì)伍裝備參考目錄和急性傳染病預(yù)防控制技術(shù)資料清單
- 普通地質(zhì)學(xué)-第四章-巖石課件
- 《E時(shí)代大學(xué)英語-讀寫教程4》教案
- 一種陸空一體垂直起降飛行汽車的制作方法
評(píng)論
0/150
提交評(píng)論