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