




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
會(huì)計(jì)學(xué)1CPU結(jié)構(gòu)詳解實(shí)用第2章8086CPU結(jié)構(gòu)2.18086微處理器內(nèi)部基本結(jié)構(gòu)2.28086總線的工作周期2.38086微處理器外部基本引腳與工作模式2.48086微處理器的存儲(chǔ)器組織2.48086微處理器的存儲(chǔ)器組織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)從功能分成兩個(gè)單元總線接口單元BIU——管理8088與系統(tǒng)總線的接口,負(fù)責(zé)CPU對(duì)存儲(chǔ)器和外設(shè)進(jìn)行訪問執(zhí)行單元EU——負(fù)責(zé)指令的譯碼、執(zhí)行和數(shù)據(jù)的運(yùn)算兩個(gè)單元相互獨(dú)立,分別完成各自操作兩個(gè)單元可以并行執(zhí)行,實(shí)現(xiàn)指令取指和執(zhí)行的流水線操作第2頁/共97頁8088的內(nèi)部結(jié)構(gòu)1234內(nèi)部暫存器
IP
ES
SSDSCS控制電路外部總線控制電路∑ALU標(biāo)志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令隊(duì)列執(zhí)行部件(EU)總線接口部件(BIU)16位20位8位8位段寄存器第3頁/共97頁1.執(zhí)行部件⑴EU的組成①算術(shù)邏輯運(yùn)算單元它是1個(gè)16位的運(yùn)算器,可用于8位、16位二進(jìn)制算術(shù)和邏輯運(yùn)算,也可按指令的尋址方式計(jì)算尋址存儲(chǔ)器所需的16位偏移量。②通用寄存器組它包括4個(gè)16位的數(shù)據(jù)寄存器AX、BX、CX、DX和4個(gè)16位指針與變址寄存器SP、BP與SI、DI。③標(biāo)志寄存器它是1個(gè)16位的寄存器,用來反映CPU運(yùn)算的狀態(tài)特征和存放某些控制標(biāo)志。④數(shù)據(jù)暫它協(xié)助ALU完成運(yùn)算,暫存參加運(yùn)算的數(shù)據(jù)。⑤EU控制電路它負(fù)責(zé)從BIU的指令隊(duì)列緩沖器中取指令,并對(duì)指令譯碼,根據(jù)指令要求向EU內(nèi)部各部件發(fā)出控制命令,以完成各條指令規(guī)定的功能。第4頁/共97頁2.總線接口部件⑴BIU的組成總線接口單元BIU由1個(gè)20位地址加法器、4個(gè)16位段寄存器、1個(gè)16位指令指針I(yè)P、指令隊(duì)列緩沖器和總線控制邏輯電路等組成。8086的指令隊(duì)列由6個(gè)字節(jié)構(gòu)成。①地址加法器和段寄存器地址加法器將16位的段寄存器內(nèi)容左移4位,與16位偏移地址相加,形成20位的物理地址。②16位指令指針I(yè)P
指令指針I(yè)P用來存放下一條要執(zhí)行指令在代碼段中的偏移地址。③指令隊(duì)列緩沖器當(dāng)EU正在執(zhí)行指令中,且不需占用總線時(shí),BIU會(huì)自動(dòng)地進(jìn)行預(yù)取指令操作,將所取得的指令按先后次序存入1個(gè)6字節(jié)的指令隊(duì)列寄存器,該隊(duì)列寄存器按“先進(jìn)先出”的方式工作,并按順序取到EU中執(zhí)行。④總線控制邏輯電路第5頁/共97頁2.1.28086CPU寄存器結(jié)構(gòu)
8086的寄存器都為16位,分為:通用寄存器
8 AX/BX/CX/DX BP/SPDI/SI
指令指針寄存器
1 IP
標(biāo)志寄存器
1 PSW段寄存器
4 CS/SS/DS/ES
掌握通用寄存器的作用,熟悉PSW中各個(gè)標(biāo)志的含義切實(shí)理解存儲(chǔ)器組織和存儲(chǔ)空間分段的概念第6頁/共97頁8086CPU內(nèi)部寄存器如圖2.2所示。
第7頁/共97頁通用寄存器8086的16位通用寄存器是:
AX BX CX DX SI DI BP SP
其中,前4個(gè)數(shù)據(jù)寄存器都還可以分成高8位和低8位兩個(gè)獨(dú)立的寄存器,它們是:
AHBHCHDHALBLCLDL
對(duì)其中某個(gè)8位寄存器的操作,并不影響它所對(duì)應(yīng)的另外一個(gè)8位寄存器。第8頁/共97頁數(shù)據(jù)寄存器數(shù)據(jù)寄存器用來存放計(jì)算的結(jié)果和操作數(shù)每個(gè)寄存器又有它們各自的專用目的:AX——16位累加器,使用頻度最高,用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息等;AL為8位累加器。BX——基址寄存器,常用來做基址指針,指向一批連續(xù)存放操作數(shù)的基地址。CX——計(jì)數(shù)器,作為循環(huán)和串操作等指令中的隱含計(jì)數(shù)器。DX——數(shù)據(jù)寄存器,用來存放外設(shè)端口的16位地址,或雙字長數(shù)據(jù)的高16位。第9頁/共97頁變址寄存器變址寄存器常用于存儲(chǔ)器尋址時(shí)提供地址SI是源變址寄存器DI是目的變址寄存器在串操作類指令中,SI和DI具有特別的功能第10頁/共97頁指針寄存器指針寄存器用于尋址內(nèi)存堆棧內(nèi)的數(shù)據(jù)SP為堆棧指針寄存器,指示棧頂?shù)钠频刂贰P不能再用于其他目的,具有專用性BP為基址指針寄存器,表示數(shù)據(jù)在堆棧段中的基地址SP/BP寄存器與SS段寄存器聯(lián)合使用以確定堆棧段中的存儲(chǔ)單元地址詳見堆棧操作指令第11頁/共97頁指令指針寄存器IP指令指針寄存器IP,指示代碼段中指令的偏移地址它與代碼段寄存器CS聯(lián)用,確定下一條指令的物理地址計(jì)算機(jī)通過CS:IP寄存器來取指,從而控制指令序列的執(zhí)行流程IP寄存器是一個(gè)專用寄存器,用戶不能直接訪問。第12頁/共97頁標(biāo)志寄存器標(biāo)志(Flag)用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式。8086處理器中各種常用的標(biāo)志形成了一個(gè)16位的標(biāo)志寄存器FLAGS(也稱程序狀態(tài)字PSW寄存器)。OF111512DF10IF9TF8SF7ZF65AF43PF21CF0控制反映結(jié)果狀態(tài)反應(yīng)運(yùn)算過程第13頁/共97頁標(biāo)志的作用指令的執(zhí)行與標(biāo)志有很大關(guān)系。標(biāo)志分成兩類:狀態(tài)標(biāo)志——用來記錄程序運(yùn)行結(jié)果的狀態(tài)信息,許多指令的執(zhí)行都將自動(dòng)地改變它。
CF
OF
AF
SF
ZF
PF控制標(biāo)志——可由用戶根據(jù)需要用指令進(jìn)行設(shè)置,用于控制處理器的具體工作方式。
DF
IF
TF第14頁/共97頁進(jìn)位標(biāo)志CF(CarryFlag)當(dāng)運(yùn)算結(jié)果的最高有效位有進(jìn)位(加法)或借位(減法)時(shí),進(jìn)位標(biāo)志置1,即CF=1;否則CF=0。例如(以8位運(yùn)算為例,8088中為16位):3AH+7CH=B6H 沒有進(jìn)位:CF=0AAH+7CH=26H 有進(jìn)位:CF=1(1)第15頁/共97頁符號(hào)標(biāo)志SF(SignFlag)運(yùn)算結(jié)果最高位為1,則SF=1;否則SF=0。例如:3AH+7CH=B6H 最高位D7=1:SF=186H+7CH=00H 最高位D7=0:SF=0
有符號(hào)數(shù)利用最高有效位(MSB)來表示它的符號(hào)。所以,運(yùn)算結(jié)果的MSB與符號(hào)標(biāo)志SF相一致。(1)第16頁/共97頁奇偶標(biāo)志PF(ParityFlag)當(dāng)運(yùn)算結(jié)果最低字節(jié)中“1”的個(gè)數(shù)為零或偶數(shù)時(shí),PF=1;否則PF=0(奇校驗(yàn))。例如:3AH+7CH=B6H=10110110B,結(jié)果中有5個(gè)1,是奇數(shù),則PF=0
注意:PF標(biāo)志僅反映最低8位中“1”的個(gè)數(shù)是偶或奇,即使是進(jìn)行16位字操作。第17頁/共97頁溢出標(biāo)志OF(OverflowFlag)若算術(shù)運(yùn)算的結(jié)果有溢出,則OF=1;否則OF=0。例如:3AH+7CH=B6H 產(chǎn)生溢出:OF=1AAH+7CH=26H 沒有溢出:OF=0問題:什么是溢出?溢出和進(jìn)位有什么區(qū)別?處理器怎么處理,程序員如何運(yùn)用?如何判斷是否溢出?(1)第18頁/共97頁輔助進(jìn)位標(biāo)志AF(AuxiliaryCarryFlag)運(yùn)算時(shí)D3位(低半字節(jié))有進(jìn)位或借位時(shí),AF=1;否則AF=0。例如:3AH+7CH=B6H D3向前有進(jìn)位:AF=1
這個(gè)標(biāo)志主要由處理器內(nèi)部使用,用于十進(jìn)制算術(shù)運(yùn)算的調(diào)整,用戶一般不必關(guān)心。第19頁/共97頁方向標(biāo)志DF(DirectionFlag)用于串操作指令中,控制地址的變化方向:設(shè)置DF=0,串操作后存儲(chǔ)器地址自動(dòng)增量(增址);設(shè)置DF=1,串操作后存儲(chǔ)器地址自動(dòng)減量(減址)。CLD指令復(fù)位方向標(biāo)志:DF=0STD指令置位方向標(biāo)志:DF=1第20頁/共97頁中斷允許標(biāo)志IF(Interrupt-enableFlag)用于控制外部可屏蔽中斷是否可以被處理器響應(yīng):設(shè)置IF=1,則允許中斷;設(shè)置IF=0,則禁止中斷。CLI指令復(fù)位中斷標(biāo)志:IF=0STI指令置位中斷標(biāo)志:IF=1第21頁/共97頁陷阱標(biāo)志TF(TrapFlag)用于控制處理器是否進(jìn)入單步執(zhí)行方式:設(shè)置TF=0,處理器正常工作;設(shè)置TF=1,處理器每執(zhí)行一條指令就中斷一次,中斷編號(hào)為1(稱單步中斷)TF
也被稱為單步標(biāo)志。單步執(zhí)行和單步調(diào)試?yán)脝尾街袛嗫蓪?duì)程序進(jìn)行逐條指令的調(diào)試。這種逐條指令調(diào)試程序的方法就是單步調(diào)試。第22頁/共97頁2.28086總線的工作周期時(shí)鐘周期(ClockCycle):執(zhí)行指令的一系列操作都是在時(shí)鐘脈沖CLK的統(tǒng)一控制下逐步進(jìn)行的,一個(gè)時(shí)鐘脈沖時(shí)間稱為一個(gè)時(shí)鐘周期(ClockCycle)。時(shí)鐘周期由計(jì)算機(jī)的主頻決定,是CPU的定時(shí)基準(zhǔn),例如,8086的主頻為5MHz則1個(gè)時(shí)鐘為200ns。8086CPU與外部交換信息總是通過總線進(jìn)行的。CPU從存儲(chǔ)器或外設(shè)存或取一個(gè)字節(jié)或字所需的時(shí)間稱為總線周期(BusCycle)。一個(gè)基本的總線周期由四個(gè)時(shí)鐘周期組成,分別稱為T1、T2、T3和T4時(shí)鐘周期,或T狀態(tài)(State)。指令周期:一條指令的執(zhí)行包括取指令、分析指令和執(zhí)行指令。一條指令從開始取指令到最后執(zhí)行完畢所需的時(shí)間稱為一個(gè)指令周期。第23頁/共97頁2.38086微處理器外部基本引腳與工作模式兩種組態(tài)構(gòu)成兩種不同規(guī)模的應(yīng)用系統(tǒng)最小組態(tài)模式構(gòu)成小規(guī)模的應(yīng)用系統(tǒng)8088本身提供所有的系統(tǒng)總線信號(hào)最大組態(tài)模式構(gòu)成較大規(guī)模的應(yīng)用系統(tǒng),例如可以接入數(shù)值協(xié)處理器80878088和總線控制器8288共同形成系統(tǒng)總線信號(hào)第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.兩種模式下含義不同的引腳信號(hào)
⑴最小模式下的引腳信號(hào)數(shù)據(jù)和地址引腳讀寫控制引腳中斷請求和響應(yīng)引腳總線請求和響應(yīng)引腳其它引腳 第27頁/共97頁1.數(shù)據(jù)和地址引腳AD7~AD0(Address/Data)地址/數(shù)據(jù)分時(shí)復(fù)用引腳,雙向、三態(tài)在訪問存儲(chǔ)器或外設(shè)的總線操作周期中,這些引腳在第一個(gè)時(shí)鐘周期輸出存儲(chǔ)器或I/O端口的低8位地址A7~A0其他時(shí)間用于傳送8位數(shù)據(jù)D7~D0
第28頁/共97頁1.數(shù)據(jù)和地址引腳(續(xù)1)A15~A8(Address)
中間8位地址引腳,輸出、三態(tài)這些引腳在訪問存儲(chǔ)器或外設(shè)時(shí),提供全部20位地址中的中間8位地址A15~A8第29頁/共97頁1.數(shù)據(jù)和地址引腳(續(xù)2)A19/S6~A16/S3(Address/Status)地址/狀態(tài)分時(shí)復(fù)用引腳,輸出、三態(tài)這些引腳在訪問存儲(chǔ)器的第一個(gè)時(shí)鐘周期輸出高4位地址A19~A16在訪問外設(shè)的第一個(gè)時(shí)鐘周期全部輸出低電平無效其他時(shí)間輸出狀態(tài)信號(hào)S6~S3第30頁/共97頁2.讀寫控制引腳ALE(AddressLatchEnable)地址鎖存允許,輸出、三態(tài)、高電平有效ALE引腳高有效時(shí),表示復(fù)用引腳:AD7~AD0和A19/S6~A16/S3正在傳送地址信息由于地址信息在這些復(fù)用引腳上出現(xiàn)的時(shí)間很短暫,所以系統(tǒng)可以利用ALE引腳將地址鎖存起來第31頁/共97頁2.讀寫控制引腳(續(xù)1)IO/M*(InputandOutput/Memory)
I/O或存儲(chǔ)器訪問,輸出、三態(tài)該引腳輸出高電平時(shí),表示CPU將訪問I/O端口,這時(shí)地址總線A15~A0提供16位I/O口地址該引腳輸出低電平時(shí),表示CPU將訪問存儲(chǔ)器,這時(shí)地址總線A19~A0提供20位存儲(chǔ)器地址第32頁/共97頁2.讀寫控制引腳(續(xù)2)WR*(Write)
寫控制,輸出、三態(tài)、低電平有效有效時(shí),表示CPU正在寫出數(shù)據(jù)給存儲(chǔ)器或I/O端口RD*(Read)讀控制,輸出、三態(tài)、低電平有效有效時(shí),表示CPU正在從存儲(chǔ)器或I/O端口讀入數(shù)據(jù)第33頁/共97頁2.讀寫控制引腳(續(xù)3)IO/M*、WR*和RD*是最基本的控制信號(hào)組合后,控制4種基本的總線周期總線周期IO/M*WR*RD*存儲(chǔ)器讀低高低存儲(chǔ)器寫低低高I/O讀高高低I/O寫高低高第34頁/共97頁2.讀寫控制引腳(續(xù)4)READY
存儲(chǔ)器或I/O口就緒,輸入、高電平有效在總線操作周期中,8088CPU會(huì)在第3個(gè)時(shí)鐘周期的前沿測試該引腳如果測到高有效,CPU直接進(jìn)入第4個(gè)時(shí)鐘周期如果測到無效,CPU將插入等待周期TwCPU在等待周期中仍然要監(jiān)測READY信號(hào),有效則進(jìn)入第4個(gè)時(shí)鐘周期,否則繼續(xù)插入等待周期Tw。第35頁/共97頁2.讀寫控制引腳(續(xù)5)DEN*(DataEnable)
數(shù)據(jù)允許,輸出、三態(tài)、低電平有效有效時(shí),表示當(dāng)前數(shù)據(jù)總線上正在傳送數(shù)據(jù),可利用他來控制對(duì)數(shù)據(jù)總線的驅(qū)動(dòng)DT/R*(DataTransmit/Receive)數(shù)據(jù)發(fā)送/接收,輸出、三態(tài)該信號(hào)表明當(dāng)前總線上數(shù)據(jù)的流向高電平時(shí)數(shù)據(jù)自CPU輸出(發(fā)送)低電平時(shí)數(shù)據(jù)輸入CPU(接收)第36頁/共97頁2.讀寫控制引腳(續(xù)6)SS0*(SystemStatus0)
最小組態(tài)模式下的狀態(tài)輸出信號(hào)它與IO/M*和DT/R*一道,通過編碼指示CPU在最小組態(tài)下的8種工作狀態(tài):1.取指 5.中斷響應(yīng)2.存儲(chǔ)器讀 6.I/O讀3.存儲(chǔ)器寫 7.I/O寫4.過渡狀態(tài) 8.暫停對(duì)比第37頁/共97頁3.中斷請求和響應(yīng)引腳INTR(InterruptRequest)可屏蔽中斷請求,輸入、高電平有效有效時(shí),表示請求設(shè)備向CPU申請可屏蔽中斷該請求的優(yōu)先級(jí)別較低,并可通過關(guān)中斷指令CLI清除標(biāo)志寄存器中的IF標(biāo)志、從而對(duì)中斷請求進(jìn)行屏蔽第38頁/共97頁3.中斷請求和響應(yīng)引腳(續(xù)1)INTA*(InterruptAcknowledge)可屏蔽中斷響應(yīng),輸出、低電平有效有效時(shí),表示來自INTR引腳的中斷請求已被CPU響應(yīng),CPU進(jìn)入中斷響應(yīng)周期中斷響應(yīng)周期是連續(xù)的兩個(gè),每個(gè)都發(fā)出有效響應(yīng)信號(hào),以便通知外設(shè)他們的中斷請求已被響應(yīng)、并令有關(guān)設(shè)備將中斷向量號(hào)送到數(shù)據(jù)總線第39頁/共97頁3.中斷請求和響應(yīng)引腳(續(xù)2)NMI(Non-MaskableInterrupt)不可屏蔽中斷請求,輸入、上升沿有效有效時(shí),表示外界向CPU申請不可屏蔽中斷該請求的優(yōu)先級(jí)別高于INTR,并且不能在CPU內(nèi)被屏蔽當(dāng)系統(tǒng)發(fā)生緊急情況時(shí),可通過他向CPU申請不可屏蔽中斷服務(wù)第40頁/共97頁4.總線請求和響應(yīng)引腳HOLD總線保持(即總線請求),輸入、高電平有效有效時(shí),表示總線請求設(shè)備向CPU申請占有總線該信號(hào)從有效回到無效時(shí),表示總線請求設(shè)備對(duì)總線的使用已經(jīng)結(jié)束,通知CPU收回對(duì)總線的控制權(quán)第41頁/共97頁4.總線請求和響應(yīng)引腳(續(xù)1)HLDA(HOLDAcknowledge)總線保持響應(yīng)(即總線響應(yīng)),輸出、高電平有效有效時(shí),表示CPU已響應(yīng)總線請求并已將總線釋放此時(shí)CPU的地址總線、數(shù)據(jù)總線及具有三態(tài)輸出能力的控制總線將全面呈現(xiàn)高阻,使總線請求設(shè)備可以順利接管總線待到總線請求信號(hào)HOLD無效,總線響應(yīng)信號(hào)HLDA也轉(zhuǎn)為無效,CPU重新獲得總線控制權(quán)
第42頁/共97頁5.其它引腳RESET復(fù)位請求,輸入、高電平有效該信號(hào)有效,將使CPU回到其初始狀態(tài);當(dāng)他再度返回?zé)o效時(shí),CPU將重新開始工作8088復(fù)位后CS=FFFFH、IP=0000H,所以程序入口在物理地址FFFF0H第43頁/共97頁5.其它引腳(續(xù)1)CLK(Clock)
時(shí)鐘輸入系統(tǒng)通過該引腳給CPU提供內(nèi)部定時(shí)信號(hào)。8088的標(biāo)準(zhǔn)工作時(shí)鐘為5MHzIBMPC/XT機(jī)的8088采用了4.77MHz的時(shí)鐘,其周期約為210ns第44頁/共97頁5.其它引腳(續(xù)2)Vcc電源輸入,向CPU提供+5V電源GND接地,向CPU提供參考地電平MN/MX*(Minimum/Maximum)組態(tài)選擇,輸入接高電平時(shí),8088引腳工作在最小組態(tài);反之,8088工作在最大組態(tài)第45頁/共97頁5.其它引腳(續(xù)3)TEST*測試,輸入、低電平有效該引腳與WAIT指令配合使用當(dāng)CPU執(zhí)行WAIT指令時(shí),他將在每個(gè)時(shí)鐘周期對(duì)該引腳進(jìn)行測試:如果無效,則程序踏步并繼續(xù)測試;如果有效,則程序恢復(fù)運(yùn)行也就是說,WAIT指令使CPU產(chǎn)生等待,直到引腳有效為止在使用協(xié)處理器8087時(shí),通過引腳和WAIT指令,可使8088與8087的操作保持同步第46頁/共97頁“引腳”小結(jié)CPU引腳是系統(tǒng)總線的基本信號(hào)可以分成三類信號(hào):8位數(shù)據(jù)線:D0~D720位地址線:A0~A19控制線:ALE、IO/M*、WR*、RD*、READYINTR、INTA*、NMI,HOLD、HLDARESET、CLK、Vcc、GND有問題!第47頁/共97頁“引腳”提問提問之一:CPU引腳是如何與外部連接的呢?
解答:總線形成提問之二:CPU引腳是如何相互配合,實(shí)現(xiàn)總線操作、控制系統(tǒng)工作的呢?解答:總線時(shí)序第48頁/共97頁最小組態(tài)的總線形成AD7~AD0A15~A8A19/S6~A16/S3+5V8088ALE8282STB系統(tǒng)總線信號(hào)A19~A16A15~A8A7~A0D7~D0IO/M*RD*WR*8282STB8282STB8286TOE*MN/MX*IO/M*RD*WR*DT/R*DEN*OE*OE*OE*(1)20位地址總線——采用3個(gè)三態(tài)透明鎖存器8282進(jìn)行鎖存和驅(qū)動(dòng)(2)8位數(shù)據(jù)總線——采用數(shù)據(jù)收發(fā)器8286進(jìn)行驅(qū)動(dòng)(3)系統(tǒng)控制信號(hào)——由8088引腳直接提供第49頁/共97頁最大組態(tài)的引腳定義8088的數(shù)據(jù)/地址等引腳在最大組態(tài)與最小組態(tài)時(shí)相同有些控制信號(hào)不相同,主要是用于輸出操作編碼信號(hào),由總線控制器8288譯碼產(chǎn)生系統(tǒng)控制信號(hào):S2*、S1*、S0*——3個(gè)狀態(tài)信號(hào)LOCK*——總線封鎖信號(hào)QS1、QS0——指令隊(duì)列狀態(tài)信號(hào)RQ*/GT0*、RQ*/GT1*——2個(gè)總線請求/同意信號(hào)第50頁/共97頁最大組態(tài)的總線形成系統(tǒng)總線信號(hào)MEMR*MEMW*IOR*IOW*INTA*DMA應(yīng)答電路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ū)動(dòng)⑶系統(tǒng)控制總線主要由總線控制器8288形成MEMR*、MEMW*、IOR*、IOW*、INTA*第51頁/共97頁(1)20位地址總線的形成采用3個(gè)8282進(jìn)行鎖存和驅(qū)動(dòng)Intel8282是三態(tài)透明鎖存器,類似有Intel8283和通用數(shù)字集成電路芯片373三態(tài)輸出:輸出控制信號(hào)有效時(shí),允許數(shù)據(jù)輸出;無效時(shí),不允許數(shù)據(jù)輸出,呈高阻狀態(tài)透明:鎖存器的輸出能夠跟隨輸入變化
有問題!三態(tài)鎖存第52頁/共97頁補(bǔ)充:三態(tài)門和D觸發(fā)器三態(tài)門和以D觸發(fā)器形成的鎖存器是微機(jī)接口電路中最常使用的兩類邏輯電路三態(tài)門:功率放大、導(dǎo)通開關(guān)器件共用總線時(shí),一般使用三態(tài)電路:需要使用總線的時(shí)候打開三態(tài)門;不使用的時(shí)候關(guān)閉三態(tài)門,使之處于高阻D觸發(fā)器:信號(hào)保持,也可用作導(dǎo)通開關(guān)第53頁/共97頁D觸發(fā)器DQCQ電平鎖存DQCQ上升沿鎖存電平鎖存:高電平通過,低電平鎖存上升沿鎖存:通常用負(fù)脈沖觸發(fā)鎖存負(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為低平時(shí):輸出為高阻抗(三態(tài))T為高電平時(shí):輸出為輸入的反相TAF表示反相或低電平有效TAFTAFTAF第58頁/共97頁74LS244雙4位單向緩沖器分成4位的兩組每組的控制端連接在一起控制端低電平有效輸出與輸入同相第59頁/共97頁雙向三態(tài)緩沖器三態(tài)門具有雙向?qū)ê腿龖B(tài)的特性ABTOE*OE*=0,導(dǎo)通
T=1A→BT=0A←BOE*=1,不導(dǎo)通第60頁/共97頁Intel82868位雙向緩沖器控制端連接在一起,低電平有效可以雙向?qū)ㄝ敵雠c輸入同相OE*=0,導(dǎo)通
T=1A→BT=0A←BOE*=1,不導(dǎo)通第61頁/共97頁74LS2458位雙向緩沖器控制端連接在一起,低電平有效可以雙向?qū)ㄝ敵雠c輸入同相E*=0,導(dǎo)通
DIR=1A→BDIR=0A←BE*=1,不導(dǎo)通第62頁/共97頁(2)8位數(shù)據(jù)總線的形成采用數(shù)據(jù)收發(fā)器8286進(jìn)行雙向驅(qū)動(dòng)
Intel8286是8位三態(tài)雙向緩沖器,類似功能的器件還有Intel8287、通用數(shù)字集成電路245等另外,接口電路中也經(jīng)常使用三態(tài)單向緩沖器,例如通用數(shù)字集成電路244就是一個(gè)常用的雙4位三態(tài)單向緩沖器第63頁/共97頁(3)系統(tǒng)控制信號(hào)的形成由8088引腳直接提供因?yàn)榛镜目刂菩盘?hào)8088引腳中都含有例如:IO/M*、WR*、RD*等其它信號(hào)的情況看詳圖其它第64頁/共97頁1.存儲(chǔ)器的分段結(jié)構(gòu)8088有20條地址線,最大可尋址空間為220=1MB,可尋址的地址范圍為00000H~FFFFFH該地址稱物理地址硬件用20位的物理地址來對(duì)存儲(chǔ)單元進(jìn)行尋址2.4.2存儲(chǔ)器的分段結(jié)構(gòu)和物理地址的形成第65頁/共97頁存儲(chǔ)器的分段管理由于8088中的地址寄存器都是16位的,用戶不能直接使用20位的物理地址,編程時(shí)需要使用邏輯地址來尋址存儲(chǔ)單元。邏輯地址由兩個(gè)16位數(shù)構(gòu)成,其形式為:
段的起始地址:
段內(nèi)的偏移地址(16位段地址)
:(16位偏移量)
第66頁/共97頁存儲(chǔ)器的分段管理8088將存儲(chǔ)空間分為多個(gè)邏輯段(段——Segment)來進(jìn)行管理,要求:段的20位的起始地址(xxxxxH)其低4位必須為0(xxxx0H),所以可以將它們省略,然后用1個(gè)16位數(shù)來表示表示段的首地址。每段長度限216=64KB,所以段內(nèi)偏移地址可以用1個(gè)16位數(shù)來表示(xxxxH);所以有:
段的起始地址:段內(nèi)的偏移地址(16位段地址):(16位偏移量)第67頁/共97頁存儲(chǔ)器的分段管理邏輯地址的表示——段地址:偏移地址地址偏移量(xxxxH)段首(xxxx0H)低址段尾某邏輯段64KB某尋址單元第68頁/共97頁存儲(chǔ)器的分段管理1MB最多可分為16個(gè)不重迭的段。實(shí)際上,兩個(gè)不同的邏輯段可以交疊,或者完全重疊。一個(gè)存儲(chǔ)單元可以擁有多個(gè)邏輯地址,但只可能擁有一個(gè)唯一的物理地址。例如:物理地址:00200H
邏輯地址:0000H:0200H
邏輯地址:0020H:0000H第69頁/共97頁物理地址和邏輯地址每個(gè)存儲(chǔ)單元都有一個(gè)唯一物理地址(00000H~FFFFFH),20位,該地址在指令執(zhí)行時(shí)由地址加法器形成,并進(jìn)行硬件尋址。地址加法器的具體做法:段地址左移4位,然后加上偏移地址就得到20位物理地址。用戶編程時(shí)采用邏輯地址,其形式為:段的首地址:段內(nèi)偏移地址 它們由兩個(gè)16位的無符號(hào)數(shù)構(gòu)成。邏輯地址“1460H:100H”=物理地址14700H第70頁/共97頁數(shù)據(jù)的存儲(chǔ)格式計(jì)算機(jī)中信息的單位有:位(bit)、字節(jié)(byte)、字(word)、雙字(doubleword)等在存儲(chǔ)器中,信息的存儲(chǔ)單元是:字節(jié)80x86微處理器對(duì)多字節(jié)數(shù)據(jù)采用:小端方式(littleendian)存儲(chǔ)的數(shù)據(jù)如果對(duì)齊邊界,則存取速度較快第71頁/共97頁8086的存儲(chǔ)格式第72頁/共97頁信息的表示單位位bit:存儲(chǔ)一位二進(jìn)制數(shù):0或1。字節(jié)Byte: 8位二進(jìn)制,
D7~D0。字Word: 16位/2個(gè)字節(jié), D15~D0。雙字Double:32位/4個(gè)字節(jié),
D31~D0。最低有效位LSB(LeastSignificantBit):指數(shù)據(jù)的最低位,即D0位;最高有效位MSB(MostSignificantBit):指數(shù)據(jù)的最高位,對(duì)應(yīng)字節(jié)、字、雙字分別指D7、D15、D31位。第73頁/共97頁存儲(chǔ)單元及其存儲(chǔ)內(nèi)容每個(gè)存儲(chǔ)單元都有一個(gè)編號(hào)——存儲(chǔ)器地址每個(gè)存儲(chǔ)單元存放一個(gè)字節(jié)的內(nèi)容例如:0002H單元存放有一個(gè)數(shù)據(jù)34H[0002H]=34H第74頁/共97頁小端方式多字節(jié)數(shù)據(jù)在存儲(chǔ)器中占據(jù)多個(gè)連續(xù)的存儲(chǔ)單元:存放時(shí),低字節(jié)存于低地址,高字節(jié)存于高地址;多字節(jié)數(shù)據(jù)占據(jù)的地址空間用它的低地址來表示。例如:2號(hào)“字”單元: [0002H]=1234H 2號(hào)“雙字”單元: [0002H]=78561234H80x86處理器的“低對(duì)低、高對(duì)高”的存儲(chǔ)形式,被稱為“小端方式”;相對(duì)應(yīng)還存在“大端方式(bigendian)”。第75頁/共97頁數(shù)據(jù)的地址對(duì)齊同一個(gè)存儲(chǔ)器地址可以表示為:字節(jié)單元地址、字單元地址、雙字單元地址等等(視指令的具體情況)。 如 movwordptr[2000H],10H movbyteptr[2000H],10H將字單元安排在偶地址(xx……….xx0B),將雙字單元安排在模4地址(xx………xx00B)的做法,被稱為“地址對(duì)齊(Align)”。對(duì)于地址不對(duì)齊的數(shù)據(jù),處理器訪問時(shí),需要付出額外的訪問時(shí)間。要取得較高的存取速度,應(yīng)該將數(shù)據(jù)的地址對(duì)齊。第76頁/共97頁2.58086微處理器的時(shí)序時(shí)序(Timing)是指信號(hào)高低電平(有效或無效)變化及相互間的時(shí)間順序關(guān)系。總線時(shí)序描述CPU引腳如何實(shí)現(xiàn)總線操作CPU時(shí)序決定系統(tǒng)各部件間的同步和定時(shí)什么是總線操作?第77頁/共97頁8086微處理器的時(shí)序(續(xù)1)總線操作是指CPU通過總線對(duì)外的各種操作8088的總線操作主要有:存儲(chǔ)器讀、I/O讀操作存儲(chǔ)器寫、I/O寫操作中斷響應(yīng)操作總線請求及響應(yīng)操作CPU正在進(jìn)行內(nèi)部操作、并不進(jìn)行實(shí)際對(duì)外操作的空閑狀態(tài)Ti什么是總線周期?第78頁/共97頁8086微處理器的時(shí)序(續(xù)2)總線周期是指CPU通過總線操作與外部(存儲(chǔ)器或I/O端口)進(jìn)行一次數(shù)據(jù)交換的過程指令周期是指一條指令經(jīng)取指、譯碼、讀寫操作數(shù)到執(zhí)行完成的過程8088的基本總線周期需要4個(gè)時(shí)鐘周期,4個(gè)時(shí)鐘周期編號(hào)為T1、T2、T3和T4總線周期中的時(shí)鐘周期也被稱作“T狀態(tài)”
時(shí)鐘周期的時(shí)間長度就是時(shí)鐘頻率的倒數(shù)當(dāng)需要延長總線周期時(shí)需要插入等待狀態(tài)Tw何時(shí)有總線周期?演示第79頁/共97頁8086微處理器的時(shí)序(續(xù)3)任何指令的取指階段都需要存儲(chǔ)器讀總線周期,讀取的內(nèi)容是指令代碼任何一條以存儲(chǔ)單元為源操作數(shù)的指令都將引起存儲(chǔ)器讀總線周期,任何一條以存儲(chǔ)單元為目的操作數(shù)的指令都將引起存儲(chǔ)器寫總線周期只有執(zhí)行IN指令才出現(xiàn)I/O讀總線周期,執(zhí)行OUT指令才出現(xiàn)I/O寫總線周期CPU響應(yīng)可屏蔽中斷時(shí)生成中斷響應(yīng)總線周期如何實(shí)現(xiàn)同步?第80頁/共97頁8086微處理器的時(shí)序(續(xù)4)總線操作中如何實(shí)現(xiàn)時(shí)序同步是關(guān)鍵CPU總線周期采用同步時(shí)序:各部件都以系統(tǒng)時(shí)鐘信號(hào)為基準(zhǔn)當(dāng)相互不能配合時(shí),快速部件(CPU)插入等待狀態(tài)等待慢速部件(I/O和存儲(chǔ)器)CPU與外設(shè)接口常采用異步時(shí)序,它們通過應(yīng)答聯(lián)絡(luò)信號(hào)實(shí)現(xiàn)同步操作第81頁/共97頁最小組態(tài)的總線時(shí)序本節(jié)展開微處理器最基本的4種總線周期存儲(chǔ)器讀總線周期存儲(chǔ)器寫總線周期I/O讀總線周期I/O寫總線周期第82頁/共97頁存儲(chǔ)器寫總線周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0輸出數(shù)據(jù)A19~A16S6~S3READY(高電平)IO/M*WR*T1狀態(tài)——輸出20位存儲(chǔ)器地址A19~A0IO/M*輸出低電平,表示存儲(chǔ)器操作;ALE輸出正脈沖,表示復(fù)用總線輸出地址T2狀態(tài)——輸出控制信號(hào)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輸出正脈沖,表示復(fù)用總線輸出地址T2狀態(tài)——輸出控制信號(hào)WR*和數(shù)據(jù)D7~D0T3和Tw狀態(tài)——檢測數(shù)據(jù)傳送是否能夠完成T4狀態(tài)——完成數(shù)據(jù)傳送第84頁/共97頁存儲(chǔ)器讀總線周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0輸入數(shù)據(jù)A19~A16S6~S3READY(高電平)IO/M*RD*T1狀態(tài)——輸出20位存儲(chǔ)器地址A19~A0IO/M*輸出低電平,表示存儲(chǔ)器操作;ALE輸出正脈沖,表示復(fù)用總線輸出地址T2狀態(tài)——輸出控制信號(hào)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)容里面會(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 衛(wèi)生用品產(chǎn)品生命周期管理考核試卷
- 班級(jí)主題探索與實(shí)踐活動(dòng)計(jì)劃
- 社交媒體在傳播肥胖與胃腸健康知識(shí)中的作用
- 聲學(xué)器件的散熱設(shè)計(jì)與熱管理考核試卷
- 租賃獨(dú)家合同范本
- 職場晉升的計(jì)劃與準(zhǔn)備
- 2025年01月廣東深圳大學(xué)醫(yī)學(xué)部科研創(chuàng)新共享平臺(tái)公開招聘專職研究人員(輔助管理人員)1人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解-1
- 2024-2025學(xué)年高中數(shù)學(xué)第二章基本初等函數(shù)Ⅰ2.2.1指數(shù)函數(shù)及其性質(zhì)第1課時(shí)對(duì)數(shù)練習(xí)含解析新人教A版必修1
- 圖書借閱員的工作計(jì)劃
- 床上用品企業(yè)品牌推廣與市場拓展考核試卷
- 借哪吒精神燃開學(xué)斗志 開學(xué)主題班會(huì)課件
- 2025年初中主題班會(huì)課件:好習(xí)慣成就好人生
- 學(xué)校教職工代表大會(huì)全套會(huì)議會(huì)務(wù)資料匯編
- 新部編版小學(xué)六年級(jí)下冊語文第二單元測試卷及答案
- 2025年山東傳媒職業(yè)學(xué)院高職單招高職單招英語2016-2024歷年頻考點(diǎn)試題含答案解析
- 《中醫(yī)基礎(chǔ)理論》課件-中醫(yī)學(xué)理論體系的基本特點(diǎn)-整體觀念
- 2025年廣東省深圳法院招聘書記員招聘144人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年人教版新教材數(shù)學(xué)一年級(jí)下冊教學(xué)計(jì)劃(含進(jìn)度表)
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 2025年春西師版一年級(jí)下冊數(shù)學(xué)教學(xué)計(jì)劃
- 一年級(jí)家長會(huì)課件2024-2025學(xué)年
評(píng)論
0/150
提交評(píng)論