版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、18086微處理器的編程結(jié)構(gòu)和引腳信號(hào)及技術(shù)2主要內(nèi)容BIU和EU的組成和功能;8086的內(nèi)部寄存器和標(biāo)志位;總線(xiàn)周期的概念;8086微處理器的引腳功能;380 x86微處理器簡(jiǎn)介型號(hào)發(fā)布年份字長(zhǎng)/位集成度主頻/MHz內(nèi)DB/位外DB/位AB/位尋址空間高速緩沖存儲(chǔ)器80861978162.94.771616201M無(wú)80881979準(zhǔn)162.94.77168201M無(wú)8028619821613.462016162416M無(wú)8038619853227.512.5333232324G有80486199032120160251003232324G8K586199364310330601663264
2、324G8K+8KP II19976475023333331643664G32K,512K48086/8088外形5指令流水線(xiàn)取指令指令譯碼取操作數(shù)執(zhí)行指令存放結(jié)果 CPU執(zhí)行一條指令的過(guò)程類(lèi)似于工廠(chǎng)生產(chǎn)流水線(xiàn),被分 解為多個(gè)小的步驟,稱(chēng)為指令流水線(xiàn)。原料調(diào)度分配生產(chǎn)線(xiàn)成品倉(cāng)庫(kù)出廠(chǎng)數(shù)據(jù)和程序指令控制器的調(diào)度分配ALU等 功能部件處理后的數(shù)據(jù)存儲(chǔ)器輸出6指令流水線(xiàn)指令流水線(xiàn)有兩種運(yùn)作方式:串行方式: 取指令和執(zhí)行指令在不同的時(shí)刻按順序執(zhí)行。并行方式:(中斷會(huì)極大地降低并行方式的效率,取到的指令需要被丟棄,然后重新取需要執(zhí)行的指令) 取指令和執(zhí)行指令可同時(shí)執(zhí)行,需要有能并行工作的硬件的支持。7串行
3、工作方式8086以前的CPU采用串行工作方式取指令1執(zhí)行1取指令2執(zhí)行2CPUBUS忙 碌忙 碌取指令3執(zhí)行3忙 碌空閑空閑空閑t1t0t2t3t4t56個(gè)周期執(zhí)行了3條指令8并行工作方式8086CPU采用并行工作方式取指令1取指令2取指令3取指令4執(zhí)行1執(zhí)行2執(zhí)行3BUS忙碌執(zhí)行4CPUt1t0t2t3t4t5取指令5執(zhí)行5忙碌忙碌忙碌忙碌忙碌6個(gè)周期執(zhí)行了5條指令9并行操作的前提取指令部件和指令執(zhí)行部件要能夠并行工作;各步執(zhí)行時(shí)間基本相同,否則需再細(xì)分;取指令部件取出的指令要能暫存在CPU內(nèi)部某個(gè)地方;指令執(zhí)行部件在需要時(shí)總能立即獲得暫存的指令;需要解決轉(zhuǎn)移指令問(wèn)題。(取到的指令丟棄的問(wèn)題
4、)108086 CPU的特點(diǎn)采用并行流水線(xiàn)工作方式: 通過(guò)設(shè)置指令預(yù)取隊(duì)列(IPQ)實(shí)現(xiàn)對(duì)內(nèi)存空間實(shí)行分段管理: 將內(nèi)存分段并設(shè)置地址段寄存器,以實(shí)現(xiàn)對(duì)1MB空間的尋址。支持多處理器系統(tǒng):8087 FPU執(zhí)行部件取指部件11三、8086的cpu內(nèi)部結(jié)構(gòu)框圖12總線(xiàn)接口單元(BIU)功能:BIU 負(fù)責(zé) 8086 與存儲(chǔ)器之間的信息傳送。BIU 的任務(wù)是從內(nèi)存的指定部分取出指令,送至指令流隊(duì)列中排隊(duì)(8086 的指令流隊(duì)列可以存儲(chǔ) 6 個(gè)字節(jié)的指令;8088 的指令流隊(duì)列只能存儲(chǔ) 4 個(gè)字節(jié)的指令);在執(zhí)行指令時(shí)所需的操作數(shù),也由 BIU 從內(nèi)存的指定區(qū)域取出,傳送給 EU 部分執(zhí)行。13執(zhí)行單元
5、(EU)功能:EU 部分負(fù)責(zé)指令的執(zhí)行。由于CPU 取指部分與執(zhí)行指令部分是分開(kāi)的,所以在一條指令的執(zhí)行過(guò)程中,就可以取出下一條(或多條)指令,在指令流隊(duì)列中排隊(duì)。在一條指令執(zhí)行完就可以立即執(zhí)行下一條指令。從而減少了 CPU 為取指令而等待的時(shí)間,提高了 CPU 的運(yùn)行效率,提高了 CPU 的整體運(yùn)行速度。14寄存器結(jié)構(gòu)示意圖AHALBHBLCHCLDHDLSPBPSIDIIPFLAGS / PSWCSDSSSES數(shù)據(jù)寄存器地址指針和變址寄存器控制寄存器段寄存器通用寄存器AXBXCXDXBX15數(shù)據(jù)寄存器數(shù)據(jù)寄存器既可作為16位使用,也可作為8位的使用。 AX:累加器,是算術(shù)運(yùn)算的主要寄存器。
6、另外,I/O指令 利用這個(gè)寄存器和外設(shè)通訊。BX:通用寄存器,另外可以作為基址寄存器。CX:通用寄存器,另外在循環(huán)時(shí)作為隱含的計(jì)數(shù)器使用。DX:通用寄存器,另外可以和AX一起儲(chǔ)存雙字,DX放高 位。16地址指針和變址寄存器地址指針與變址寄存器SP:堆棧指針寄存器,用來(lái)指示棧頂?shù)钠频刂?。BP:基址指針寄存器,作為堆棧區(qū)中的一個(gè)基地址以便訪(fǎng)問(wèn)棧中的其他信息。SI:源變址寄存器。DI:目的變址寄存器。 一般,SP、BP與SS連用來(lái)確定堆棧中某存儲(chǔ)單元的地址,SI、DI與DS連用確定數(shù)據(jù)段中某存儲(chǔ)單元的地址。17段寄存器CS:代碼段寄存器。存放當(dāng)前正在運(yùn)行的程序。DS:數(shù)據(jù)段寄存器。存放當(dāng)前程序所用
7、的數(shù)據(jù)。ES:附加段寄存器。附加的數(shù)據(jù)段,是一個(gè)輔助的數(shù)據(jù)區(qū),也是串處理指令的目的操作數(shù)存放區(qū)。SS:堆棧段寄存器。定義堆棧所在的區(qū)域。 除非特別指定,一般情況下,各段的分配由操作系統(tǒng)負(fù)責(zé),獨(dú)立占有64K,可以重疊。18控制寄存器IP:指令指針寄存器。存放代碼段中的偏移地址,它始終指向下一條指令的首地址,與CS一起確定下一條指令的物理地址。FLAG / PSW:標(biāo)志寄存器/程序狀態(tài)字寄存器。由條件碼標(biāo)志和控制標(biāo)志構(gòu)成。19標(biāo)志寄存器20標(biāo)志寄存器狀態(tài)標(biāo)志CF(Carry Flag):進(jìn)位標(biāo)志,最高位有進(jìn)借位時(shí)為1,否則為0PF(Parity Flag):奇偶標(biāo)志,結(jié)果低8位中有偶數(shù)個(gè)“1”時(shí),
8、PF1;奇數(shù)為0AF(Auxiliary Carry Flag):輔助進(jìn)位標(biāo)志,也稱(chēng)半進(jìn)位位。運(yùn)算結(jié)果中低4位向高4位借位或進(jìn)位時(shí),AF1,否則為021標(biāo)志寄存器狀態(tài)標(biāo)志ZF(Zero Flag):零標(biāo)志。運(yùn)算結(jié)果為全0時(shí),ZF1,否則為0SF(Sign Flag):符號(hào)標(biāo)志。與結(jié)果的最高位(符號(hào)位)相同。OF(Overflow Flag):溢出標(biāo)志。溢出時(shí)OF1,否則為022標(biāo)志寄存器控制標(biāo)志DF(Direction Flag):方向標(biāo)志。DF0時(shí),則在串操作中,變址寄存器中的地址自動(dòng)遞增;DF1時(shí)相反。IF(Interrupt Enable Flag):中斷允許標(biāo)志。IF =1時(shí)CPU可響
9、應(yīng)可屏蔽中斷請(qǐng)求;IF0時(shí)不可響應(yīng)(相當(dāng)于單片機(jī)中的EA,總中斷開(kāi)關(guān))。TF(Trace Flag):跟蹤標(biāo)志。TF1時(shí),CPU進(jìn)入單步操作方式。(程序調(diào)試時(shí)用到的單步執(zhí)行)23四、8086的工作時(shí)序工作時(shí)序分為很多小的時(shí)間片:時(shí)鐘周期 一個(gè)時(shí)鐘脈沖所持續(xù)的時(shí)間。時(shí)鐘周期越短,CPU執(zhí)行速度越快??偩€(xiàn)周期 通過(guò)總線(xiàn)對(duì)存儲(chǔ)器或I/O接口進(jìn)行一次訪(fǎng)問(wèn)所需要的時(shí)間。一般包括4個(gè)時(shí)鐘周期。在5MHz的工作頻率時(shí),一個(gè)標(biāo)準(zhǔn)總線(xiàn)周期為s。24總線(xiàn)周期中各時(shí)鐘周期的操作T1周期CPU向存儲(chǔ)器或I/O發(fā)送地址CPU向地址/數(shù)據(jù)分離器(地址鎖存器)發(fā)送ALE信號(hào)T2周期給存儲(chǔ)器或I/O發(fā)送寫(xiě)入的數(shù)據(jù)測(cè)試READ
10、Y引腳狀態(tài),以決定是否插入等待周期發(fā)出RD或WR信號(hào)T3周期等待存儲(chǔ)器或I/O存取數(shù)據(jù)完成使數(shù)據(jù)在CPU與存儲(chǔ)器或I/O之間傳輸T4周期寫(xiě)入數(shù)據(jù) 讀/寫(xiě)總線(xiàn)周期的信號(hào)波形見(jiàn)下頁(yè)圖。25數(shù)據(jù)寫(xiě)入存儲(chǔ)器時(shí)的總線(xiàn)操作寫(xiě)總線(xiàn)周期由ALE信號(hào)將地址鎖存到地址鎖存器DEN=0并且DT/R=1時(shí)打開(kāi)總線(xiàn)緩沖器,將其放到系統(tǒng)數(shù)據(jù)總線(xiàn)上此信號(hào)與M/IO信號(hào)共同構(gòu)成存儲(chǔ)器寫(xiě)控制信號(hào),將數(shù)據(jù)寫(xiě)入存儲(chǔ)器26數(shù)據(jù)從存儲(chǔ)器讀出的總線(xiàn)操作讀總線(xiàn)周期DEN=0并且DT/R=0時(shí)打開(kāi)總線(xiàn)緩沖器,將其放到CPU總線(xiàn)上,供CPU讀入 較完整的讀總線(xiàn)周期此信號(hào)與M/IO信號(hào)共同構(gòu)成存儲(chǔ)器讀控制信號(hào)由ALE信號(hào)將地址鎖存到地址鎖存器2
11、78086 CPU的兩種工作模式8086可工作于兩種模式下,即: 最小模式和最大模式。最小模式不支持8087。存儲(chǔ)器和I/O控制信號(hào)全部由CPU產(chǎn)生。最大模式支持8087。 CPU的部分信號(hào)線(xiàn)被用作8087的控制,因此需要由8288總線(xiàn)控制器來(lái)產(chǎn)生這些控制信號(hào)。注:80286以后的CPU不再區(qū)分這兩種工作模式。28最小模式下的連接示意圖8086CPU控制總線(xiàn)數(shù)據(jù)總線(xiàn)地址總線(xiàn)地址鎖存器數(shù)據(jù)總線(xiàn)緩沖器ALE時(shí)鐘發(fā)生 器8284A地址/數(shù)據(jù)82868282Vcc MN/MXDENDT/R29最大模式下的連接示意圖8088CPU數(shù)據(jù)總線(xiàn)地址總線(xiàn)地址鎖存器數(shù)據(jù)總線(xiàn)緩沖器時(shí)鐘發(fā)生 器總 線(xiàn)控制器控制總線(xiàn)8
12、284A8288ALECLK MN/MX82828286GND30二、8086CPU的引線(xiàn)及功能引腳定義的方法可大致分為:每個(gè)引腳只傳送一種信息(如RD)電平的高低代表不同的含義(如M/IO)在不同模式下有不同的名稱(chēng)和定義(如WR/LOCK)分時(shí)復(fù)用引腳(如AD15AD0)引腳的輸入、輸出分別傳送不同的信息(如RQ/GT0)313233最小模式下的主要引線(xiàn)MN/MX 工作模式控制=0(接地):工作于最大模式;=1(接Vcc):工作于最小模式。34最小模式下的主要引線(xiàn)地址總線(xiàn)、數(shù)據(jù)總線(xiàn):AD15AD0:三態(tài)地址/數(shù)據(jù)復(fù)用引腳。ALE=1時(shí)作為地址線(xiàn)A16A0,ALE=0時(shí)作為數(shù)據(jù)線(xiàn)D16D0。傳
13、送地址時(shí)為輸出,傳送數(shù)據(jù)時(shí)為雙向。A19-A16/S6-S3:輸出,三態(tài)地址/狀態(tài)復(fù)用引腳。ALE=1時(shí)作為地址線(xiàn)A19A16,ALE=0時(shí)作為控制信號(hào)。35最小模式下的主要引線(xiàn)控制信號(hào):WR:輸出,三態(tài)寫(xiě)選通信號(hào),表示CPU正在寫(xiě)數(shù)據(jù)到MEM或I/O設(shè)備。RD:輸出,三態(tài)讀信號(hào),表示CPU正在從總線(xiàn)上讀來(lái)自于MEM或I/O設(shè)備的數(shù)據(jù)。M/IO:輸出,三態(tài)區(qū)分是讀寫(xiě)存儲(chǔ)器還是讀寫(xiě)I/O端口(即地址總線(xiàn)上的地址是存儲(chǔ)器地址還是I/O端口地址)。36最小模式下的主要引線(xiàn)DEN:輸出,三態(tài)數(shù)據(jù)總線(xiàn)允許信號(hào)。用來(lái)打開(kāi)外部數(shù)據(jù)總線(xiàn)緩沖器。DT/R:輸出,三態(tài)表明CPU正在傳送還是接收數(shù)據(jù),用來(lái)作為外部數(shù)
14、據(jù)總線(xiàn)緩沖器的方向控制;ALE:輸出地址鎖存允許信號(hào),表示地址/數(shù)據(jù)總線(xiàn)上傳輸?shù)氖堑刂沸盘?hào)。以上三個(gè)信號(hào)的用法見(jiàn)下頁(yè)圖37最小模式下的主要引線(xiàn)RESET:輸入 復(fù)位信號(hào),保持4個(gè)以上時(shí)鐘周期的高電平時(shí)將引起CPU進(jìn)入復(fù)位過(guò)程(IF清0,并從存儲(chǔ)單元FFFF0H開(kāi)始執(zhí)行指令);BHE/S7:輸出高8位數(shù)據(jù)總線(xiàn)允許。在讀/寫(xiě)操作期間允許高8位數(shù)據(jù)總線(xiàn)D16D8有效(即讀/寫(xiě)數(shù)據(jù)的高8位)。 READY:輸入準(zhǔn)備就緒。用于與存儲(chǔ)器或I/O接口的同步。=0時(shí)CPU進(jìn)入等待狀態(tài)(插入1個(gè)或多個(gè)等待周期)。38READY引腳的作用總線(xiàn)周期T2T1T3T4時(shí)鐘周期總線(xiàn)周期T2T1T3TwaitT4標(biāo)準(zhǔn)總線(xiàn)周
15、期增加了等待狀態(tài)的總線(xiàn)周期若在T3周期上升沿檢測(cè)到READY=0,將插入等待周期,插入的個(gè)數(shù)取決于READY何時(shí)變?yōu)?。采樣398086 Read Cycle408086 Write Cycle418086 Read Cycle (1 Wait State)428086 Read Cycle438086 Write Cycle448086 Read Cycle (1 Wait State)45中斷請(qǐng)求和響應(yīng)信號(hào)INTR:輸入可屏蔽中斷請(qǐng)求輸入端,CPU要檢查IF狀態(tài)NMI:輸入非屏蔽中斷請(qǐng)求輸入端, CPU不檢查IF狀態(tài)INTA:輸出中斷響應(yīng)信號(hào),表示CPU已進(jìn)入中斷響應(yīng)周期。此信號(hào)常用來(lái)選通
16、中斷向量號(hào)。46總線(xiàn)保持信號(hào)HOLD:輸入總線(xiàn)保持請(qǐng)求。用來(lái)直接存儲(chǔ)器存取(DMA)。當(dāng)CPU以外的其他設(shè)備要求占用總線(xiàn)以便訪(fǎng)問(wèn)存儲(chǔ)器時(shí),通過(guò)此引腳向CPU發(fā)出請(qǐng)求。HOLD=1時(shí),CPU停止執(zhí)行指令,并將地址/數(shù)據(jù)總線(xiàn)和控制總線(xiàn)中的所有三態(tài)控制線(xiàn)置為高阻狀態(tài)。HLDA:輸出總線(xiàn)保持響應(yīng)。CPU對(duì)HOLD信號(hào)的響應(yīng)信號(hào)。指示CPU已進(jìn)入保持狀態(tài)。47其他信號(hào)TEST:輸入測(cè)試信號(hào)。執(zhí)行WAIT指令時(shí)將測(cè)試此引腳的狀態(tài)。=0時(shí),WAIT指令相當(dāng)于空操作(NOP)。=1時(shí),WAIT指令將重復(fù)測(cè)試直到它變?yōu)?。通常此引腳與8087算術(shù)協(xié)處理器相連。CLK:輸入時(shí)鐘引腳。為CPU提供基本的定時(shí)信號(hào)。占
17、空比必須為33(高1/3,低2/3)。483.4 8086的存儲(chǔ)器組織8086可訪(fǎng)問(wèn)1MB的存儲(chǔ)空間(為什么?)哪個(gè)寄存器能夠放得下20位的地址?(地址加法器)用分段的方法解決。段是存儲(chǔ)器中的一塊區(qū)域段起始于存儲(chǔ)器內(nèi)16字節(jié)整倍數(shù)的邊界處。段首地址的最低4位一定為0用段和偏移的組合訪(fǎng)問(wèn)存儲(chǔ)單元每個(gè)段最大為64KB(為什么?)(DB寬度決定)所有存儲(chǔ)單元的地址都由段地址加偏移地址組成段地址被裝入段寄存器中以供尋址使用偏移地址用于在64KB存儲(chǔ)器段內(nèi)選擇任一單元49段和偏移設(shè)段起始地址=60000H段地址偏移地址0FFFFH6A000H12H60000H6 0 0 0段寄存器偏移地址A000H 0
18、 0 0 0段地址(16位)段起始地址 50邏輯地址邏輯地址: 段和偏移形式的地址 段地址:偏移量(有效地址)邏輯地址用于匯編語(yǔ)言程序設(shè)計(jì)(important)以下地址都是邏輯地址的例子:(1)2000H:0120H(2)2010H:0020H(3)3000H:3000H51物理地址(地址加法器能夠存儲(chǔ)20位的物理地址)物理地址: 存儲(chǔ)單元的硬件地址物理地址=段地址16 (或段地址左移4位)+偏移地址528086/8088 20-bit Addresses53Exercise: 20-bit AddressingCS contains 0A820h,IP contains 0CE24h. What is the resulting physical address?CS contains 0B500h, IP contains 0024h. What is the resulting physical address?十六進(jìn)制數(shù)前面加上0是為了與某些寄存器的標(biāo)識(shí)符進(jìn)行區(qū)分,比如說(shuō)AH表示通用寄存器中累加器的高八位54默認(rèn)段和偏移寄存
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 承包草地合同(2篇)
- 2025年度數(shù)據(jù)中心農(nóng)民工用工合同4篇
- 二手房交易法律合同模板2024一
- 2025年度個(gè)人貸款合同風(fēng)險(xiǎn)評(píng)估與管理規(guī)范4篇
- 二零二五年度國(guó)際貨物保險(xiǎn)合同條款及理賠細(xì)則3篇
- 2025年度臨時(shí)臨時(shí)臨時(shí)停車(chē)場(chǎng)租賃合同2篇
- 2025年度個(gè)人股權(quán)分割及轉(zhuǎn)讓合同3篇
- 個(gè)人與個(gè)人2024年度汽車(chē)租賃合同3篇
- 二零二五年度寧波勞動(dòng)合同模板:包含員工勞動(dòng)合同變更條款
- 二零二五年度外匯借款合同風(fēng)險(xiǎn)防范與應(yīng)對(duì)策略
- 2024年資格考試-對(duì)外漢語(yǔ)教師資格證筆試參考題庫(kù)含答案
- 軟件研發(fā)安全管理制度
- 三位數(shù)除以?xún)晌粩?shù)-豎式運(yùn)算300題
- 寺院消防安全培訓(xùn)課件
- 比摩阻-管徑-流量計(jì)算公式
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、異丙醇和正丁醇檢驗(yàn)
- 五年級(jí)數(shù)學(xué)應(yīng)用題100道
- 西方經(jīng)濟(jì)學(xué)(第二版)完整整套課件(馬工程)
- 高三開(kāi)學(xué)收心班會(huì)課件
- GB/T 33688-2017選煤磁選設(shè)備工藝效果評(píng)定方法
- 科技計(jì)劃項(xiàng)目申報(bào)培訓(xùn)
評(píng)論
0/150
提交評(píng)論