第2章微處理器與指令系統(tǒng)(3-16)_第1頁
第2章微處理器與指令系統(tǒng)(3-16)_第2頁
第2章微處理器與指令系統(tǒng)(3-16)_第3頁
第2章微處理器與指令系統(tǒng)(3-16)_第4頁
第2章微處理器與指令系統(tǒng)(3-16)_第5頁
已閱讀5頁,還剩135頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2-1第二章第二章 微處理器和指令系統(tǒng)微處理器和指令系統(tǒng)2.1 2.1 IntelIntel系列微處理器概述系列微處理器概述2.2 2.2 8086/8088微處理器微處理器2.3 2.3 Pentium微處理器微處理器2.4 2.4 PentiumPentium微處理器指令系統(tǒng)微處理器指令系統(tǒng)2-22.1.12.1.1 8086/8088 8086/8088 微處理器微處理器2.1.2 80486 2.1.2 80486 微處理器微處理器2.1.3 Pentium 2.1.3 Pentium 微處理器微處理器(80586)(80586)2.1.4 Pentium Pro 2.1.4 Pent

2、ium Pro 微處理器微處理器2.1.5 Pentium 2.1.5 Pentium 微處理器微處理器2.1.6 Pentium 2.1.6 Pentium 微處理器微處理器2.1.7 Pentium 4 2.1.7 Pentium 4 微處理器微處理器2.1 2.1 IntelIntel系列微處理器概述系列微處理器概述2-32.1.1 2.1.1 8086/8088 8086/8088 微處理器微處理器 8086 8086是是19781978年推出的全年推出的全1616位微處理器位微處理器, 8088, 8088是是19781978年推出的準年推出的準1616位微處理器。二者除外數據總線位

3、數(位微處理器。二者除外數據總線位數(80868086為為1616位,位,80888088為為8 8位)及與此相關的部分邏輯稍有差別外位)及與此相關的部分邏輯稍有差別外, ,內部結構和基本性能相同內部結構和基本性能相同, ,指令系統(tǒng)完全兼容。指令系統(tǒng)完全兼容。 在在8086/80888086/8088的設計中,引入了兩個重要的結構概念:的設計中,引入了兩個重要的結構概念: 指令流水線指令流水線 存儲器分段存儲器分段 這兩個概念在以后升級的這兩個概念在以后升級的IntelIntel系列微處理器中一直被沿用和發(fā)系列微處理器中一直被沿用和發(fā)展。正是這兩個概念的引入,使展。正是這兩個概念的引入,使80

4、86/80888086/8088比原來的比原來的8 8位位MPUMPU在運行速在運行速度、處理能力和對存儲空間的訪問等性能方面有很大提高。度、處理能力和對存儲空間的訪問等性能方面有很大提高。2-42.1.2 2.1.2 8048680486微處理器微處理器 1.1.內部寄存器的容量都擴充到了內部寄存器的容量都擴充到了3232位或以上,具有全位或以上,具有全3232 位數據處理能力,并可進行位數據處理能力,并可進行6464位的數據運算。位的數據運算。 2. 2.片內存儲管理部件可實現(xiàn)段頁式存儲管理片內存儲管理部件可實現(xiàn)段頁式存儲管理, ,比比8028680286可可 提供更大的虛擬存儲空間和物理

5、存儲空間。提供更大的虛擬存儲空間和物理存儲空間。 3. 3.新增了一種保護模式下的工作方式新增了一種保護模式下的工作方式, ,即虛擬即虛擬80868086方式。方式。 4. 4.指令流水線增加到了指令流水線增加到了6 6級。級。 5. 5.提供了提供了3232位外部總線接口,最大數據傳輸速率顯著提位外部總線接口,最大數據傳輸速率顯著提 高。高。 8048680486是繼是繼8038680386之后推出的第二代之后推出的第二代3232位高性能微處理器位高性能微處理器, ,它以提高性能和面向多處理器系統(tǒng)為主要目標。它以提高性能和面向多處理器系統(tǒng)為主要目標。8048680486繼承了繼承了80386

6、80386的各種優(yōu)點,表現(xiàn)在以下幾方面:的各種優(yōu)點,表現(xiàn)在以下幾方面:2-52.1.2 2.1.2 8048680486微處理器微處理器 1. 1.片內集成了一個浮點運算單元片內集成了一個浮點運算單元FPU FPU 。 2. 2.內含一個內含一個8 8KBKB的數據與指令合用的的數據與指令合用的CacheCache。 3. 3.采用采用RISCRISC技術。技術。使芯片內的不規(guī)則控制部分減少,同使芯片內的不規(guī)則控制部分減少,同時常用基本指令采用硬件邏輯控制執(zhí)行,使基本指令可以用時常用基本指令采用硬件邏輯控制執(zhí)行,使基本指令可以用一個時鐘周期完成。一個時鐘周期完成。 4. 4.采用一種突發(fā)總線(

7、采用一種突發(fā)總線(Burst BusBurst Bus)的技術。的技術。使取得一使取得一個地址后,與該地址相關的一組數據可以連續(xù)輸入個地址后,與該地址相關的一組數據可以連續(xù)輸入/ /輸出輸出, ,有有效地解決了微處理器同內存儲器之間的數據交換問題。效地解決了微處理器同內存儲器之間的數據交換問題。 5. 5.面向多處理器結構,增加了支持多機操作的指令。面向多處理器結構,增加了支持多機操作的指令。 除以上除以上8038680386、8048680486共有的特點之外,共有的特點之外,8048680486也采用了也采用了許多新技術:許多新技術: 2-62.1.2.1.3 Pentium3 Penti

8、um微處理器(微處理器(8058680586) 1.1.采用超標量體系結構。采用超標量體系結構。 2. 2.內置的浮點運算部件采用超流水線技術。內置的浮點運算部件采用超流水線技術。 3. 3.增加了分支指令預測。增加了分支指令預測。 4. 4.內置了指令和數據兩個獨立的超高速緩存器,內置了指令和數據兩個獨立的超高速緩存器,避免了預取指令和數據可能發(fā)生的沖突。避免了預取指令和數據可能發(fā)生的沖突。 Pentium Pentium是一種高性能的是一種高性能的3232位微處理器。其對位微處理器。其對8048680486作了下列重大改進:作了下列重大改進:2-7 5. 5.采用采用6464位外部數據總線

9、。位外部數據總線。 6. 6.引入了大型機中采用的引入了大型機中采用的內部錯誤檢測、功能冗余檢驗內部錯誤檢測、功能冗余檢驗和錯誤報告等自診斷功能。和錯誤報告等自診斷功能。 7. 7.進行了更多的可測性設計。進行了更多的可測性設計。 8. 8.提供了獨特的性能監(jiān)察功能,以利于軟、提供了獨特的性能監(jiān)察功能,以利于軟、硬件產品的優(yōu)化和升級。硬件產品的優(yōu)化和升級。 9. 9.提供了靈活的存儲器頁面管理。提供了靈活的存儲器頁面管理。2.1.2.1.3 Pentium3 Pentium微處理器(微處理器(8058680586)2-8n精簡指令集技術。精簡指令集技術。n二級緩沖結構。二級緩沖結構。n亂序執(zhí)行

10、和預測執(zhí)行技術。亂序執(zhí)行和預測執(zhí)行技術。n三級超標量和三級超標量和1414級超流水線結構。級超流水線結構。n寄存器重命名技術寄存器重命名技術 2.1.2.1.4 Pentium Pro4 Pentium Pro微處理器微處理器 簡稱簡稱P6P6,中文名為中文名為“高高能奔騰能奔騰”。在體系結構中采。在體系結構中采用了許多新的思想和新的技用了許多新的思想和新的技術:術:2-92.1.2.1.5 Pentium 5 Pentium 微處理器微處理器 P6P6級微處理器的第二代產品,從級微處理器的第二代產品,從系統(tǒng)結構角度看,主要采用了以下幾系統(tǒng)結構角度看,主要采用了以下幾種先進技術:種先進技術:n

11、采用了由三種創(chuàng)新處理技巧結合的采用了由三種創(chuàng)新處理技巧結合的動態(tài)執(zhí)行技術動態(tài)執(zhí)行技術,即:多分支預測、數據流分析和推測執(zhí)行。即:多分支預測、數據流分析和推測執(zhí)行。n雙重獨立總線技術(雙重獨立總線技術(DIB, Dual Independent BusDIB, Dual Independent Bus) 多媒體增強技術(多媒體增強技術(MMXMMX技術)技術) 采用單指令流多數據流采用單指令流多數據流SIMDSIMD技術技術 新增加了新增加了5757條功能強大的條功能強大的MMXMMX指令指令2-102.1.2.1.6 Pentium 6 Pentium 微處理器微處理器 Pentium Pen

12、tium 是第三代是第三代P6P6級微處級微處理器產品。與理器產品。與PentiumPentium相比相比, ,有如有如下改進:下改進:n前端總線的時鐘頻率為前端總線的時鐘頻率為100MHz 100MHz ( (采用采用0.180.18mm新工藝的新工藝的Pentium Pentium ,其前端總線達到其前端總線達到133133MHz)MHz)。n將將256256KBKB的的L2 CacheL2 Cache集成到了芯片內。集成到了芯片內。n增加了增加了 7070條流式單指令多數據擴展條流式單指令多數據擴展SSESSE指令。指令。n首次設置了處理器序列號首次設置了處理器序列號PSNPSN。2-1

13、12.1.2.1.7 Pentium 47 Pentium 4微處理器微處理器 1. 1.采用了超級管道技術,使用長采用了超級管道技術,使用長達達2020級的分支預測級的分支預測/ /恢復管道,而恢復管道,而P6P6只有只有1010級。級。 2. 2.它的簡單算術邏輯單元它的簡單算術邏輯單元(ALU) (ALU) 采用采用2 2倍的處理器倍的處理器核心頻率運行。核心頻率運行。 3. 3.動態(tài)執(zhí)行技術中的指令池能容下動態(tài)執(zhí)行技術中的指令池能容下126126條指令。條指令。 4. 4.內含一個內含一個4KB4KB的分支目標緩沖。的分支目標緩沖。 5 5. .增加了由增加了由144144條新指令組成

14、的條新指令組成的SSE2SSE2。 它是第一個非它是第一個非P6P6核心結構的全新核心結構的全新3232位微處理器,與位微處理器,與P6P6級微處理器相比,級微處理器相比,主要結構特點如下:主要結構特點如下:2-122.2 2.2 8086/80888086/8088微處理器微處理器內部結構內部結構指令流水線指令流水線存儲器分段存儲器分段 8086 8086是全是全1616位微處理器,位微處理器,80888088是準是準1616位微處理器。二位微處理器。二者除了外數據總線位數及與此相關的部分邏輯稍有差別外,者除了外數據總線位數及與此相關的部分邏輯稍有差別外,內部結構和基本性能相同,指令系統(tǒng)完全

15、兼容。內部結構和基本性能相同,指令系統(tǒng)完全兼容。 2-131.1.內部結構內部結構2.2 2.2 8086/80888086/8088微處理器微處理器20位位 ABEU控制電路控制電路總線總線控制電路控制電路通用寄存器通用寄存器累加器累加器基址寄存器基址寄存器計數寄存器計數寄存器數據寄存器數據寄存器堆棧指針堆棧指針基址指針基址指針目的變址目的變址源變址源變址指針寄存器指針寄存器變址寄存器變址寄存器地址加法器地址加法器運算暫存器運算暫存器ALU標志寄存器標志寄存器指令指針指令指針內部暫存器內部暫存器指令隊列指令隊列總線接口單元總線接口單元( (BIU)BIU)執(zhí)行單元執(zhí)行單元( (EU)EU)外

16、部總線外部總線8086/8088DB8088:8位位8086:16位位C CS S DSDSSSSSESESI IP P1 2 3 4 5 61 2 3 4 5 68 8位位80888086AX AH ALBX BH BLCX CH CLDX DH DL SPBPDISIALU DB1616位位2-142.2.指令流水線指令流水線 指令隊列的存在使指令隊列的存在使EUEU和和BIUBIU并行工作并行工作, ,取指令和分析、取指令和分析、執(zhí)行指令操作可重疊進行,形成了兩級指令流水線結構,執(zhí)行指令操作可重疊進行,形成了兩級指令流水線結構,減少了減少了CPUCPU等待時間,提高了等待時間,提高了CP

17、UCPU的利用率,加快了整機的利用率,加快了整機運行速度,降低了對存儲器存取速度的要求。運行速度,降低了對存儲器存取速度的要求。取指令取指令1 1 取指令取指令2 2 取數據取數據1 1 取指令取指令3 3 存結果存結果1 1 取指令取指令4 4 取指令取指令5 5 等待等待 譯碼譯碼1 1 執(zhí)行執(zhí)行1 1 譯碼譯碼2 2 執(zhí)行執(zhí)行2 2 譯碼譯碼3 3 BIUBIUEUEU 8086/8088 8086/8088的指令的指令“流水流水”操作操作2.2 2.2 8086/80888086/8088微處理器微處理器2-15 將將1 1MBMB的物理存儲空的物理存儲空間分成若干個邏輯段間分成若干個

18、邏輯段, ,每每段大小為段大小為6464KBKB。 64KB30000H( (段基址段基址) ) 段的起始單元地址段的起始單元地址叫叫段基址段基址,存放在段寄,存放在段寄存器中。通過存器中。通過4 4個段寄個段寄存器,存器,CPUCPU每次可同時每次可同時對對4 4個段進行尋址。個段進行尋址。3.3.存儲器分段存儲器分段2.2 2.2 8086/80888086/8088微處理器微處理器內存內存 00000H00001H00002H00003HFFFFFH2-16 分段方式不分段方式不唯一,各段之間唯一,各段之間可以連續(xù)、分離、可以連續(xù)、分離、部分重疊或完全部分重疊或完全重疊,這主要取重疊,這

19、主要取決于對各個段寄決于對各個段寄存器的預置內容。存器的預置內容。2.2 2.2 8086/80888086/8088微處理器微處理器1000H2000H3100H3100H代碼段代碼段(64KB)堆棧段堆棧段(64KB)數據段與數據段與附加數據附加數據段重疊段重疊(64KB)CS10000H20000H31000HSSDSES1FFFFH2FFFFH40FFFH 存儲器分段結構示例2-17 物理地址物理地址是是1 1MBMB存儲存儲空間中的某一單元地址,空間中的某一單元地址,用用2020位地址碼表示位地址碼表示, ,CPUCPU訪問存儲器時,地址總訪問存儲器時,地址總線上送出的就是物理地線上

20、送出的就是物理地址。址。 邏輯地址邏輯地址在編程時在編程時采用,由段基址和偏移采用,由段基址和偏移地址組成,兩者均為地址組成,兩者均為1616位。位。內存內存20000H20A00H0A00H物理地址物理地址20A00H邏輯地址邏輯地址2000 物理地址和邏輯地址物理地址和邏輯地址2.2 2.2 8086/80888086/8088微處理器微處理器2-18邏輯地址與邏輯地址與2020位物理地址的變換關系:位物理地址的變換關系: 物理地址物理地址= =段基址段基址16+16+偏移地址偏移地址偏移地址偏移地址段基址段基址段基址段基址 0000 00002020位物理地址位物理地址邏輯地址邏輯地址1

21、5 0 15 015 0 15 0 左移四位左移四位19 019 0地址地址加法器加法器 邏輯邏輯地址與物理地址的變換地址與物理地址的變換2.2 2.2 8086/80888086/8088微處理器微處理器2-19 2.3 2.3 PentiumPentium微處理器微處理器2.3.1 2.3.1 內部結構與外部引腳內部結構與外部引腳2.3.2 2.3.2 內部寄存器內部寄存器2.3.3 2.3.3 PentiumPentium的四種工作方式的四種工作方式2-20 PentiumPentium在結構上由如下功能部件組成:在結構上由如下功能部件組成: 整數執(zhí)行單元整數執(zhí)行單元 浮點單元浮點單元

22、指令指令CacheCache和數據和數據CacheCache 指令預取單元指令預取單元 指令譯碼單元指令譯碼單元 地址轉換與管理單元地址轉換與管理單元 總線接口單元總線接口單元 控制單元控制單元 這些功能部件除地址轉換與管理單元與這些功能部件除地址轉換與管理單元與80386/8048680386/80486保持兼容外,其他都進行了重新設計。保持兼容外,其他都進行了重新設計。 2.3.1 2.3.1 內部結構和外部引腳內部結構和外部引腳2-211. 內部結構內部結構地址地址轉換轉換與與存儲存儲管理管理單元單元APICDP邏輯邏輯控制控制ROM浮點單元浮點單元8KB指令指令高速緩存高速緩存TLB預

23、取預取地址地址指令預取單元指令預取單元指令譯碼單元指令譯碼單元總線總線單元單元8KB數據數據高速緩存高速緩存TLB控制單元控制單元地址生成地址生成U流水線流水線地址生成地址生成V流水線流水線整數寄存器組整數寄存器組ALUU流水線流水線ALUV流水線流水線控制控制寄存器組寄存器組加法加法除法除法乘法乘法桶形移位器桶形移位器控制控制指令指令指針指針分支檢驗分支檢驗與目標地址與目標地址32位位地址地址總線總線323232326464位數位數據總線據總線數據數據控制控制控制控制64位位數據數據總線總線32位地位地址總線址總線分支目標分支目標緩沖器緩沖器32323280802.2.1 2.2.1 內部結

24、構和外部引腳內部結構和外部引腳1)1)總線接口單元總線接口單元 主要用于管理訪問外主要用于管理訪問外部存儲器和部存儲器和 I/OI/O端口必端口必須的地址、數據和控制須的地址、數據和控制總線,完成預取指令、總線,完成預取指令、讀讀/ /寫數據等總線操作。寫數據等總線操作。2) 2) 整數執(zhí)行單元整數執(zhí)行單元 由由“U U”和和“V V”兩條指令兩條指令流水線構成超標量流水線流水線構成超標量流水線結構,其中每條流水線都結構,其中每條流水線都有自己的有自己的ALUALU、 地址生成地址生成邏輯和邏輯和CacheCache接口。接口。3)3)預取緩沖單元預取緩沖單元 預取緩沖單元在總線預取緩沖單元在

25、總線接口單元空閑時,負責接口單元空閑時,負責提前去內存或指令提前去內存或指令CacheCache預取指令。其指令預取預取指令。其指令預取緩沖器在前一條指令執(zhí)緩沖器在前一條指令執(zhí)行結束之前可以預取多行結束之前可以預取多達達9494個字節(jié)的指令代碼。個字節(jié)的指令代碼。4)4)指令譯碼單元指令譯碼單元 將預取的指令譯成將預取的指令譯成PentiumPentium可以執(zhí)行的控制信號并送控可以執(zhí)行的控制信號并送控制單元。對絕大多數指令來制單元。對絕大多數指令來說說, ,PentiumPentium微處理器可以做微處理器可以做到每個時鐘周期以并行方式到每個時鐘周期以并行方式完成兩條指令的譯碼操作。完成兩條

26、指令的譯碼操作。 5)5)控制單元控制單元 負責解釋來自指令譯碼負責解釋來自指令譯碼單元的指令字和控制單元的指令字和控制ROMROM的微代碼??刂撇考妮數奈⒋a??刂撇考妮敵鲋苯涌刂苾蓷l指令流水出直接控制兩條指令流水線和浮點單元。線和浮點單元。 6)6)地址轉換與存儲管理單元地址轉換與存儲管理單元 Pentium Pentium的地址轉換與存儲的地址轉換與存儲管理單元與管理單元與80386/8048680386/80486保持保持完全兼容,由分段和分頁部完全兼容,由分段和分頁部件組成。件組成。PentiumPentium除繼續(xù)支持除繼續(xù)支持4 4KBKB大小的頁面外,還允許使大小的頁面外,

27、還允許使用高達用高達4 4MBMB的頁面,從而減少的頁面,從而減少了頁面切換的頻率,并加快了頁面切換的頻率,并加快了某些應用程序的執(zhí)行。了某些應用程序的執(zhí)行。 7)7)獨立的指令獨立的指令CacheCache和和 數據數據CacheCache PentiumPentium片內有兩個片內有兩個8 8KBKB的超高速緩存器,的超高速緩存器,一個是指令一個是指令CacheCache,一一個是數據個是數據CacheCache。指令指令和數據分別使用不同的和數據分別使用不同的CacheCache,使使PentiumPentium中數中數據和指令的存取減少了據和指令的存取減少了沖突,提高了性能。沖突,提高

28、了性能。 8) 8) 浮點運算單元浮點運算單元2-222. Pentium2. Pentium的外部引腳的外部引腳Inter Pentium CPU寫順序寫順序控制控制總線總線地址總線地址總線 CLK PRDY R/SHLDA IBT IV IU 模式模式探針探針執(zhí)行跟蹤執(zhí)行跟蹤 TDITMS TRST RESET TCK TDO BUSCHKFRCMCSMI NMI IERR FREE IGNNESMIACT BREQHOLD BOFF INIT INTREWBEWB/WTFLUSHKENPWTPCDNA INVAPCHKPCHKPENW/RM/IOADSD/CSCYCLOCKCACHEBR

29、DYAHOLDEADSHITHITMAP時鐘時鐘 初始化初始化 中斷中斷控制控制緩存緩存高速高速內部出錯內部出錯浮點錯浮點錯余檢測余檢測功能冗功能冗理模式理模式系統(tǒng)管系統(tǒng)管測試訪問測試訪問期定義期定義總線周總線周總線仲裁總線仲裁總線周期總線周期錯錯數據總線數據總線偶校驗偶校驗數據奇數據奇地址屏蔽地址屏蔽偶校驗偶校驗地址奇地址奇斷斷點點/ /性性能能檢檢測測A31A3BE7BE0A20MD63D0DP7DP0BT3BT0BP3BP2PM1/BP1PM0/BP02-23基本寄存器基本寄存器系統(tǒng)級寄存器系統(tǒng)級寄存器調試和調試和模型專用模型專用寄存器寄存器 浮點寄存器浮點寄存器PentiumPenti

30、um的內部寄存器,按功能可分為的內部寄存器,按功能可分為4 4類:類:2.3.2 2.3.2 PentiumPentium內部寄存器內部寄存器2-242.3.2 2.3.2 PentiumPentium內部寄存器內部寄存器標志寄存器標志寄存器指令指針寄存器指令指針寄存器EFLAGSEFLAGSFLAGSFLAGSEIPEIPIPIP31 15 031 15 031 15 031 15 031 16 15 7 031 16 15 7 0通通 用用 寄寄 存存 器器EAX EAX AH AH AX AX ALALEBX EBX BH BH BX BX BLBLECX ECX CHCH CX CX

31、CLCLEDX EDX DHDH DX DX DLDLEDI DIEDI DIESI SIESI SIEBP BPEBP BPESP SPESP SP1. 1. 基本寄存器基本寄存器選擇器選擇器CSCSSSSSDSDSESESFSFSGSGS15 0 63 015 0 63 0描述符高速緩存器描述符高速緩存器段段 寄寄 存存 器器 EIP EIP用于保存下一條用于保存下一條待預取指令相對于代碼基待預取指令相對于代碼基址的偏移量。它的低址的偏移量。它的低1616位位也可單獨訪問,稱之為也可單獨訪問,稱之為IPIP。2-25 標志寄存器位定義標志寄存器位定義2.3.2 2.3.2 PentiumP

32、entium內部寄存器內部寄存器C CF FEFLAGSEFLAGSFLAGSFLAGS31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0A AC CV VMMR RF F0 0N NT TIOPLIOPLO OF FD DF FI IF FT TF FS SF FZ ZF F0 0A AF F0 0P P

33、F F0 0X X 對準檢查標志對準檢查標志X X 虛擬虛擬8686模式標志模式標志X X 恢復標志恢復標志X X 嵌套標志嵌套標志X X 特權級標志特權級標志S S 溢出標志溢出標志C C 方向標志方向標志X X 中斷允許標志中斷允許標志X X 自陷標志自陷標志S S 符號標志符號標志S S 零標志零標志S S 輔助進位標志輔助進位標志S S 奇偶標志奇偶標志S S 進位標志進位標志注注: :S S表示狀態(tài)標志表示狀態(tài)標志, ,X X表示系統(tǒng)標志表示系統(tǒng)標志, ,C C表示控制標志表示控制標志X X 虛擬中斷標志虛擬中斷標志X IDX ID標志標志X X 虛擬中斷掛起虛擬中斷掛起0 0 0

34、0 0 0 0 0 0 0VIFVIPI ID D2-26選擇器選擇器描述符高速緩存器描述符高速緩存器CSSSDSESFSGS15 0 63 015 0 63 0段段寄寄存存器器 段寄存器段寄存器PentiumPentium有有6 6個段寄存器:個段寄存器:2.3.2 2.3.2 PentiumPentium內部寄存器內部寄存器CS-CS-指明當前的代碼段指明當前的代碼段SS-SS-指明當前的堆棧段指明當前的堆棧段DSDSESESFS FS GSGS決定程序使用決定程序使用存儲器區(qū)域塊存儲器區(qū)域塊指明當前的指明當前的4 4個數據段個數據段編程者可直編程者可直接訪問的接訪問的編程者不能編程者不能

35、訪問的訪問的2-27實地址方式和虛擬實地址方式和虛擬80868086方式下相同,段的長度固方式下相同,段的長度固定為定為6464KB,KB,段選擇器就是段寄存器段選擇器就是段寄存器, ,它保存的是邏它保存的是邏輯段基址的高輯段基址的高1616位,將它的內容左移位,將它的內容左移4 4位即可得到位即可得到實際段基址,而不必使用描述符高速緩存器。實際段基址,而不必使用描述符高速緩存器。XXXX在保護虛地址方式下,段的長度可以在在保護虛地址方式下,段的長度可以在1 1字節(jié)到字節(jié)到4 4G G字節(jié)之間變化;為了描述每個段的基址、屬性字節(jié)之間變化;為了描述每個段的基址、屬性和邊界,為每個段定義了一個和邊

36、界,為每個段定義了一個描述符描述符。操作系統(tǒng)。操作系統(tǒng)使用的各任務公用的段描述符放在一起構成使用的各任務公用的段描述符放在一起構成全局全局描述符表描述符表GDTGDT;某個任務專用的段描述符放在一起某個任務專用的段描述符放在一起構成構成局部描述符表局部描述符表LDTLDT。PentiumPentium段的定義與段的定義與80868086有所不同:有所不同:2.3.2 2.3.2 PentiumPentium內部寄存器內部寄存器2-28XXXX 描述符與描述符表描述符與描述符表GDTLDT描述符描述符0描述符描述符1 1描述符描述符0 0描述符描述符1 1GDTRGDTRLDTRLDTR+0+0

37、+1+1+2+2+3+3+4+4+5+5+6+6+7+7段邊界段邊界7 70 0位位段邊界段邊界15158 8位位段基址段基址7 70 0位位段基址段基址15158 8位位段基址段基址23231616位位屬性屬性段邊界段邊界4 4位位段基址段基址31312424位位屬性屬性描述符格式描述符格式2.3.2 2.3.2 PentiumPentium內部寄存器內部寄存器2-29XXXX 段的的選擇符段的的選擇符 為了說明一個段的描述符在哪個表中,表的序號是為了說明一個段的描述符在哪個表中,表的序號是多少以及特權的高低,為每個段定義了一個多少以及特權的高低,為每個段定義了一個1616位的選擇位的選擇符

38、,存于段選擇器中,其格式為:符,存于段選擇器中,其格式為:描述符索引描述符索引段描述符段描述符iLDTGDT0 1INDEX TI RPLb15 b3 b2 b1 b0表指示符表指示符描述符描述符i(0 089118911)段描述符段描述符0描述符描述符000 00 特權級特權級0 001 01 特權級特權級1 110 10 特權級特權級2 211 11 特權級特權級3 3請求特權級請求特權級2.3.2 2.3.2 PentiumPentium內部寄存器內部寄存器2-30 XXXX將一個選擇符裝入一個段選擇器時,處理器將自將一個選擇符裝入一個段選擇器時,處理器將自動從動從GDTGDT或或LDT

39、LDT中找到其對應的描述符裝入相應描述符高中找到其對應的描述符裝入相應描述符高速緩存器中。速緩存器中。2.3.2 2.3.2 PentiumPentium內部寄存器內部寄存器描述符描述符6464基址基址物理存儲器物理存儲器LDTLDTDSDS數據段數據段0040H界限界限15 3 215 3 2描述符高速緩存器描述符高速緩存器DSDS選擇符選擇符63 063 0屬性屬性裝入裝入DSDS段描述符段描述符TI=1TI=1指示指示LDTLDT1313位索引指向位索引指向LDTLDT的第的第6464個段描述符個段描述符13131010 以后,每當訪問存儲器時,與所用段相關的段描述符高以后,每當訪問存儲

40、器時,與所用段相關的段描述符高速緩沖器就自動參與該次存儲器訪問操作。轉換關系速緩沖器就自動參與該次存儲器訪問操作。轉換關系: 線性地址線性地址 = = 段描述符高速緩存器中段基址段描述符高速緩存器中段基址 + + 偏移地址偏移地址 2-31 PentiumPentium微處理器中包含一組系統(tǒng)級寄存器微處理器中包含一組系統(tǒng)級寄存器: :即即5 5個個控制寄存器控制寄存器CRCR0 0CRCR4 4和和4 4個個系統(tǒng)地址寄存器系統(tǒng)地址寄存器。這些寄存器只能由在特權級這些寄存器只能由在特權級 0 0上運行的程序(一上運行的程序(一般是操作系統(tǒng))訪問。般是操作系統(tǒng))訪問。 2.2.2 2.2.2 Pe

41、ntiumPentium內部寄存器內部寄存器 控制寄存器控制寄存器 Pentium Pentium在在8048680486控制寄存器控制寄存器CR0CR0CR3CR3的基礎的基礎上新增了一個控制寄存器上新增了一個控制寄存器CRCR4 4, ,這些寄存器用來存這些寄存器用來存放全局特性的機器狀態(tài)和實現(xiàn)對放全局特性的機器狀態(tài)和實現(xiàn)對8080X86/ PentiumX86/ Pentium微處理器的多種功能的控制與選擇。微處理器的多種功能的控制與選擇。 XXXX2.2.系統(tǒng)級寄存器系統(tǒng)級寄存器2-32數字運算錯數字運算錯頁頁FaultFault線性地址線性地址保保 留留31 30 29 31 30

42、29 7 6 7 6 5 5 4 3 4 3 2 2 1 1 0 0頁管理頁管理 使能使能CacheCache不使能不使能不通寫不通寫對準標志對準標志寫保護寫保護保護允許保護允許監(jiān)視監(jiān)視FPUFPU仿真仿真FPUFPU任務轉換任務轉換FPUFPU類型類型PGPGCDCDNWNW保留保留 AMAMWPWP保留保留NENEETET TSTSEMEMMPMP PEPEVMEPVITSDPCDMCE0PWTPSEDE0 0 0 0 頁目錄基址頁目錄基址2.3.2 2.3.2 PentiumPentium內部寄存器內部寄存器CR0CR4CR3CR2CR1XXXX 控制寄存器格式控制寄存器格式: :2-3

43、3XXXX 系統(tǒng)地址寄存器系統(tǒng)地址寄存器2.3.2 2.3.2 PentiumPentium的內部寄存器的內部寄存器系統(tǒng)地址寄存器系統(tǒng)地址寄存器 其中其中GDTRGDTR和和LDTRLDTR分別用來存放分別用來存放GDTGDT和和LDTLDT的的3232位線性基位線性基地址等內容;地址等內容;IDTRIDTR用來存放中斷描述符表的基址和界限;用來存放中斷描述符表的基址和界限;TRTR用來存放任務狀態(tài)段用來存放任務狀態(tài)段( (TSS)TSS)的基址、界限和其他屬性。的基址、界限和其他屬性。 只在保護方式下使用,所以又叫保護方式寄存器。用只在保護方式下使用,所以又叫保護方式寄存器。用于把在保護方式

44、下常用的數據基地址、界限和其他屬性保于把在保護方式下常用的數據基地址、界限和其他屬性保存起來,以確保其快速性。存起來,以確保其快速性。3232位基地址位基地址1616位界限位界限GDTRGDTRIDTRIDTR1616位選擇符位選擇符3232位基地址位基地址1616位界限位界限1616位其他屬性位其他屬性LDTRLDTRTRTR2-34 Pentium Pentium處理器中提供了一組調試寄存器和一組模型處理器中提供了一組調試寄存器和一組模型專用寄存器,用于排除故障和用于執(zhí)行跟蹤、性能監(jiān)測、專用寄存器,用于排除故障和用于執(zhí)行跟蹤、性能監(jiān)測、測試及機器檢查錯誤。測試及機器檢查錯誤。 2.3.2

45、2.3.2 PentiumPentium的內部寄存器的內部寄存器31 0 31 0 線性斷點地址線性斷點地址0 0線性斷點地址線性斷點地址1 1線性斷點地址線性斷點地址2 2線性斷點地址線性斷點地址3 3DR6DR6的別名的別名DR6DR6的別名的別名斷點狀態(tài)斷點狀態(tài)斷點控制斷點控制調試寄存器調試寄存器DR0DR0DR1DR1DR2DR2DR3DR3DR4DR4DR5DR5DR6DR6DR7DR7 (1) (1) 調試寄存器調試寄存器 調試寄存器如圖所示,這調試寄存器如圖所示,這是一組是一組3232位的寄存器,是程序位的寄存器,是程序員可訪問的,提供片上支持調員可訪問的,提供片上支持調試。試。

46、XXXX3.3.調試和模型專用寄存器調試和模型專用寄存器2-35 Pentium Pentium處理器取消了處理器取消了80386/8048680386/80486中的測中的測試寄存器試寄存器TRTR,其功能由一組其功能由一組“模型專用寄存器模型專用寄存器” MSR(Model Special Register)MSR(Model Special Register)來實現(xiàn),這一組來實現(xiàn),這一組MSRMSR用于用于執(zhí)行跟蹤、性能監(jiān)測、測試和機器檢查執(zhí)行跟蹤、性能監(jiān)測、測試和機器檢查錯誤錯誤。 Pentium Pentium處理器采用兩條指令處理器采用兩條指令RDMSR(RDMSR(讀讀MSR)M

47、SR)和和WRMSR(WRMSR(寫寫MSR)MSR)來訪問這些寄存器,來訪問這些寄存器,ECXECX中的值中的值(8(8位值位值) )確定將訪問該組寄存器中哪一個確定將訪問該組寄存器中哪一個MSRMSR。 2.3.2 2.3.2 PentiumPentium的內部寄存器的內部寄存器XXXX(2) (2) 模型專用寄存器模型專用寄存器2-362.3.3 2.3.3 PentiumPentium的四種工作方式的四種工作方式CPUCPU復位復位RSMRSM復位復位或或RSMRSMVM=0VM=0VM=1VM=1復位復位復位復位或或PE=0PE=0使使CRCR0 0的的PE=1PE=1系統(tǒng)管系統(tǒng)管理

48、方式理方式保護保護方式方式虛擬虛擬80868086方式方式RSMRSMSMISMI實地址實地址方式方式SMISMISMISMI實地址實地址方式方式實地址方式實地址方式:工作原理工作原理與與80868086基本相同,主要基本相同,主要區(qū)別是借助操作數長度區(qū)別是借助操作數長度前綴能處理前綴能處理3232位數據,位數據,運行速度也更高,且可運行速度也更高,且可使用使用4 4個數據段。個數據段。保護保護方式方式保護方式:保護方式:CPUCPU可訪問的物理存可訪問的物理存儲空間為儲空間為2 23232= 4= 4GBGB;程序可用程序可用的虛擬地址空間為的虛擬地址空間為2 24646=64=64TBTB

49、。段長度在啟動頁功能時是段長度在啟動頁功能時是4 4GBGB,不啟動頁功能時是不啟動頁功能時是1 1MBMB??芍Э芍С侄嘤脩艉蛦斡脩舻亩嗳蝿詹俪侄嘤脩艉蛦斡脩舻亩嗳蝿詹僮髯? ,并對各任務提供了多方面并對各任務提供了多方面的保護機制。的保護機制。虛擬虛擬80868086方式方式虛擬虛擬80868086方式:方式:既有保護功能又能既有保護功能又能執(zhí)行執(zhí)行80868086代碼的工作方式,是保護代碼的工作方式,是保護方式的一種子方式。方式的一種子方式。CPUCPU的工作原理的工作原理與保護虛地址方式下相同,但程序與保護虛地址方式下相同,但程序指定的邏輯地址解釋與指定的邏輯地址解釋與80868086

50、相同。相同。系統(tǒng)系統(tǒng)管理管理方式方式系統(tǒng)管理方式:系統(tǒng)管理方式:使設計使設計者實現(xiàn)高級管理功能,者實現(xiàn)高級管理功能,如對電源的管理以及為如對電源的管理以及為操作系統(tǒng)和正在運行的操作系統(tǒng)和正在運行的程序提供安全性。程序提供安全性。2-372.4 2.4 PentiumPentium微處理器指令系統(tǒng)微處理器指令系統(tǒng)2.4.1 2.4.1 基本數據類型基本數據類型2.4.2 2.4.2 操作數尋址方式操作數尋址方式2.4.3 2.4.3 PentiumPentium指令系統(tǒng)概貌指令系統(tǒng)概貌2.4.4 2.4.4 數據傳送類指令數據傳送類指令2.4.5 2.4.5 算術運算類指令算術運算類指令2.4.

51、6 2.4.6 邏輯運算和移位指令邏輯運算和移位指令2.4.7 2.4.7 串操作類指令串操作類指令2.4.8 2.4.8 控制轉移類指令控制轉移類指令2-38 Pentium Pentium在其內部定點處理單元在其內部定點處理單元CPUCPU和浮點處理單元和浮點處理單元FPUFPU的支持下,共可處理的支持下,共可處理7 7類數據:類數據:1. 1. 無符號二進制數無符號二進制數2. 2. 帶符號的二進制定點整數帶符號的二進制定點整數3. 3. 浮點數浮點數4. 4. BCDBCD碼數碼數5. 5. 串數據串數據6. 6. ASCIIASCII碼數據碼數據7. 7. 指針數據指針數據2.4.1

52、 2.4.1 基本數據類型基本數據類型2-392.4.1 2.4.1 基本數據類型基本數據類型 這類數不帶任何符號信息,只含有量值域,僅這類數不帶任何符號信息,只含有量值域,僅CPUCPU支支持。分為三類持。分為三類: : 字節(jié):字節(jié): 字:字: 雙字:雙字: 任何邏輯地址上的任何邏輯地址上的8 8位相鄰位串。位相鄰位串。任何字節(jié)地址開始的任何字節(jié)地址開始的2 2個相鄰字節(jié)。低字個相鄰字節(jié)。低字節(jié)地址為該字地址。節(jié)地址為該字地址。任何字節(jié)地址開始的任何字節(jié)地址開始的2 2個相鄰字,即個相鄰字,即4 4個個相鄰字節(jié)。最小字節(jié)地址為雙字的地址。相鄰字節(jié)。最小字節(jié)地址為雙字的地址。1.1.無符號二進

53、制數無符號二進制數( (序數序數) )2-40 這類數均以補碼表示這類數均以補碼表示, ,有有8 8位數位數( (字節(jié)字節(jié)) )、1616位數位數( (字字) )、3232位數位數( (雙字雙字) )、6464位數位數(4(4字字) )四種。四種。CPUCPU支持前支持前3 3種,種,F(xiàn)PUFPU支持后支持后3 3種。種。2.4.1 2.4.1 基本數據類型基本數據類型2.2.帶符號的二進制定點整數帶符號的二進制定點整數( (整數整數) )2-412.4.1 2.4.1 基本數據類型基本數據類型 這類數由這類數由FPUFPU支持支持, ,有單精度、雙精度和擴展精度三有單精度、雙精度和擴展精度三

54、種形式:種形式: 單精度數單精度數31 30 23 22 031 30 23 22 0符號位符號位階階 碼碼有有 效效 數數1.1. 雙精度數雙精度數符號位符號位階階 碼碼有有 效效 數數1.1.63 62 52 51 063 62 52 51 0 擴展精度數擴展精度數符號位符號位階階 碼碼1.1.有有 效效 數數79 78 64 63 079 78 64 63 03.3.浮點數浮點數( (實數實數) )2-42 BCDBCD碼數有碼數有壓縮壓縮BCDBCD碼數碼數和和非壓縮非壓縮BCDBCD碼碼數兩種。數兩種。 CPU CPU兩種數都支持;兩種數都支持;FPUFPU只支持壓縮只支持壓縮BCD

55、BCD碼數,且最大碼數,且最大長度為長度為8080位,最多可處理位,最多可處理2020位位BCDBCD碼數。碼數。2.4.1 2.4.1 基本數據類型基本數據類型5.5.串數據串數據 這類數據僅這類數據僅CPUCPU支持。包括支持。包括: : 位串位串: : 字節(jié)字節(jié)/ /字字/ /雙字串雙字串: :是從任何字節(jié)的任何位開始的相鄰位的是從任何字節(jié)的任何位開始的相鄰位的序列,最長可達序列,最長可達2 23232-1-1位。位。是字節(jié)是字節(jié)/ /字字/ /雙字的相鄰序列,雙字的相鄰序列,最長可達最長可達2 23232-1-1字節(jié)。字節(jié)。4.4.BCDBCD碼數碼數2-432.4.1 2.4.1 基

56、本數據類型基本數據類型包括包括ASCIIASCII碼字符串和碼字符串和ASCIIASCII碼數碼數(0(0F)F)兩種兩種。7.7.指針數據指針數據包括近指針和遠指針兩種包括近指針和遠指針兩種: : 近指針近指針即即3232位指針位指針, ,是一個是一個3232位的段內偏移量位的段內偏移量, ,段內尋址用。段內尋址用。 遠指針遠指針即即4848位指針位指針, ,由由1616位選擇符和位選擇符和3232位偏移位偏移量組成,用于跨段訪問。量組成,用于跨段訪問。6.6.ASCIIASCII碼數據碼數據2-44關于數據類型的兩點說明:關于數據類型的兩點說明: (1)(1)在上述各類型數據中,基本的數據

57、類型仍是字節(jié)、字在上述各類型數據中,基本的數據類型仍是字節(jié)、字和雙字和雙字。一般應盡可能將字操作對準于偶地址,將雙字操作對。一般應盡可能將字操作對準于偶地址,將雙字操作對準于準于4 4的整數倍地址。但也允許不對準操作,以便在數據結構的整數倍地址。但也允許不對準操作,以便在數據結構的處理上和存儲器的有效利用上給系統(tǒng)設計人員和用戶提供最的處理上和存儲器的有效利用上給系統(tǒng)設計人員和用戶提供最大的靈活性。不過,對準和不對準獲得的數據傳遞速度不一樣:大的靈活性。不過,對準和不對準獲得的數據傳遞速度不一樣:對準的字和雙字可一次傳遞完,而未對準的字和雙字需幾次才對準的字和雙字可一次傳遞完,而未對準的字和雙字

58、需幾次才能傳遞完。能傳遞完。 (2) (2)對于字和雙字數據,對于字和雙字數據,8080X86X86是采用低端低地址方式來存是采用低端低地址方式來存儲的。儲的。即字數據被存儲在兩個相鄰的字節(jié)單元之中,低位字節(jié)即字數據被存儲在兩個相鄰的字節(jié)單元之中,低位字節(jié)在低地址單元,高位字節(jié)在高地址單元;雙字數據存儲在四個在低地址單元,高位字節(jié)在高地址單元;雙字數據存儲在四個連續(xù)字節(jié)單元中,最低位字節(jié)在最低地址單元,最高字節(jié)在最連續(xù)字節(jié)單元中,最低位字節(jié)在最低地址單元,最高字節(jié)在最高地址單元。而字或雙字數據的地址是指最低位字節(jié)所在的單高地址單元。而字或雙字數據的地址是指最低位字節(jié)所在的單元地址。元地址。2.

59、4.1 2.4.1 基本數據類型基本數據類型2-452.4.2 2.4.2 操作數尋址方式操作數尋址方式1. 1. 尋址方式和有效地址概念尋址方式和有效地址概念2. 112. 11種尋址方式種尋址方式3. 3. 存儲器尋址時的段約定存儲器尋址時的段約定4. 4. 應用舉例應用舉例2-462.4.2 2.4.2 尋址方式尋址方式 尋址方式就是尋找指令中操作數地址的方式。操作數尋址方式就是尋找指令中操作數地址的方式。操作數所在地址有三種可能:所在地址有三種可能: 直接包含在指令中直接包含在指令中,即指令的操作數部分就是操作,即指令的操作數部分就是操作 數本身。這種操作數叫立即數,對應的指令尋址方數

60、本身。這種操作數叫立即數,對應的指令尋址方 式稱為式稱為立即數尋址。立即數尋址。包含在包含在CPU CPU 的某個內部寄存器中的某個內部寄存器中。這時指令中的操。這時指令中的操 作數部分是作數部分是CPUCPU的一個寄存器的一個寄存器, ,這種指令尋址方式稱這種指令尋址方式稱 為為寄存器尋址寄存器尋址。在內存儲器中在內存儲器中。這時指令的操作數部分包含著該操。這時指令的操作數部分包含著該操 作數所在的內存地址。這種指令尋址方式稱為作數所在的內存地址。這種指令尋址方式稱為存儲存儲 器尋址器尋址。1.1.尋址方式和有效地址概念尋址方式和有效地址概念 尋址方式尋址方式2-47 在在PentiumPe

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論