第二章微機(jī)原理_第1頁
第二章微機(jī)原理_第2頁
第二章微機(jī)原理_第3頁
第二章微機(jī)原理_第4頁
第二章微機(jī)原理_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第二章80x86微處理器2.1微處理器的發(fā)展1、80862、802863、803864、804865、奔騰(Pentium)6、PentiumPro7、奔騰II8、奔騰III9、IntelPentium4

2.28086微處理器2.2.18086CPU內(nèi)部功能結(jié)構(gòu)編程結(jié)構(gòu):就是指從程序員和使用者的角度應(yīng)該看到的結(jié)構(gòu)。這種結(jié)構(gòu)與CPU內(nèi)部的物理結(jié)構(gòu)和實(shí)際布局是有區(qū)別的。從功能上分:總線接口部件BIU(BusInterfaceUnit)執(zhí)行部件EU(ExecutionUnit)。狀態(tài)標(biāo)志寄存器EU控制器暫存寄存器123456(16位)總線控制邏輯地址總線地址加法器(20位)數(shù)據(jù)總線AHAHALBHBLCHCLDHDLSPBPDISIAXBXCXDXAHCSDSESSSIP內(nèi)部通訊寄存器ALU數(shù)據(jù)總線(16位)Q(總線)(8位)執(zhí)行部件(EU)總線接口部件(BIU)ALU(隊(duì)列)8086總線圖2.18086CPU的內(nèi)部結(jié)構(gòu)1、總線接口部件BIU總線接口部件的功能:與CPU外部(存儲(chǔ)器、I/O端口)傳送指令代碼或數(shù)據(jù)。CPU執(zhí)行指令的工作分為兩個(gè)階段:取指令和執(zhí)行指令過程。(1)BIU的組成4個(gè)16位的段地址寄存器(CS、DS、ES、SS)、16位的指令指針寄存器IP、20位的地址加法器、6字節(jié)的指令隊(duì)列緩沖器、16位的內(nèi)部暫存器和總線邏輯控制器(2)BIU各部件的作用⑴段地址寄存器CS:16位代碼段寄存器,寄存程序代碼段首地址的高16位。DS:16位數(shù)據(jù)段寄存器,寄存數(shù)據(jù)段首地址的高16位。ES:16位擴(kuò)展段寄存器,寄存另一個(gè)數(shù)據(jù)段首地址的高16位。SS:16位堆棧段寄存器,寄存堆棧區(qū)數(shù)據(jù)段首地址的高16位。

⑵16位的指令指針寄存器IP:指出當(dāng)前指令在程序代碼段中的16位偏移量。⑶20位的地址加法器:用來產(chǎn)生20位物理地址。段基址:段寄存器提供的16位信息,左移4位。偏移地址:EU提供的16位信息或者IP提供的16位信息。⑷6字節(jié)的指令隊(duì)列緩沖器:用來存放預(yù)取指令的指令隊(duì)列。⑸16位的內(nèi)部暫存器:暫存輸入/輸出信息的寄存器。⑹總線邏輯控制器:以邏輯控制方式實(shí)現(xiàn)總線上的信息傳送,如信息分時(shí)傳送等。2、執(zhí)行部件EU執(zhí)行部件的功能就是負(fù)責(zé)指令的執(zhí)行。(一)EU的組成:執(zhí)行部件由4個(gè)通用寄存器(AX、BX、CX、DX)、4個(gè)專用寄存器(BP、SP、SI、DI)、算術(shù)邏輯單元、EU控制器和標(biāo)志寄存器組成。(二)EU各部件的作用⑴4個(gè)通用寄存器AX:16位的累加器BX:16位的基數(shù)寄存器CX:16位的計(jì)數(shù)寄存器DX:16位的數(shù)據(jù)寄存器⑵4個(gè)專用寄存器BP:16位的基數(shù)指針寄存器SP:16位的堆棧指針寄存器堆棧:一組寄存器或一個(gè)存儲(chǔ)區(qū)域,用來存放調(diào)用子程序或 響應(yīng)中斷時(shí)的主程序斷點(diǎn)地址,以及暫存其它寄存 器的內(nèi)容。當(dāng)信息存入堆?;驈亩褩V腥〕鲂畔r(shí),都必須嚴(yán)格按照“先進(jìn)后出”的規(guī)則進(jìn)行。SI:16位的源變址寄存器DI:16位的目的變址寄存器⑶算術(shù)邏輯部件ALU:功能有兩個(gè):一是進(jìn)行算術(shù)/邏輯運(yùn)算,二是按指令的尋址方式計(jì)算出所尋址的16位偏移地址。⑷EU控制器:是執(zhí)行指令的控制電路,實(shí)現(xiàn)從隊(duì)列中取指令、 譯碼、產(chǎn)生控制信號(hào)等。⑸標(biāo)志寄存器:16位狀態(tài)標(biāo)志寄存器(7位未用)存放操作后的狀 態(tài)特征和人為設(shè)置的控制標(biāo)志。所用的各位含義如下:

8086的標(biāo)志分兩類:狀態(tài)標(biāo)志,控制標(biāo)志。狀態(tài)標(biāo)志表示前面的操作執(zhí)行后,算術(shù)邏輯部件處在怎樣一種狀態(tài),這種狀態(tài)會(huì)像某種先決條件一樣影響后面的操作。控制標(biāo)志是人為設(shè)置的,指令系統(tǒng)中有專門的指令用于控制標(biāo)志的設(shè)置和清除,每個(gè)控制標(biāo)志都對(duì)某一種特定的功能起控制作用。1514131211109876543210OFDFIFTFSFZFAFPFCF狀態(tài)標(biāo)志有6個(gè),即SF、ZF、PF、CF、AF和OF。符號(hào)標(biāo)志SF(SignFlag)零標(biāo)志ZF(ZeroFlag)奇/偶標(biāo)志PF(ParityFlag)進(jìn)位標(biāo)志CF(CarryFlag)輔助進(jìn)位標(biāo)志AF(AuxiliaryCarryFlag)溢出標(biāo)志OF(OverflowFlag)。

什么是溢出?

例2.1計(jì)算機(jī)在進(jìn)行2345H+3219H運(yùn)算后,試求狀態(tài)標(biāo)志SF、ZF、PF、CF、AF、OF的值。

0010001101000101十00110010000110010101010101011110SF=0,ZF=0,PF=0,CF=0,AF=0,OF=0。例2.2計(jì)算機(jī)在進(jìn)行5439H+456AH運(yùn)算后,試求狀態(tài)標(biāo)志SF、ZF、PF、CF、AF、OF的值。

0101010000111001+01000101011010101001100110100011SF=1,ZF=0,PF=1,CF=0,AF=1,OF=1。

控制標(biāo)志有3個(gè),即DF、IF、TF。方向標(biāo)志DF(DirectionFlag):這是控制串操作指令用的標(biāo)志。中斷標(biāo)志IF(InterruptEnableFlag):這是控制可屏蔽中斷的標(biāo)志。跟蹤標(biāo)志TF(TrapFlag):也稱單步陷阱

取指令1譯碼1取數(shù)1執(zhí)行1存結(jié)果1取指令2譯碼2執(zhí)行2…CPU時(shí)間(a)指令的串行處理取指令1取指令2取數(shù)1取指令3存結(jié)果1取指令4…BIU等待譯碼1執(zhí)行1譯碼2執(zhí)行2…EU時(shí)間(b)指令的并行處理圖2.2串行處理和流水處理工作原理2.2.28086CPU內(nèi)部流水線管理工作原理①開始執(zhí)行程序,EU等待BIU提取指令,當(dāng)BIU使隊(duì)列不空時(shí),EU和BIU就開始獨(dú)立進(jìn)行工作。②當(dāng)BIU的指令隊(duì)列中出現(xiàn)2個(gè)空字節(jié)時(shí),BIU又會(huì)自動(dòng)把后面的指令從存儲(chǔ)器取到指令隊(duì)列中,直到指令隊(duì)列滿為止。③當(dāng)EU在執(zhí)行指令過程中必須訪問存儲(chǔ)器或I/O,端口時(shí),EU會(huì)請求BIU去完成訪問外部的操作。④當(dāng)指令隊(duì)列已滿,而且EU又無訪問請求時(shí),BIU便進(jìn)入空閑狀態(tài)。⑤當(dāng)EU執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時(shí),指令隊(duì)列中的內(nèi)容自動(dòng)清除。⑥當(dāng)遇到程序的執(zhí)行需要轉(zhuǎn)移,或者某條指令的執(zhí)行過程中需要訪問內(nèi)存的次數(shù)過于頻繁,使BIU沒有空閑進(jìn)行指令的提取時(shí),EU處于等待狀態(tài),直到BIU取出指令為止。2.2.38086CPU的存儲(chǔ)器組織地址空間:1MB(20位)邏輯段:最大64kB,CS,DS,ES,SS。浮動(dòng)、連續(xù)、分開重疊。1、存儲(chǔ)器分段和段寄存器段首址:各邏輯段的第一個(gè)單元的地址。段基址:段首址的高16位。段基址根據(jù)段的性質(zhì)存放在相應(yīng)的段寄存器DS、ES、SS或CS中。偏移地址:段內(nèi)存儲(chǔ)單元距離段首地址的偏移量。段基址和偏移地址都是無符號(hào)的16位二進(jìn)制數(shù),這兩部分構(gòu)成了存儲(chǔ)單元的邏輯地址。

采用分段結(jié)構(gòu)的存儲(chǔ)器中,任何一個(gè)20位物理地址都是由它的邏輯地址變換得到的:物理地址=段基址×16+偏移地址段寄存器150000016位偏移地址1500000加法器20位物理地址190圖2.48086物理地址的形成段寄存器CSSSDSES基址及指針寄存器CSBPSPSIBXDI圖2.5段寄存器與其它寄存器的組合2、存儲(chǔ)器組織8086的1MB存儲(chǔ)器,分成了兩個(gè)512KB存儲(chǔ)區(qū),分別叫奇地址區(qū)(奇區(qū))和偶地址區(qū)(偶區(qū))。

CSA18~A0512K字節(jié)奇區(qū)存貯體D7~D0CSA18~A0512K字節(jié)偶區(qū)存貯體D7~D0D8~D15D0~D7A1~A19A0BHE圖2.68086存儲(chǔ)器的偶區(qū)和奇區(qū)

字節(jié)分為奇字節(jié)和偶字節(jié)。字分為奇字、偶字。對(duì)于奇字節(jié)、偶字節(jié)、奇字、偶字的讀/寫操作,奇字節(jié)、偶字節(jié)和偶字操作均可用一個(gè)總線周期完成,而奇字操作需二個(gè)總線周期,分別用奇字節(jié)和偶字節(jié)操作來完成。2.2.48086CPU總線周期的概念

BIU通過系統(tǒng)總線完成對(duì)外界(存儲(chǔ)器或I/O端口)的一次訪問所需的時(shí)間稱作一個(gè)總線周期。在計(jì)算機(jī)中時(shí)間的最小單位是時(shí)鐘周期(一個(gè)時(shí)鐘脈沖的時(shí)間長度)。在8086CPU中,一個(gè)最基本的總線周期由4個(gè)時(shí)鐘周期組成。4個(gè)時(shí)鐘周期分別稱為4個(gè)狀態(tài),即T1狀態(tài)、T2狀態(tài)、T3狀態(tài)和T4狀態(tài)。除了上述四個(gè)狀態(tài)外,還有等待狀態(tài)Tw和空閑狀態(tài)TI。圖2.7典型的8086總線周期序列①在T1狀態(tài),CPU往多路復(fù)用總線上發(fā)出地址信息,以指出要尋址的存儲(chǔ)單元或外設(shè)端口的地址。②在T2狀態(tài),CPU從總線上撤消地址,而使總線的低16位浮置成高阻狀態(tài),為傳輸數(shù)據(jù)作準(zhǔn)備。③在T3狀態(tài),多路總線的高4位繼續(xù)提供狀態(tài)信息,而多路總線的低16位(8088則為低8位)上出現(xiàn)由CPU寫出的數(shù)據(jù)或者CPU從存儲(chǔ)器或端口讀入的數(shù)據(jù)④在有些情況下,外設(shè)或存儲(chǔ)器速度較慢,不能及時(shí)地配合CPU傳送數(shù)據(jù)。⑤在T4狀態(tài),總線周期結(jié)束。2.2.58086CPU的引腳信號(hào)及工作模式

最小模式:在系統(tǒng)中只有一個(gè)8086處理器。最大模式:在系統(tǒng)中有兩個(gè)或兩個(gè)以上的處理器1、8086CPU的引腳信號(hào)GNDAD14

AD13

AD12

AD11

AD10

AD9

AD8

AD7

AD6

AD5

AD4

AD3

AD2

AD1

AD0

NMIINTRCLKGND12345678910111213141516171819204039383736353433323130292827262524232221VCC(+5v)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET圖2.88086CPU的引腳信號(hào)排列1、最小模式1~40腳的功能定義(一)雙向引腳信號(hào)AD15~AD0

地址/數(shù)據(jù)復(fù)用線(雙向,三態(tài))。第2~16引腳分別為AD14~AD0,第39引腳為AD15。作為功能復(fù)用引腳。(二)輸入引腳信號(hào)(1)MN/最?。畲竽J皆O(shè)定(輸入,高、低電平均有效)。MN/=1,8086系統(tǒng)工作方式設(shè)置為最小模式。MN/=0,8086設(shè)置為最大模式工作方式。(2)地線和電源線(輸入)8086的GND有兩條(1,20腳),Vcc接入的電壓為+5V±10%。(3)CLK系統(tǒng)時(shí)鐘(輸入)。通常與8284A(時(shí)鐘發(fā)生器)的時(shí)鐘輸出端CLK相連接。(4)RESET復(fù)位信號(hào)(輸入,高電平有效)。(5)READY“準(zhǔn)備好”信號(hào)(輸入,高電平有效)。(6)等待測試信號(hào)(輸入,低電平有效)。(7)NMI非屏蔽中斷請求信號(hào)(輸入,上升沿觸發(fā))。(8)INTR可屏蔽中斷請求信號(hào)(輸入,高電平有效)。(9)HOLD總線保持請求信號(hào)(輸入,高電平有效)。(三)輸出引腳信號(hào)(1)A19~A16/S6~S3地址/狀態(tài)復(fù)用線(輸出,三態(tài))。S4

S3

狀態(tài)00110101指示附加段寄存器在使用(可修改數(shù)據(jù))指示堆棧段寄存器在使用指示代碼段寄存器在使用(或未用任何段寄存器)指示數(shù)據(jù)段寄存器在使用表2.1S4、S3代碼指示正在使用的段寄存器(2)/S7

數(shù)據(jù)線高8位開放/狀態(tài)復(fù)用線(輸出,三態(tài))。表2.2、A0代碼表示的相應(yīng)操作A0

操作所用數(shù)據(jù)引腳00從偶地址讀/寫一個(gè)字AD15~AD010從偶地址讀/寫一個(gè)字節(jié)AD7~AD001從奇地址讀/寫一個(gè)字節(jié)AD15~AD80110從奇地址讀/寫一個(gè)字(分兩個(gè)總線周期實(shí)現(xiàn),首先作奇字節(jié)讀/寫,然后作偶字節(jié)讀/寫)AD15~AD8AD7~AD0(3)

讀控制信號(hào)(輸出,低電平有效,三態(tài))。(4)

寫控制信號(hào)(輸出,低電平有效,三態(tài))。(5)M/存儲(chǔ)器和I/O控制信號(hào)(輸出,三態(tài))。(6)中斷響應(yīng)信號(hào)(輸出。低電平有效)。(7)HLDA總線保持響應(yīng)信號(hào)(輸出,高電平有效)。(8)ALE地址鎖存信號(hào)(輸出,高電平有效)

(9)DT/數(shù)據(jù)收/發(fā)控制信號(hào)(輸出,三態(tài))。(10)

數(shù)據(jù)允許信號(hào)(輸出,低電平有效,三態(tài))。二、最大模式24~31腳的功能定義(l)~總線周期狀態(tài)信號(hào)(輸出,三態(tài))??偩€周期8288控制命令000001010011100101110111INTA周期I/O讀周期I/O寫周期暫停取指令周期讀存儲(chǔ)器周期寫存儲(chǔ)器周期無源狀態(tài)無無表2.3~對(duì)應(yīng)的總線周期及8288的控制命令

(2)QS1、QS0指令隊(duì)列狀態(tài)信號(hào)(輸出)。

表2.4QS1、QS0與隊(duì)列狀態(tài)QS1

QS0

隊(duì)列狀態(tài)00110101無操作從隊(duì)列緩沖器中取出指令的第一字節(jié)清除隊(duì)列緩沖器從隊(duì)列緩沖器中取出第二字節(jié)以后部分(3)

、

總線請求/總線允許信號(hào)(雙向,低電平有效,三態(tài))。(4)

總線封鎖信號(hào)(輸出,低電平有效,三態(tài))。2、8086CPU工作模式的典型配置

(1)最小模式下的典型配置

RES8284MN/MXRDCLKWRREADYM/IORESETALEA19~A15BHE

AD15~AD0DENDT/RSTB8282OR8283OE存儲(chǔ)器I/O芯片8282ORT8283OE8086CPU圖2.98086最小模式下的典型配置數(shù)據(jù)總線地址總線地址/數(shù)據(jù)地址BHE(2)最大模式下的典型配置TOE8286

STB8282OE8288S0INTAS1MRDCS2MWTCDENIOWCDT/RIORCALE8284RESMN/MXCLKS0READYS1RESETS2

AD15~AD0A16~A19存儲(chǔ)器I/O芯片8086CPUCLK圖2.108086最大模式下的典型配置BHE1VCC地址總線數(shù)據(jù)總線2.2.68086CPU的操作時(shí)序操作時(shí)序可分為:系統(tǒng)復(fù)位和啟動(dòng)操作、暫停操作、空操作、總線讀操作、總線寫操作、中斷操作、總線 保持。1、系統(tǒng)復(fù)位和啟動(dòng)操作圖2.118086CPU的復(fù)位操作時(shí)序2、暫停操作

3、總線空操作4、總線讀操作總線讀操作分兩種:最小模式下的總線讀操作最大模式下的總線讀操作l)最小模式下的總線讀操作圖2.12最小模式的總線讀操作時(shí)序

T1狀態(tài)CPU完成五個(gè)操作:①CPU首先在M/線上發(fā)出有效電平。②從地址/數(shù)據(jù)復(fù)用線AD15~AD0和地址/狀態(tài)復(fù)用線A19/S6~A16/S3發(fā)20位存儲(chǔ)器單元地址或16位I/O端口地址。③CPU在T1狀態(tài)從ALE引腳上輸出一個(gè)正脈沖作地址鎖存器的地址鎖存信號(hào)。④CPU在T1狀態(tài)通過/S7引腳發(fā)有效信號(hào)(低電平)。

⑤CPU在T1狀態(tài)使DT/變?yōu)榈碗娖?,控制?shù)據(jù)收發(fā)器為接收數(shù)據(jù)狀態(tài)。

T2狀態(tài)CPU完成五個(gè)操作:①地址/數(shù)據(jù)復(fù)用線AD15~AD0上地址信號(hào)消失,AD15~AD0進(jìn)入高阻緩沖期,以便為數(shù)據(jù)讀入作準(zhǔn)備。②地址/狀態(tài)復(fù)用線A19/S6~A16/S3及/S7線,開始輸出狀態(tài)信息S7~S3,持續(xù)到T4。③信號(hào)開始變?yōu)榈碗娖剑ㄓ行В?,此信?hào)是用來使數(shù)據(jù)收發(fā)器(如8286)開放。④信號(hào)開始變?yōu)榈碗娖接行?。此信?hào)被接到系統(tǒng)中所有存儲(chǔ)器和I/O端口。

⑤DT/繼續(xù)保持低電平有效的接收狀態(tài)。

T3狀態(tài):存儲(chǔ)器或外設(shè)把數(shù)據(jù)放在數(shù)據(jù)總線AD15~AD0上,為CPU讀數(shù)據(jù)作好準(zhǔn)備。Tw狀態(tài):這是一個(gè)等待狀態(tài),Tw可以為1個(gè)或多個(gè)。T4狀態(tài):在T4狀態(tài)和前一狀態(tài)交界的下降沿處,CPU對(duì)數(shù)據(jù)總線上的數(shù)據(jù)進(jìn)行采樣,完成讀取數(shù)據(jù)的操作。2)最大模式下的總線讀操作

圖2.13最大模式的總線讀操作時(shí)序5、總線寫操作總線寫操作是指CPU把數(shù)據(jù)寫入到存儲(chǔ)器或I/O端口。1)最小模式下的總線寫操作圖2.14最小模式的總線寫操作時(shí)序總線寫周期和總線讀周期操作有何不同?①寫周期下,AD線上因輸出的地址和輸出的數(shù)據(jù)為同方向,因此,T2時(shí)不再需要像讀周期時(shí)要維持一個(gè)周期的浮空狀態(tài)以作緩沖;②對(duì)存儲(chǔ)器芯片或I/O端口發(fā)出的控制信號(hào)是WR,而不是RD,但它們出現(xiàn)的時(shí)序類似,也是從T2開始;③在DT/引腳上發(fā)出的是高電平的數(shù)據(jù)發(fā)送控制信號(hào)DT,此信號(hào)被送到8286數(shù)據(jù)收發(fā)器控制其為數(shù)據(jù)輸出方向。

2)最大模式下的總線寫操作

圖2.15最大模式的總線寫操作時(shí)序

2.380286微處理器

2.3.180286CPU的主要性能1、80286是一種先進(jìn)的16位微處理器2、80286CPU有兩種工作方式(1)實(shí)地址方式(2)保護(hù)虛地址方式3、具有存儲(chǔ)器管理和保護(hù)機(jī)構(gòu)4、兼容性好2.3.280286CPU的功能結(jié)構(gòu)組成:執(zhí)行部件EU、地址部件AU、指令部件IU和總線接口部件BIU通用寄存器ALU及標(biāo)志寄存器控制器偏移量或數(shù)據(jù)已譯碼指令地址部件段描述符Cache偏移量加法器物理地址加法器段寄存器總線接口部件物理地址存儲(chǔ)器操作數(shù)請求內(nèi)部數(shù)據(jù)總線指令部件圖2.1680286功能結(jié)構(gòu)框圖協(xié)處理器接口總線控制器地址鎖存驅(qū)動(dòng)器數(shù)據(jù)收發(fā)器預(yù)取器3條已譯碼指令隊(duì)列指令譯碼器6字節(jié)預(yù)取隊(duì)列PEACKPEREQ地址總線控制總線數(shù)據(jù)總線執(zhí)行部件161、總線接口部件BIU組成:協(xié)處理器接口、地址鎖存驅(qū)動(dòng)器、總線控制器、數(shù)據(jù)收 發(fā)器、預(yù)取器和6字節(jié)的預(yù)取隊(duì)列。主要作用:處理CPU和系統(tǒng)總線之間的所有通信和數(shù)據(jù)傳輸。2、指令部件IU組成:指令部件IU由指令譯碼器和已譯碼指令隊(duì)列主要作用:把指令字節(jié)從預(yù)取隊(duì)列中取出,送入指令譯碼器。3、執(zhí)行部件EU組成:算術(shù)邏輯部件ALU、標(biāo)志寄存器、通用寄存器陣列和控制電路等。主要作用:EU中的控制電路根據(jù)已譯碼指令的69位內(nèi)部碼產(chǎn)生執(zhí)行指令所需的控制電位序列,實(shí)現(xiàn)對(duì)其它部件的控制,完成指令的執(zhí)行,并根據(jù)操作結(jié)果影響標(biāo)志寄存器的標(biāo)志位。4、地址部件AU組成:地址部件AU由段描述符高速緩沖存儲(chǔ)器、物理地址加法 器、偏移地址加法器和段寄存器等。主要作用:在實(shí)地址方式下將段基址與偏移地址組合起來形成 20位物理地址。2.3.380286CPU的寄存器1、新增標(biāo)志位80286CPU新增了兩類標(biāo)志,占用三個(gè)標(biāo)志位。(1)I/O特權(quán)級(jí)標(biāo)志該標(biāo)志占用兩位二進(jìn)制位(位12、13),四個(gè)狀態(tài),用來確定需要執(zhí)行的I/O操作的特權(quán)級(jí)。(2)嵌套任務(wù)標(biāo)志NTNT標(biāo)志占用一位二進(jìn)制位(位14)。

2、機(jī)器狀態(tài)字MSW(1)允許保護(hù)標(biāo)志PE若PE=1,則80286轉(zhuǎn)換成保護(hù)方式。(2)監(jiān)控協(xié)處理器擴(kuò)充標(biāo)志MP若MP=1則系統(tǒng)中有數(shù)學(xué)協(xié)處理器存在;否則數(shù)學(xué)協(xié)處理器不存在。(3)仿真協(xié)處理器擴(kuò)充標(biāo)志EM若EM=1,表示采用軟件仿真數(shù)學(xué)協(xié)處理器的功能,若EM=0,表示沒有采用軟件仿真數(shù)學(xué)協(xié)處理器的功能。(4)任務(wù)轉(zhuǎn)換標(biāo)志TS(TaskSwitchedFlag)TS由硬件置位,由軟件復(fù)位。2、機(jī)器狀態(tài)字MSW(1)允許保護(hù)標(biāo)志PE若PE=1,保護(hù)方式;系統(tǒng)復(fù)位后,PE=0,實(shí)地址方式。(2)監(jiān)控協(xié)處理器擴(kuò)充標(biāo)志MP若MP=1則系統(tǒng)中有數(shù)學(xué)協(xié)處理器存在;否則數(shù)學(xué)協(xié)處理器不存在。(3)仿真協(xié)處理器擴(kuò)充標(biāo)志EMEM=1,表示采用軟件仿真數(shù)學(xué)協(xié)處理器的功能;若EM=0,則否。(4)任務(wù)轉(zhuǎn)換標(biāo)志TSTS由硬件置位,由軟件復(fù)位。2.3.480286CPU的存儲(chǔ)器尋址

什么是虛擬存儲(chǔ)器?它是一種設(shè)計(jì)技術(shù),采用該技術(shù)能提供比實(shí)際內(nèi)存儲(chǔ)器大得多的存儲(chǔ)器空間。它由存儲(chǔ)器管理機(jī)制和一個(gè)大容量快速硬磁盤支持,及時(shí)地將虛擬存儲(chǔ)空間調(diào)入內(nèi)存或調(diào)回磁盤。

CPU中其它部件選擇子偏移量加法器3116150存儲(chǔ)器┋目標(biāo)單元┋┋段描述符┋段段基址230080286CPU圖2.1880286保護(hù)虛地址方式下的存儲(chǔ)器尋址過程2.480386微處理器

2.4.180386CPU的主要性能1、靈活的32位微處理器2、具有3種工作方式(1)實(shí)地址方式(2)虛地址保護(hù)方式(3)虛擬8086方式3、具有段頁式存儲(chǔ)器管理部件4、兼容性強(qiáng)5、高性能的硬件措施2.4.280386CPU的功能結(jié)構(gòu)組成:總線接口部件BIU、指令預(yù)取部件、指令譯碼部件、執(zhí) 行部件、分段部件和分頁部件。1、總線接口部件BIU組成:由請求判優(yōu)控制器、地址驅(qū)動(dòng)器、流水線總線寬度控制、 多路轉(zhuǎn)換MUX/收發(fā)器等。主要作用:將CPU內(nèi)部的其它部件與外部總線連接起來。2、指令預(yù)取部件組成:預(yù)取器及預(yù)取隊(duì)列。主要作用:管理著一個(gè)預(yù)取指令指針和段預(yù)取界限。3、指令譯碼部件組成:指令譯碼器及已譯碼指令隊(duì)列。主要作用:指令譯碼部件為指令的執(zhí)行做好了準(zhǔn)備。4、執(zhí)行部件組成:控制部件、數(shù)據(jù)處理部件和保護(hù)測試部件。主要作用:將已譯碼指令隊(duì)列中的內(nèi)部編碼變成按時(shí)間順序排 列的一系列控制信息,并發(fā)向處理器的其它處理部 件,以便完成一條指令的執(zhí)行。數(shù)據(jù)處理部件的組成:一個(gè)算術(shù)邏輯部件ALU、8個(gè)32位通用寄 存器、一個(gè)64位桶形移位器和一個(gè)乘法器。5、分段部件組成:三輸入地址加法器、段描述符高速緩沖存儲(chǔ)器及界限和 屬性檢驗(yàn)用可編程邏輯陣列PLA。主要作用:把邏輯地址轉(zhuǎn)換成線性地址。6、分頁部件組成:加法器、頁高速緩沖存儲(chǔ)器及控制和屬性PLA。主要作用:將分段部件或代碼領(lǐng)取部件產(chǎn)生的線性地址轉(zhuǎn)換成 物理地址。存儲(chǔ)器管理部件MMU的組成:分頁部件、分段部件及總線接口 部件。預(yù)取器/界驗(yàn)校驗(yàn)器16字節(jié)預(yù)取隊(duì)列譯碼和定序控制ROM桶形移位器ALU乘/除硬件寄存器組保護(hù)檢測部件地址驅(qū)動(dòng)器流水線總線寬度控制MUX收發(fā)器請求判優(yōu)器有效地址總線有效地址總線狀態(tài)標(biāo)志ALUALU控制指令譯碼器已譯碼指令隊(duì)列指令譯碼器ALU總線323輸入加法器描述符高速緩沖存儲(chǔ)器界限和屬性PLA分段部件MMU加法器頁高速緩沖存儲(chǔ)器控制和屬性PLA分頁部件3234總線接口部件BIU物理地址總線碼/頁表獲取線性地址總線內(nèi)部控制總線32指令預(yù)取代碼流偏移量總線執(zhí)行部件323232HOLD,INTR,NMIERROR,BUSYRESET,HLDABE0~BE31A1~A31M/IO,D/CW/R,LOCKADS,NA,BSIG,READYD0~D31圖2.1980386CPU的功能結(jié)構(gòu)2.4.380386CPU的寄存器80386CPU共有34個(gè)寄存器:1、基本寄存器(16個(gè))(1)32位通用寄存器(4個(gè)):EAX、EBX、ECX、EDX(2)32位變址寄存器(2個(gè)):源地址寄存器ESI和目的地址 寄存器EDI(3)32位指針寄存器(3個(gè)):基地址指針寄存器EBP、堆棧 指針寄存器ESP和指令指針寄 存器EIP(4)16位段寄存器(6個(gè)):代碼段寄存器CS、數(shù)據(jù)段寄存器 DS、堆棧段寄存器SS及附加數(shù)據(jù) 段寄存器ES、FS和GS(5)32位標(biāo)志寄存器(1個(gè))6個(gè)狀態(tài)標(biāo)志:進(jìn)位標(biāo)志CF、奇偶標(biāo)志PF、輔助進(jìn)位標(biāo)志AF、零標(biāo) 志ZF、符號(hào)標(biāo)志SF、溢出標(biāo)志OF;3個(gè)控制標(biāo)志:陷阱標(biāo)志TF、中斷允許標(biāo)志IF、方向標(biāo)志DF;2個(gè)保護(hù)方式標(biāo)志:輸入/輸出特權(quán)級(jí)標(biāo)志IOPL、嵌套任務(wù)標(biāo)志 NT;2個(gè)新增的標(biāo)志:重新啟動(dòng)標(biāo)志RF、虛擬8086方式標(biāo)志VM。1)重新啟動(dòng)標(biāo)志RF(ResumeFlag)2)虛擬8086方式標(biāo)志VM(Virtual8086ModeFlag)313029280000000000DIVIPVIFACVMRF0NTIOPLOFDFIFTFSFZF0AF0PF0CF2726252423222120191817161514131211109876543210XID標(biāo)志X虛擬中斷掛起X虛擬中斷標(biāo)志X對(duì)齊核查X虛擬8086方式X恢復(fù)標(biāo)志X嵌套任務(wù)XI/O特權(quán)級(jí)S溢出標(biāo)志C方向標(biāo)志C中斷允許標(biāo)志C陷阱標(biāo)志S符號(hào)標(biāo)志S零標(biāo)志S輔助進(jìn)位標(biāo)志S奇偶標(biāo)志S進(jìn)位標(biāo)志IDVIPVIFACVMRFNTIOPLOFDFIFTFSFZFAFPFCF0保留位。不要使用。位0~11為8086的標(biāo)志位;位0~14為80286的標(biāo)志位;位0~17為80386的標(biāo)志位;位0~18為80486的標(biāo)志位;位0~21為奔騰的標(biāo)志位。圖2.2080x86的標(biāo)志寄存器2、控制寄存器(4個(gè))80386有4個(gè)32位的控制寄存器:CR0~CR3(1)CR0與CR1CR0寄存器包含6個(gè)系統(tǒng)標(biāo)志、CR1是未定義的控制寄存器。1)擴(kuò)充類型標(biāo)志ET2)允許分頁標(biāo)志PGPG保留ETTSEMMPPE310CR0協(xié)處理機(jī)擴(kuò)充任務(wù)轉(zhuǎn)換仿真協(xié)處理器監(jiān)控協(xié)處理器允許保護(hù)允許分頁圖2.2180386控制寄存器CR0(2)CR2與CR3CR2:頁故障線性地址寄存器CR3:頁目錄基地址寄存器頁故障線性地址寄存器11109876543210頁目錄基址寄存器000000000000312423161511109876543210CR2CR3圖2.2280386的控制寄存器CR2和CR33、系統(tǒng)地址寄存器(4個(gè))作用:用來保存操作系統(tǒng)所需要的保護(hù)信息和地址轉(zhuǎn)換表信息。(1)全局描述符表寄存器GDTR(48位)作用:保存全局描述符表的32位線性基址和16位界限。(2)中斷描述符表寄存器IDTR(48位)作用:保存中斷描述符表的32位線性地址和16位界限。

選擇子選擇子4732位線性基地址1615界限0GDTRIDTRTRLDTR圖2.2380386系統(tǒng)地址寄存器(3)局部描述符表寄存器LDTR(16位)作用:保存當(dāng)前任務(wù)的LDT的16位選擇子。(4)任務(wù)狀態(tài)寄存器TR(16位)作用:保存當(dāng)前任務(wù)的TSS(任務(wù)狀態(tài)段)的16位選擇子。4、調(diào)試寄存器(8個(gè))DR0~DR7DR0~DR3:線性斷點(diǎn)地址寄存器。DR4和DR5:保留的備用調(diào)試寄存器。DR6:斷點(diǎn)狀態(tài)寄存器。DR7:斷點(diǎn)控制寄存器。5、測試寄存器(2個(gè))TR6、TR7TR6:用來存放測試命令的寄存器。TR7:數(shù)據(jù)寄存器,用來保存對(duì)TLB測試時(shí)的狀態(tài)數(shù)據(jù)。2.4.480386CPU的存儲(chǔ)器管理

圖2.24虛擬地址轉(zhuǎn)為物理地址的過程選擇子偏移量:描述符表描述符段基地址Σ32位線性地址分頁被禁?線性地址即為物理地址由分頁管理進(jìn)行轉(zhuǎn)換形成物理地址YNl、分段管理什么是描述符?它是在一個(gè)8字節(jié)長的數(shù)據(jù)結(jié)構(gòu)中存放一組段的信息。描述符表:全局描述符表GDT、局部描述符表LDT和中斷描述符表 IDT。(1)選擇子

組成:索引、指示器TI和特權(quán)層RPL段描述符索引TIRPL153210圖2.25選擇子結(jié)構(gòu)與功能段選擇子(16)位···8個(gè)字節(jié)最多8191項(xiàng)···8個(gè)字節(jié)最多8191項(xiàng)全局描述符表局部描述符表(2)描述符分為兩類:程序段描述符、系統(tǒng)段描述符主要區(qū)別:段類型、A屬性的定義和S屬性的值不同。1)程序段描述符分為兩類:代碼段、數(shù)據(jù)段組成:段基地址、段類型、段限量和段屬性12141311109基地址(24~31)AVLGD段限量(16~192.26段描述符結(jié)構(gòu)0GDPLSA類型Basic基地址(16~23)基地址(0~15)段限量(0~15)6420GDAVL粒度缺省可用PDPLSA出現(xiàn)描述符特權(quán)級(jí)描述符類型訪問①段基地址:由描述符中第2、3、4、7字節(jié)組成。②類型:共占3位,它位于描述符中第5字節(jié)的D3~D1。分成3個(gè)部分,分別對(duì)應(yīng)于位D3~D1的是C/D、E/C、R/W。C/D=1時(shí),為代碼段。這時(shí),E/C=1表示本代碼段可以被調(diào)用并執(zhí)行,否則不能調(diào)用。R/W=1表示本代碼段可讀,否則不可讀。C/D=0時(shí),為數(shù)據(jù)段(包括堆棧段)。E/C=0表示向上擴(kuò)展,為數(shù)據(jù)段。E/C=l表示向下擴(kuò)展,為堆棧段。R/W=0,數(shù)據(jù)段不可寫;如R/W=l,則為可寫。堆棧段的R/W必須為1。③段限量:由描述符的0、1兩字節(jié)以及第6字節(jié)的D3~D0組成 20位段限量,由屬性來決定以頁為單位還是以字節(jié) 為單位。④段屬性:共占9位,它位于描述符中第5字節(jié)的D0、D7~D4 和第6字節(jié)的D7~D4。訪問位A:如A為1,則已訪問過;如A為0,則未訪問過。描述符類型S:如S=1,則為非系統(tǒng)段描述符,對(duì)應(yīng)的段為代碼 段、數(shù)據(jù)段或堆棧段;如S=0,則為系統(tǒng)段描 述符。特權(quán)級(jí)DPL:它指出了對(duì)應(yīng)段的保護(hù)級(jí),從高到低可為0-3級(jí), 0級(jí)最高,3級(jí)最低。存在位P:如P=1,則對(duì)應(yīng)段已裝入內(nèi)存儲(chǔ)器;如P=0,則對(duì) 應(yīng)段目前并不在內(nèi)存儲(chǔ)器中,而要從磁盤上調(diào)進(jìn)來。80286CPU只有以上四種段屬性。以下的段屬性只有80386以上的CPU才有。粒度G:給出段長度的單位。如G=1,則長度以頁為單位; 如G=0,則長度以字節(jié)為單位。操作數(shù)長度D:如D=0,表示操作數(shù)和有效地址的缺省值為 16位;如D=1,表示操作數(shù)和有效地址的缺省 值為32位;可用位AVL:若AVL=0,系統(tǒng)軟件不可以使用該段;若AVL =1,系統(tǒng)軟件可以使用該段;2)系統(tǒng)段描述符分為三類:局部描述符表LDT、任務(wù)狀態(tài)段TSS和門描述符。表2.5系統(tǒng)段描述符的16種類型①任務(wù)狀態(tài)段TSS當(dāng)描述符中S=0且類型值為1、3、9、B時(shí),則為TSS描述符。什么是任務(wù)狀態(tài)段? 它是多任務(wù)系統(tǒng)中的一種特殊數(shù)據(jù)結(jié)構(gòu),它反應(yīng)了一個(gè)任務(wù)的各種信息。類型值段類型

類型值段類型

0未定義

8未定義

180286的有效任務(wù)狀態(tài)段TSS

980286的有效任務(wù)狀態(tài)段TSS2LDT描述符,對(duì)應(yīng)一個(gè)LDT

A未定義380286的忙碌任務(wù)狀態(tài)段TSS

B80386的忙碌任務(wù)狀態(tài)段TSS

480286的調(diào)用門

C80386的調(diào)用門580286或80386的任務(wù)門

D未定義680286的中斷門

E80386的中斷門

780286的陷阱門

F80386的陷阱門

②LDT描述符當(dāng)描述符中S=0且類型值為2時(shí),則為LDT描述符。③門描述符什么是門? 當(dāng)描述符中的S=0且類型值為4、5、6、7、C、E、F時(shí),則為門描述符。它是一種轉(zhuǎn)換機(jī)構(gòu)。類型:調(diào)用門、任務(wù)門、中斷門、陷阱門。調(diào)用門:改變?nèi)蝿?wù)或者程序的特權(quán)級(jí)別;任務(wù)門:執(zhí)行任務(wù)切換;中斷門和陷阱門:指出中斷服務(wù)程序的入口。組成:選擇子、偏移量、P、DPL、類型和字計(jì)數(shù)選擇子和偏移量指出一個(gè)子程序的起始地址。P和DPL對(duì)所有門含義都相同,P=1表示本描述符有效,P=0表示本描述符無效;DPL為訪問該門的任務(wù)應(yīng)具備的特權(quán)級(jí)。字計(jì)數(shù)值指出有多少參數(shù)必須從主程序的堆??截惖奖徽{(diào)用子程序的堆棧。中斷門和陷阱門之間的差別:進(jìn)入中斷門時(shí),標(biāo)志寄存器中IF自動(dòng)清0,即關(guān)中斷,而進(jìn)入陷阱門不會(huì)關(guān)中斷。圖2.27調(diào)用門描述符PDPL0000類型代碼段選擇子偏移量(低)域PDPL類型計(jì)數(shù)描述存在描述符特權(quán)級(jí)指定門類型要拷貝至目標(biāo)棧的字?jǐn)?shù)(16位門)或雙字?jǐn)?shù)(32位門)計(jì)數(shù)偏移量(高)*調(diào)用門(3)邏輯地址轉(zhuǎn)換為線性地址選擇子偏移量邏輯地址:16位32位13位索引TIRPL1位2位TI=0TI=18字節(jié)描述符┇段基地址┇8字節(jié)描述符┇段基地址┇全局描述符表局部描述符表32位段基地址TI=0TI=1GDTLDTΣ32位線性地址圖2.28邏輯地址轉(zhuǎn)為線性地址(4)描述符表寄存器全局描述符表寄存器GDTR、局部描述符表寄存器LDTR和中斷描述符表寄存器IDTR。GDTR和IDTR均為6字節(jié)寄存器。其中用32位指出GDT和IDT所在存儲(chǔ)區(qū)的線性地址,用16位指出其界限。LDTR只是一個(gè)16位的寄存器,用來容納一個(gè)選擇子。80386為何為6個(gè)段寄存器各設(shè)置了一個(gè)64位的段描述符寄存器?它是一個(gè)高速緩沖存儲(chǔ)器,每次裝入選擇子時(shí),段描述符也一起裝入;不必通過描述符表查找段描述符而代之以高速緩存中的描述符信息;節(jié)省了訪問存儲(chǔ)器的時(shí)間。2、分頁管理分頁管理涉及兩個(gè)表:頁目錄項(xiàng)表和頁表。頁目錄項(xiàng)索引域頁表項(xiàng)索引域偏移量32位線性地址31222112110×4⊕×4⊕4K字節(jié)1024項(xiàng)頁目錄項(xiàng)⊕頁目錄項(xiàng)地址頁表項(xiàng)地址物理地址4K字節(jié)1024項(xiàng)頁目錄項(xiàng)物理量存儲(chǔ)器┇目標(biāo)單元┇頁目錄項(xiàng)表基地址頁表基地址頁基地址頁目錄項(xiàng)表頁表10位10位12位1頁內(nèi)容控制寄存器(a)表項(xiàng)的高20位物理基址AVL00DA00U/SR/WP311211109876543210(b)圖2.29線性地址轉(zhuǎn)為物理地址(a)轉(zhuǎn)換過程(b)頁目錄項(xiàng)、頁表項(xiàng)的格式CR3(1)線性地址分為三部分:0~11共12位是偏移量,12~21共10位是頁表項(xiàng)索 引,22~31共10位是頁目錄項(xiàng)索引。(2)頁目錄項(xiàng)表和頁表(占4K字節(jié))每一項(xiàng)包含下列信息:1)表的物理基地址:對(duì)頁目錄項(xiàng)表來說,高20位是頁表的起始 物理基地址(低12位全為0);對(duì)頁表項(xiàng) 來說,則為頁面的起始物理地址。2)存在標(biāo)志P:如P=1,則所指的頁表或頁存在于主存儲(chǔ)器 中;如P=0,則對(duì)應(yīng)的頁表或頁不在主存儲(chǔ) 器中。3)訪問標(biāo)志A:在實(shí)際運(yùn)行中,一開始所有頁目錄項(xiàng)和頁表 項(xiàng)的A位均為0。當(dāng)A=1時(shí)表示對(duì)應(yīng)項(xiàng)被訪問 過,并保持為l。4)寫標(biāo)志D:一開始操作系統(tǒng)將D設(shè)為0,以后,當(dāng)對(duì)此頁進(jìn) 行寫操作時(shí),D位為1,并保持為l。5)保留位AVL:一般供操作系統(tǒng)記錄頁的使用情況。6)用戶/監(jiān)控位U/S:如U/S=0,則用戶程序不能訪問該 頁,若U/S=1,才允許用戶程序讀 /寫該頁。7)可讀/寫標(biāo)志W(wǎng)/R:如W/R=0,該頁為只讀;如W/R=1, 該頁為可讀/寫。(3)地址轉(zhuǎn)換過程線性地址轉(zhuǎn)換為物理地址可分為三步:求頁目錄項(xiàng)的物理地址、求頁表項(xiàng)的物理地址和求目標(biāo)單元的物理地址。1)求頁目錄項(xiàng)的物理地址2)求頁表項(xiàng)的物理地址3)求目標(biāo)單元的物理地址(4)物理地址轉(zhuǎn)換舉例說明設(shè)某目標(biāo)單元的線性地址為135790ABH,80386CPU控制寄存器CR3中內(nèi)容為2468AC13H,并設(shè)頁目錄項(xiàng)表中被選項(xiàng)的內(nèi)容00500021H,頁表中被選項(xiàng)的內(nèi)容為12345021H,試求對(duì)應(yīng)于該線性地址的物理地址。1)求頁目錄項(xiàng)的物理地址取CR3的高20位,并使低12位為0得2468A000H,取線性地址的高10位,并乘4得134H,則頁目錄項(xiàng)表中被選項(xiàng)的物理地址為2468A134H。2)求頁表項(xiàng)的物理地址 取出頁目錄項(xiàng)的內(nèi)容00500021H,并使其低12位為0得00500000H,取線性地址的第12~21位,并乘4得5E4H,則頁表中被選項(xiàng)的物理地址為005005E4H。3)求目標(biāo)單元的物理地址 取出頁表項(xiàng)的內(nèi)容12

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論