




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第四章
8086微處理器§4.1概述指令和程序的解釋方式 一條機器指令由操作碼和操作數(shù)構(gòu)成,若干條指令構(gòu)成程序。在微機中,微處理器解釋一條指令的完整步驟可以歸納為如下兩個階段:
取指從內(nèi)存中取出指令,明確指令規(guī)定的功能;執(zhí)行分析指令要求實現(xiàn)的功能,讀取所需要的操作數(shù),執(zhí)行指令規(guī)定的操作,并保存執(zhí)行結(jié)果。傳統(tǒng)8位微處理器采用順序解釋方式,各條指令的解釋按以上兩個階段交替執(zhí)行。也就是說,首先取一條指令,然后執(zhí)行該指令,之后再取下一條指令,再執(zhí)行,如此。.重復(fù),直到整個程序執(zhí)行完畢.第四章
8086微處理器§4.1概述一.指令和程序的解釋方式 一條機器指令由操作碼和操作數(shù)構(gòu)成,若干條指令構(gòu)成程序。在微機中,微處理器解釋一條指令的完整步驟可以歸納為如下兩個階段:
取指從內(nèi)存中取出指令,明確指令規(guī)定的功能;執(zhí)行分析指令要求實現(xiàn)的功能,讀取所需要的操作數(shù),執(zhí)行指令規(guī)定的操作,并保存執(zhí)行結(jié)果。傳統(tǒng)8位微處理器采用順序解釋方式,各條指令的解釋按以上兩個階段交替執(zhí)行。也就是說,首先取一條指令,然后執(zhí)行該指令,之后再取下一條指令,再執(zhí)行,如此。.重復(fù),直到整個程序執(zhí)行完畢.
在8086系統(tǒng)中,為了加快程序的執(zhí)行速度,采用了重疊解釋方式,各條指令的解釋過程是重疊進行的。每條指令的解釋過程也包括取指令和執(zhí)行指令兩個階段,但是相鄰兩條指令的解釋過程有一部分是同時進行的。在執(zhí)行一條指令時,可以同時取出下一條指令。在當前指令執(zhí)行完畢后,就可以立即執(zhí)行下一條指令。顯然,這種重疊解釋方式大大加快了程序的執(zhí)行速度。取指1執(zhí)行1取指2執(zhí)行2取指3執(zhí)行3取指4執(zhí)行4取指5執(zhí)行5取指1執(zhí)行1取指2執(zhí)行2取指3執(zhí)行3取指4執(zhí)行4取指5執(zhí)行5順序解釋重疊解釋時間圖2-1指令和程序的解釋過程二.8086/8088特點:
1.CPU本身不構(gòu)成獨立的工作系統(tǒng),故它不能獨立地執(zhí)行程序.(ALU,控制部件CON,寄存器組,片內(nèi)總線)2.CPU有4位---8位---16位---32位---64位.1>.8086
2>.8088
3>.關(guān)系:兩者軟件兼容內(nèi)部:16位字操作及M尋址外部:數(shù)據(jù)總線:16位封裝:40引腳,雙列直插組件(DIP)中內(nèi)部:與8086相同外部:數(shù)據(jù)總線:8位封裝:與8086相同執(zhí)行速度:慢于8086執(zhí)行部件EUALU指令隊列地址加法器通用寄存器段寄存器指令指針AHALBHBLCHCLDHDL
SPBPDISICSDSSSESIP20位16位16位8位F總線接口部件BIU§4.28086/8088微處理器結(jié)構(gòu)一.執(zhí)行部件EU(ExecutionUnit)
EU從BIU的指令隊列緩沖器中獲得指令,然后執(zhí)行該指令,完成指令規(guī)定的操作。數(shù)據(jù)的算術(shù)邏輯運算、內(nèi)存有效地址的計算、寄存器和指令操作數(shù)的管理等都是由EU完成的。二.總線接口部件BIU(BusInterfaceUnit)
它的主要功能是實現(xiàn)8086CPU與存儲器和外部設(shè)備之間的數(shù)據(jù)傳送。具體地說,BIU負責(zé)形成指令所在內(nèi)存單元的物理地址,從內(nèi)存指定區(qū)域取出指令送到指令隊列緩沖器或者從相應(yīng)的內(nèi)存區(qū)域或I/O端口讀取指令所需要的操作數(shù),指令執(zhí)行完畢后將指令的執(zhí)行結(jié)果送入內(nèi)存和I/O端口的指定位置。
指令隊列緩沖器是實現(xiàn)重疊解釋的關(guān)鍵部件,由6個8位寄存器構(gòu)成,主要作用是在EU執(zhí)行指令的同時,暫時保存BIU從內(nèi)存中預(yù)先讀取的指令,并在EU執(zhí)行完當前指令時,將其中的指令按先進先出(FIFO)的原則送到EU加以分析執(zhí)行,其具體工作原理如下:三.BIU與EU的關(guān)系(并行工作)①隊列緩沖器中只要有兩個字節(jié)為空,BIU便自動執(zhí)行取指操作,從內(nèi)存中的相鄰單元取出相應(yīng)的指令字節(jié)放入緩沖器中,直到緩沖器填滿時為止。②從內(nèi)存取來的指令存入隊列緩沖器,緩沖器中只要有一條指令,EU就開始執(zhí)行。
在執(zhí)行指令的過程中:1)如訪問M或I、O,則EU請求BIU進入總線周期,完成訪問M或I、O操作;2)如果指令代碼為某種運算,不訪問M或I、O,則EU不發(fā)請求,而去負責(zé)指令的執(zhí)行。③當指令隊列已滿,且EU無訪問總線請求,則BIU進入空閑狀態(tài)。④
當EU執(zhí)行完轉(zhuǎn)移、調(diào)用和返回等切換程序流程的指令時,緩沖器中原來的內(nèi)容將被清除,BIU從內(nèi)存中新的位置開始重新預(yù)取指令填入隊列中。 由于EU和BIU兩個功能部件并行工作,EU執(zhí)行的是BIU在前一時刻取出的指令,與此同時,BIU又取出下一時刻要執(zhí)行的指令,因此能使大部分取指令和執(zhí)行指令的操作重疊進行,大大減少了等待取指令所需的時間,提高了微處理器的利用率和整個系統(tǒng)的執(zhí)行速度。四.8086CPU的寄存器結(jié)構(gòu)(共有14個16位寄存器)通用寄存器段寄存器AHALAX累加器BHBLBX基址寄存器CHCLCX計數(shù)寄存器DHDLDX數(shù)據(jù)寄存器
SP堆棧指針
BP基址指針
SI源變址寄存器
DI目的變址寄存器
CS代碼段寄存器
DS數(shù)據(jù)段寄存器
ES附加段寄存器
SS堆棧段寄存器
IP指令指針
F標志寄存器
1.通用寄存器 通用寄存器共有8個,又可分為兩組。
①數(shù)據(jù)寄存器 數(shù)據(jù)寄存器可以用于存放8位或16位的二進制操作數(shù),這些操作數(shù)可以是參加操作的原始數(shù)據(jù)、運算得到的中間結(jié)果,也可以是操作數(shù)的地址。大多數(shù)算術(shù)和邏輯運算指令都可以使用這些寄存器。 在8086微處理器中,數(shù)據(jù)寄存器有4個,
累加器AX(Accumulator)、
基址寄存器BX(Base)、
計數(shù)寄存器CX(Count)、
數(shù)據(jù)寄存器DX(Data)。
每個16位數(shù)據(jù)寄存器又可分為高8位(AH、BH、CH和DH)和低8位(AL、BL、CL和DL),并可分別尋址,獨立操作。②指針寄存器和變址寄存器
指針寄存器和變址寄存器一般用來存放地址偏移量,用于堆棧操作和變址運算中計算操作數(shù)的有效地址。指針寄存器指的是堆棧指針寄存器SP(StackPointer)和基數(shù)指針寄存器BP(BasePointer),
其中SP用來指示堆棧頂部單元的位置,實現(xiàn)堆棧操作,而BP用來存放在現(xiàn)行堆棧段中的一個數(shù)據(jù)區(qū)的基地址。
變址寄存器包括源變址寄存器SI(SourceIndex)和目的變址寄存器DI(DestinationIndex),分別用來存放源操作數(shù)和目的操作數(shù)的偏移地址。寄存器操作AX
1)在字乘/字除指令中作累加器;
2)在字I/O操作時作數(shù)據(jù)寄存器。AH
1)在字節(jié)乘/字節(jié)除指令中存放結(jié)果;
2)在LAHF中作目的寄存器。AL
1)在字節(jié)乘/字節(jié)除指令中作累加器;
2)在字節(jié)I/O操作時作數(shù)據(jù)寄存器;
3)BCD、ASCII碼數(shù)據(jù)運算時作累加器;
4)在XLAT指令中作累加器。BX
1)間接尋址時作地址寄存器和基址寄存器;
2)在XLAT指令中作基址寄存器。CX
1)串操作時作串長計數(shù)器;
2)循環(huán)操作時作循環(huán)次數(shù)計數(shù)器。
CL移位操作時作移位次數(shù)計數(shù)器。
DX
1)字乘/字除指令中作輔助寄存器;
2)I/O指令間接尋址時作端口地址寄存器。
SP堆棧操作時作堆棧指針。
SI
1)間接尋址時作地址寄存器和變址寄存器;
2)串操作時作源變址寄存器。
DI
1)間接尋址時作地址寄存器和變址寄存器;
2)串操作時作目的變址寄存器。
在某些指令中,以上各通用寄存器具有特定的用途,稱為寄存器的隱含用法。2.指令指針I(yè)P(InstructionPointer)
指令指針I(yè)P是一個16位專用寄存器,程序運行時,它始終指向EU要執(zhí)行的下一條指令所在單元。當EU執(zhí)行本條指令時,IP中的內(nèi)容自動增量,以指向下一條指令所在的內(nèi)存單元。需要注意的是,程序中不能隨意對IP進行存取操作,只有轉(zhuǎn)移指令、子程序調(diào)用和返回指令以及中斷處理時才能對IP的內(nèi)容進行修改和設(shè)置。3.
標志寄存器FR(FlagRegister)SZPACODIT奇偶進位標志半進位中斷標志單步標志方向標志零標志符號標志溢出標志D15D0OFDFTFIFSFZFAFPFCF
標志寄存器位于EU中,它是一個16位的寄存器,但實際上只用了其中9位。根據(jù)各位的作用和含義,各標志位又分為狀態(tài)標志位和控制標志位兩大類。①狀態(tài)標志位用于反映EU執(zhí)行算術(shù)或邏輯運算以后的結(jié)果特征,指令執(zhí)行時由EU根據(jù)指令的執(zhí)行結(jié)果設(shè)置這些位的狀態(tài),并進一步影響或控制某些后繼指令(如條件轉(zhuǎn)移指令、循環(huán)指令等)的執(zhí)行。不同指令對各狀態(tài)標志位的影響是不同的。狀態(tài)標志位共有6位,它們分別是:進位標志CF(Carry
Flag)反映算術(shù)運算后最高位是否出現(xiàn)進位或借位,有則為“1”,無則為“0”。輔助進位標志AF(Auxiliary
Flag)反映運算結(jié)果的低4位是否向高位產(chǎn)生進位或借位,有則為“1”,無則為“0”。奇偶標志PF(ParityFlag)反映指令執(zhí)行結(jié)果低8位數(shù)據(jù)中1的個數(shù)是否為偶數(shù),若是則該位置“1”,否則置“0”。零標志ZF(Zero
Flag)反映運算結(jié)果是否為零,若是,則該位置“1”,否則置“0”。符號標志SF(Sign
Flag)反映運算結(jié)果最高位的狀態(tài),并與運算結(jié)果最高位狀態(tài)相同。表明了本次運算的結(jié)果是正還是負。溢出標志OF(Overflow
Flag)反映帶符號數(shù)進行算術(shù)運算后是否有溢出,有則為“1”,無則為“0”。②控制標志位用于對CPU的某些操作實施控制,并且都可以在程序中用相應(yīng)的指令來設(shè)置其狀態(tài)。3位控制標志分別是:方向標志DF(Direction
Flag)用于控制串操作指令執(zhí)行時的步進方向,該位為“1”,則串操作指令按地址遞減的順序?qū)ΥM行操作,否則按地址遞增的順序進行操作。中斷允許標志IF(InterruptFlag)指示是否允許系統(tǒng)響應(yīng)外部的可屏蔽中斷請求,該位為“1”,表示允許(開中斷),否則表示禁止(關(guān)中斷)。陷阱標志TF(TraceFlag)當該位為“1”時,CPU每執(zhí)行完一條指令便自動產(chǎn)生一個內(nèi)部中斷,并轉(zhuǎn)去執(zhí)行一個中斷服務(wù)程序,可以借助該中斷服務(wù)程序來檢查每條指令的執(zhí)行情況,稱為“單步工作方式”,常用于程序的調(diào)試。4.段寄存器
8086系統(tǒng)對內(nèi)存實行分段管理,在BIU中有4個16位的段寄存器,專門用于存放各段在內(nèi)存中的起始地址的高16位(段基址)。這4個段寄存器是:
①代碼段寄存器CS(CodeSegment),指向當前代碼段;
②數(shù)據(jù)段寄存器DS(DataSegment),指向當前數(shù)據(jù)段;
③附加段寄存器ES(ExtraSegment),指向當前附加段;
④
堆棧段寄存器SS(StackSegment),指向當前堆棧段。5.地址加法器產(chǎn)生20位的物理地址。由段寄存器和表示偏移地址的寄存器得到。即:物理地址=段地址*16+偏移地址例.五、8088與8086在內(nèi)部結(jié)構(gòu)上的比較
Intel8088是準16位CPU,其內(nèi)部采用16位結(jié)構(gòu),與8086基本相同,外部數(shù)據(jù)總線寬度為8位。8088內(nèi)部也包括兩大功能部件,其中EU與8086完全一樣,只是BIU略有區(qū)別:
①8086指令隊列是6字節(jié)長,而8088指令隊列只有4字節(jié)長;
②
對于8086微處理器,當指令隊列緩沖器中有2個字節(jié)變空時,BIU便自動執(zhí)行取指操作;而對于8088,只要指令隊列緩沖器中有1個字節(jié)變空便自動執(zhí)行取指操作。(1)、存儲器的分段管理
8086微處理器內(nèi)部數(shù)據(jù)通路和寄存器均為16位,內(nèi)部ALU只能進行16位數(shù)據(jù)的運算,在程序中也只能使用16位地址,尋址范圍局限在216=65536(64
K)字節(jié),為了能尋址1
M字節(jié)地址空間,必須對內(nèi)存實行分段管理。分段方法
8086程序?qū)?
M字節(jié)的存儲空間視為一組存儲段,各段的功能由具體用途而定,分為代碼段、堆棧段、數(shù)據(jù)段和附加段。一個存儲段是存儲器的一個邏輯單位,每個段由連續(xù)的若干存儲單元構(gòu)成(最多64
K個),并且都是存儲器中獨立的、可分別尋址的單位。 各段在空間上可以完全重疊、部分重疊,可以連續(xù)緊鄰,也可分開。六.8086系統(tǒng)的存儲器組織A段B段C段E段D段連續(xù)緊鄰部分重疊完全重疊分開00000H10000H20000H30000H40000H實際存儲器邏輯段A段B段C段E段D段連續(xù)緊鄰部分重疊完全重疊分開00000H10000H20000H30000H40000H實際存儲器邏輯段 每個段第一個字節(jié)的位置稱為“段起始地址”,段起始地址是一個能被16整除的數(shù),即二進制數(shù)的最后4位必須是0。段起始地址中的高16位(段基值)存放于相應(yīng)的段寄存器中。
物理地址又稱實際地址PA(Physical
Address),是CPU和存儲器進行數(shù)據(jù)交換時所采用的地址。對8086
系統(tǒng)來說,每個內(nèi)存單元的物理地址為20位二進制數(shù),CPU訪問內(nèi)存單元時,通過地址總線將20位地址送入內(nèi)存,以確定要訪問的單元。
邏輯地址是程序員在程序中使用的地址。在8086系統(tǒng)中,由于對內(nèi)存實行分段管理,因此每個內(nèi)存單元的邏輯地址由兩部分構(gòu)成,即段基值和段內(nèi)偏移量,其中段基值確定需要訪問的單元在哪一個段,段內(nèi)偏移量確定需要訪問的單元相對于該段起始單元的距離。段基值和段內(nèi)偏移量都是16位二進制無符號數(shù),合稱為32位地址指針。由這兩部分就可惟一確定一個內(nèi)存單元。(2).物理地址與邏輯地址
給出需要訪問的內(nèi)存單元的邏輯地址后,必須首先由CPU中的BIU將其轉(zhuǎn)換為物理地址,才能通過系統(tǒng)地址總線送至存儲器。 由于段基值代表的是需要訪問的單元所在段的起始單元地址的高16位,而偏移地址代表需要訪問的單元與段起始單元的距離,所以在形成指定單元的20位物理地址時,只需將段基值左移4位再加上16位的偏移地址即可。16位段基值16位段內(nèi)偏移量16位段基值0000∑20位物理地址(3).物理地址的形成方法
例如,假設(shè)某內(nèi)存單元的邏輯地址為1234H:5678H,則該單元的物理地址為:PA=1234H×16+5678H=179B8H。
在程序執(zhí)行過程中,需要訪問內(nèi)存時,必須提供其邏輯地址。各種訪問內(nèi)存單元的操作中,邏輯地址的來源可歸納下表所示。
EA(EffectiveAddress)為有效地址,相當于段內(nèi)偏移量。操作類型隱含的段基值可替換的段基址偏移地址取指令CS無IP堆棧操作SS無SPBP用作基址寄存器SSDS、ESEA通用數(shù)據(jù)讀寫DSSS、ESEA字符串操作(源地址)DSSS、ESSI字符串操作(目的地址)ESSS、DSDIA. 8086系統(tǒng)地址總線有20條,可以尋址1
M(220)字節(jié)的內(nèi)存空間,內(nèi)存空間都按字節(jié)組織,每個內(nèi)存單元存儲一個字節(jié)的數(shù)據(jù),并具有一個惟一的20位地址編號,稱為字節(jié)地址。地址編碼從00000H——FFFFFH.B.如果存放16位的字數(shù)據(jù),則需要占用連續(xù)的兩個單元,其中高字節(jié)存放在高地址,低字節(jié)存放在低地址,并以該單元地址作為該字數(shù)據(jù)的字地址。但書寫相反。C.在某些情況下,8086系統(tǒng)還需要在內(nèi)存單元中存儲32位的地址指針,此時,32位地址指針中的段基值和偏移地址作為兩個16位字數(shù)據(jù)分別存入連續(xù)的4個內(nèi)存單元,其中,偏移地址存入地址較小的單元,段基值存入地址較大的單元。(4)存儲器組織20000H20001H20002H20003H字節(jié)數(shù)據(jù)12H字數(shù)據(jù)3412H地址指針7856H:3412H20000H20001H20002H20003H12H××××××20000H20001H20002H20003H12H34H××××12H34H56H78HD.8086系統(tǒng)中將1
M字節(jié)的內(nèi)存單元均分為兩個存儲分體,每個分體包括512
K個單元,分別稱為高位庫和低位庫。低位庫中的所有單元地址為偶數(shù),高位庫中的所有單元地址為奇數(shù)。每個分體的數(shù)據(jù)線分別與系統(tǒng)數(shù)據(jù)總線的高8位和低8位相連。
E.對于16位字數(shù)據(jù),若其字地址為偶數(shù),即從地址為偶數(shù)的單元開始存放,則稱該字數(shù)據(jù)為規(guī)則字;若其字地址為奇數(shù),即從地址為奇數(shù)的單元開始存放,則稱該字數(shù)據(jù)為非規(guī)則字。
規(guī)則字和非規(guī)則字的主要區(qū)別在于,CPU訪問內(nèi)存時,前者只需一個總線周期,即執(zhí)行一次訪存操作即可實現(xiàn)存?。欢笳咝枰獌蓚€總線周期,即需要連續(xù)兩次訪問才能存取到所需的字數(shù)據(jù)。為了不影響速度,字數(shù)據(jù)在內(nèi)存中應(yīng)盡量按規(guī)則字格式存放。20000H20002H20004H20001H20003H20005H20000H20002H20004H高位庫低位庫規(guī)則字1234H34H××××12H××××20001H20003H20005H高位庫低位庫非規(guī)則字1234H××12H××34H××××堆棧是按照“后進先出”原則進行讀/寫訪問的一段特殊內(nèi)存區(qū)域,用于暫存數(shù)據(jù)。8086對內(nèi)存實行分段管理,其中用作堆棧的區(qū)域稱為堆棧段。與其它段一樣,堆棧段最多包含64
K個單元。堆棧段在內(nèi)存中的位置由堆棧段寄存器SS和堆棧指針SP來指示。SS中存放堆棧段的首地址,SP中存放棧頂單元的地址。8086對堆棧的操作有兩種,即入棧和出棧。兩種操作都只能對16位數(shù)據(jù)進行,也就是說,每次入?;虺鰲5臄?shù)據(jù)都只能是16位二進制數(shù),每個16位二進制數(shù)在堆棧中占用2個單元。入棧和出棧操作遵循“先進后出”(LIFO)的原則。(5)、堆棧10500H10501H10502H10503H10504H10505H10506H10507H10508H1110509H001000SSSP棧頂10500H10501H10502H10503H10504H
5510505H
4410506H
3310507H
2210508H
1110509H
00105000SSSP棧頂10500H10501H10502H10503H10504H
5510505H
4410506H
3310507H
2210508H
1110509H
0010500006SSSP棧頂085004 假設(shè)現(xiàn)在需要將AX=2233H和BX=4455H依次推入堆棧。圖(a)是執(zhí)行該入棧操作前的情況,由于SS=1050H,SP=0008H,因此堆棧段首地址為10500H,當前棧頂單元地址為SS×16+SP=10508H。在完成上述操作后執(zhí)行出棧操作,將當前棧頂單元的內(nèi)容彈出到BX中。
在堆棧操作中,SP的內(nèi)容隨著入出棧操作的進行而不斷變化,使得堆棧棧頂是“浮動”的。 另外,8086中SP指向的棧頂是“實棧頂”。即SP指向的存儲單元已存放有信息。 入棧操作時,SP的內(nèi)容先減2,再將內(nèi)容推入堆棧;反之,出棧操作時,先將當前棧頂單元內(nèi)容彈出,SP的內(nèi)容再加2?!?.38086微處理器引腳功能
8086是Intel公司的第三代微處理器——16位微處理器。它采用40引腳的DIP(雙列直插)封裝。
它具有如下特點:
①
采用分時復(fù)用技術(shù),在不同時刻通過相同引腳傳送不同的信息,從而減少了引腳數(shù)量。②
在兩種不同的工作方式下,部分引腳具有兩種不同的功能定義。一、引腳功能
8086的40條引腳信號按功能分為4部分,即地址總線、數(shù)據(jù)總線、控制總線以及其它(時鐘和電源)引腳。GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND14023933843753663573483393210311130122913281427152616251724182319222021VccAD15A16/S3A17/S4
A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8086CPU1.地址總線和數(shù)據(jù)總線
數(shù)據(jù)總線用來在CPU和內(nèi)存(或I/O設(shè)備)之間傳遞數(shù)據(jù),地址總線用于傳送CPU產(chǎn)生的內(nèi)存單元(或I/O端口)的地址。前者為16位雙向三態(tài)總線,后者為20位輸出三態(tài)總線,其中:①AD7~AD0為地址/數(shù)據(jù)分時復(fù)用總線。在每個總線周期的開始,用作地址總線的低8位,以給出內(nèi)存單元(或I/O端口)的地址。其它時間作為數(shù)據(jù)總線,用于傳輸數(shù)據(jù)。②
A15~A8為地址總線。在每個總線周期開始,用作地址總線的高8位,以給出內(nèi)存單元或外設(shè)的高8位地址。③
A19~A16/S6~S3為地址/狀態(tài)分時復(fù)用總線。在每個總線周期開始,用作地址總線的高4位,以給出內(nèi)存單元的高4位地址;在I/O操作時,這4位置“0”。在總線周期的其它時間,這4條信號線指示CPU的狀態(tài)信息,其中,S6恒為低電平;S5反映標志寄存器中IF的當前值;S4和S3表示正在使用哪個段寄存器。
S4S3
狀態(tài)(所使用的寄存器)
0
0ES
0
1SS
1
0CS
1
1DS2.控制總線控制總線是傳送控制信號的一組信號線,其中有些是輸出線,用來傳送CPU送至其它部件的控制命令;有些是輸入線,由外部向CPU輸入狀態(tài)及請求信號(復(fù)位、中斷請求等)。
8086的控制總線中有一條MN/MX線,即最?。畲蠓绞娇刂凭€,用于決定8086的工作方式。當其接+5V時,8086處于最小組態(tài)方式;當其接地時,8086處于最大組態(tài)方式。
有些引線的功能與方式無關(guān),以下幾條不受MN/MX影響的控制線:④非屏蔽中斷請求信號NMI,輸入。當該引腳上產(chǎn)生從低電平到高電平的正跳變時,表示外部向CPU發(fā)出非屏蔽中斷請求。⑤
可屏蔽中斷請求信號INTR,輸入。⑥讀控制信號RD,三態(tài),輸出。⑦時鐘信號CLK,輸入,該信號為8086提供基本的定時脈沖。⑧
復(fù)位信號RESET,輸入。當其為高電平時,系統(tǒng)進入復(fù)位狀態(tài)⑨
準備就緒信號READY,輸入。⑩等待測試控制信號TEST,輸入。3.其它信號
MN/MX:決定組態(tài)電源Vcc,輸入。要求接+5
V±10%。地線GND。(2根)二、8086/8088最小工作模式:
8086有最小和最大兩種基本的工作方式,最小方式一般用于構(gòu)成一個小型的單處理機系統(tǒng),而最大方式一般用于多處理機系統(tǒng)。在最小方式下,8086微處理器提供系統(tǒng)所需的全部控制信號;在最大方式下,由總線控制器8288提供系統(tǒng)的總線控制信號。1).IO/M為存儲器/輸入輸出控制信號,輸出,三態(tài)。用于指示當前CPU是訪問存儲器(M/IO為高電平)還是I/O端口(M/IO為低電平)。5).DT/R為數(shù)據(jù)發(fā)送/接收信號,輸出,三態(tài)。用于指示CPU是進行讀操作(DT/R為低電平)還是寫操作(DT/R為高電平)。6).DEN為數(shù)據(jù)允許信號,輸出,三態(tài)。在CPU訪問存儲器或I/O端口的總線周期的后一段時間,該信號有效,用作系統(tǒng)中總線收發(fā)器的允許控制信號。1.最小組態(tài)時八個引腳的意義:2).WR寫控制信號,輸出,三態(tài)。用于指示CPU在進行對存儲器或I/O進行寫操作。
4).ALE為地址鎖存允許信號(輸出)。8086在總線周期的開始通過地址總線輸出地址的同時,通過該引腳輸出一個正脈沖,其下降沿用于將地址信息打入外部的地址鎖存器中。
3).INTA為中斷響應(yīng)信號(輸出,三態(tài))。當8086響應(yīng)來自INTR引腳的可屏蔽中斷請求時,通過該引腳輸出連續(xù)的兩個負脈沖。7).SS0系統(tǒng)狀態(tài)輸出信號與其它信號一起反映8088當前所執(zhí)行的操作。8).HOLD和HLDA保持請求和保持響應(yīng)信號用于直接存儲器存取(DMA)操作2.最小組態(tài)下的基本配置
時鐘發(fā)生器CLKREADYRESETMN/MXRDWRM/IOALEBHEA19~A16AD15~AD0地址鎖存器總線收發(fā)器DENDT/R存儲器I/O接口VCC8086CPU數(shù)據(jù)總線地址總線BHE控制總線地址鎖存器
8282(三片)數(shù)據(jù)收發(fā)器
8286
(二片)ALEA19~A16AD15~A0DENHOLDHLDAINTRREADYRESETCLK8284時鐘發(fā)生器DT/RM/IOBHEWRRDINTAMN/MXRESETREADY系統(tǒng)地址總線系統(tǒng)控制總線+5V最小工作模式的系統(tǒng)配置8086系統(tǒng)數(shù)據(jù)總線
時鐘發(fā)生器為8086(8088)以及其它外設(shè)芯片提供所需的時鐘信號。常用的時鐘發(fā)生器/驅(qū)動器芯片為8284。常用的總線鎖存器有Intel8282、Intel8283、74LS273、74LS373等。對8086系統(tǒng)來說,由于要鎖存的信息共有21位,所以至少需要3片鎖存器芯片,每片鎖存8位信息。
總線收發(fā)器用來對AD15~AD0上的數(shù)據(jù)進行緩沖和驅(qū)動,常用的總線收發(fā)器還有74LS245、Intel8287、8286等。時鐘及時鐘信號發(fā)生器EFIF/CRDYRESOSCREADYRESETCLK8284AREADYRESETCLK8086OSCNC外界X1X2①
8088的地址/數(shù)據(jù)復(fù)用總線只有8
條,即AD7~AD0,而A15~A8為單一功能的地址總線。②
8088的存儲器/輸入輸出控制線為IO/M,當其為高電平時表示訪問I/O端口;為低電平時表示訪問存儲器。③
8088的BHE/S7信號是SS0。 在系統(tǒng)配置上,8088同樣有最大組態(tài)和最小組態(tài)兩種工作方式,可以構(gòu)成單處理機系統(tǒng),也可構(gòu)成多處理機系統(tǒng)。 只需要一片數(shù)據(jù)總線收發(fā)器用于形成8位系統(tǒng)數(shù)據(jù)總線。 在小規(guī)模系統(tǒng)中,如只需要用到16根地址總線,地址鎖存器也只需要2片。3、8088與8086在引腳和系統(tǒng)配置上的區(qū)別三、8086/8088最大組態(tài)模式:(4)QS0和QS1
指令隊列狀態(tài)信號(輸出)為CPU提供當前指令隊列狀態(tài)信息。(1)S0、S1和S2
總線周期狀態(tài)信號(輸出)表明當前CPU執(zhí)行的操作(P67表4-2)(3)LOCK總線封鎖信號(輸出)有效時鎖住系統(tǒng)總線而不能使別的設(shè)備占用總線。由執(zhí)行指令使其有效。(2)
RQ/GT1、RQ/GT0
總線請求(輸入)/總線允許(輸出用于DMA操作。
1.引腳含義:總線控制器8288
最大組態(tài)的特殊點:由于最大組態(tài)工作模式是以8086CPU為中心的多處理系統(tǒng),多個處理器共用總線,因此需增加總線控制器和總線仲裁器完成分時控制根據(jù)CPU送來的S0、S1、S2狀態(tài)信號,產(chǎn)生各種總線命令2、8086在最大組態(tài)下的系統(tǒng)配置地址鎖存器
8282(三片)數(shù)據(jù)收發(fā)器8286(二片)ALEA19~A16AD15~A0DENINTRREADYRESETCLK8284時鐘發(fā)生器DT/R
S0BHES1S2MN/MXRESETREADY系統(tǒng)地址總線系統(tǒng)數(shù)據(jù)總線RQ/GT0RQ/GT1總線控制器
8288QS1QS0其它協(xié)處理器系統(tǒng)控制總線最大工作模式的系統(tǒng)配置8086§4.48086/8088的主要操作功能和時序1、系統(tǒng)的復(fù)位和啟動2、總線操作和總線周期3、最小組態(tài)下的總線保持4、最大組態(tài)下的讀/寫操作1、系統(tǒng)的復(fù)位和啟動
當80
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年重慶西永產(chǎn)業(yè)發(fā)展有限公司招聘7人筆試參考題庫附帶答案詳解
- 2024年福建省高速公路集團有限公司綜合管理類崗位招聘34人筆試參考題庫附帶答案詳解
- 浙江奉化市錦屏中學(xué)人教版八年級下冊歷史與社會第六單元第二課 沖破思想的牢籠教學(xué)設(shè)計
- 2024年山東土地東方發(fā)展集團有限公司招聘(30人)筆試參考題庫附帶答案詳解
- 2023-2024學(xué)年高中信息技術(shù)選修2(浙教版2019)-網(wǎng)絡(luò)基礎(chǔ)-教學(xué)設(shè)計-5.3-網(wǎng)絡(luò)安全協(xié)議
- 2024年12月廣西來賓市忻城縣歐洞鄉(xiāng)人民政府公開招聘編外人員2人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2025年吉林工業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫完整版
- 醫(yī)技三基三嚴模擬習(xí)題(含答案)
- 現(xiàn)代教育技術(shù)模擬考試題+參考答案
- 七年級數(shù)學(xué)北師大版上冊第6章《普查和抽樣調(diào)查》教學(xué)設(shè)計教案
- 2024Growatt 15000-25000UE古瑞瓦特光伏逆變器用戶手冊
- 2024年國家公務(wù)員考試專業(yè)分類專業(yè)目錄
- 家庭醫(yī)生簽約知識講座課件(共22張課件)
- DL∕T 5032-2018 火力發(fā)電廠總圖運輸設(shè)計規(guī)范
- 國際留學(xué)合作框架協(xié)議書
- DL-T 297-2023 汽輪發(fā)電機合金軸瓦超聲檢測
- JGJT 152-2019 混凝土中鋼筋檢測技術(shù)標準
- DB3212-T 1157-2024 病案庫房建設(shè)規(guī)范
- 欠款還款計劃范文
- QBT 2088-1995 硅藻土行業(yè)標準
- 交管12123學(xué)法減分考試題庫及答案
評論
0/150
提交評論