![微機(jī)原理第4章_第1頁](http://file4.renrendoc.com/view/da9a489a2ac65783e0bbbbd1c207be8c/da9a489a2ac65783e0bbbbd1c207be8c1.gif)
![微機(jī)原理第4章_第2頁](http://file4.renrendoc.com/view/da9a489a2ac65783e0bbbbd1c207be8c/da9a489a2ac65783e0bbbbd1c207be8c2.gif)
![微機(jī)原理第4章_第3頁](http://file4.renrendoc.com/view/da9a489a2ac65783e0bbbbd1c207be8c/da9a489a2ac65783e0bbbbd1c207be8c3.gif)
![微機(jī)原理第4章_第4頁](http://file4.renrendoc.com/view/da9a489a2ac65783e0bbbbd1c207be8c/da9a489a2ac65783e0bbbbd1c207be8c4.gif)
![微機(jī)原理第4章_第5頁](http://file4.renrendoc.com/view/da9a489a2ac65783e0bbbbd1c207be8c/da9a489a2ac65783e0bbbbd1c207be8c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第4章16位微處理器教學(xué)提示:盡管微處理器已進(jìn)入了Pentium時(shí)代,其內(nèi)部結(jié)構(gòu)和性能也發(fā)生了巨大的變化,但其基本結(jié)構(gòu)仍然和早期的8086/8088相似,可以說8086/8088是80X86系列芯片的基礎(chǔ)。在本章中,我們就以8086/8088為例介紹微處理器的總體結(jié)構(gòu)。教學(xué)要求:通過本章學(xué)習(xí),使讀者了解8086/8088微處理器的內(nèi)部結(jié)構(gòu)、引腳和工作方式、存儲(chǔ)器組織和工作時(shí)序。第一代微處理器:1971年Intel公司推出的4040和8008。它們是采用PMOS工藝的4位及8位微處理器,集成度達(dá)到2,000個(gè)晶體管/片。第二代微處理器:1974年推出的8080,M6800及Z-80等。它們是采用NMOS工藝的8位微處理器,集成度達(dá)到9,000個(gè)晶體管/片。第三代微處理器:20世紀(jì)70年代后期至80年代中期Intel公司的8086/8088、80186/80286,Motorola公司的M68000和Zilog公司的Z8000等16位微處理器相繼問世,它們的運(yùn)算速度比8位微處理器快2~5倍,采用HMOS高密度工藝,集成度達(dá)29000個(gè)晶體管/片。第四代微處理器:1985年推出的微處理器80386、M68020、80586以及Pentium系列,集成度達(dá)45萬個(gè)晶體管/片以上。它們是32位微處理器。4.116位微處理器概述
微處理器(microprocessor)是微型計(jì)算機(jī)的運(yùn)算及控制部件,也稱中央處理單元(CPU)。它本身不構(gòu)成獨(dú)立的工作系統(tǒng),因而它也不能獨(dú)立地執(zhí)行程序。通常,微處理器由算術(shù)邏輯部件(ALU)、控制部件、寄存器組和片內(nèi)總線等幾部分組成。8086/8088的異同點(diǎn):相同點(diǎn):
CPU的內(nèi)部基本相同,都采用16位字進(jìn)行操作及存儲(chǔ)器尋址,兩者的軟件完全兼容,程序的執(zhí)行也完全相同。兩種微處理器都封裝在相同的40腳雙列直插組件(DIP)中。同異點(diǎn):8086和8088的外部性能有區(qū)別。8086是16位數(shù)據(jù)總線,而8088是8位數(shù)據(jù)總線,在處理一個(gè)16位數(shù)據(jù)字時(shí),8088需要兩步操作而8086只需要一步。4.28086/8088CPU的結(jié)構(gòu)
8086CPU內(nèi)部結(jié)構(gòu)分成兩部分:總線接口部件BIU(businterfaceunit
):
總線接口單元BIU,負(fù)責(zé)控制存貯器讀寫。執(zhí)行部件EU(executionunit
):
執(zhí)行單元EU從指令隊(duì)列中取出指令并執(zhí)行。特點(diǎn):
取指部分和執(zhí)行指令部分分開進(jìn)行,提高了速度。外部總線內(nèi)部暫存器
IP
ES
SSDSCS輸入/輸出控制電路執(zhí)行部分控制電路123456∑ALU標(biāo)志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令隊(duì)列緩沖器執(zhí)行部件(EU)總線接口部件(BIU)16位20位16位8位8086/8088的指令執(zhí)行過程返回執(zhí)行部件總線接口部件通用寄存器四個(gè)專用寄存器SP:堆棧指針,其內(nèi)容與堆棧段寄存器SS的內(nèi)容一起,提供堆棧操作地址。
BP:基址指針:構(gòu)成段內(nèi)偏移地址的一部分.
SI:(SourceIndex):SI含有源地址意思,產(chǎn)生有效地址或?qū)嶋H地址的偏移量。
DI:(DestinationIndex):DI含有目的意思,
產(chǎn)生有效地址或?qū)嶋H地址的偏移量。算術(shù)邏輯單元ALU:主要是加法器。大部分指令的執(zhí)行由加法器完成。標(biāo)志寄存器:16位字利用了9位。標(biāo)志分兩類:狀態(tài)標(biāo)志(6位):反映剛剛完成的操作結(jié)果情況??刂茦?biāo)志(3位):在某些指令操作中起控制作用。20位地址加法器四個(gè)段寄存器:CS、DS、SS、ESCS管理代碼段;DS管理數(shù)據(jù)段SS管理堆棧段;ES管理附加段.16位的指令指針寄存器IP:IP中的內(nèi)容是下一條指令對現(xiàn)行代碼段基地址的偏移量,6字節(jié)的指令隊(duì)列指令隊(duì)列共六字節(jié),總線接口部件BIU從內(nèi)存取指令,取來的總是放在指令隊(duì)列中;執(zhí)行部件EU從指令隊(duì)列取指令,并執(zhí)行。4.2.1執(zhí)行部件EU
EU功能:(1)從BIU的指令隊(duì)列緩沖器中取出指令,由EU控制器的指令譯碼器譯碼產(chǎn)生相應(yīng)的操作控制信號給各部件;(2)對操作數(shù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算,并將運(yùn)算結(jié)果的狀態(tài)特征保存到標(biāo)志(或狀態(tài))寄存器FR中;(3)EU不直接與CPU外部系統(tǒng)相連,當(dāng)需要與主存儲(chǔ)器或I/O設(shè)備交換數(shù)據(jù)時(shí),EU向BIU發(fā)出命令,并提供給BIU16位有效地址及所需傳送的數(shù)據(jù)。EU的組成:(1)4個(gè)通用寄存器,即AX,BX,CX,DX;(2)4個(gè)專用寄存器,即基數(shù)指針寄存器BP,堆棧指針寄存器
SP,源變址寄存器SI,目的變址寄存器DI;(3)標(biāo)志寄存器(FR);(4)算術(shù)邏輯部件(ALU)。(1)四個(gè)16位的通用數(shù)據(jù)寄存器:通用數(shù)據(jù)寄存器AX,BX,CX,DX,既可以作16位寄存器使用,也可以分成高、低8位分別作兩個(gè)8位寄存器使用。16位8位8位
AX→AHAL
BX→
BH
BL
CX→CHCL
DX→DHDL數(shù)據(jù)寄存器特有的習(xí)慣用法AX-累加器:所有I/O指令都通過AX與接口傳送信息,中間運(yùn)算結(jié)果也多放于AX中。BX-基址寄存器:在間接尋址中用于存放基地址。CX-計(jì)數(shù)寄存器:用于在循環(huán)或串操作指令中存放計(jì)數(shù)值。DX-數(shù)據(jù)寄存器:在間接尋址的I/O指令中存放I/O
端口地址;在32位乘除法運(yùn)算時(shí),存放高16位數(shù)。(2)四個(gè)專用寄存器二個(gè)指針寄存器:
SP-堆棧指針:其內(nèi)容與堆棧段寄存器SS的內(nèi)容相加,提供堆棧操作地址。
BP-基址指針:構(gòu)成數(shù)據(jù)段內(nèi)偏移地址的一部分。二個(gè)變址寄存器:
SI-源變址寄存器:SI含有源地址意思,產(chǎn)生有效地址或?qū)嶋H地址的偏移量。
DI-目的變址寄存器:DI含有目的意思,產(chǎn)生有效地址或?qū)嶋H地址的偏移量。SP與BP在應(yīng)用上的區(qū)別:作為通用寄存器,二者均可用于存放數(shù)據(jù)。作為基址寄存器,用BP表示所尋找的數(shù)據(jù)在數(shù)據(jù)段;用SP則表示數(shù)據(jù)在堆棧段。堆棧及堆棧段的使用堆棧:內(nèi)存中一個(gè)特殊區(qū)域,用于存放暫時(shí)不用或需要保護(hù)的數(shù)據(jù)常用于響應(yīng)中斷或子程序調(diào)用。變址寄存器常用于指令的間接尋址或變址尋址。特別是在串操作指令中,用SI存放源操作數(shù)的偏移地址,而用DI存放目標(biāo)操作數(shù)的偏移地址。堆棧堆棧主要用于暫存數(shù)據(jù)和在過程調(diào)用或處理中斷時(shí)暫存斷點(diǎn)信息。
(1)堆棧的概念
堆棧是在存儲(chǔ)器中開辟的一片數(shù)據(jù)存儲(chǔ)區(qū),這片存儲(chǔ)區(qū)的一端固定,另一端活動(dòng),且只允許數(shù)據(jù)從活動(dòng)端進(jìn)出。采用“先進(jìn)后出”的規(guī)則
。(2)堆棧的組織堆棧指示器SP,他總是指向堆棧的棧頂,堆棧的伸展方向既可以從大地址向小地址,也可以從小地址向大地址。8086/8088的堆棧的伸展方向是從大地址向小地址。
(1)8086的堆棧及堆棧操作有以下特點(diǎn)
雙字節(jié)操作。即每次進(jìn)、出棧的數(shù)據(jù)均為兩字節(jié)。且高位字節(jié)對應(yīng)高地址,低位字節(jié)對應(yīng)低地址。無論是源操作數(shù)還是目的操作數(shù),也無論是存儲(chǔ)器操作數(shù)還是寄存器操作數(shù),都必須按這個(gè)原則執(zhí)行。
堆棧向低地址方向生成。數(shù)據(jù)每次進(jìn)棧時(shí)堆棧指針SP向低地址方向移動(dòng)(減2);反之,數(shù)據(jù)出棧時(shí),SP向高地址方向移動(dòng)(加2)(2)BP、BX都被稱為基址指針,但兩者用法不同。BP只能尋址堆棧段(段缺省),不允許段跨越;BX可以尋址數(shù)據(jù)段(段缺?。?,也可以尋址附加段(段跨越)。(3)由于大多數(shù)算術(shù)和邏輯運(yùn)算中又可以使用BP、SP和變址寄存器,因而也將這4個(gè)寄存器歸入通用寄存器組。使用中應(yīng)該注意這4個(gè)寄存器只能用于16位的存取操作特別說明
(3)算術(shù)邏輯單元ALU:
16位二進(jìn)制加法器。大部分指令的執(zhí)行由加法器完成。(4)標(biāo)志寄存器:存放運(yùn)算結(jié)果的特征。16位字利用了9位。
標(biāo)志分兩類:狀態(tài)標(biāo)志(6位):(CF,SF,AF,PF,OF,ZF)
反映剛剛完成的操作結(jié)果情況。操作在執(zhí)行后,決定算術(shù)邏輯部件ALU處在何種狀態(tài),這種狀態(tài)會(huì)影響后面的操作。控制標(biāo)志(3位):(IF,TF,DF)它是人為設(shè)置的,指令系統(tǒng)中有專門的指令用于控制標(biāo)志的設(shè)置和清除,每個(gè)控制標(biāo)志都對每一種特定的功能起控制作用。進(jìn)位標(biāo)志CF:
運(yùn)算結(jié)果有進(jìn)(加)借(減)位,CF=1,否則CF=0;奇偶校驗(yàn)標(biāo)志PF:結(jié)果低8位中1的個(gè)數(shù)為偶數(shù)時(shí),PF=1;否則PF=0輔助進(jìn)位標(biāo)志AF:當(dāng)b3向b4進(jìn)位或借位時(shí),AF=1;否則AF=0。零標(biāo)志ZF:
結(jié)果為零,ZF=1;否則CF=0;符號標(biāo)志SF:
與運(yùn)算結(jié)果的最高位相同;溢出標(biāo)志OF:帶符號數(shù)的運(yùn)算結(jié)果超出8位或16位數(shù)表達(dá)范圍時(shí),OF=1;否則OF=0。跟蹤標(biāo)志TF:
也稱陷阱標(biāo)志位,當(dāng)TF=1時(shí),CPU按單步跟蹤方式執(zhí)行指令,常用于程序的單步跟蹤調(diào)試。中斷允許標(biāo)志IF:
IF=1,允許CPU響應(yīng)可屏蔽中斷;
方向標(biāo)志DF:當(dāng)DF=1時(shí),串行操作指令為自動(dòng)減量指令(從高地址到低地址處理字符),否則串連操作指令為自動(dòng)增量指令。狀態(tài)標(biāo)志位控制標(biāo)志位D15D0OFDFIFTFSFZFAFPFCF進(jìn)借位標(biāo)志奇偶標(biāo)志半進(jìn)借位標(biāo)志零標(biāo)志符號標(biāo)志單步中斷中斷允許方向標(biāo)志溢出標(biāo)志1-有進(jìn)、借位0-無進(jìn)、借位1-低8位有偶數(shù)個(gè)10-低8位有奇數(shù)個(gè)11-低4位向高4位有進(jìn)、借位0-低4位向高4位無進(jìn)、借位1-結(jié)果為00-結(jié)果不為0例:將兩數(shù)相加,即01001100加01100101,CF、PF、AF、ZF、SF、OF各為何值?
01001100
+01100101
10110001
CF=0,PF=1,AF=1,ZF=0,SF=1,OF=18086/8088的EU有如下特點(diǎn):(1)4個(gè)通用寄存器既可以作為16位寄存器使用,也可以作為8位寄存器使用。(2)AX寄存器也常稱為累加器,8086指令系統(tǒng)中有許多指令都是通過累加器的動(dòng)作來執(zhí)行的。當(dāng)累加器作為16位來使用時(shí),可以進(jìn)行按字乘操作、按字除操作、按字輸入/輸出和其他字傳送等;當(dāng)累加器作為8位來使用時(shí),可以實(shí)現(xiàn)按字節(jié)乘操作、按字節(jié)除操作、按字節(jié)輸入/輸出和其他字節(jié)傳送,以及十進(jìn)制運(yùn)算等。(3)加法器是算術(shù)邏輯的主要部件,絕大部分指令的執(zhí)行都由加法器來完成。(4)標(biāo)志寄存器FR共有16位,其中7位未用。4.2.2總線接口部件BIU總線接口部件BIU的功能:
控制存儲(chǔ)器IO與CPU的信息傳送。(1)BIU從主存取指令送到指令隊(duì)列緩沖器。(2)CPU執(zhí)行指令時(shí),總線接口單元要配合EU從指定的主存單元或外設(shè)端口中取數(shù)據(jù),將數(shù)據(jù)傳送給EU或把EU
的操作結(jié)果傳送到指定的主存單元或外設(shè)端口中。(3)計(jì)算并形成訪問存儲(chǔ)器的20位物理地址。總線接口部件BIU的組成:(1)4個(gè)段地址寄存器:用于存放相應(yīng)邏輯段的段基地址。
CS-16位的代碼段寄存器,管理程序段。
DS-16位的數(shù)據(jù)段寄存器,管理數(shù)據(jù)段。
ES-16位的擴(kuò)展段(附加段)寄存器,管理擴(kuò)展段。
SS-16位的堆棧段寄存器,管理堆棧段。(2)16位指令指針寄存器IP(PC)。(3)20位的地址加法器。(4)六字節(jié)的指令隊(duì)列緩沖器。(1)四個(gè)段寄存器:(CS.DS.SS.SS)
由于8086訪問內(nèi)存要20位地址(1MB),而執(zhí)行單元EU中所有寄存器和數(shù)據(jù)通道均為16位,只能提供16位地址。
由四個(gè)段寄存器的某個(gè)段地址或地址偏移,通過地址加法器,形成20位物理地址。①執(zhí)行單元中各寄存器均為16位,只能尋址216=64KB,利用段寄存器,可以擴(kuò)大尋址空間為220=1MB。②段寄存器為信息按特征分段存貯帶來方便.物理地址=16d
段地址(基址)+偏移地址(2)16位的指令指針寄存器IP:
IP中的內(nèi)容是下一條指令對現(xiàn)行代碼段基地址的偏移量,與段寄存器CS的內(nèi)容相加,形成取指令的物理地址。(3)20位地址加法器
IP中的內(nèi)容是下一條指令對現(xiàn)行代碼段基地址的偏移量,與段寄存器CS的內(nèi)容相加,形成取指令的物理地址。例:CS=A000H,代碼段可尋址的空間?
CS左移四位:A0000HIP的內(nèi)容:0000H~FFFFH物理地址:A0000H~AFFFFH例如:段基地址=6000H段首地址偏移地址物理地址代碼段60009H00H12H60000H0009H(4)6字節(jié)的指令隊(duì)列
8086指令隊(duì)列共六字節(jié),8088指令隊(duì)列共四字節(jié)??偩€接口部件BIU從內(nèi)存取指令,取來的總是放在指令隊(duì)列中,執(zhí)行部件EU從指令隊(duì)列取指令并執(zhí)行。取指令和執(zhí)行指令是可以在時(shí)間上重疊的,即BIU和EU的操作是完全不同步的。利用指令隊(duì)列可提高CPU的效率,降低對存儲(chǔ)器存取速度的要求。BIU取指并存入指令隊(duì)列緩沖器中以后:①如果EU沒有要求對存儲(chǔ)器或I/O進(jìn)行操作,此時(shí)如果指令隊(duì)列緩沖器不滿,BIU總是從存儲(chǔ)器取后續(xù)的指令,并存入隊(duì)列中;此時(shí)如果指令隊(duì)列緩沖器是滿的,BIU進(jìn)入空閑狀態(tài);②如果EU有要求對存儲(chǔ)器或I/O進(jìn)行操作,BIU在下一個(gè)周期執(zhí)行EU所要求的存儲(chǔ)器或I/O操作。在執(zhí)行轉(zhuǎn)移、調(diào)用、返回指令時(shí),指令隊(duì)列的內(nèi)容將被清除。4.2.3存儲(chǔ)器結(jié)構(gòu)8086的存儲(chǔ)器組織與I/O組織
8086/8088系統(tǒng)中存儲(chǔ)器按字節(jié)編址,可尋址的存儲(chǔ)器空間為1MB,由于1MB為220,因此每個(gè)字節(jié)所對應(yīng)的地址應(yīng)是20位(二進(jìn)制數(shù)),這20位的地址稱為物理地址。
1.存儲(chǔ)器的分段
20位的物理地址在CPU內(nèi)部就應(yīng)有20位的地址寄存器,而機(jī)內(nèi)的寄存器是16位的(16位機(jī)),16位寄存器只能尋址64KB。8086/8088系統(tǒng)中把1M存儲(chǔ)空間分成若干個(gè)邏輯段,每個(gè)邏輯段容量≤64KB,因此1M的存儲(chǔ)空間可分成16個(gè)邏輯段(0~15)。允許它們在整個(gè)存儲(chǔ)空間浮動(dòng),即段與段之間可以部分重疊、完全重疊、連續(xù)排列、斷續(xù)排列,非常靈活。在整個(gè)存儲(chǔ)空間中可設(shè)置若干個(gè)邏輯段,如圖4.2所示。對于任何一個(gè)物理地址,可以惟一地被包含在一個(gè)邏輯段中,也可包含在多個(gè)相互重疊的邏輯段中,只要有段地址和段內(nèi)偏移地址就可以訪問到這個(gè)物理地址所對應(yīng)的存儲(chǔ)空間,如圖4.3所示。
所謂存儲(chǔ)器分段技術(shù)就是把1MB空間分成若干邏輯段,每個(gè)邏輯段的容量≤64KB。段內(nèi)地址是連續(xù)的,段與段之間是互相獨(dú)立的。邏輯段可以在整個(gè)存儲(chǔ)空間浮動(dòng),即段的排列可以連續(xù)、分開、部分重疊或完全重疊,非常靈活。這里所謂的重疊是指存儲(chǔ)單元可以分屬于不同的邏輯段。圖4.2圖4.3
在8086/8088存儲(chǔ)空間中,把16字節(jié)的存儲(chǔ)空間稱作一節(jié)(paragraph)。為了簡化操作,要求各個(gè)邏輯段從節(jié)的整數(shù)邊界開始,也就是說段首地址低4位應(yīng)該是“0”,因此就把段首地址的高16位稱為“段基址”,存放在段寄存器DS或CS或SS或ES中,段內(nèi)的偏移地址存放在IP或SP中。若已知當(dāng)前有效的代碼段、數(shù)據(jù)段、附加段和堆棧段的段基址分別為1055H,250AH,8FFBH和EFF0H,那么它們在存儲(chǔ)器中的分布情況如圖4.4所示。A段B段C段D段E段40000H50000H60000H70000H連續(xù)排列部分重疊完全重疊圖4.4
段的分配:存儲(chǔ)器0150H1CDOH4200HB000H64K代碼64K堆棧64K數(shù)據(jù)64K附加CSSSDSES2.存儲(chǔ)器中的邏輯地址和物理地址任何一個(gè)20位物理地址,也稱為絕對地址,都是由兩部分組成。采用分段結(jié)構(gòu)的存儲(chǔ)器中,任何一個(gè)邏輯地址由段基址和偏移地址兩個(gè)部分構(gòu)成,它們都是無符號的16位二進(jìn)制數(shù)。任何一個(gè)存儲(chǔ)單元對應(yīng)一個(gè)20位的物理地址,也可稱為絕對地址,它是由邏輯地址變換得來的。當(dāng)CPU需要訪問存儲(chǔ)器時(shí),必須完成如下的地址運(yùn)算:物理地址=段基址×16+偏移地址物理地址的形成如圖所示,它是通過CPU的總線接口部件BIU的地址加法器來實(shí)現(xiàn)的。
∑偏移地址段基址地址加法器物理地址段寄存器15150190
3、8086CPU的存儲(chǔ)器接口
1MB空間分為兩個(gè)512KB的存儲(chǔ)體:偶地址存儲(chǔ)體:連接D7~D0,A0=0時(shí)選通;奇地址存儲(chǔ)體:連接D15~D8,BHE=0時(shí)選通。
8086可以傳送一個(gè)字節(jié),也可以傳送二個(gè)字節(jié)(一個(gè)字)。SELA19~A1
高8位
5128D7~D0SELA19~A1
低8位
5128D7~D0A19~A1A0BHED15~D8D7~D08086與存儲(chǔ)器連接4、8086的I/O組織8086允許64K(65535個(gè))個(gè)I/O端口;兩個(gè)相鄰8位端口可組合成一個(gè)16位端口;CPU執(zhí)行訪問I/O端口的指令時(shí),產(chǎn)生有效的RD信號或WR信號,同時(shí),M/IO=0,通過外部電路組合成對I/O端口的讀寫信號。統(tǒng)一編址這種編址方式是將I/O端口和存儲(chǔ)單元統(tǒng)一編址,即把I/O端口置于存儲(chǔ)器空間,也看作是存儲(chǔ)單元。因此,存儲(chǔ)器的各種尋址方式均可用來尋址I/O端口。在這種方式下I/O端口操作功能強(qiáng),使用起來也很靈活,I/O接口與CPU的連接和存儲(chǔ)器與CPU的連接相似。但是I/O端口占用了一定的存儲(chǔ)空間,而且執(zhí)行I/O操作時(shí),因地址位數(shù)長,速度較慢。獨(dú)立編址這種編址方法是將I/O端口進(jìn)行獨(dú)立編址,I/O端口空間與存儲(chǔ)器空間相互獨(dú)立。這就需要設(shè)置專門的輸入、輸出指令對I/O端口進(jìn)行操作。8086系統(tǒng)采用的就是這種獨(dú)立的I/O編址方式。端口地址說明8086使用A15~A0這16根地址線作為I/O端口地址線,可訪問端口最多可達(dá)64K個(gè)8位端口或32K個(gè)16位端口。和存儲(chǔ)器的字單元一樣,對于奇地址的16位端口的訪問,要進(jìn)行兩次操作才能完成。16位的I/O端口地址無需經(jīng)過地址加法器產(chǎn)生,因而不使用段寄存器。從AB總線上發(fā)出的端口地址仍為20位,只不過最高四位A19~A16為0。4.2.48086總線的工作周期
在微機(jī)系統(tǒng)中,CPU是在時(shí)鐘信號CLK控制下,按節(jié)拍有序地執(zhí)行指令序列。從取指令開始,經(jīng)過分析指令、對操作數(shù)尋址,然后執(zhí)行指令、保存操作結(jié)果,這個(gè)過程稱為指令執(zhí)行周期。
指令周期:執(zhí)行一條指令所需要的時(shí)間。
總線周期(機(jī)器周期):CPU通過總線與存儲(chǔ)器或I/O接口進(jìn)行一次數(shù)據(jù)傳輸所需的時(shí)間,一個(gè)最基本的總線周期為4個(gè)T狀態(tài),即T1、T2、T3、T4。一般為T1、T2、T3、(TW)、T4。
T狀態(tài)(時(shí)鐘周期):CPU處理動(dòng)作的最小單位,CPU的基本時(shí)間單位,一個(gè)基本時(shí)鐘又稱T狀態(tài)。
TW狀態(tài):在存儲(chǔ)器和外設(shè)速度較慢時(shí),要在T3之后插入一個(gè)或幾個(gè)等待周期Tw,以使其在數(shù)據(jù)傳送時(shí)能與CPU同步。T3狀態(tài):AD0~AD15上出現(xiàn)數(shù)據(jù)。TW狀態(tài):若存儲(chǔ)器式外設(shè)的工作速度較慢,不能滿足基本時(shí)序要求,使用一個(gè)產(chǎn)生READY的電路,以使在T3狀態(tài)之后,插入一個(gè)等待周期TW。T4狀態(tài):結(jié)束一個(gè)總線周期。T1狀態(tài):CPU往復(fù)用總線A19—A0上發(fā)出地址信息,出現(xiàn)ALE信號后,將地址鎖存到地址鎖存器(8282)。以指出要尋址的存儲(chǔ)單元或外設(shè)端口的地址。T2狀態(tài):
CPU從總線上撤消地址,而使總線的低16位浮置成高阻狀態(tài),為傳輸數(shù)據(jù)做準(zhǔn)備??偩€最高四位(A16~A19)用來輸出本總線周期狀態(tài)信息(S6~S3)。這些狀態(tài)信息用來表示中斷允許狀態(tài),當(dāng)前正在使用的段寄存器名等。T3狀態(tài):多路總線的高4位繼續(xù)提供狀態(tài)信息,而多路總線的低16位(8088則為低8位)上出現(xiàn)由CPU寫出的數(shù)據(jù)或者CPU從存儲(chǔ)器或端口讀入的數(shù)據(jù)。TW狀態(tài):在有些情況下,被寫入數(shù)據(jù)或者被讀取數(shù)據(jù)的外設(shè)或存儲(chǔ)器不能及時(shí)地配合CPU傳送數(shù)據(jù)。這時(shí),外設(shè)或存儲(chǔ)器會(huì)通過“READY”信號線在T3狀態(tài)啟動(dòng)之前,向CPU發(fā)一個(gè)“數(shù)據(jù)未準(zhǔn)備好”信號,于是CPU會(huì)在T3之后插入一個(gè)或多個(gè)附加的時(shí)鐘周期TW,TW也叫等待狀態(tài)。在TW狀態(tài),總線上的信息情況和T3狀態(tài)的信息情況一樣。T4狀態(tài):當(dāng)指定的存儲(chǔ)器或外設(shè)完成數(shù)據(jù)傳送時(shí),便在“READY”線上發(fā)出“準(zhǔn)備好”信號,CPU接收到這一信號后,會(huì)自動(dòng)脫離TW狀態(tài)而進(jìn)入T4狀態(tài)。Ti狀態(tài):只有在CPU和內(nèi)存或I/O接口之間傳輸數(shù)據(jù),以及填充指令隊(duì)列時(shí),CPU才執(zhí)行總線周期。如果在一個(gè)總線周期之后,不立即執(zhí)行下一個(gè)總線周期,那么系統(tǒng)總線就處在空閑狀態(tài),此時(shí),執(zhí)行空閑周期Ti
。說明:
當(dāng)CPU不執(zhí)行總線周期時(shí),總線接口部件不與總線打交道,進(jìn)入總線空閑周期。此時(shí),CPU內(nèi)部指令隊(duì)列已滿,且EU單元正在進(jìn)行有效的內(nèi)部操作。所以說,總線空操作是總線接口部件對執(zhí)行部件的等待狀態(tài)??偩€空閑周期由一系列T1構(gòu)成,基本維持前一總線周期時(shí)的狀態(tài)。如果前一個(gè)總線周期為寫周期,AD15~AD0的數(shù)據(jù)仍被繼續(xù)驅(qū)動(dòng);如果前一個(gè)總線周期為讀周期,則AD15~AD0在空閑周期處于高阻狀態(tài)。最小模式下的總線讀操作①高為讀內(nèi)存低為讀I/O地址輸出狀態(tài)輸出地址輸出數(shù)據(jù)輸入④BHE③②⑤⑥⑦⑨⑩11輸出DT/RDENALERDAD15~AD0A19/S6~A16/S3BHE/S7M/IOCLKT1T2T3Tw(1+n)T4⑧最小模式下的總線寫周期操作AD15~AD0T1T2T3TwT4CLKM/IOA19/S6~A16/S3BHE/S7ALEWRDT/RDEN高為寫內(nèi)存低為寫I/O地址輸出狀態(tài)輸出地址輸出數(shù)據(jù)輸出④BHE⑩⑤⑨③⑧②②①⑥⑦輸出4.38086/8088CPU的引腳信號和工作模式
為了盡可能適應(yīng)各種使用場合,在設(shè)計(jì)8086/8088CPU芯片時(shí),就使得它們可以在兩種模式下工作,即最小模式和最大模式。所謂最小模式,就是在系統(tǒng)中只有8086/8088一個(gè)微處理器。在這種系統(tǒng)中,所有的總線控制信號都直接由8086/8088產(chǎn)生,因此,系統(tǒng)中的總線控制邏輯電路被減到最少。最大模式是相對最小模式而言,它用在中等規(guī)模的或者大型的8086/8088系統(tǒng)中。在此系統(tǒng)中,包含兩個(gè)或多個(gè)微處理器,其中一個(gè)主處理器就是8086/8088,其他的處理器稱為協(xié)處理器,它們是協(xié)助主處理器工作的。和8086/8088配合的協(xié)處理器有兩個(gè),一個(gè)是數(shù)值運(yùn)算協(xié)處理器8087,一個(gè)是輸入/輸出協(xié)處理器8089。
8087是一種專用于數(shù)值運(yùn)算的處理器,它能實(shí)現(xiàn)多種類型的數(shù)值操作。例如,高精度的整數(shù)和浮點(diǎn)運(yùn)算,也可以進(jìn)行超越函數(shù)的計(jì)算。在系統(tǒng)中加入?yún)f(xié)處理器8087之后,會(huì)提高系統(tǒng)的數(shù)值運(yùn)算速度。8089在原理上有點(diǎn)兒像帶有兩個(gè)DMA通道的處理器。它有一套專門用于輸入/輸出操作的指令系統(tǒng),但8089又和DMA的控制器不同,它可以直接為輸入/輸出設(shè)備服務(wù),使8086/8088不再承擔(dān)這類工作。所以在系統(tǒng)中增加協(xié)處理器8089后,會(huì)提高主處理器的效率,尤其是在輸入輸出頻繁的場合。8086/8088的工作模式完全是由硬件決定的。4.3.18086/8088的引腳信號和功能地址/數(shù)據(jù)線地址/數(shù)據(jù)線非屏蔽中斷可屏蔽中斷最小最大模式控制MN/MX=1,最小模式MN/MX=0,最大模式讀信號總線保持請求信號總線保持相應(yīng)信號寫信號存儲(chǔ)器/IO控制信號M/IO=1,選中存儲(chǔ)器M/IO=0,選中IO接口數(shù)據(jù)發(fā)送/接收信號DT/R=1,發(fā)送DT/R=0,接收數(shù)據(jù)允許信號地址允許信號中斷相應(yīng)信號測試信號:執(zhí)行WAIT指令,CPU處于空轉(zhuǎn)等待;TEST有效時(shí),結(jié)束等待狀態(tài)。準(zhǔn)備好信號:表示內(nèi)存或I/O設(shè)備準(zhǔn)備好,可以進(jìn)行數(shù)據(jù)傳輸。復(fù)位信號AD15~AD0(addressdatabus)地址/數(shù)據(jù)復(fù)用引腳(雙向工作)
特性:
雙向,三態(tài)。地址/數(shù)據(jù)線:分時(shí)復(fù)用;T1狀態(tài):AD15~AD0為地址信號;
T2、T3、TW、T4狀態(tài):數(shù)據(jù)信號.
在8088中,A8~A15并不作復(fù)用,它們只用來輸出地址,稱為A8~A15。在8086中,作為復(fù)用引腳,在總線周期的T1狀態(tài)用來輸出要訪問的存儲(chǔ)器或I/O端口地址。T2~T4狀態(tài),對讀周期來說,處于浮空狀態(tài);對寫周期來說,則是傳輸數(shù)據(jù)。注意:
在8086系統(tǒng)中,特別要注意,一般常將AD0信號作為低8位數(shù)據(jù)的選通信號,因?yàn)?,每?dāng)CPU和偶地址單元或偶地址端口交換數(shù)據(jù)時(shí),在T1狀態(tài),AD0引腳傳送的地址信號必定為低電平;在其他狀態(tài),則用來傳送數(shù)據(jù)。而CPU的傳輸特性決定了只要是偶地址單元或偶地址端口交換數(shù)據(jù),那么,CPU必定通過總線低8位,即AD7~AD0傳輸數(shù)據(jù)??梢姡绻诳偩€周期的T1狀態(tài),AD0為低電平,實(shí)際上就指示了在這一總線周期的其余狀態(tài)中,CPU將用總線低8位和偶地址單元或偶地址端口交換數(shù)據(jù)。因此,AD0和下面講到的BHE類似,可以用來作為接于數(shù)據(jù)總線低8位上的8位外設(shè)接口芯片的選通信號。
AD15~AD0在CPU響應(yīng)中斷,以及系統(tǒng)總線“保持響應(yīng)”時(shí),都被浮置為高阻狀態(tài)。2.A19/S6~A16/S3(address/status)地址/狀態(tài)復(fù)用引腳(輸出)
T1狀態(tài):
A19~A16為地址的高四位,
T2、T3、TW、T4狀態(tài):為狀態(tài)信號。
S6=0,8086CPU連在總線上;
S5:中斷允許標(biāo)志設(shè)置:
S5=0,允許可屏蔽中斷請求;
S5=1,禁止可屏蔽中斷請求。
S4S3:指出當(dāng)前正在使用哪段寄存器。說明:
A19/S6~A16/S3在總線周期的T1狀態(tài),用來輸出地址的最高4位。在總線周期的T2,T3,TW和T4狀態(tài)時(shí),用來輸出狀態(tài)信息。其中,S6為0,用來指示8086/8088當(dāng)前與總線相連,所以在T2,T3,TW和T4狀態(tài)時(shí),8086/8088總是使S6等于0,以表示8086/8088當(dāng)前連在總線上。S5表明中斷允許標(biāo)志的當(dāng)前設(shè)置,若為1,表示當(dāng)前允許可屏蔽中斷請求;若為0,則禁止一切可屏蔽中斷。S4,S3合起來指出當(dāng)前正在使用哪段寄存器。
S4S3
00使用ES01使用SS10使用CS11使用DS3.BHE/S7(bushighenable/status)高8位數(shù)據(jù)總線允許/狀態(tài)復(fù)用引腳(輸出)在總線周期的T1狀態(tài),8086在BHE/S7引腳輸出BHE信號,表示高8位數(shù)據(jù)總線D15~D8上的數(shù)據(jù)有效。在T2,T3,TW和T4狀態(tài),BHE/S7引腳輸出狀態(tài)信號S7。不過,在當(dāng)前的芯片(8086,8086-1,8086-2)設(shè)計(jì)中,S7并未被賦予任何實(shí)際意義。在8088系統(tǒng)中,第34腳不是BHE/S7,而是被賦予另外的信號。在最大模式時(shí),此引腳恒為高電平;在最小模式中,則為SS0,它和DT/R,M/IO一起決定了8088芯片當(dāng)前總線周期的讀/寫動(dòng)作。BHEA0
操作所使用的數(shù)據(jù)引腳00從偶地址開始讀/寫一個(gè)字AD15~AD010從偶地址開始讀/寫一個(gè)字節(jié)AD7~AD001從奇地址開始讀/寫一個(gè)字節(jié)AD15~AD810從偶地址開始讀/寫一個(gè)字(需要兩個(gè)周期完成,第一個(gè)周期將低8位數(shù)據(jù)送AD15~AD8,第二個(gè)周期將高8位數(shù)據(jù)送AD7~AD0)AD15~AD8AD7~AD011無存取操作4.NMI(non-maskableinterrupt)非屏蔽中斷引腳(輸入)
非屏蔽中斷信號是一個(gè)由低到高的上升沿。這類中斷不受中斷標(biāo)志IF的影響,也不能用軟件進(jìn)行屏蔽。每當(dāng)NMI端進(jìn)入一個(gè)正沿觸發(fā)信號時(shí),CPU就會(huì)在結(jié)束當(dāng)前指令后,進(jìn)入對應(yīng)于中斷類型號為2的非屏蔽中斷處理程序。5.INTR(interruptrequest)可屏蔽中斷請求信號引腳(輸入)
可屏蔽中斷請求信號為高電平有效,CPU在執(zhí)行每條指令的最后一個(gè)時(shí)鐘周期會(huì)對INTR信號進(jìn)行采樣,如果CPU中的中斷允許標(biāo)志為1,并且又接收到INTR信號,那么,CPU就會(huì)在結(jié)束當(dāng)前指令后,響應(yīng)中斷請求,進(jìn)入一個(gè)中斷處理子程序。6.RD(read)讀信號引腳(輸出)
此信號指出將要執(zhí)行一個(gè)對內(nèi)存或I/O端口的讀操作。到底是讀取內(nèi)存單元中的數(shù)據(jù)還是I/O端口中的數(shù)據(jù),這決定于M/IO信號。在一個(gè)執(zhí)行讀操作的總線周期中,RD信號在T2,T3和TW狀態(tài)均為低電平。在系統(tǒng)總線進(jìn)入“保持響應(yīng)”期間,RD引腳被浮置為高阻狀態(tài)。7.CLK(clock)時(shí)鐘引腳(輸入)
8086/8088要求時(shí)鐘信號的占空比為33%,即1/3周期為高電平,2/3周期為低電平。8086/8088的時(shí)鐘頻率要求為5MHz,8086-1的時(shí)鐘頻率為10MHz,8086-2的時(shí)鐘頻率則為8MHz,時(shí)鐘信號為CPU和總線控制邏輯電路提供定時(shí)手段。8.RESET(reset)復(fù)位信號引腳(輸入)
復(fù)位信號為高電平有效。8086/8088要求復(fù)位信號至少維持4個(gè)時(shí)鐘周期的高電平才有效。復(fù)位信號來到后,CPU便結(jié)束當(dāng)前操作,并對處理器標(biāo)志寄存器、IP,DS,SS,ES及指令隊(duì)列清零,而將CS設(shè)置為FFFFH。當(dāng)復(fù)位信號變?yōu)榈碗娖綍r(shí),CPU從FFFF0H開始執(zhí)行程序。寄存器內(nèi)容狀態(tài)標(biāo)志寄存器F清零指令指針I(yè)P0000H代碼段寄存器CSFFFFH數(shù)據(jù)段寄存器DS0000H堆棧段寄存器SS0000H附加段寄存器ES0000H指令流隊(duì)列清空9.READY(ready)“準(zhǔn)備好”信號引腳(輸入)“準(zhǔn)備好”信號實(shí)際上是由所訪問的存儲(chǔ)器或I/O設(shè)備發(fā)來的響應(yīng)信號,高電平有效。“準(zhǔn)備好”信號有效時(shí),表示內(nèi)存或I/O設(shè)備準(zhǔn)備就緒,馬上就可進(jìn)行一次數(shù)據(jù)傳輸。CPU在每個(gè)總線周期的T3狀態(tài)開始對READY信號進(jìn)行采樣。如果檢測到READY為低電平,則在T3狀態(tài)之后插入等待狀態(tài)TW,在TW狀態(tài),CPU也對READY進(jìn)行采樣,若READY仍為低電平,則會(huì)繼續(xù)插入TW,所以TW可以插入一個(gè)或多個(gè)。直到READY變?yōu)楦唠娖胶?,才進(jìn)入T4狀態(tài),完成數(shù)據(jù)傳送過程,從而結(jié)束當(dāng)前總線周期。10.TEST(test)測試信號引腳(輸入)
測試信號為低電平有效。TEST信號是和指令WAIT結(jié)合起來使用的,在CPU執(zhí)行WAIT指令時(shí),CPU處于空轉(zhuǎn)狀態(tài)進(jìn)行等待;當(dāng)8086的TEST信號有效時(shí),等待狀態(tài)結(jié)束,CPU繼續(xù)往下執(zhí)行被暫停的指令。11.MN/MX(minimum/maximummodecontrol)最?。畲竽J娇刂菩盘栆_(輸入)
它是最大模式及最小模式的選擇控制端。此引腳固定接為+5V時(shí),CPU處于最小模式;如果接地,則CPU處于最大模式。12.GND地和Vcc電源引腳
8086/8088均用單一+5V電源。
8086/8088CPU的第24腳~第31腳在最大模式和最小模式下有不同的名稱和定義。4.3.2最小工作模式
當(dāng)8086/8088的第33腳MN/MX固定接到+5V時(shí),就處于最小工作模式,最小模式下第24腳~第31腳的信號含義如下:
1.INTA(interruptacknowledge)中斷響應(yīng)信號(輸出)
在最小模式下,第24腳作為中斷響應(yīng)信號的輸出端,用來對外設(shè)的中斷請求作出響應(yīng)。對于8086/8088來講,INTA信號實(shí)際上是位于連續(xù)周期中的兩個(gè)負(fù)脈沖,在每個(gè)總線周期的T2,T3和TW狀態(tài),INTA端為低電平。第1個(gè)負(fù)脈沖通知外部設(shè)備的接口,它發(fā)出的中斷請求已經(jīng)得到允許;外設(shè)接口收到第2個(gè)負(fù)脈沖后,往數(shù)據(jù)總線上放中斷類型碼,從而CPU便得到了有關(guān)此中斷請求的詳盡信息。2.ALE(addresslatchenable)地址鎖存允許信號(輸出)
第25腳在最小模式下為地址鎖存允許信號輸出端,這是8086/8088提供給地址鎖存器8282/8283的控制信號,高電平有效。在任何一個(gè)總線周期的T1狀態(tài),ALE輸出有效電平,以表示當(dāng)前在地址/數(shù)據(jù)復(fù)用總線上輸出的是地址信息,地址鎖存器將ALE作為鎖存信號,對地址進(jìn)行鎖存。要注意ALE端不能被浮空。3.DEN(dataenable)數(shù)據(jù)允許信號(輸出)
第26腳在最小模式下作為數(shù)據(jù)允許信號輸出端。在用8286/8287作為數(shù)據(jù)總線收發(fā)器時(shí),DEN為收發(fā)器提供了一個(gè)控制信號,表示CPU當(dāng)前準(zhǔn)備發(fā)送或接受一個(gè)數(shù)據(jù)??偩€收發(fā)器將DEN作為輸出允許信號。DEN信號的電平輸出情況如下:在每個(gè)存儲(chǔ)器訪問周期和I/O訪問周期為低電平,即有效電平;在中斷響應(yīng)周期,也為有效電平。不過,如果是讀周期或者是中斷響應(yīng)周期,DEN在T2狀態(tài)的中間開始有效,并且一直保持到T4狀態(tài)的中間。在DMA方式時(shí),DEN被浮置為高阻狀態(tài)。4.DT/R(datatransmit/receive)數(shù)據(jù)收發(fā)(輸出)
在使用8286/8287作為數(shù)據(jù)總線收發(fā)器時(shí),DT/R信號用來控制8286/8287的數(shù)據(jù)傳送方向。如果DT/R為高電平,則進(jìn)行數(shù)據(jù)發(fā)送;如果DT/R為低電平,則進(jìn)行數(shù)據(jù)接收。在DMA方式時(shí),DT/R被浮置為高阻狀態(tài)。5.M/IO(memory/inputandoutput)存儲(chǔ)器/輸入/輸出控制信號(輸出)
此信號若為高電平,表示CPU和存儲(chǔ)器之間進(jìn)行數(shù)據(jù)傳輸;若為低電平,表示CPU和輸入/輸出設(shè)備之間進(jìn)行數(shù)據(jù)傳輸。一般在前一個(gè)總線周期的T4狀態(tài),M/IO就成為有效電平,然后開始一個(gè)新的總線周期。在此周期中,M/IO一直保持有效電平,直到本周期的T4狀態(tài)為止。在DMA方式時(shí),M/IO被浮置為高阻狀態(tài)。6.WR(write)寫信號(輸出)此信號為低電平有效。WR有效時(shí),表示CPU當(dāng)前正在進(jìn)行存儲(chǔ)器或I/O寫操作,具體到底為哪種寫操作,則由M/IO信號決定。對任何寫周期,WR只在T2,T3,TW期間有效。在DMA方式時(shí),WR被浮置為高阻狀態(tài)。7.HOLD(holdrequest)總線保持請求信號(輸入)
當(dāng)系統(tǒng)中CPU之外的另一個(gè)主模塊要求占用總線時(shí),就在當(dāng)前總線周期完成時(shí),于T4狀態(tài)從HLDA引腳發(fā)出一個(gè)回答信號,對剛才的HOLD請求作出響應(yīng)。同時(shí),CPU使地址/數(shù)據(jù)總線和控制狀態(tài)線處于浮空狀態(tài)??偩€請求部件收到HLDA信號后,就獲得了總線控制權(quán),在此后一段時(shí)間,HOLD和HLDA都保持高電平。在總線占有部件用完總線之后,會(huì)把HOLD信號變?yōu)榈碗娖?,這樣,CPU又獲得了地址/數(shù)據(jù)總線和控制狀態(tài)線的占有權(quán)。8.HLDA(holdacknowledge)總線保持響應(yīng)信號(輸出)
此信號為高電平有效。當(dāng)HLDA有效時(shí),表示CPU對其他主部件的總線請求作出響應(yīng),與此同時(shí),所有與三態(tài)門相接的CPU的引腳呈現(xiàn)高阻抗,從而讓出了總線。
在最小模式下,8088和8086的第34腳的信號定義不同。對8086來說,第34腳為BHE/S7,由于S7未被賦予實(shí)際意義,所以,此引腳就是用來提供高8位數(shù)據(jù)總線允許信號。對8088來說,對外只有8位數(shù)據(jù)總線,沒有高8位數(shù)據(jù)總線,因而也不需要BHE信號。所以,第34腳不再是BHE/S7,而叫SS0。SS0,M/IO(在8088中,第28腳上不是M/IO,而是M/IO)和DT/R組合起來,決定了當(dāng)前總線周期的操作。除了各引腳的信號名稱和含義以外,我們還要了解最小模式下系統(tǒng)是怎樣配置的。即除了CPU外,還需要哪些芯片來構(gòu)成一個(gè)按照最小模式工作的系統(tǒng)?這些芯片和CPU之間的主要連接關(guān)系是什么樣的?
在8086的最小模式中,硬件包括:1片8284A,作為時(shí)鐘發(fā)生器;3片8282或74LS373,用來作為地址鎖存器;當(dāng)系統(tǒng)中所連的存儲(chǔ)器和外設(shè)較多時(shí),需要增加數(shù)據(jù)總線的驅(qū)動(dòng)能力,這時(shí),要用兩片8286/8287作為總線收發(fā)器。8284A時(shí)鐘發(fā)生器8284A的振蕩源一般采用晶體振蕩器,也可以用外接脈沖發(fā)生器作為振蕩源。此時(shí),8284A的F/端應(yīng)接高電平。8284A輸出的時(shí)鐘頻率為振蕩源頻率的1/3。8284A的功能有3個(gè):①產(chǎn)生恒定的時(shí)鐘信號;②對準(zhǔn)備信號(READY);③復(fù)位信號(RESET)進(jìn)行同步。
外界控制信號RDY及RES信號可以在任何時(shí)候到來,8284A能把它們同步在時(shí)鐘后沿(下降沿)時(shí)輸出READY及RESET信號到8086CPU。三態(tài)緩沖器(三態(tài)門)具有單向?qū)ê腿龖B(tài)的特性T為低平時(shí):輸出為高阻抗(三態(tài))T為高電平時(shí):輸出為輸入的反相TAF表示反相或低電平有效TAFTAFTAF74LS244雙4位單向緩沖器分成4位的兩組每組的控制端連接在一起控制端低電平有效輸出與輸入同相每一位都是一個(gè)三態(tài)門,每4個(gè)三態(tài)門的控制端連接在一起雙向三態(tài)緩沖器具有雙向?qū)ê腿龖B(tài)的特性ABTOE*OE*=0,導(dǎo)通
T=1A→BT=0A←BOE*=1,不導(dǎo)通Intel82868位雙向緩沖器控制端連接在一起,低電平有效可以雙向?qū)ㄝ敵雠c輸入同相OE*=0,導(dǎo)通
T=1A→BT=0A←BOE*=1,不導(dǎo)通每一位都是一個(gè)雙向三態(tài)門,8位具有共同的控制端74LS2458位雙向緩沖器控制端連接在一起,低電平有效可以雙向?qū)ㄝ敵雠c輸入同相E*=0,導(dǎo)通
DIR=1A→BDIR=0A←BE*=1,不導(dǎo)通74LS245與Intel8286功能一樣74LS273具有異步清零的TTL上升沿鎖存器每一位都是一個(gè)D觸發(fā)器,8個(gè)D觸發(fā)器的控制端連接在一起Intel8282具有三態(tài)輸出的TTL電平鎖存器STB電平鎖存引腳OE*輸出允許引腳每一位都是一個(gè)三態(tài)鎖存器,8個(gè)三態(tài)鎖存器的控制端連在一起74LS373具有三態(tài)輸出的TTL電平鎖存器LE電平鎖存引腳OE*輸出允許引腳74LS373與Intel8282功能一樣譯碼器74LS13812345678910111213141516ABCE1E2E3Y7GNDY6Y5Y4Y3Y2Y1Y0Vcc74LS138引腳圖Y0Y1Y2Y3Y4Y5Y6Y7E3E2E1CBA74LS138原理圖功能連接74LS138連接示例E3E2E1CBAY0Y1Y2Y3Y4Y5Y6Y774LS138+5VA19A18A17A16A15GND74LS138功能表片選輸入編碼輸入輸出E3E2*E1*CBAY7*~Y0*10000011111110(僅Y0*有效)00111111101(僅Y1*有效)01011111011(僅Y2*有效)01111110111(僅Y3*有效)10011101111(僅Y4*有效)10111011111(僅Y5*有效)11010111111(僅Y6*有效)11101111111(僅Y7*有效)非上述情況×××11111111(全無效)最小模式下的連接示意圖
8088CPU??控制總線數(shù)據(jù)總線地址總線地址鎖存數(shù)據(jù)收發(fā)ALE時(shí)鐘發(fā)生器8086在最小模式下的典型配置最小組態(tài)總線形成
(Intel產(chǎn)品手冊推薦電路)RESETTESTHOLDHLDANMIINTRINTAM/IOWRRDREADYCLKREADYMN/MX+5V控制總線地址總線A19~
A0數(shù)據(jù)總線D15~D0
ALEA19~A16AD15~AD
0
DT/RDEN8086CPUSTB
8282OETOE82868284A系統(tǒng)總線8286與8088的連接4.3.3最大工作模式
最大工作模式:8086/8088CPU為實(shí)現(xiàn)多處理器控制系統(tǒng)(多主控系統(tǒng))就要增設(shè)總線控制器
8288和總線仲裁器8289。實(shí)現(xiàn)方法:8086/8088的MN/MX引腳接地。8086在最大模式下的典型配置:1、MN/MX接地;2、一片8284,作系統(tǒng)時(shí)鐘;3、三片8282或74LS373,作鎖存器;4、二片8286/8287,作數(shù)據(jù)收發(fā)器;5、一片8288,作總線控制器;6、一片8259。8086在最大模式下的典型配置最大模式與最小模式的差別:最小模式:
MN/MX接+5V,只有8086一個(gè)CPU;控制信號由CPU產(chǎn)生。最大模式
MN/MX接地,除8086一個(gè)主CPU外,還有一個(gè)以上協(xié)處理器,需要總線控制器來變換和組合控制信號。最大工作模式時(shí)8086/8088第24~31引腳的信號含義為:1.QS1和QS0(instructionqueuestatus)指令隊(duì)列狀態(tài)信號(輸出):
在最大工作模式時(shí),第24引腳及第25引腳作為QS1及QS0信號輸出端,這兩個(gè)信號提供總線周期的前一個(gè)狀態(tài)中指令隊(duì)列的狀態(tài)。
QS1QS0
含義
00無操作
01將指令首字節(jié)送入指令隊(duì)列
10隊(duì)列為空
11將指令其余字節(jié)送指令隊(duì)列2.S2,S1及S0(buscyclestatus)總線周期狀態(tài)信號(輸出)
在最大工作模式時(shí),第26引腳,第27引腳及第28引腳為S0,S1及S2信號輸出端。它們提供當(dāng)前總線周期中所進(jìn)行的數(shù)據(jù)傳輸過程類型。由總線控制器8288根據(jù)這些信號對存儲(chǔ)器及I/O進(jìn)行控制。
S2S1S0操作過程8288產(chǎn)生信號
000發(fā)中斷響應(yīng)信號INTA001讀I/O端口IORC010寫I/O端口IOWC.AIOWC011暫停無
100取指令MRDC101讀存儲(chǔ)器MRDC110寫存儲(chǔ)器MWTC.AMWC111無作用無總線周期狀態(tài)(S2,S1及S0)中至少應(yīng)有一個(gè)狀態(tài)為低電平,便可進(jìn)行一種總線操作。當(dāng)S2,S1及S0都為高電平時(shí)表明操作過程即將結(jié)束,而另一個(gè)新的總線周期尚未開始,這時(shí)稱為“無源狀態(tài)”。而在總線周期的最后一個(gè)狀態(tài)(即T4狀態(tài)),S2,S1及S0中只要有一個(gè)信號改變,就表明是下一個(gè)新的總線周期開始。3.LOCK(lock)總線封鎖信號(輸出)
在最大工作模式時(shí),第29引腳為總線封鎖信號輸出端。當(dāng)LOCK為低電平時(shí),其它總線主控部件都不能占用總線。在DMA期間,LOCK端被浮空而處于高阻狀態(tài)。
LOCK信號由指令前綴LOCK產(chǎn)生,在LOCK前綴后的一條指令執(zhí)行完后,便撤銷LOCK信號,為防止8086/8088中斷時(shí)總線被其他主控部件所占用,因此在中斷過程中,LOCK信號也自動(dòng)變?yōu)榈碗娖健?/p>
RQ/GT1,RQ/GT0(request/grant)總線請求信號(輸入)/總線請求允許信號(輸出)
在最大工作模式時(shí),第30引腳及第31引腳分別為總線請求信號輸入端/總線請求允許信號輸出端,可供CPU以外兩個(gè)協(xié)處理器用來發(fā)出使用總線請求和接收CPU對總線請求信號的回答信號。這兩個(gè)應(yīng)答信號都是雙向的。RQ/GT0的優(yōu)先級比RQ/GT1的高。在最大工作模式下,8086的第34引腳為BHE/S7,而8088的第34引腳恒為高電平。由于最大工作模式是以8086CPU為中心的多處理器控制系統(tǒng),它們共用一條外部總線,因而需要增加一個(gè)總線控制器及總線仲裁控制器來完成多處理器的分時(shí)控制,Intel公司為8086/8088系列生產(chǎn)8288芯片作為總線控制器,8289芯片作為總線仲裁控制器。1.總線控制器8288
8288總線控制器的內(nèi)部結(jié)構(gòu)及引腳排列。
8288由狀態(tài)譯碼器、命令信號發(fā)生器,控制信號發(fā)生器及控制電路4部分組成。由8086/8088CPU來的總線狀態(tài)信號S2,S1及S0經(jīng)8288的狀態(tài)譯碼器譯碼后,與輸入控制信號AEN,CEN和IOB相配合,便產(chǎn)生總線命令和控制信號。
8288產(chǎn)生的ALE,DT/R及DEN信號與最小模式工作方式時(shí)相同,但DEN信號的極性相反。8288產(chǎn)生的總線命令是由8086/8088的總線狀態(tài)信號S2,S1及S0所決定。8288總線控制器的連接地址總線數(shù)據(jù)總線AD19~AD0A19~A0D15~D0A19~A0D15~D08288發(fā)出的總線命令信號具有以下功能:MRDC:
相當(dāng)于最小模式時(shí)由8086/8088發(fā)出的RD和IO/M兩信號的組合,此時(shí)IO/M=0。(2)IORC:
相當(dāng)于最小模式時(shí)由8086/8088發(fā)出的RD和IO/M兩信號的組合,此時(shí)IO/M=1。(3)MWTC和AMWC:
相當(dāng)于最小模式時(shí)由8086/8088發(fā)出的WR和
IO/M兩信號的組合,此時(shí)IO/M=0。但在最大工作模式時(shí)增加了一個(gè)“超前寫存儲(chǔ)器信號”AMWC。它比MWTC提前一個(gè)時(shí)鐘周期。(4)IOWC和AIOWC:相當(dāng)于最小模式時(shí)WR和IO/M兩信號的組合,此時(shí)IO/M=1。也增加了一個(gè)“超前寫I/O端口信號”AIOWC。它比IOWC提前一個(gè)時(shí)鐘周期。(5)INTA:中斷響應(yīng)信號INTA在最小模式時(shí)由CPU直接發(fā)出。(6)CEN:當(dāng)有多片8288協(xié)同工作時(shí)起片選作用。當(dāng)命令允許信號CEN為高電平時(shí),允許該8288發(fā)出全部控制信號。當(dāng)CEN為低電平時(shí),禁止該8288發(fā)出總線控制信號,同時(shí)使DEW和PDEN呈高阻狀態(tài)。任何時(shí)候只有一片8288的CEN信號為高電平。(7)AEN:由總線仲裁器8289輸入,低電平有效。地址允許信號AEN是支持多總線結(jié)構(gòu)的同步控制信號。(8)MCE/PDEN:是一條雙功能的輸出控制線。當(dāng)8288工作于系統(tǒng)總線方式時(shí),作主控級聯(lián)允許信號MCE用,在中斷響應(yīng)周期的T1狀態(tài)時(shí)MCE有效,控制主8259A向從8259A輸出級聯(lián)地址。當(dāng)8288工作于I/O總線方式時(shí),作外設(shè)數(shù)據(jù)允許信號PDEN用,控制外部設(shè)備通過I/O總線傳送數(shù)據(jù)。(9)IOB:
8288既可控制系統(tǒng)總線,又可控制I/O總線。當(dāng)總線方式控制信號IOB=1時(shí),8288只用來控制I/O總線;當(dāng)IOB=0時(shí),8288工作于系統(tǒng)總線工作方式。8288提供了兩種工作方式,由IOB——I/O總線工作方式信號決定:
當(dāng)IOB接地,8288適用于單處理器系統(tǒng),稱作系統(tǒng)總線方式,此時(shí),還要求AEN接地,CEN接+5V。當(dāng)IOB接+5V,且CEN接+5V,8288則適合工作于多處理器系統(tǒng),稱作局部總線方式。2.總線仲裁控制器8289
在8086多處理器系統(tǒng)中,除8086/8088CPU外還有輸入/輸出處理器8089及數(shù)據(jù)數(shù)值處理器8087,它們也是采用分時(shí)方式來占用總線的。因此,在多處理器系統(tǒng)中必須采用總線仲裁器8289配合總線控制器8288來確定每一時(shí)刻的總線使用權(quán)賦給優(yōu)先級別較高的處理器使用。
8289由狀態(tài)譯碼器、仲裁電路、控制電路及總線接口等組成。8289芯片的內(nèi)部結(jié)構(gòu)框圖及引腳排列如圖??偩€仲裁器8289的工作方式如下:(1)單一總線方式:當(dāng)IOB=1及RESB=0時(shí),8289工作于單一總線方式。這時(shí)系統(tǒng)中只有一個(gè)處理器,8289隨時(shí)監(jiān)視著總線狀態(tài)。只要處理器不處于HALT狀態(tài),并且當(dāng)前BPRN有效及BUSY無效,則這個(gè)處理器就可使用總線。(2)I/O總線方式:當(dāng)IOB=0及RESB=0時(shí),8289工作于I/O總線方法。這時(shí)系統(tǒng)中都有輸入/輸出處理器8089。主處理器執(zhí)行系統(tǒng)存儲(chǔ)器中的主控程序,8089執(zhí)行駐留存儲(chǔ)器中的I/O處理程序,兩者可并行操作。(3)駐留總線方式:當(dāng)IOB=1及RESB=1時(shí),8289工作于駐留總線方式。在這種系統(tǒng)中,處理器可訪問系統(tǒng)總線也可訪問駐留總線。SYSB/RESB=1時(shí),CPU為訪問系統(tǒng)總線上的存儲(chǔ)器或I/O設(shè)備,當(dāng)SYSB/RESB=0時(shí),CPU為請求使用駐留總線。但兩條總線上各設(shè)一個(gè)總線控制器8288,分別來發(fā)出各條總線上的訪問存儲(chǔ)器或I/O端口命令。(4)I/O總線和駐留總線方式:當(dāng)IOB=0及RESB=1時(shí),8289上SYSB/RESB=1,為CPU請求使用系統(tǒng)總線,只訪問系統(tǒng)總線上的存儲(chǔ)器而不訪問I/O端口,若需訪I/O端口時(shí)則可使用I/O總線進(jìn)行。除總線仲裁控制器有4種工作方式外,在多處理器系統(tǒng)中,8289還要進(jìn)行優(yōu)先級的裁決。8289優(yōu)先級的裁決:
在不同系統(tǒng)中可采用3種優(yōu)先權(quán)裁決方式,即并行優(yōu)先級裁決、串行優(yōu)先級裁決及循環(huán)優(yōu)先級裁決。并行優(yōu)先級裁決:
并行優(yōu)先級裁決的典型電路如圖4.15所示。所有8289的總線請求BREQ信號并行引入優(yōu)先級編碼器,它將當(dāng)前級別最高的BREQ的二進(jìn)制編碼向譯碼器輸出。譯碼器將相應(yīng)的總線優(yōu)先級輸入(BPRN)信號送至當(dāng)前級別最高的8289。若當(dāng)前B
溫馨提示
- 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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新教材高中生物 2.2 細(xì)胞中的無機(jī)物說課稿(1)新人教版必修1
- 工業(yè)用地項(xiàng)目投資合同書
- 2025年度智慧農(nóng)業(yè)技術(shù)支持服務(wù)合同
- 公司增資擴(kuò)股合同模板
- 原材料購銷合同
- 醫(yī)療器械跨國代理合同條款解析:標(biāo)準(zhǔn)
- 能源項(xiàng)目貸款合同范本
- 度設(shè)備維修合同細(xì)則
- 2025年度學(xué)校體育器材家具采購合同及場地適配方案
- 2025年度機(jī)器人研發(fā)工程師勞動(dòng)合同補(bǔ)充協(xié)議書
- 2025年魯泰集團(tuán)招聘170人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024-2025學(xué)年成都高新區(qū)七上數(shù)學(xué)期末考試試卷【含答案】
- 企業(yè)員工食堂管理制度框架
- 《辣椒主要病蟲害》課件
- 電力溝施工組織設(shè)計(jì)-電纜溝
- 2024年煤礦安全生產(chǎn)知識(shí)培訓(xùn)考試必答題庫及答案(共190題)
- 《法律援助》課件
- 小兒肺炎治療與護(hù)理
- GB/T 36547-2024電化學(xué)儲(chǔ)能電站接入電網(wǎng)技術(shù)規(guī)定
- 學(xué)校物業(yè)管理投標(biāo)書范本
- 《高處作業(yè)安全》課件
評論
0/150
提交評論