版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第4章16位微處理器教學(xué)提示:盡管微處理器已進入了Pentium時代,其內(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)、引腳和工作方式、存儲器組織和工作時序。第一代微處理器:1971年Intel公司推出的4040和8008。它們是采用PMOS工藝的4位及8位微處理器,集成度達到2,000個晶體管/片。第二代微處理器:1974年推出的8080,M6800及Z-80等。它們是采用NMOS工藝的8位微處理器,集成度達到9,000個晶體管/片。第三代微處理器:20世紀70年代后期至80年代中期Intel公司的8086/8088、80186/80286,Motorola公司的M68000和Zilog公司的Z8000等16位微處理器相繼問世,它們的運算速度比8位微處理器快2~5倍,采用HMOS高密度工藝,集成度達29000個晶體管/片。第四代微處理器:1985年推出的微處理器80386、M68020、80586以及Pentium系列,集成度達45萬個晶體管/片以上。它們是32位微處理器。4.116位微處理器概述
微處理器(microprocessor)是微型計算機的運算及控制部件,也稱中央處理單元(CPU)。它本身不構(gòu)成獨立的工作系統(tǒng),因而它也不能獨立地執(zhí)行程序。通常,微處理器由算術(shù)邏輯部件(ALU)、控制部件、寄存器組和片內(nèi)總線等幾部分組成。8086/8088的異同點:相同點:
CPU的內(nèi)部基本相同,都采用16位字進行操作及存儲器尋址,兩者的軟件完全兼容,程序的執(zhí)行也完全相同。兩種微處理器都封裝在相同的40腳雙列直插組件(DIP)中。同異點:8086和8088的外部性能有區(qū)別。8086是16位數(shù)據(jù)總線,而8088是8位數(shù)據(jù)總線,在處理一個16位數(shù)據(jù)字時,8088需要兩步操作而8086只需要一步。4.28086/8088CPU的結(jié)構(gòu)
8086CPU內(nèi)部結(jié)構(gòu)分成兩部分:總線接口部件BIU(businterfaceunit
):
總線接口單元BIU,負責控制存貯器讀寫。執(zhí)行部件EU(executionunit
):
執(zhí)行單元EU從指令隊列中取出指令并執(zhí)行。特點:
取指部分和執(zhí)行指令部分分開進行,提高了速度。外部總線內(nèi)部暫存器
IP
ES
SSDSCS輸入/輸出控制電路執(zhí)行部分控制電路123456∑ALU標志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令隊列緩沖器執(zhí)行部件(EU)總線接口部件(BIU)16位20位16位8位8086/8088的指令執(zhí)行過程返回執(zhí)行部件總線接口部件通用寄存器四個專用寄存器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í)行由加法器完成。標志寄存器:16位字利用了9位。標志分兩類:狀態(tài)標志(6位):反映剛剛完成的操作結(jié)果情況??刂茦酥荆?位):在某些指令操作中起控制作用。20位地址加法器四個段寄存器:CS、DS、SS、ESCS管理代碼段;DS管理數(shù)據(jù)段SS管理堆棧段;ES管理附加段.16位的指令指針寄存器IP:IP中的內(nèi)容是下一條指令對現(xiàn)行代碼段基地址的偏移量,6字節(jié)的指令隊列指令隊列共六字節(jié),總線接口部件BIU從內(nèi)存取指令,取來的總是放在指令隊列中;執(zhí)行部件EU從指令隊列取指令,并執(zhí)行。4.2.1執(zhí)行部件EU
EU功能:(1)從BIU的指令隊列緩沖器中取出指令,由EU控制器的指令譯碼器譯碼產(chǎn)生相應(yīng)的操作控制信號給各部件;(2)對操作數(shù)進行算術(shù)運算和邏輯運算,并將運算結(jié)果的狀態(tài)特征保存到標志(或狀態(tài))寄存器FR中;(3)EU不直接與CPU外部系統(tǒng)相連,當需要與主存儲器或I/O設(shè)備交換數(shù)據(jù)時,EU向BIU發(fā)出命令,并提供給BIU16位有效地址及所需傳送的數(shù)據(jù)。EU的組成:(1)4個通用寄存器,即AX,BX,CX,DX;(2)4個專用寄存器,即基數(shù)指針寄存器BP,堆棧指針寄存器
SP,源變址寄存器SI,目的變址寄存器DI;(3)標志寄存器(FR);(4)算術(shù)邏輯部件(ALU)。(1)四個16位的通用數(shù)據(jù)寄存器:通用數(shù)據(jù)寄存器AX,BX,CX,DX,既可以作16位寄存器使用,也可以分成高、低8位分別作兩個8位寄存器使用。16位8位8位
AX→AHAL
BX→
BH
BL
CX→CHCL
DX→DHDL數(shù)據(jù)寄存器特有的習(xí)慣用法AX-累加器:所有I/O指令都通過AX與接口傳送信息,中間運算結(jié)果也多放于AX中。BX-基址寄存器:在間接尋址中用于存放基地址。CX-計數(shù)寄存器:用于在循環(huán)或串操作指令中存放計數(shù)值。DX-數(shù)據(jù)寄存器:在間接尋址的I/O指令中存放I/O
端口地址;在32位乘除法運算時,存放高16位數(shù)。(2)四個專用寄存器二個指針寄存器:
SP-堆棧指針:其內(nèi)容與堆棧段寄存器SS的內(nèi)容相加,提供堆棧操作地址。
BP-基址指針:構(gòu)成數(shù)據(jù)段內(nèi)偏移地址的一部分。二個變址寄存器:
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)存中一個特殊區(qū)域,用于存放暫時不用或需要保護的數(shù)據(jù)常用于響應(yīng)中斷或子程序調(diào)用。變址寄存器常用于指令的間接尋址或變址尋址。特別是在串操作指令中,用SI存放源操作數(shù)的偏移地址,而用DI存放目標操作數(shù)的偏移地址。堆棧堆棧主要用于暫存數(shù)據(jù)和在過程調(diào)用或處理中斷時暫存斷點信息。
(1)堆棧的概念
堆棧是在存儲器中開辟的一片數(shù)據(jù)存儲區(qū),這片存儲區(qū)的一端固定,另一端活動,且只允許數(shù)據(jù)從活動端進出。采用“先進后出”的規(guī)則
。(2)堆棧的組織堆棧指示器SP,他總是指向堆棧的棧頂,堆棧的伸展方向既可以從大地址向小地址,也可以從小地址向大地址。8086/8088的堆棧的伸展方向是從大地址向小地址。
(1)8086的堆棧及堆棧操作有以下特點
雙字節(jié)操作。即每次進、出棧的數(shù)據(jù)均為兩字節(jié)。且高位字節(jié)對應(yīng)高地址,低位字節(jié)對應(yīng)低地址。無論是源操作數(shù)還是目的操作數(shù),也無論是存儲器操作數(shù)還是寄存器操作數(shù),都必須按這個原則執(zhí)行。
堆棧向低地址方向生成。數(shù)據(jù)每次進棧時堆棧指針SP向低地址方向移動(減2);反之,數(shù)據(jù)出棧時,SP向高地址方向移動(加2)(2)BP、BX都被稱為基址指針,但兩者用法不同。BP只能尋址堆棧段(段缺省),不允許段跨越;BX可以尋址數(shù)據(jù)段(段缺?。部梢詫ぶ犯郊佣危ǘ慰缭剑?。(3)由于大多數(shù)算術(shù)和邏輯運算中又可以使用BP、SP和變址寄存器,因而也將這4個寄存器歸入通用寄存器組。使用中應(yīng)該注意這4個寄存器只能用于16位的存取操作特別說明
(3)算術(shù)邏輯單元ALU:
16位二進制加法器。大部分指令的執(zhí)行由加法器完成。(4)標志寄存器:存放運算結(jié)果的特征。16位字利用了9位。
標志分兩類:狀態(tài)標志(6位):(CF,SF,AF,PF,OF,ZF)
反映剛剛完成的操作結(jié)果情況。操作在執(zhí)行后,決定算術(shù)邏輯部件ALU處在何種狀態(tài),這種狀態(tài)會影響后面的操作??刂茦酥荆?位):(IF,TF,DF)它是人為設(shè)置的,指令系統(tǒng)中有專門的指令用于控制標志的設(shè)置和清除,每個控制標志都對每一種特定的功能起控制作用。進位標志CF:
運算結(jié)果有進(加)借(減)位,CF=1,否則CF=0;奇偶校驗標志PF:結(jié)果低8位中1的個數(shù)為偶數(shù)時,PF=1;否則PF=0輔助進位標志AF:當b3向b4進位或借位時,AF=1;否則AF=0。零標志ZF:
結(jié)果為零,ZF=1;否則CF=0;符號標志SF:
與運算結(jié)果的最高位相同;溢出標志OF:帶符號數(shù)的運算結(jié)果超出8位或16位數(shù)表達范圍時,OF=1;否則OF=0。跟蹤標志TF:
也稱陷阱標志位,當TF=1時,CPU按單步跟蹤方式執(zhí)行指令,常用于程序的單步跟蹤調(diào)試。中斷允許標志IF:
IF=1,允許CPU響應(yīng)可屏蔽中斷;
方向標志DF:當DF=1時,串行操作指令為自動減量指令(從高地址到低地址處理字符),否則串連操作指令為自動增量指令。狀態(tài)標志位控制標志位D15D0OFDFIFTFSFZFAFPFCF進借位標志奇偶標志半進借位標志零標志符號標志單步中斷中斷允許方向標志溢出標志1-有進、借位0-無進、借位1-低8位有偶數(shù)個10-低8位有奇數(shù)個11-低4位向高4位有進、借位0-低4位向高4位無進、借位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有如下特點:(1)4個通用寄存器既可以作為16位寄存器使用,也可以作為8位寄存器使用。(2)AX寄存器也常稱為累加器,8086指令系統(tǒng)中有許多指令都是通過累加器的動作來執(zhí)行的。當累加器作為16位來使用時,可以進行按字乘操作、按字除操作、按字輸入/輸出和其他字傳送等;當累加器作為8位來使用時,可以實現(xiàn)按字節(jié)乘操作、按字節(jié)除操作、按字節(jié)輸入/輸出和其他字節(jié)傳送,以及十進制運算等。(3)加法器是算術(shù)邏輯的主要部件,絕大部分指令的執(zhí)行都由加法器來完成。(4)標志寄存器FR共有16位,其中7位未用。4.2.2總線接口部件BIU總線接口部件BIU的功能:
控制存儲器IO與CPU的信息傳送。(1)BIU從主存取指令送到指令隊列緩沖器。(2)CPU執(zhí)行指令時,總線接口單元要配合EU從指定的主存單元或外設(shè)端口中取數(shù)據(jù),將數(shù)據(jù)傳送給EU或把EU
的操作結(jié)果傳送到指定的主存單元或外設(shè)端口中。(3)計算并形成訪問存儲器的20位物理地址??偩€接口部件BIU的組成:(1)4個段地址寄存器:用于存放相應(yīng)邏輯段的段基地址。
CS-16位的代碼段寄存器,管理程序段。
DS-16位的數(shù)據(jù)段寄存器,管理數(shù)據(jù)段。
ES-16位的擴展段(附加段)寄存器,管理擴展段。
SS-16位的堆棧段寄存器,管理堆棧段。(2)16位指令指針寄存器IP(PC)。(3)20位的地址加法器。(4)六字節(jié)的指令隊列緩沖器。(1)四個段寄存器:(CS.DS.SS.SS)
由于8086訪問內(nèi)存要20位地址(1MB),而執(zhí)行單元EU中所有寄存器和數(shù)據(jù)通道均為16位,只能提供16位地址。
由四個段寄存器的某個段地址或地址偏移,通過地址加法器,形成20位物理地址。①執(zhí)行單元中各寄存器均為16位,只能尋址216=64KB,利用段寄存器,可以擴大尋址空間為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é)的指令隊列
8086指令隊列共六字節(jié),8088指令隊列共四字節(jié)??偩€接口部件BIU從內(nèi)存取指令,取來的總是放在指令隊列中,執(zhí)行部件EU從指令隊列取指令并執(zhí)行。取指令和執(zhí)行指令是可以在時間上重疊的,即BIU和EU的操作是完全不同步的。利用指令隊列可提高CPU的效率,降低對存儲器存取速度的要求。BIU取指并存入指令隊列緩沖器中以后:①如果EU沒有要求對存儲器或I/O進行操作,此時如果指令隊列緩沖器不滿,BIU總是從存儲器取后續(xù)的指令,并存入隊列中;此時如果指令隊列緩沖器是滿的,BIU進入空閑狀態(tài);②如果EU有要求對存儲器或I/O進行操作,BIU在下一個周期執(zhí)行EU所要求的存儲器或I/O操作。在執(zhí)行轉(zhuǎn)移、調(diào)用、返回指令時,指令隊列的內(nèi)容將被清除。4.2.3存儲器結(jié)構(gòu)8086的存儲器組織與I/O組織
8086/8088系統(tǒng)中存儲器按字節(jié)編址,可尋址的存儲器空間為1MB,由于1MB為220,因此每個字節(jié)所對應(yīng)的地址應(yīng)是20位(二進制數(shù)),這20位的地址稱為物理地址。
1.存儲器的分段
20位的物理地址在CPU內(nèi)部就應(yīng)有20位的地址寄存器,而機內(nèi)的寄存器是16位的(16位機),16位寄存器只能尋址64KB。8086/8088系統(tǒng)中把1M存儲空間分成若干個邏輯段,每個邏輯段容量≤64KB,因此1M的存儲空間可分成16個邏輯段(0~15)。允許它們在整個存儲空間浮動,即段與段之間可以部分重疊、完全重疊、連續(xù)排列、斷續(xù)排列,非常靈活。在整個存儲空間中可設(shè)置若干個邏輯段,如圖4.2所示。對于任何一個物理地址,可以惟一地被包含在一個邏輯段中,也可包含在多個相互重疊的邏輯段中,只要有段地址和段內(nèi)偏移地址就可以訪問到這個物理地址所對應(yīng)的存儲空間,如圖4.3所示。
所謂存儲器分段技術(shù)就是把1MB空間分成若干邏輯段,每個邏輯段的容量≤64KB。段內(nèi)地址是連續(xù)的,段與段之間是互相獨立的。邏輯段可以在整個存儲空間浮動,即段的排列可以連續(xù)、分開、部分重疊或完全重疊,非常靈活。這里所謂的重疊是指存儲單元可以分屬于不同的邏輯段。圖4.2圖4.3
在8086/8088存儲空間中,把16字節(jié)的存儲空間稱作一節(jié)(paragraph)。為了簡化操作,要求各個邏輯段從節(jié)的整數(shù)邊界開始,也就是說段首地址低4位應(yīng)該是“0”,因此就把段首地址的高16位稱為“段基址”,存放在段寄存器DS或CS或SS或ES中,段內(nèi)的偏移地址存放在IP或SP中。若已知當前有效的代碼段、數(shù)據(jù)段、附加段和堆棧段的段基址分別為1055H,250AH,8FFBH和EFF0H,那么它們在存儲器中的分布情況如圖4.4所示。A段B段C段D段E段40000H50000H60000H70000H連續(xù)排列部分重疊完全重疊圖4.4
段的分配:存儲器0150H1CDOH4200HB000H64K代碼64K堆棧64K數(shù)據(jù)64K附加CSSSDSES2.存儲器中的邏輯地址和物理地址任何一個20位物理地址,也稱為絕對地址,都是由兩部分組成。采用分段結(jié)構(gòu)的存儲器中,任何一個邏輯地址由段基址和偏移地址兩個部分構(gòu)成,它們都是無符號的16位二進制數(shù)。任何一個存儲單元對應(yīng)一個20位的物理地址,也可稱為絕對地址,它是由邏輯地址變換得來的。當CPU需要訪問存儲器時,必須完成如下的地址運算:物理地址=段基址×16+偏移地址物理地址的形成如圖所示,它是通過CPU的總線接口部件BIU的地址加法器來實現(xiàn)的。
∑偏移地址段基址地址加法器物理地址段寄存器15150190
3、8086CPU的存儲器接口
1MB空間分為兩個512KB的存儲體:偶地址存儲體:連接D7~D0,A0=0時選通;奇地址存儲體:連接D15~D8,BHE=0時選通。
8086可以傳送一個字節(jié),也可以傳送二個字節(jié)(一個字)。SELA19~A1
高8位
5128D7~D0SELA19~A1
低8位
5128D7~D0A19~A1A0BHED15~D8D7~D08086與存儲器連接4、8086的I/O組織8086允許64K(65535個)個I/O端口;兩個相鄰8位端口可組合成一個16位端口;CPU執(zhí)行訪問I/O端口的指令時,產(chǎn)生有效的RD信號或WR信號,同時,M/IO=0,通過外部電路組合成對I/O端口的讀寫信號。統(tǒng)一編址這種編址方式是將I/O端口和存儲單元統(tǒng)一編址,即把I/O端口置于存儲器空間,也看作是存儲單元。因此,存儲器的各種尋址方式均可用來尋址I/O端口。在這種方式下I/O端口操作功能強,使用起來也很靈活,I/O接口與CPU的連接和存儲器與CPU的連接相似。但是I/O端口占用了一定的存儲空間,而且執(zhí)行I/O操作時,因地址位數(shù)長,速度較慢。獨立編址這種編址方法是將I/O端口進行獨立編址,I/O端口空間與存儲器空間相互獨立。這就需要設(shè)置專門的輸入、輸出指令對I/O端口進行操作。8086系統(tǒng)采用的就是這種獨立的I/O編址方式。端口地址說明8086使用A15~A0這16根地址線作為I/O端口地址線,可訪問端口最多可達64K個8位端口或32K個16位端口。和存儲器的字單元一樣,對于奇地址的16位端口的訪問,要進行兩次操作才能完成。16位的I/O端口地址無需經(jīng)過地址加法器產(chǎn)生,因而不使用段寄存器。從AB總線上發(fā)出的端口地址仍為20位,只不過最高四位A19~A16為0。4.2.48086總線的工作周期
在微機系統(tǒng)中,CPU是在時鐘信號CLK控制下,按節(jié)拍有序地執(zhí)行指令序列。從取指令開始,經(jīng)過分析指令、對操作數(shù)尋址,然后執(zhí)行指令、保存操作結(jié)果,這個過程稱為指令執(zhí)行周期。
指令周期:執(zhí)行一條指令所需要的時間。
總線周期(機器周期):CPU通過總線與存儲器或I/O接口進行一次數(shù)據(jù)傳輸所需的時間,一個最基本的總線周期為4個T狀態(tài),即T1、T2、T3、T4。一般為T1、T2、T3、(TW)、T4。
T狀態(tài)(時鐘周期):CPU處理動作的最小單位,CPU的基本時間單位,一個基本時鐘又稱T狀態(tài)。
TW狀態(tài):在存儲器和外設(shè)速度較慢時,要在T3之后插入一個或幾個等待周期Tw,以使其在數(shù)據(jù)傳送時能與CPU同步。T3狀態(tài):AD0~AD15上出現(xiàn)數(shù)據(jù)。TW狀態(tài):若存儲器式外設(shè)的工作速度較慢,不能滿足基本時序要求,使用一個產(chǎn)生READY的電路,以使在T3狀態(tài)之后,插入一個等待周期TW。T4狀態(tài):結(jié)束一個總線周期。T1狀態(tài):CPU往復(fù)用總線A19—A0上發(fā)出地址信息,出現(xiàn)ALE信號后,將地址鎖存到地址鎖存器(8282)。以指出要尋址的存儲單元或外設(shè)端口的地址。T2狀態(tài):
CPU從總線上撤消地址,而使總線的低16位浮置成高阻狀態(tài),為傳輸數(shù)據(jù)做準備??偩€最高四位(A16~A19)用來輸出本總線周期狀態(tài)信息(S6~S3)。這些狀態(tài)信息用來表示中斷允許狀態(tài),當前正在使用的段寄存器名等。T3狀態(tài):多路總線的高4位繼續(xù)提供狀態(tài)信息,而多路總線的低16位(8088則為低8位)上出現(xiàn)由CPU寫出的數(shù)據(jù)或者CPU從存儲器或端口讀入的數(shù)據(jù)。TW狀態(tài):在有些情況下,被寫入數(shù)據(jù)或者被讀取數(shù)據(jù)的外設(shè)或存儲器不能及時地配合CPU傳送數(shù)據(jù)。這時,外設(shè)或存儲器會通過“READY”信號線在T3狀態(tài)啟動之前,向CPU發(fā)一個“數(shù)據(jù)未準備好”信號,于是CPU會在T3之后插入一個或多個附加的時鐘周期TW,TW也叫等待狀態(tài)。在TW狀態(tài),總線上的信息情況和T3狀態(tài)的信息情況一樣。T4狀態(tài):當指定的存儲器或外設(shè)完成數(shù)據(jù)傳送時,便在“READY”線上發(fā)出“準備好”信號,CPU接收到這一信號后,會自動脫離TW狀態(tài)而進入T4狀態(tài)。Ti狀態(tài):只有在CPU和內(nèi)存或I/O接口之間傳輸數(shù)據(jù),以及填充指令隊列時,CPU才執(zhí)行總線周期。如果在一個總線周期之后,不立即執(zhí)行下一個總線周期,那么系統(tǒng)總線就處在空閑狀態(tài),此時,執(zhí)行空閑周期Ti
。說明:
當CPU不執(zhí)行總線周期時,總線接口部件不與總線打交道,進入總線空閑周期。此時,CPU內(nèi)部指令隊列已滿,且EU單元正在進行有效的內(nèi)部操作。所以說,總線空操作是總線接口部件對執(zhí)行部件的等待狀態(tài)。總線空閑周期由一系列T1構(gòu)成,基本維持前一總線周期時的狀態(tài)。如果前一個總線周期為寫周期,AD15~AD0的數(shù)據(jù)仍被繼續(xù)驅(qū)動;如果前一個總線周期為讀周期,則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è)計8086/8088CPU芯片時,就使得它們可以在兩種模式下工作,即最小模式和最大模式。所謂最小模式,就是在系統(tǒng)中只有8086/8088一個微處理器。在這種系統(tǒng)中,所有的總線控制信號都直接由8086/8088產(chǎn)生,因此,系統(tǒng)中的總線控制邏輯電路被減到最少。最大模式是相對最小模式而言,它用在中等規(guī)模的或者大型的8086/8088系統(tǒng)中。在此系統(tǒng)中,包含兩個或多個微處理器,其中一個主處理器就是8086/8088,其他的處理器稱為協(xié)處理器,它們是協(xié)助主處理器工作的。和8086/8088配合的協(xié)處理器有兩個,一個是數(shù)值運算協(xié)處理器8087,一個是輸入/輸出協(xié)處理器8089。
8087是一種專用于數(shù)值運算的處理器,它能實現(xiàn)多種類型的數(shù)值操作。例如,高精度的整數(shù)和浮點運算,也可以進行超越函數(shù)的計算。在系統(tǒng)中加入?yún)f(xié)處理器8087之后,會提高系統(tǒng)的數(shù)值運算速度。8089在原理上有點兒像帶有兩個DMA通道的處理器。它有一套專門用于輸入/輸出操作的指令系統(tǒng),但8089又和DMA的控制器不同,它可以直接為輸入/輸出設(shè)備服務(wù),使8086/8088不再承擔這類工作。所以在系統(tǒng)中增加協(xié)處理器8089后,會提高主處理器的效率,尤其是在輸入輸出頻繁的場合。8086/8088的工作模式完全是由硬件決定的。4.3.18086/8088的引腳信號和功能地址/數(shù)據(jù)線地址/數(shù)據(jù)線非屏蔽中斷可屏蔽中斷最小最大模式控制MN/MX=1,最小模式MN/MX=0,最大模式讀信號總線保持請求信號總線保持相應(yīng)信號寫信號存儲器/IO控制信號M/IO=1,選中存儲器M/IO=0,選中IO接口數(shù)據(jù)發(fā)送/接收信號DT/R=1,發(fā)送DT/R=0,接收數(shù)據(jù)允許信號地址允許信號中斷相應(yīng)信號測試信號:執(zhí)行WAIT指令,CPU處于空轉(zhuǎn)等待;TEST有效時,結(jié)束等待狀態(tài)。準備好信號:表示內(nèi)存或I/O設(shè)備準備好,可以進行數(shù)據(jù)傳輸。復(fù)位信號AD15~AD0(addressdatabus)地址/數(shù)據(jù)復(fù)用引腳(雙向工作)
特性:
雙向,三態(tài)。地址/數(shù)據(jù)線:分時復(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)用來輸出要訪問的存儲器或I/O端口地址。T2~T4狀態(tài),對讀周期來說,處于浮空狀態(tài);對寫周期來說,則是傳輸數(shù)據(jù)。注意:
在8086系統(tǒng)中,特別要注意,一般常將AD0信號作為低8位數(shù)據(jù)的選通信號,因為,每當CPU和偶地址單元或偶地址端口交換數(shù)據(jù)時,在T1狀態(tài),AD0引腳傳送的地址信號必定為低電平;在其他狀態(tài),則用來傳送數(shù)據(jù)。而CPU的傳輸特性決定了只要是偶地址單元或偶地址端口交換數(shù)據(jù),那么,CPU必定通過總線低8位,即AD7~AD0傳輸數(shù)據(jù)??梢?,如果在總線周期的T1狀態(tài),AD0為低電平,實際上就指示了在這一總線周期的其余狀態(tài)中,CPU將用總線低8位和偶地址單元或偶地址端口交換數(shù)據(jù)。因此,AD0和下面講到的BHE類似,可以用來作為接于數(shù)據(jù)總線低8位上的8位外設(shè)接口芯片的選通信號。
AD15~AD0在CPU響應(yīng)中斷,以及系統(tǒng)總線“保持響應(yīng)”時,都被浮置為高阻狀態(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:中斷允許標志設(shè)置:
S5=0,允許可屏蔽中斷請求;
S5=1,禁止可屏蔽中斷請求。
S4S3:指出當前正在使用哪段寄存器。說明:
A19/S6~A16/S3在總線周期的T1狀態(tài),用來輸出地址的最高4位。在總線周期的T2,T3,TW和T4狀態(tài)時,用來輸出狀態(tài)信息。其中,S6為0,用來指示8086/8088當前與總線相連,所以在T2,T3,TW和T4狀態(tài)時,8086/8088總是使S6等于0,以表示8086/8088當前連在總線上。S5表明中斷允許標志的當前設(shè)置,若為1,表示當前允許可屏蔽中斷請求;若為0,則禁止一切可屏蔽中斷。S4,S3合起來指出當前正在使用哪段寄存器。
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。不過,在當前的芯片(8086,8086-1,8086-2)設(shè)計中,S7并未被賦予任何實際意義。在8088系統(tǒng)中,第34腳不是BHE/S7,而是被賦予另外的信號。在最大模式時,此引腳恒為高電平;在最小模式中,則為SS0,它和DT/R,M/IO一起決定了8088芯片當前總線周期的讀/寫動作。BHEA0
操作所使用的數(shù)據(jù)引腳00從偶地址開始讀/寫一個字AD15~AD010從偶地址開始讀/寫一個字節(jié)AD7~AD001從奇地址開始讀/寫一個字節(jié)AD15~AD810從偶地址開始讀/寫一個字(需要兩個周期完成,第一個周期將低8位數(shù)據(jù)送AD15~AD8,第二個周期將高8位數(shù)據(jù)送AD7~AD0)AD15~AD8AD7~AD011無存取操作4.NMI(non-maskableinterrupt)非屏蔽中斷引腳(輸入)
非屏蔽中斷信號是一個由低到高的上升沿。這類中斷不受中斷標志IF的影響,也不能用軟件進行屏蔽。每當NMI端進入一個正沿觸發(fā)信號時,CPU就會在結(jié)束當前指令后,進入對應(yīng)于中斷類型號為2的非屏蔽中斷處理程序。5.INTR(interruptrequest)可屏蔽中斷請求信號引腳(輸入)
可屏蔽中斷請求信號為高電平有效,CPU在執(zhí)行每條指令的最后一個時鐘周期會對INTR信號進行采樣,如果CPU中的中斷允許標志為1,并且又接收到INTR信號,那么,CPU就會在結(jié)束當前指令后,響應(yīng)中斷請求,進入一個中斷處理子程序。6.RD(read)讀信號引腳(輸出)
此信號指出將要執(zhí)行一個對內(nèi)存或I/O端口的讀操作。到底是讀取內(nèi)存單元中的數(shù)據(jù)還是I/O端口中的數(shù)據(jù),這決定于M/IO信號。在一個執(zhí)行讀操作的總線周期中,RD信號在T2,T3和TW狀態(tài)均為低電平。在系統(tǒng)總線進入“保持響應(yīng)”期間,RD引腳被浮置為高阻狀態(tài)。7.CLK(clock)時鐘引腳(輸入)
8086/8088要求時鐘信號的占空比為33%,即1/3周期為高電平,2/3周期為低電平。8086/8088的時鐘頻率要求為5MHz,8086-1的時鐘頻率為10MHz,8086-2的時鐘頻率則為8MHz,時鐘信號為CPU和總線控制邏輯電路提供定時手段。8.RESET(reset)復(fù)位信號引腳(輸入)
復(fù)位信號為高電平有效。8086/8088要求復(fù)位信號至少維持4個時鐘周期的高電平才有效。復(fù)位信號來到后,CPU便結(jié)束當前操作,并對處理器標志寄存器、IP,DS,SS,ES及指令隊列清零,而將CS設(shè)置為FFFFH。當復(fù)位信號變?yōu)榈碗娖綍r,CPU從FFFF0H開始執(zhí)行程序。寄存器內(nèi)容狀態(tài)標志寄存器F清零指令指針I(yè)P0000H代碼段寄存器CSFFFFH數(shù)據(jù)段寄存器DS0000H堆棧段寄存器SS0000H附加段寄存器ES0000H指令流隊列清空9.READY(ready)“準備好”信號引腳(輸入)“準備好”信號實際上是由所訪問的存儲器或I/O設(shè)備發(fā)來的響應(yīng)信號,高電平有效?!皽蕚浜谩毙盘栍行r,表示內(nèi)存或I/O設(shè)備準備就緒,馬上就可進行一次數(shù)據(jù)傳輸。CPU在每個總線周期的T3狀態(tài)開始對READY信號進行采樣。如果檢測到READY為低電平,則在T3狀態(tài)之后插入等待狀態(tài)TW,在TW狀態(tài),CPU也對READY進行采樣,若READY仍為低電平,則會繼續(xù)插入TW,所以TW可以插入一個或多個。直到READY變?yōu)楦唠娖胶?,才進入T4狀態(tài),完成數(shù)據(jù)傳送過程,從而結(jié)束當前總線周期。10.TEST(test)測試信號引腳(輸入)
測試信號為低電平有效。TEST信號是和指令WAIT結(jié)合起來使用的,在CPU執(zhí)行WAIT指令時,CPU處于空轉(zhuǎn)狀態(tài)進行等待;當8086的TEST信號有效時,等待狀態(tài)結(jié)束,CPU繼續(xù)往下執(zhí)行被暫停的指令。11.MN/MX(minimum/maximummodecontrol)最?。畲竽J娇刂菩盘栆_(輸入)
它是最大模式及最小模式的選擇控制端。此引腳固定接為+5V時,CPU處于最小模式;如果接地,則CPU處于最大模式。12.GND地和Vcc電源引腳
8086/8088均用單一+5V電源。
8086/8088CPU的第24腳~第31腳在最大模式和最小模式下有不同的名稱和定義。4.3.2最小工作模式
當8086/8088的第33腳MN/MX固定接到+5V時,就處于最小工作模式,最小模式下第24腳~第31腳的信號含義如下:
1.INTA(interruptacknowledge)中斷響應(yīng)信號(輸出)
在最小模式下,第24腳作為中斷響應(yīng)信號的輸出端,用來對外設(shè)的中斷請求作出響應(yīng)。對于8086/8088來講,INTA信號實際上是位于連續(xù)周期中的兩個負脈沖,在每個總線周期的T2,T3和TW狀態(tài),INTA端為低電平。第1個負脈沖通知外部設(shè)備的接口,它發(fā)出的中斷請求已經(jīng)得到允許;外設(shè)接口收到第2個負脈沖后,往數(shù)據(jù)總線上放中斷類型碼,從而CPU便得到了有關(guān)此中斷請求的詳盡信息。2.ALE(addresslatchenable)地址鎖存允許信號(輸出)
第25腳在最小模式下為地址鎖存允許信號輸出端,這是8086/8088提供給地址鎖存器8282/8283的控制信號,高電平有效。在任何一個總線周期的T1狀態(tài),ALE輸出有效電平,以表示當前在地址/數(shù)據(jù)復(fù)用總線上輸出的是地址信息,地址鎖存器將ALE作為鎖存信號,對地址進行鎖存。要注意ALE端不能被浮空。3.DEN(dataenable)數(shù)據(jù)允許信號(輸出)
第26腳在最小模式下作為數(shù)據(jù)允許信號輸出端。在用8286/8287作為數(shù)據(jù)總線收發(fā)器時,DEN為收發(fā)器提供了一個控制信號,表示CPU當前準備發(fā)送或接受一個數(shù)據(jù)。總線收發(fā)器將DEN作為輸出允許信號。DEN信號的電平輸出情況如下:在每個存儲器訪問周期和I/O訪問周期為低電平,即有效電平;在中斷響應(yīng)周期,也為有效電平。不過,如果是讀周期或者是中斷響應(yīng)周期,DEN在T2狀態(tài)的中間開始有效,并且一直保持到T4狀態(tài)的中間。在DMA方式時,DEN被浮置為高阻狀態(tài)。4.DT/R(datatransmit/receive)數(shù)據(jù)收發(fā)(輸出)
在使用8286/8287作為數(shù)據(jù)總線收發(fā)器時,DT/R信號用來控制8286/8287的數(shù)據(jù)傳送方向。如果DT/R為高電平,則進行數(shù)據(jù)發(fā)送;如果DT/R為低電平,則進行數(shù)據(jù)接收。在DMA方式時,DT/R被浮置為高阻狀態(tài)。5.M/IO(memory/inputandoutput)存儲器/輸入/輸出控制信號(輸出)
此信號若為高電平,表示CPU和存儲器之間進行數(shù)據(jù)傳輸;若為低電平,表示CPU和輸入/輸出設(shè)備之間進行數(shù)據(jù)傳輸。一般在前一個總線周期的T4狀態(tài),M/IO就成為有效電平,然后開始一個新的總線周期。在此周期中,M/IO一直保持有效電平,直到本周期的T4狀態(tài)為止。在DMA方式時,M/IO被浮置為高阻狀態(tài)。6.WR(write)寫信號(輸出)此信號為低電平有效。WR有效時,表示CPU當前正在進行存儲器或I/O寫操作,具體到底為哪種寫操作,則由M/IO信號決定。對任何寫周期,WR只在T2,T3,TW期間有效。在DMA方式時,WR被浮置為高阻狀態(tài)。7.HOLD(holdrequest)總線保持請求信號(輸入)
當系統(tǒng)中CPU之外的另一個主模塊要求占用總線時,就在當前總線周期完成時,于T4狀態(tài)從HLDA引腳發(fā)出一個回答信號,對剛才的HOLD請求作出響應(yīng)。同時,CPU使地址/數(shù)據(jù)總線和控制狀態(tài)線處于浮空狀態(tài)。總線請求部件收到HLDA信號后,就獲得了總線控制權(quán),在此后一段時間,HOLD和HLDA都保持高電平。在總線占有部件用完總線之后,會把HOLD信號變?yōu)榈碗娖?,這樣,CPU又獲得了地址/數(shù)據(jù)總線和控制狀態(tài)線的占有權(quán)。8.HLDA(holdacknowledge)總線保持響應(yīng)信號(輸出)
此信號為高電平有效。當HLDA有效時,表示CPU對其他主部件的總線請求作出響應(yīng),與此同時,所有與三態(tài)門相接的CPU的引腳呈現(xiàn)高阻抗,從而讓出了總線。
在最小模式下,8088和8086的第34腳的信號定義不同。對8086來說,第34腳為BHE/S7,由于S7未被賦予實際意義,所以,此引腳就是用來提供高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組合起來,決定了當前總線周期的操作。除了各引腳的信號名稱和含義以外,我們還要了解最小模式下系統(tǒng)是怎樣配置的。即除了CPU外,還需要哪些芯片來構(gòu)成一個按照最小模式工作的系統(tǒng)?這些芯片和CPU之間的主要連接關(guān)系是什么樣的?
在8086的最小模式中,硬件包括:1片8284A,作為時鐘發(fā)生器;3片8282或74LS373,用來作為地址鎖存器;當系統(tǒng)中所連的存儲器和外設(shè)較多時,需要增加數(shù)據(jù)總線的驅(qū)動能力,這時,要用兩片8286/8287作為總線收發(fā)器。8284A時鐘發(fā)生器8284A的振蕩源一般采用晶體振蕩器,也可以用外接脈沖發(fā)生器作為振蕩源。此時,8284A的F/端應(yīng)接高電平。8284A輸出的時鐘頻率為振蕩源頻率的1/3。8284A的功能有3個:①產(chǎn)生恒定的時鐘信號;②對準備信號(READY);③復(fù)位信號(RESET)進行同步。
外界控制信號RDY及RES信號可以在任何時候到來,8284A能把它們同步在時鐘后沿(下降沿)時輸出READY及RESET信號到8086CPU。三態(tài)緩沖器(三態(tài)門)具有單向?qū)ê腿龖B(tài)的特性T為低平時:輸出為高阻抗(三態(tài))T為高電平時:輸出為輸入的反相TAF表示反相或低電平有效TAFTAFTAF74LS244雙4位單向緩沖器分成4位的兩組每組的控制端連接在一起控制端低電平有效輸出與輸入同相每一位都是一個三態(tài)門,每4個三態(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)通每一位都是一個雙向三態(tài)門,8位具有共同的控制端74LS2458位雙向緩沖器控制端連接在一起,低電平有效可以雙向?qū)ㄝ敵雠c輸入同相E*=0,導(dǎo)通
DIR=1A→BDIR=0A←BE*=1,不導(dǎo)通74LS245與Intel8286功能一樣74LS273具有異步清零的TTL上升沿鎖存器每一位都是一個D觸發(fā)器,8個D觸發(fā)器的控制端連接在一起Intel8282具有三態(tài)輸出的TTL電平鎖存器STB電平鎖存引腳OE*輸出允許引腳每一位都是一個三態(tài)鎖存器,8個三態(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時鐘發(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為實現(xiàn)多處理器控制系統(tǒng)(多主控系統(tǒng))就要增設(shè)總線控制器
8288和總線仲裁器8289。實現(xiàn)方法:8086/8088的MN/MX引腳接地。8086在最大模式下的典型配置:1、MN/MX接地;2、一片8284,作系統(tǒng)時鐘;3、三片8282或74LS373,作鎖存器;4、二片8286/8287,作數(shù)據(jù)收發(fā)器;5、一片8288,作總線控制器;6、一片8259。8086在最大模式下的典型配置最大模式與最小模式的差別:最小模式:
MN/MX接+5V,只有8086一個CPU;控制信號由CPU產(chǎn)生。最大模式
MN/MX接地,除8086一個主CPU外,還有一個以上協(xié)處理器,需要總線控制器來變換和組合控制信號。最大工作模式時8086/8088第24~31引腳的信號含義為:1.QS1和QS0(instructionqueuestatus)指令隊列狀態(tài)信號(輸出):
在最大工作模式時,第24引腳及第25引腳作為QS1及QS0信號輸出端,這兩個信號提供總線周期的前一個狀態(tài)中指令隊列的狀態(tài)。
QS1QS0
含義
00無操作
01將指令首字節(jié)送入指令隊列
10隊列為空
11將指令其余字節(jié)送指令隊列2.S2,S1及S0(buscyclestatus)總線周期狀態(tài)信號(輸出)
在最大工作模式時,第26引腳,第27引腳及第28引腳為S0,S1及S2信號輸出端。它們提供當前總線周期中所進行的數(shù)據(jù)傳輸過程類型。由總線控制器8288根據(jù)這些信號對存儲器及I/O進行控制。
S2S1S0操作過程8288產(chǎn)生信號
000發(fā)中斷響應(yīng)信號INTA001讀I/O端口IORC010寫I/O端口IOWC.AIOWC011暫停無
100取指令MRDC101讀存儲器MRDC110寫存儲器MWTC.AMWC111無作用無總線周期狀態(tài)(S2,S1及S0)中至少應(yīng)有一個狀態(tài)為低電平,便可進行一種總線操作。當S2,S1及S0都為高電平時表明操作過程即將結(jié)束,而另一個新的總線周期尚未開始,這時稱為“無源狀態(tài)”。而在總線周期的最后一個狀態(tài)(即T4狀態(tài)),S2,S1及S0中只要有一個信號改變,就表明是下一個新的總線周期開始。3.LOCK(lock)總線封鎖信號(輸出)
在最大工作模式時,第29引腳為總線封鎖信號輸出端。當LOCK為低電平時,其它總線主控部件都不能占用總線。在DMA期間,LOCK端被浮空而處于高阻狀態(tài)。
LOCK信號由指令前綴LOCK產(chǎn)生,在LOCK前綴后的一條指令執(zhí)行完后,便撤銷LOCK信號,為防止8086/8088中斷時總線被其他主控部件所占用,因此在中斷過程中,LOCK信號也自動變?yōu)榈碗娖健?/p>
RQ/GT1,RQ/GT0(request/grant)總線請求信號(輸入)/總線請求允許信號(輸出)
在最大工作模式時,第30引腳及第31引腳分別為總線請求信號輸入端/總線請求允許信號輸出端,可供CPU以外兩個協(xié)處理器用來發(fā)出使用總線請求和接收CPU對總線請求信號的回答信號。這兩個應(yīng)答信號都是雙向的。RQ/GT0的優(yōu)先級比RQ/GT1的高。在最大工作模式下,8086的第34引腳為BHE/S7,而8088的第34引腳恒為高電平。由于最大工作模式是以8086CPU為中心的多處理器控制系統(tǒng),它們共用一條外部總線,因而需要增加一個總線控制器及總線仲裁控制器來完成多處理器的分時控制,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信號與最小模式工作方式時相同,但DEN信號的極性相反。8288產(chǎn)生的總線命令是由8086/8088的總線狀態(tài)信號S2,S1及S0所決定。8288總線控制器的連接地址總線數(shù)據(jù)總線AD19~AD0A19~A0D15~D0A19~A0D15~D08288發(fā)出的總線命令信號具有以下功能:MRDC:
相當于最小模式時由8086/8088發(fā)出的RD和IO/M兩信號的組合,此時IO/M=0。(2)IORC:
相當于最小模式時由8086/8088發(fā)出的RD和IO/M兩信號的組合,此時IO/M=1。(3)MWTC和AMWC:
相當于最小模式時由8086/8088發(fā)出的WR和
IO/M兩信號的組合,此時IO/M=0。但在最大工作模式時增加了一個“超前寫存儲器信號”AMWC。它比MWTC提前一個時鐘周期。(4)IOWC和AIOWC:相當于最小模式時WR和IO/M兩信號的組合,此時IO/M=1。也增加了一個“超前寫I/O端口信號”AIOWC。它比IOWC提前一個時鐘周期。(5)INTA:中斷響應(yīng)信號INTA在最小模式時由CPU直接發(fā)出。(6)CEN:當有多片8288協(xié)同工作時起片選作用。當命令允許信號CEN為高電平時,允許該8288發(fā)出全部控制信號。當CEN為低電平時,禁止該8288發(fā)出總線控制信號,同時使DEW和PDEN呈高阻狀態(tài)。任何時候只有一片8288的CEN信號為高電平。(7)AEN:由總線仲裁器8289輸入,低電平有效。地址允許信號AEN是支持多總線結(jié)構(gòu)的同步控制信號。(8)MCE/PDEN:是一條雙功能的輸出控制線。當8288工作于系統(tǒng)總線方式時,作主控級聯(lián)允許信號MCE用,在中斷響應(yīng)周期的T1狀態(tài)時MCE有效,控制主8259A向從8259A輸出級聯(lián)地址。當8288工作于I/O總線方式時,作外設(shè)數(shù)據(jù)允許信號PDEN用,控制外部設(shè)備通過I/O總線傳送數(shù)據(jù)。(9)IOB:
8288既可控制系統(tǒng)總線,又可控制I/O總線。當總線方式控制信號IOB=1時,8288只用來控制I/O總線;當IOB=0時,8288工作于系統(tǒng)總線工作方式。8288提供了兩種工作方式,由IOB——I/O總線工作方式信號決定:
當IOB接地,8288適用于單處理器系統(tǒng),稱作系統(tǒng)總線方式,此時,還要求AEN接地,CEN接+5V。當IOB接+5V,且CEN接+5V,8288則適合工作于多處理器系統(tǒng),稱作局部總線方式。2.總線仲裁控制器8289
在8086多處理器系統(tǒng)中,除8086/8088CPU外還有輸入/輸出處理器8089及數(shù)據(jù)數(shù)值處理器8087,它們也是采用分時方式來占用總線的。因此,在多處理器系統(tǒng)中必須采用總線仲裁器8289配合總線控制器8288來確定每一時刻的總線使用權(quán)賦給優(yōu)先級別較高的處理器使用。
8289由狀態(tài)譯碼器、仲裁電路、控制電路及總線接口等組成。8289芯片的內(nèi)部結(jié)構(gòu)框圖及引腳排列如圖??偩€仲裁器8289的工作方式如下:(1)單一總線方式:當IOB=1及RESB=0時,8289工作于單一總線方式。這時系統(tǒng)中只有一個處理器,8289隨時監(jiān)視著總線狀態(tài)。只要處理器不處于HALT狀態(tài),并且當前BPRN有效及BUSY無效,則這個處理器就可使用總線。(2)I/O總線方式:當IOB=0及RESB=0時,8289工作于I/O總線方法。這時系統(tǒng)中都有輸入/輸出處理器8089。主處理器執(zhí)行系統(tǒng)存儲器中的主控程序,8089執(zhí)行駐留存儲器中的I/O處理程序,兩者可并行操作。(3)駐留總線方式:當IOB=1及RESB=1時,8289工作于駐留總線方式。在這種系統(tǒng)中,處理器可訪問系統(tǒng)總線也可訪問駐留總線。SYSB/RESB=1時,CPU為訪問系統(tǒng)總線上的存儲器或I/O設(shè)備,當SYSB/RESB=0時,CPU為請求使用駐留總線。但兩條總線上各設(shè)一個總線控制器8288,分別來發(fā)出各條總線上的訪問存儲器或I/O端口命令。(4)I/O總線和駐留總線方式:當IOB=0及RESB=1時,8289上SYSB/RESB=1,為CPU請求使用系統(tǒng)總線,只訪問系統(tǒng)總線上的存儲器而不訪問I/O端口,若需訪I/O端口時則可使用I/O總線進行。除總線仲裁控制器有4種工作方式外,在多處理器系統(tǒng)中,8289還要進行優(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)先級編碼器,它將當前級別最高的BREQ的二進制編碼向譯碼器輸出。譯碼器將相應(yīng)的總線優(yōu)先級輸入(BPRN)信號送至當前級別最高的8289。若當前B
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 愚人節(jié)創(chuàng)意活動策劃(7篇)
- 工程技術(shù)年終工作總結(jié)
- 托幼機構(gòu)膳食營養(yǎng)培訓(xùn)
- 國防安全知識講座
- 開業(yè)領(lǐng)導(dǎo)致辭稿15篇
- 面向開放場景的增量目標檢測方法研究
- 氣化飛灰與煤矸石的預(yù)熱混燃試驗研究
- 《艾青詩選》 上課課件
- 建筑與市政工程巡查報告的編制與反饋機制
- 餐飲飯店行業(yè)行政后勤工作總結(jié)
- 定額〔2025〕1號文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價格水平調(diào)整的通知
- 2024年城市軌道交通設(shè)備維保及安全檢查合同3篇
- 電力溝施工組織設(shè)計-電纜溝
- 【教案】+同一直線上二力的合成(教學(xué)設(shè)計)(人教版2024)八年級物理下冊
- 湖北省武漢市青山區(qū)2023-2024學(xué)年七年級上學(xué)期期末質(zhì)量檢測數(shù)學(xué)試卷(含解析)
- 《高處作業(yè)安全》課件
- 單位往個人轉(zhuǎn)賬的合同(2篇)
- 春節(jié)后收心安全培訓(xùn)
- 兒童10歲生日-百日宴-滿月酒生日會成長相冊展示(共二篇)
- 2023年高考全國甲卷數(shù)學(xué)(理)試卷【含答案】
- 《繪本閱讀與指導(dǎo)》課程教學(xué)大綱
評論
0/150
提交評論