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

下載本文檔

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

文檔簡介

第二講

8086微處理器的編程結(jié)構(gòu)和引腳信號1主要內(nèi)容BIU和EU的組成和功能;8086的內(nèi)部寄存器和標志位;總線周期的概念;8086微處理器的引腳功能;280x86微處理器簡介型號發(fā)布年份字長/位集成度主頻/MHz內(nèi)DB/位外DB/位AB/位尋址空間高速緩沖存儲器80861978162.94.771616201M無80881979準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)流水線,被分解為多個小的步驟,稱為指令流水線。原料調(diào)度分配生產(chǎn)線成品倉庫出廠數(shù)據(jù)和程序指令控制器的調(diào)度分配ALU等功能部件處理后的數(shù)據(jù)存儲器輸出5指令流水線指令流水線有兩種運作方式:串行方式:

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

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

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

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

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

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

在5MHz的工作頻率時,一個標準總線周期為0.8μs。23數(shù)據(jù)寫入存儲器時的總線操作

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論