版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1第2章微處理器與總線2主要內(nèi)容:微處理器的功能和結(jié)構(gòu)8088/8086微處理器特點主要引線功能和內(nèi)部結(jié)構(gòu)內(nèi)部寄存器實地址模式下的存儲器尋址總線時序總線一、微處理器及8088/8086CPU31.微處理器運算器(P35)控制器(P37)內(nèi)部寄存器4微處理器52.程序和指令程序:具有一定功能的指令的有序集合指令:由人向計算機發(fā)出的、能夠為計算機所識別的命令。早期計算機指令執(zhí)行過程:指令花費時間=取指+指令執(zhí)行8086CPU指令執(zhí)行過程:指令花費時間=指令執(zhí)行3.指令執(zhí)行的一般過程74.順序執(zhí)行和并行流水線順序執(zhí)行方式:各功能部件交替工作,按順序完成指令的執(zhí)行過程。并行流水線方式:各功能部件并行工作。85.
8088/8086CPU的特點采用并行流水線工作方式
——通過設置指令預取隊列實現(xiàn)對內(nèi)存空間實行分段管理
——
將內(nèi)存分為4個段并設置地址段寄存器,以實現(xiàn)對1MB空間的尋址支持多處理器系統(tǒng)CPU內(nèi)部結(jié)構(gòu)存儲器尋址部分工作模式96.8088CPU的兩種工作模式8088可工作于兩種模式下最小模式最大模式最小模式為單處理器模式。最大模式為多處理器模式。10兩種工作模式的選擇方式8088是工作在最小還是最大模式由MN/MX引線的狀態(tài)決定。MN/MX=0——工作于最大模式MN/MX=1——工作于最小模式11二、8088/8086的引線及功能2.2.28086微處理器的引腳功能外部特性表現(xiàn)在其引腳信號上,學習時請?zhí)貏e關注以下幾個方面:⑴引腳的功能⑵信號的流向⑶有效電平⑷三態(tài)能力指引腳信號的定義、作用;通常采用英文單詞或其縮寫表示信號從芯片向外輸出,還是從外部輸入芯片,或者是雙向的起作用的邏輯電平高、低電平有效上升、下降邊沿有效輸出正常的低電平、高電平外,還可以輸出高阻的第三態(tài)8088/8086的兩種組態(tài)模式兩種組態(tài)構(gòu)成兩種不同規(guī)模的應用系統(tǒng)最小組態(tài)模式構(gòu)成小規(guī)模的應用系統(tǒng)8088本身提供所有的系統(tǒng)總線信號最大組態(tài)模式構(gòu)成較大規(guī)模的應用系統(tǒng),例如可以接入數(shù)值協(xié)處理器80878088和總線控制器8288共同形成系統(tǒng)總線信號8088的兩種組態(tài)模式(續(xù))兩種組態(tài)利用MN/MX*引腳區(qū)別MN/MX*接高電平為最小組態(tài)模式MN/MX*接低電平為最大組態(tài)模式通常在信號名稱加上劃線(如:MX)或星號(如:MX*)表示低電平有效8088的引腳圖12345678910111213141516171819204039383736353433323130292827262524232221
GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15AD16/S3AD17/S4AD18/S5AD19/S6SS0*MN/MX*RD*HOLD(RQ)*/GT0*)HLDA(RQ1*/GT1*)WR*(LOCK*)M*/IO(S2*
)DT/R*(S1*
)DEN*(S0
)ALE(QS0)INTA*(QS1)TEST*READYRESET8088最小組態(tài)的引腳信號數(shù)據(jù)和地址引腳讀寫控制引腳中斷請求和響應引腳總線請求和響應引腳其它引腳 1.數(shù)據(jù)和地址引腳AD15~AD0(Address/Data)地址/數(shù)據(jù)分時復用引腳,雙向、三態(tài)在訪問存儲器或外設的總線操作周期中,這些引腳在第一個時鐘周期輸出存儲器或I/O端口的低16位地址A15~A0其他時間用于傳送16位數(shù)據(jù)1.數(shù)據(jù)和地址引腳(續(xù)1)A15~A8(Address)
中間8位地址引腳,輸出、三態(tài)這些引腳在訪問存儲器或外設時,提供全部20位地址中的中間8位地址A15~A81.數(shù)據(jù)和地址引腳(續(xù)2)A19/S6~A16/S3(Address/Status)地址/狀態(tài)分時復用引腳,輸出、三態(tài)這些引腳在訪問存儲器的第一個時鐘周期輸出高4位地址A19~A16在訪問外設的第一個時鐘周期全部輸出低電平無效其他時間輸出狀態(tài)信號S6~S32.讀寫控制引腳ALE(AddressLatchEnable)地址鎖存允許,輸出、三態(tài)、高電平有效ALE引腳高有效時,表示復用引腳:AD15~AD0和A19/S6~A16/S3正在傳送地址信息由于地址信息在這些復用引腳上出現(xiàn)的時間很短暫,所以系統(tǒng)可以利用ALE引腳將地址鎖存起來2.讀寫控制引腳(續(xù)1)IO/M*(InputandOutput/Memory)
I/O或存儲器訪問,輸出、三態(tài)該引腳輸出高電平時,表示CPU將訪問I/O端口,這時地址總線A15~A0提供16位I/O口地址該引腳輸出低電平時,表示CPU將訪問存儲器,這時地址總線A19~A0提供20位存儲器地址2.讀寫控制引腳(續(xù)2)WR*(Write)
寫控制,輸出、三態(tài)、低電平有效有效時,表示CPU正在寫出數(shù)據(jù)給存儲器或I/O端口RD*(Read)讀控制,輸出、三態(tài)、低電平有效有效時,表示CPU正在從存儲器或I/O端口讀入數(shù)據(jù)2.讀寫控制引腳(續(xù)3)IO/M*、WR*和RD*是最基本的控制信號組合后,控制4種基本的總線周期總線周期IO/M*WR*RD*存儲器讀低高低存儲器寫低低高I/O讀高高低I/O寫高低高2.讀寫控制引腳(續(xù)4)READY
存儲器或I/O口就緒,輸入、高電平有效在總線操作周期中,8086CPU會在第3個時鐘周期的前沿測試該引腳如果測到高有效,CPU直接進入第4個時鐘周期如果測到無效,CPU將插入等待周期TwCPU在等待周期中仍然要監(jiān)測READY信號,有效則進入第4個時鐘周期,否則繼續(xù)插入等待周期Tw。2.讀寫控制引腳(續(xù)5)DEN*(DataEnable)
數(shù)據(jù)允許,輸出、三態(tài)、低電平有效有效時,表示當前數(shù)據(jù)總線上正在傳送數(shù)據(jù),可利用他來控制對數(shù)據(jù)總線的驅(qū)動DT/R*(DataTransmit/Receive)數(shù)據(jù)發(fā)送/接收,輸出、三態(tài)該信號表明當前總線上數(shù)據(jù)的流向高電平時數(shù)據(jù)自CPU輸出(發(fā)送)低電平時數(shù)據(jù)輸入CPU(接收)2.讀寫控制引腳(續(xù)6)BHE*/S7(SystemStatus0)
高8位數(shù)據(jù)總線允許/狀態(tài)復用引腳低電平時,高8位數(shù)據(jù)線D15~D8上的數(shù)據(jù)有效,S7沒有賦于任何意義.3.中斷請求和響應引腳INTR(InterruptRequest)
可屏蔽中斷請求,輸入、高電平有效有效時,表示請求設備向CPU申請可屏蔽中斷該請求的優(yōu)先級別較低,并可通過關中斷指令CLI清除標志寄存器中的IF標志、從而對中斷請求進行屏蔽3.中斷請求和響應引腳(續(xù)1)INTA*(InterruptAcknowledge)
可屏蔽中斷響應,輸出、低電平有效有效時,表示來自INTR引腳的中斷請求已被CPU響應,CPU進入中斷響應周期中斷響應周期是連續(xù)的兩個,每個都發(fā)出有效響應信號,以便通知外設他們的中斷請求已被響應、并令有關設備將中斷向量號送到數(shù)據(jù)總線3.中斷請求和響應引腳(續(xù)2)NMI(Non-MaskableInterrupt)
不可屏蔽中斷請求,輸入、上升沿有效有效時,表示外界向CPU申請不可屏蔽中斷該請求的優(yōu)先級別高于INTR,并且不能在CPU內(nèi)被屏蔽當系統(tǒng)發(fā)生緊急情況時,可通過他向CPU申請不可屏蔽中斷服務主機與外設進行數(shù)據(jù)交換通常采用可屏蔽中斷不可屏蔽中斷通常用于處理掉電等系統(tǒng)故障4.總線請求和響應引腳HOLD總線保持(即總線請求),輸入、高電平有效有效時,表示總線請求設備向CPU申請占有總線該信號從有效回到無效時,表示總線請求設備對總線的使用已經(jīng)結(jié)束,通知CPU收回對總線的控制權(quán)DMA控制器等主控設備通過HOLD申請占用系統(tǒng)總線(通常由CPU控制)4.總線請求和響應引腳(續(xù)1)HLDA(HOLDAcknowledge)總線保持響應(即總線響應),輸出、高電平有效有效時,表示CPU已響應總線請求并已將總線釋放此時CPU的地址總線、數(shù)據(jù)總線及具有三態(tài)輸出能力的控制總線將全面呈現(xiàn)高阻,使總線請求設備可以順利接管總線待到總線請求信號HOLD無效,總線響應信號HLDA也轉(zhuǎn)為無效,CPU重新獲得總線控制權(quán)5.其它引腳RESET復位請求,輸入、高電平有效該信號有效,將使CPU回到其初始狀態(tài);當他再度返回無效時,CPU將重新開始工作復位后CS=FFFFH、IP=0000H,所以程序入口在物理地址FFFF0H5.其它引腳(續(xù)1)CLK(Clock)
時鐘輸入系統(tǒng)通過該引腳給CPU提供內(nèi)部定時信號。8086的標準工作時鐘為5MHz5.其它引腳(續(xù)2)Vcc電源輸入,向CPU提供+5V電源GND接地,向CPU提供參考地電平MN/MX*(Minimum/Maximum)組態(tài)選擇,輸入接高電平時,8086引腳工作在最小組態(tài);反之,8086工作在最大組態(tài)5.其它引腳(續(xù)3)TEST*測試,輸入、低電平有效該引腳與WAIT指令配合使用當CPU執(zhí)行WAIT指令時,他將在每個時鐘周期對該引腳進行測試:如果無效,則程序踏步并繼續(xù)測試;如果有效,則程序恢復運行也就是說,WAIT指令使CPU產(chǎn)生等待,直到引腳有效為止“引腳”小結(jié)CPU引腳是系統(tǒng)總線的基本信號可以分成三類信號:16位數(shù)據(jù)線:D0~D1520位地址線:A0~A19控制線:ALE、IO/M*、WR*、RD*、READYINTR、INTA*、NMI,HOLD、HLDARESET、CLK、Vcc、GND有問題!“引腳”提問提問:CPU引腳是如何與外部連接的呢?
解答:總線形成最大組態(tài)的引腳定義8088的數(shù)據(jù)/地址等引腳在最大組態(tài)與最小組態(tài)時相同有些控制信號不相同,主要是用于輸出操作編碼信號,由總線控制器8288譯碼產(chǎn)生系統(tǒng)控制信號:S2*、S1*、S0*——3個狀態(tài)信號LOCK*——總線封鎖信號QS1、QS0——指令隊列狀態(tài)信號RQ*/GT0*、RQ*/GT1*——2個總線請求/同意信號S2*、S1*、S0*的編碼意義S2*S1*S0*CPU的工作狀態(tài)000中斷響應001I/O讀010I/O寫011暫停100取指101存儲器讀110存儲器寫111過渡狀態(tài)(3)系統(tǒng)控制信號的形成由8088引腳直接提供因為基本的控制信號8088引腳中都含有例如:IO/M*、WR*、RD*等其它信號的情況看詳圖41三、8088/8086的內(nèi)部結(jié)構(gòu)2.2.38088/8086的功能結(jié)構(gòu)8088內(nèi)部結(jié)構(gòu)有兩個功能模塊,完成一條指令的取指和執(zhí)行功能(p43)模塊之一:總線接口單元BIU,主要負責讀取指令和操作數(shù)模塊之二:執(zhí)行單元EU,主要負責指令譯碼和執(zhí)行內(nèi)部結(jié)構(gòu)指令執(zhí)行8088內(nèi)部結(jié)構(gòu)內(nèi)部暫存器
IP
ES
SSDSCS輸入/輸出控制電路外部總線執(zhí)行部分控制電路123456∑ALU標志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令隊列緩沖器執(zhí)行部件(EU)總線接口部件(BIU)16位20位16位8位441.組成8088/8086內(nèi)部由兩部分組成:
執(zhí)行單元(EU)總線接口單元(BIU)452.執(zhí)行單元運算器8個通用寄存器1個標志寄存器EU部分控制電路教材第43頁圖2-6圖46執(zhí)行單元功能指令譯碼指令執(zhí)行暫存中間運算結(jié)果保存運算結(jié)果特征指令的執(zhí)行在標志寄存器FLAGS中在ALU中完成在通用寄存器中473.總線接口單元功能:從內(nèi)存中取指令到指令預取隊列指令預取隊列是并行流水線工作的基礎負責與內(nèi)存或輸入/輸出接口之間的數(shù)據(jù)傳送在執(zhí)行轉(zhuǎn)移程序時,BIU使指令預取隊列復位,從指定的新地址取指令,并立即傳給執(zhí)行單元執(zhí)行。48結(jié)論指令預取隊列的存在使EU和BIU兩個部分可同時進行工作,從而:提高了CPU的效率;降低了對存儲器存取速度的要求49四、8088/8086內(nèi)部寄存器基本程序執(zhí)行寄存器對匯編語言程序員來說,8088/8086內(nèi)部結(jié)構(gòu)就是可編程的寄存器組執(zhí)行單元EU8個通用寄存器
1個指令指針寄存器
1個標志寄存器
4個段寄存器1.8088/8086的通用寄存器16位通用寄存器是: AX BX CX DX SI DI BP SP其中前4個數(shù)據(jù)寄存器都還可以分成高8位和低8位兩個獨立的寄存器8位通用寄存器是:AH BH CH DHAL BL CL DL對其中某8位的操作,并不影響另外對應8位的數(shù)據(jù)數(shù)據(jù)寄存器數(shù)據(jù)寄存器用來存放計算的結(jié)果和操作數(shù),也可以存放地址每個寄存器又有它們各自的專用目的AX--累加器,使用頻度最高,用于算術、邏輯運算以及與外設傳送信息等;BX--基址寄存器,常用做存放存儲器地址CX--計數(shù)器,作為循環(huán)和串操作等指令中的隱含計數(shù)器;DX--數(shù)據(jù)寄存器,常用來存放雙字長數(shù)據(jù)的高16位,或存放外設端口地址。變址寄存器變址寄存器常用于存儲器尋址時提供地址SI是源變址寄存器DI是目的變址寄存器串操作類指令中,SI和DI具有特別的功能指針寄存器指針寄存器用于尋址內(nèi)存堆棧內(nèi)的數(shù)據(jù)SP為堆棧指針寄存器,指示棧頂?shù)钠频刂稴P不能再用于其他目的,具有專用目的BP為基址指針寄存器,表示數(shù)據(jù)在堆棧段中的基地址SP和BP寄存器與SS段寄存器聯(lián)合使用以確定堆棧段中的存儲單元地址指令指針I(yè)P指令指針寄存器IP,指示代碼段中指令的偏移地址它與代碼段寄存器CS聯(lián)用,確定下一條指令的物理地址計算機通過CS:IP寄存器來控制指令序列的執(zhí)行流程IP寄存器是一個專用寄存器3.標志寄存器標志(Flag)用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式8088/8086處理器的各種標志形成了一個16位的標志寄存器FLAGS(程序狀態(tài)字PSW寄存器)OF111512DF10IF9TF8SF7ZF65AF43PF21CF0
程序設計需要利用標志的狀態(tài)標志的分類狀態(tài)標志--用來記錄程序運行結(jié)果的狀態(tài)信息,許多指令的執(zhí)行都將相應地設置它CFZFSFPFOFAF控制標志--可由程序根據(jù)需要用指令設置,用于控制處理器執(zhí)行指令的方式DFIFTF進位標志CF(CarryFlag)當運算結(jié)果的最高有效位有進位(加法)或借位(減法)時,進位標志置1,即CF=1;否則CF=0。3AH+7CH=B6H,沒有進位:CF=0AAH+7CH=(1)26H,有進位:CF=1零標志ZF(ZeroFlag)若運算結(jié)果為0,則ZF=1;否則ZF=03AH+7CH=B6H,結(jié)果不是零:ZF=084H+7CH=(1)00H,結(jié)果是零:ZF=1
注意:ZF為1表示的結(jié)果是0符號標志SF(SignFlag)運算結(jié)果最高位為1,則SF=1;否則SF=03AH+7CH=B6H,最高位D7=1:SF=184H+7CH=(1)00H,最高位D7=0:SF=0
有符號數(shù)據(jù)用最高有效位表示數(shù)據(jù)的符號所以,最高有效位就是符號標志的狀態(tài)奇偶標志PF(ParityFlag)當運算結(jié)果最低字節(jié)中“1”的個數(shù)為零或偶數(shù)時,PF=1;否則PF=03AH+7CH=B6H=10110110B結(jié)果中有5個1,是奇數(shù):PF=0
PF標志僅反映最低8位中“1”的個數(shù)是
偶或奇,即使是進行16位字操作溢出標志OF(OverflowFlag)若算術運算的結(jié)果有溢出,則OF=1;否則OF=03AH+7CH=B6H,產(chǎn)生溢出:OF=1AAH+7CH=(1)26H,沒有溢出:OF=0溢出標志OF(OverflowFlag)問題什么是溢出?溢出和進位有什么區(qū)別?處理器怎么處理,程序員如何運用?如何判斷是否溢出?什么是溢出處理器內(nèi)部以補碼表示有符號數(shù)8位表達的整數(shù)范圍是:+127~-12816位表達的范圍是:+32767~-32768如果運算結(jié)果超出這個范圍,就產(chǎn)生了溢出有溢出,說明有符號數(shù)的運算結(jié)果不正確3AH+7CH=B6H,就是58+124=182,已經(jīng)超出-128~+127范圍,產(chǎn)生溢出,故OF=1;另一方面,補碼B6H表達真值是-74,顯然運算結(jié)果也不正確溢出和進位溢出標志OF和進位標志CF是兩個意義不同的標志進位標志表示無符號數(shù)運算結(jié)果是否超出范圍,運算結(jié)果仍然正確;溢出標志表示有符號數(shù)運算結(jié)果是否超出范圍,運算結(jié)果已經(jīng)不正確。請看例子溢出和進位的對比例1:3AH+7CH=B6H無符號數(shù)運算: 58+124=182 范圍內(nèi),無進位有符號數(shù)運算: 58+124=182 范圍外,有溢出例2:AAH+7CH=(1)26H無符號數(shù)運算: 170+124=294 范圍外,有進位有符號數(shù)運算: -86+124=28 范圍內(nèi),無溢出如何運用溢出和進位處理器對兩個操作數(shù)進行運算時,按照無符號數(shù)求得結(jié)果,并相應設置進位標志CF;同時,根據(jù)是否超出有符號數(shù)的范圍設置溢出標志OF。應該利用哪個標志,則由程序員來決定。也就是說,如果將參加運算的操作數(shù)認為是無符號數(shù),就應該關心進位;認為是有符號數(shù),則要注意是否溢出。溢出的判斷判斷運算結(jié)果是否溢出有一個簡單的規(guī)則:只有當兩個相同符號數(shù)相加(包括不同符號數(shù)相減),而運算結(jié)果的符號與原數(shù)據(jù)符號相反時,產(chǎn)生溢出;因為,此時的運算結(jié)果顯然不正確其他情況下,則不會產(chǎn)生溢出輔助進位標志AF(AuxiliaryCarryFlag)3AH+7CH=B6H,D3有進位:AF=1運算時D3位(低半字節(jié))有進位或借位時,AF=1;否則AF=0。
這個標志主要由處理器內(nèi)部使用,用于十進制算術運算調(diào)整指令中,用戶一般不必關心方向標志DF(DirectionFlag)用于串操作指令中,控制地址的變化方向:設置DF=0,存儲器地址自動增加;設置DF=1,存儲器地址自動減少。CLD指令復位方向標志:DF=0STD指令置位方向標志:DF=1中斷允許標志IF(Interrupt-enableFlag)用于控制外部可屏蔽中斷是否可以被處理器響應:設置IF=1,則允許中斷;設置IF=0,則禁止中斷。CLI指令復位中斷標志:IF=0STI指令置位中斷標志:IF=1陷阱標志TF(TrapFlag)用于控制處理器進入單步操作方式:設置TF=0,處理器正常工作;設置TF=1,處理器單步執(zhí)行指令。單步執(zhí)行指令——處理器在每條指令執(zhí)行結(jié)束時,便產(chǎn)生一個編號為1的內(nèi)部中斷這種內(nèi)部中斷稱為單步中斷所以TF也稱為單步標志利用單步中斷可對程序進行逐條指令的調(diào)試這種逐條指令調(diào)試程序的方法就是單步調(diào)試(1)存儲器地址空間(8086)220=1MB,地址由00000-FFFFF(H)編碼若存放的信息是字節(jié),則按順序存放若存放的信息是字,則將字的低位字節(jié)
存放在低地址,高位字節(jié)存放在高地址若存放的信息是雙字,則將雙字的低位字存放在低地址,高位字存放在高地址2.2.4存儲器組織
存儲器的分段管理8086CPU有20條地址線最大可尋址空間為220=1MB物理地址范圍從00000H~FFFFFH8086CPU將1MB空間分成許多邏輯段(Segment)每個段最大限制為64KB物理地址采用邏輯地址,形式為段基地址:段內(nèi)偏移地址分隔符物理地址將邏輯地址中的段地址左移4位,加上偏移地址就得到20位物理地址一個物理地址可以有多個邏輯地址例:DS=1460H,偏移地址為0100H,則物理地址=? 14600H+100H14700H段地址左移4位加上偏移地址得到物理地址存儲器的分段8086對邏輯段要求:段地址低4位均為0每段最大不超過64KB8086對邏輯段并不要求:必須是64KB各段之間完全分開(即可以重疊)各段獨立各段重疊各個邏輯段獨立各個邏輯段重疊2.段寄存器有4個16位段寄存器CS(代碼段)指明代碼段的起始地址SS(堆棧段)指明堆棧段的起始地址DS(數(shù)據(jù)段)指明數(shù)據(jù)段的起始地址ES(附加段)指明附加段的起始地址每個段寄存器用來確定一個邏輯段的起始地址,每種邏輯段均有各自的用途代碼段(CodeSegment)代碼段用來存放程序的指令序列代碼段寄存器CS存放代碼段的段地址指令指針寄存器IP指示下條指令的偏移地址處理器利用CS:IP取得下一條要執(zhí)行的指令堆棧段(StackSegment)堆棧段確定堆棧所在的主存區(qū)域堆棧段寄存器SS存放堆棧段的段地址堆棧指針寄存器SP指示堆棧棧頂?shù)钠频刂诽幚砥骼肧S:SP操作堆棧頂?shù)臄?shù)據(jù)數(shù)據(jù)段(DataSegment)數(shù)據(jù)段存放運行程序所用的數(shù)據(jù)數(shù)據(jù)段寄存器DS存放數(shù)據(jù)段的段地址各種主存尋址方式(有效地址EA)得到存儲器中操作數(shù)的偏移地址處理器利用DS:EA存取數(shù)據(jù)段中的數(shù)據(jù)附加段(ExtraSegment)附加段是附加的數(shù)據(jù)段,也用于數(shù)據(jù)的保存:附加段寄存器ES存放附加段的段地址各種主存尋址方式(有效地址EA)得到存儲器中操作數(shù)的偏移地址處理器利用ES:EA存取附加段中的數(shù)據(jù)串操作指令將附加段作為其目的操作數(shù)的存放區(qū)域如何分配各個邏輯段程序使用的堆棧一定在堆棧段程序中的數(shù)據(jù)默認是安排在數(shù)據(jù)段,也經(jīng)常安排在附加段,尤其是串操作的目的區(qū)必須是附加段數(shù)據(jù)的存放比較靈活,實際上可以存放在任何一種邏輯段中演示邏輯段分配段超越前綴指令沒有指明時,一般的數(shù)據(jù)訪問在DS段;使用BP訪問主存,則在SS段默認的情況允許改變,需要使用段超越前綴指令;指令系統(tǒng)中有4個:CS: ;代碼段超越,使用代碼段的數(shù)據(jù)SS: ;堆棧段超越,使用堆棧段的數(shù)據(jù)DS: ;數(shù)據(jù)段超越,使用數(shù)據(jù)段的數(shù)據(jù)ES: ;附加段超越,使用附加段的數(shù)據(jù)示例段超越的示例沒有段超越的指令實例:MOVAX,[2000H] ;AX←DS:[2000H];從默認的DS數(shù)據(jù)段取出數(shù)據(jù)采用段超越前綴的指令實例:MOVAX,ES:[2000H] ;AX←ES:[2000H];從指定的ES附加段取出數(shù)據(jù)總結(jié)段寄存器的使用規(guī)定訪問存儲器的方式默認可超越偏移地址取指令CS無IP堆棧操作SS無SP一般數(shù)據(jù)訪問DSCSESSS有效地址EABP基址的尋址方式SSCSESDS有效地址EA串操作的源操作數(shù)DSCSESSSSI串操作的目的操作數(shù)ES無DI2.2.58086處理器時序時序(Timing)是指信號高低電平(有效或無效)變化及相互間的時間順序關系。總線時序描述CPU引腳如何實現(xiàn)總線操作CPU時序決定系統(tǒng)各部件間的同步和定時什么是總線操作?8088/8086的總線時序(續(xù)1)總線操作是指CPU通過總線對外的各種操作總線操作主要有:存儲器讀、I/O讀操作存儲器寫、I/O寫操作中斷響應操作總線請求及響應操作CPU正在進行內(nèi)部操作、并不進行實際對外操作的空閑狀態(tài)Ti描述總線操作的微處理器時序有三級:指令周期→總線周期→時鐘周期什么是指令、總線和時鐘周期?8088/8086的總線時序(續(xù)2)指令周期是指一條指令經(jīng)取指、譯碼、讀寫操作數(shù)到執(zhí)行完成的過程。若干總線周期組成一個指令周期總線周期是指CPU通過總線操作與外部(存儲器或I/O端口)進行一次數(shù)據(jù)交換的過程基本總線周期需要4個時鐘周期4個時鐘周期編號為T1、T2、T3和T4總線周期中的時鐘周期也被稱作“T狀態(tài)”時鐘周期的時間長度就是時鐘頻率的倒數(shù)當需要延長總線周期時需要插入等待狀態(tài)Tw何時有總線周期?演示總線周期T1T2T3T4TiTi
T1T2T3TwTwTwT4TiTi
總線周期總線周期若干個1~2個基本總線周期由4個T狀態(tài)組成:T1、T2、T3、T4等待時鐘周期Tw,在總線周期的T3和T4之間插入空閑時鐘周期Ti,在兩個總線周期之間插入動態(tài)各種周期的動態(tài)演示8088/8086的總線時序(續(xù)3)任何指令的取指階段都需要存儲器讀總線周期,讀取的內(nèi)容是指令代碼任何一條以存儲單元為源操作數(shù)的指令都將引起存儲器讀總線周期,任何一條以存儲單元為目的操作數(shù)的指令都將引起存儲器寫總線周期只有執(zhí)行IN指令才出現(xiàn)I/O讀總線周期,執(zhí)行OUT指令才出現(xiàn)I/O寫總線周期CPU響應可屏蔽中斷時生成中斷響應總線周期如何實現(xiàn)同步?8088/8086的總線時序(續(xù)4)總線操作中如何實現(xiàn)時序同步是關鍵CPU總線周期采用同步時序:各部件都以系統(tǒng)時鐘信號為基準當相互不能配合時,快速部件(CPU)插入等待狀態(tài)等待慢速部件(I/O和存儲器)CPU與外設接口常采用異步時序,它們通過應答聯(lián)絡信號實現(xiàn)同步操作等待狀態(tài)Tw的插入1最小模式的總線時序本節(jié)展開微處理器最基本的4種總線周期存儲器讀總線周期存儲器寫總線周期I/O讀總線周期I/O寫總線周期存儲器寫總線周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0輸出數(shù)據(jù)A19~A16S6~S3READY(高電平)IO/M*WR*T1狀態(tài)——輸出20位存儲器地址A19~A0IO/M*輸出低電平,表示存儲器操作;ALE輸出正脈沖,表示復用總線輸出地址T2狀態(tài)——輸出控制信號WR*和數(shù)據(jù)D7~D0T3和Tw狀態(tài)——檢測數(shù)據(jù)傳送是否能夠完成T4狀態(tài)——完成數(shù)據(jù)傳送I/O寫總線周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0輸出數(shù)據(jù)0000S6~S3READY(高電平)IO/M*WR*T1狀態(tài)——輸出16位I/O地址A15~A0IO/M*輸出高電平,表示I/O操作;ALE輸出正脈沖,表示復用總線輸出地址T2狀態(tài)——輸出控制信號WR*和數(shù)據(jù)D7~D0T3和Tw狀態(tài)——檢測數(shù)據(jù)傳送是否能夠完成T4狀態(tài)——完成數(shù)據(jù)傳送存儲器讀總線周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0輸入數(shù)據(jù)A19~A16S6~S3READY(高電平)IO/M*RD*T1狀態(tài)——輸出20位存儲器地址A19~A0IO/M*輸出低電平,表示存儲器操作;ALE輸出正脈沖,表示復用總線輸出地址T2狀態(tài)——輸出控制信號RD*T3和Tw狀態(tài)——檢測數(shù)據(jù)傳送是否能夠完成T4狀態(tài)——前沿讀取數(shù)據(jù),完成數(shù)據(jù)傳送演示存儲器讀[20002H]=35HI/O讀總線周期T4T3T2T1ALECLKA19/S6~A16/S3A15~A8AD7~AD0A15~A8A7~A0輸入數(shù)據(jù)S6~S3READY(高電平)IO/M*RD*0000T1狀態(tài)——輸出16位I/O地址A15~A0IO/M*輸出高電平,表示I/O操作;ALE輸出正脈沖,表示復用總線輸出地址T2狀態(tài)——輸出控制信號RD*T3和Tw狀態(tài)——檢測數(shù)據(jù)傳送是否能夠完成T4狀態(tài)——前沿讀取數(shù)據(jù),完成數(shù)據(jù)傳送插入等待狀態(tài)Tw同步時序通過插入等待狀態(tài),來使速度差別較大的兩部分保持同步在讀寫總線周期中,判斷是否插入Tw1.在T3的前沿檢測READY引腳是否有效2.如果READY無效,在T3和T4之間插入一個等效于T3的Tw,轉(zhuǎn)13.如果READY有效,執(zhí)行完該T狀態(tài),進入T4狀態(tài)演示等待狀態(tài)T1T2T3TwTwTwT4CLKREADY前沿檢測動態(tài)2最大組態(tài)的寫總線時序111110T4T3T2T1A15~A8A19~A16S6~S3由8288產(chǎn)生ALES2*~S0*CLKA19/S6~A16/S3A15~A8DEN寫命令AD7~AD0A7~A0輸出數(shù)據(jù)DT/R*AMWTC*MWTC*3最大組態(tài)的讀總線時序111101A15~A8A19~A16S6~S3ALES2*~S0*CLKA19/S6~A16/S3A15~A8DEN由8288產(chǎn)生輸入數(shù)據(jù)A7~A0AD7~AD0T4T3T2T1DT/R*MRDC*基本控制信號的組合方法I/O讀I/O寫存儲器讀存儲器寫1092.5總線
(P70)110主要內(nèi)容:總線的基本概念和分類;總線的工作方式;常用系統(tǒng)總線標準。1111.概述總線:
是一組導線和相關的控制、驅(qū)動電路的集合。是計算機系統(tǒng)各部件之間傳輸?shù)刂贰?shù)據(jù)和控制信息的通道。地址總線(AB)數(shù)據(jù)總線(DB)控制總線(CB)1122.總線分類CPU總線系統(tǒng)總線外部總線片內(nèi)總線片外總線按相對CPU的位置分按層次結(jié)構(gòu)分1133.總線的系統(tǒng)結(jié)構(gòu)單總線結(jié)構(gòu)CPUMMI/OI/OI/O114多總線結(jié)構(gòu)面向CPU的雙總線結(jié)構(gòu)面向主存的雙總線結(jié)構(gòu)雙總線結(jié)構(gòu)多總線結(jié)構(gòu)115面向CPU的雙總線結(jié)構(gòu)存儲器與I/O接口間無直接通道CPUMI/OI/OI/O116面向存儲器的雙總線結(jié)構(gòu)在單總線結(jié)構(gòu)基礎上增加一條CPU到存儲器的高速總線CPUMI/OI/OI/O117現(xiàn)代微機中的多總線結(jié)構(gòu)1184.總線的基本功能數(shù)據(jù)傳送仲裁控制出錯處理總線驅(qū)動1195.常用系統(tǒng)總線ISA(8/16位)PCI(32/64位)AGP(加速圖形端口,用于提高圖形處理能力)PCI-E(PCIExpress)目前最新的系統(tǒng)總線標準,采用串行方式傳輸數(shù)據(jù),依靠高頻率來獲得高性能。1206.總線的主要性能指標總線帶寬(B/S):單位時間內(nèi)總線上可傳送的數(shù)據(jù)量總線位寬(bit):能同時傳送的數(shù)據(jù)位數(shù)總線的工作頻率(MHz)總線帶寬=(位寬/8)(工作頻率/每個存取周期的時鐘數(shù))121七、8088系統(tǒng)總線
(P87)1227.兩種工作模式下的總線連接8088可工作于兩種模式下最小模式為單處理器模式,控制信號較少,一般可不必接總線控制器。最大模式為多處理器模式,控制信號較多,須通過總線控制器與總線相連。補充:三態(tài)門和D觸發(fā)器三態(tài)門和以D觸發(fā)器形成的鎖存器是微機接口電路中最常使用的兩類邏輯電路三態(tài)門:功率放大、導通開關器件共用總線時,一般使用三態(tài)電路:需要使用總線的時候打開三態(tài)門;不使用的時候關閉三態(tài)門,使之處于高阻D觸發(fā)器:信號保持,也可用作導通開關三態(tài)鎖存三態(tài)緩沖器(三態(tài)門)具有單向?qū)ê腿龖B(tài)的特性T為低平時:輸出為高阻抗(三態(tài))T為高電平時:輸出為輸入的反相TAF表示反相或低電平有效TAFTAFTAF74LS244雙4位單向緩沖器分成4位的兩組每組的控制端連接在一起控制端低電平有效輸出與輸入同相每一位都是一個三態(tài)門,每4個三態(tài)門的控制端連接在一起雙向三態(tài)緩沖器具有雙向?qū)ê腿龖B(tài)的特性ABTOE*OE*=0,導通T=1A→BT=0A←BOE*=1,不導通Intel82868位雙向緩沖器控制端連接在一起,低電平有效可以雙向?qū)?/p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院滿意度培訓
- 光伏發(fā)電培訓資料
- 福建省莆田市涵江區(qū)實驗小學2023-2024學年三年級上學期期末檢測數(shù)學試題
- T-XMSSAL 0110-2024 供廈食品 蘆筍
- 期中模擬試卷(1-4單元) (試題)-2024-2025學年六年級上冊數(shù)學北師大版
- 語文學習任務群的解讀及設計要領
- 余靜無機化學酸堿平衡
- 部編版六年級語文上冊第七單元《京劇趣談》教學課件
- 高中語文第11課師說課件5新人教版必修
- 路基石方填筑試驗路段施工總結(jié)-
- 《新員工培訓課件:企業(yè)文化及價值觀》
- 商務談判與推銷技巧課件
- 波峰焊治具設計規(guī)范
- 小數(shù)乘整數(shù)(說課 上課 課件)
- 滿族介紹(課堂PPT)
- 小學生主題班會教學設計 隊會《男女平等》 通用版
- 原發(fā)性醛固酮增多癥護理查房
- 【北汽藍谷新能源汽車公司稅收籌劃方案設計(5000字論文)】
- 成為公關高手:我在奧美、聯(lián)想、美團的15年公關經(jīng)驗總結(jié)
- 小學英語課程與教學論(小學教育專業(yè))PPT完整全套教學課件
- 云計算與大數(shù)據(jù)技術PPT全套完整教學課件
評論
0/150
提交評論