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