8086工作模式
1、最小模式
用于由8086單一微處理器構成的小系統。在這種方式下,由8086CPU直接產生小系統所需要的全部控制信號。器系統特點是:總線控制邏輯直接由8086CPU產生和控制。若有CPU以外的其他模塊想占用總線,則可以向CPU提出請求,在CPU允許并響應的情況下,該模塊才可以獲得總線控制權,使用完后,又將總線控制權還給CPU。
2、最大模式
用于實現多處理機系統,其中,8086CPU被稱為主處理器,其他處理器被稱為協處理器。在這種方式下,8086CPU不直接提供用于存儲器或I/O讀寫的讀寫命令等控制信號,而是將當前要執行的傳送操作類型編碼為3個狀態位輸出,由總線控制器8288對狀態信號進行譯碼產生相應控制信號。最大模式系統的特點是:總線控制邏輯由總線控制器8288產生和控制,即8288將主處理器的狀態和信號轉換成系統總線命令和控制信號。協處理器只是協助主處理器完成某些輔助工作,即被動的接受并執行來自主處理器的命令。和8086配套使用的協處理器有兩個:一個是專用于數值計算的協處理器8087,另一個是專用于輸入輸出操作的協處理器8089。8087通過硬件實現高精度整數浮點數運算。8089有其自身的一套專門用于輸入輸出操作的命令系統,還可帶局部存儲器,可以直接為輸入輸出設備服務。增加協處理器,使得浮點運算和輸入輸出操作不再占用8086時間,從而大大提高了系統的運行效率。
8086結構
總線接口單元(BIUbusinterfaceunit)
8086cpu結構圖總線接口單元BIU
總線接口部件由下列各部分組成
⑴4個段地址寄存器:
CS(codesegment)——16位的代碼段寄存器;
DS(datasegment)——16位的數據段寄存器;
ES(extrasegment)——16位的擴展段寄存器;
SS(stacksegment)——16位的堆棧段寄存器;
⑵16位的指令指針寄存器IP;
⑶20位的地址加法器;
⑷6字節的指令隊列緩沖器。
執行單元
執行部件由下列幾個部分組成:
⑴8個通用寄存器:即AX、BX、CX、DX,BP,SP,SI,DI;
其中,4個數據寄存器:AX、BX、CX、DX;
2個地址指針寄存器:BP(basepointer),SP(stackpointer);
2個變址寄存器:SI(sourceindex),DI(destinationindex)[2];
⑵標志寄存器FR(flagsregister);
⑶算術邏輯單元ALU(arithmeticlogicunit)。
EU負責全部指令的執行,同時向BIU輸出數據(操作結果),并對寄存器和標志寄存器進行管理。在ALU中進行16位運算,數據傳送和處理均在EU控制下執行。
8086cpu結構圖
8086系統組成
8086是一種微處理器,再加上必須的支持芯片,如時鐘發生器,地址鎖存器,總線驅動器,存儲器和I/O接口等,才能構成一臺完整的微型計算機。根據外部設備的數量和系統復雜程度,8086可以選用兩種系統構成模式,最小模式和最大模式。最小模式是單CPU系統,在這種系統中,8086的MN/MX引腳接高電平,系統全部的控制信號都直接由CPU提供。最大模式是多CPU系統,此時MN/MX引腳接低電平,必須通過8288總線控制器對CPU的狀態信息進行譯碼才能產生系統必須的控制信號。
最小模式系統構成如圖所示。這時8086的MN/MX引腳接至VCC,它直接產生存儲器和I/O端口的讀寫命令,如IO/M,RD,WR,INTA,直接產生地址鎖定信號ALE,控制數據收發器的控制信號DT/R,DEN.
1.地址鎖存
8086的AD15~~AD0是地址/數據復用線,即CPU與存儲器進行信息交換時,首先在T1狀態,先由CPU送出訪問存儲單元的地址信息到AD15~~AD0上,隨后又用在些線來傳送數據所以在數據送上總線以前,必須先將地址鎖存起來。可用8282或74LS373鎖存8086的單向地址AD15~~AD0.圖7-9中使用三片8282,這是因為8282只具有8位鎖存功能,而8086具有20位地址和一根BHE信號。若系統存儲器容量較小,使用不到20位地址信息,也可只用2片8282.圖中OE端接地,使鎖存器永遠處于允許輸出狀態。引腳STB接8086的ALE輸出。在總線周期T1狀態,ALE上出現正脈沖,它的下降沿將8282輸入端的地址信息存入鎖存器,并由輸出端送入地址總線。
2.雙向數據總線驅動器
CPU可以直接將數據發送到數據總線上。而無需鎖存。為了增加總線負載能力,CPU數據總線一般要加上驅動器,且要求雙向驅動器,一般采用8位雙向驅動器8286或74LS245.由于8086數據總線是16位的,所以要用2片8286.8286的Ai引腳接CPU的ADi,其Di引腳接到系統數據總線D1上,并將8086的DT/R接8286的T引腳,當DT/R為高電平時,數據從CPU發送到數據總線上.DT/R為低電平時,CPU從數據總線上接收數據.8286的OE腳接8086的DEN腳。當8086的DEN為低電平時,才允許數據輸入或輸出。
3.時鐘發生器/驅動器
8086所需時鐘脈沖CLK由8284提供.8284輸出時鐘CLK的頻率,取決X1,X2跨接石英晶體的頻率。除此以外,8284還向8086提供定時和寬度符合要求的RESET復位信號及符合要求的READY信號。
4.存儲器部件
8086能直接尋址1MB存儲空間。這個存儲空間分為兩個512KB存儲體。一個存儲體由奇地址單元組成,用于存儲16數據的高字節,另一個存儲體由偶地址單元組成,用于存儲16位數據低字節。前者稱為奇地址存儲器,后者稱為偶地址存儲體。偶地址存儲體的8位數據總線接CPU的數據總線D7~~D0,而奇地址存儲體8位數據線接數據總線D15~~D8.地址線A19~~A1同時接到兩個存儲體,而A0作為偶地址選中信號即A0=0時,選中偶存儲體.BHE作為奇地址片選信號,BHE=0時選中奇存儲體。所以兩個存儲體可以同時讀出或寫入,也可單獨選中一個存儲體。
5.I/O端口
一個完整的微機系統必須有I/O設備.I/O設備都有端口地址號.CPU通過地址總線發出端口地址,經過端口地址譯碼器輸出,送到端口的片選引腳而選定指定的端口.8086根據執行命令是訪問存儲器指令還是輸入輸出指令,來使M/IO控制信號是高電平或是低電平,以區分地址總線上的地址是訪問存儲器還是訪問外設.