32位微處理器_第1頁(yè)
32位微處理器_第2頁(yè)
32位微處理器_第3頁(yè)
32位微處理器_第4頁(yè)
32位微處理器_第5頁(yè)
已閱讀5頁(yè),還剩66頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1微型計(jì)算機(jī)及應(yīng)用22 2 4 48038680386微處理器微處理器3232位微處理器的地址總線和數(shù)據(jù)總線位微處理器的地址總線和數(shù)據(jù)總線 32 32位微處理器的工作方式位微處理器的工作方式5 5 80486 80486微處理器微處理器PentiumPentium微處理器微處理器 3 31 13 32位微處理器的問(wèn)世,是微處理器發(fā)展過(guò)程中的又一個(gè)里程碑。目前,32位微處理器的型號(hào)很多,Intel公司推出的主要類型有80386,80486和Pentium微處理器。 80386微處理器是為多用戶和多任務(wù)操作系統(tǒng)而設(shè)計(jì)的,具有32位寄存器和數(shù)據(jù)通道,支持32位地址和數(shù)據(jù)類型。CPU片內(nèi)有存儲(chǔ)器管理部

2、件,可實(shí)現(xiàn)分段和分頁(yè)管理,使微處理器地址有4GB(千兆字節(jié))物理存儲(chǔ)器和64MMB(萬(wàn)億字節(jié))虛擬存儲(chǔ)器,以及有4級(jí)保護(hù)功能,因此程序不能訪問(wèn)段所規(guī)定區(qū)域以外的單元,數(shù)據(jù)也不能寫入到禁止的段里。另外,其指令流水線,在高速緩沖存儲(chǔ)器(cache)和高速總線帶寬的作用下,縮短了指令執(zhí)行時(shí)間及增加了系統(tǒng)的數(shù)據(jù)吞吐能力。4 80486微處理器是在80386基礎(chǔ)上又增加了浮點(diǎn)運(yùn)算部件和高速緩沖部件,其性能和速度又提高了一大步。 Pentium處理器是一種最先進(jìn)的32位微處理器。它是一種雙ALU流水線工作的CPU,每一個(gè)時(shí)鐘周期可執(zhí)行兩條指令,提供了強(qiáng)有力的工作站和服務(wù)器功能。Pentium,及微處理器又

3、增添了多媒體處理功能,所以,Pentium微處理器也就最適用于多媒體計(jì)算機(jī)和網(wǎng)絡(luò)計(jì)算機(jī)中。 這3種32位微處理器的工作原理類同,都屬于80X86系列。它們的軟件也與我們前面所學(xué)的16位微處理器兼容。為了學(xué)習(xí)方便,我們先從80386微處理器開始,講述32位微處理器的工作原理。隨后,再來(lái)介紹80486和Pentium微處理器。 本章著重講解32位微處理器與16位微處理器在結(jié)構(gòu)和工作原理上的區(qū)別,重點(diǎn)論述32位微處理器的實(shí)地址方式、保護(hù)方式和虛擬8086方式的機(jī)理,存儲(chǔ)器的分段和分頁(yè)管理以及32位微處理器的尋址方法。使同學(xué)對(duì)32位微處理器有一個(gè)基本的認(rèn)識(shí)。5 1.1 803861.1 80386微處

4、理器微處理器 80386微處理器的內(nèi)部結(jié)構(gòu)流程圖如下圖所示。這是一種采用流水線工作方式的結(jié)構(gòu),內(nèi)部分為中央處理部件(CPU)、存儲(chǔ)管理部件(MMU)和總線接口部件(BIU)3部分,圖中各部分用虛線分開。 中央處理部件由指令部件和執(zhí)行部件組成。指令部件包含兩個(gè)指令隊(duì)列,其一是指令預(yù)取隊(duì)列,用來(lái)暫存從存儲(chǔ)器中預(yù)取出來(lái)的指令代碼。其二是已譯碼指令隊(duì)列;這些預(yù)取指令經(jīng)預(yù)譯碼后,送入已譯碼指令隊(duì)列中等待執(zhí)行。如果在預(yù)譯碼時(shí)發(fā)現(xiàn)是轉(zhuǎn)移指令,可提前通知總線接口部件去取目標(biāo)地址中的指令,取代原預(yù)取隊(duì)列中的順序指令。執(zhí)行部件中包含32位的算術(shù)運(yùn)算單元ALU,8個(gè)32位通用寄存器組。為了加快乘、除法運(yùn)算速度,設(shè)置

5、了一個(gè)64位的桶形移位器和乘除硬件。6 1.1 803861.1 80386微處理器微處理器7 存儲(chǔ)管理部件由分段部件和分頁(yè)部件組成,存儲(chǔ)器采用段、頁(yè)式結(jié)構(gòu)。頁(yè)是機(jī)械劃分的,每4KB為一頁(yè),程序或數(shù)據(jù)均以頁(yè)為單位進(jìn)入實(shí)存。存儲(chǔ)器按段來(lái)組織,每段包含若干個(gè)頁(yè),段的最大容量可達(dá)4 000MB。一個(gè)任務(wù)最多可包含16K個(gè)段,所以80386可為每個(gè)任務(wù)提供64TB的虛擬存儲(chǔ)空間。為了加快訪問(wèn)速度 ,系統(tǒng)中還設(shè)置有高速緩沖存儲(chǔ)器(cache),構(gòu)成完整的cache主存輔存的3級(jí)存儲(chǔ)體系。 總線接口部件通過(guò)數(shù)據(jù)總線、地址總線和控制總線負(fù)責(zé)與外部取得聯(lián)系,包括訪問(wèn)存儲(chǔ)器預(yù)取指令,讀寫數(shù)據(jù)和訪問(wèn)IO端口讀寫數(shù)

6、據(jù)等全部操作及其他控制功能。1.1 803861.1 80386微處理器微處理器8 80386微處理器中有通用寄存器、段寄存器、指令指針和標(biāo)志寄存器、系統(tǒng)地址寄存器、控制寄存器、調(diào)試寄存器以及測(cè)試寄存器等,如下圖所示。1.2 803861.2 80386的寄存器的寄存器9 1. 通用寄存器 80386中設(shè)置8個(gè)32位通用寄存器,如下圖所示。它們的用法與8086相同,也可當(dāng)作8位、16位寄存器用。若作32位寄存器使用,前面必須加字符E。1.2 803861.2 80386的寄存器的寄存器10 2. 段寄存器 80386中設(shè)置6個(gè)16位段寄存器和6個(gè)64位描述符寄存器。其中CS,SS,DS和ES段

7、寄存器與8086中的段寄存器完全相同。在實(shí)地址方式下,使用方法也與8086相同;在保護(hù)虛地址方式下,用來(lái)存放虛地址指示器中的段選擇字。當(dāng)段選擇字置入段寄存器時(shí),CPU會(huì)把相應(yīng)的描述符中的段起始地址、段界限和段屬性等自動(dòng)的置入描述符寄存器,以供地址變換時(shí)使用。 FS和GS寄存器是為減輕段寄存器負(fù)擔(dān)而設(shè)置的,可由用戶將FS,GS定義為其他數(shù)據(jù)段。1.2 803861.2 80386的寄存器的寄存器11 3. 指令指針和標(biāo)志寄存器 利用32位的指令指針(EIP) 可直接尋址4000MB的實(shí)存空間。標(biāo)志寄存器的位結(jié)構(gòu)如下圖所示。其低端12位與8086標(biāo)志寄存器完全相同,高端又設(shè)置了4個(gè)新的標(biāo)位。其中,

8、IOPL字段為特權(quán)標(biāo)志,用來(lái)定義當(dāng)前任務(wù)的特權(quán)層。NT位為任務(wù)嵌套標(biāo)志,NT=1,表示當(dāng)前執(zhí)行的任務(wù)嵌套于另一任務(wù)中,否則NT=0。VM位是虛擬方式標(biāo)志,如果VM位置“1”,表示CPU是工作在虛地址保護(hù)方式。RF位是恢復(fù)標(biāo)志位,當(dāng)RF位置“1”,表示下邊指令中的所有調(diào)試故障都被忽略,當(dāng)成功地執(zhí)行完每條指令時(shí),RF將被置位。1.2 803861.2 80386的寄存器的寄存器12 4. 控制寄存器 80386中設(shè)置4個(gè)32位的控制寄存器R0R3。CR0的低16位為機(jī)器狀態(tài)字,目前只用低4位。其中,D0位是保護(hù)允許位(PE),用來(lái)啟動(dòng)CPU進(jìn)入保護(hù)虛地址方式。PE=0,表示CPU當(dāng)前處于實(shí)地址方式

9、;PE =1,表示CPU當(dāng)前已進(jìn)入保護(hù)虛地址方式。D3位是任務(wù)切換位(TS)、D2位是仿真協(xié)處理器位(EM)及D1位是監(jiān)督協(xié)處理器位(MP),這3位的組合功能見表5-1。系統(tǒng)可用LMSW及SMSW指令把機(jī)器狀態(tài)字取出和存入存儲(chǔ)器,來(lái)改變其功能??墒褂肕OV指令對(duì)CR0進(jìn)行讀寫操作。 1.2 803861.2 80386的寄存器的寄存器13 CR1保留給將來(lái)開發(fā)的Intel微處理器使用;CR2包含一個(gè)32位的線性地址,指向發(fā)生最后一次頁(yè)故障的地址;CR3包含頁(yè)目錄表的物理基地址,因?yàn)?0386中的頁(yè)目錄表總是在頁(yè)的整數(shù)邊界上,每4KB為一頁(yè),所以CR3的低端12位保持為“0”。5. 系統(tǒng)地址寄存

10、器 80386中設(shè)置4個(gè)專用的系統(tǒng)地址寄存器,它們是GDTR、IDTR、LDTR和TR。GDTR和IDTR長(zhǎng)48位,LDTR和TR長(zhǎng)16位。GDTR用來(lái)存放全局描述符表的基地址(32位)和限值(16位);IDTR用來(lái)存放中斷描述符表的基地址(32位)和限值(16位);LDTR用來(lái)存放局部描述符表的段選擇字;TR用來(lái)存放任務(wù)狀態(tài)段表的段選擇字。 1.2 803861.2 80386的寄存器的寄存器14 6. 調(diào)試寄存器 80386設(shè)置8個(gè)32位的調(diào)試(DEBUG)寄存器DR0DR7。DR7用來(lái)設(shè)置斷點(diǎn);DR6用來(lái)保留斷點(diǎn)狀態(tài)。DR0DR3可用來(lái)設(shè)置4個(gè)斷點(diǎn);DR4,DR5保留待用。7. 測(cè)試寄存

11、器 80386設(shè)置5個(gè)32位測(cè)試寄存器TR3TR7。 TR3TR5用于片內(nèi)Cache測(cè)試,TR6TR7用來(lái)控制分頁(yè)部件的測(cè)試操作。 1.2 803861.2 80386的寄存器的寄存器151 1 4 48038680386微處理器微處理器3232位微處理器的地址總線和數(shù)據(jù)總線位微處理器的地址總線和數(shù)據(jù)總線 32 32位微處理器的工作方式位微處理器的工作方式5 5 80486 80486微處理器微處理器PentiumPentium微處理器微處理器 3 32 216 32位地址總線提供內(nèi)存和I/O端口的物理地址,用30條地址線A2A31加上4個(gè)字節(jié)允許符BE0BE3來(lái)實(shí)現(xiàn)。這4個(gè)字節(jié)允許符給出了兩

12、個(gè)最低有效地址位和傳送寬度編碼。32位微處理器的物理尋址空間有4GB,即232字節(jié);而I/O地址空間只有64KB,即216字節(jié)。所以,A2A31用來(lái)尋址到一個(gè)4個(gè)字節(jié)的單元,而用BE0BE3來(lái)標(biāo)識(shí)在當(dāng)前傳送操作中這4個(gè)字節(jié)單元的處理方法。對(duì)于在執(zhí)行計(jì)算機(jī)內(nèi)存的讀和寫周期時(shí),4個(gè)字節(jié)允許符BE0BE3用來(lái)確定數(shù)據(jù)總線上哪些字節(jié)是有效驅(qū)動(dòng)的: BE0使最低8位數(shù)據(jù)線D0D7有效,BE1使次低8位數(shù)據(jù)線D8D15有效, BE2使次高8位數(shù)據(jù)線D16D23有效,BE3使最高8位數(shù)據(jù)線D24D31有效。這樣,字節(jié)允許符BE0BE3直接決定32位數(shù)據(jù)總線上傳送數(shù)據(jù)的寬度是14個(gè)字節(jié)。2.1 地址總線17

13、2.22.2 數(shù)據(jù)總線數(shù)據(jù)總線 32位數(shù)據(jù)總線是32條三態(tài)雙向數(shù)據(jù)線D0D31。D0D7為最低字節(jié),D24D31為最高字節(jié)??梢允褂肂S8和BS16引腳輸入控制信號(hào)來(lái)改變數(shù)據(jù)總線的寬度,將數(shù)據(jù)傳送到8位或16位設(shè)備中去。使32位微處理器能直接與32位、16位或8位總線相連接。CPU每個(gè)時(shí)鐘周期都采樣這些引腳,當(dāng)接收到BS16或BS8信號(hào)時(shí),只需要16位或8位總線有效。當(dāng)同時(shí)接收到BS16或BS8信號(hào)時(shí),只有8位總線有效。18 2.3 2.3 總線傳送機(jī)制總線傳送機(jī)制 32位微處理器的所有數(shù)據(jù)傳送都是由一個(gè)或多個(gè)總線周期來(lái)完成。1字節(jié)、2字節(jié)或4字節(jié)的邏輯數(shù)據(jù)操作數(shù)可以在物理地址不對(duì)界的情況下傳

14、送。在對(duì)界時(shí)的操作數(shù)只需要1個(gè)總線周期,而對(duì)于不對(duì)界時(shí)的操作數(shù)就需要2個(gè)或3個(gè)總線周期。 80X86地址信號(hào)的設(shè)計(jì)可以簡(jiǎn)化外部系統(tǒng)的硬件。高位地址由A2A31提供。低位地址則以BE0BE3形式提供了32位數(shù)據(jù)總線4個(gè)字節(jié)的選擇信號(hào)。 當(dāng)字節(jié)允許符參與數(shù)據(jù)傳送時(shí),在數(shù)據(jù)總線上就會(huì)有相應(yīng)的數(shù)據(jù)總線字節(jié)被傳送,如下表所示。19 有時(shí),對(duì)多總線接口需要A0和A1這兩個(gè)地址信號(hào),可由上表得到右圖所示的邏輯電路產(chǎn)生。 這樣,由A2A31和BE0BE3就能形成了完整的32條地址線,如下表所示。2.3 2.3 總線傳送機(jī)制總線傳送機(jī)制202 2 4 48038680386微處理器微處理器3232位微處理器的地

15、址總線和數(shù)據(jù)總線位微處理器的地址總線和數(shù)據(jù)總線 32 32位微處理器的工作方式位微處理器的工作方式5 5 80486 80486微處理器微處理器PentiumPentium微處理器微處理器 1 13 321 32位微處理器有3種工作方式,即實(shí)地址方式(real mode),保護(hù)方式(protected mode)和虛擬8086方式(virtual 8086 mode)。它們運(yùn)行和轉(zhuǎn)換的關(guān)系如下圖所示。當(dāng)CPU進(jìn)行啟動(dòng)或復(fù)位時(shí)首先進(jìn)入實(shí)地址方式工作。修改控制寄存器CR0的機(jī)器狀態(tài)字時(shí),就可以由實(shí)地址方式轉(zhuǎn)換到保護(hù)方式工作。再執(zhí)行IRET指令或進(jìn)行任務(wù)轉(zhuǎn)換,就可由保護(hù)方式轉(zhuǎn)移到虛擬8086方式工作

16、。任務(wù)轉(zhuǎn)換功能是32位微處理器的特點(diǎn)之一,我們采用中斷處理,就可再把CPU從虛擬8086方式返回到保護(hù)方式,以及實(shí)地址方式。22 32位微處理器實(shí)地址方式的工作原理與8086基本相同,其主要區(qū)別是32位微處理器能處理32位數(shù)據(jù)。 在保護(hù)方式下,CPU可訪問(wèn)232字節(jié)的物理存儲(chǔ)空間,段長(zhǎng)為232字節(jié),而且還可以實(shí)施保護(hù)功能。分頁(yè)功能是任選的。在保護(hù)方式中引入了軟件可占用空間的虛擬存儲(chǔ)器的概念。 虛擬8086方式是一種既能有效利用保護(hù)功能,又能執(zhí)行8086代碼的工作方式。CPU與保護(hù)方式下的原理相同,但程序指定的邏輯地址與8086 CPU解釋相同。 由此可見,實(shí)地址方式主要是為微處理器建立保護(hù)方式

17、所必須的。 在實(shí)地址方式運(yùn)行時(shí),32位微處理器就像一個(gè)速度很快的8086 CPU,但是,對(duì)某些指令,它也可擴(kuò)展為32位。保護(hù)方式提供了復(fù)雜的存儲(chǔ)器管理和處理器的特權(quán)級(jí)能力。在保護(hù)方式運(yùn)行時(shí),可實(shí)現(xiàn)任務(wù)的切換,即切換到虛擬8086方式,允許執(zhí)行8086的操作系統(tǒng)和應(yīng)用程序,使32位微處理器實(shí)現(xiàn)多任務(wù)和多用戶的目標(biāo)。23 3.1 3.1 實(shí)地址方式實(shí)地址方式 32位微處理器復(fù)位或加電后即處于實(shí)地址方式。實(shí)地址方式具有與8086相同的特性,但允許訪問(wèn)32位寄存器組。其尋址機(jī)制、存儲(chǔ)器訪問(wèn)范圍和中斷控制等都與8086相同。 在實(shí)地址方式中默認(rèn)的操作數(shù)是16位數(shù),段的大小是64KB。則32位有效地址必須

18、是比0000FFFFH小的值。為了使用32位寄存器和尋址方式必須用超越前綴。實(shí)地址方式尋址方法如下圖所示。24 3.1 3.1 實(shí)地址方式實(shí)地址方式 實(shí)地址方式的首要目的是安排32位微處理器進(jìn)入保護(hù)方式。在實(shí)地址方式運(yùn)行時(shí),最大的存儲(chǔ)器訪問(wèn)范圍是1MB。因此,僅A0A19地址線有效,A20A31地址線是高電平。 因?yàn)椋趯?shí)地址方式運(yùn)行時(shí),不允許分頁(yè),物理地址是由相應(yīng)的段寄存器內(nèi)容:左移4位;再加上指定的偏移量而形成。這也與8086 CPU相同。在實(shí)地址方式中,存儲(chǔ)器內(nèi)保留兩個(gè)固定的區(qū)域,即系統(tǒng)初始化區(qū)和中斷向量表。FFFFFFF0HFFFFFFFFH為系統(tǒng)初始化保留區(qū),C0000H003FFH

19、為中斷向量表,對(duì)256級(jí)中斷的每一級(jí)都有一個(gè)相應(yīng)的4字節(jié)跳轉(zhuǎn)向量。25 3.1 3.1 實(shí)地址方式實(shí)地址方式1. 32位微處理器的地址空間 32位微處理器有3種不同方式的地址空間:邏輯空間、線性空間和物理空間。它可以訪問(wèn)232字節(jié)的物理存儲(chǔ)器,但它支持多個(gè)任務(wù)時(shí),每個(gè)任務(wù)又能得到最大為246字節(jié)。這就出現(xiàn)了232字節(jié)的物理存儲(chǔ)器如何去分配給多個(gè)任務(wù)的存儲(chǔ)器管理問(wèn)題。 物理存儲(chǔ)器是CPU可訪問(wèn)的存儲(chǔ)器空間,其容量由CPU的地址總線寬度所決定;而虛擬存儲(chǔ)器是程序占有的空間,它的容量是由CPU內(nèi)部結(jié)構(gòu)所決定。 段部件將邏輯地址空間轉(zhuǎn)換為32位的線性地址空間。如果不使用分頁(yè)部件,則32位線性地址就對(duì)應(yīng)

20、著物理地址。分頁(yè)部件能將線性地址空間轉(zhuǎn)換為物理地址空間。26 3.1 3.1 實(shí)地址方式實(shí)地址方式 對(duì)于8086 CPU來(lái)說(shuō),程序占有的存儲(chǔ)器與CPU可以訪問(wèn)的存儲(chǔ)器是一致的,其容量都是1MB。但對(duì)32位微處理器來(lái)說(shuō),物理存儲(chǔ)器與虛擬存儲(chǔ)器是有區(qū)別的,其容量也不同。用戶在寫程序時(shí),其程序是存在磁盤里,因此可寫246字節(jié)的程序。然而,在執(zhí)行程序時(shí),一定要把程序加載到物理存儲(chǔ)器。但是,物理存儲(chǔ)器的容量只有232字節(jié)。因此,存在著物理存儲(chǔ)器的如何分配問(wèn)題,即存儲(chǔ)器管理。這種存儲(chǔ)器管理是由操作系統(tǒng)進(jìn)行,但32位微處理器內(nèi)部固件就有支持存儲(chǔ)器管理的功能。 我們?cè)趯?duì)程序進(jìn)行編碼時(shí),不可能直接指定物理存儲(chǔ)器

21、地址。這時(shí),程序占有的是虛擬存儲(chǔ)器地址。該地址是由程序指定,所以也叫做“邏輯地址”。27 3.1 3.1 實(shí)地址方式實(shí)地址方式 32位微處理器中程序占有的虛擬存儲(chǔ)器如下圖所示。它與8086 相同,程序可以是有多段構(gòu)成的。下圖只表示了一個(gè)有OMEGA變量的數(shù)據(jù)段。在程序中OMEGA的虛擬存儲(chǔ)器地址由邏輯地址所決定。28 3.1 3.1 實(shí)地址方式實(shí)地址方式例如,要把AL寄存器內(nèi)容傳送到這個(gè)位置,就要采用如下指令: MOVFS:OMEGA,ALFS:OMEGA是變量名為OMEGA的虛擬存儲(chǔ)器地址的邏輯地址格式。像8086 CPU那樣,OMEGA是存入該段的起始地址到OMEGA位置的偏移地址中。在8

22、086 中,段寄存器FS是段基址;而在32位微處理器中,則是段選擇字(在本節(jié)的“段寄存器”中還要講解)。段選擇字的作用是間接地來(lái)指定段。 所以,用程序來(lái)處理的所有地址都是以邏輯地址格式指定的虛擬地址。32位微處理器實(shí)際使用的FS寄存器是其中的高14位。因此,虛擬地址共可有46位,虛擬存儲(chǔ)器地址的空間范圍也就是246字節(jié)。29 3.1 3.1 實(shí)地址方式實(shí)地址方式 那么,32位微處理器對(duì)程序指定的46位虛擬地址又是怎樣變換成為32位物理地址的呢?因?yàn)樵?2位微處理器里有了一個(gè)“分段部件”,如下圖所示。它能把46位虛擬地址變換成為32位物理地址。我們也可用8086中邏輯地址變換為物理地址的方法來(lái)理

23、解32位微處理器的變換,如下圖所示。30 3.1 3.1 實(shí)地址方式實(shí)地址方式我們也可用8086 CPU中邏輯地址變換為物理地址的方法來(lái)理解32位微處理器的變換,如下圖所示。31 3.1 3.1 實(shí)地址方式實(shí)地址方式 在8086中,段寄存器的內(nèi)容就是段的段基址,為了換算成起始地址,我們把它左移4位(16)即可。但對(duì)32位微處理器,用16位段選擇字變換成為32位段起始地址就比較復(fù)雜。 32位CPU的選擇字共有16位,除上述高14位作為虛擬存儲(chǔ)器地址空間外,其最后兩位是請(qǐng)求保護(hù)特權(quán)級(jí)(RPL)。這要在本課程的“保護(hù)方式”中進(jìn)行講解。32 3.1 3.1 實(shí)地址方式實(shí)地址方式2. 描述符表 在32位

24、微處理器里,由虛擬地址變換為物理地址時(shí)需要用描述符表。描述符表與程序一起保存在虛擬存儲(chǔ)器中,程序執(zhí)行時(shí)都要裝入物理存儲(chǔ)器。在描述符表里描述符記載的僅是程序段數(shù),如下圖所示。描述符長(zhǎng)度由8個(gè)字節(jié)組成。它記載著段的起始地址、大小和屬性。CPU根據(jù)段寄存器中的的選擇字從描述符表選定一個(gè)描述符,讀取存于其描述符中的起始地址等參數(shù),進(jìn)行虛擬地址到物理地址的變換。33 3.1 3.1 實(shí)地址方式實(shí)地址方式 為了讀取描述符中的起始地址,一定先要知道描述符的物理地址。所以,在CPU中有描述符表寄存器,其中存有描述符表的起始地址。計(jì)算的方法如下:(選擇字高13位)8+(描述符表的起始地址)=描述符的物理地址其中

25、,乘以8是因?yàn)槊枋龇?個(gè)字節(jié)組成。這樣,利用選擇字,從描述符表可以找到段的起始地址,也稱為段的首地址??梢哉f(shuō),選擇字的功能是用間接方法指定段的首地址,也可理解為選擇字在確定段首址時(shí),起到索引的作用。 如上所述,32位微處理器的程序在執(zhí)行時(shí)需要有把虛擬地址(也稱為邏輯地址)變換為物理地址的描述符表,而32位微處理器的作用是根據(jù)描述符表把程序指定的虛擬地址變換為物理地址。 虛擬地址(邏輯地址)用以下格式表示: 段寄存器:偏移地址 例如,F(xiàn)S:OMEGA所表示的地址是虛擬存儲(chǔ)器中某位置的地址,不是實(shí)際物理地址,是虛擬地址。34 3.1 3.1 實(shí)地址方式實(shí)地址方式3.段寄存器 32位微處理器是根據(jù)

26、描述符表實(shí)現(xiàn)把虛擬地址變換成物理地址。訪問(wèn)描述符表就要花費(fèi)時(shí)間,使CPU速度降低。為此,采用段寄存器來(lái)替代描述符表。 32位微處理器的段寄存器由16位選擇字寄存器與64位(包括12位的段屬性、32位的段首址和20位的界限即段長(zhǎng)度)描述符寄存器構(gòu)成,描述符寄存器中的內(nèi)容是復(fù)制記載在描述符表中的描述符。因?yàn)橹挥蠧S,SS,DS,ES,F(xiàn)S和GS 6個(gè)選擇字寄存器,所以也只能復(fù)制6條描述符。這樣,就把虛擬地址變換成物理地址的訪問(wèn)存儲(chǔ)器,變成為訪問(wèn)描述符寄存器,所以速度很快。 35 3.2 3.2 保護(hù)方式保護(hù)方式3.2.1 32位微處理器的保護(hù)機(jī)制 32位微處理器為了支持多任務(wù)操作系統(tǒng),以4個(gè)特權(quán)級(jí)

27、來(lái)隔離或保護(hù)各用戶及操作系統(tǒng)。不同等級(jí)的特權(quán)級(jí)不能訪問(wèn)所規(guī)定區(qū)域外的單元,此外,數(shù)據(jù)也不能寫到禁止寫入的段里。 32位微處理器提供的保護(hù)機(jī)制主要包括分段保護(hù)及分頁(yè)保護(hù)。1. 特權(quán)級(jí)及特權(quán)級(jí)規(guī)則(1) 保護(hù)方式中的幾個(gè)術(shù)語(yǔ)PL (protected level) 特權(quán)級(jí)。分為PL0(最高級(jí))PL3(最低級(jí)) 4個(gè)特權(quán)級(jí)。RPL 請(qǐng)求特權(quán)級(jí)。RPL由選擇字的最低兩位決定。DPL 特權(quán)級(jí)描述符。DPL由描述符的訪問(wèn)權(quán)字節(jié)的第5和第6兩位決定。CPL 當(dāng)前特權(quán)級(jí),是當(dāng)前正在執(zhí)行任務(wù)的特權(quán)級(jí)。它相當(dāng)于正執(zhí)行代碼段的優(yōu)先級(jí)。CPL由CS的最低兩位來(lái)決定。EPL 有效特權(quán)級(jí)。 EPL是RPL和DPL的最低特

28、權(quán)級(jí)。此外,對(duì)一個(gè)程序進(jìn)行的實(shí)例稱為任務(wù)(Task)。36 3.2 3.2 保護(hù)方式保護(hù)方式(2) 保護(hù)方式的概念 32位微處理器用保護(hù)權(quán)等級(jí)來(lái)劃分計(jì)算機(jī)中的各類軟件。4級(jí)特權(quán)在計(jì)算機(jī)中形成的保護(hù)體制如下:微處理器內(nèi)部的特權(quán)級(jí)是PL=0,為微處理器服務(wù)的I/O系統(tǒng)的特權(quán)級(jí)是PL=1,操作系統(tǒng)(OS)的特權(quán)級(jí)是PL=2,應(yīng)用軟件的特權(quán)級(jí)最低,是PL=3。它們之間的轉(zhuǎn)換是由CPU強(qiáng)制實(shí)施的。(3) 特權(quán)級(jí)的運(yùn)作規(guī)則 32位微處理器按下述規(guī)則對(duì)某任務(wù)各級(jí)之間的數(shù)據(jù)和過(guò)程進(jìn)行訪問(wèn): 存儲(chǔ)在特權(quán)級(jí)為PL段中的數(shù)據(jù),僅可由至少像PL同樣特權(quán)級(jí)上執(zhí)行的代碼來(lái)訪問(wèn)。 具有特權(quán)級(jí)為PL的代碼段或過(guò)程可由與PL相

29、同或低于PL特權(quán)級(jí)的任務(wù)來(lái)調(diào)用。37 3.2 3.2 保護(hù)方式保護(hù)方式2. 特權(quán)級(jí)分類 為了保證計(jì)算機(jī)系統(tǒng)在多任務(wù)下工作時(shí)的可靠性,32位微處理器在許多操作中都設(shè)置了各自的特權(quán)級(jí)。(1) 任務(wù)特權(quán)級(jí)在任一時(shí)刻,微處理器總是運(yùn)行當(dāng)前特權(quán)級(jí)CPL指定的任務(wù)。一個(gè)任務(wù)的CPL僅可通過(guò)段描述符來(lái)改變。因此,一個(gè)處于PL=3運(yùn)行的應(yīng)用程序可以調(diào)用在PL=1上的操作系統(tǒng)子程序,并設(shè)置該任務(wù)的CPL=1,直到操作系統(tǒng)的子程序執(zhí)行完。(2) 請(qǐng)求特權(quán)級(jí)RPL僅用于建立一個(gè)比某一段所用的現(xiàn)行特權(quán)級(jí)低的特權(quán)級(jí)。該特權(quán)級(jí)稱作任務(wù)的有效特權(quán)級(jí)(EPL)。EPL定義為任務(wù)的CPL和選擇字中RPL較低的特權(quán)級(jí)。(3) I

30、/O特權(quán)級(jí)(IOPL)由EFLAG寄存器中的兩位(12及13位)來(lái)決定。該特權(quán)級(jí)定義了可以無(wú)條件執(zhí)行的I/O指令的最低特權(quán)級(jí)。38 3.2 3.2 保護(hù)方式保護(hù)方式3.2.2 保護(hù)方式的尋址方法 保護(hù)方式可以擴(kuò)大線性地址空間,從4GB擴(kuò)大到64TB,可運(yùn)行虛擬存儲(chǔ)器中的程序。另外,保護(hù)方式提供了精巧復(fù)雜的內(nèi)存管理和硬件輔助的保護(hù)機(jī)構(gòu)。在保護(hù)方式下可以使用支持多任務(wù)操作系統(tǒng)。從學(xué)習(xí)32位微處理器的角度來(lái)看,保護(hù)方式和實(shí)地址方式間的主要差別是增加了地址空間和一個(gè)不同的尋址機(jī)制。在保護(hù)方式下邏輯地址也由16位的選擇字和位的選擇字和32位的偏移地址位的偏移地址兩部分組成。16位的選擇字確定的段起始地址

31、加上一個(gè)32位的偏移地址以形成一個(gè)32位線性地址。如果分頁(yè)被禁止,這個(gè)線性地址就是物理地址;否則,這個(gè)線性地址經(jīng)分頁(yè)部件轉(zhuǎn)換為物理地址。39 3.2 3.2 保護(hù)方式保護(hù)方式3.2.3 分頁(yè)分頁(yè)是在保護(hù)方式下的一種存儲(chǔ)器管理方式,分頁(yè)是在分段的基礎(chǔ)上進(jìn)行的。它與分段不同,分頁(yè)是把程序和數(shù)據(jù)分為許多大小相同的頁(yè) (稱為頁(yè)面);而分段是將它們分成可變長(zhǎng)度的段。每個(gè)頁(yè)面的長(zhǎng)度均為4KB,頁(yè)面起始地址的低12位為全0。分頁(yè)機(jī)制用兩級(jí)表形式,在分頁(yè)部件中把來(lái)自分段單元的線性地址轉(zhuǎn)換為物理地址。分頁(yè)部件由頁(yè)目錄表、頁(yè)表及頁(yè)面組成。1.頁(yè)表將頁(yè)面(起始)地址的高20位和該頁(yè)面的標(biāo)志位或保護(hù)信息構(gòu)成頁(yè)表項(xiàng),其

32、內(nèi)容如下圖所示。將1024個(gè)頁(yè)表項(xiàng)集中排列存放構(gòu)成頁(yè)表,頁(yè)表中的每一項(xiàng)占4字節(jié),整個(gè)頁(yè)表占4KB空間。在頁(yè)表中選取1024個(gè)頁(yè)表項(xiàng)中的一個(gè)的10位地址存于線性地址的中間10位。 頁(yè)表的第1位(R/W)和第2位(U/S)可用來(lái)保護(hù)該頁(yè)面。 40 3.2 3.2 保護(hù)方式保護(hù)方式2.頁(yè)目錄表 每一個(gè)頁(yè)表地址,即頁(yè)表起始地址的低12位為全0,同頁(yè)表項(xiàng)一樣,將頁(yè)表(起始)地址構(gòu)成頁(yè)目錄項(xiàng),其內(nèi)容如下圖所示。將1024個(gè)頁(yè)目錄項(xiàng)集中排列存放構(gòu)成頁(yè)目錄表。頁(yè)目錄表中的每一項(xiàng)也占4字節(jié),整個(gè)頁(yè)目錄表占4KB空間。在頁(yè)目錄表中選取1024個(gè)頁(yè)目錄項(xiàng)中的一個(gè)的10位地址存于線性地址的高10位。頁(yè)目錄表的起始地址

33、存放于控制寄存器組的CR3中。CR3中的低12位總為0,以保證頁(yè)目錄始終按頁(yè)面對(duì)齊。 頁(yè)目錄表中的第1位(R/W)和第2位(U/S)可用來(lái)保護(hù)頁(yè)目錄中所包括的全部頁(yè)面。 41 3.2.4 線性地址變換成物理地址 線性地址變換成物理地址的過(guò)程如下圖所示。 將分段部件提供的32位線性地址的高10位乘以4與控制寄存器R3中的頁(yè)目錄表的起始地址相加得到頁(yè)目錄項(xiàng)的地址。該目錄項(xiàng)中的高20位就是頁(yè)表起始地址的高20位,將它邏輯左移12位得到頁(yè)表的起始地址,將線性地址的中間10位左移2位得到頁(yè)表項(xiàng)在頁(yè)表中的偏移地址,再將這2個(gè)地址相加得到頁(yè)表項(xiàng)的地址。該頁(yè)表項(xiàng)的高20位就是頁(yè)面起始地址的高20位,將它邏輯左

34、移12位與線性地址中的低12位相加,即生成指向某一存儲(chǔ)單元的32位物理地址。生成的物理地址送總線接口部件,以訪問(wèn)存儲(chǔ)器的某單元。3.2 3.2 保護(hù)方式保護(hù)方式42 3.2 3.2 保護(hù)方式保護(hù)方式43 把線性地址4834056H變換為物理地址30000056H的實(shí)例如下圖所示。3.2 3.2 保護(hù)方式保護(hù)方式44 控制寄存器CR3中的5000H是頁(yè)目錄表的起始地址。線性地址的高10位 (12H) 乘以4即412H,得到頁(yè)目錄項(xiàng)在頁(yè)目錄表中的偏移地址48H。因此,頁(yè)目錄項(xiàng)的物理地址為5048H。雙字單元5048H(5048H504BH)中的內(nèi)容為0000BXXXH。線性地址的中間10位(34H

35、)乘以4即434H,求得頁(yè)表項(xiàng)在頁(yè)表中的偏移地址0D0H,與頁(yè)表的起始地址0000B000H相加,求得頁(yè)表項(xiàng)的物理地址0B0D0H。雙字單元0B0D0H的內(nèi)容為03000XXXH,03000000H就是頁(yè)面起始地址,把它與線性地址的低12位(56H) 相加,就形成物理地址3000056H。3.2 3.2 保護(hù)方式保護(hù)方式45 3.3 3.3 虛擬虛擬8086方式方式 32位微處理器可以在實(shí)地址方式與虛擬8086方式(虛擬方式)下運(yùn)行8086應(yīng)用程序。在這兩種方式中,虛擬方式為系統(tǒng)設(shè)計(jì)者提供了最大的靈活性。在虛擬方式下,運(yùn)行8086程序可以盡量利用32位微處理器的保護(hù)機(jī)構(gòu)。尤其是32位微處理器允

36、許同時(shí)執(zhí)行8086的操作系統(tǒng)及其應(yīng)用程序和32位微處理器操作系統(tǒng)的應(yīng)用程序。從而,在一個(gè)多用戶的80X86計(jì)算機(jī)中,一個(gè)用戶可以運(yùn)行Windows版本,另一個(gè)用戶可以使用MS-DOS,而第3個(gè)用戶則可以運(yùn)行多個(gè)Unix資源及其應(yīng)用程序等。在這種環(huán)境下的每一個(gè)用戶就好像完全擁有該計(jì)算機(jī)資源。46 3.3 3.3 虛擬虛擬8086方式方式1虛擬方式的尋址機(jī)制 32位微處理器的實(shí)地址方式與保護(hù)方式的一個(gè)主要差別是對(duì)段選擇字的不同解釋。當(dāng)處理器在虛擬8086方式下工作時(shí),段寄存器與實(shí)地址方式是一樣的。段寄存器的內(nèi)容左移4位后與偏移量相加形成段基本線性地址。 32位微處理器允許操作系統(tǒng)在每一個(gè)任務(wù)內(nèi)指定

37、哪些程序使用8086方式的地址機(jī)構(gòu),哪些程序則使用保護(hù)方式尋址。利用分頁(yè),可以把虛擬方式任務(wù)的1MB地址空間映射到32位微處理器的4GB線性地址空間的任一空間中去。像實(shí)地址方式一樣,若有效地址不能超出64KB。然而,這些限制并不是很重要的,因?yàn)榇蠖鄶?shù)在虛擬8086方式下運(yùn)行的程序是目前已有的8086應(yīng)用程序。 47 3.3 3.3 虛擬虛擬8086方式方式2虛擬方式下的分頁(yè) 分頁(yè)硬件允許同時(shí)運(yùn)行多個(gè)虛擬任務(wù),并提供保護(hù)及操作系統(tǒng)隔離。盡管不是運(yùn)行虛擬方式任務(wù)一定要采用分頁(yè),但是對(duì)于運(yùn)行多個(gè)虛擬任務(wù)或把虛擬方式任務(wù)的地址重新分配到大于1MB的物理地址空間上時(shí)需要分頁(yè)部件。 分頁(yè)機(jī)制把虛擬方式的程

38、序產(chǎn)生的20位線性地址分成256個(gè)頁(yè)面。每一頁(yè)面可以安排在32位微處理器4GB物理地址空間的任何位置上。除此以外,由于是通過(guò)一個(gè)任務(wù)的切換來(lái)裝載頁(yè)目錄起始地址寄存器的,所以每一個(gè)虛擬方式下的任務(wù)可以利用不同的映射方式把頁(yè)面映射到不同的物理地址上。 最后一點(diǎn)要指出的是,分頁(yè)機(jī)制允許多個(gè)8086應(yīng)用程序共享8086操作系統(tǒng)。48 3.3 3.3 虛擬虛擬8086方式方式3虛擬方式下的保護(hù) 所有的虛擬8086方式程序都是在特權(quán)級(jí)3下運(yùn)行的,這是最低特權(quán)級(jí)。這樣的話,虛擬8086方式程序要服從所有的保護(hù)方式所定義的保護(hù)檢查(這與實(shí)地址方式不同,它是在特權(quán)級(jí)0下執(zhí)行的,這是最高的特權(quán)級(jí))。因此,在虛擬8

39、086方式下,要想執(zhí)行一條賦予了特權(quán)級(jí)的指令會(huì)導(dǎo)致系統(tǒng)故障。 有些特權(quán)級(jí)的指令,它們僅可在特權(quán)級(jí)0下執(zhí)行的。因此,要想使這些指令在虛擬8086方式下(或當(dāng)CPL0)執(zhí)行將導(dǎo)致系統(tǒng)故障。也有些指令,特別是那些應(yīng)用于多任務(wù)方式和保護(hù)方式的指令,只能在保護(hù)方式中執(zhí)行。因此,要想使下面的指令在實(shí)地址方式或虛擬8086方式下執(zhí)行會(huì)產(chǎn)生系統(tǒng)故障。 49 3.3 3.3 虛擬虛擬8086方式方式4虛擬方式中的中斷處理 為了完全地支持8086的仿真,虛擬8086方式中的中斷是在一個(gè)獨(dú)特的方式中進(jìn)行處理的。當(dāng)在虛擬方式中運(yùn)行時(shí),所有的中斷都包括一個(gè)返回主32位微處理器操作系統(tǒng)的特權(quán)級(jí)變化。中斷是來(lái)自保護(hù)方式應(yīng)用

40、程序還是虛擬方式程序是由32位微處理器操作系統(tǒng)通過(guò)檢查放在堆棧中的EFLAGS的映像中的VM位來(lái)加以確定的。502 2 1處理器微處理器3232位微處理器的地址總線和數(shù)據(jù)總線位微處理器的地址總線和數(shù)據(jù)總線 32 32位微處理器的工作方式位微處理器的工作方式5 5 80486 80486微處理器微處理器PentiumPentium微處理器微處理器 3 34 451 內(nèi)部數(shù)據(jù)總線為內(nèi)部數(shù)據(jù)總線為6464位,外部數(shù)據(jù)總線為位,外部數(shù)據(jù)總線為3232位,位,地址總線為地址總線為3232位位) ) 微處理器的組成:微處理器的組成: 總線接口單元、指令譯碼單元總線接口單元、指令譯

41、碼單元 指令預(yù)取單元、執(zhí)行單元指令預(yù)取單元、執(zhí)行單元 分段單元分段單元 分頁(yè)單元以及浮點(diǎn)處理單元(分頁(yè)單元以及浮點(diǎn)處理單元(FPUFPU) 高速緩存(高速緩存(Cache memoryCache memory)4.1 804864.1 80486的結(jié)構(gòu)的結(jié)構(gòu)52 新增加新增加3 3個(gè)測(cè)試寄存器個(gè)測(cè)試寄存器TR3TR3TR5TR5用于片內(nèi)用于片內(nèi)CacheCache測(cè)試以及浮點(diǎn)處理單元的浮點(diǎn)寄存器測(cè)試以及浮點(diǎn)處理單元的浮點(diǎn)寄存器 8048680486除了保留除了保留8038680386的所有標(biāo)志外,在的所有標(biāo)志外,在D18D18位位增加了對(duì)準(zhǔn)檢查標(biāo)志增加了對(duì)準(zhǔn)檢查標(biāo)志AC(alignment c

42、heck)AC(alignment check)4.2 804864.2 80486的寄存器的寄存器532 2 4 48038680386微處理器微處理器3232位微處理器的地址總線和數(shù)據(jù)總線位微處理器的地址總線和數(shù)據(jù)總線 32 32位微處理器的工作方式位微處理器的工作方式1 1 80486 80486微處理器微處理器PentiumPentium微處理器微處理器 3 35 554 Pentium Pentium微處理器是一種最先進(jìn)的微處理器是一種最先進(jìn)的3232位微處理器。它位微處理器。它幾乎具有兩臺(tái)幾乎具有兩臺(tái)8048680486的功能。的功能。55 5.1 Pentium5.1 Penti

43、um微處理器的結(jié)構(gòu)微處理器的結(jié)構(gòu)561.1.總線接口單元總線接口單元 總線接口單元實(shí)現(xiàn)微處理器與微型計(jì)算機(jī)系統(tǒng)總總線接口單元實(shí)現(xiàn)微處理器與微型計(jì)算機(jī)系統(tǒng)總線的連接,其中包括線的連接,其中包括6464位數(shù)據(jù)線、位數(shù)據(jù)線、3232位地址線和眾多位地址線和眾多的信號(hào)線,以此實(shí)現(xiàn)微處理器與外部的信息交換。的信號(hào)線,以此實(shí)現(xiàn)微處理器與外部的信息交換。PentiumPentium微處理器與外部交換數(shù)據(jù)可以是微處理器與外部交換數(shù)據(jù)可以是6464位還可以位還可以是是3232位、位、1616位或者位或者8 8位。位。5.1 Pentium5.1 Pentium微處理器的結(jié)構(gòu)微處理器的結(jié)構(gòu)572.2.分段單元和分

44、頁(yè)單元分段單元和分頁(yè)單元 分段單元將程序提供的邏輯地址轉(zhuǎn)換為線性地址,分段單元將程序提供的邏輯地址轉(zhuǎn)換為線性地址,分頁(yè)單元將線性地址轉(zhuǎn)換為物理地址。分頁(yè)單元將線性地址轉(zhuǎn)換為物理地址。 分頁(yè)是將段分為多個(gè)固定大小的頁(yè)面分頁(yè)是將段分為多個(gè)固定大小的頁(yè)面( (通常為通常為4KB)4KB),分頁(yè)支持虛擬存儲(chǔ)器環(huán)境。內(nèi)存中只保留程序訪問(wèn)的分頁(yè)支持虛擬存儲(chǔ)器環(huán)境。內(nèi)存中只保留程序訪問(wèn)的頁(yè)面,而眾多的頁(yè)面被存儲(chǔ)在磁盤中。當(dāng)程序要訪問(wèn)頁(yè)面,而眾多的頁(yè)面被存儲(chǔ)在磁盤中。當(dāng)程序要訪問(wèn)線性地址空間中的某個(gè)地址時(shí),分頁(yè)單元先將線性地線性地址空間中的某個(gè)地址時(shí),分頁(yè)單元先將線性地址轉(zhuǎn)換為存儲(chǔ)器的物理地址,然后執(zhí)行對(duì)該地

45、址的讀址轉(zhuǎn)換為存儲(chǔ)器的物理地址,然后執(zhí)行對(duì)該地址的讀操作或?qū)懖僮?。如果所訪問(wèn)的頁(yè)面不在物理內(nèi)存中,操作或?qū)懖僮?。如果所訪問(wèn)的頁(yè)面不在物理內(nèi)存中,微處理器就會(huì)暫時(shí)中斷該程序的執(zhí)行,由操作系統(tǒng)將微處理器就會(huì)暫時(shí)中斷該程序的執(zhí)行,由操作系統(tǒng)將所需的頁(yè)面從磁盤讀入物理內(nèi)存中,然后接著執(zhí)行被所需的頁(yè)面從磁盤讀入物理內(nèi)存中,然后接著執(zhí)行被中斷的程序。中斷的程序。5.1 Pentium5.1 Pentium微處理器的結(jié)構(gòu)微處理器的結(jié)構(gòu)583.U3.U流水線和流水線和V V流水線流水線 Pentium Pentium采用兩條流水線,這兩條流水線都擁有采用兩條流水線,這兩條流水線都擁有自己的算術(shù)邏輯單元自己的算

46、術(shù)邏輯單元ALUALU、地址生成電路和數(shù)據(jù)、地址生成電路和數(shù)據(jù)CacheCache的接口。這種雙流水線結(jié)構(gòu)允許的接口。這種雙流水線結(jié)構(gòu)允許PentiumPentium可以可以一次執(zhí)行兩條指令,每條流水線中執(zhí)行一條。一次執(zhí)行兩條指令,每條流水線中執(zhí)行一條。4.4.指令指令CacheCache和數(shù)據(jù)和數(shù)據(jù)CacheCache 在在PentiumPentium中,指令中,指令CacheCache和數(shù)據(jù)和數(shù)據(jù)CacheCache兩者分開,兩者分開,從而減少了指令預(yù)取和數(shù)據(jù)存取操作之間可能發(fā)生從而減少了指令預(yù)取和數(shù)據(jù)存取操作之間可能發(fā)生的沖突,并可提高命中率。的沖突,并可提高命中率。PentiumPen

47、tium的數(shù)據(jù)的數(shù)據(jù)CacheCache有有兩個(gè)接口,分別與兩個(gè)接口,分別與U U和和V V兩條流水線相連,以便同時(shí)兩條流水線相連,以便同時(shí)和兩條流水線交換數(shù)據(jù)。和兩條流水線交換數(shù)據(jù)。5.1 Pentium5.1 Pentium微處理器的結(jié)構(gòu)微處理器的結(jié)構(gòu)595.5.指令預(yù)取單元、指令譯碼單元和控制指令預(yù)取單元、指令譯碼單元和控制ROMROM 指令預(yù)取單元從指令指令預(yù)取單元從指令CacheCache中預(yù)先取指令,每次中預(yù)先取指令,每次取兩條指令。如果是簡(jiǎn)單指令,通過(guò)指令譯碼單元取兩條指令。如果是簡(jiǎn)單指令,通過(guò)指令譯碼單元譯碼后,將兩條指令分別送到譯碼后,將兩條指令分別送到U U流水線和流水線和

48、V V流水線執(zhí)流水線執(zhí)行。如果是復(fù)雜指令,通過(guò)控制行。如果是復(fù)雜指令,通過(guò)控制ROMROM將其轉(zhuǎn)換成對(duì)應(yīng)將其轉(zhuǎn)換成對(duì)應(yīng)的一系列微指令,再送到的一系列微指令,再送到U U流水線和流水線和V V流水線執(zhí)行。流水線執(zhí)行。復(fù)雜指令對(duì)應(yīng)的微指令存放在控制復(fù)雜指令對(duì)應(yīng)的微指令存放在控制ROMROM中。微指令是中。微指令是微處理器能夠直接執(zhí)行的指令,它的長(zhǎng)度是固定微處理器能夠直接執(zhí)行的指令,它的長(zhǎng)度是固定的,因此很容易在流水線中進(jìn)行處理。的,因此很容易在流水線中進(jìn)行處理。5.1 Pentium5.1 Pentium微處理器的結(jié)構(gòu)微處理器的結(jié)構(gòu)606. 6. 控制單元控制單元 控制單元的功能是通過(guò)對(duì)來(lái)自指令譯

49、碼單元和和控制單元的功能是通過(guò)對(duì)來(lái)自指令譯碼單元和和控制控制ROMROM中微程序的解析,控制中微程序的解析,控制U U流水線、流水線、V V流水線和流水線和浮點(diǎn)處理單元的正常運(yùn)行。浮點(diǎn)處理單元的正常運(yùn)行。7.7.分支轉(zhuǎn)移目標(biāo)緩沖器分支轉(zhuǎn)移目標(biāo)緩沖器 分支轉(zhuǎn)移目標(biāo)緩沖器在遇到分支轉(zhuǎn)移指令時(shí)用來(lái)分支轉(zhuǎn)移目標(biāo)緩沖器在遇到分支轉(zhuǎn)移指令時(shí)用來(lái)預(yù)測(cè)轉(zhuǎn)移是否發(fā)生,并據(jù)此為分支指令處的指令提供預(yù)測(cè)轉(zhuǎn)移是否發(fā)生,并據(jù)此為分支指令處的指令提供預(yù)取地址。預(yù)取地址。8.8.浮點(diǎn)處理單元浮點(diǎn)處理單元 浮點(diǎn)處理單元主要用于浮點(diǎn)運(yùn)算,使得浮點(diǎn)運(yùn)算浮點(diǎn)處理單元主要用于浮點(diǎn)運(yùn)算,使得浮點(diǎn)運(yùn)算的速度得到提高。的速度得到提高。5.1 Pentium5.1 Pentium微處理器的結(jié)構(gòu)微處理器的結(jié)構(gòu)61 5.2 Pentium5.2 Pentium微處理器的先進(jìn)技術(shù)微處理器的先進(jìn)技術(shù)(1)(1)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論