第三章(1)8086微處理器及其系統(tǒng)_第1頁
第三章(1)8086微處理器及其系統(tǒng)_第2頁
第三章(1)8086微處理器及其系統(tǒng)_第3頁
第三章(1)8086微處理器及其系統(tǒng)_第4頁
第三章(1)8086微處理器及其系統(tǒng)_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章8086/8088微處理器及其系統(tǒng)1.8086/8088微處理器結(jié)構(gòu)微處理器功能結(jié)構(gòu)寄存器結(jié)構(gòu)(編程結(jié)構(gòu))2.8086/8088存儲器組織3.8086/8088工作方式時序和引腳信號最大和最小模式4.8086/8088尋址方式5.8086/8088指令系統(tǒng)2/6/20231第3章8086/8088微處理器及其系統(tǒng)8080/8088introductionFirstmemberofx86familyofprocessorsUpto10MHz,40-pinDIP1MBRAM,64KI/OportsPowerfulinstructionsetOtherProductsAMDID8086BFujitsuMBL8086MitsubishiM5L8086SNECD8086D-2SiemensSAB8086-C(T40-45)2/6/202321.8086/8088微處理器結(jié)構(gòu)硬件概括內(nèi)部結(jié)構(gòu)是16位,內(nèi)部運算部件,內(nèi)部操作按16位設(shè)計);16-bitarchitecture-16-bitinternalregisters能處理16位數(shù)據(jù),也能處理8位數(shù)據(jù);16-bitdatabus匯編語言與8080/8085兼容,即能執(zhí)行整套8080/8085的指令.增加了許多16位操作指令;地址線20位,直接尋址能力1M字節(jié);20-bitaddressbus(1MBofphysicalmemory).8086與8088的主要區(qū)別:8086的外部數(shù)據(jù)總線16位,8088外部數(shù)據(jù)總線為8位。2/6/202331.8086/8088微處理器結(jié)構(gòu)地址線(AB)?數(shù)據(jù)線(DB)?控制線(CB)?2/6/202341.8086/8088微處理器結(jié)構(gòu)2/6/202351.8086/8088微處理器結(jié)構(gòu)2/6/202361.8086/8088微處理器結(jié)構(gòu)8086/8088微處理器功能結(jié)構(gòu)由總線接口單元(BIU)和執(zhí)行單元構(gòu)成(EU)BIU:由指令隊列、指令指針、段寄存器、地址加法器和總線控制邏輯等組成,負(fù)責(zé)CPU對存儲器和外設(shè)進行訪問。EU:由ALU、通用寄存器組(數(shù)據(jù)寄存器組、指針寄存器組、地址寄存器組)、標(biāo)志寄存器和指令譯碼邏輯等組成,負(fù)責(zé)指令的譯碼、執(zhí)行和數(shù)據(jù)的運算。2/6/202371.8086/8088微處理器結(jié)構(gòu)BIU和EU功能框圖數(shù)據(jù)寄存器組暫存寄存器標(biāo)志寄存器EU控制器電路指針寄存器組變址寄存器組ALUALU數(shù)據(jù)總線通用寄存器組段寄存器組內(nèi)部暫存器指令隊列總線控制電路16位數(shù)據(jù)總線8086總線∑ABDBIP寄存器EU部件返回段寄存器2/6/202381.8086/8088微處理器結(jié)構(gòu)BIU/指令隊列緩沖器8088為4字節(jié),8086為6字節(jié)。為FIFO(先進先出)結(jié)構(gòu)指令隊列至少保持有一條指令,且只要有一條指令,EU就開始執(zhí)行;指令隊列只要有空,BIU自動執(zhí)行取指操作,直到填滿為止;若EU要進行M/IO存取數(shù)據(jù),BIU在執(zhí)行完現(xiàn)行取指操作周期后進行;當(dāng)執(zhí)行轉(zhuǎn)移指令時,EU要求BIU從新的地址中重新取指。隊列中原有指令被清除。新取得的第一條指令直接送EU執(zhí)行,隨后取得的指令填入隊列。EU與BIU的協(xié)同工作:取指令和執(zhí)行指令可以并行返回功能單元圖2/6/202391.8086/8088微處理器結(jié)構(gòu)BIU/指令隊列緩沖器-串行操作忙CPUBUSt1t0t2t3t4t5分析/執(zhí)行指令3預(yù)取指令3分析/執(zhí)行指令2預(yù)取指令2分析/執(zhí)行指令1預(yù)取指令1閑忙閑忙閑2/6/2023101.8086/8088微處理器結(jié)構(gòu)BIU/指令隊列緩沖器-并行操作忙CPUBUSt1t0t2t3t4t5分析/執(zhí)行指令3預(yù)取指令3分析/執(zhí)行指令2預(yù)取指令2分析/執(zhí)行指令1預(yù)取指令1忙忙忙忙忙分析/執(zhí)行指令4預(yù)取指令4預(yù)取指令5分析/執(zhí)行指令5返回功能單元圖2/6/2023111.8086/8088微處理器結(jié)構(gòu)BIU/IP—指令指針寄存器用來存儲代碼段中的偏移地址;程序運行過程中IP始終指向下一次要取出的指令偏移地址,自動加1;通常不能被直接訪問,也不能直接賦值,指令中不會出現(xiàn)IP。BIU/總線控制邏輯處理器與外界總線聯(lián)系的轉(zhuǎn)接電路。包括三組總線:20位地址總線,16/8位雙向數(shù)據(jù)總線,一組控制總線返回功能單元圖2/6/2023121.8086/8088微處理器結(jié)構(gòu)BIU/地址加法器20位地址加法器,它將段寄存器提供的段地址自動乘以10H,即左移4位,再與16位的偏移地址相加,并鎖存在物理地址鎖存器中。段寄存器組內(nèi)部暫存器指令隊列總線控制電路16位數(shù)據(jù)總線8086總線∑ABDBIP寄存器返回功能單元圖2/6/2023131.8086/8088微處理器結(jié)構(gòu)EU部件算術(shù)邏輯單元ALU進行所有的算術(shù)和邏輯運算計算尋址單元的十六位偏移地址EA(EffectAddress)EU控制器接收指令隊列中的指令,進行指令譯碼、分析,形成各種控制信號,實現(xiàn)EU各個部件完成規(guī)定動作的控制標(biāo)志寄存器F通用寄存器組返回功能單元圖2/6/2023141.8086/8088微處理器結(jié)構(gòu)2/6/2023151.8086/8088微處理器結(jié)構(gòu)寄存器編程結(jié)構(gòu)數(shù)據(jù)寄存器地址指針及變址寄存器控制寄存器組段寄存器組AXAHAL累加器BXBHBL基址寄存器CXCHCL計數(shù)寄存器DXDHDL數(shù)據(jù)寄存器通用寄存器組

SP堆棧指針BP基址指針SI源變址指針DI目的變址指針I(yè)P指令指針FLAG標(biāo)志寄存器

CS代碼段寄存器DS數(shù)據(jù)段寄存器SS堆棧段寄存器ES附加段寄存器

158702/6/2023161.8086/8088微處理器結(jié)構(gòu)通用寄存器特點一般,通用寄存器可以用于任何指令的任意操作,可以相互替換;16位的數(shù)據(jù)寄存器可分解為2個8位的寄存器使用,是同一個物理介質(zhì);如果存儲了一個16位的數(shù)據(jù),不能同時存儲另外的1個或2個8位數(shù);地址寄存器不能分解為8位使用;有些操作規(guī)定只能使用某個寄存器,即寄存器的特殊用法。通用寄存器的特殊用法(默認(rèn)用法)2/6/2023171.8086/8088微處理器結(jié)構(gòu)段寄存器4個16位段寄存器CS、DS、SS、ES用來識別當(dāng)前可尋址的四個段,每個段的功能各不相同CS:代碼段寄存器,指示當(dāng)前執(zhí)行程序所在存儲器的區(qū)域。DS:數(shù)據(jù)段寄存器,指示當(dāng)前程序所用之?dāng)?shù)據(jù)的存儲器區(qū)域。SS:堆棧段寄存器,指示當(dāng)前程序所用之堆棧位于的存儲器區(qū)域。ES:附加段寄存器,指示當(dāng)前程序所用之?dāng)?shù)據(jù)位于的另外存儲器區(qū)域,在字符串操作中常用到。功能單元圖2/6/202318150

OFDF

IF

TFSFZFAFPFCF進借位標(biāo)志奇偶標(biāo)志半進借位標(biāo)志零標(biāo)志符號標(biāo)志單步中斷中斷允許方向標(biāo)志溢出標(biāo)志1-有進、借位0-無進、借位1-低8位有偶數(shù)個10-低8位有奇數(shù)個11-低4位向高4位有進、借位0-低4位向高4位無進、借位1-結(jié)果為00-結(jié)果不為0舉例2/6/2023191.8086/8088微處理器結(jié)構(gòu)標(biāo)志寄存器/狀態(tài)標(biāo)志OF(OverflowFlag):溢出標(biāo)志(指補碼),F(xiàn).11OF=1:在運算過程中,如操作數(shù)超過了機器表示的范圍稱為溢出;OF=0:在運算過程中,如操作數(shù)未超過機器數(shù)表示的范圍稱為不溢出。求解方法:最高位進位次高位進位字節(jié)允許范圍:-128—+127字允許范圍:-32768—+327672/6/2023201.8086/8088微處理器結(jié)構(gòu)標(biāo)志寄存器/狀態(tài)標(biāo)志CF(CarryFlag):進位/借位標(biāo)志,F(xiàn).0CF=1:最高位需要向前產(chǎn)生進位/借位;CF=0:最高位不會向前產(chǎn)生進位/借位。AF(AuxiliaryCarryFlag):輔助進位標(biāo)志,F(xiàn).4AF=1:數(shù)據(jù)的第3位(半個字節(jié))需要向前產(chǎn)生進位/借位;AF=0:數(shù)據(jù)的第3位(半個字節(jié))不會向前產(chǎn)生進位/借位。2/6/2023211.8086/8088微處理器結(jié)構(gòu)標(biāo)志寄存器/狀態(tài)標(biāo)志SF(SignFlag):符號標(biāo)志,F(xiàn).7SF=1:運算結(jié)果的最高位為1,如果為帶符號數(shù),則為負(fù)數(shù);SF=0:運算結(jié)果的最高位為0,如果為帶符號數(shù),則為正數(shù);帶符號數(shù)的最高位為符號位;而無符號數(shù)的最高位為數(shù)值位。ZF(ZeroFlag):全零標(biāo)志,F(xiàn).6ZF=1:運算結(jié)果為全0;不包括進位的情況;ZF=0:運算結(jié)果不為0。2/6/2023221.8086/8088微處理器結(jié)構(gòu)標(biāo)志寄存器/狀態(tài)標(biāo)志PF(ParityFlag):奇偶標(biāo)志,F(xiàn).2PF=1:結(jié)果的低8位中有偶數(shù)個1。PF=0:結(jié)果的低8位中有奇數(shù)個1。有些運算操作將影響全部狀態(tài)標(biāo)志,如加法、減法運算;有些操作影響部分狀態(tài)標(biāo)志,如移位操作;有些指令的操作不影響任何狀態(tài)標(biāo)志,如數(shù)據(jù)傳送指令。2/6/2023231.8086/8088微處理器結(jié)構(gòu)標(biāo)志寄存器/控制標(biāo)志DF(DirectionFlag):方向控制標(biāo)志位,F(xiàn).10用于串處理指令,控制從前往后、還是從后往前對字符串進行操作處理;DF=1,每次串處理操作后使變址寄存器SI和DI的值遞減,使串處理從高地址向低地址方向處理;DF=0,每次串處理操作后使變址寄存器SI和DI的值遞增,使串處理從低地址向高地址方向處理。2/6/2023241.8086/8088微處理器結(jié)構(gòu)標(biāo)志寄存器/控制標(biāo)志IF(InteruptFlag):中斷允許/禁止標(biāo)志位,F(xiàn).9IF=1,允許外部可屏蔽中斷。CPU可以響應(yīng)可屏蔽中斷請求。IF=0,關(guān)閉中斷。CPU禁止響應(yīng)可屏蔽中斷請求。IF的狀態(tài)對不可屏蔽中斷和內(nèi)部軟中斷沒有影響。TF(TrapFlag):跟蹤(陷阱)標(biāo)志位,F(xiàn).8TF=1,每執(zhí)行一條指令后,自動產(chǎn)生一次內(nèi)部中斷,使CPU處于單步執(zhí)行指令工作方式,便于進行程序調(diào)試,用戶能檢查程序。TF=0,CPU正常工作,不產(chǎn)生陷阱。2/6/20232510001101001101100011001000011001+0110011010101001運算結(jié)果最高位為1 ∴SF=1;例:2個數(shù)相加后,分析各標(biāo)志位的值第三位向第四位有進位 ∴AF=1;次高位向最高位有進位,最高位向前沒有進位,OF=10=1最高位沒有進位 ∴CF=0;低8位中1的個數(shù)為偶數(shù)個∴PF=1;運算結(jié)果本身≠0 ∴ZF=0;2/6/20232610001101001101100011001000011001-0010110010001100運算結(jié)果最高位為0 ∴SF=0;例:2個數(shù)相減后,分析各標(biāo)志位的值第三位向第四位沒有借位 ∴AF=0;次高位向最高位沒有借位,最高位向前沒有借位,OF=00=0最高位沒有借位 ∴CF=0;低8位中1的個數(shù)為奇數(shù)個∴PF=0;運算結(jié)果本身≠0 ∴ZF=0;2/6/2023271.8086/8088微處理器結(jié)構(gòu)練習(xí):x86寄存器標(biāo)志名標(biāo)志為1標(biāo)志為0OF溢出(是/否)OVNVDF方向(減量/加量)DNUPIF中斷(允許/關(guān)閉)EIDISF符號(負(fù)/正)NGPLZF零(是/否)ZRNZAF輔助進位(是/否)ACNAPF奇偶標(biāo)志(偶/奇)PEPOCF進位標(biāo)志(是/否)CYNC2/6/2023281.8086/8088微處理器結(jié)構(gòu)復(fù)習(xí)與思考閱讀教材P42~P50,Intel8086評價/Technology/PCWorld/story?id=5181251課外學(xué)習(xí)處理器知識Intel系列:/其它系列:http:/CPUs/8086/2/6/2023292.8086/8088存儲器組織8086/8088存儲器-存儲方式8086有20條地址線,尋址(空間)能力為1MB字節(jié)地址/字地址存儲方式字符串地址:存放在最低地址單元的第一個字節(jié)地址指針的存儲:偏移地址在低地址字單元,段地址在較高地址單元存儲單元內(nèi)容含義:數(shù)據(jù)指令指針(包括偏移地址和段地址)2/6/2023302.8086/8088存儲器組織8086/8088存儲器-固定存儲單元以8088CPU的IBMPC系統(tǒng)中,存儲器首尾地址的用途固定。00000H-003FFH共1K內(nèi)存單元用于存放中斷向量。0FFFF0H-0FFFFFH是存儲器底部的16個單元。系統(tǒng)加電復(fù)位時,會自動轉(zhuǎn)到0FFFF0H單元執(zhí)行,而在0FFFF0H處存放一條無條件轉(zhuǎn)移指令,轉(zhuǎn)向系統(tǒng)初始化程序。2/6/2023312.8086/8088存儲器組織信息存放方式

地址

內(nèi)容

19H

1AH

1BH

1CH

1DH

1EH

1FH

20H

21H

22H

23H

地址為1AH的字節(jié)數(shù)據(jù)1FH

1FH地址為1BH的字?jǐn)?shù)據(jù)2301H 01H 23H地址為1EH的字?jǐn)?shù)據(jù)41ABH ABH 41H首地址為1FH的字符串“ABCDE”21H43H23H45H20H42H22H44H1FH 41H地址為1AH的雙字?jǐn)?shù)據(jù)7423011FH;如解釋為指針數(shù)據(jù),則段地址為7423H,偏移量為011FH 1FH 01H23H74H2/6/2023322.8086/8088存儲器組織Explainthememoryorganizationof8086

The8086useslittleendianformat:leastsignificantbyteofavalueisstoredfirst. 低字節(jié)優(yōu)先存儲在存儲器低位地址。

Theaddressoftheleastsignificantbyteformsthewordaddress.Awordcanstarteitherfromanevenaddressorfromanoddaddress. 字地址有奇地址和偶地址2/6/202333SELA19~A1D15~D8D7~D0A0SELA19~A1D15~D8D7~D0高位(奇地址)庫512Kx8低位(偶地址)庫512Kx8A19~A1BHEA0讀/寫的字節(jié)00高低兩個字節(jié)01奇數(shù)地址的高位字節(jié)10偶數(shù)地址的低位字節(jié)11不傳送2/6/2023342/6/2023352.8086/8088存儲器組織存儲器的分段–(引論-書籍分頁)一本書字?jǐn)?shù)總編號為0000~9999按照100頁分(頁碼編號00~99),每頁100個字(每頁字編號00~99)。問總編號No.105字屬于第頁第幾個字?(01:0501x100+5=0105)0105如果按1000頁分(頁碼編號000~999),每頁10個字(每頁字編號0~9)。問編號No.105字屬于第幾頁第幾個字?(10:0510x10+5=0105)01052/6/2023362.8086/8088存儲器組織存儲器的分段存儲器的分段目的20條地址總線,尋址能力多少?用16進制表示地址?內(nèi)部寄存器16位,直接表示的地址范圍是多少?用16位寄存器表示20位地址的方法:存儲器分段分段目的是為了能夠利用16位地址線達(dá)到尋址1MB存儲空間。2/6/2023372.8086/8088存儲器組織存儲器分段示意圖(連續(xù)、重疊、分離)10000H=64KB,1000H=4KB,400H=1KB,100H=256B2/6/2023382.8086/8088存儲器組織物理地址(PhysicalAddress)與邏輯地址(LogicalAddress)

物理地址:對應(yīng)于每個存儲單元的實際地址(20位),CPU訪問存儲單元時所必須的。 20位物理地址形成:由16位段地址和16位偏移地址組成。段地址:只取段起始地址高16位值。(段基址?)偏移地址:指在段內(nèi)某內(nèi)存單元物理地址相對段起始地址的偏移值。 邏輯地址:為(段地址:偏移地址)的表示形式,由邏輯地址可以求得存儲單元的唯一物理地址。2/6/2023392.8086/8088存儲器組織邏輯地址到物理地址映射邏輯地址形式為:段地址:段內(nèi)位移(物理地址)20=(段地址)×10H+(段內(nèi)偏移)2/6/2023402.8086/8088存儲器組織邏輯地址到物理地址映射對存儲器任一位置的訪問都是在該位置所在的段基址下進行的。邏輯地址0C85FH:109AH實際地址0C85F0H+109AH=0C968AH同一個實際地址可以采取不同的邏輯地址形式表示,即不同段可以相互重疊。12345H可以表示為1200H:0345H或1230H:0045H…1200H1230H0345H0045H2/6/2023412.8086/8088存儲器組織邏輯地址到物理地址映射128個字的存儲器區(qū)域,如果起始邏輯地址為625AH:234DH,求其首末物理地址:128字=256字節(jié),長度為100H(00H-FFH)首地址:625AH×10H+234DH=648EDH末地址:648E

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論