微機原理與接口技術 第2章_第1頁
微機原理與接口技術 第2章_第2頁
微機原理與接口技術 第2章_第3頁
微機原理與接口技術 第2章_第4頁
微機原理與接口技術 第2章_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、微機原理與接口技術微機原理與接口技術1鄭州師范學院鄭州師范學院信息科學與技術學院信息科學與技術學院主講人:吉曉宇2n簡介:簡介:n80486是是Intel 1989年年4月推出的月推出的32位微處理器。位微處理器。 在在Intel32位微處理器的體系演化過程中,具有承上啟下的地位。位微處理器的體系演化過程中,具有承上啟下的地位。n32位微處理器是指在微處理器內部以位微處理器是指在微處理器內部以32位寄存器為單位進行位寄存器為單位進行數(shù)據(jù)處理。數(shù)據(jù)處理。n在數(shù)據(jù)傳送時,根據(jù)發(fā)送端與接受端處理數(shù)據(jù)的速在數(shù)據(jù)傳送時,根據(jù)發(fā)送端與接受端處理數(shù)據(jù)的速度不同,可能在度不同,可能在128位、位、64位、位、

2、32位、位、16位或位或8位位二進制位為單位,進行數(shù)據(jù)的傳送。但在內存中總二進制位為單位,進行數(shù)據(jù)的傳送。但在內存中總是以是以8位二進制位為單位來存放數(shù)據(jù)。位二進制位為單位來存放數(shù)據(jù)。nhttp:/ 80486微處理器3n本章內容:本章內容:n80486 的內部結構的內部結構 n80486的工作模式介紹的工作模式介紹 n80486的存儲體系結構的存儲體系結構n80486的的FPU第2章 80486微處理器42.1 80486 的內部組成的內部組成 n基本結構介紹基本結構介紹8大部分組成:大部分組成:總線接口部分(總線接口部分(BIU)指令預取部分(指令預取部分(IPU)高速緩沖(高速緩沖(Ca

3、che)譯碼部分(譯碼部分(IDU)控制與保護部分控制與保護部分運算部分(運算部分(ALU)浮點運算器(浮點運算器(FPU)存儲管理部分存儲管理部分分段與分頁部件(分段與分頁部件(MMU)6l BIU的地址驅動器通過的地址驅動器通過32位系統(tǒng)地址線與位系統(tǒng)地址線與Cache相連,以相連,以獲取緩存在獲取緩存在Cache中的中的32位地址,保證外部位地址,保證外部32位地址總線(位地址總線(芯片引腳)與內部地址總線的數(shù)據(jù)傳送。芯片引腳)與內部地址總線的數(shù)據(jù)傳送。l 寫緩沖存儲器通過寫緩沖存儲器通過32位寫數(shù)據(jù)線與位寫數(shù)據(jù)線與Cache相連,保證相連,保證CPU能夠向連接在外部能夠向連接在外部32

4、位數(shù)據(jù)總線上的存儲器寫入數(shù)據(jù)。位數(shù)據(jù)總線上的存儲器寫入數(shù)據(jù)。 數(shù)據(jù)總線收發(fā)器通過數(shù)據(jù)總線收發(fā)器通過32位讀數(shù)據(jù)線與位讀數(shù)據(jù)線與Cache和和IPU相連,相連,說明說明CPU從外部讀入的數(shù)據(jù)既可以暫時存入從外部讀入的數(shù)據(jù)既可以暫時存入Cache,也可以,也可以是直接進入指令流水線。是直接進入指令流水線。1、總線接口部件、總線接口部件實現(xiàn)內部總線與外實現(xiàn)內部總線與外部總線的數(shù)據(jù)傳送部總線的數(shù)據(jù)傳送7 代碼預取操作是利用總線空閑周期,不斷將后續(xù)指令代碼預取操作是利用總線空閑周期,不斷將后續(xù)指令從高速緩存中或內存中從高速緩存中或內存中取入,放置在指令隊列中,直到取入,放置在指令隊列中,直到裝滿為止。裝

5、滿為止。 該部件有兩個該部件有兩個16字節(jié)的字節(jié)的隊列寄存器(隊列寄存器(8086?)?),它與,它與Cache之間有一條之間有一條128位(位(8*16)寬度的通道,因此,)寬度的通道,因此,每次從每次從cache最多可取最多可取16字節(jié)的信息。字節(jié)的信息。 這種指令的取入和分析執(zhí)行的并行操作,避免了譯碼這種指令的取入和分析執(zhí)行的并行操作,避免了譯碼部件因總線忙碌不能及時取入后續(xù)指令,而暫時停機的部件因總線忙碌不能及時取入后續(xù)指令,而暫時停機的可能性??赡苄浴?、指令預取部件、指令預取部件8容量為容量為8KB,用來存放,用來存放CPU最近執(zhí)行的數(shù)據(jù)或指令,最近執(zhí)行的數(shù)據(jù)或指令,Cache位于

6、位于CPU和主存儲器之間。和主存儲器之間。與指令預取部分的數(shù)據(jù)連接寬度為與指令預取部分的數(shù)據(jù)連接寬度為128位而不是位而不是32位,每次操位,每次操作可以從作可以從Cache中取出中取出128位(而不是位(而不是32位)的數(shù)據(jù)到位)的數(shù)據(jù)到IPU,提,提高了傳送效率。高了傳送效率。溫故而知新:溫故而知新:8086是否有內部是否有內部Cache?Cache的工作原理?的工作原理?3、高速緩沖存儲器、高速緩沖存儲器Cache9l 從指令預取隊列中取出指令進行從指令預取隊列中取出指令進行譯碼譯碼。 將指令轉換成將指令轉換成微指令入口地址微指令入口地址和和操作數(shù)地址操作數(shù)地址。注:微指令入口地址送往控

7、制存儲器注:微指令入口地址送往控制存儲器ROM(說明(說明80486的控制器是存儲控制器,而不是組合邏輯控的控制器是存儲控制器,而不是組合邏輯控制器),操作數(shù)地址送往制器),操作數(shù)地址送往MMU。 由控制和保護部件通過微指令總線指揮各部件協(xié)同工作。由控制和保護部件通過微指令總線指揮各部件協(xié)同工作。4、指令譯碼部件、指令譯碼部件10l產(chǎn)生微指令,通過產(chǎn)生微指令,通過微指令總線微指令總線對運算部件、存儲管理部件對運算部件、存儲管理部件、指令譯碼器發(fā)控制信號。、指令譯碼器發(fā)控制信號。l微處理器的每微處理器的每一條一條指令都有指令都有一組一組相應的微指令,存放在控相應的微指令,存放在控制制ROM中,它

8、們作為可以為機器識別的命令,用來依次產(chǎn)中,它們作為可以為機器識別的命令,用來依次產(chǎn)生對各部件實際操作所需的一系列控制信號。生對各部件實際操作所需的一系列控制信號。 譯碼器產(chǎn)生的微指令入口地址就是指向該組命令的地址,譯碼器產(chǎn)生的微指令入口地址就是指向該組命令的地址,也就是也就是ROM地址。地址。5、控制與保護部件、控制與保護部件11 稱為稱為定點定點運算部件運算部件 包括算術邏輯單元包括算術邏輯單元ALU、桶形移位器、桶形移位器、8個通用寄存?zhèn)€通用寄存器和若干專用寄存器。器和若干專用寄存器。 移位器主要完成移位操作,例如移位器主要完成移位操作,例如: 14 運算運算 和和8086的運算部件相似。

9、的運算部件相似。6、算術邏輯運算部件、算術邏輯運算部件12 專門用來處理專門用來處理實數(shù)實數(shù)(其實就是浮點數(shù)類型)運算和(其實就是浮點數(shù)類型)運算和一些一些復雜運算復雜運算。 復雜運算包括對數(shù)運算、指數(shù)運算、三角函數(shù)等。復雜運算包括對數(shù)運算、指數(shù)運算、三角函數(shù)等。 FPU和和ALU是是并行并行的兩個部件,可以同時執(zhí)行各自的兩個部件,可以同時執(zhí)行各自的運算的運算7、浮點運算部件、浮點運算部件13l由分段部件和分頁部件共同組成。由分段部件和分頁部件共同組成。l80486中有中有6個個16位的段寄存器,不同工作方式下這些位的段寄存器,不同工作方式下這些段寄存器的作用不同。(段寄存器的作用不同。(80

10、86的段寄存器呢?)的段寄存器呢?)l80486實地址工作方式下由邏輯地址產(chǎn)生物理地址的方實地址工作方式下由邏輯地址產(chǎn)生物理地址的方式與式與8086相同?;仡櫹嗤;仡?086的相關方法。的相關方法。l80486保護工作方式下由邏輯地址產(chǎn)生物理地址的方法保護工作方式下由邏輯地址產(chǎn)生物理地址的方法需要用到分段部件和分頁部件,使用段頁轉換將邏輯地需要用到分段部件和分頁部件,使用段頁轉換將邏輯地址轉換為物理地址。址轉換為物理地址。2、存儲管理部件、存儲管理部件14分分9組:組:n8個通用寄存器n1個指令指針寄存器n1個狀態(tài)標志寄存器n6個段寄存器n4個系統(tǒng)地址寄存器n4個控制寄存器n5個測試寄存器n

11、8個調試寄存器1. 其他寄存器,如浮點寄存器內部寄存器內部寄存器15(1)通用寄存器)通用寄存器用于存放數(shù)據(jù)或地址,可進行用于存放數(shù)據(jù)或地址,可進行32位、位、16位、位、8位、位、1位運算。位運算。8086為為16位,其余相同。位,其余相同。 8個個32位的位的:EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP 其低其低16位可獨立使用位可獨立使用,稱:,稱:AX,BX,CX,DX,SI,DI,BP,SP。 可作為可作為8位寄存器使用是位寄存器使用是:AH,AL,BH,BL,CH,CL,DH,DL。17(2)指令指針)指令指針放相對于代碼段基址的偏移量,指向計算放相對于代碼段基

12、址的偏移量,指向計算機即將執(zhí)行的指令。機即將執(zhí)行的指令。32位的寄存器,稱位的寄存器,稱EIP,其低,其低16位可獨立使用,稱位可獨立使用,稱IP。在實模式下,在實模式下,IP 與與CS組合后,形成組合后,形成20位的物理地址。位的物理地址。(3)標志寄存器)標志寄存器(EFLAGS)其低其低16位可獨立使用,稱位可獨立使用,稱FLAGS,實模式下很有用。,實模式下很有用。比比8086多出的標志位有多出的標志位有IOPL、NT、RF、VM、AC。18IOPL:I/O特權級標志位,用于保護方式下特權級標志位,用于保護方式下I/O指令的執(zhí)行級別。指令的執(zhí)行級別。NT:任務嵌套標志位,用來表示當前任

13、務是否嵌套在另一個任務中。:任務嵌套標志位,用來表示當前任務是否嵌套在另一個任務中。RF:恢復標志位,置:恢復標志位,置1時忽略異常和中斷,成功執(zhí)行完一條指令后會自動時忽略異常和中斷,成功執(zhí)行完一條指令后會自動清清0。VM:虛擬:虛擬8086方式標志,保護方式下將該位置方式標志,保護方式下將該位置1可以進入虛擬可以進入虛擬8086方式方式,進入虛擬方式后該位清,進入虛擬方式后該位清0會返回保護方式。會返回保護方式。AC:對準標志位,置:對準標志位,置1時會對訪問地址進行字、雙字或者時會對訪問地址進行字、雙字或者4字對準檢查,字對準檢查,清清0時不會檢查對齊。時不會檢查對齊。CF1PFAF0ZF

14、SFTFIFDFOFIOPLNT0RFVMAC012345678910111213141516171831 19(4)段寄存器)段寄存器指出代碼和數(shù)據(jù)所用的存儲空間,有指出代碼和數(shù)據(jù)所用的存儲空間,有6個個16位的,位的,8086的段寄存器只有的段寄存器只有4個個。實地址方式和虛擬實地址方式和虛擬8086方式:方式:l 段地址為段地址為16位,段寄存器可以存放真實的段地址位,段寄存器可以存放真實的段地址保護方式:保護方式:l 段地址為段地址為32位,段寄存器只有位,段寄存器只有16位,無法存放段地址,只能存放段的位,無法存放段地址,只能存放段的選擇符選擇符 153位共位共13位表示位表示索引索

15、引,能夠尋址的范圍為,能夠尋址的范圍為213 第第2位位TI為描述符表的類型選擇位(全局還是局部)為描述符表的類型選擇位(全局還是局部) 10位共位共2位為特權位,為了實現(xiàn)所謂的位為特權位,為了實現(xiàn)所謂的“保護保護” 只有請求者特權級只有請求者特權級RPL高于高于(數(shù)字低于數(shù)字低于)或等于相應的描述符特權級或等于相應的描述符特權級DPL,描述符才能被存取,這就可以實現(xiàn)一定程度的保護。,描述符才能被存取,這就可以實現(xiàn)一定程度的保護。20(5)系統(tǒng)地址寄存器)系統(tǒng)地址寄存器又稱保護方式寄存器(僅在保護模又稱保護方式寄存器(僅在保護模式下使用)。式下使用)。GDTR,存放全局描述附表的基址與界限,存

16、放全局描述附表的基址與界限IDTR,存放中斷描述附表的基址與界限,存放中斷描述附表的基址與界限LDTR,存放,存放LDT所在段的段選擇符與段描述符所在段的段選擇符與段描述符TR,存放,存放TSS所在段的段選擇符與段描述符所在段的段選擇符與段描述符32位段基址16位段界限GDTR或IDTR15 047 16選擇符LDTR或TR63 32 31 12 11 015 032位段基址20位段界限段屬性選擇符描述符選擇符描述符描述符描述符描述符存儲段段寄存器段描述符表GDT內存基地址GDTR界限索引值段基址訪問控制界限段描述符13位索引值832位基地址32位的段描述符地址段描述符表同樣存放在物理內存中它

17、是受操作系統(tǒng)保護的特殊內存區(qū)域由GDTR寄存器得來每個描述符占8個字節(jié),內存地址都是以字節(jié)為單位進行編址,所以其索引值必須是8的倍數(shù)由CS、DS、SS、ES、FS、GS寄存器得來22總結:總結:1、80486的實地址方式和虛擬的實地址方式和虛擬8086方式下的分段方法與方式下的分段方法與8086相相同,都是由同,都是由CS、DS等段寄存器直接決定相應段的起始地址,等段寄存器直接決定相應段的起始地址,即段基址,每一個分段與相應的段寄存器一一對應。即段基址,每一個分段與相應的段寄存器一一對應。2、80486的保護方式下的分段是與段描述符一一對應,每一個的保護方式下的分段是與段描述符一一對應,每一個

18、段描述符對應一個分段,段描述符中的基地址就是段基址,而段描述符對應一個分段,段描述符中的基地址就是段基址,而段描述符也是以段描述附表的形式存放在內存中,要想得到段段描述符也是以段描述附表的形式存放在內存中,要想得到段描述符的值必須首先得到它在內存中的地址,這個地址是由描述符的值必須首先得到它在內存中的地址,這個地址是由GDTR、IDTR等寄存器所指定的段描述符表的起始地址和等寄存器所指定的段描述符表的起始地址和CS、DS等寄存器所指定的等寄存器所指定的13位索引值共同生成的。位索引值共同生成的。23(6)控制寄存器)控制寄存器CR0,CR1,CR2,CR3 為為32位的。位的。CR0保存系統(tǒng)的

19、控制和狀態(tài)信息。保存系統(tǒng)的控制和狀態(tài)信息。CR1Intel為以后開發(fā)保留為以后開發(fā)保留CR2保留了所檢測到的上一個頁面故障的保留了所檢測到的上一個頁面故障的32位線性地址位線性地址CR3保留頁目錄表的物理基址。保留頁目錄表的物理基址。24(7)測試寄存器)測試寄存器n測試寄存器測試寄存器 TR3TR7(5個)個)用于測試片內用于測試片內cache和用旁視緩和用旁視緩沖區(qū)沖區(qū)TLB。(8)調試寄存器)調試寄存器n調試寄存器調試寄存器 DR0DR3用于設置數(shù)據(jù)存取斷點和代碼執(zhí)行斷點。用于設置數(shù)據(jù)存取斷點和代碼執(zhí)行斷點。n調試斷點寄存器:調試斷點寄存器:DR6指明斷點的當前狀態(tài)。指明斷點的當前狀態(tài)。

20、n調試控制寄存器調試控制寄存器 DR7選擇調試功能和設置斷點。選擇調試功能和設置斷點。DR4,DR5保留。保留。25三種工作方式三種工作方式n 實地址方式(實地址方式(REALREAL)n 保護方式(保護方式(PROTECTEDPROTECTED)n 虛擬虛擬80868086方式方式 (VIRTUAL8086)2.2 80486 的工作方式的工作方式26實地址方式實地址方式 8048680486在加電和復位后就在加電和復位后就進入實地址方式進入實地址方式,使,使8048680486與與80868086有相同的基本有相同的基本體系結構,功能增強,在此模式下地址線體系結構,功能增強,在此模式下地址

21、線A31A20全部為低電平。全部為低電平。1 1 存儲空間及實地址模式下的編址存儲空間及實地址模式下的編址存儲空間為存儲空間為2 22020字節(jié),即字節(jié),即1M1M字節(jié)。采用分段方式,每段大小固定為字節(jié)。采用分段方式,每段大小固定為64K字節(jié),存儲段可以彼此覆蓋,即一個字節(jié),存儲段可以彼此覆蓋,即一個64K字節(jié)的段如未用完,另一個段字節(jié)的段如未用完,另一個段可以覆蓋未用的存儲區(qū)可以覆蓋未用的存儲區(qū) (1) 物理地址的形成:物理地址的形成:物理地址物理地址=段基址段基址*16偏移地址偏移地址 左移左移4位位 有效地址有效地址例:例:CS內容為內容為1000H,IP為為8888H,則實模式下的物理

22、地址是,則實模式下的物理地址是 10000H8888H18888H段基址:段基址:CS、DS、ES、SS。偏移地址:偏移地址:IP、DI、SI、BP、SP等。等。27段寄存器值段寄存器值偏移量偏移量+物理地址物理地址16位位4位位16位位20位位存儲器物理地址的計算方法存儲器物理地址的計算方法28 CS 0000 IP代碼段代碼段 DS或或ES 0000 SI、DI或或BX SS 0000 SP或或BP數(shù)據(jù)段數(shù)據(jù)段堆棧段堆棧段存儲器存儲器(2)段寄存器和偏移地址寄存器組合關系段寄存器和偏移地址寄存器組合關系292 保留的地址空間保留的地址空間 (1) 中斷向量區(qū):中斷向量區(qū):地址為地址為000

23、0,0000H0000,03FFH,每一個中斷向量占每一個中斷向量占4個字節(jié)。個字節(jié)。(2) 系統(tǒng)初始化區(qū):系統(tǒng)初始化區(qū): 地址為地址為FFFF,F(xiàn)FF0HFFFF,F(xiàn)FFFH。3、在實地址方式下,運行的程序不分特權等級、在實地址方式下,運行的程序不分特權等級,實際上,實地,實際上,實地址方式下的程序相當于工作在特權級址方式下的程序相當于工作在特權級0,除保護虛地址方式下的,除保護虛地址方式下的一些專用指令外,所有其他指令都能在實地址方式下運行。一些專用指令外,所有其他指令都能在實地址方式下運行。4、在實地址工作方式下,將、在實地址工作方式下,將CR0中中PE位置位置1,80486就轉移就轉移

24、到保護模式。到保護模式。30保護模式保護模式特點特點支持多用戶操作系統(tǒng),支持多用戶操作系統(tǒng),能快速的進行任務切換和任能快速的進行任務切換和任務保護環(huán)境,務保護環(huán)境,同時也向下兼容。同時也向下兼容。 1 1 保護保護n目的目的避免程序間的相互干擾。避免程序間的相互干擾。n實現(xiàn)方法實現(xiàn)方法設立特權級。設立特權級。特權級分為特權級分為4 4級(級(0303),值越?。?,值越小,特權越高。,特權越高。n特權規(guī)則特權規(guī)則: 特權級特權級P P存儲的數(shù)據(jù),由存儲的數(shù)據(jù),由P P級的特權級進行訪問具有特權級級的特權級進行訪問具有特權級P P的程序和過程,只能由的程序和過程,只能由P P級上執(zhí)行的任務調用。級

25、上執(zhí)行的任務調用。31段寄存器段寄存器不再直接不再直接存放存放段基址,而是存放指示段基址的段基址,而是存放指示段基址的選擇符選擇符。段寄存器中的。段寄存器中的T1位決定一個任務(程序)可以擁有一個全局位決定一個任務(程序)可以擁有一個全局描述符表和一個局部描述符表。描述符表和一個局部描述符表。選擇符選擇符用于用于選擇選擇某個描述符表中的某個描述符表中的描述符描述符。13位選擇碼決定了位選擇碼決定了每個描述符表中最多有每個描述符表中最多有213個描述符。因此一個任務可擁有的個描述符。因此一個任務可擁有的描述符數(shù)目最多為描述符數(shù)目最多為2213個(即個(即16KB個段)。個段)。每個描述符每個描述

26、符指示存儲器的位置、長度和訪問權限等指示存儲器的位置、長度和訪問權限等。當描述符。當描述符中的中的G位為位為1時,相應的段長度為時,相應的段長度為220212 (即(即4GB)字節(jié))字節(jié)故一個任務最多可擁有的故一個任務最多可擁有的編程空間編程空間為:為: 2213220212=246=64TB32虛擬虛擬80868086方式方式 n當標志寄存器中位當標志寄存器中位VMVM置置1 1時,進入虛擬時,進入虛擬80868086方式。方式。nCPUCPU的工作過程與保護方式下的工作過程相同。的工作過程與保護方式下的工作過程相同。n允許允許同時執(zhí)行同時執(zhí)行80868086的操作系統(tǒng)及應用程序以及的操作系

27、統(tǒng)及應用程序以及486486的操作系的操作系統(tǒng)及統(tǒng)及486486應用程序應用程序,因此,多用戶可同時使用一臺,因此,多用戶可同時使用一臺486486微處微處理器,理器,用用3232位機的代碼去模擬運行位機的代碼去模擬運行1616位機的程序位機的程序 。n與實方式相同的形式使用段寄存器與實方式相同的形式使用段寄存器,以形成線性基地址(,以形成線性基地址(即即尋址的地址空間為尋址的地址空間為1MB1MB,段長,段長64KB64KB,段寄存器存放段基址,段寄存器存放段基址)。)。通過分頁功能,可把虛擬通過分頁功能,可把虛擬8686下的下的1MB1MB地址空間映象到地址空間映象到486486微處理器的

28、微處理器的4GB4GB的物理空間的任意位置。的物理空間的任意位置。3334物理空間(又稱主存空間)物理空間(又稱主存空間):主存的實際空間,因:主存的實際空間,因80486有有32根地根地址線,因此其實際可訪問的空間可達址線,因此其實際可訪問的空間可達232字節(jié)(字節(jié)(4GB),在編程時只),在編程時只能通過給相應的寄存器賦值,由寄存器所決定的邏輯地址來內部生成能通過給相應的寄存器賦值,由寄存器所決定的邏輯地址來內部生成。例如:在實地址方式下,給例如:在實地址方式下,給DS賦值賦值0000H,BX賦值賦值0010H,則,則DS:BX稱為邏輯地址,其值為稱為邏輯地址,其值為0000:0010,這

29、兩個寄存器的值由,這兩個寄存器的值由CPU內部的地址加法器自動生成內部的地址加法器自動生成00010H的物理地址,并送到地址線的物理地址,并送到地址線上進行尋址,地址線是不能通過程序直接賦值的。上進行尋址,地址線是不能通過程序直接賦值的。在實地址方式下,在實地址方式下,80486的的32根地址線只有根地址線只有A0A19有效,因此此有效,因此此方式下的物理空間為方式下的物理空間為220,1MB。2.3 80486的存儲體系結構的存儲體系結構35邏輯空間(又稱虛擬空間)邏輯空間(又稱虛擬空間):雖然:雖然80486只有只有4GB的實際物理空間的實際物理空間,但在編程時所使用的是,但在編程時所使用

30、的是邏輯地址。邏輯地址。這個邏輯地址在實地址方式下就是這個邏輯地址在實地址方式下就是CS:IP的方式,而的方式,而CS和和IP都是都是16位且相互獨立,因此該方式下邏輯地址就是位且相互獨立,因此該方式下邏輯地址就是32位,也就是說程序中位,也就是說程序中可以寫可以寫0000:0000HFFFF:FFFFH之間的任何一個地址,通過邏之間的任何一個地址,通過邏輯地址能夠訪問輯地址能夠訪問232的邏輯空間。的邏輯空間。思考:實際空間只有思考:實際空間只有1MB,多出來的空間在哪里?(多個邏輯地址,多出來的空間在哪里?(多個邏輯地址可以只對應一個實際的物理地址)可以只對應一個實際的物理地址)2.3 8

31、0486的存儲體系結構的存儲體系結構36而在保護方式下,而在保護方式下,80486的邏輯空間是的邏輯空間是64TB,即,即246,這是如何實,這是如何實現(xiàn)的呢?這是由現(xiàn)的呢?這是由80486的分段和分頁管理機制來實現(xiàn)的。的分段和分頁管理機制來實現(xiàn)的。1、分段管理、分段管理6個個16位的段寄存器是段選擇符的值,其中高位的段寄存器是段選擇符的值,其中高13位為索引,低位為索引,低3位中位中1位描述符類型位位描述符類型位TI和和2位特權級別位,其中索引可以訪問位特權級別位,其中索引可以訪問213個段描個段描述符,也就是能夠選擇述符,也就是能夠選擇213個段,個段,TI能夠決定訪問能夠決定訪問GDT還

32、是還是LDT,兩,兩個表一共個表一共2X213個段,也就是說在編程時給段寄存器賦的值只有高個段,也就是說在編程時給段寄存器賦的值只有高14位用于選擇段描述符,從而決定了段基址,再由偏移寄存器給出的位用于選擇段描述符,從而決定了段基址,再由偏移寄存器給出的32位偏移地址,則由段寄存器和偏移寄存器生成的邏輯空間是位偏移地址,則由段寄存器和偏移寄存器生成的邏輯空間是232+14=246,即,即64TB。2.3 80486的存儲體系結構的存儲體系結構372、分頁管理、分頁管理分頁管理不可用時,由分頁管理不可用時,由GDTR、LDTR這些系統(tǒng)地址寄存器和段寄存這些系統(tǒng)地址寄存器和段寄存器所決定的段基址(

33、器所決定的段基址(32位)與偏移寄存器(位)與偏移寄存器(ESI、EDI等)所決定的等)所決定的段內偏移量(段內偏移量(32位)直接相加就是線性地址,此時的線性地址等于位)直接相加就是線性地址,此時的線性地址等于物理地址。物理地址。當分頁部件啟用時,由分段管理得到的線性地址被劃分為三個部分:當分頁部件啟用時,由分段管理得到的線性地址被劃分為三個部分:頁目錄表、頁表、偏移量。頁目錄表、頁表、偏移量。2.3 80486的存儲體系結構的存儲體系結構頁目錄表31 22頁表頁內偏移21 1211 0物理頁號31 12頁內偏移11 0線性地址物理地址382、分頁管理、分頁管理頁內偏移為頁內偏移為011共共

34、12位,所以頁大小為位,所以頁大小為4KB,每一個頁都有一個起,每一個頁都有一個起始地址,低始地址,低12位為位為0,將,將1024個頁的頁起始地址(頁表項個頁的頁起始地址(頁表項32位)放位)放在 連 續(xù) 的 存 儲 空 間 上 形 成 頁 表 , 所 以 每 一 個 頁 表 的 大 小 為在 連 續(xù) 的 存 儲 空 間 上 形 成 頁 表 , 所 以 每 一 個 頁 表 的 大 小 為1024X32bit=4KB。頁表為頁表為1221共共10位,所以能夠存儲頁表項的個數(shù)為位,所以能夠存儲頁表項的個數(shù)為1024個,每一個,每一個頁表又有一個頁表起始地址(個頁表又有一個頁表起始地址(32位)低

35、位)低22位全為位全為0,將,將1024個頁個頁表的頁表起始地址放在連續(xù)的存儲空間上形成頁表目錄,所以一個頁表的頁表起始地址放在連續(xù)的存儲空間上形成頁表目錄,所以一個頁表目錄的大小也是表目錄的大小也是1024X32bit=4KB。頁表目錄頁表目錄2231共共10位,能夠對應位,能夠對應1024個頁表起始地址,每一個頁個頁表起始地址,每一個頁表目錄有一個頁表目錄起始地址,其高表目錄有一個頁表目錄起始地址,其高20基地址由內部控制寄存器基地址由內部控制寄存器CR3給出,也就是物理頁號。給出,也就是物理頁號。注:頁表目錄在結構上和頁表一樣,它相當于專用頁表,內部存儲的不注:頁表目錄在結構上和頁表一樣

36、,它相當于專用頁表,內部存儲的不是頁的起始地址,而是頁表的起始地址,都是是頁的起始地址,而是頁表的起始地址,都是32位。位。2.3 80486的存儲體系結構的存儲體系結構39空間劃分:空間劃分:32位的線性地址,共位的線性地址,共4GB空間,頁的大小為空間,頁的大小為4KB,所以,所以頁的個數(shù)為頁的個數(shù)為4GB/4KB=1M個頁。個頁。每一個頁表中存儲了每一個頁表中存儲了1024個頁的起始地址,那么頁表的個數(shù)應該為個頁的起始地址,那么頁表的個數(shù)應該為1M/1024=1024個頁表。個頁表。1個頁表目錄中存放個頁表目錄中存放1024個頁表起始地址,由個頁表起始地址,由3122共共10位來位來選擇

37、其中一個頁表起始地址,從而找到頁表,該頁表中又存放了選擇其中一個頁表起始地址,從而找到頁表,該頁表中又存放了1024個頁起始地址,由個頁起始地址,由2112共共10位來選擇其中一個頁起始地址,位來選擇其中一個頁起始地址,找到相應的頁,該頁中又存放了找到相應的頁,該頁中又存放了4K個字節(jié),由個字節(jié),由110共共12位來選擇位來選擇其中一個字節(jié)。其中一個字節(jié)。1X1024X1024X4K=4G整個系統(tǒng)中頁表目錄的個數(shù)為整個系統(tǒng)中頁表目錄的個數(shù)為1,每個頁表目錄能夠存儲,每個頁表目錄能夠存儲1024個頁表的起始地址,所以頁表目錄的個數(shù)為個頁表的起始地址,所以頁表目錄的個數(shù)為1X1024=1024,1

38、024個頁表中的每一個都能存儲個頁表中的每一個都能存儲1024個頁的起始地址,所以頁的個數(shù)為個頁的起始地址,所以頁的個數(shù)為1024X1024=1048576=1M,每一個頁的大小為,每一個頁的大小為4KB,所以總的,所以總的空間大小就是空間大小就是1MX4KB=4GB2.3 80486的存儲體系結構的存儲體系結構40頁起始地址32位頁表目錄起始地址頁表起始地址頁表1頁表2頁表4頁表1024CR3高20位地址000H頁表目錄內索引線性地址高10位地址頁表內索引線性地址中10位地址字節(jié)頁1頁2頁3頁4頁1048576頁表目錄頁表3頁內索引線性地址低12位地址共1024個頁表共1048576個頁共1

39、個頁表目錄41n80486內部有內部有8KB的的Cache,稱為一級緩存,可以外接,稱為一級緩存,可以外接Cache構成構成二級緩存二級緩存n高速緩沖存儲器是存在于主存與高速緩沖存儲器是存在于主存與CPU之間的一級存儲器,由靜態(tài)存儲之間的一級存儲器,由靜態(tài)存儲芯片芯片(SRAM)組成,容量比較小但速度比主存高得多,接近于組成,容量比較小但速度比主存高得多,接近于CPU的的速度。速度。 Cache的功能是用來存放那些近期需要運行的指令與數(shù)據(jù)。的功能是用來存放那些近期需要運行的指令與數(shù)據(jù)。目的是提高目的是提高CPU對存儲器的訪問速度。為此需要解決對存儲器的訪問速度。為此需要解決2個技術問題:個技術問題:一是主存地址與緩存地址的映象及轉換;一是主存地址與緩存地址的映象及轉換; 二是按一定原則對二是按一定原則對Cache的內容進行替換

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論