(一)8086處理器功能構成
1、數據總線:計算機中組成各部件間進行數據傳送時的公共通道。其位數表示CPU的字長,數據總線越多,數據交換速度就越快。
2、地址總線:其寬度決定了處理器能直接訪問的主存容量大小。8086可直接對1MB個存儲單元進行訪問。
3、高速緩衝存儲器Cache:大大減少了CPU讀取指令和操作數所需的時間,使CPU的執行速度顯著提高。
4、8086是16位微處理器,有16條數據總線,可以處理8位或16位數據,有20條地址總線,可以直接尋址2^20=1M個存儲單元和64K個I/O埠。
5、8088是準16位處理器,其指令系統與8086完全兼容,CPU內部結構仍為16位,但外部數據總線是8位。
6、為了充分使用總線以提高程序執行速度,被設計成兩個獨立功能部件:執行部件EU和總線接口部件BIU。
7、BIU:由段寄存器、指令指針、地質形成邏輯、總線控制邏輯和指令隊列等組成。
BIU與外部總線連接未執行部件EU完
成所有的總線操作,並計算形成20位的內存物理地址。
8、EU:由通用寄存器、標誌寄存器、運算器(ALU)和EU控制系統等組成。
負責全部指令的執行,並為BIU提供訪問存儲器和IO設備的地址。
(二)8086引腳功能
8086微處理器有40條引腳,信號按功能可分為4部分:地址總線、數據總線、控制總線、以及其他(時鐘、電源與地線)
地址線 20條 地址/數據分時復用16條
數據線 16條地址/狀態4條
M/`IO`RD`ER對內存或IO讀寫
控制線16條ALE`DENDT/`R控制地址數據分開信號
NMIINTR`INTA中段
MN/`MX`BHE
其他
4條
地線、電源、時鐘
1、AD0~AD15:地址/數據分時復用
2、A16/S3~A19/S6:地址/狀態分時復用
3、`BHE/S7:總線高位有效
4、`RD:讀信號
5、`WR:寫信號
6、M/`IO:存儲器或IO埠訪問信號
7、Ready:準備就緒信號
8、INTR:中段請求信號
9、`INTA:中段響應信號
10、NMI:非屏蔽中斷請求信號
11、`TEST:測試信號
12、RESET:復位信號
13、ALE:地址鎖存信號
14、DT/`R:數據發送/接受控制信號
15、`DEN:數據允許信號
16、HOLD:總線請求信號
17、HLDA:總線請求響應信號
18、MN/`MX:工作模式選擇信號
(三)8086總線周期
1、時鐘周期:時鐘脈衝的重複周期稱其為時鐘周期(T狀態),是CPU的時間基準,由計算機主頻決定。如8086主頻為5MHZ,1個時鐘周期就是200ns 。
2、總線周期:8086CPU與外部交換信息總是通過總線進行的,CPU的周期,一般一個總線周期由四個時鐘周期組成(T1\T2\T3\T4)
3、指令周期:每條指令的執行由取指令、解碼和執行等操作組成,執行一條指令所需要的時間稱為指令周期。不同指令周期是不等長的,一個指令周期由一個或若干個總線周期組成。
(四)8086工作方式
1、最小方式下MN/`MX+5V電源
2、最大方式下MN/`MX接地
(五)寄存器組織
在8086/8088微處理器中可供程式設計師使用的有14個16位寄存器,按期用途可分為通用寄存器、段寄存器、控制寄存器等3類。
1、CS:IP固定
DS:BX、SI、DI或位移量默認
SS:SP固定
SS:BP默認
ES:DI(用於字符串操作指令)固定
2、復位後內部寄存器狀態
IP0000H通用寄存器0000H
CSFFFFH標誌R0000H
DS0000H指令隊列緩衝器空
SS0000H
ES0000H
3、FLAGS標誌R
6個狀態標誌:表示處理器當前運行狀態
CF : 進位標誌,運算結果又進(借)位,CF=0
PF : 奇偶標誌,低8為中1的個數為偶數個,PF=1
AF : 輔助進位,低4位向前有進(借)位,AF=1
ZF : 零標誌位,結果為0,ZF=1
SF : 符號標誌,與最高位一致
OF : 溢出標誌,雙高位判別法
3個控制標誌:控制處理器某一特定功能
IF : 可屏蔽中段允許標誌,IF=1表示允許
TF : 陷阱標誌(單步執行)
DF : 方向標誌,DF = 0地址增量變化,DF = 1地址減量變化
4、存儲器空間
8086有20條地址總線可以訪問20條地址線,直接對1MB個存儲單元進行訪問。每個存儲單元存放一個字節型數據且每個單元都有20位的地址。
5、存儲器段結構
8086/8088CPU中有關可用來存放地址的存儲器如IP、SP等都是16位的。故智能直接尋址64KB。為了對1M個存儲單元進行管理,8086/8088採用了段結構的存儲器管理方法。
8086/8088將整個存儲器分為許多邏輯段,但只有4中類型:代碼段、數據段、堆棧段和附加段。
每個邏輯段的容量小於或等於64KB允許他們在整個存儲空間中浮動,各個邏輯段之間緊密相連,也可以相互重疊。
6、邏輯地址和物理地址
邏輯地址:由段地址(邏輯段起始地址的高16位)和偏移地址表示的存儲單元的地址稱為邏輯地址,記為: 段地址:偏移地址
物理地址:由CPU內部總線接口單元BIU中的地址加法器根據邏輯地址產生的20位存儲單元地址稱為物理地址
物理地址 = 段地址 x 10H + 偏移地址
注意:段地址是由段寄存器(CS、DS、SS、ES)提供,偏移地址通常由地址寄存器(IP、BX、BP、SP、SI或DI等)及立即數等提供。
7、8086/8088存儲器結構
8086的1M存儲空間實際上分為兩個512KB的存儲體構成,又稱為存儲庫,分別叫高位庫(奇地址、非規則字、兩次)和低位庫(偶地址、規則字、一次),而8088隻有一個1M的存儲體。