CPU結(jié)構(gòu)詳解實用_第1頁
CPU結(jié)構(gòu)詳解實用_第2頁
CPU結(jié)構(gòu)詳解實用_第3頁
CPU結(jié)構(gòu)詳解實用_第4頁
CPU結(jié)構(gòu)詳解實用_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

會計學1CPU結(jié)構(gòu)詳解實用第2章8086CPU結(jié)構(gòu)2.18086微處理器內(nèi)部基本結(jié)構(gòu)2.28086總線的工作周期2.38086微處理器外部基本引腳與工作模式2.48086微處理器的存儲器組織2.48086微處理器的存儲器組織2.6Intel80X86系列微處理器簡介2.7例題解析第1頁/共97頁2.18086微處理器內(nèi)部基本結(jié)構(gòu)2.1.18086CPU的內(nèi)部結(jié)構(gòu)

8088的內(nèi)部結(jié)構(gòu)從功能分成兩個單元總線接口單元BIU——管理8088與系統(tǒng)總線的接口,負責CPU對存儲器和外設進行訪問執(zhí)行單元EU——負責指令的譯碼、執(zhí)行和數(shù)據(jù)的運算兩個單元相互獨立,分別完成各自操作兩個單元可以并行執(zhí)行,實現(xiàn)指令取指和執(zhí)行的流水線操作第2頁/共97頁8088的內(nèi)部結(jié)構(gòu)1234內(nèi)部暫存器

IP

ES

SSDSCS控制電路外部總線控制電路∑ALU標志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令隊列執(zhí)行部件(EU)總線接口部件(BIU)16位20位8位8位段寄存器第3頁/共97頁1.執(zhí)行部件⑴EU的組成①算術(shù)邏輯運算單元它是1個16位的運算器,可用于8位、16位二進制算術(shù)和邏輯運算,也可按指令的尋址方式計算尋址存儲器所需的16位偏移量。②通用寄存器組它包括4個16位的數(shù)據(jù)寄存器AX、BX、CX、DX和4個16位指針與變址寄存器SP、BP與SI、DI。③標志寄存器它是1個16位的寄存器,用來反映CPU運算的狀態(tài)特征和存放某些控制標志。④數(shù)據(jù)暫它協(xié)助ALU完成運算,暫存參加運算的數(shù)據(jù)。⑤EU控制電路它負責從BIU的指令隊列緩沖器中取指令,并對指令譯碼,根據(jù)指令要求向EU內(nèi)部各部件發(fā)出控制命令,以完成各條指令規(guī)定的功能。第4頁/共97頁2.總線接口部件⑴BIU的組成總線接口單元BIU由1個20位地址加法器、4個16位段寄存器、1個16位指令指針I(yè)P、指令隊列緩沖器和總線控制邏輯電路等組成。8086的指令隊列由6個字節(jié)構(gòu)成。①地址加法器和段寄存器地址加法器將16位的段寄存器內(nèi)容左移4位,與16位偏移地址相加,形成20位的物理地址。②16位指令指針I(yè)P

指令指針I(yè)P用來存放下一條要執(zhí)行指令在代碼段中的偏移地址。③指令隊列緩沖器當EU正在執(zhí)行指令中,且不需占用總線時,BIU會自動地進行預取指令操作,將所取得的指令按先后次序存入1個6字節(jié)的指令隊列寄存器,該隊列寄存器按“先進先出”的方式工作,并按順序取到EU中執(zhí)行。④總線控制邏輯電路第5頁/共97頁2.1.28086CPU寄存器結(jié)構(gòu)

8086的寄存器都為16位,分為:通用寄存器

8 AX/BX/CX/DX BP/SPDI/SI

指令指針寄存器

1 IP

標志寄存器

1 PSW段寄存器

4 CS/SS/DS/ES

掌握通用寄存器的作用,熟悉PSW中各個標志的含義切實理解存儲器組織和存儲空間分段的概念第6頁/共97頁8086CPU內(nèi)部寄存器如圖2.2所示。

第7頁/共97頁通用寄存器8086的16位通用寄存器是:

AX BX CX DX SI DI BP SP

其中,前4個數(shù)據(jù)寄存器都還可以分成高8位和低8位兩個獨立的寄存器,它們是:

AHBHCHDHALBLCLDL

對其中某個8位寄存器的操作,并不影響它所對應的另外一個8位寄存器。第8頁/共97頁數(shù)據(jù)寄存器數(shù)據(jù)寄存器用來存放計算的結(jié)果和操作數(shù)每個寄存器又有它們各自的專用目的:AX——16位累加器,使用頻度最高,用于算術(shù)、邏輯運算以及與外設傳送信息等;AL為8位累加器。BX——基址寄存器,常用來做基址指針,指向一批連續(xù)存放操作數(shù)的基地址。CX——計數(shù)器,作為循環(huán)和串操作等指令中的隱含計數(shù)器。DX——數(shù)據(jù)寄存器,用來存放外設端口的16位地址,或雙字長數(shù)據(jù)的高16位。第9頁/共97頁變址寄存器變址寄存器常用于存儲器尋址時提供地址SI是源變址寄存器DI是目的變址寄存器在串操作類指令中,SI和DI具有特別的功能第10頁/共97頁指針寄存器指針寄存器用于尋址內(nèi)存堆棧內(nèi)的數(shù)據(jù)SP為堆棧指針寄存器,指示棧頂?shù)钠频刂贰P不能再用于其他目的,具有專用性BP為基址指針寄存器,表示數(shù)據(jù)在堆棧段中的基地址SP/BP寄存器與SS段寄存器聯(lián)合使用以確定堆棧段中的存儲單元地址詳見堆棧操作指令第11頁/共97頁指令指針寄存器IP指令指針寄存器IP,指示代碼段中指令的偏移地址它與代碼段寄存器CS聯(lián)用,確定下一條指令的物理地址計算機通過CS:IP寄存器來取指,從而控制指令序列的執(zhí)行流程IP寄存器是一個專用寄存器,用戶不能直接訪問。第12頁/共97頁標志寄存器標志(Flag)用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式。8086處理器中各種常用的標志形成了一個16位的標志寄存器FLAGS(也稱程序狀態(tài)字PSW寄存器)。OF111512DF10IF9TF8SF7ZF65AF43PF21CF0控制反映結(jié)果狀態(tài)反應運算過程第13頁/共97頁標志的作用指令的執(zhí)行與標志有很大關(guān)系。標志分成兩類:狀態(tài)標志——用來記錄程序運行結(jié)果的狀態(tài)信息,許多指令的執(zhí)行都將自動地改變它。

CF

OF

AF

SF

ZF

PF控制標志——可由用戶根據(jù)需要用指令進行設置,用于控制處理器的具體工作方式。

DF

IF

TF第14頁/共97頁進位標志CF(CarryFlag)當運算結(jié)果的最高有效位有進位(加法)或借位(減法)時,進位標志置1,即CF=1;否則CF=0。例如(以8位運算為例,8088中為16位):3AH+7CH=B6H 沒有進位:CF=0AAH+7CH=26H 有進位:CF=1(1)第15頁/共97頁符號標志SF(SignFlag)運算結(jié)果最高位為1,則SF=1;否則SF=0。例如:3AH+7CH=B6H 最高位D7=1:SF=186H+7CH=00H 最高位D7=0:SF=0

有符號數(shù)利用最高有效位(MSB)來表示它的符號。所以,運算結(jié)果的MSB與符號標志SF相一致。(1)第16頁/共97頁奇偶標志PF(ParityFlag)當運算結(jié)果最低字節(jié)中“1”的個數(shù)為零或偶數(shù)時,PF=1;否則PF=0(奇校驗)。例如:3AH+7CH=B6H=10110110B,結(jié)果中有5個1,是奇數(shù),則PF=0

注意:PF標志僅反映最低8位中“1”的個數(shù)是偶或奇,即使是進行16位字操作。第17頁/共97頁溢出標志OF(OverflowFlag)若算術(shù)運算的結(jié)果有溢出,則OF=1;否則OF=0。例如:3AH+7CH=B6H 產(chǎn)生溢出:OF=1AAH+7CH=26H 沒有溢出:OF=0問題:什么是溢出?溢出和進位有什么區(qū)別?處理器怎么處理,程序員如何運用?如何判斷是否溢出?(1)第18頁/共97頁輔助進位標志AF(AuxiliaryCarryFlag)運算時D3位(低半字節(jié))有進位或借位時,AF=1;否則AF=0。例如:3AH+7CH=B6H D3向前有進位:AF=1

這個標志主要由處理器內(nèi)部使用,用于十進制算術(shù)運算的調(diào)整,用戶一般不必關(guān)心。第19頁/共97頁方向標志DF(DirectionFlag)用于串操作指令中,控制地址的變化方向:設置DF=0,串操作后存儲器地址自動增量(增址);設置DF=1,串操作后存儲器地址自動減量(減址)。CLD指令復位方向標志:DF=0STD指令置位方向標志:DF=1第20頁/共97頁中斷允許標志IF(Interrupt-enableFlag)用于控制外部可屏蔽中斷是否可以被處理器響應:設置IF=1,則允許中斷;設置IF=0,則禁止中斷。CLI指令復位中斷標志:IF=0STI指令置位中斷標志:IF=1第21頁/共97頁陷阱標志TF(TrapFlag)用于控制處理器是否進入單步執(zhí)行方式:設置TF=0,處理器正常工作;設置TF=1,處理器每執(zhí)行一條指令就中斷一次,中斷編號為1(稱單步中斷)TF

也被稱為單步標志。單步執(zhí)行和單步調(diào)試利用單步中斷可對程序進行逐條指令的調(diào)試。這種逐條指令調(diào)試程序的方法就是單步調(diào)試。第22頁/共97頁2.28086總線的工作周期時鐘周期(ClockCycle):執(zhí)行指令的一系列操作都是在時鐘脈沖CLK的統(tǒng)一控制下逐步進行的,一個時鐘脈沖時間稱為一個時鐘周期(ClockCycle)。時鐘周期由計算機的主頻決定,是CPU的定時基準,例如,8086的主頻為5MHz則1個時鐘為200ns。8086CPU與外部交換信息總是通過總線進行的。CPU從存儲器或外設存或取一個字節(jié)或字所需的時間稱為總線周期(BusCycle)。一個基本的總線周期由四個時鐘周期組成,分別稱為T1、T2、T3和T4時鐘周期,或T狀態(tài)(State)。指令周期:一條指令的執(zhí)行包括取指令、分析指令和執(zhí)行指令。一條指令從開始取指令到最后執(zhí)行完畢所需的時間稱為一個指令周期。第23頁/共97頁2.38086微處理器外部基本引腳與工作模式兩種組態(tài)構(gòu)成兩種不同規(guī)模的應用系統(tǒng)最小組態(tài)模式構(gòu)成小規(guī)模的應用系統(tǒng)8088本身提供所有的系統(tǒng)總線信號最大組態(tài)模式構(gòu)成較大規(guī)模的應用系統(tǒng),例如可以接入數(shù)值協(xié)處理器80878088和總線控制器8288共同形成系統(tǒng)總線信號第24頁/共97頁兩種組態(tài)利用MN/MX*引腳區(qū)別MN/MX*接高電平為最小組態(tài)模式MN/MX*接低電平為最大組態(tài)模式兩種組態(tài)下的內(nèi)部操作并沒有區(qū)別IBMPC/XT采用最大組態(tài)本書以最小組態(tài)展開基本原理第25頁/共97頁2.3.28086微處理器外部基本引腳12345678910111213141516171819204039383736353433323130292827262524232221

GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15AD16/S3AD17/S4AD18/S5AD19/S6SS0*(HIGH)MN/MX*RD*HOLD(RQ)*/GT0*)HLDA(RQ1*/GT1*)WR*(LOCK*)M/IO(S2*

)DT/R*(S1*

)DEN(S0

)ALEINTATEST*READYRESET8088第26頁/共97頁2.兩種模式下含義不同的引腳信號

⑴最小模式下的引腳信號數(shù)據(jù)和地址引腳讀寫控制引腳中斷請求和響應引腳總線請求和響應引腳其它引腳 第27頁/共97頁1.數(shù)據(jù)和地址引腳AD7~AD0(Address/Data)地址/數(shù)據(jù)分時復用引腳,雙向、三態(tài)在訪問存儲器或外設的總線操作周期中,這些引腳在第一個時鐘周期輸出存儲器或I/O端口的低8位地址A7~A0其他時間用于傳送8位數(shù)據(jù)D7~D0

第28頁/共97頁1.數(shù)據(jù)和地址引腳(續(xù)1)A15~A8(Address)

中間8位地址引腳,輸出、三態(tài)這些引腳在訪問存儲器或外設時,提供全部20位地址中的中間8位地址A15~A8第29頁/共97頁1.數(shù)據(jù)和地址引腳(續(xù)2)A19/S6~A16/S3(Address/Status)地址/狀態(tài)分時復用引腳,輸出、三態(tài)這些引腳在訪問存儲器的第一個時鐘周期輸出高4位地址A19~A16在訪問外設的第一個時鐘周期全部輸出低電平無效其他時間輸出狀態(tài)信號S6~S3第30頁/共97頁2.讀寫控制引腳ALE(AddressLatchEnable)地址鎖存允許,輸出、三態(tài)、高電平有效ALE引腳高有效時,表示復用引腳:AD7~AD0和A19/S6~A16/S3正在傳送地址信息由于地址信息在這些復用引腳上出現(xiàn)的時間很短暫,所以系統(tǒng)可以利用ALE引腳將地址鎖存起來第31頁/共97頁2.讀寫控制引腳(續(xù)1)IO/M*(InputandOutput/Memory)

I/O或存儲器訪問,輸出、三態(tài)該引腳輸出高電平時,表示CPU將訪問I/O端口,這時地址總線A15~A0提供16位I/O口地址該引腳輸出低電平時,表示CPU將訪問存儲器,這時地址總線A19~A0提供20位存儲器地址第32頁/共97頁2.讀寫控制引腳(續(xù)2)WR*(Write)

寫控制,輸出、三態(tài)、低電平有效有效時,表示CPU正在寫出數(shù)據(jù)給存儲器或I/O端口RD*(Read)讀控制,輸出、三態(tài)、低電平有效有效時,表示CPU正在從存儲器或I/O端口讀入數(shù)據(jù)第33頁/共97頁2.讀寫控制引腳(續(xù)3)IO/M*、WR*和RD*是最基本的控制信號組合后,控制4種基本的總線周期總線周期IO/M*WR*RD*存儲器讀低高低存儲器寫低低高I/O讀高高低I/O寫高低高第34頁/共97頁2.讀寫控制引腳(續(xù)4)READY

存儲器或I/O口就緒,輸入、高電平有效在總線操作周期中,8088CPU會在第3個時鐘周期的前沿測試該引腳如果測到高有效,CPU直接進入第4個時鐘周期如果測到無效,CPU將插入等待周期TwCPU在等待周期中仍然要監(jiān)測READY信號,有效則進入第4個時鐘周期,否則繼續(xù)插入等待周期Tw。第35頁/共97頁2.讀寫控制引腳(續(xù)5)DEN*(DataEnable)

數(shù)據(jù)允許,輸出、三態(tài)、低電平有效有效時,表示當前數(shù)據(jù)總線上正在傳送數(shù)據(jù),可利用他來控制對數(shù)據(jù)總線的驅(qū)動DT/R*(DataTransmit/Receive)數(shù)據(jù)發(fā)送/接收,輸出、三態(tài)該信號表明當前總線上數(shù)據(jù)的流向高電平時數(shù)據(jù)自CPU輸出(發(fā)送)低電平時數(shù)據(jù)輸入CPU(接收)第36頁/共97頁2.讀寫控制引腳(續(xù)6)SS0*(SystemStatus0)

最小組態(tài)模式下的狀態(tài)輸出信號它與IO/M*和DT/R*一道,通過編碼指示CPU在最小組態(tài)下的8種工作狀態(tài):1.取指 5.中斷響應2.存儲器讀 6.I/O讀3.存儲器寫 7.I/O寫4.過渡狀態(tài) 8.暫停對比第37頁/共97頁3.中斷請求和響應引腳INTR(InterruptRequest)可屏蔽中斷請求,輸入、高電平有效有效時,表示請求設備向CPU申請可屏蔽中斷該請求的優(yōu)先級別較低,并可通過關(guān)中斷指令CLI清除標志寄存器中的IF標志、從而對中斷請求進行屏蔽第38頁/共97頁3.中斷請求和響應引腳(續(xù)1)INTA*(InterruptAcknowledge)可屏蔽中斷響應,輸出、低電平有效有效時,表示來自INTR引腳的中斷請求已被CPU響應,CPU進入中斷響應周期中斷響應周期是連續(xù)的兩個,每個都發(fā)出有效響應信號,以便通知外設他們的中斷請求已被響應、并令有關(guān)設備將中斷向量號送到數(shù)據(jù)總線第39頁/共97頁3.中斷請求和響應引腳(續(xù)2)NMI(Non-MaskableInterrupt)不可屏蔽中斷請求,輸入、上升沿有效有效時,表示外界向CPU申請不可屏蔽中斷該請求的優(yōu)先級別高于INTR,并且不能在CPU內(nèi)被屏蔽當系統(tǒng)發(fā)生緊急情況時,可通過他向CPU申請不可屏蔽中斷服務第40頁/共97頁4.總線請求和響應引腳HOLD總線保持(即總線請求),輸入、高電平有效有效時,表示總線請求設備向CPU申請占有總線該信號從有效回到無效時,表示總線請求設備對總線的使用已經(jīng)結(jié)束,通知CPU收回對總線的控制權(quán)第41頁/共97頁4.總線請求和響應引腳(續(xù)1)HLDA(HOLDAcknowledge)總線保持響應(即總線響應),輸出、高電平有效有效時,表示CPU已響應總線請求并已將總線釋放此時CPU的地址總線、數(shù)據(jù)總線及具有三態(tài)輸出能力的控制總線將全面呈現(xiàn)高阻,使總線請求設備可以順利接管總線待到總線請求信號HOLD無效,總線響應信號HLDA也轉(zhuǎn)為無效,CPU重新獲得總線控制權(quán)

第42頁/共97頁5.其它引腳RESET復位請求,輸入、高電平有效該信號有效,將使CPU回到其初始狀態(tài);當他再度返回無效時,CPU將重新開始工作8088復位后CS=FFFFH、IP=0000H,所以程序入口在物理地址FFFF0H第43頁/共97頁5.其它引腳(續(xù)1)CLK(Clock)

時鐘輸入系統(tǒng)通過該引腳給CPU提供內(nèi)部定時信號。8088的標準工作時鐘為5MHzIBMPC/XT機的8088采用了4.77MHz的時鐘,其周期約為210ns第44頁/共97頁5.其它引腳(續(xù)2)Vcc電源輸入,向CPU提供+5V電源GND接地,向CPU提供參考地電平MN/MX*(Minimum/Maximum)組態(tài)選擇,輸入接高電平時,8088引腳工作在最小組態(tài);反之,8088工作在最大組態(tài)第45頁/共97頁5.其它引腳(續(xù)3)TEST*測試,輸入、低電平有效該引腳與WAIT指令配合使用當CPU執(zhí)行WAIT指令時,他將在每個時鐘周期對該引腳進行測試:如果無效,則程序踏步并繼續(xù)測試;如果有效,則程序恢復運行也就是說,WAIT指令使CPU產(chǎn)生等待,直到引腳有效為止在使用協(xié)處理器8087時,通過引腳和WAIT指令,可使8088與8087的操作保持同步第46頁/共97頁“引腳”小結(jié)CPU引腳是系統(tǒng)總線的基本信號可以分成三類信號:8位數(shù)據(jù)線:D0~D720位地址線:A0~A19控制線:ALE、IO/M*、WR*、RD*、READYINTR、INTA*、NMI,HOLD、HLDARESET、CLK、Vcc、GND有問題!第47頁/共97頁“引腳”提問提問之一:CPU引腳是如何與外部連接的呢?

解答:總線形成提問之二:CPU引腳是如何相互配合,實現(xiàn)總線操作、控制系統(tǒng)工作的呢?解答:總線時序第48頁/共97頁最小組態(tài)的總線形成AD7~AD0A15~A8A19/S6~A16/S3+5V8088ALE8282STB系統(tǒng)總線信號A19~A16A15~A8A7~A0D7~D0IO/M*RD*WR*8282STB8282STB8286TOE*MN/MX*IO/M*RD*WR*DT/R*DEN*OE*OE*OE*(1)20位地址總線——采用3個三態(tài)透明鎖存器8282進行鎖存和驅(qū)動(2)8位數(shù)據(jù)總線——采用數(shù)據(jù)收發(fā)器8286進行驅(qū)動(3)系統(tǒng)控制信號——由8088引腳直接提供第49頁/共97頁最大組態(tài)的引腳定義8088的數(shù)據(jù)/地址等引腳在最大組態(tài)與最小組態(tài)時相同有些控制信號不相同,主要是用于輸出操作編碼信號,由總線控制器8288譯碼產(chǎn)生系統(tǒng)控制信號:S2*、S1*、S0*——3個狀態(tài)信號LOCK*——總線封鎖信號QS1、QS0——指令隊列狀態(tài)信號RQ*/GT0*、RQ*/GT1*——2個總線請求/同意信號第50頁/共97頁最大組態(tài)的總線形成系統(tǒng)總線信號MEMR*MEMW*IOR*IOW*INTA*DMA應答電路AENBRDAEN’*AEN*CENA19~A12A11~A8A7~A0D7~D0AD7~AD0A11~A8A19/S6~A16/S3A15~A1274LS24574LS37374LS373GGG*DIR74LS2448088OE*8288DT/R*DENALES2*~S0*S2*~S0*MN/MX*OE*E*MRDC*AMTW*IORC*AIOWC*INTA*⑴

系統(tǒng)地址總線采用三態(tài)透明鎖存器74LS373和三態(tài)單向緩沖器74LS244⑵

系統(tǒng)數(shù)據(jù)總線通過三態(tài)雙向緩沖器74LS245形成和驅(qū)動⑶系統(tǒng)控制總線主要由總線控制器8288形成MEMR*、MEMW*、IOR*、IOW*、INTA*第51頁/共97頁(1)20位地址總線的形成采用3個8282進行鎖存和驅(qū)動Intel8282是三態(tài)透明鎖存器,類似有Intel8283和通用數(shù)字集成電路芯片373三態(tài)輸出:輸出控制信號有效時,允許數(shù)據(jù)輸出;無效時,不允許數(shù)據(jù)輸出,呈高阻狀態(tài)透明:鎖存器的輸出能夠跟隨輸入變化

有問題!三態(tài)鎖存第52頁/共97頁補充:三態(tài)門和D觸發(fā)器三態(tài)門和以D觸發(fā)器形成的鎖存器是微機接口電路中最常使用的兩類邏輯電路三態(tài)門:功率放大、導通開關(guān)器件共用總線時,一般使用三態(tài)電路:需要使用總線的時候打開三態(tài)門;不使用的時候關(guān)閉三態(tài)門,使之處于高阻D觸發(fā)器:信號保持,也可用作導通開關(guān)第53頁/共97頁D觸發(fā)器DQCQ電平鎖存DQCQ上升沿鎖存電平鎖存:高電平通過,低電平鎖存上升沿鎖存:通常用負脈沖觸發(fā)鎖存負脈沖的上升沿DQCQSR帶有異步置位清零的電平控制的鎖存器第54頁/共97頁74LS273具有異步清零的TTL上升沿鎖存器第55頁/共97頁74LS373具有三態(tài)輸出的TTL電平鎖存器LE電平鎖存引腳OE*輸出允許引腳第56頁/共97頁Intel8282具有三態(tài)輸出的TTL電平鎖存器STB電平鎖存引腳OE*輸出允許引腳第57頁/共97頁三態(tài)緩沖器三態(tài)門具有單向?qū)ê腿龖B(tài)的特性T為低平時:輸出為高阻抗(三態(tài))T為高電平時:輸出為輸入的反相TAF表示反相或低電平有效TAFTAFTAF第58頁/共97頁74LS244雙4位單向緩沖器分成4位的兩組每組的控制端連接在一起控制端低電平有效輸出與輸入同相第59頁/共97頁雙向三態(tài)緩沖器三態(tài)門具有雙向?qū)ê腿龖B(tài)的特性ABTOE*OE*=0,導通

T=1A→BT=0A←BOE*=1,不導通第60頁/共97頁Intel82868位雙向緩沖器控制端連接在一起,低電平有效可以雙向?qū)ㄝ敵雠c輸入同相OE*=0,導通

T=1A→BT=0A←BOE*=1,不導通第61頁/共97頁74LS2458位雙向緩沖器控制端連接在一起,低電平有效可以雙向?qū)ㄝ敵雠c輸入同相E*=0,導通

DIR=1A→BDIR=0A←BE*=1,不導通第62頁/共97頁(2)8位數(shù)據(jù)總線的形成采用數(shù)據(jù)收發(fā)器8286進行雙向驅(qū)動

Intel8286是8位三態(tài)雙向緩沖器,類似功能的器件還有Intel8287、通用數(shù)字集成電路245等另外,接口電路中也經(jīng)常使用三態(tài)單向緩沖器,例如通用數(shù)字集成電路244就是一個常用的雙4位三態(tài)單向緩沖器第63頁/共97頁(3)系統(tǒng)控制信號的形成由8088引腳直接提供因為基本的控制信號8088引腳中都含有例如:IO/M*、WR*、RD*等其它信號的情況看詳圖其它第64頁/共97頁1.存儲器的分段結(jié)構(gòu)8088有20條地址線,最大可尋址空間為220=1MB,可尋址的地址范圍為00000H~FFFFFH該地址稱物理地址硬件用20位的物理地址來對存儲單元進行尋址2.4.2存儲器的分段結(jié)構(gòu)和物理地址的形成第65頁/共97頁存儲器的分段管理由于8088中的地址寄存器都是16位的,用戶不能直接使用20位的物理地址,編程時需要使用邏輯地址來尋址存儲單元。邏輯地址由兩個16位數(shù)構(gòu)成,其形式為:

段的起始地址:

段內(nèi)的偏移地址(16位段地址)

:(16位偏移量)

第66頁/共97頁存儲器的分段管理8088將存儲空間分為多個邏輯段(段——Segment)來進行管理,要求:段的20位的起始地址(xxxxxH)其低4位必須為0(xxxx0H),所以可以將它們省略,然后用1個16位數(shù)來表示表示段的首地址。每段長度限216=64KB,所以段內(nèi)偏移地址可以用1個16位數(shù)來表示(xxxxH);所以有:

段的起始地址:段內(nèi)的偏移地址(16位段地址):(16位偏移量)第67頁/共97頁存儲器的分段管理邏輯地址的表示——段地址:偏移地址地址偏移量(xxxxH)段首(xxxx0H)低址段尾某邏輯段64KB某尋址單元第68頁/共97頁存儲器的分段管理1MB最多可分為16個不重迭的段。實際上,兩個不同的邏輯段可以交疊,或者完全重疊。一個存儲單元可以擁有多個邏輯地址,但只可能擁有一個唯一的物理地址。例如:物理地址:00200H

邏輯地址:0000H:0200H

邏輯地址:0020H:0000H第69頁/共97頁物理地址和邏輯地址每個存儲單元都有一個唯一物理地址(00000H~FFFFFH),20位,該地址在指令執(zhí)行時由地址加法器形成,并進行硬件尋址。地址加法器的具體做法:段地址左移4位,然后加上偏移地址就得到20位物理地址。用戶編程時采用邏輯地址,其形式為:段的首地址:段內(nèi)偏移地址 它們由兩個16位的無符號數(shù)構(gòu)成。邏輯地址“1460H:100H”=物理地址14700H第70頁/共97頁數(shù)據(jù)的存儲格式計算機中信息的單位有:位(bit)、字節(jié)(byte)、字(word)、雙字(doubleword)等在存儲器中,信息的存儲單元是:字節(jié)80x86微處理器對多字節(jié)數(shù)據(jù)采用:小端方式(littleendian)存儲的數(shù)據(jù)如果對齊邊界,則存取速度較快第71頁/共97頁8086的存儲格式第72頁/共97頁信息的表示單位位bit:存儲一位二進制數(shù):0或1。字節(jié)Byte: 8位二進制,

D7~D0。字Word: 16位/2個字節(jié), D15~D0。雙字Double:32位/4個字節(jié),

D31~D0。最低有效位LSB(LeastSignificantBit):指數(shù)據(jù)的最低位,即D0位;最高有效位MSB(MostSignificantBit):指數(shù)據(jù)的最高位,對應字節(jié)、字、雙字分別指D7、D15、D31位。第73頁/共97頁存儲單元及其存儲內(nèi)容每個存儲單元都有一個編號——存儲器地址每個存儲單元存放一個字節(jié)的內(nèi)容例如:0002H單元存放有一個數(shù)據(jù)34H[0002H]=34H第74頁/共97頁小端方式多字節(jié)數(shù)據(jù)在存儲器中占據(jù)多個連續(xù)的存儲單元:存放時,低字節(jié)存于低地址,高字節(jié)存于高地址;多字節(jié)數(shù)據(jù)占據(jù)的地址空間用它的低地址來表示。例如:2號“字”單元: [0002H]=1234H 2號“雙字”單元: [0002H]=78561234H80x86處理器的“低對低、高對高”的存儲形式,被稱為“小端方式”;相對應還存在“大端方式(bigendian)”。第75頁/共97頁數(shù)據(jù)的地址對齊同一個存儲器地址可以表示為:字節(jié)單元地址、字單元地址、雙字單元地址等等(視指令的具體情況)。 如 movwordptr[2000H],10H movbyteptr[2000H],10H將字單元安排在偶地址(xx……….xx0B),將雙字單元安排在模4地址(xx………xx00B)的做法,被稱為“地址對齊(Align)”。對于地址不對齊的數(shù)據(jù),處理器訪問時,需要付出額外的訪問時間。要取得較高的存取速度,應該將數(shù)據(jù)的地址對齊。第76頁/共97頁2.58086微處理器的時序時序(Timing)是指信號高低電平(有效或無效)變化及相互間的時間順序關(guān)系??偩€時序描述CPU引腳如何實現(xiàn)總線操作CPU時序決定系統(tǒng)各部件間的同步和定時什么是總線操作?第77頁/共97頁8086微處理器的時序(續(xù)1)總線操作是指CPU通過總線對外的各種操作8088的總線操作主要有:存儲器讀、I/O讀操作存儲器寫、I/O寫操作中斷響應操作總線請求及響應操作CPU正在進行內(nèi)部操作、并不進行實際對外操作的空閑狀態(tài)Ti什么是總線周期?第78頁/共97頁8086微處理器的時序(續(xù)2)總線周期是指CPU通過總線操作與外部(存儲器或I/O端口)進行一次數(shù)據(jù)交換的過程指令周期是指一條指令經(jīng)取指、譯碼、讀寫操作數(shù)到執(zhí)行完成的過程8088的基本總線周期需要4個時鐘周期,4個時鐘周期編號為T1、T2、T3和T4總線周期中的時鐘周期也被稱作“T狀態(tài)”

時鐘周期的時間長度就是時鐘頻率的倒數(shù)當需要延長總線周期時需要插入等待狀態(tài)Tw何時有總線周期?演示第79頁/共97頁8086微處理器的時序(續(xù)3)任何指令的取指階段都需要存儲器讀總線周期,讀取的內(nèi)容是指令代碼任何一條以存儲單元為源操作數(shù)的指令都將引起存儲器讀總線周期,任何一條以存儲單元為目的操作數(shù)的指令都將引起存儲器寫總線周期只有執(zhí)行IN指令才出現(xiàn)I/O讀總線周期,執(zhí)行OUT指令才出現(xiàn)I/O寫總線周期CPU響應可屏蔽中斷時生成中斷響應總線周期如何實現(xiàn)同步?第80頁/共97頁8086微處理器的時序(續(xù)4)總線操作中如何實現(xiàn)時序同步是關(guān)鍵CPU總線周期采用同步時序:各部件都以系統(tǒng)時鐘信號為基準當相互不能配合時,快速部件(CPU)插入等待狀態(tài)等待慢速部件(I/O和存儲器)CPU與外設接口常采用異步時序,它們通過應答聯(lián)絡信號實現(xiàn)同步操作第81頁/共97頁最小組態(tài)的總線時序本節(jié)展開微處理器最基本的4種總線周期存儲器讀總線周期存儲器寫總線周期I/O讀總線周期I/O寫總線周期第82頁/共97頁存儲器寫總線周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0輸出數(shù)據(jù)A19~A16S6~S3READY(高電平)IO/M*WR*T1狀態(tài)——輸出20位存儲器地址A19~A0IO/M*輸出低電平,表示存儲器操作;ALE輸出正脈沖,表示復用總線輸出地址T2狀態(tài)——輸出控制信號WR*和數(shù)據(jù)D7~D0T3和Tw狀態(tài)——檢測數(shù)據(jù)傳送是否能夠完成T4狀態(tài)——完成數(shù)據(jù)傳送第83頁/共97頁I/O寫總線周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0輸出數(shù)據(jù)0000S6~S3READY(高電平)IO/M*WR*T1狀態(tài)——輸出16位I/O地址A15~A0IO/M*輸出高電平,表示I/O操作;ALE輸出正脈沖,表示復用總線輸出地址T2狀態(tài)——輸出控制信號WR*和數(shù)據(jù)D7~D0T3和Tw狀態(tài)——檢測數(shù)據(jù)傳送是否能夠完成T4狀態(tài)——完成數(shù)據(jù)傳送第84頁/共97頁存儲器讀總線周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0輸入數(shù)據(jù)A19~A16S6~S3READY(高電平)IO/M*RD*T1狀態(tài)——輸出20位存儲器地址A19~A0IO/M*輸出低電平,表示存儲器操作;ALE輸出正脈沖,表示復用總線輸出地址T2狀態(tài)——輸出控制信號RD*T3和Tw狀態(tài)——檢測數(shù)據(jù)傳送是否能夠完成T4狀態(tài)——前沿讀取數(shù)據(jù),完成數(shù)據(jù)傳送第85頁/共97頁I/O讀總線周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0輸入數(shù)據(jù)S6~S3READY(高電平)IO/M*RD*0000T1狀態(tài)——輸出16位I/O地址A15~A

溫馨提示

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

評論

0/150

提交評論