微機(jī)原理與接口技術(shù)23CPU結(jié)構(gòu)、流水線、總線周期、引腳功能已看課件_第1頁(yè)
微機(jī)原理與接口技術(shù)23CPU結(jié)構(gòu)、流水線、總線周期、引腳功能已看課件_第2頁(yè)
微機(jī)原理與接口技術(shù)23CPU結(jié)構(gòu)、流水線、總線周期、引腳功能已看課件_第3頁(yè)
微機(jī)原理與接口技術(shù)23CPU結(jié)構(gòu)、流水線、總線周期、引腳功能已看課件_第4頁(yè)
微機(jī)原理與接口技術(shù)23CPU結(jié)構(gòu)、流水線、總線周期、引腳功能已看課件_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第二講

8086微處理器的編程結(jié)構(gòu)和引腳信號(hào)1主要內(nèi)容BIU和EU的組成和功能;8086的內(nèi)部寄存器和標(biāo)志位;總線周期的概念;8086微處理器的引腳功能;280x86微處理器簡(jiǎn)介型號(hào)發(fā)布年份字長(zhǎng)/位集成度主頻/MHz內(nèi)DB/位外DB/位AB/位尋址空間高速緩沖存儲(chǔ)器80861978162.94.771616201M無80881979準(zhǔn)162.94.77168201M無8028619821613.46~2016162416M無8038619853227.512.5~333232324G有80486199032120~16025~1003232324G8K586199364310~33060~1663264324G8K+8KPII199764750233~33331643664G32K,512K3指令流水線取指令指令譯碼取操作數(shù)執(zhí)行指令存放結(jié)果CPU執(zhí)行一條指令的過程類似于工廠生產(chǎn)流水線,被分解為多個(gè)小的步驟,稱為指令流水線。原料調(diào)度分配生產(chǎn)線成品倉(cāng)庫(kù)出廠數(shù)據(jù)和程序指令控制器的調(diào)度分配ALU等功能部件處理后的數(shù)據(jù)存儲(chǔ)器輸出5指令流水線指令流水線有兩種運(yùn)作方式:串行方式:

取指令和執(zhí)行指令在不同的時(shí)刻按順序執(zhí)行。并行方式:(中斷會(huì)極大地降低并行方式的效率,取到的指令需要被丟棄,然后重新取需要執(zhí)行的指令)取指令和執(zhí)行指令可同時(shí)執(zhí)行,需要有能并行工作的硬件的支持。6串行工作方式8086以前的CPU采用串行工作方式取指令1執(zhí)行1取指令2執(zhí)行2CPUBUS忙碌忙碌取指令3執(zhí)行3忙碌空閑空閑空閑t1t0t2t3t4t56個(gè)周期執(zhí)行了3條指令7并行操作的前提取指令部件和指令執(zhí)行部件要能夠并行工作;各步執(zhí)行時(shí)間基本相同,否則需再細(xì)分;取指令部件取出的指令要能暫存在CPU內(nèi)部某個(gè)地方;指令執(zhí)行部件在需要時(shí)總能立即獲得暫存的指令;需要解決轉(zhuǎn)移指令問題。(取到的指令丟棄的問題)98086CPU的特點(diǎn)采用并行流水線工作方式:

通過設(shè)置指令預(yù)取隊(duì)列(IPQ)實(shí)現(xiàn)對(duì)內(nèi)存空間實(shí)行分段管理:

將內(nèi)存分段并設(shè)置地址段寄存器,以實(shí)現(xiàn)對(duì)1MB空間的尋址。支持多處理器系統(tǒng):8087FPU執(zhí)行部件取指部件10三、8086的cpu內(nèi)部結(jié)構(gòu)框圖11執(zhí)行單元(EU)功能:EU

部分負(fù)責(zé)指令的執(zhí)行。由于CPU取指部分與執(zhí)行指令部分是分開的,所以在一條指令的執(zhí)行過程中,就可以取出下一條(或多條)指令,在指令流隊(duì)列中排隊(duì)。在一條指令執(zhí)行完就可以立即執(zhí)行下一條指令。從而減少了CPU為取指令而等待的時(shí)間,提高了CPU的運(yùn)行效率,提高了CPU的整體運(yùn)行速度。13寄存器結(jié)構(gòu)示意圖AHALBHBLCHCLDHDLSPBPSIDIIPFLAGS/PSWCSDSSSES數(shù)據(jù)寄存器地址指針和變址寄存器控制寄存器段寄存器通用寄存器AXBXCXDXBX14數(shù)據(jù)寄存器數(shù)據(jù)寄存器既可作為16位使用,也可作為8位的使用。AX:累加器,是算術(shù)運(yùn)算的主要寄存器。另外,I/O指令利用這個(gè)寄存器和外設(shè)通訊。BX:通用寄存器,另外可以作為基址寄存器。CX:通用寄存器,另外在循環(huán)時(shí)作為隱含的計(jì)數(shù)器使用。DX:通用寄存器,另外可以和AX一起儲(chǔ)存雙字,DX放高位。15段寄存器CS:代碼段寄存器。存放當(dāng)前正在運(yùn)行的程序。DS:數(shù)據(jù)段寄存器。存放當(dāng)前程序所用的數(shù)據(jù)。ES:附加段寄存器。附加的數(shù)據(jù)段,是一個(gè)輔助的數(shù)據(jù)區(qū),也是串處理指令的目的操作數(shù)存放區(qū)。SS:堆棧段寄存器。定義堆棧所在的區(qū)域。

除非特別指定,一般情況下,各段的分配由操作系統(tǒng)負(fù)責(zé),獨(dú)立占有64K,可以重疊。17控制寄存器IP:指令指針寄存器。存放代碼段中的偏移地址,它始終指向下一條指令的首地址,與CS一起確定下一條指令的物理地址。FLAG/PSW:標(biāo)志寄存器/程序狀態(tài)字寄存器。由條件碼標(biāo)志和控制標(biāo)志構(gòu)成。18標(biāo)志寄存器19標(biāo)志寄存器狀態(tài)標(biāo)志ZF(ZeroFlag):零標(biāo)志。運(yùn)算結(jié)果為全0時(shí),ZF=1,否則為0SF(SignFlag):符號(hào)標(biāo)志。與結(jié)果的最高位(符號(hào)位)相同。OF(OverflowFlag):溢出標(biāo)志。溢出時(shí)OF=1,否則為021標(biāo)志寄存器控制標(biāo)志DF(DirectionFlag):方向標(biāo)志。DF=0時(shí),則在串操作中,變址寄存器中的地址自動(dòng)遞增;DF=1時(shí)相反。IF(InterruptEnableFlag):中斷允許標(biāo)志。IF=1時(shí)CPU可響應(yīng)可屏蔽中斷請(qǐng)求;IF=0時(shí)不可響應(yīng)(相當(dāng)于單片機(jī)中的EA,總中斷開關(guān))。TF(TraceFlag):跟蹤標(biāo)志。TF=1時(shí),CPU進(jìn)入單步操作方式。(程序調(diào)試時(shí)用到的單步執(zhí)行)22四、8086的工作時(shí)序工作時(shí)序分為很多小的時(shí)間片:時(shí)鐘周期

一個(gè)時(shí)鐘脈沖所持續(xù)的時(shí)間。時(shí)鐘周期越短,CPU執(zhí)行速度越快??偩€周期通過總線對(duì)存儲(chǔ)器或I/O接口進(jìn)行一次訪問所需要的時(shí)間。一般包括4個(gè)時(shí)鐘周期。

在5MHz的工作頻率時(shí),一個(gè)標(biāo)準(zhǔn)總線周期為0.8μs。23數(shù)據(jù)寫入存儲(chǔ)器時(shí)的總線操作

——寫總線周期①由ALE信號(hào)將地址鎖存到地址鎖存器②DEN=0并且DT/R=1時(shí)打開總線緩沖器,將其放到系統(tǒng)數(shù)據(jù)總線上③此信號(hào)與M/IO信號(hào)共同構(gòu)成存儲(chǔ)器寫控制信號(hào),將數(shù)據(jù)寫入存儲(chǔ)器25數(shù)據(jù)從存儲(chǔ)器讀出的總線操作

——讀總線周期③DEN=0并且DT/R=0時(shí)打開總線緩沖器,將其放到CPU總線上,供CPU讀入較完整的讀總線周期②此信號(hào)與M/IO信號(hào)共同構(gòu)成存儲(chǔ)器讀控制信號(hào)①由ALE信號(hào)將地址鎖存到地址鎖存器26最大模式下的連接示意圖8088CPU數(shù)據(jù)總線地址總線地址鎖存器數(shù)據(jù)總線緩沖器時(shí)鐘發(fā)生器總線控制器控制總線8284A8288ALECLK

MN/MX82828286GND29二、8086CPU的引線及功能引腳定義的方法可大致分為:每個(gè)引腳只傳送一種信息(如RD)電平的高低代表不同的含義(如M/IO)在不同模式下有不同的名稱和定義(如WR/LOCK)分時(shí)復(fù)用引腳(如AD15~AD0)引腳的輸入、輸出分別傳送不同的信息(如RQ/GT0)303132最小模式下的主要引線MN/MX

工作模式控制=0(接地):工作于最大模式;=1(接Vcc):工作于最小模式。33最小模式下的主要引線地址總線、數(shù)據(jù)總線:AD15~AD0:三態(tài)地址/數(shù)據(jù)復(fù)用引腳。ALE=1時(shí)作為地址線A16~A0,ALE=0時(shí)作為數(shù)據(jù)線D16~D0。傳送地址時(shí)為輸出,傳送數(shù)據(jù)時(shí)為雙向。A19-A16/S6-S3:輸出,三態(tài)地址/狀態(tài)復(fù)用引腳。ALE=1時(shí)作為地址線A19~A16,ALE=0時(shí)作為控制信號(hào)。34最小模式下的主要引線控制信號(hào):WR:輸出,三態(tài)寫選通信號(hào),表示CPU正在寫數(shù)據(jù)到MEM或I/O設(shè)備。RD:輸出,三態(tài)讀信號(hào),表示CPU正在從總線上讀來自于MEM或I/O設(shè)備的數(shù)據(jù)。M/IO:輸出,三態(tài)區(qū)分是讀寫存儲(chǔ)器還是讀寫I/O端口(即地址總線上的地址是存儲(chǔ)器地址還是I/O端口地址)。35最小模式下的主要引線DEN:輸出,三態(tài)數(shù)據(jù)總線允許信號(hào)。用來打開外部數(shù)據(jù)總線緩沖器。DT/R:輸出,三態(tài)表明CPU正在傳送還是接收數(shù)據(jù),用來作為外部數(shù)據(jù)總線緩沖器的方向控制;ALE:輸出地址鎖存允許信號(hào),表示地址/數(shù)據(jù)總線上傳輸?shù)氖堑刂沸盘?hào)。以上三個(gè)信號(hào)的用法見下頁(yè)圖36最小模式下的主要引線RESET:輸入復(fù)位信號(hào),保持4個(gè)以上時(shí)鐘周期的高電平時(shí)將引起CPU進(jìn)入復(fù)位過程(IF清0,并從存儲(chǔ)單元FFFF0H開始執(zhí)行指令);BHE/S7:輸出高8位數(shù)據(jù)總線允許。在讀/寫操作期間允許高8位數(shù)據(jù)總線D16~D8有效(即讀/寫數(shù)據(jù)的高8位)。

READY:輸入準(zhǔn)備就緒。用于與存儲(chǔ)器或I/O接口的同步。=0時(shí)CPU進(jìn)入等待狀態(tài)(插入1個(gè)或多個(gè)等待周期)。37READY引腳的作用總線周期T2T1T3T4時(shí)鐘周期總線周期T2T1T3TwaitT4標(biāo)準(zhǔn)總線周期增加了等待狀態(tài)的總線周期若在T3周期上升沿檢測(cè)到READY=0,將插入等待周期,插入的個(gè)數(shù)取決于READY何時(shí)變?yōu)?。采樣388086ReadCycle398086WriteCycle408086ReadCycle(1WaitState)418086ReadCycle428086WriteCycle438086ReadCycle(1WaitState)44中斷請(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)常用來選通中斷向量號(hào)。45總線保持信號(hào)HOLD:輸入總線保持請(qǐng)求。用來直接存儲(chǔ)器存取(DMA)。當(dāng)CPU以外的其他設(shè)備要求占用總線以便訪問存儲(chǔ)器時(shí),通過此引腳向CPU發(fā)出請(qǐng)求。HOLD=1時(shí),CPU停止執(zhí)行指令,并將地址/數(shù)據(jù)總線和控制總線中的所有三態(tài)控制線置為高阻狀態(tài)。HLDA:輸出總線保持響應(yīng)。CPU對(duì)HOLD信號(hào)的響應(yīng)信號(hào)。指示CPU已進(jìn)入保持狀態(tài)。46其他信號(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)。占空比必須為33%(高1/3,低2/3)。47§3.48086的存儲(chǔ)器組織8086可訪問1MB的存儲(chǔ)空間(為什么?)哪個(gè)寄存器能夠放得下20位的地址?(地址加法器)用分段的方法解決。段是存儲(chǔ)器中的一塊區(qū)域段起始于存儲(chǔ)器內(nèi)16字節(jié)整倍數(shù)的邊界處。段首地址的最低4位一定為0用段和偏移的組合訪問存儲(chǔ)單元每個(gè)段最大為64KB(為什么?)(DB寬度決定)所有存儲(chǔ)單元的地址都由段地址加偏移地址組成段地址被裝入段寄存器中以供尋址使用偏移地址用于在64KB存儲(chǔ)器段內(nèi)選擇任一單元48段和偏移設(shè)段起始地址=60000H段地址偏移地址0~FFFFH6A000H12H60000H6000段寄存器偏移地址=A000H···0000段地址(16位)段起始地址×××???×××49邏輯地址邏輯地址:段和偏移形式的地址段地址:偏移量(有效地址)邏輯地址用于匯編語言程序設(shè)計(jì)(important)以下地址都是邏輯地址的例子:(1)2000H:0120H(2)2010H:0020H(3)3000H:3000H50物理地址(地址加法器能夠存儲(chǔ)20位的物理地址)物理地址:存儲(chǔ)單元的硬件地址物理地址=段地址×16(或段地址左移4位)+偏移地址518086/808820-bitAddresses52Exercise:20-bitAddressingCScont

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論