Intel 8086是一個由Intel于1978年所設計的16位微處理器芯片,是x86架構的鼻祖。不久之后,Intel 就推出了 Intel 8088 (一個擁有8根外部數據總線的微處理器)。它是以8080和8085的設計為基礎,擁有類似的寄存器組,但是數據總線擴充為16位。總線界面單元(Bus Interface Unit)透過6字節預存(prefecth) 的隊列(queue)位指令給執行單元(Execution Unit),所以取指令和執行是同步的,8086 CPU有20條地址線,可直接尋址1MB的存儲空間,每一個存儲單元可以存放一個字節(8位)二進制信息。
總線接口單元 (BIU bus interface unit)
總線接口部件由下列各部分組成
(1)4個段地址寄存器:
CS(code segment)——16位的代碼段寄存器;
DS(data segment)——16位的數據段寄存器;
ES(extra segment)——16位的擴展段寄存器;
SS(stack segment)——16位的堆棧段寄存器;
(2)16位的指令指針寄存器IP;
(3)20位的地址加法器;
(4)6字節的指令隊列緩沖器。
執行單元
執行部件由下列幾個部分組成:
(1)8個通用寄存器:即AX、BX、CX、DX,BP,SP,SI,DI ;其中,4個數據寄存器:AX、BX、CX、DX;2個地址指針寄存器:BP(base pointer),SP(stack pointer);2個變址寄存器:SI(source index),DI(destination index);
(2)標志寄存器FR(flags register);
(3)算術邏輯單元ALU(arithmetic logic unit)。EU負責全部指令的執行,同時向BIU輸出數據(操作結果),并對寄存器和標志寄存器進行管理。在ALU中進行16位運算,數據傳送和處理均在EU控制下執行。
BIU和EU的管理
(1)BIU和EU可以并行工作,提高CPU效率。BIU監視著指令隊列。當指令隊列中有2個空字節時,就自動把指令取到隊列中。
(2)EU執行指令時,從指令隊列頭部取指令,然后執行。如需訪問存儲器,則EU向BIU發出請求,由BIU訪問存儲器。
(3)在執行轉移、調用、返回指令時,需改變隊列中的指令,要等新指令裝入隊列中后,EU才繼續執行指令。
8086微處理器功能
按功能可分為兩部分:總線接口單元BIU(Bus Interface Unit)和執行單元EU(Execution Unit)。
總線接口單元BIU是8086 CPU在存儲器和I/O設備之間的接口部件,負責對全部引腳的操作,即8086對存儲器和I/O設備的所有操作都是由BIU完成的。所有對外部總線的操作都必須有正確的地址和適當的控制信號,BIU中的各部件主要是圍繞這個目標設計的。它提供了16位雙向數據總線、20位地址總線和若干條控制總線。
其具體任務是:負責從內存單元中預取指令,并將它們送到指令隊列緩沖器暫存.CPU執行指令時,總線接口單元要配合執行單元,從指定的內存單元或I/O端口中取出數據傳送給執行單元,或者把執行單元的處理結果傳送到指定的內存單元或I/O端口中。
執行單元EU中包含1個16位的運算器ALU、8個16位的寄存器、1個16位標志寄存器FR、1個運算暫存器和執行單元的控制電路。這個單元進行所有指令的解釋和執行,同時管理上述有關的寄存器.EU對指令的執行是從取指令操作碼開始的,它從總線接口單元的指令隊列緩沖器中每次取一個字節。如果指令隊列緩沖器中是空的,那么EU就要等待BIU通過外部總線從存儲器中取得指令并送到EU,通過譯碼電路分析,發出相應控制命令,控制ALU數據總線中數據的流向.
評論
查看更多