微機(jī)-第二章-1-結(jié)構(gòu)_第1頁(yè)
微機(jī)-第二章-1-結(jié)構(gòu)_第2頁(yè)
微機(jī)-第二章-1-結(jié)構(gòu)_第3頁(yè)
微機(jī)-第二章-1-結(jié)構(gòu)_第4頁(yè)
微機(jī)-第二章-1-結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2.1 80868088 CPU 的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)2.1 80868088 CPU 的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)1執(zhí)行部件執(zhí)行部件EU 執(zhí)行部件與外部系統(tǒng)沒(méi)有直接相連,它是執(zhí)行部件與外部系統(tǒng)沒(méi)有直接相連,它是CPU,其主要任務(wù)是:,其主要任務(wù)是:完成指令譯碼和執(zhí)行指令操作完成指令譯碼和執(zhí)行指令操作。EU由算術(shù)邏輯運(yùn)算單元、運(yùn)算由算術(shù)邏輯運(yùn)算單元、運(yùn)算寄存器、寄存器組、標(biāo)志寄存器及寄存器、寄存器組、標(biāo)志寄存器及EU控制電路等組成??刂齐娐返冉M成。 1)算術(shù)邏輯運(yùn)算單元(算術(shù)邏輯運(yùn)算單元(ALU) 8086的的ALU是一個(gè)是一個(gè)16位的運(yùn)算器,用于位的運(yùn)算器,用于8位或位或16位的二進(jìn)制算位的二進(jìn)制算

2、術(shù)及邏輯運(yùn)算。術(shù)及邏輯運(yùn)算。 2)運(yùn)算寄存器運(yùn)算寄存器 運(yùn)算寄存器用來(lái)協(xié)助運(yùn)算寄存器用來(lái)協(xié)助ALU完成運(yùn)算,暫存參加運(yùn)算的操作數(shù)。完成運(yùn)算,暫存參加運(yùn)算的操作數(shù)。 3)寄存器組寄存器組寄存器組包括通用數(shù)據(jù)寄存器、指針寄存器及變址寄存器。寄存器組包括通用數(shù)據(jù)寄存器、指針寄存器及變址寄存器。通用數(shù)據(jù)寄存器通用數(shù)據(jù)寄存器AX、BX、CX及及DX 4個(gè)個(gè)16位的通用數(shù)據(jù)寄存器即可以作為位的通用數(shù)據(jù)寄存器即可以作為16位位寄存器使用,也可作為寄存器使用,也可作為8個(gè)個(gè)8位寄存器使用。一般用于存放參與運(yùn)位寄存器使用。一般用于存放參與運(yùn)算的操作數(shù)或運(yùn)算結(jié)果。它們的高算的操作數(shù)或運(yùn)算結(jié)果。它們的高8位稱為位稱

3、為AH、BH、CH、DH,低低8位稱為位稱為AL、BL、CL、DL,因此提高了編程的靈活性。,因此提高了編程的靈活性。 AX稱累加器,具有簡(jiǎn)單計(jì)算功能,許多指令是利用它完成的。稱累加器,具有簡(jiǎn)單計(jì)算功能,許多指令是利用它完成的。BX稱基址寄存器,在計(jì)算內(nèi)存地址時(shí),常用來(lái)存放基本地址。稱基址寄存器,在計(jì)算內(nèi)存地址時(shí),常用來(lái)存放基本地址。CX稱為計(jì)數(shù)寄存器,常用作循環(huán)計(jì)數(shù)器。稱為計(jì)數(shù)寄存器,常用作循環(huán)計(jì)數(shù)器。DX稱為數(shù)據(jù)寄存器,常用來(lái)存放擴(kuò)展數(shù)據(jù)。稱為數(shù)據(jù)寄存器,常用來(lái)存放擴(kuò)展數(shù)據(jù)。指針寄存器指針寄存器SP稱為堆棧指針寄存器,其稱為堆棧指針寄存器,其16位值是指向存儲(chǔ)器堆棧的棧頂單位值是指向存儲(chǔ)器

4、堆棧的棧頂單元的邏輯地址(有效地址)。當(dāng)進(jìn)行堆棧操作時(shí),會(huì)自動(dòng)調(diào)整元的邏輯地址(有效地址)。當(dāng)進(jìn)行堆棧操作時(shí),會(huì)自動(dòng)調(diào)整棧頂指針。棧頂指針。BP稱為基址指針寄存器,常用來(lái)存放內(nèi)存單元的稱為基址指針寄存器,常用來(lái)存放內(nèi)存單元的16位偏移地址位偏移地址(有效地址)。(有效地址)。變址寄存器變址寄存器SI 稱為源變址寄存器,常用來(lái)存放源操作數(shù)的稱為源變址寄存器,常用來(lái)存放源操作數(shù)的16位偏移地址。位偏移地址。DI 稱目的變址寄存器,用來(lái)存放目的操作數(shù)的稱目的變址寄存器,用來(lái)存放目的操作數(shù)的16位偏移地址。位偏移地址。4)標(biāo)志寄存器標(biāo)志寄存器標(biāo)志寄存器(標(biāo)志寄存器(FLAGS)也稱為程序狀態(tài)字()也稱

5、為程序狀態(tài)字(PSW),用來(lái)存放),用來(lái)存放8086工作過(guò)程中的狀態(tài)。它是工作過(guò)程中的狀態(tài)。它是16位寄存器,但只用到其中的位寄存器,但只用到其中的9位,位,包括包括6個(gè)狀態(tài)標(biāo)志和個(gè)狀態(tài)標(biāo)志和3個(gè)控制標(biāo)志,如下所示:個(gè)控制標(biāo)志,如下所示: 狀態(tài)標(biāo)志位實(shí)時(shí)記錄了算術(shù)邏輯運(yùn)算結(jié)果的一些特征,如:結(jié)果狀態(tài)標(biāo)志位實(shí)時(shí)記錄了算術(shù)邏輯運(yùn)算結(jié)果的一些特征,如:結(jié)果是否為是否為”0”,是否有進(jìn)位、借位,是否溢出等。不同指令對(duì)狀態(tài),是否有進(jìn)位、借位,是否溢出等。不同指令對(duì)狀態(tài)標(biāo)志位的影響是不同的。標(biāo)志位的影響是不同的。進(jìn)位標(biāo)志位進(jìn)位標(biāo)志位CF當(dāng)進(jìn)行加法或減法運(yùn)算時(shí),若最高位發(fā)生進(jìn)當(dāng)進(jìn)行加法或減法運(yùn)算時(shí),若最高位

6、發(fā)生進(jìn)位或借位則位或借位則CF=1,否則,否則CF=0;零標(biāo)志位零標(biāo)志位ZF當(dāng)運(yùn)算結(jié)果為零時(shí)當(dāng)運(yùn)算結(jié)果為零時(shí)ZF1,否則,否則ZF0;半進(jìn)位位半進(jìn)位位AF在加法或減法運(yùn)算時(shí),若低在加法或減法運(yùn)算時(shí),若低4位向高位向高4位有進(jìn)位位有進(jìn)位或借位則或借位則AF1,否則,否則AF=0;奇奇/偶標(biāo)志位偶標(biāo)志位PF當(dāng)運(yùn)算結(jié)果的低當(dāng)運(yùn)算結(jié)果的低8位中位中“1”的個(gè)數(shù)為偶數(shù)則的個(gè)數(shù)為偶數(shù)則PF=1,為奇數(shù)時(shí),為奇數(shù)時(shí)PF=0。符號(hào)標(biāo)志位符號(hào)標(biāo)志位SF當(dāng)進(jìn)行有符號(hào)數(shù)的運(yùn)算時(shí),運(yùn)算結(jié)果的最高當(dāng)進(jìn)行有符號(hào)數(shù)的運(yùn)算時(shí),運(yùn)算結(jié)果的最高位為位為1則則SF1,否則,否則SF0,用來(lái)標(biāo)志運(yùn)算結(jié)果是正數(shù)還是負(fù)數(shù);,用來(lái)標(biāo)志運(yùn)算

7、結(jié)果是正數(shù)還是負(fù)數(shù);溢出標(biāo)志位溢出標(biāo)志位OF當(dāng)算術(shù)運(yùn)算的結(jié)果超出了有符號(hào)數(shù)的表示當(dāng)算術(shù)運(yùn)算的結(jié)果超出了有符號(hào)數(shù)的表示范圍,即發(fā)生了溢出,則范圍,即發(fā)生了溢出,則OF1,否則,否則OF0。8位及位及16位有符號(hào)位有符號(hào)數(shù)的表示范圍是數(shù)的表示范圍是128127及及32768 32767;控制標(biāo)志位控制標(biāo)志位是用專用指令來(lái)設(shè)置和清除的。每個(gè)控制標(biāo)志位都是用專用指令來(lái)設(shè)置和清除的。每個(gè)控制標(biāo)志位都對(duì)對(duì)8086產(chǎn)生特定的控制作用。產(chǎn)生特定的控制作用。跟蹤標(biāo)志位跟蹤標(biāo)志位TF若若TF1則使則使8086處于單步執(zhí)行指令的工處于單步執(zhí)行指令的工作方式。這種方式便于進(jìn)行程序的調(diào)試。每執(zhí)行一條指令后,作方式。這種

8、方式便于進(jìn)行程序的調(diào)試。每執(zhí)行一條指令后,便自動(dòng)產(chǎn)生一次內(nèi)部中斷,從而使用戶能逐條地檢查程序。便自動(dòng)產(chǎn)生一次內(nèi)部中斷,從而使用戶能逐條地檢查程序。中斷允許中斷允許標(biāo)志位標(biāo)志位IF是控制可屏蔽中斷的標(biāo)志,若是控制可屏蔽中斷的標(biāo)志,若IF1使使8086允許響允許響應(yīng)可屏蔽中斷請(qǐng)求。若應(yīng)可屏蔽中斷請(qǐng)求。若IF0使使8086禁止響應(yīng)可屏蔽中斷請(qǐng)求。禁止響應(yīng)可屏蔽中斷請(qǐng)求。IF對(duì)非屏蔽中斷及內(nèi)部中斷沒(méi)有影響。對(duì)非屏蔽中斷及內(nèi)部中斷沒(méi)有影響。方向標(biāo)志位方向標(biāo)志位DF是控制串操作指令的標(biāo)志,若是控制串操作指令的標(biāo)志,若DF1使串使串操作按減地址方向進(jìn)行。也就是說(shuō),從高位地址開(kāi)始,每操作操作按減地址方向進(jìn)行。

9、也就是說(shuō),從高位地址開(kāi)始,每操作一次,操作數(shù)地址減一次,操作數(shù)地址減1。若。若DF0使串操作按增地址方向進(jìn)行。使串操作按增地址方向進(jìn)行。 5)EU控制電路控制電路 EU控制電路負(fù)責(zé)從控制電路負(fù)責(zé)從BIU的指令隊(duì)列緩沖器中取指令,根據(jù)指令的指令隊(duì)列緩沖器中取指令,根據(jù)指令要求向要求向EU內(nèi)部各部件發(fā)出控制命令,以完成指令規(guī)定的操作。內(nèi)部各部件發(fā)出控制命令,以完成指令規(guī)定的操作。具體工作過(guò)程是:從具體工作過(guò)程是:從BIU指令隊(duì)列緩沖器中取出指令操作碼,通指令隊(duì)列緩沖器中取出指令操作碼,通過(guò)譯碼電路分析,發(fā)出相應(yīng)控制命令,控制過(guò)譯碼電路分析,發(fā)出相應(yīng)控制命令,控制“ALU數(shù)據(jù)總線數(shù)據(jù)總線”中中的數(shù)據(jù)

10、的流向。如果是運(yùn)算操作,操作數(shù)經(jīng)過(guò)運(yùn)算寄存器送入的數(shù)據(jù)的流向。如果是運(yùn)算操作,操作數(shù)經(jīng)過(guò)運(yùn)算寄存器送入ALU,運(yùn)算結(jié)果經(jīng)過(guò),運(yùn)算結(jié)果經(jīng)過(guò)“ALU數(shù)據(jù)總線數(shù)據(jù)總線”送到相應(yīng)寄存器,同時(shí)根送到相應(yīng)寄存器,同時(shí)根據(jù)運(yùn)算結(jié)果的特征設(shè)置標(biāo)志寄存器的各個(gè)狀態(tài)位。當(dāng)指令要求訪據(jù)運(yùn)算結(jié)果的特征設(shè)置標(biāo)志寄存器的各個(gè)狀態(tài)位。當(dāng)指令要求訪問(wèn)存儲(chǔ)器或問(wèn)存儲(chǔ)器或I/O端口時(shí),則向端口時(shí),則向BIU發(fā)出請(qǐng)求,由發(fā)出請(qǐng)求,由BIU通過(guò)通過(guò)8086系統(tǒng)系統(tǒng)總線訪問(wèn)存儲(chǔ)器或總線訪問(wèn)存儲(chǔ)器或I/O端口。端口。2總線接口部件總線接口部件BIU總線接口部件是8086 CPU管理存儲(chǔ)器和I/O的接口部件,它提供了16位雙向數(shù)據(jù)總線、2

11、0位地址總線和若干條控制信號(hào)。其具體任務(wù)是:負(fù)責(zé)從內(nèi)存單元中預(yù)取指令,并將它們送到指令隊(duì)列緩沖器暫存;CPU執(zhí)行指令時(shí),總線接口部件要配合執(zhí)行部件從指定的內(nèi)存單元或I/O端口取數(shù)據(jù)并傳送給執(zhí)行部件,或者把執(zhí)行部件的處理結(jié)果傳送到指定的內(nèi)存單元或I/O端口中??偩€接口部件由指令隊(duì)列緩沖器、20位地址加法器、段寄存器、指令指針和總線控制電路等組成。 1)指令隊(duì)列緩沖器在EU執(zhí)行指令的同時(shí),從內(nèi)存中取下面一條或幾條指令依次存放在指令隊(duì)列中,并按順序送到EU中執(zhí)行。其操作原則: 每當(dāng)指令隊(duì)列緩沖器中存滿一條指令后,EU就立即開(kāi)始執(zhí)行。 指令隊(duì)列緩沖器只要空出2個(gè)字節(jié),則就要求BIU取新指令到指令隊(duì)列緩

12、沖器中。2)指令指針寄存器 16位的指令指針寄存器IP用來(lái)存放將要取出的指令的偏移地址。它只有和CS相結(jié)合,才能形成指向指令存放單元的物理地址。在程序運(yùn)行時(shí),IP的內(nèi)容由BIU修改,使它總是存放下一條要取的指令的偏移地址。程序不能直接訪問(wèn)IP,但通過(guò)特殊指令可以修改其內(nèi)容。例如:轉(zhuǎn)移指令可將目標(biāo)地址送入IP,實(shí)現(xiàn)程序的轉(zhuǎn)移。 3)20位物理地址的形成位物理地址的形成8086 CPU有20條地址線,具有220=1MB的最大存儲(chǔ)器物理空間,地址為00000H0FFFFFH。但在8086內(nèi)部,所有寄存器均為16位。顯然用寄存器不能直接對(duì)1M的內(nèi)存空間尋址,如何利用16的寄存器實(shí)現(xiàn)20位地址的尋址呢?

13、為此引入了存儲(chǔ)器分段管理的概念。一個(gè)段最多64KB,一個(gè)程序可以有存放指令的代碼段、存放數(shù)據(jù)的數(shù)據(jù)段、進(jìn)行堆棧操作的堆棧段及可能的附加段,各段的段基地址(首地址)分別由CS、SS、DS及ES 4個(gè)16位的段寄存器給出。也就是說(shuō)各段寄存器是指向相應(yīng)存儲(chǔ)器段的指針。 要形成存儲(chǔ)單元的20位物理地址,先將對(duì)應(yīng)的段寄存器16位值(段首地址)左移四位后(乘16),得到一個(gè)20位的值(低4位為0000),通過(guò)地址加法器與相應(yīng)的16位段內(nèi)偏移地址相加, 最終形成一個(gè)20位的物理地址,即: 物理地址=段寄存器的值X16+偏移地址 例如:要形成某指令碼的物理地址,假定代碼段寄存器CS=2000H,指令碼單元的偏

14、移地址IP=3050H,則此指令的物理地址為23050H。在8086中,對(duì)存儲(chǔ)器不同類型的訪問(wèn)所使用的段寄存器和與之相應(yīng)的偏移地址的來(lái)源做了基本約定。4)總線控制電路總線控制電路將8086的內(nèi)部總線與外部總線相連,產(chǎn)生相應(yīng)的總線控制信號(hào),控制地址總線輸出物理地址及數(shù)據(jù)總線傳輸指令和數(shù)據(jù)。 由于采用了指令隊(duì)列緩沖器可使BIU和EU獨(dú)立的并行工作,在EU執(zhí)行指令的同時(shí),BIU可預(yù)取下面一條或幾條指令。因此,在一般情況下,8086執(zhí)行完一條指令后,就可以立即執(zhí)行存放在指令隊(duì)列中的下一條指令。16位微處理器的這種并行重疊操作的結(jié)構(gòu),提高了總線的信息傳輸效率和整個(gè)系統(tǒng)的執(zhí)行速度。 2.2 8086808

15、8 CPU 的管腳信號(hào)的管腳信號(hào)CPU是一塊具有40個(gè)管腳信號(hào)的雙列直插式(DIP)集成電路 為適應(yīng)各種應(yīng)用場(chǎng)合,8086/8088 CPU被設(shè)計(jì)為具有兩種工作模式的芯片,即最小模式和最大模式。所謂最小模式,就是指以一個(gè)8086/8088 CPU為核心而構(gòu)成的小型單處理機(jī)系統(tǒng)。在這種系統(tǒng)中,所有的總線控制信號(hào)都直接由 CPU自身產(chǎn)生,只需要很少的外圍支持電路。最大模式是相對(duì)最小模式而言的。以一個(gè)CPU為主處理器,再配備一個(gè)或多個(gè)用來(lái)協(xié)助主處理器工作的協(xié)處理器,構(gòu)成一個(gè)功能更為強(qiáng)大的多處理器系統(tǒng)。CPU需由總線控制器的支持,代替它產(chǎn)生總線控制信號(hào)。1最小模式下的8086/8088 CPU當(dāng)模式選

16、擇管腳信號(hào)接高電平,即MN/MX=Vcc時(shí),工作在最小模式下。各管腳信號(hào)定義如下: Vcc、GND芯片電源與接地。8086/8088采用單一+5V電源。 AD15AD0、A19/S6A16/S3、ALEAD15AD0是16位地址/數(shù)據(jù)復(fù)用管腳。為了減少芯片的管腳數(shù)目,可安排不同時(shí)刻傳送的兩種信息共同分時(shí)復(fù)用一組外部管腳。輸出地址信息時(shí),AD15AD0即為單向的A15A0 ,是20位地址總線的低16位;傳送數(shù)據(jù)信息時(shí),AD15AD0即為雙向的D15D0,是16位的數(shù)據(jù)總線。A19/S6A16/S3是4位地址/狀態(tài)復(fù)用管腳。輸出地址信息時(shí),A19/S6A16/S3即為單向的A19A16 ,是20位

17、地址總線的高4位;輸出狀態(tài)信息時(shí),A19/S6A16/S3即為單向的S6S3。在輸出的狀態(tài)信息中,S6恒等于0;S5表明中 斷允許標(biāo)志位IF的當(dāng)前設(shè)置,即表明當(dāng)前CPU是否允許響應(yīng)可屏蔽中斷的請(qǐng)求;S4S3的組合表明當(dāng)前正在使用的段寄存器。ALE是地址鎖存輸出信號(hào),高電平有效。當(dāng)ALE信號(hào)有效時(shí),AD15AD0、A19/S6A16/S3兩組復(fù)用管腳輸出的是地址20位地址信息。因此,它被用作鎖存控制信號(hào)將A19A0鎖存于外部的地址鎖存器,實(shí)現(xiàn)外部地址總線與數(shù)據(jù)總線的分離。 RD、WR、M/IO、READY這是一組關(guān)于讀/寫(xiě)控制的管腳信號(hào)。RD是讀周期輸出信號(hào),低電平有效。當(dāng)為低電平時(shí),表明CPU

18、正對(duì)內(nèi)存或I/O端口進(jìn)行讀操作。WR是寫(xiě)周期輸出信號(hào),低電平有效。當(dāng)為低電平時(shí),表明CPU正對(duì)內(nèi)存或I/O端口進(jìn)行寫(xiě)操作。M/IO是用來(lái)區(qū)分當(dāng)前的讀/寫(xiě)操作是訪問(wèn)存儲(chǔ)器還是訪問(wèn)I/O端口的輸出信號(hào)。高電平時(shí),表明對(duì)存儲(chǔ)器的訪問(wèn);當(dāng)為低電平時(shí),表明對(duì)I/O端口的訪問(wèn)。READY是由被訪問(wèn)的存儲(chǔ)器或I/O端口輸入的數(shù)據(jù)準(zhǔn)備就緒信號(hào),高電平有效。當(dāng)為高電平時(shí),表明存儲(chǔ)器或I/O端口已準(zhǔn)備就緒,可以進(jìn)行數(shù)據(jù)讀/寫(xiě);當(dāng)為低電平時(shí),表明存儲(chǔ)器或I/O端口沒(méi)有準(zhǔn)備就緒,CPU必須等待其就緒后才能進(jìn)行數(shù)據(jù)讀/寫(xiě); DEN、DT/R、BHE/S7這是一組關(guān)于數(shù)據(jù)總線控制的管腳信號(hào)。DEN是控制數(shù)據(jù)總線允許的輸出信號(hào),低電平有效。當(dāng)為低電平時(shí),表明CPU正通過(guò)數(shù)據(jù)總線發(fā)送或接收一個(gè)數(shù)據(jù)。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論