一、8086微控制器的內部結構
微控制器的基本功能
(1)能夠進行算術運算和邏輯運算
(2)能對指令進行譯碼,寄存並執行指令所規定的操作
(3)具有與存儲器和I/O接口進行數據通信的能力
(4)暫存少量數據
(5)能夠提供這個系統所需的定時和控制信號
(6)能夠響應I/O設備發出的中斷請求
8086CPU的功能結構
採用 流水線處理技術 ,將總線接口部件(BIU) 和 執行部件(EU 分爲兩個獨立的部分
BIU: CPU與存儲器及I/O的接口
(1)20位地址加法器:將邏輯地址變換成20位物理地址,完成地址加法操作。
合成方法是將段寄存器的內容*16(相當於左移二進制數的4位)後加上16位偏移地址
(2)4個段地址寄存器: 代碼段寄存器CS、數據段寄存器DS、附加段寄存器ES 和堆棧段寄存器SS
(3)指令隊列緩衝器:具有6字節的“先進先出“的RAM存儲器,按順序存放CPU要執行的指令,並送入EU中去執行
(4)總線控制電路:產生併發出總線控制信號,實現對存儲器或I/O端口的讀/寫控制
(5)16位指令指針寄存器IP
EU
(1)算術邏輯單元ALU
(2)暫存寄存器
(3)標誌寄存器Flags
(4)通用寄存器
4個數據通用寄存器(AX 、BX、CX、DX)、兩個地址指針寄存器(BP、SP)、兩個變址寄存器(SI、DI)
(5)EU控制器
兩級指令流水線的優點:既減少了CPU爲取指令而必須等待的時間,提高了CPU的利用率,加快了整機的運行速度,也降低了對內存存取速度的要求
SP存放的是當前堆棧段中棧頂的偏移地址
BP存放的是堆棧中某一存儲單元的偏移地址
SI規定用作存放源操作數(即源串)的偏移地址,故稱爲源變址寄存器
DI規定用作存放目的操作數(即目的串)的偏移地址,故稱爲目的變址寄存器
IP用來存放代碼段中的偏移地址
Flags用來保存在一條指令執行之後,CPU所處狀態的信息及運算結果的特徵,該寄存器又稱爲程序狀態字(PSW)。設置的是16位標誌寄存器,但實際上只使用了其中的9位
存儲單元的地址和內容
8086CPU以字節爲單位對存儲單元進行編址,所以,每個存儲單元中只能存放一個8位的二進制數據(1個字節),兩個相鄰的存儲單元之間相隔的是1個字節。
思考:一個字或者雙字數據在內存中怎樣存放的呢?
一個字在內存中要佔相鄰的兩個存儲單元,低字節存放在低地址中,高字節存放在高地址中,訪問時以低地址作爲該字的首地址,從內存示意圖中看是“倒置”存放的。