第3章 80868088微處理器_第1頁(yè)
第3章 80868088微處理器_第2頁(yè)
第3章 80868088微處理器_第3頁(yè)
第3章 80868088微處理器_第4頁(yè)
第3章 80868088微處理器_第5頁(yè)
已閱讀5頁(yè),還剩189頁(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)介

第三章

8086/8088微處理器19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》2主要內(nèi)容微處理器的一般結(jié)構(gòu);8086微處理器的組成、引腳功能;8086的內(nèi)部寄存器和標(biāo)志位;8086的存儲(chǔ)器組織;實(shí)模式和保護(hù)模式的存儲(chǔ)器尋址;80X86系列微處理器的結(jié)構(gòu)特點(diǎn)。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》3第3章8086/8088微處理器主要內(nèi)容:3.1微處理器概述3.28086/8088微處理器3.38086/8088的編程結(jié)構(gòu)3.48086/8088的存儲(chǔ)器組織3.58086/8088的外部結(jié)構(gòu)學(xué)時(shí)分配:6學(xué)時(shí)第一節(jié)

微處理器概述movax,12hcalldisplayJmp1234h19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》5微處理器是計(jì)算機(jī)系統(tǒng)的核心部件,控制和協(xié)調(diào)整個(gè)計(jì)算機(jī)系統(tǒng)的工作,具有如下基本功能可以進(jìn)行算術(shù)和邏輯運(yùn)算

可保存少量數(shù)據(jù)能對(duì)指令進(jìn)行譯碼并完成規(guī)定的操作能與存儲(chǔ)器、外部設(shè)備交換數(shù)據(jù)提供整個(gè)系統(tǒng)所需的定時(shí)和控制信號(hào)

可以響應(yīng)其他部件發(fā)來(lái)的中斷請(qǐng)求3.1微處理器概述19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》6通常用CPU內(nèi)部操作的數(shù)據(jù)位數(shù)作為對(duì)微處理器總體性能的一個(gè)表征。數(shù)據(jù)位數(shù):計(jì)算機(jī)中微處理器內(nèi)部數(shù)據(jù)總線的寬度,也即CPU可同時(shí)操作的二進(jìn)制碼的位數(shù)。

CPU性能:8位→16位→

32位(主流)→

64位(趨勢(shì))3.1微處理器概述19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》7運(yùn)算器實(shí)現(xiàn)數(shù)據(jù)的算術(shù)和邏輯運(yùn)算(ALU)控制器控制程序的執(zhí)行

寄存器組存放臨時(shí)數(shù)據(jù)、運(yùn)算的中間結(jié)果、運(yùn)算特征、操作數(shù)地址主要部件3.1微處理器概述19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》83.1微處理器概述運(yùn)算器組成由加法器和一些輔助邏輯電路組成??刂破鹘M成程序計(jì)數(shù)器:存放下一條指令的地址指令寄存器:存放待執(zhí)行的指令指令譯碼器:翻譯確定執(zhí)行什么操作時(shí)序控制部件:產(chǎn)生時(shí)序信號(hào)工作基準(zhǔn)微操作控制部件:產(chǎn)生與指令對(duì)應(yīng)的微操作19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》93.28086/8088微處理器8088、8086基本類似16位CPU、AB寬度20位差別:指令預(yù)取隊(duì)列:8088為4B,8086為6B數(shù)據(jù)總線引腳:8088有8根,8086有16根8088為準(zhǔn)16位CPU,內(nèi)部DB為16位,但外部?jī)H為8位,16位數(shù)據(jù)要分兩次傳送。指令系統(tǒng)完全相同,芯片內(nèi)部邏輯結(jié)構(gòu)、芯片引腳有個(gè)別差異,均具有20位地址線,尋址能力達(dá)到1MB空間。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》108086/8088微處理器結(jié)構(gòu)AHALBHBLCHCLDHDLSPBPDISI通用寄存器AXBXCXDXALU數(shù)據(jù)總線(16位)運(yùn)算寄存器ALU標(biāo)志寄存器EU控制電路執(zhí)行部件EUCSDSSSESIP內(nèi)部暫存器123456數(shù)據(jù)總線8088:8位8086:16位輸入/輸出控制電路地址總線20位指令隊(duì)列緩沖器80888086Q總線(8位)指令指針段寄存器外部總線總線接口部件BIU地址加法器19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》11指令預(yù)取隊(duì)列(IPQ)的一般執(zhí)行過(guò)程:指令的一般執(zhí)行過(guò)程:

取指令指令譯碼讀取操作數(shù)執(zhí)行指令存放結(jié)果3.28086/8088微處理器19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》12指令流水線取指令指令譯碼取操作數(shù)執(zhí)行指令存放結(jié)果CPU執(zhí)行一條指令的過(guò)程類似于工廠生產(chǎn)流水線,被分解為多個(gè)小的步驟,稱為指令流水線。原料調(diào)度分配生產(chǎn)線成品倉(cāng)庫(kù)出廠數(shù)據(jù)和程序指令控制器的調(diào)度分配ALU等功能部件處理后的數(shù)據(jù)存儲(chǔ)器輸出19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》13指令流水線指令流水線有兩種運(yùn)作方式:串行方式:

取指令和執(zhí)行指令在不同的時(shí)刻按順序執(zhí)行并行方式:取指令和執(zhí)行指令可同時(shí)執(zhí)行,需要有能并行工作的硬件的支持。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》14串行工作方式8086/8088以前的CPU采用串行工作方式取指令1執(zhí)行1取指令2執(zhí)行2CPUBUS忙碌忙碌取指令3執(zhí)行3忙碌空閑空閑空閑t1t0t2t3t4t56個(gè)周期執(zhí)行了3條指令19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》15CPU執(zhí)行指令時(shí)總線處于空閑狀態(tài);CPU訪問(wèn)存儲(chǔ)器(存取數(shù)據(jù)或指令)時(shí)要等待總線操作的完成;

缺點(diǎn):CPU無(wú)法全速運(yùn)行

解決:總線空閑時(shí)預(yù)取指令,使CPU需要指令時(shí)能立刻得到串行工作方式19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》16并行工作方式8086/8088CPU采用并行工作方式取指令1取指令2取指令3取指令4執(zhí)行1執(zhí)行2執(zhí)行3BUS忙碌執(zhí)行4CPUt1t0t2t3t4t5取指令5執(zhí)行5忙碌忙碌忙碌忙碌忙碌6個(gè)周期執(zhí)行了5條指令19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》17并行操作的前提取指令部件和指令執(zhí)行部件要能夠并行工作;各部件執(zhí)行時(shí)間基本相同,否則需再細(xì)分;取指令部件取出的指令要能暫存在CPU內(nèi)部某個(gè)地方;指令執(zhí)行部件在需要時(shí)總能立即獲得暫存的指令需要解決轉(zhuǎn)移指令問(wèn)題。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》188086/8088

CPU的特點(diǎn)采用并行流水線工作方式:

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

將內(nèi)存分段并設(shè)置地址段寄存器,以實(shí)現(xiàn)對(duì)1MB空間的尋址。支持多處理器系統(tǒng):8087FPU執(zhí)行部件取指部件19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》198086/8088的流水線操作8086/8088CPU包括兩大部分:EU和BIUBIU不斷地從存儲(chǔ)器取指令送入IPQ,EU不斷地從IPQ取出指令執(zhí)行EU和BIU構(gòu)成了一個(gè)簡(jiǎn)單的2工位流水線指令預(yù)取隊(duì)列IPQ是實(shí)現(xiàn)流水線操作的關(guān)鍵(類似于工廠流水線的傳送帶)19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》20結(jié)論8086/8088微處器指令預(yù)取隊(duì)列的存在使EU和BIU兩個(gè)部分可同時(shí)進(jìn)行工作,從而提高了CPU的效率;降低了對(duì)存儲(chǔ)器存取速度的要求第三節(jié)

8086/8088的編程結(jié)構(gòu)movax,12hcalldisplayJmp1234h19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》22主要內(nèi)容:3.3.18086的功能部件3.3.28086的總線操作3.38086/8088的編程結(jié)構(gòu)19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》23編程結(jié)構(gòu):指從程序員和使用者的角度看到的結(jié)構(gòu)。8086編程結(jié)構(gòu)與CPU內(nèi)部的物理結(jié)構(gòu)和實(shí)際布局是有區(qū)別的。了解8086編程結(jié)構(gòu),可以掌握CPU的工作性能和使用方法。3.38086/8088的編程結(jié)構(gòu)19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》248086/8088微處理器結(jié)構(gòu)AHALBHBLCHCLDHDLSPBPDISI通用寄存器AXBXCXDXALU數(shù)據(jù)總線(16位)運(yùn)算寄存器ALU標(biāo)志寄存器EU控制電路執(zhí)行部件EUCSDSSSESIP內(nèi)部暫存器123456數(shù)據(jù)總線8088:8位8086:16位輸入/輸出控制電路地址總線20位指令隊(duì)列緩沖器80888086Q總線(8位)指令指針段寄存器外部總線總線接口部件BIU地址加法器19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》25從功能上分,8086內(nèi)部由兩部分組成:總線接口部件(BIU)執(zhí)行部件(EU)兩個(gè)單元相互獨(dú)立,分別完成各自操作兩個(gè)單元可以并行執(zhí)行,實(shí)現(xiàn)指令取指和執(zhí)行的流水線操作。3.3.18086/8088的功能部件19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》26一、總線接口部件BIU功能:從內(nèi)存中取指令送入指令預(yù)取隊(duì)列負(fù)責(zé)與內(nèi)存或輸入/輸出接口之間的數(shù)據(jù)傳送在執(zhí)行轉(zhuǎn)移程序時(shí),BIU使指令預(yù)取隊(duì)列復(fù)位,從指定的新地址取指令,并立即傳給執(zhí)行單元執(zhí)行。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》27總線接口部件包括4個(gè)段地址寄存器CSDSESSS16位的指令指針寄存器IP

20位的地址加法器6字節(jié)的指令隊(duì)列

輸入/輸出控制電路一、總線接口部件BIU19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》28用于存放邏輯段的段基地址(簡(jiǎn)稱段地址)CS:代碼段寄存器。代碼段存放指令代碼DS:數(shù)據(jù)段寄存器ES:附加段寄存器SS:堆棧段寄存器:指示堆棧區(qū)域的位置這兩個(gè)段存放操作數(shù)堆棧段SS數(shù)據(jù)段DS/ES代碼段CS1.段寄存器19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》292.指令指針寄存器(InstructionPointer)IP:指令指針寄存器,其內(nèi)容為下一條要執(zhí)行的指令的偏移地址;與代碼段寄存器CS聯(lián)用,確定下一條指令的物理地址;計(jì)算機(jī)通過(guò)CS:IP寄存器來(lái)取指令,從而控制指令序列的執(zhí)行流程;IP寄存器是一個(gè)專用寄存器,用戶不能直接訪問(wèn)19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》30二、執(zhí)行部件EU功能:執(zhí)行指令

從指令隊(duì)列中取指令代碼譯碼在ALU中完成數(shù)據(jù)的運(yùn)算運(yùn)算結(jié)果的特征保存在標(biāo)志寄存器FLAGS中。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》31執(zhí)行部件包括4個(gè)通用寄存器AXBXCXDX4個(gè)專用寄存器BPSPSIDI1個(gè)標(biāo)志寄存器FLAGS/PSW算術(shù)邏輯單元ALU(運(yùn)算器)

EU部分控制電路二、執(zhí)行部件EU19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》32用途:存放臨時(shí)數(shù)據(jù)和存放運(yùn)算操作數(shù)每個(gè)均為16位,但又可分為2個(gè)8位寄存器,即:AXAH,ALBXBH,BLCXCH,CLDXDH,DL例如:若(AX)=1234H,

則(AH)=12H,(AL)=34H1.通用寄存器19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》33AX:累加器所有I/O指令都通過(guò)AX(AL)與接口傳送信息;中間運(yùn)算結(jié)果也多放于AX(AL)中;乘除法指令的一個(gè)操作數(shù)必須在AX(AL)中。BX:基址寄存器在間接尋址中用于存放操作數(shù)的基地址。1.通用寄存器19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》34CX:計(jì)數(shù)寄存器用于在循環(huán)指令或串操作指令中存放計(jì)數(shù)值。DX:數(shù)據(jù)寄存器在間接尋址的I/O指令中存放I/O端口地址;在32位乘除法運(yùn)算時(shí),存放高16位數(shù)。1.通用寄存器19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》35SP:堆棧指針寄存器其內(nèi)容為堆棧棧頂?shù)钠频刂罚蝗魏味褩2僮骱?,SP都會(huì)自動(dòng)增/減量。BP:基址指針寄存器在間接尋址中用于存放操作數(shù)的基地址;常用于訪問(wèn)存放在堆棧中的數(shù)據(jù)。2.地址指針寄存器19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》36BX與BP在應(yīng)用上的區(qū)別作為通用寄存器,二者均可用于存放數(shù)據(jù);作為基址寄存器,默認(rèn)情況下:用BX作為指針?biāo)L問(wèn)的數(shù)據(jù)在數(shù)據(jù)段(DS段)用BP作為指針?biāo)L問(wèn)的數(shù)據(jù)在堆棧段(SS段)注:間接尋址時(shí)僅BX、BP、SI、DI可用于存儲(chǔ)器尋址;僅DX可用于I/O尋址。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》37SI:源變址寄存器,用于訪問(wèn)源操作數(shù)DI:目標(biāo)變址寄存器,用于訪問(wèn)目的操作數(shù)常用于操作數(shù)的間接尋址或變址尋址。在串操作指令中,SI存放源操作數(shù)的偏移地址,而DI存放目標(biāo)操作數(shù)的偏移地址。3.變址寄存器19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》384.標(biāo)志寄存器(FlagsRegister)標(biāo)志寄存器也稱為FLAGS,還稱程序狀態(tài)字PSW寄存器。用于存放反映處理器和運(yùn)行程序執(zhí)行結(jié)果狀態(tài)的狀態(tài)標(biāo)志和控制標(biāo)志。狀態(tài)標(biāo)志:用來(lái)記錄程序運(yùn)行結(jié)果的狀態(tài)信息,許多指令的執(zhí)行都將自動(dòng)地改變它。控制標(biāo)志:可由用戶根據(jù)需要用指令進(jìn)行設(shè)置,用于控制處理器的具體工作方式。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》39OF111512DF10IF9TF8SF7ZF65AF43PF21CF0控制反映結(jié)果狀態(tài)反應(yīng)運(yùn)算過(guò)程4.標(biāo)志寄存器(FlagsRegister)6個(gè)狀態(tài)標(biāo)志位(CF,SF,AF,PF,OF,ZF)3個(gè)控制標(biāo)志位(IF,TF,DF)19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》401)符號(hào)標(biāo)志SF(SignFlag)運(yùn)算結(jié)果最高位為1,則SF=1;否則SF=0。例如:3AH+7CH=B6H 最高位D7=1:SF=186H+7AH=00H 最高位D7=0:SF=0

有符號(hào)數(shù)利用最高有效位(MSB)來(lái)表示它的符號(hào)。所以,運(yùn)算結(jié)果的MSB與符號(hào)標(biāo)志SF相一致。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》412)零標(biāo)志ZF(ZeroFlag)若運(yùn)算結(jié)果為全0,則ZF=1,否則ZF=0。 例如:3AH+7CH=B6H結(jié)果不是零:ZF=086H+7AH=00H結(jié)果是全零:ZF=1注意:ZF為1表示的結(jié)果是019三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》423)進(jìn)位標(biāo)志CF(CarryFlag)當(dāng)運(yùn)算結(jié)果的最高有效位有進(jìn)位(加法)或借位(減法)時(shí),進(jìn)位標(biāo)志置1,即CF=1;否則CF=0。例如:以8位運(yùn)算為例,8088中為16位3AH+7CH=B6H 沒(méi)有進(jìn)位:CF=0AAH+7CH=26H 有進(jìn)位:CF=119三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》434)奇偶標(biāo)志PF(ParityFlag)當(dāng)運(yùn)算結(jié)果最低字節(jié)中“1”的個(gè)數(shù)為零或偶數(shù)時(shí),PF=1;否則PF=0(奇校驗(yàn))。例如:3AH+7CH=B6H=10110110B結(jié)果中有5個(gè)1,是奇數(shù),則PF=0

注意:PF標(biāo)志僅反映最低8位中“1”的個(gè)數(shù)是偶或奇,即使是進(jìn)行16位字操作。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》445)溢出標(biāo)志OF(OverflowFlag)若算術(shù)運(yùn)算的結(jié)果有溢出,則OF=1;否則OF=0例如:3AH+7CH=B6H產(chǎn)生溢出:OF=1AAH+7CH=26H 沒(méi)有溢出:OF=0問(wèn)題:什么是溢出?溢出和進(jìn)位有什么區(qū)別?處理器怎么處理,程序員如何運(yùn)用?如何判斷是否溢出?19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》45什么是溢出“溢出”針對(duì)有符號(hào)數(shù)處理器內(nèi)部以補(bǔ)碼表示有符號(hào)數(shù)8位表示范圍是: -128~+12716位表示范圍是:-32768~+32767如果運(yùn)算結(jié)果超出了這個(gè)范圍,就是產(chǎn)生了溢出,溢出發(fā)生時(shí),說(shuō)明有符號(hào)數(shù)的運(yùn)算結(jié)果不正確19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》46什么是溢出以8位運(yùn)算為例:

3AH+7CH=B6H 即58+124=182結(jié)果超出-128~127 故溢出,所以O(shè)F=1另一方面,補(bǔ)碼B6H表達(dá)真值是-74,顯然運(yùn)算結(jié)果也不正確。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》47溢出標(biāo)志和進(jìn)位標(biāo)志的區(qū)別溢出標(biāo)志OF和進(jìn)位標(biāo)志CF是兩個(gè)意義不同的標(biāo)志;進(jìn)位標(biāo)志表示無(wú)符號(hào)數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果仍然正確;溢出標(biāo)志表示有符號(hào)數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果已經(jīng)不正確。請(qǐng)看例子19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》48溢出和進(jìn)位的對(duì)比例1:3AH+7CH=B6H無(wú)符號(hào)運(yùn)算:58+124=182不超范圍,無(wú)進(jìn)位有符號(hào)運(yùn)算:58+124=182超范圍,有溢出例2:AAH+7CH=26H無(wú)符號(hào)運(yùn)算:170+124=294,超范圍,有進(jìn)位有符號(hào)運(yùn)算:-86+124=28,不超范圍,無(wú)溢出(1)19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》49例3:以8位減運(yùn)算位例,判斷CF標(biāo)志和OF標(biāo)志:

無(wú)符號(hào)運(yùn)算A8H-67H=168-103=65 夠減CF=0 有符號(hào)運(yùn)算A8H-67H=-88-103=-191

10101000– 01100111 01000001-191超過(guò)表示范圍:OF=1溢出和進(jìn)位的對(duì)比19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》50例4:以8位加運(yùn)算位例,判斷CF標(biāo)志和OF標(biāo)志:無(wú)符號(hào)運(yùn)算A8H+67H=168+103=271有進(jìn)位CF=1有符號(hào)運(yùn)算A8H+67H=-88+103=15

10101000+ 011001111 00001111有進(jìn)有出/無(wú)進(jìn)無(wú)出不溢出有進(jìn)無(wú)出/無(wú)進(jìn)有出溢出有進(jìn)有出:OF=0溢出和進(jìn)位的對(duì)比19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》51如何運(yùn)用溢出和進(jìn)位處理器對(duì)兩個(gè)操作數(shù)進(jìn)行運(yùn)算時(shí),根據(jù)無(wú)符號(hào)運(yùn)算有無(wú)進(jìn)位來(lái)設(shè)置進(jìn)位標(biāo)志CF;根據(jù)有符號(hào)運(yùn)算是否超出表示范圍來(lái)設(shè)置溢出標(biāo)志OF。應(yīng)該利用哪個(gè)標(biāo)志,則由程序員來(lái)決定。如果參加運(yùn)算的操作數(shù)是無(wú)符號(hào)數(shù),用戶應(yīng)該關(guān)心進(jìn)位標(biāo)志如果參加運(yùn)算的操作數(shù)是有符號(hào)數(shù),用戶應(yīng)該關(guān)心溢出標(biāo)志。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》526)輔助進(jìn)位標(biāo)志AF(AuxiliaryCarryFlag)運(yùn)算時(shí)D3位(低半字節(jié))有進(jìn)位或借位時(shí),AF=1;否則AF=0。例如:3AH+7CH=B6H D3向前有進(jìn)位:AF=1

這個(gè)標(biāo)志主要由處理器內(nèi)部使用,用于十進(jìn)制算術(shù)運(yùn)算的調(diào)整,用戶一般不必關(guān)心。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》537)方向標(biāo)志DF(DirectionFlag)用于串操作指令中,控制地址的變化方向:設(shè)置DF=0,串操作后存儲(chǔ)器地址自動(dòng)增量(增址)設(shè)置DF=1,串操作后存儲(chǔ)器地址自動(dòng)減量(減址)CLD指令復(fù)位方向標(biāo)志:DF=0STD指令置位方向標(biāo)志:DF=119三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》54SIDIDF=0DS:SIES:DI低地址高地址SIDIDISI數(shù)據(jù)段附加段............SIDIDF=1DS:SIES:DI低地址高地址SIDIDISI數(shù)據(jù)段附加段............正向傳送反向傳送SBUFDBUFDBUFSBUF方向標(biāo)志DF的控制作用03070803070803070803070819三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》558)中斷允許標(biāo)志IF(Interrupt-enableFlag)用于控制外部可屏蔽中斷是否可以被處理器響應(yīng)設(shè)置IF=1,則允許中斷;設(shè)置IF=0,則禁止中斷。CLI指令復(fù)位中斷標(biāo)志:IF=0STI指令置位中斷標(biāo)志:IF=119三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》569)跟蹤標(biāo)志TF(TrapFlag)用于控制處理器是否進(jìn)入單步執(zhí)行方式:設(shè)置TF=0,處理器正常工作;設(shè)置TF=1,處理器每執(zhí)行一條指令就中斷一次,中斷編號(hào)為1(稱單步中斷)TF

也被稱為單步標(biāo)志。單步執(zhí)行和單步調(diào)試?yán)脝尾街袛嗫蓪?duì)程序進(jìn)行逐條指令的調(diào)試。這種逐條指令調(diào)試程序的方法就是單步調(diào)試。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》57例如:MOVAL,4FH01001111

ADDAL,31H

+00110001 10000000

則對(duì)標(biāo)志影響為: CF=0——D7未產(chǎn)生進(jìn)位;PF=0——1的個(gè)數(shù)為奇數(shù);AF=1——D3有進(jìn)位;ZF=0—結(jié)果非零;SF=1——最高位為1;OF=1—結(jié)果為128標(biāo)志寄存器FLAGS015標(biāo)志寄存器應(yīng)用舉例19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》588086/8088結(jié)構(gòu)特點(diǎn)小結(jié)有EU和BIU兩個(gè)獨(dú)立的、同時(shí)運(yùn)行的部件二者通過(guò)IPQ構(gòu)成一個(gè)兩工位流水線指令被EU和BIU按流水線方式處理:提高了CPU的運(yùn)行速度;提高了CPU的執(zhí)行效率;降低了對(duì)存儲(chǔ)器存取速度的要求。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》598086/8088寄存器小結(jié)SPIPFLAGSAHALBHBLCHCLDHDLAXBXCXDXBPSIDICSDSESSS通用寄存器控制寄存器段寄存器16位16位19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》603.3.28086/8088的總線周期工作時(shí)序表征微處理器各引腳在時(shí)間上的工作關(guān)系,時(shí)序可分為兩種不同的粒度:時(shí)鐘周期

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

在5MHz的工作頻率時(shí),一個(gè)標(biāo)準(zhǔn)總線周期為0.8μs。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》61總線周期

T1T2T3T4TiTi

T1T2T3TwTwTwT4TiTi

總線周期總線周期若干個(gè)1~2個(gè)基本總線周期由4個(gè)T狀態(tài)組成:T1、T2、T3、T4等待時(shí)鐘周期Tw,在總線周期的T3和T4之間插入空閑時(shí)鐘周期Ti,在兩個(gè)總線周期之間插入19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》62等待狀態(tài)

T1T2T3TwTwTwT4CLKREADY前沿檢測(cè)19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》63總線周期中各時(shí)鐘周期的操作T1周期CPU向存儲(chǔ)器或I/O發(fā)送地址CPU向地址/數(shù)據(jù)分離器(地址鎖存器)發(fā)送ALE信號(hào)T2周期給存儲(chǔ)器或I/O發(fā)送寫(xiě)入的數(shù)據(jù)測(cè)試READY引腳狀態(tài),以決定是否插入等待周期發(fā)出RD或WR信號(hào)19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》64總線周期中各時(shí)鐘周期的操作T3周期等待存儲(chǔ)器或I/O存取數(shù)據(jù)完成使數(shù)據(jù)在CPU與存儲(chǔ)器或I/O之間傳輸T4周期寫(xiě)入數(shù)據(jù)讀/寫(xiě)總線周期的信號(hào)波形見(jiàn)下頁(yè)圖19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》65數(shù)據(jù)寫(xiě)入存儲(chǔ)器時(shí)的總線操作

——寫(xiě)總線周期①由ALE信號(hào)將地址鎖存到地址鎖存器②DEN=0并且DT/R=1時(shí)打開(kāi)總線緩沖器,將其放到系統(tǒng)數(shù)據(jù)總線上③此信號(hào)與M/IO信號(hào)共同構(gòu)成存儲(chǔ)器寫(xiě)控制信號(hào),將數(shù)據(jù)寫(xiě)入存儲(chǔ)器19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》66數(shù)據(jù)從存儲(chǔ)器讀出的總線操作

——讀總線周期③DEN=0并且DT/R=0時(shí)打開(kāi)總線緩沖器,將其放到CPU總線上,供CPU讀入較完整的讀總線周期②此信號(hào)與M/IO信號(hào)共同構(gòu)成存儲(chǔ)器讀控制信號(hào)①由ALE信號(hào)將地址鎖存到地址鎖存器19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》678086/8088的總線時(shí)序時(shí)序(Timing)是指信號(hào)高低電平(有效或無(wú)效)變化及相互間的時(shí)間順序關(guān)系??偩€時(shí)序描述CPU引腳如何實(shí)現(xiàn)總線操作CPU時(shí)序決定系統(tǒng)各部件間的同步和定時(shí)什么是總線操作?19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》68總線操作是指CPU通過(guò)總線對(duì)外的各種操作8086/8088的總線操作主要有:存儲(chǔ)器讀、I/O讀操作存儲(chǔ)器寫(xiě)、I/O寫(xiě)操作中斷響應(yīng)操作總線請(qǐng)求及響應(yīng)操作CPU正在進(jìn)行內(nèi)部操作、并不進(jìn)行實(shí)際對(duì)外操作的空閑狀態(tài)Ti描述總線操作的微處理器時(shí)序有三級(jí):指令周期→總線周期→時(shí)鐘周期什么是指令、總線和時(shí)鐘周期?8086/8088的總線時(shí)序19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》69指令周期是指一條指令經(jīng)取指、譯碼、讀寫(xiě)操作數(shù)到執(zhí)行完成的過(guò)程。若干總線周期組成一個(gè)指令周期總線周期是指CPU通過(guò)總線操作與外部(存儲(chǔ)器或I/O端口)進(jìn)行一次數(shù)據(jù)交換的過(guò)程80868088的基本總線周期需要4個(gè)時(shí)鐘周期4個(gè)時(shí)鐘周期編號(hào)為T(mén)1、T2、T3和T4總線周期中的時(shí)鐘周期也被稱作“T狀態(tài)”時(shí)鐘周期的時(shí)間長(zhǎng)度就是時(shí)鐘頻率的倒數(shù)當(dāng)需要延長(zhǎng)總線周期時(shí)需要插入等待狀態(tài)Tw何時(shí)有總線周期?8086/8088的總線時(shí)序19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》70任何指令的取指階段都需要存儲(chǔ)器讀總線周期,讀取的內(nèi)容是指令代碼.任何一條以存儲(chǔ)單元為源操作數(shù)的指令都將引起存儲(chǔ)器讀總線周期,任何一條以存儲(chǔ)單元為目的操作數(shù)的指令都將引起存儲(chǔ)器寫(xiě)總線周期只有執(zhí)行IN指令才出現(xiàn)I/O讀總線周期,執(zhí)行OUT指令才出現(xiàn)I/O寫(xiě)總線周期CPU響應(yīng)可屏蔽中斷時(shí)生成中斷響應(yīng)總線周期如何實(shí)現(xiàn)同步?8086/8088的總線時(shí)序19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》71總線操作中如何實(shí)現(xiàn)時(shí)序同步是關(guān)鍵CPU總線周期采用同步時(shí)序:各部件都以系統(tǒng)時(shí)鐘信號(hào)為基準(zhǔn)當(dāng)相互不能配合時(shí),快速部件(CPU)插入等待狀態(tài)等待慢速部件(I/O和存儲(chǔ)器)CPU與外設(shè)接口常采用異步時(shí)序,它們通過(guò)應(yīng)答聯(lián)絡(luò)信號(hào)實(shí)現(xiàn)同步操作8086/8088的總線時(shí)序第四節(jié)

8086/8088的存儲(chǔ)器組織movax,12hcalldisplayJmp1234h19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》73主要內(nèi)容:3.4.1存儲(chǔ)單元的地址和內(nèi)容3.4.2存儲(chǔ)器的分段機(jī)制3.4.3堆棧及堆棧段的使用3.48086/8088的存儲(chǔ)器組織19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》743.4.1存儲(chǔ)單元的地址和內(nèi)容計(jì)算機(jī)存儲(chǔ)信息的基本單位是一個(gè)二進(jìn)制位。存儲(chǔ)一位二進(jìn)制數(shù),位bit,0或1每八位組成一個(gè)字節(jié),Byte

D7~D0兩個(gè)字節(jié)構(gòu)成一個(gè)字,Word

D15~D0兩個(gè)字構(gòu)成一個(gè)雙字,Double:D31~D019三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》753.4.1存儲(chǔ)單元的地址和內(nèi)容在存儲(chǔ)器中,以字節(jié)為單位進(jìn)行編址的。對(duì)每個(gè)單元分配一個(gè)編號(hào),形成了存儲(chǔ)單元的物理地址。物理地址一般從0開(kāi)始編號(hào),順序每次加1,所以存儲(chǔ)器的物理地址空間是線性增長(zhǎng)的。在機(jī)器中,地址常采用二進(jìn)制數(shù)來(lái)表示,屬于無(wú)符號(hào)數(shù),為了表示方便,經(jīng)常寫(xiě)成16進(jìn)制數(shù)。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》763.4.1存儲(chǔ)單元的地址和內(nèi)容例如:16位二進(jìn)制數(shù)可以表示的無(wú)符號(hào)數(shù)的范圍是0~65535,所以16根地址線可以尋址的存儲(chǔ)空間的地址范圍是0000H~FFFFH。8086/8088的地址線是20根;20根地址線可以尋址的存儲(chǔ)空間?地址范圍?19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》77......11001111B......物理地址內(nèi)存00000H10001H10002H1FFFFHFFFFFH01010011B01000111B10001001B10003H01110101B......8086/808820條地址線最大可尋址空間為220=1MB可尋址的地址范圍為00000H~FFFFFH該地址稱物理地址硬件用20位的物理地址來(lái)對(duì)存儲(chǔ)單元進(jìn)行尋址3.4.1存儲(chǔ)單元的地址和內(nèi)容......19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》78......11001111B......物理地址內(nèi)存00000H10001H10002H1FFFFHFFFFFH01010011B01000111B10001001B10003H01110101B......存儲(chǔ)單元地址按照字節(jié)編址段地址:DS=1000H物理地址:00000H-FFFFFH字節(jié)的地址[10001H]=47H字節(jié)的地址[10002H]=53H字節(jié)的地址[10003H]=89H3.4.1存儲(chǔ)單元的地址和內(nèi)容......19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》79......11001111B......物理地址內(nèi)存00000H10001H10002H1FFFFHFFFFFH01010011B01000111B10001001B10003H01110101B......存儲(chǔ)單元地址按照字節(jié)編址段地址:DS=1000H偏移地址:0000H-FFFFH字的地址[0002H]=8953H字節(jié)的地址[0002H]=53H可以看出,同一個(gè)地址既可以是一個(gè)字節(jié)的地址,也可以是一個(gè)字的地址3.4.1存儲(chǔ)單元的地址和內(nèi)容......19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》803.4.1存儲(chǔ)單元的地址和內(nèi)容存儲(chǔ)器存放數(shù)據(jù)時(shí)單元地址分配的特點(diǎn)存放數(shù)據(jù)的起始地址可以任意,但是字?jǐn)?shù)據(jù)存放在偶數(shù)地址單元;CPU訪問(wèn)存儲(chǔ)器的字都是從偶地址開(kāi)始,如果字放在奇地址處,那么CPU訪問(wèn)這個(gè)字就需要執(zhí)行兩個(gè)總線周期,比放在偶地址處多一個(gè)總線周期,降低了效率。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》81例如:MOVAX,1000H

MOVDS,AX

MOVAX,[0010H]CPU高位字節(jié)低地址高地址10011H10010H內(nèi)存AX低位字節(jié)數(shù)據(jù)總線3.4.1存儲(chǔ)單元的地址和內(nèi)容19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》82例如: MOVAX,1000HMOVDS,AXMOVAX,[0011H]

CPU高位字節(jié)低地址高地址10012H10011H內(nèi)存AX低位字節(jié)數(shù)據(jù)總線空閑CPU高位字節(jié)低地址高地址10012H10011HAX低位字節(jié)數(shù)據(jù)總線空閑3.4.1存儲(chǔ)單元的地址和內(nèi)容19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》833.4.1存儲(chǔ)單元的地址和內(nèi)容雙字?jǐn)?shù)據(jù)存放在能被4整除的地址單元,可以改善程序性能。處理器對(duì)內(nèi)存的訪問(wèn)只需一個(gè)總線周期對(duì)雙字:對(duì)應(yīng)起始地址是4的倍數(shù)[0010H]=4775H起始地址[0018H]=8953H對(duì)字:對(duì)應(yīng)起始地址是2的倍數(shù)[0010H]=8953H起始地址19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》843.4.1存儲(chǔ)單元的地址和內(nèi)容存儲(chǔ)器存儲(chǔ)信息的特點(diǎn)信息的存儲(chǔ)單元是:字節(jié)80x86微處理器對(duì)多字節(jié)數(shù)據(jù)存儲(chǔ)采用:小端方式(littleendian)存儲(chǔ)的數(shù)據(jù)如果對(duì)齊邊界,則存取速度較快。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》853.4.1存儲(chǔ)單元的地址和內(nèi)容存儲(chǔ)器存儲(chǔ)信息的特點(diǎn)若存放的信息是字節(jié),則按順序存放若存放的信息是字,則將字的低位字節(jié)存放在低地址,高位字節(jié)存放在高地址若存放的信息是雙字,則將雙字的低位字存放在低地址,高位字存放在高地址19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》86......11001111B......物理地址內(nèi)存00000H10001H10002H1FFFFHFFFFFH01010011B01000111B10001001B10003H00010101B......存放字節(jié)信息,順序存放75H、47H、53H、89H段地址:DS=1000H[0000H]=75H[0001H]=47H[0002H]=53H[0003H]=89H3.4.1存儲(chǔ)單元的地址和內(nèi)容......01110101B10000H19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》87......11001111B......物理地址內(nèi)存00000H10001H10002H1FFFFHFFFFFH01010011B01000111B10001001B10003H00010101B......存放字信息,低低高高存放4775H、8953H段地址:DS=1000H[0000H]=4775H[0002H]=8953H3.4.1存儲(chǔ)單元的地址和內(nèi)容......01110101B10000H19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》88......11001111B......物理地址內(nèi)存00000H10001H10002H1FFFFHFFFFFH01010011B01000111B10001001B10003H00010101B......存放雙字信息,低低高高存放

89534775H段地址:DS=1000H[0000H]=4775H[0002H]=8953H3.4.1存儲(chǔ)單元的地址和內(nèi)容......01110101B10000H19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》89......11001111B......物理地址內(nèi)存00000H10001H10002H18953HFFFFFH01010011B01000111B10001001B10003H......10001110B3.4.1存儲(chǔ)單元的地址和內(nèi)容存儲(chǔ)器的復(fù)制特性:段地址:DS=1000H偏移地址:0000H-FFFFH[0002H]=8953H[8953H]=8ECFH操作后,單元仍然保存著原來(lái)的內(nèi)容,可以重復(fù)取出,只有存入新的信息后,原先的內(nèi)容才能刷新從而消失。1FFFFH11001111B19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》908086/8088可訪問(wèn)1MB的存儲(chǔ)空間(為什么?)寄存器能否放得下20位的地址?8086/8088是16位的微處理器,顯然16位的寄存器無(wú)法表示20位地址。而訪問(wèn)存儲(chǔ)單元只能通過(guò)寄存器間接尋址。用分段的方法解決。3.4.2存儲(chǔ)器的分段機(jī)制19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》91段是存儲(chǔ)器中的一塊區(qū)域程序員編寫(xiě)程序時(shí),需要將存儲(chǔ)器劃分成段,各段中可存放數(shù)據(jù),也可存放指令段的大小可以根據(jù)實(shí)際情況來(lái)分,可以是1B、100B、1000B,或者是不大于64KB的任意大小。段不能起始于任意的地址,而必須是由任意小段的首地址開(kāi)始。機(jī)器規(guī)定:從0地址開(kāi)始,每16B構(gòu)成一個(gè)小段。3.4.2存儲(chǔ)器的分段機(jī)制19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》92高地址低地址段首址段首址段首址段首址最大段64KB?最小段16B?段i-1段i段i+13.4.2存儲(chǔ)器的分段機(jī)制19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》93000000000100002……0000E0000FH000100001100012……0001E0001FH000200002100022……0002E0002FH000300003100032……0003E0003FH………………FFFD0FFFD1FFFD2……FFFDEFFFDFHFFFE0FFFE1FFFE2……FFFEEFFFEFHFFFF0FFFF1FFFF2……FFFFEFFFFFH3.4.2存儲(chǔ)器的分段機(jī)制19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》94上述1MB的存儲(chǔ)空間中第一列是每個(gè)小段的首地址在16進(jìn)制表示的地址中,最低位為0,即形如xxxx0H的形式。如:00020H、12340H、FFFE0H等都可以作為段的起始地址。所以可以將它們省略,然后用1個(gè)16位數(shù)來(lái)表示表示段的首地址。分段解決的原理辦法之一:用16位段寄存器存放“尋址單元”所在段的段地址。3.4.2存儲(chǔ)器的分段機(jī)制19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》95上述1MB的存儲(chǔ)空間中第一列是每個(gè)小段的首地址每段長(zhǎng)度限216=64KB,所以段內(nèi)偏移地址同樣可以用1個(gè)16位數(shù)來(lái)表示(xxxxH)分段解決的原理辦法之二:用16位寄存器存放“尋址單元”距所在段段首的偏移地址。3.4.2存儲(chǔ)器的分段機(jī)制19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》96用段和偏移的組合訪問(wèn)存儲(chǔ)單元所有存儲(chǔ)單元的地址都由段地址加偏移地址組成段地址,說(shuō)明邏輯段在存儲(chǔ)器中的起始位置,被裝入不同的段寄存器CS、SS、DS、ES中以供尋址使用偏移地址,說(shuō)明尋址單元距離段首的偏移量,用于在64KB存儲(chǔ)器段內(nèi)選擇任一存儲(chǔ)單元3.4.2存儲(chǔ)器的分段機(jī)制19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》97段和偏移設(shè)段起始地址=60000H段地址偏移地址0~FFFFH6A000H12H60000H6000段寄存器···0000段地址(16位)段起始地址×××???×××偏移地址=A000H物理地址6FFFFH···34H19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》98邏輯地址和物理地址邏輯地址:

段和偏移形式的地址邏輯地址用于匯編語(yǔ)言程序設(shè)計(jì)以下地址都是邏輯地址的例子:段地址:偏移地址6000H:0A00H16位的段地址(段基址)6000H16位的偏移地址(段內(nèi)偏移)0A00H物理地址:

20位的存儲(chǔ)單元的硬件地址

物理地址=段地址×16(或段地址左移4位)+偏移地址19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》9966H8FH7CH90H65H5FH1FH2BH8FHA2HC7H4AH代碼段(≤64KB)10000H段地址+偏移地址10001H10002H2A0F0H2A0F1H2A0F2HA0000HA0001HA0002HBC000HBC001HBC002H1000:00001000:00011000:00022A0F:00002A0F:00012A0F:0002A000:0000A000:0001A000:0002BC00:0000BC00:0001BC00:0002當(dāng)前(CS)=1000H(DS)=2A0FH(SS)=A000H(ES)=BC00H物理地址數(shù)據(jù)段(≤64KB)堆棧段段(≤64KB)附加段(≤64KB)邏輯地址和物理地址19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》100程序分段的圖例8086/8088對(duì)邏輯段的要求是: 段地址低4位均為0,每段最大不超過(guò)64KB8086/8088對(duì)每個(gè)段不要求必須是64KB, 不要求各段之間完全分開(kāi)、即可以重疊。

圖a是各自獨(dú)立段的分配示例

圖b是相互重疊段的分配示例19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》101各個(gè)邏輯段重疊的實(shí)例19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》102各個(gè)邏輯段獨(dú)立的實(shí)例19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》103例1:已知CS=1055H,DS=250AHES=2EF0H,SS=8FF0H

數(shù)據(jù)段中某操作數(shù)偏移地址=0204H各段首地址=?畫(huà)出各段在內(nèi)存中的分布該操作數(shù)的物理地址=?這個(gè)例子說(shuō)明:段與段可以不連續(xù)段之間可以重疊10550H250A0H2EF00H8FF00HDS段ES段SS段

CS段19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》104段寄存器和邏輯段8086有4個(gè)16位的段寄存器: CS(代碼段寄存器)用來(lái)指明代碼段的首地址DS(數(shù)據(jù)段寄存器)指明數(shù)據(jù)段的首地址 SS(堆棧段寄存器)指明堆棧段的首地址 ES(附加段寄存器)指明附加段的首地址段寄存器用來(lái)指明某個(gè)段的起始地址。在尋址時(shí),以上4個(gè)段寄存器提供的段地址有著不同的用法。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》105代碼段(CodeSegment)代碼段主要用來(lái)存放指令代碼(程序),也可存放數(shù)據(jù):代碼段寄存器CS存放代碼段的段地址指令指針寄存器IP指示下條指令的偏移地址處理器利用CS:IP取得下一條要執(zhí)行的指令19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》106數(shù)據(jù)段(DataSegment)數(shù)據(jù)段存放程序所使用的數(shù)據(jù):數(shù)據(jù)段寄存器DS存放數(shù)據(jù)段的段地址,各種存儲(chǔ)器尋址方式得到存儲(chǔ)器中操作數(shù)的偏移地址(有效地址EA)

。處理器利用DS:EA存取數(shù)據(jù)段中的數(shù)據(jù)。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》107堆棧段(StackSegment)堆棧段用于堆棧,用于保存程序斷點(diǎn)、和現(xiàn)場(chǎng)、向子程序傳遞參數(shù)等:堆棧段寄存器SS存放堆棧段的段地址,堆棧指針寄存器SP指示堆棧棧頂?shù)钠频刂诽幚砥骼肧S:SP操作堆棧頂?shù)臄?shù)據(jù)。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》108附加段(ExtraSegment)附加段是附加的數(shù)據(jù)段,也用于數(shù)據(jù)的保存:附加段寄存器ES存放附加段的段地址,通過(guò)各種主存尋址方式(有效地址EA)得到存儲(chǔ)器中操作數(shù)的偏移地址。處理器利用ES:EA存取附加段中的數(shù)據(jù)。串操作指令將附加段作為其目的操作數(shù)的存放區(qū)域19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》109程序員如何分配各個(gè)邏輯段程序的指令序列必須安排在代碼段;程序使用的堆棧一定在堆棧段;程序中的數(shù)據(jù)默認(rèn)是安排在數(shù)據(jù)段,也經(jīng)常安排在附加段,尤其是串操作的目的區(qū)必須是附加段數(shù)據(jù)的存放比較靈活,實(shí)際上可以存放在任何一種邏輯段中。程序中如何指明數(shù)據(jù)所在的邏輯段呢?19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》110段跨越前綴指令沒(méi)有指明時(shí),一般的數(shù)據(jù)訪問(wèn)在DS段;若使用BP訪問(wèn)存儲(chǔ)器,則在SS段。默認(rèn)的情況允許改變,需要使用段跨越前綴指令,8086指令系統(tǒng)中共有4個(gè):CS:——代碼段超越,使用代碼段的數(shù)據(jù)SS:——堆棧段超越,使用堆棧段的數(shù)據(jù)DS:——數(shù)據(jù)段超越,使用數(shù)據(jù)段的數(shù)據(jù)ES:——附加段超越,使用附加段的數(shù)據(jù)19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》111段超越的例子沒(méi)有段超越的指令實(shí)例:MOVAX,[2000H]

;AX←DS:[2000H],;從默認(rèn)的DS數(shù)據(jù)段取出數(shù)據(jù)采用段超越前綴的指令實(shí)例:MOVAX,ES:[2000H];AX←ES:[2000H],;從指定的ES附加段取出數(shù)據(jù)19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》112默認(rèn)段和偏移寄存器8086規(guī)定了訪問(wèn)存儲(chǔ)器段的規(guī)則:此規(guī)則定義了段地址寄存器和偏移地址寄存器的組合方式,其默認(rèn)規(guī)則如下表:段地址默認(rèn)偏移地址用于訪問(wèn)CSIP指令SSSP、BP堆棧中的數(shù)據(jù)DSBX、DI、SI、8位或16位數(shù)數(shù)據(jù)段中的數(shù)據(jù)ES串指令的DI目標(biāo)串操作數(shù)19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》113例2:設(shè)當(dāng)前執(zhí)行的程序中某條指令的物理地址為5A1F6H,則程序所在的段的段地址=?當(dāng)前CS的內(nèi)容為多少?解:(有多個(gè)解,求出任意一個(gè)即可)5A1F6H=5A10H×10H+00F6H所以,段地址=5A10H,CS的內(nèi)容為5A10H

想一想,還有哪些解?思考題:設(shè)當(dāng)前數(shù)據(jù)段位于存儲(chǔ)器的A8000H到B7FFFH的地址空間,問(wèn)DS的內(nèi)容應(yīng)是什么才能訪問(wèn)該數(shù)據(jù)段的所有存儲(chǔ)單元?19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》1143.4.3堆棧及堆棧段的使用堆棧:內(nèi)存中一個(gè)特殊區(qū)域,用于存放需要保護(hù)的數(shù)據(jù)。堆棧按后進(jìn)先出方式工作堆棧通過(guò)SS(段地址)和SP(偏移地址)來(lái)訪問(wèn)——堆棧指針堆棧的數(shù)據(jù)壓入方向是從高地址到低地址,彈出方向則相反(堆棧指針的變化舉例)19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》1153.4.3堆棧及堆棧段的使用常用于響應(yīng)中斷子程序調(diào)用參數(shù)傳遞19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》1168086/8088的堆棧操作特點(diǎn)雙字節(jié)操作——高對(duì)高,低對(duì)低;“棧頂總滿”——棧頂已經(jīng)堆有數(shù)據(jù)。PUSHAXAHAL原棧頂新棧頂POPBXBHBL高址19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》117堆棧操作SPSSSS壓棧前退棧后高低低高高12HSSF0HSP壓棧后低高SPSPSPF0H12HSP19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》118例3:若已知(SS)=1000H(SP)=2000H則堆棧段的段起始地址=?棧頂?shù)刂??若該段最后一個(gè)單元地址為10100H則棧底單元的偏移地址=?段起始棧底棧頂堆棧段···高址第五節(jié)

8086/8088的外部結(jié)構(gòu)movax,12hcalldisplayJmp1234h19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》120主要內(nèi)容:3.5.18086的最大模式和最小模式3.5.28086的引腳信號(hào)和功能3.58086/8088的外部結(jié)構(gòu)19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》1213.5.18086CPU的兩種工作模式8086可工作于兩種模式下,即:

最小模式和最大模式。最小模式不支持8087。存儲(chǔ)器和I/O控制信號(hào)全部由CPU產(chǎn)生。最大模式支持8087。CPU的部分信號(hào)線被用作8087的控制,因此需要由8288總線控制器來(lái)產(chǎn)生這些控制信號(hào)。注:80286以后的CPU不再區(qū)分這兩種工作模式19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》122兩種模式構(gòu)成兩種不同規(guī)模的應(yīng)用系統(tǒng)最小模式構(gòu)成小規(guī)模的應(yīng)用系統(tǒng)8088本身提供所有的系統(tǒng)總線信號(hào)最大模式構(gòu)成較大規(guī)模的應(yīng)用系統(tǒng),例如可以接入數(shù)值協(xié)處理器8087、輸入輸出處理器80898088和總線控制器8288共同形成系統(tǒng)總線信號(hào)3.5.18086CPU的兩種工作模式19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》123兩種模式利用MN/MX*引腳區(qū)別MN/MX*接高電平為最小模式MN/MX*接低電平為最大模式兩種模式下的內(nèi)部操作并沒(méi)有區(qū)別IBMPC/XT采用最大模式通常在信號(hào)名稱加上劃線(如:MX)或星號(hào)(如:MX*)表示低電平有效3.5.18086CPU的兩種工作模式19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》124最小模式下的連接示意圖8086CPU??控制總線數(shù)據(jù)總線地址總線地址鎖存器數(shù)據(jù)總線緩沖器ALE時(shí)鐘發(fā)生器8284A地址/數(shù)據(jù)82868282Vcc

MN/MXDENDT/R19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》125最大模式下的連接示意圖8088CPU數(shù)據(jù)總線地址總線地址鎖存器數(shù)據(jù)總線緩沖器時(shí)鐘發(fā)生器總線控制器8284A8288ALECLK

MN/MX82828286GND控制總線19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》1268288總線控制器最大模式下,8288總線控制器產(chǎn)生某些CPU不再提供的控制信號(hào)。8288產(chǎn)生的信號(hào)包括:獨(dú)立的I/O控制命令:IORC、IOWC獨(dú)立的存儲(chǔ)器控制命令:MRDC、MWTC中斷響應(yīng)信號(hào)和總線控制信號(hào)以上三組信號(hào)取代了最小模式的:ALE、WR、IO/M、DT/R、DEN、INTA19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》1273.5.28086CPU的引線及功能引腳定義的方法可大致分為:每個(gè)引腳只傳送一種信息(如RD)電平的高低代表不同的含義(如M/IO)在不同模式下有不同的名稱和定義(如WR/LOCK)分時(shí)復(fù)用引腳(如AD15~AD0)引腳的輸入、輸出分別傳送不同的信息(如RQ/GT0)19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》128引腳的功能引腳信號(hào)的定義。約定引腳名為該引腳功能的英文縮寫(xiě),基本反映了信號(hào)的作用引腳的復(fù)用芯片設(shè)計(jì)中,有時(shí)為了以少量引腳提供更多功能,會(huì)采用引腳復(fù)用的做法。8086中就采用地址、數(shù)據(jù)線分時(shí)復(fù)用的方法,即當(dāng)引腳上出現(xiàn)有效信號(hào)時(shí),前一時(shí)刻總線上出現(xiàn)地址,后一時(shí)刻傳輸?shù)氖菙?shù)據(jù)。一、概述19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》129信號(hào)的有效電平指控制引腳使用有效時(shí)的邏輯電平。低電平有效的引腳名字上面加有一條橫線,引腳名字上無(wú)橫線者為高電平有效。另有一些引腳信號(hào)編碼使用,即高、低電平均有效,分別表示不同的狀態(tài)或數(shù)值。還有些引腳信號(hào)為邊沿有效,即信號(hào)僅在上升(或下降)沿有效。一、概述19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》130信號(hào)的流向芯片與其他部件的聯(lián)系全靠在引腳上傳送信息,這些信息可能自芯片向外輸出,也可能從外部輸入到芯片,還可能是雙向的。CPU的地址線(AB)是輸出的,用以尋址存儲(chǔ)器單元或I/O端口。一、概述19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》131信號(hào)的流向數(shù)據(jù)線(DB)是雙向的,CPU可通過(guò)它從存儲(chǔ)器或外設(shè)讀取數(shù)據(jù),也能將數(shù)據(jù)輸出給它們。CPU的某些控制線是輸出的,用來(lái)對(duì)外界提供控制,也有些控制線是輸入的,通過(guò)這些流入的信息,可以接受外界的聯(lián)絡(luò)信號(hào)。一、概述19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》132三態(tài)能力“三態(tài)”能力是指有些引腳除了能正常輸出或輸入高、低電平外,還能輸出高阻狀態(tài)。當(dāng)它輸出高阻狀態(tài)時(shí),表示芯片實(shí)際上已放棄了對(duì)該引腳的控制,使之“浮空”。這樣,與總線相連接的其它設(shè)備就可以獲得對(duì)總線的控制權(quán),系統(tǒng)轉(zhuǎn)為接受總線的設(shè)備控制下工作。一、概述19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》1338086和8088引腳對(duì)比圖地AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLK地Vcc(5V)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8086Vcc(5V)A15A16/S3A17/S4A18/S5A19/S6SS0(HIGH)MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8088地A14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLK地19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》134二、8086最小模式下的主要引腳數(shù)據(jù)和地址引腳讀寫(xiě)控制引腳中斷請(qǐng)求和響應(yīng)引腳總線請(qǐng)求和響應(yīng)引腳其它引腳 19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》1358086的引腳特性VCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS1)INTA(QS0)TESTREADYRESETGNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND12345678910111213141516171819204039383736353433323130292827262524232221

8086有40個(gè)引腳,其中第33(最小/最大模式)腳很關(guān)鍵,它是一條輸入線,可以加高電平,也可以加低電平,由該線所加電平的高或低電平?jīng)Q定24-31引腳的功能(24-31引腳的功能取決于8086工作在最小模式還是最大模式)其他引腳不受第33引腳的影響,我們把這部分引腳稱為一般引腳。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》136最小模式1-40引腳的功能定義MN/MXVCC、GNDCLKAD15-AD0A19-A16/S6-S3

BHE/S7

ALERD,WRM/IODENRESETREADYTESTNMIINTRINTAHOLD19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》1371.MN/MX引腳MN/MX工作模式控制=0(接地):工作于最大模式;=1(接Vcc):工作于最小模式。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》1382.AD15-AD0(地址/數(shù)據(jù)復(fù)用引腳)AD15-AD0(地址/數(shù)據(jù)):分時(shí)復(fù)用的存儲(chǔ)器或端口的地址/數(shù)據(jù)總線。傳送地址時(shí)為單向的三態(tài)輸出,傳送數(shù)據(jù)時(shí)可雙向三態(tài)輸入/輸出。在總線周期的T1狀態(tài),輸出要訪問(wèn)的存儲(chǔ)器或I/O端口的地址;T2狀態(tài)浮置成高阻狀態(tài),為傳輸數(shù)據(jù)做準(zhǔn)備;在T3狀態(tài),用于傳輸數(shù)據(jù);T4狀態(tài),結(jié)束總線周期。19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》139當(dāng)CPU響應(yīng)中斷,DMA方式時(shí),這些線處于浮空狀態(tài)(高阻態(tài))。

直接存儲(chǔ)器存取(DMA)方式,使數(shù)據(jù)的傳送不經(jīng)過(guò)CPU,由DMA控制器來(lái)實(shí)現(xiàn)內(nèi)存與外設(shè),或外設(shè)與外設(shè)之間的直接快速傳送。2.AD15-AD0(地址/數(shù)據(jù)復(fù)用引腳)19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》140A19--A16是地址的高4位,在T1輸出地址S6--S3是CPU的狀態(tài)信號(hào),在T2-T4時(shí)輸出CPU狀態(tài)當(dāng)訪問(wèn)存儲(chǔ)器時(shí),T1輸出的A19--A16與AD15--AD0組成20位地址信號(hào)而訪問(wèn)I/O端口時(shí)A19-A16=0000,AD15--AD0為16位地址信號(hào)3.A16/S3~A19/S6地址/狀態(tài)復(fù)用引腳19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》141狀態(tài)信號(hào)的S6=0,表示當(dāng)前8086與總線相連S5標(biāo)志中斷允許IF的狀態(tài)S4和S3組合指示當(dāng)前使用的段寄存器(00,01,10,11)分別指ES,SS,CS,DS在進(jìn)行DMA方式時(shí),A19-A16/S6-S3浮空3.A16/S3~A19/S6地址/狀態(tài)復(fù)用引腳19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》142S6=0——表示CPU正與總線相連;S5=1——表示允許可屏蔽中斷;S5=0——禁止。S3,S4組合表示段寄存器的使用。S4S3段寄存器使用情況0001

10

11

當(dāng)前正在使用ES當(dāng)前正在使用SS當(dāng)前正在使用CS,或未用任何段寄存器當(dāng)前正在使用DS3.A16/S3~A19/S6地址/狀態(tài)復(fù)用引腳19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》1434.BHE/S7高8位數(shù)據(jù)允許/狀態(tài)復(fù)用引腳三態(tài),輸出

BHE在T1時(shí)輸出,表示總線高8位AD15—AD8上的數(shù)據(jù)有效

S7在T2—T4時(shí)輸出,未賦予定義,作備用狀態(tài)信號(hào)線

19三月2024中北大學(xué)《微機(jī)原理及接口技術(shù)》1448086有16條數(shù)據(jù)線,可用低8位傳送一個(gè)字節(jié),也可用高8位傳送一個(gè)字節(jié),還可用高8位和低8位一起傳送一個(gè)字(16位)。BHE和A0就是用來(lái)區(qū)分這幾類傳輸?shù)摹?/p>

BHE和A0組合起來(lái)表示當(dāng)前數(shù)據(jù)在總線上的格式,如下表4.BHE/S7高8位數(shù)據(jù)允許/狀態(tài)復(fù)用引腳19三月2024中北大學(xué)

溫馨提示

  • 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)論