微機系統(tǒng)與接口:第八章 80386微處理器_第1頁
微機系統(tǒng)與接口:第八章 80386微處理器_第2頁
微機系統(tǒng)與接口:第八章 80386微處理器_第3頁
微機系統(tǒng)與接口:第八章 80386微處理器_第4頁
微機系統(tǒng)與接口:第八章 80386微處理器_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

80386微處理器

(第5版教材第8章8.2)

(參考郁慧娣書第9章9.2、9.3、9.4)

第八章80386微處理器80386是一種與16位的80286相兼容的第一個高性能全32位微處理器,它代表了體系結(jié)構(gòu)的重要進步——從16位體系結(jié)構(gòu)過渡到32位體系結(jié)構(gòu)。80386采用高速CHMOSⅢ1.5μm技術(shù),132條引出線用網(wǎng)格陣列式封裝在陶瓷片內(nèi),其耗散功率在1.5w到3.0w之間。

一、80386的特點

1.80386芯片在硬件結(jié)構(gòu)上由6個邏輯單元組成。它們按流水線方式工作,運行速度可達到4MIPS。

2.80386有三種方式:實方式、保護方式、V86方式

。3.硬件支持分段管理和分頁管理,易于實現(xiàn)虛擬存儲系統(tǒng)。

4.硬件支持多任務(wù),一條指令可以完成任務(wù)切換。

5.特權(quán)保護機制

4級特權(quán)級:0級最優(yōu)先,其次為1,2和3級。二、80386的內(nèi)部結(jié)構(gòu)(簡略)1.

總線接口部件(BIU:BusInterfaceUnit)。2.

指令預(yù)取部件(CPU:CodePrefetchUnit)。3.

指令譯碼部件(IDU:InstructionDecodeUnit)。4.

執(zhí)行部件(EU:ExecutionUnit)。它可進一步分為控制部件(ControlUnit),保護測試部件(ProtectionTestUnit)和數(shù)據(jù)處理部件(DataUnit)3部分。5.

段管理部件(SU:SegmentUnit)。6.頁管理部件(PU:PagingUnit)。三、80386的寄存器結(jié)構(gòu)

80386有7類寄存器: 通用寄存器、段寄存器、指令指針和標志寄存器、控制寄存器、系統(tǒng)地址寄存器、調(diào)試寄存器以及測試寄存器。 (一)通用寄存器

80386有8個32位的通用寄存器,分別為EAX、EBX、ECX、EDX、ESI、EDI、EBP以及ESP。 80386中有一個32位的指令指針(EIP)和一個32位的標志寄存器(EFLAGS)。 80386工作在實模式時采用16位的指令指針I(yè)P。

EFLAGS的低12位與8086標志寄存器FLAGS完全相同。高20位中設(shè)置了5位新的標志。(二)指令指針和標志寄存器圖8.10保護方式標志寄存器(P271)(三)段寄存器和段描述符高速緩存器

80386增加了FS和GS兩個新的數(shù)據(jù)段寄存器。

段寄存器里存放的不再是段基址的高16位,而是選擇字(Selector)(P285圖8.19),用于查找段對應(yīng)的描述符表,得到包含段基址、界限、屬性等的段描述符。(三)段寄存器和段描述符高速緩存器

在第一次訪問某段時,從描述符表中查找到段描述符,自動裝入Catch中的段描述符高速緩存器(P270圖8.9)。下次再訪問該段時,無需再查表、裝入。圖8.980386的段寄存器和段描述符高速緩存器(P270)(四)系統(tǒng)地址寄存器和系統(tǒng)段寄存器

GDTR——

全局描述符表寄存器

IDTR——

中斷描述符表寄存器

LDTR——

局部描述符表寄存器

TR——任務(wù)寄存器全局描述符表寄存器(GDTR)例1.

如果GDTR的內(nèi)容為200000001FFFh,請給出GDT的起始地址、結(jié)束地址、表的長度。表中放了多少個描述符?最后一個描述符的地址范圍?解:GDT的起始地址

=20000000h

GDT的結(jié)束地址

=20000000h+1FFFh=20001FFFh

GDT表長

=1FFFh+1=2000h

表中描述符個數(shù)

=2000h÷8=400h=1024 最后一個描述符的地址范圍:20001FFFh-7=20001FF8h~20001FFFh

課堂練習1習題9.5:如果GDTR的內(nèi)容為0021000001FFh,請給出GDT表的起始地址、結(jié)束地址、表的長度。表中放了多少個描述符?中斷描述符表寄存器(IDTR)局部描述符表寄存器(LDTR)例2.假設(shè)GDT的基地址為01002000h,LDTR=2108h,問LDT描述符的地址范圍?解:LDTR=0010000100001000

TI=0,LDT描述符在GDT中

索引

=0010000100001

LDT描述符的起始地址:GDT的基地址+索引×8=01002000h+0010000100001×8

=01002000h+2108H=01004108h

LDT描述符的地址范圍(占8字節(jié)): 01004108h~0100410Fh任務(wù)寄存器(TR)例3.假設(shè)GDT的基地址為00011000h,TR=3208h,問TSS描述符的地址范圍?解:TR=?(2進制)

TI=?,TSS描述符在?中

索引

=?(2進制)

TSS描述符的起始地址:GDT的基地址+索引×8=?+?×8

=?

TSS描述符的地址范圍(占8字節(jié)):

?(起始地址)~?(結(jié)束地址)課堂練習2(五)控制寄存器

80386中有3個32位的控制寄存器CR0、CR2和CR3,用于保存機器的各種全局性狀態(tài),這些狀態(tài)影響系統(tǒng)所有任務(wù)的運行。

CR1未定義,留作備用。1.CR0——控制寄存器0(P273圖8.12) 定義了6個控制和狀態(tài)標志。PE(位0)和PG(位31)——保護控制位。TS——任務(wù)切換位每當任務(wù)切換時,處理器將把TS置為1。MP——監(jiān)控協(xié)處理器位MP為1時,表示有協(xié)處理器在工作。EM——模擬協(xié)處理器控制位EM為1時,表示用軟件仿真協(xié)處理器。ET

——協(xié)處理器擴展類型

0:80287協(xié)處理器;1:80387協(xié)處理器;2.CR2——控制寄存器2CR2稱為頁面故障線性地址寄存器,用于發(fā)生頁面訪問異常時報告出錯信息。3.CR3——控制寄存器3CR3稱為頁目錄基址寄存器,用于存放頁目錄表的基地址。如下圖所示(分頁時用到)。四、80386的三種工作模式

80386有3種工作模式:

實地址模式(RealAddressMode),簡稱為實模式;

保護虛擬地址模式(ProtectedVirtualAddressMode),簡稱為保護模式;

虛擬地址8086模式(VirtualAddress8086Mode),簡稱為V86模式。(一)實地址模式

當80386在剛加電啟動或復(fù)位時,便由操作系統(tǒng)自動控制進入實模式。

實模式主要是為80386進行初始化用的,為80386保護模式所需要的數(shù)據(jù)結(jié)構(gòu)做好各種配置和準備。 在實模式下,80386類似于8086的體系結(jié)構(gòu),與8086兼容。(二)保護虛擬地址模式

保護模式是80386最常用的、也是最具特色的工作模式。通常在開機或復(fù)位后,先進入實模式完成初始化,然后就立即切換到保護模式。 保護模式提供了多任務(wù)環(huán)境中的各種復(fù)雜功能以及對復(fù)雜存儲器組織的管理機制:

1)多用戶、多任務(wù),保護機制;

2)虛擬存儲管理;

物理存儲空間:4GB;

虛擬存儲空間:64TB(???)

所謂虛擬存儲空間是指程序所占有的存儲空間。80386系統(tǒng)中,由于內(nèi)存容量的限制,并不可能將所有的段都放在內(nèi)存中的,而必須將大部分段放在海量的外部磁盤上,待執(zhí)行到相關(guān)程序段時再調(diào)入內(nèi)存,將暫時不執(zhí)行的程序段調(diào)出內(nèi)存。 程序員編寫程序時,其程序存入磁盤。這樣,從程序員的角度來看,系統(tǒng)中似乎有一個容量很大、速度也相當快的虛擬存儲器;其實,它并不是真正物理上的內(nèi)存。 3)保護機制; 特權(quán)保護機制、不同任務(wù)之間的隔離(不同的虛擬存儲空間)(三)虛擬8086模式(1)使80386可以快速地執(zhí)行多個8086的應(yīng)用程序。(2)段寄存器的用法和實模式時相同。(3)存儲器尋址空間為1MB,可以使用分頁機制,支持多任務(wù)。在多任務(wù)系統(tǒng)中,80386可以使其中的一個或幾個任務(wù)使用虛擬8086模式。此時,可以使一個任務(wù)所用的全部頁面定位于某個物理地址空間,而另一個任務(wù)所用的頁面定位于其他物理地址空間,這樣,就把存儲器虛擬化了,虛擬8086模式的名稱即由此而來。(4)在虛擬8086模式中,程序是在最低特權(quán)級(3級)上運行的,因此,80386指令系統(tǒng)中的一些特權(quán)指令是不能使用的。五、80386的存儲管理

80386利用片內(nèi)的存儲管理單元(MemoryManagementUnit,簡稱MMU

)來實現(xiàn)對存儲器系統(tǒng)的兩級管理:分段管理(邏輯地址→線性地址)和分頁管理(線性地址→物理地址)

。 在兩級存儲管理中,段的大小可以選擇(可以字節(jié)或頁為單位),根據(jù)數(shù)據(jù)結(jié)構(gòu)和代碼模塊的大小而定。 另外,對每個段還可以賦予訪問權(quán)和保護信息,以有效防止在多任務(wù)環(huán)境下各個模塊對存儲器的越權(quán)訪問。(一)實模式

80386的所有指令在實模式下都有效。其物理地址的形成與8086相同,可尋址的實地址空間只有1MB,所有的段最大容量為64KB。

中斷向量表仍設(shè)置在00000H~003FFH共計1K字節(jié)的存儲區(qū)內(nèi)。 系統(tǒng)初始化區(qū)在FFFFFFF0H~FFFFFFFFH存儲區(qū)內(nèi)。

保護模式下采用段頁式存儲管理機制。 注意區(qū)分邏輯地址、線性地址和物理地址這3者之間的關(guān)系。(二)保護模式圖8.1480386的地址轉(zhuǎn)換示意圖(P278)邏輯地址:編程時

16位段選擇字+32位偏移地址線性地址

由存儲器段式管理機構(gòu)按下式來計算:

線性地址

=

32位段基地址

+32位偏移地址物理地址 不分頁時,物理地址=線性地址;分頁時,由存儲器頁式管理機構(gòu)計算物理地址=F(線性地址)

分段管理

為了實現(xiàn)分段管理,80386把有關(guān)段的信息存放在一個稱為段描述符(簡稱描述符)的8個字節(jié)長的數(shù)據(jù)結(jié)構(gòu)中,并把系統(tǒng)中所有的描述符按類組成一張張描述符表,以便硬件查找和識別。 80386共設(shè)置了3種描述符表,即全局描述符表GDT、局部描述符表LDT和中斷描述符表IDT。

段描述符包括:

段基地址(BaseAddress),規(guī)定了線性地址空間中段的起始地址。也可以把基地址看成是段內(nèi)偏移量為0的線性地址。

段的界限(Limit),表示在虛擬地址中,段內(nèi)可使用的最大偏移量。

段的屬性(Attributes),包括該段是否可讀出、寫入以及段的特權(quán)級等,也叫訪問權(quán)字節(jié)。 有兩種類型的段:非系統(tǒng)段、系統(tǒng)段

兩種段描述符:非系統(tǒng)段描述符

系統(tǒng)段描述符非系統(tǒng)段描述符(P281圖8.16)

非系統(tǒng)段指一般的代碼段、數(shù)據(jù)段和堆棧段。(s=1)屬性字節(jié)(訪問權(quán)字節(jié))(8位):B5基地址(32位):B7B4B3B2界限(20位):B6(低4位)B1B0

數(shù)據(jù)段堆棧段ED=0,數(shù)據(jù)段ED=1,堆棧段例請分析下面的描述符:

6420

80

00

B2

0A

000003FF解:屬性字節(jié):B2h=10110010數(shù)據(jù)段,可寫,DPL=1,在內(nèi)存,未訪問過。段基址:800A0000h

界限:003FFh課堂練習3:

請分析下面的描述符:

6420

30

00

D7

00

000007FF解:屬性字節(jié):D7h=?(2進制)

?段,可否讀/寫?,DPL=?,是否在內(nèi)存?,是否訪問過?段基址:?

界限:?

系統(tǒng)段描述符(P283圖8.17)

系統(tǒng)段描述符也稱為特殊段描述符(S位為0)。 系統(tǒng)段包括任務(wù)狀態(tài)段TSS和門,另外,局部描述符表LDT也作為一種系統(tǒng)段。屬性字節(jié)(訪問權(quán)字節(jié))(8位):B5基地址(32位):B7B4B3B2界限(20位):B6(低4位)B1B0表8.180386系統(tǒng)段描述符類型(P283)例請分析下面的描述符:1、

642000

00

A2

10

000000FF解:屬性字節(jié):A2h=10100010LDT描述符,有效,DPL=1。

LDT基址:00100000h

界限:000FFh分段管理總結(jié)圖8.19邏輯地址到線性地址的轉(zhuǎn)換(P285)課堂練習4:訪問代碼段

分頁管理

在80386中,存儲器分段管理的基礎(chǔ)上又增加了分頁管理。在多任務(wù)系統(tǒng)中,有了分頁管理功能,就只需把每個活動任務(wù)當前所需要的少量頁面放在存儲器中。 當CR0中的PG=1時,系統(tǒng)就啟動分頁機制; 當PG=0時,則禁止使用分頁機制,把分段機制產(chǎn)生的線性地址直接當作物理地址使用。 80386分頁管理的對象是固定大小為4KB的存儲塊,稱之為頁。段頁式結(jié)構(gòu)的尋址過程下×4×4CR3圖8.22段頁式結(jié)構(gòu)的尋址過程(P287)頁表結(jié)構(gòu)、頁目錄描述符以及頁描述符 80386采用了兩級表結(jié)構(gòu):頁目錄表和頁表。 當允許分頁時,分頁機制將實現(xiàn)兩級地址轉(zhuǎn)換:在較高一級,由頁目錄表中的一個頁目錄描述符映射頁表;在低一級,由頁描述符映射頁幀。圖8.21頁目錄描述符和頁描述符的格式(P287)P—存在位,表示該頁/頁表是否在內(nèi)存W—寫允許位,表示該頁/頁表是可寫U—用戶位,表示該頁/頁表用戶是否可用A—訪問位,表示該頁/頁表是否訪問過D—出錯位AVL—

程序員可使用的位

當頁目錄項和頁表項的U、W位不一致時,選取最小的值。例假設(shè)頁目錄項的UW位=11(用戶可寫),頁表項的UW位=10(用戶可用,但只可讀,不可寫)則,最終UW位=min(11,10)=10

(用戶可用,但只可讀,不可寫)分頁管理尋址過程舉例假設(shè)線性地址=12345678H,CR3=10000000H,頁目錄描述符=20000005H,頁描述符=30000007H

求:

1)頁目錄描述符的地址

2)頁描述符的地址

3)操作數(shù)(32位)的地址

4)操作數(shù)用戶是否可寫?答:

1)頁目錄表起始地址:10000000H頁目錄描述符地址:10000120H~10000123H2)頁表起始地址:20000000H頁描述符地址:20000D14H~20000D17H3)頁幀起始地址:30000000H操作數(shù)(32位)地址:30000678H~3000067BH操作數(shù)用戶是否可寫?頁目錄描述符:U=1,W=0,不可寫頁描述符:U=1,W=1,可寫∴操作數(shù)用戶不可寫CR3×4×4×4課堂練習5

已知在80386系統(tǒng)中,CR3=00100000H,頁目錄項和頁表項內(nèi)容如下圖中所示,假設(shè)分段轉(zhuǎn)換得到的線性地址為19990118H,請回答下面問題。

線性地址:00011001100110010000000100011000B

操作數(shù)

80000005H

00300007HCR31、頁目錄表起始地址=

2、頁目錄項的地址范圍=

3、頁表起始地址=

4、頁表項的地址范圍=

5、頁幀起始地址=

6、被訪問操作數(shù)(32位)的地址范圍=

7、根據(jù)頁目錄項和頁表項的內(nèi)容,該操作數(shù)用戶是否能訪問?

,是否可寫?

課堂練習6

80386工作在保護方式下,GDTR=002000001FFFH,LDTR=3009H,CS=1007H,EIP=00000800H。1)GDT的起始地址為

,

GDT的結(jié)束地址為

。GDT的表長為

。2)LDT描述符的地址范圍是

。3)若代碼段描述符為:

6

4

2

0則代碼段的屬性為:特權(quán)級

,是否可讀

,是否在內(nèi)存

,是否訪問過

。代碼段的長度為

。00

00

FB

50

00000FFF4)若80386僅分段,不分頁,則當前執(zhí)行指令的物理地址是

;若既分段,又分頁,則訪問代碼段時轉(zhuǎn)換的線性地址為

;根據(jù)此線性地址進行分頁轉(zhuǎn)換,頁目錄描述符的偏移地址為

,頁表描述符的偏移地址為

,被訪問指令在頁幀中的偏移地址為

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論