版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第二章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):就是指從程序員和使用者的角度應該看到的結(jié)構(gòu)。這種結(jié)構(gòu)與CPU內(nèi)部的物理結(jié)構(gòu)和實際布局是有區(qū)別的。從功能上分:總線接口部件BIU(BusInterfaceUnit)執(zhí)行部件EU(ExecutionUnit)。狀態(tài)標志寄存器EU控制器暫存寄存器123456(16位)總線控制邏輯地址總線地址加法器(20位)數(shù)據(jù)總線AHAHALBHBLCHCLDHDLSPBPDISIAXBXCXDXAHCSDSESSSIP內(nèi)部通訊寄存器ALU數(shù)據(jù)總線(16位)Q(總線)(8位)執(zhí)行部件(EU)總線接口部件(BIU)ALU(隊列)8086總線圖2.18086CPU的內(nèi)部結(jié)構(gòu)1、總線接口部件BIU總線接口部件的功能:與CPU外部(存儲器、I/O端口)傳送指令代碼或數(shù)據(jù)。CPU執(zhí)行指令的工作分為兩個階段:取指令和執(zhí)行指令過程。(1)BIU的組成4個16位的段地址寄存器(CS、DS、ES、SS)、16位的指令指針寄存器IP、20位的地址加法器、6字節(jié)的指令隊列緩沖器、16位的內(nèi)部暫存器和總線邏輯控制器(2)BIU各部件的作用⑴段地址寄存器CS:16位代碼段寄存器,寄存程序代碼段首地址的高16位。DS:16位數(shù)據(jù)段寄存器,寄存數(shù)據(jù)段首地址的高16位。ES:16位擴展段寄存器,寄存另一個數(shù)據(jù)段首地址的高16位。SS:16位堆棧段寄存器,寄存堆棧區(qū)數(shù)據(jù)段首地址的高16位。
⑵16位的指令指針寄存器IP:指出當前指令在程序代碼段中的16位偏移量。⑶20位的地址加法器:用來產(chǎn)生20位物理地址。段基址:段寄存器提供的16位信息,左移4位。偏移地址:EU提供的16位信息或者IP提供的16位信息。⑷6字節(jié)的指令隊列緩沖器:用來存放預取指令的指令隊列。⑸16位的內(nèi)部暫存器:暫存輸入/輸出信息的寄存器。⑹總線邏輯控制器:以邏輯控制方式實現(xiàn)總線上的信息傳送,如信息分時傳送等。2、執(zhí)行部件EU執(zhí)行部件的功能就是負責指令的執(zhí)行。(一)EU的組成:執(zhí)行部件由4個通用寄存器(AX、BX、CX、DX)、4個專用寄存器(BP、SP、SI、DI)、算術(shù)邏輯單元、EU控制器和標志寄存器組成。(二)EU各部件的作用⑴4個通用寄存器AX:16位的累加器BX:16位的基數(shù)寄存器CX:16位的計數(shù)寄存器DX:16位的數(shù)據(jù)寄存器⑵4個專用寄存器BP:16位的基數(shù)指針寄存器SP:16位的堆棧指針寄存器堆棧:一組寄存器或一個存儲區(qū)域,用來存放調(diào)用子程序或 響應中斷時的主程序斷點地址,以及暫存其它寄存 器的內(nèi)容。當信息存入堆?;驈亩褩V腥〕鲂畔r,都必須嚴格按照“先進后出”的規(guī)則進行。SI:16位的源變址寄存器DI:16位的目的變址寄存器⑶算術(shù)邏輯部件ALU:功能有兩個:一是進行算術(shù)/邏輯運算,二是按指令的尋址方式計算出所尋址的16位偏移地址。⑷EU控制器:是執(zhí)行指令的控制電路,實現(xiàn)從隊列中取指令、 譯碼、產(chǎn)生控制信號等。⑸標志寄存器:16位狀態(tài)標志寄存器(7位未用)存放操作后的狀 態(tài)特征和人為設置的控制標志。所用的各位含義如下:
8086的標志分兩類:狀態(tài)標志,控制標志。狀態(tài)標志表示前面的操作執(zhí)行后,算術(shù)邏輯部件處在怎樣一種狀態(tài),這種狀態(tài)會像某種先決條件一樣影響后面的操作。控制標志是人為設置的,指令系統(tǒng)中有專門的指令用于控制標志的設置和清除,每個控制標志都對某一種特定的功能起控制作用。1514131211109876543210OFDFIFTFSFZFAFPFCF狀態(tài)標志有6個,即SF、ZF、PF、CF、AF和OF。符號標志SF(SignFlag)零標志ZF(ZeroFlag)奇/偶標志PF(ParityFlag)進位標志CF(CarryFlag)輔助進位標志AF(AuxiliaryCarryFlag)溢出標志OF(OverflowFlag)。
什么是溢出?
例2.1計算機在進行2345H+3219H運算后,試求狀態(tài)標志SF、ZF、PF、CF、AF、OF的值。
0010001101000101十00110010000110010101010101011110SF=0,ZF=0,PF=0,CF=0,AF=0,OF=0。例2.2計算機在進行5439H+456AH運算后,試求狀態(tài)標志SF、ZF、PF、CF、AF、OF的值。
0101010000111001+01000101011010101001100110100011SF=1,ZF=0,PF=1,CF=0,AF=1,OF=1。
控制標志有3個,即DF、IF、TF。方向標志DF(DirectionFlag):這是控制串操作指令用的標志。中斷標志IF(InterruptEnableFlag):這是控制可屏蔽中斷的標志。跟蹤標志TF(TrapFlag):也稱單步陷阱
取指令1譯碼1取數(shù)1執(zhí)行1存結(jié)果1取指令2譯碼2執(zhí)行2…CPU時間(a)指令的串行處理取指令1取指令2取數(shù)1取指令3存結(jié)果1取指令4…BIU等待譯碼1執(zhí)行1譯碼2執(zhí)行2…EU時間(b)指令的并行處理圖2.2串行處理和流水處理工作原理2.2.28086CPU內(nèi)部流水線管理工作原理①開始執(zhí)行程序,EU等待BIU提取指令,當BIU使隊列不空時,EU和BIU就開始獨立進行工作。②當BIU的指令隊列中出現(xiàn)2個空字節(jié)時,BIU又會自動把后面的指令從存儲器取到指令隊列中,直到指令隊列滿為止。③當EU在執(zhí)行指令過程中必須訪問存儲器或I/O,端口時,EU會請求BIU去完成訪問外部的操作。④當指令隊列已滿,而且EU又無訪問請求時,BIU便進入空閑狀態(tài)。⑤當EU執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時,指令隊列中的內(nèi)容自動清除。⑥當遇到程序的執(zhí)行需要轉(zhuǎn)移,或者某條指令的執(zhí)行過程中需要訪問內(nèi)存的次數(shù)過于頻繁,使BIU沒有空閑進行指令的提取時,EU處于等待狀態(tài),直到BIU取出指令為止。2.2.38086CPU的存儲器組織地址空間:1MB(20位)邏輯段:最大64kB,CS,DS,ES,SS。浮動、連續(xù)、分開重疊。1、存儲器分段和段寄存器段首址:各邏輯段的第一個單元的地址。段基址:段首址的高16位。段基址根據(jù)段的性質(zhì)存放在相應的段寄存器DS、ES、SS或CS中。偏移地址:段內(nèi)存儲單元距離段首地址的偏移量。段基址和偏移地址都是無符號的16位二進制數(shù),這兩部分構(gòu)成了存儲單元的邏輯地址。
采用分段結(jié)構(gòu)的存儲器中,任何一個20位物理地址都是由它的邏輯地址變換得到的:物理地址=段基址×16+偏移地址段寄存器150000016位偏移地址1500000加法器20位物理地址190圖2.48086物理地址的形成段寄存器CSSSDSES基址及指針寄存器CSBPSPSIBXDI圖2.5段寄存器與其它寄存器的組合2、存儲器組織8086的1MB存儲器,分成了兩個512KB存儲區(qū),分別叫奇地址區(qū)(奇區(qū))和偶地址區(qū)(偶區(qū))。
CSA18~A0512K字節(jié)奇區(qū)存貯體D7~D0CSA18~A0512K字節(jié)偶區(qū)存貯體D7~D0D8~D15D0~D7A1~A19A0BHE圖2.68086存儲器的偶區(qū)和奇區(qū)
字節(jié)分為奇字節(jié)和偶字節(jié)。字分為奇字、偶字。對于奇字節(jié)、偶字節(jié)、奇字、偶字的讀/寫操作,奇字節(jié)、偶字節(jié)和偶字操作均可用一個總線周期完成,而奇字操作需二個總線周期,分別用奇字節(jié)和偶字節(jié)操作來完成。2.2.48086CPU總線周期的概念
BIU通過系統(tǒng)總線完成對外界(存儲器或I/O端口)的一次訪問所需的時間稱作一個總線周期。在計算機中時間的最小單位是時鐘周期(一個時鐘脈沖的時間長度)。在8086CPU中,一個最基本的總線周期由4個時鐘周期組成。4個時鐘周期分別稱為4個狀態(tài),即T1狀態(tài)、T2狀態(tài)、T3狀態(tài)和T4狀態(tài)。除了上述四個狀態(tài)外,還有等待狀態(tài)Tw和空閑狀態(tài)TI。圖2.7典型的8086總線周期序列①在T1狀態(tài),CPU往多路復用總線上發(fā)出地址信息,以指出要尋址的存儲單元或外設端口的地址。②在T2狀態(tài),CPU從總線上撤消地址,而使總線的低16位浮置成高阻狀態(tài),為傳輸數(shù)據(jù)作準備。③在T3狀態(tài),多路總線的高4位繼續(xù)提供狀態(tài)信息,而多路總線的低16位(8088則為低8位)上出現(xiàn)由CPU寫出的數(shù)據(jù)或者CPU從存儲器或端口讀入的數(shù)據(jù)④在有些情況下,外設或存儲器速度較慢,不能及時地配合CPU傳送數(shù)據(jù)。⑤在T4狀態(tài),總線周期結(jié)束。2.2.58086CPU的引腳信號及工作模式
最小模式:在系統(tǒng)中只有一個8086處理器。最大模式:在系統(tǒng)中有兩個或兩個以上的處理器1、8086CPU的引腳信號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的引腳信號排列1、最小模式1~40腳的功能定義(一)雙向引腳信號AD15~AD0
地址/數(shù)據(jù)復用線(雙向,三態(tài))。第2~16引腳分別為AD14~AD0,第39引腳為AD15。作為功能復用引腳。(二)輸入引腳信號(1)MN/最?。畲竽J皆O定(輸入,高、低電平均有效)。MN/=1,8086系統(tǒng)工作方式設置為最小模式。MN/=0,8086設置為最大模式工作方式。(2)地線和電源線(輸入)8086的GND有兩條(1,20腳),Vcc接入的電壓為+5V±10%。(3)CLK系統(tǒng)時鐘(輸入)。通常與8284A(時鐘發(fā)生器)的時鐘輸出端CLK相連接。(4)RESET復位信號(輸入,高電平有效)。(5)READY“準備好”信號(輸入,高電平有效)。(6)等待測試信號(輸入,低電平有效)。(7)NMI非屏蔽中斷請求信號(輸入,上升沿觸發(fā))。(8)INTR可屏蔽中斷請求信號(輸入,高電平有效)。(9)HOLD總線保持請求信號(輸入,高電平有效)。(三)輸出引腳信號(1)A19~A16/S6~S3地址/狀態(tài)復用線(輸出,三態(tài))。S4
S3
狀態(tài)00110101指示附加段寄存器在使用(可修改數(shù)據(jù))指示堆棧段寄存器在使用指示代碼段寄存器在使用(或未用任何段寄存器)指示數(shù)據(jù)段寄存器在使用表2.1S4、S3代碼指示正在使用的段寄存器(2)/S7
數(shù)據(jù)線高8位開放/狀態(tài)復用線(輸出,三態(tài))。表2.2、A0代碼表示的相應操作A0
操作所用數(shù)據(jù)引腳00從偶地址讀/寫一個字AD15~AD010從偶地址讀/寫一個字節(jié)AD7~AD001從奇地址讀/寫一個字節(jié)AD15~AD80110從奇地址讀/寫一個字(分兩個總線周期實現(xiàn),首先作奇字節(jié)讀/寫,然后作偶字節(jié)讀/寫)AD15~AD8AD7~AD0(3)
讀控制信號(輸出,低電平有效,三態(tài))。(4)
寫控制信號(輸出,低電平有效,三態(tài))。(5)M/存儲器和I/O控制信號(輸出,三態(tài))。(6)中斷響應信號(輸出。低電平有效)。(7)HLDA總線保持響應信號(輸出,高電平有效)。(8)ALE地址鎖存信號(輸出,高電平有效)
(9)DT/數(shù)據(jù)收/發(fā)控制信號(輸出,三態(tài))。(10)
數(shù)據(jù)允許信號(輸出,低電平有效,三態(tài))。二、最大模式24~31腳的功能定義(l)~總線周期狀態(tài)信號(輸出,三態(tài))??偩€周期8288控制命令000001010011100101110111INTA周期I/O讀周期I/O寫周期暫停取指令周期讀存儲器周期寫存儲器周期無源狀態(tài)無無表2.3~對應的總線周期及8288的控制命令
(2)QS1、QS0指令隊列狀態(tài)信號(輸出)。
表2.4QS1、QS0與隊列狀態(tài)QS1
QS0
隊列狀態(tài)00110101無操作從隊列緩沖器中取出指令的第一字節(jié)清除隊列緩沖器從隊列緩沖器中取出第二字節(jié)以后部分(3)
、
總線請求/總線允許信號(雙向,低電平有效,三態(tài))。(4)
總線封鎖信號(輸出,低電平有效,三態(tài))。2、8086CPU工作模式的典型配置
(1)最小模式下的典型配置
RES8284MN/MXRDCLKWRREADYM/IORESETALEA19~A15BHE
AD15~AD0DENDT/RSTB8282OR8283OE存儲器I/O芯片8282ORT8283OE8086CPU圖2.98086最小模式下的典型配置數(shù)據(jù)總線地址總線地址/數(shù)據(jù)地址BHE(2)最大模式下的典型配置TOE8286
STB8282OE8288S0INTAS1MRDCS2MWTCDENIOWCDT/RIORCALE8284RESMN/MXCLKS0READYS1RESETS2
AD15~AD0A16~A19存儲器I/O芯片8086CPUCLK圖2.108086最大模式下的典型配置BHE1VCC地址總線數(shù)據(jù)總線2.2.68086CPU的操作時序操作時序可分為:系統(tǒng)復位和啟動操作、暫停操作、空操作、總線讀操作、總線寫操作、中斷操作、總線 保持。1、系統(tǒng)復位和啟動操作圖2.118086CPU的復位操作時序2、暫停操作
3、總線空操作4、總線讀操作總線讀操作分兩種:最小模式下的總線讀操作最大模式下的總線讀操作l)最小模式下的總線讀操作圖2.12最小模式的總線讀操作時序
T1狀態(tài)CPU完成五個操作:①CPU首先在M/線上發(fā)出有效電平。②從地址/數(shù)據(jù)復用線AD15~AD0和地址/狀態(tài)復用線A19/S6~A16/S3發(fā)20位存儲器單元地址或16位I/O端口地址。③CPU在T1狀態(tài)從ALE引腳上輸出一個正脈沖作地址鎖存器的地址鎖存信號。④CPU在T1狀態(tài)通過/S7引腳發(fā)有效信號(低電平)。
⑤CPU在T1狀態(tài)使DT/變?yōu)榈碗娖剑刂茢?shù)據(jù)收發(fā)器為接收數(shù)據(jù)狀態(tài)。
T2狀態(tài)CPU完成五個操作:①地址/數(shù)據(jù)復用線AD15~AD0上地址信號消失,AD15~AD0進入高阻緩沖期,以便為數(shù)據(jù)讀入作準備。②地址/狀態(tài)復用線A19/S6~A16/S3及/S7線,開始輸出狀態(tài)信息S7~S3,持續(xù)到T4。③信號開始變?yōu)榈碗娖剑ㄓ行В?,此信號是用來使?shù)據(jù)收發(fā)器(如8286)開放。④信號開始變?yōu)榈碗娖接行?。此信號被接到系統(tǒng)中所有存儲器和I/O端口。
⑤DT/繼續(xù)保持低電平有效的接收狀態(tài)。
T3狀態(tài):存儲器或外設把數(shù)據(jù)放在數(shù)據(jù)總線AD15~AD0上,為CPU讀數(shù)據(jù)作好準備。Tw狀態(tài):這是一個等待狀態(tài),Tw可以為1個或多個。T4狀態(tài):在T4狀態(tài)和前一狀態(tài)交界的下降沿處,CPU對數(shù)據(jù)總線上的數(shù)據(jù)進行采樣,完成讀取數(shù)據(jù)的操作。2)最大模式下的總線讀操作
圖2.13最大模式的總線讀操作時序5、總線寫操作總線寫操作是指CPU把數(shù)據(jù)寫入到存儲器或I/O端口。1)最小模式下的總線寫操作圖2.14最小模式的總線寫操作時序總線寫周期和總線讀周期操作有何不同?①寫周期下,AD線上因輸出的地址和輸出的數(shù)據(jù)為同方向,因此,T2時不再需要像讀周期時要維持一個周期的浮空狀態(tài)以作緩沖;②對存儲器芯片或I/O端口發(fā)出的控制信號是WR,而不是RD,但它們出現(xiàn)的時序類似,也是從T2開始;③在DT/引腳上發(fā)出的是高電平的數(shù)據(jù)發(fā)送控制信號DT,此信號被送到8286數(shù)據(jù)收發(fā)器控制其為數(shù)據(jù)輸出方向。
2)最大模式下的總線寫操作
圖2.15最大模式的總線寫操作時序
2.380286微處理器
2.3.180286CPU的主要性能1、80286是一種先進的16位微處理器2、80286CPU有兩種工作方式(1)實地址方式(2)保護虛地址方式3、具有存儲器管理和保護機構(gòu)4、兼容性好2.3.280286CPU的功能結(jié)構(gòu)組成:執(zhí)行部件EU、地址部件AU、指令部件IU和總線接口部件BIU通用寄存器ALU及標志寄存器控制器偏移量或數(shù)據(jù)已譯碼指令地址部件段描述符Cache偏移量加法器物理地址加法器段寄存器總線接口部件物理地址存儲器操作數(shù)請求內(nèi)部數(shù)據(jù)總線指令部件圖2.1680286功能結(jié)構(gòu)框圖協(xié)處理器接口總線控制器地址鎖存驅(qū)動器數(shù)據(jù)收發(fā)器預取器3條已譯碼指令隊列指令譯碼器6字節(jié)預取隊列PEACKPEREQ地址總線控制總線數(shù)據(jù)總線執(zhí)行部件161、總線接口部件BIU組成:協(xié)處理器接口、地址鎖存驅(qū)動器、總線控制器、數(shù)據(jù)收 發(fā)器、預取器和6字節(jié)的預取隊列。主要作用:處理CPU和系統(tǒng)總線之間的所有通信和數(shù)據(jù)傳輸。2、指令部件IU組成:指令部件IU由指令譯碼器和已譯碼指令隊列主要作用:把指令字節(jié)從預取隊列中取出,送入指令譯碼器。3、執(zhí)行部件EU組成:算術(shù)邏輯部件ALU、標志寄存器、通用寄存器陣列和控制電路等。主要作用:EU中的控制電路根據(jù)已譯碼指令的69位內(nèi)部碼產(chǎn)生執(zhí)行指令所需的控制電位序列,實現(xiàn)對其它部件的控制,完成指令的執(zhí)行,并根據(jù)操作結(jié)果影響標志寄存器的標志位。4、地址部件AU組成:地址部件AU由段描述符高速緩沖存儲器、物理地址加法 器、偏移地址加法器和段寄存器等。主要作用:在實地址方式下將段基址與偏移地址組合起來形成 20位物理地址。2.3.380286CPU的寄存器1、新增標志位80286CPU新增了兩類標志,占用三個標志位。(1)I/O特權(quán)級標志該標志占用兩位二進制位(位12、13),四個狀態(tài),用來確定需要執(zhí)行的I/O操作的特權(quán)級。(2)嵌套任務標志NTNT標志占用一位二進制位(位14)。
2、機器狀態(tài)字MSW(1)允許保護標志PE若PE=1,則80286轉(zhuǎn)換成保護方式。(2)監(jiān)控協(xié)處理器擴充標志MP若MP=1則系統(tǒng)中有數(shù)學協(xié)處理器存在;否則數(shù)學協(xié)處理器不存在。(3)仿真協(xié)處理器擴充標志EM若EM=1,表示采用軟件仿真數(shù)學協(xié)處理器的功能,若EM=0,表示沒有采用軟件仿真數(shù)學協(xié)處理器的功能。(4)任務轉(zhuǎn)換標志TS(TaskSwitchedFlag)TS由硬件置位,由軟件復位。2、機器狀態(tài)字MSW(1)允許保護標志PE若PE=1,保護方式;系統(tǒng)復位后,PE=0,實地址方式。(2)監(jiān)控協(xié)處理器擴充標志MP若MP=1則系統(tǒng)中有數(shù)學協(xié)處理器存在;否則數(shù)學協(xié)處理器不存在。(3)仿真協(xié)處理器擴充標志EMEM=1,表示采用軟件仿真數(shù)學協(xié)處理器的功能;若EM=0,則否。(4)任務轉(zhuǎn)換標志TSTS由硬件置位,由軟件復位。2.3.480286CPU的存儲器尋址
什么是虛擬存儲器?它是一種設計技術(shù),采用該技術(shù)能提供比實際內(nèi)存儲器大得多的存儲器空間。它由存儲器管理機制和一個大容量快速硬磁盤支持,及時地將虛擬存儲空間調(diào)入內(nèi)存或調(diào)回磁盤。
CPU中其它部件選擇子偏移量加法器3116150存儲器┋目標單元┋┋段描述符┋段段基址230080286CPU圖2.1880286保護虛地址方式下的存儲器尋址過程2.480386微處理器
2.4.180386CPU的主要性能1、靈活的32位微處理器2、具有3種工作方式(1)實地址方式(2)虛地址保護方式(3)虛擬8086方式3、具有段頁式存儲器管理部件4、兼容性強5、高性能的硬件措施2.4.280386CPU的功能結(jié)構(gòu)組成:總線接口部件BIU、指令預取部件、指令譯碼部件、執(zhí) 行部件、分段部件和分頁部件。1、總線接口部件BIU組成:由請求判優(yōu)控制器、地址驅(qū)動器、流水線總線寬度控制、 多路轉(zhuǎn)換MUX/收發(fā)器等。主要作用:將CPU內(nèi)部的其它部件與外部總線連接起來。2、指令預取部件組成:預取器及預取隊列。主要作用:管理著一個預取指令指針和段預取界限。3、指令譯碼部件組成:指令譯碼器及已譯碼指令隊列。主要作用:指令譯碼部件為指令的執(zhí)行做好了準備。4、執(zhí)行部件組成:控制部件、數(shù)據(jù)處理部件和保護測試部件。主要作用:將已譯碼指令隊列中的內(nèi)部編碼變成按時間順序排 列的一系列控制信息,并發(fā)向處理器的其它處理部 件,以便完成一條指令的執(zhí)行。數(shù)據(jù)處理部件的組成:一個算術(shù)邏輯部件ALU、8個32位通用寄 存器、一個64位桶形移位器和一個乘法器。5、分段部件組成:三輸入地址加法器、段描述符高速緩沖存儲器及界限和 屬性檢驗用可編程邏輯陣列PLA。主要作用:把邏輯地址轉(zhuǎn)換成線性地址。6、分頁部件組成:加法器、頁高速緩沖存儲器及控制和屬性PLA。主要作用:將分段部件或代碼領取部件產(chǎn)生的線性地址轉(zhuǎn)換成 物理地址。存儲器管理部件MMU的組成:分頁部件、分段部件及總線接口 部件。預取器/界驗校驗器16字節(jié)預取隊列譯碼和定序控制ROM桶形移位器ALU乘/除硬件寄存器組保護檢測部件地址驅(qū)動器流水線總線寬度控制MUX收發(fā)器請求判優(yōu)器有效地址總線有效地址總線狀態(tài)標志ALUALU控制指令譯碼器已譯碼指令隊列指令譯碼器ALU總線323輸入加法器描述符高速緩沖存儲器界限和屬性PLA分段部件MMU加法器頁高速緩沖存儲器控制和屬性PLA分頁部件3234總線接口部件BIU物理地址總線碼/頁表獲取線性地址總線內(nèi)部控制總線32指令預取代碼流偏移量總線執(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個寄存器:1、基本寄存器(16個)(1)32位通用寄存器(4個):EAX、EBX、ECX、EDX(2)32位變址寄存器(2個):源地址寄存器ESI和目的地址 寄存器EDI(3)32位指針寄存器(3個):基地址指針寄存器EBP、堆棧 指針寄存器ESP和指令指針寄 存器EIP(4)16位段寄存器(6個):代碼段寄存器CS、數(shù)據(jù)段寄存器 DS、堆棧段寄存器SS及附加數(shù)據(jù) 段寄存器ES、FS和GS(5)32位標志寄存器(1個)6個狀態(tài)標志:進位標志CF、奇偶標志PF、輔助進位標志AF、零標 志ZF、符號標志SF、溢出標志OF;3個控制標志:陷阱標志TF、中斷允許標志IF、方向標志DF;2個保護方式標志:輸入/輸出特權(quán)級標志IOPL、嵌套任務標志 NT;2個新增的標志:重新啟動標志RF、虛擬8086方式標志VM。1)重新啟動標志RF(ResumeFlag)2)虛擬8086方式標志VM(Virtual8086ModeFlag)313029280000000000DIVIPVIFACVMRF0NTIOPLOFDFIFTFSFZF0AF0PF0CF2726252423222120191817161514131211109876543210XID標志X虛擬中斷掛起X虛擬中斷標志X對齊核查X虛擬8086方式X恢復標志X嵌套任務XI/O特權(quán)級S溢出標志C方向標志C中斷允許標志C陷阱標志S符號標志S零標志S輔助進位標志S奇偶標志S進位標志IDVIPVIFACVMRFNTIOPLOFDFIFTFSFZFAFPFCF0保留位。不要使用。位0~11為8086的標志位;位0~14為80286的標志位;位0~17為80386的標志位;位0~18為80486的標志位;位0~21為奔騰的標志位。圖2.2080x86的標志寄存器2、控制寄存器(4個)80386有4個32位的控制寄存器:CR0~CR3(1)CR0與CR1CR0寄存器包含6個系統(tǒng)標志、CR1是未定義的控制寄存器。1)擴充類型標志ET2)允許分頁標志PGPG保留ETTSEMMPPE310CR0協(xié)處理機擴充任務轉(zhuǎn)換仿真協(xié)處理器監(jiān)控協(xié)處理器允許保護允許分頁圖2.2180386控制寄存器CR0(2)CR2與CR3CR2:頁故障線性地址寄存器CR3:頁目錄基地址寄存器頁故障線性地址寄存器11109876543210頁目錄基址寄存器000000000000312423161511109876543210CR2CR3圖2.2280386的控制寄存器CR2和CR33、系統(tǒng)地址寄存器(4個)作用:用來保存操作系統(tǒng)所需要的保護信息和地址轉(zhuǎn)換表信息。(1)全局描述符表寄存器GDTR(48位)作用:保存全局描述符表的32位線性基址和16位界限。(2)中斷描述符表寄存器IDTR(48位)作用:保存中斷描述符表的32位線性地址和16位界限。
選擇子選擇子4732位線性基地址1615界限0GDTRIDTRTRLDTR圖2.2380386系統(tǒng)地址寄存器(3)局部描述符表寄存器LDTR(16位)作用:保存當前任務的LDT的16位選擇子。(4)任務狀態(tài)寄存器TR(16位)作用:保存當前任務的TSS(任務狀態(tài)段)的16位選擇子。4、調(diào)試寄存器(8個)DR0~DR7DR0~DR3:線性斷點地址寄存器。DR4和DR5:保留的備用調(diào)試寄存器。DR6:斷點狀態(tài)寄存器。DR7:斷點控制寄存器。5、測試寄存器(2個)TR6、TR7TR6:用來存放測試命令的寄存器。TR7:數(shù)據(jù)寄存器,用來保存對TLB測試時的狀態(tài)數(shù)據(jù)。2.4.480386CPU的存儲器管理
圖2.24虛擬地址轉(zhuǎn)為物理地址的過程選擇子偏移量:描述符表描述符段基地址Σ32位線性地址分頁被禁?線性地址即為物理地址由分頁管理進行轉(zhuǎn)換形成物理地址YNl、分段管理什么是描述符?它是在一個8字節(jié)長的數(shù)據(jù)結(jié)構(gòu)中存放一組段的信息。描述符表:全局描述符表GDT、局部描述符表LDT和中斷描述符表 IDT。(1)選擇子
組成:索引、指示器TI和特權(quán)層RPL段描述符索引TIRPL153210圖2.25選擇子結(jié)構(gòu)與功能段選擇子(16)位···8個字節(jié)最多8191項···8個字節(jié)最多8191項全局描述符表局部描述符表(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)級描述符類型訪問①段基地址:由描述符中第2、3、4、7字節(jié)組成。②類型:共占3位,它位于描述符中第5字節(jié)的D3~D1。分成3個部分,分別對應于位D3~D1的是C/D、E/C、R/W。C/D=1時,為代碼段。這時,E/C=1表示本代碼段可以被調(diào)用并執(zhí)行,否則不能調(diào)用。R/W=1表示本代碼段可讀,否則不可讀。C/D=0時,為數(shù)據(jù)段(包括堆棧段)。E/C=0表示向上擴展,為數(shù)據(jù)段。E/C=l表示向下擴展,為堆棧段。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)段描述符,對應的段為代碼 段、數(shù)據(jù)段或堆棧段;如S=0,則為系統(tǒng)段描 述符。特權(quán)級DPL:它指出了對應段的保護級,從高到低可為0-3級, 0級最高,3級最低。存在位P:如P=1,則對應段已裝入內(nèi)存儲器;如P=0,則對 應段目前并不在內(nèi)存儲器中,而要從磁盤上調(diào)進來。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、任務狀態(tài)段TSS和門描述符。表2.5系統(tǒng)段描述符的16種類型①任務狀態(tài)段TSS當描述符中S=0且類型值為1、3、9、B時,則為TSS描述符。什么是任務狀態(tài)段? 它是多任務系統(tǒng)中的一種特殊數(shù)據(jù)結(jié)構(gòu),它反應了一個任務的各種信息。類型值段類型
類型值段類型
0未定義
8未定義
180286的有效任務狀態(tài)段TSS
980286的有效任務狀態(tài)段TSS2LDT描述符,對應一個LDT
A未定義380286的忙碌任務狀態(tài)段TSS
B80386的忙碌任務狀態(tài)段TSS
480286的調(diào)用門
C80386的調(diào)用門580286或80386的任務門
D未定義680286的中斷門
E80386的中斷門
780286的陷阱門
F80386的陷阱門
②LDT描述符當描述符中S=0且類型值為2時,則為LDT描述符。③門描述符什么是門? 當描述符中的S=0且類型值為4、5、6、7、C、E、F時,則為門描述符。它是一種轉(zhuǎn)換機構(gòu)。類型:調(diào)用門、任務門、中斷門、陷阱門。調(diào)用門:改變?nèi)蝿栈蛘叱绦虻奶貦?quán)級別;任務門:執(zhí)行任務切換;中斷門和陷阱門:指出中斷服務程序的入口。組成:選擇子、偏移量、P、DPL、類型和字計數(shù)選擇子和偏移量指出一個子程序的起始地址。P和DPL對所有門含義都相同,P=1表示本描述符有效,P=0表示本描述符無效;DPL為訪問該門的任務應具備的特權(quán)級。字計數(shù)值指出有多少參數(shù)必須從主程序的堆??截惖奖徽{(diào)用子程序的堆棧。中斷門和陷阱門之間的差別:進入中斷門時,標志寄存器中IF自動清0,即關(guān)中斷,而進入陷阱門不會關(guān)中斷。圖2.27調(diào)用門描述符PDPL0000類型代碼段選擇子偏移量(低)域PDPL類型計數(shù)描述存在描述符特權(quán)級指定門類型要拷貝至目標棧的字數(shù)(16位門)或雙字數(shù)(32位門)計數(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所在存儲區(qū)的線性地址,用16位指出其界限。LDTR只是一個16位的寄存器,用來容納一個選擇子。80386為何為6個段寄存器各設置了一個64位的段描述符寄存器?它是一個高速緩沖存儲器,每次裝入選擇子時,段描述符也一起裝入;不必通過描述符表查找段描述符而代之以高速緩存中的描述符信息;節(jié)省了訪問存儲器的時間。2、分頁管理分頁管理涉及兩個表:頁目錄項表和頁表。頁目錄項索引域頁表項索引域偏移量32位線性地址31222112110×4⊕×4⊕4K字節(jié)1024項頁目錄項⊕頁目錄項地址頁表項地址物理地址4K字節(jié)1024項頁目錄項物理量存儲器┇目標單元┇頁目錄項表基地址頁表基地址頁基地址頁目錄項表頁表10位10位12位1頁內(nèi)容控制寄存器(a)表項的高20位物理基址AVL00DA00U/SR/WP311211109876543210(b)圖2.29線性地址轉(zhuǎn)為物理地址(a)轉(zhuǎn)換過程(b)頁目錄項、頁表項的格式CR3(1)線性地址分為三部分:0~11共12位是偏移量,12~21共10位是頁表項索 引,22~31共10位是頁目錄項索引。(2)頁目錄項表和頁表(占4K字節(jié))每一項包含下列信息:1)表的物理基地址:對頁目錄項表來說,高20位是頁表的起始 物理基地址(低12位全為0);對頁表項 來說,則為頁面的起始物理地址。2)存在標志P:如P=1,則所指的頁表或頁存在于主存儲器 中;如P=0,則對應的頁表或頁不在主存儲 器中。3)訪問標志A:在實際運行中,一開始所有頁目錄項和頁表 項的A位均為0。當A=1時表示對應項被訪問 過,并保持為l。4)寫標志D:一開始操作系統(tǒng)將D設為0,以后,當對此頁進 行寫操作時,D位為1,并保持為l。5)保留位AVL:一般供操作系統(tǒng)記錄頁的使用情況。6)用戶/監(jiān)控位U/S:如U/S=0,則用戶程序不能訪問該 頁,若U/S=1,才允許用戶程序讀 /寫該頁。7)可讀/寫標志W(wǎng)/R:如W/R=0,該頁為只讀;如W/R=1, 該頁為可讀/寫。(3)地址轉(zhuǎn)換過程線性地址轉(zhuǎn)換為物理地址可分為三步:求頁目錄項的物理地址、求頁表項的物理地址和求目標單元的物理地址。1)求頁目錄項的物理地址2)求頁表項的物理地址3)求目標單元的物理地址(4)物理地址轉(zhuǎn)換舉例說明設某目標單元的線性地址為135790ABH,80386CPU控制寄存器CR3中內(nèi)容為2468AC13H,并設頁目錄項表中被選項的內(nèi)容00500021H,頁表中被選項的內(nèi)容為12345021H,試求對應于該線性地址的物理地址。1)求頁目錄項的物理地址取CR3的高20位,并使低12位為0得2468A000H,取線性地址的高10位,并乘4得134H,則頁目錄項表中被選項的物理地址為2468A134H。2)求頁表項的物理地址 取出頁目錄項的內(nèi)容00500021H,并使其低12位為0得00500000H,取線性地址的第12~21位,并乘4得5E4H,則頁表中被選項的物理地址為005005E4H。3)求目標單元的物理地址 取出頁表項的內(nèi)容12
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人消費分期借款合同規(guī)范4篇
- 二零二五年度金融科技創(chuàng)新項目合作協(xié)議6篇
- 二零二五年度銀政合作金融服務創(chuàng)新合同3篇
- 二零二五年度防火門窗品牌代理合作協(xié)議3篇
- 潮州2024年廣東潮州市科學技術(shù)局屬下事業(yè)單位招聘10人(第二輪)筆試歷年參考題庫附帶答案詳解
- 漯河2024年河南漯河市文學藝術(shù)界聯(lián)合會所屬事業(yè)單位人才引進筆試歷年參考題庫附帶答案詳解
- 2025版無子女離婚協(xié)議書編制技巧與簽訂后的執(zhí)行3篇
- 湖南2025年湖南農(nóng)業(yè)大學-岳麓山實驗室博士后招聘筆試歷年參考題庫附帶答案詳解
- 二零二五年度櫥柜安裝與廚房改造一體化服務合同4篇
- 溫州浙江溫州市醫(yī)療保險管理中心招聘編外人員4人筆試歷年參考題庫附帶答案詳解
- 高考滿分作文常見結(jié)構(gòu)完全解讀
- 專題2-2十三種高考補充函數(shù)歸類(講練)
- 理光投影機pj k360功能介紹
- 六年級數(shù)學上冊100道口算題(全冊完整版)
- 八年級數(shù)學下冊《第十九章 一次函數(shù)》單元檢測卷帶答案-人教版
- 帕薩特B5維修手冊及帕薩特B5全車電路圖
- 系統(tǒng)解剖學考試重點筆記
- 小學五年級解方程應用題6
- 云南省地圖含市縣地圖矢量分層地圖行政區(qū)劃市縣概況ppt模板
- 年月江西省南昌市某綜合樓工程造價指標及
- 作物栽培學課件棉花
評論
0/150
提交評論