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

1第2章微型計(jì)算機(jī)基礎(chǔ)2第2章節(jié)目錄2.1微處理器概述2.28088/8086微處理器章38088/8086CPU的外部引線及其功能;8088/8086CPU的內(nèi)部邏輯結(jié)構(gòu)(EU/BIU);8088/8086系統(tǒng)中存儲(chǔ)器的組織與尋址;堆棧的概念;8088/8086的工作時(shí)序(讀/寫(xiě)),總線周期;作業(yè)(P92):第2,3,4,5,8,9,10題。小結(jié)章42.1微處理器概述微處理器功能算術(shù)運(yùn)算和邏輯運(yùn)算;對(duì)指令譯碼、寄存并執(zhí)行指令規(guī)定的操作;與存儲(chǔ)器、I/O接口數(shù)據(jù)通信;少量數(shù)據(jù)暫存;提供定時(shí)和控制信號(hào);響應(yīng)I/O設(shè)備發(fā)出的中斷。52.1微處理器概述運(yùn)算器組成:算術(shù)邏輯單元(ALU);通用或?qū)S眉拇嫫鹘M;內(nèi)部總線。62.1微處理器概述控制器功能:指令控制;時(shí)序控制;操作控制??刂破鹘M成:程序計(jì)數(shù)器;指令寄存器;指令譯碼器;時(shí)序控制部件;微操作控制部件。節(jié)72.28088微處理器2.2.18088CPU概述2.2.28088CPU外部引線及功能2.2.38088CPU的內(nèi)部結(jié)構(gòu)和特點(diǎn)2.2.48088的存儲(chǔ)器尋址2.2.58088的工作時(shí)序節(jié)8CPU地址總線(AB)RAMI/O接口I/O設(shè)備ROM數(shù)據(jù)總線(DB)控制總線(CB)9一、概述8088、8086基本類似16位CPU、AB寬度20位差別:指令預(yù)取隊(duì)列:8088為4字節(jié),8086為6字節(jié)數(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è)別差異。108086/8088微處理器結(jié)構(gòu)AHALBHBLCHCLDHDLSPBPDISI通用寄存器AXBXCXDXALU數(shù)據(jù)總線(16位)運(yùn)算寄存器ALU標(biāo)志寄存器EU控制電路執(zhí)行部件EUCSDSSSESIP內(nèi)部暫存器123456數(shù)據(jù)總線

輸入/輸出控制電路地址總線20位指令隊(duì)列緩沖器80888086Q總線(8位)指令指針段寄存器外部總線總線接口部件BIU地址加法器11指令預(yù)取隊(duì)列(IPQ)指令的一般執(zhí)行過(guò)程:取指令

指令譯碼

讀取操作數(shù)

執(zhí)行指令

存放結(jié)果12串行工作方式:8088之前的CPU采用串行工作方式:取指令1執(zhí)行1取操作數(shù)2執(zhí)行2CPUBUS忙碌忙碌忙碌忙碌存結(jié)果1取指令21)CPU執(zhí)行指令時(shí)總線處于空閑狀態(tài)2)CPU存取數(shù)據(jù)或指令時(shí)要等待總線缺點(diǎn):CPU無(wú)法全速運(yùn)行解決:總線空閑時(shí)預(yù)取指令,使CPU減少等待。13并行工作方式:8088CPU采用并行工作方式取指令2取操作數(shù)BIU存結(jié)果取指令3取操作數(shù)取指令4執(zhí)行1執(zhí)行2執(zhí)行3

EUBUS忙碌忙碌忙碌忙碌忙碌忙碌148088的流水線操作8088CPU包括兩大部分:EU和BIUBIU不斷地從存儲(chǔ)器取指令送入IPQ,EU不斷地從IPQ取出指令執(zhí)行EU和BIU構(gòu)成了一個(gè)簡(jiǎn)單的2工位流水線指令預(yù)取隊(duì)列IPQ是實(shí)現(xiàn)流水線操作的關(guān)鍵(類似于工廠流水線的傳送帶)新型CPU將一條指令劃分成更多的階段,以便可以同時(shí)執(zhí)行更多的指令

PIII為14個(gè)階段,P4為20個(gè)階段(超級(jí)流水線)15結(jié)論指令預(yù)取隊(duì)列的存在使EU和BIU兩個(gè)部分可同時(shí)進(jìn)行工作,從而提高了CPU的效率;降低了對(duì)存儲(chǔ)器存取速度的要求168088CPU的兩種工作模式(一)最小模式 也稱“單處理器系統(tǒng)”,即在系統(tǒng)中只有一個(gè)8086處理器,全部的系統(tǒng)總線信號(hào)均由8086直接產(chǎn)生。

總線控制邏輯減到最少,故稱最小模式。(二)最大模式也稱“多處理器系統(tǒng)”,即系統(tǒng)中包含兩個(gè)或多個(gè)處理器,其中一個(gè)為主處理器8086,其他的處理器為“協(xié)處理器”(CO-Processor)。17通常和8086配合使用的協(xié)處理器1、數(shù)值運(yùn)算協(xié)處理器8087用硬件方法實(shí)現(xiàn)數(shù)值計(jì)算,如浮點(diǎn)運(yùn)算、高精度整數(shù)運(yùn)算、三角函數(shù)、對(duì)數(shù)運(yùn)算等,提高系統(tǒng)的運(yùn)算速度。2、輸入/輸出協(xié)處理器8089可以直接為輸入/輸出設(shè)備服務(wù),使8086/8088不再承擔(dān)這些工作。提高主CPU的效率,尤其在輸入/輸出應(yīng)用較多的場(chǎng)合。188088在最小模式下的典型配置

8284A地址總線(20根)READYRESETALEA19~A8AD7~AD0地址鎖存儲(chǔ)器8282(三片)DENDT/RIO/MWRRDHOLDHLDAINTRINTACLK收發(fā)器8286(一片)數(shù)據(jù)總線(8根)控制總線READYRESET8088MN/MX+5VA0~A19D0~D7198086在最小模式下的典型配置

8284A地址總線(20根)READYRESETALEBHE/A19~A16AD15~AD0地址鎖存儲(chǔ)器8282(三片)BHEDENDT/RM/IOWRRDHOLDHLDAINTRINTACLK收發(fā)器8286(兩片)數(shù)據(jù)總線(16根)控制總線READYRESET8086MN/MX+5VA0~A19D0~D15208086最大模式下的典型配置80868282鎖存儲(chǔ)器(三片)8286收發(fā)器(2片)8288總線控制器READYRESET8284ARESETREADYBHE/A16~A19AD0~AD15S0/S1/S2/CLKMN/MX0DENDT/RA0~A19D0~D15ALESTBBHE/OE

TMRDC/MWTC/IORC/IOWC/INTA/ALE。DEN。DT/R控制總線S0S1S221DBABINTRDWRIO/MINTACB小節(jié)22二、8088CPU的引腳及功能引腳定義的一般方法:每個(gè)引腳只傳送一種信息(RD等);引腳電平的高低不同的信號(hào)(IO/M等);CPU工作于不同方式有不同的名稱和定義(WR/LOCK等);分時(shí)復(fù)用引腳(AD7

~AD0等);引腳的輸入和輸出分別傳送不同的信息(RQ/GT0等)。23引腳對(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)IO/M(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8088地A14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLK地24主要引線(最小模式下)8088是工作在最小還是最大模式由MN/MX端狀態(tài)決定:MN/MX=0時(shí)工作于最大模式,反之工作于最小模式。數(shù)據(jù)信號(hào)線(DB)與地址信號(hào)線(AB):AD7~AD0:三態(tài),地址/數(shù)據(jù)復(fù)用線。ALE有效時(shí)為地址的低8位。地址信號(hào)有效時(shí)為輸出,傳送數(shù)據(jù)信號(hào)時(shí)為雙向。A19~A16:三態(tài),輸出。高4位地址信號(hào),與狀態(tài)信號(hào) S6~S3分時(shí)復(fù)用。A15~A8:三態(tài),輸出。輸出8位地址信號(hào); (8086AD15~AD8)。25地址/狀態(tài)復(fù)用線A16/S3~A19/S6

S6=0——表示CPU正與總線相連;S5——指示中斷允許標(biāo)志位IF的狀態(tài)。S3,S4組合表示段寄存器的使用。S4S3段寄存器使用情況00011011當(dāng)前正在使用ES當(dāng)前正在使用SS當(dāng)前正在使用CS,或未用任何段寄存器當(dāng)前正在使用DS26主要的控制和狀態(tài)信號(hào)WR:三態(tài),輸出。寫(xiě)命令信號(hào);RD:三態(tài),輸出。讀命令信號(hào);IO/M

:三態(tài),輸出。指出當(dāng)前訪問(wèn)的是存儲(chǔ)器還 是I/O接口。高:I/O接口,低:內(nèi)存IO/MRDWR數(shù)據(jù)傳輸方式101I/O讀110I/O寫(xiě)001存儲(chǔ)器讀010存儲(chǔ)器寫(xiě)例:當(dāng)WR=1,RD=0,IO/M=0時(shí),表示CPU當(dāng)前正在進(jìn)行讀存儲(chǔ)器操作。27

ALE(AddresslatchEnable):地址鎖存允許信號(hào),輸出,高電平有效。 由于一部分地址線和數(shù)據(jù)線采用分時(shí)復(fù)用。在總線周期T1時(shí),總線上先傳送地址,接著傳送數(shù)據(jù)。 但在一般情況下,存儲(chǔ)器或I/O接口電路,要求在整個(gè)總線周期內(nèi)保持穩(wěn)定的地址信息。這樣,就需要將這些地址信息保存起來(lái)。在總線周期的T1狀態(tài),ALE信號(hào)有效。 與8086/8088配套的鎖存器電路為8282/8283,用ALE做鎖存允許信號(hào)。28

DEN(DataEnable):數(shù)據(jù)允許,輸出,三態(tài),低電平有效

作為總線收發(fā)器(8286/8287—數(shù)據(jù)總線驅(qū)動(dòng)器)的控制信號(hào)。

DT/R(DataTransmit/Receive):數(shù)據(jù)發(fā)送/接收控制,輸出,三態(tài) 在使用Intel8286/82878位雙向總線驅(qū)動(dòng)器時(shí),控制其傳輸數(shù)據(jù)的方向。

DT/R=1:CPU發(fā)送數(shù)據(jù)(向存儲(chǔ)器或I/O端口)

DT/R=0:CPU接收數(shù)據(jù)在DMA方式時(shí),被置為高阻狀態(tài)。29主要的控制和狀態(tài)信號(hào)SS0(8088的第34引腳):系統(tǒng)狀態(tài)信號(hào)輸出,與IO/M、DT/R決定最小模式下總線周期的狀態(tài)。IO/MDT/RSS0數(shù)據(jù)總線操作100發(fā)中斷響應(yīng)信號(hào)101讀I/O端口110寫(xiě)I/O端口111暫停000取指令001讀內(nèi)存010寫(xiě)內(nèi)存011無(wú)源狀態(tài)30高8位數(shù)據(jù)允許/狀態(tài)BHE/S7(BUSHigh Enable/Status)復(fù)用引腳

8086有16條數(shù)據(jù)線,可用低8位傳送一個(gè)字節(jié),也可用高8位傳送一個(gè)字節(jié),還可用高8位和低8位一起傳送一個(gè)字(16位)。BHE和A0就是用來(lái)區(qū)分這幾類傳輸?shù)?。?duì)8088來(lái)說(shuō),因?yàn)橹挥?位數(shù)據(jù)線,因此不需要BHE,而定義為SS0。8086的第34引腳31主要的控制和狀態(tài)信號(hào)RESET:輸入,為高時(shí),CPU執(zhí)行復(fù)位;復(fù)位后CPU內(nèi)部寄存器被設(shè)為初值如下:寄存器名稱寄存器狀態(tài)標(biāo)志寄存器(FR)清零指令指針寄存器(IP)0000HCS寄存器FFFFHDS寄存器0000HSS寄存器0000HES寄存器0000H指令隊(duì)列空其他寄存器0000H32“準(zhǔn)備好”信號(hào)Ready,輸入 檢測(cè)存儲(chǔ)器或外設(shè)是否準(zhǔn)備好數(shù)據(jù)傳輸。T1T2T3TwT4CLKREADY READY信號(hào)用于協(xié)調(diào)CPU與存儲(chǔ)器、I/O接口之間的速度差異,由存儲(chǔ)器或I/O接口發(fā)出。33中斷請(qǐng)求和響應(yīng)信號(hào)INTR:輸入,可屏蔽中斷請(qǐng)求輸入端。高:有INTR中斷請(qǐng)求NMI:輸入,非屏蔽中斷請(qǐng)求輸入端。低高,有NMI中斷請(qǐng)求INTA:輸出,對(duì)INTR信號(hào)的響應(yīng)。34總線保持信號(hào)HOLD:總線保持請(qǐng)求信號(hào)輸入端。當(dāng)CPU

以外的其他設(shè)備要求占用總線時(shí),通過(guò)該引腳向CPU發(fā)出請(qǐng)求。HLDA:輸出,對(duì)HOLD信號(hào)的響應(yīng)。為高電平時(shí),表示CPU已放棄總線控制權(quán),所有三態(tài)信號(hào)線均變?yōu)楦咦锠顟B(tài)。35T1T2T3T4CLKHOLDHODAAD15-AD0,A19/S6-A16/S3CPU放棄總線控制權(quán)三態(tài)WR,RD,……如DMA方式3680868087TESTBUSY+5V*8087—Math.CO-ProcessorTEST:測(cè)試信號(hào),輸入,低電平有效。在多處理器環(huán)境中,例如具有協(xié)處理器8087的系統(tǒng)中,將8087的“BUSY”接至主處理器8088的TEST,每當(dāng)8088執(zhí)行WAIT指令時(shí),每隔5個(gè)時(shí)鐘周期采樣TEST信號(hào),直至TEST變?yōu)榈碗娖剑?088才脫離等待狀態(tài),繼續(xù)執(zhí)行下一條指令。TEST信號(hào)是為WAIT指令而設(shè)計(jì)的。37其他信號(hào)

CLK(clock):時(shí)鐘引腳,輸入。8086/8088要求始終的占空比為33%。8086/8088的標(biāo)準(zhǔn)時(shí)鐘頻率為4.77MHZ。

VCC,+5V電源輸入引腳。

GND,地線。388088在最小模式下的典型配置

8284A地址總線(20根)READYRESETALEA19~A8AD7~AD0地址鎖存儲(chǔ)器8282(三片)DENDT/RIO/MWRRDHOLDHLDAINTRINTACLK收發(fā)器8286(一片)數(shù)據(jù)總線(8根)控制總線READYRESET8088MN/MX+5VA0~A19D0~D739地址鎖存器8282(74LS373)引腳及內(nèi)部結(jié)構(gòu)圖DI0~DI7

輸入端DO0~DO7

輸出端#OE允許控制(低電平有效)STB鎖存信號(hào) 高電平允許(通過(guò))低電平禁止(鎖存)DQCLKDI0DO0STBOE。。。。。。。。。。。。。。。。DI7DO7接ALE接地40當(dāng)DT/R=0時(shí),BA當(dāng)DT/R=1時(shí),AB總線驅(qū)動(dòng)器8286(74LS245)引腳及內(nèi)部結(jié)構(gòu)圖接DENDEN=0OE=0A0

B0。。。。。。。OETA1A7。。。

B1

B7。。。。接DT/R828612891112181911418284A時(shí)鐘發(fā)生器RESETREADYCLKOSCPCLKRESRDY1+5V等待電路14.31818MHZRESETREADYCLK14.318MHZ2.385MHZ8086/80884.77MHZ8284A428086最大模式下的典型配置80868282鎖存儲(chǔ)器(三片)8286收發(fā)器(2片)8288總線控制器READYRESET8284ARESETREADYBHE/A16~A19AD0~AD15S0/S1/S2/CLKMN/MX0DENDT/RA0~A19D0~D15ALESTBBHE/OE

TMRDC/MWTC/IORC/IOWC/INTA/ALE。DEN。DT/R控制總線S0S1S2431234567891020191817161514131211IOBCLKS1DT/RALEAENMRDCAMWTCMWTCGNDVCCS0S2MCE/PDENDENCENINTAIORCAIOWCIOWC8288引腳圖地AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLK地Vcc(5V)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRD(無(wú)功能)HOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8086(AdvancedMemoryWriteCommand)提前的內(nèi)存寫(xiě)命令小節(jié)44三、8088CPU的內(nèi)部結(jié)構(gòu)8088內(nèi)部由兩部分組成:執(zhí)行單元(EU)總線接口單元(BIU)458086/8088微處理器結(jié)構(gòu)AHALBHBLCHCLDHDLSPBPDISI通用寄存器AXBXCXDXALU數(shù)據(jù)總線(16位)運(yùn)算寄存器ALU標(biāo)志寄存器EU控制電路執(zhí)行部件EUCSDSSSESIP內(nèi)部暫存器123456數(shù)據(jù)總線

輸入/輸出控制電路地址總線20位指令隊(duì)列緩沖器80888086Q總線(8位)指令指針段寄存器外部總線總線接口部件BIU地址加法器46執(zhí)行單元EU功能:執(zhí)行指令

從指令隊(duì)列中取指令代碼譯碼在ALU中完成數(shù)據(jù)的運(yùn)算

運(yùn)算結(jié)果的特征保存在標(biāo)志寄存器FLAGS中。47執(zhí)行單元EU組成1、算術(shù)邏輯單元ALU(運(yùn)算器)2、8個(gè)寄存器(1)數(shù)據(jù)寄存器(AX,BX,CX,DX)(2)地址指針寄存器(SP,BP)(3)變址寄存器(SI,DI)3、標(biāo)志寄存器FLAGS

4、EU部分控制電路48總線接口單元BIU功能:從內(nèi)存中取指令送入指令預(yù)取隊(duì)列負(fù)責(zé)與內(nèi)存或輸入/輸出接口之間的數(shù)據(jù)傳送在執(zhí)行轉(zhuǎn)移程序時(shí),BIU使指令預(yù)取隊(duì)列復(fù)位,從指定的新地址取指令,并立即傳給執(zhí)行單元執(zhí)行。49組成:1、用于存放邏輯段的段基地址寄存器。CS:代碼段寄存器,用于存放指令代碼DS:數(shù)據(jù)段寄存器ES:附加段寄存器,數(shù)據(jù)段和附加段用來(lái)存放 操作數(shù)SS:堆棧段寄存器,用于存放返回地址,保存寄存器內(nèi)容,傳遞參數(shù)等??偩€接口單元BIU組成502、IP:指令指針寄存器3、20位的地址加法器4、4字節(jié)(或6字節(jié))的指令隊(duì)列特點(diǎn):1、具有流水線技術(shù),8086指令隊(duì)列為6字節(jié),8088為4字節(jié)。2、地址加法器用來(lái)產(chǎn)生20位地址。因?yàn)?086有20根地址線,可尋址1M空間,但寄存器為16位,所以需要一個(gè)附加機(jī)構(gòu)來(lái)根據(jù)16位寄存器提供的數(shù)據(jù)計(jì)算出20位的地址。51指令隊(duì)列說(shuō)明 1、當(dāng)8086指令隊(duì)列有2個(gè)字節(jié),或者8088的指令隊(duì)列有1個(gè)空字節(jié)時(shí),BIU會(huì)自動(dòng)把指令取到指令隊(duì)列中。2、當(dāng)EU準(zhǔn)備執(zhí)行一條指令時(shí),會(huì)從BIU的指令隊(duì)列前部取出指令的代碼,然后執(zhí)行。 在執(zhí)行指令的過(guò)程中,如果必須訪問(wèn)存儲(chǔ)器或者輸入/輸出設(shè)備,EU就會(huì)請(qǐng)求BIU,進(jìn)入總線周期,完成訪問(wèn)內(nèi)存或者輸入/輸出端口的操作:如果BIU空閑,就會(huì)立即響應(yīng)EU的總線請(qǐng)求。如果BIU正忙,BIU將首先完成當(dāng)前總線周期,再去響應(yīng)EU發(fā)出的訪問(wèn)總線的請(qǐng)求。523、當(dāng)指令隊(duì)列已滿,而且執(zhí)行部件又沒(méi)有總線訪問(wèn)時(shí),總線接口部件便進(jìn)入空閑狀態(tài)。4、總線接口部件往指令隊(duì)列裝入指令時(shí),總是按順序進(jìn)行的。在執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時(shí),指令隊(duì)列中己經(jīng)裝入的字節(jié)就沒(méi)用了,將被自動(dòng)消除,總線接口部件會(huì)接著往指令隊(duì)列中裝入另一個(gè)程序段中的指令。538088/8086的內(nèi)部寄存器含14個(gè)16位寄存器,按功能可分為:數(shù)據(jù)寄存器(AX,BX,CX,DX)地址指針寄存器(SP,BP)變址寄存器(SI,DI)8個(gè)通用寄存器4個(gè)段寄存器2個(gè)控制寄存器通用寄存器與存儲(chǔ)器的區(qū)別?54數(shù)據(jù)寄存器AX、BX、CX、DX8088含4個(gè)16位數(shù)據(jù)寄存器,它們又可分為8個(gè)8位寄存器,即:AXAH,ALBXBH,BLCXCH,CLDXDH,DL常用來(lái)存放參與運(yùn)算的操作數(shù)或運(yùn)算結(jié)果55數(shù)據(jù)寄存器特有的習(xí)慣用法AX:累加器。多用于存放中間運(yùn)算結(jié)果。所有

I/O指令必須都通過(guò)AX與接口傳送信息;BX:基址寄存器。在間接尋址中用于存放基地址;CX:計(jì)數(shù)寄存器。用于在循環(huán)或串操作指令中存放循環(huán)次數(shù)或重復(fù)次數(shù);DX:數(shù)據(jù)寄存器。在32位乘除法運(yùn)算時(shí),存放高16位數(shù);在間接尋址的I/O指令中存放

I/O端口地址。56地址指針寄存器SP:堆棧指針寄存器,其內(nèi)容為棧頂?shù)钠频刂?;BP:基址指針寄存器,常用于在訪問(wèn)內(nèi)存時(shí)存放內(nèi)存單元的偏移地址。57BX與BP在應(yīng)用上的區(qū)別作為通用寄存器,二者均可用于存放數(shù)據(jù);作為基址寄存器,BX通常用于尋址數(shù)據(jù)段;BP則通常用于尋址堆棧段。BX一般與DS或ES搭配使用;BP一般與SS搭配使用。58變址寄存器SI:源變址寄存器DI:目標(biāo)變址寄存器變址寄存器常用于指令的間接尋址或變址尋址。特別是在串操作指令中,用SI存放源操作數(shù)的偏移地址,而用DI存放目標(biāo)操作數(shù)的偏移地址。59控制寄存器IP:指令指針寄存器,其內(nèi)容為下一條要執(zhí)行的指令的偏移地址

FLAGS:標(biāo)志寄存器狀態(tài)標(biāo)志:存放運(yùn)算結(jié)果的特征控制標(biāo)志:控制某些特殊操作,由專門(mén)的指令進(jìn)行設(shè)置或清除6個(gè)狀態(tài)標(biāo)志位(CF,SF,AF,PF,OF,ZF)3個(gè)控制標(biāo)志位(IF,TF,DF)60標(biāo)志寄存器的格式及各位的含義1514131211109876543210OFDFIFTFSFZFAFPFCF狀態(tài)標(biāo)志方向標(biāo)志中斷標(biāo)志跟蹤標(biāo)志(TraceFlag)控制標(biāo)志進(jìn)位標(biāo)志奇偶標(biāo)志半進(jìn)位標(biāo)志零標(biāo)志符號(hào)標(biāo)志溢出標(biāo)志61零標(biāo)志ZF(ZeroFlag):若運(yùn)算結(jié)果為0,則ZF=1;否則ZF=0。進(jìn)位標(biāo)志CF(CarryFlag):若最高位有進(jìn)(借)位,則CF=1;否則CF=0。奇偶標(biāo)志PF(ParityFlag):若運(yùn)算結(jié)果低8位中“1”的個(gè)數(shù)為偶數(shù),則PF=1;否則PF=0。符號(hào)標(biāo)志SF(SignFlag):與運(yùn)算結(jié)果的最高位相同,當(dāng)數(shù)據(jù)用補(bǔ)碼時(shí),負(fù)數(shù)的最高位是1。輔助進(jìn)位標(biāo)志AF(AuxiliarycarrryFlag):也稱“半進(jìn)位標(biāo)志”,第3位向第4位有進(jìn)(借)位;則AF=1;否則AF=0。62溢出標(biāo)志OF(OverflowFlag):若運(yùn)算過(guò)程中發(fā)生了“溢出”,則OF=1。定義:運(yùn)算結(jié)果超出計(jì)算裝置所能表示的范圍,稱為溢出。判斷方法之一【邏輯】:溢出=最高位進(jìn)位

次高位進(jìn)位。控制標(biāo)志(3位):每一位控制標(biāo)志都對(duì)一種特定的功能起控制作用。可以通過(guò)專門(mén)的指令對(duì)其進(jìn)行“置位”(Set)或“復(fù)位”(Reset)。63中斷標(biāo)志IF(InterruptEnableFlag):如果IF置“1”,則CPU可以接受可屏蔽中斷請(qǐng)求;反之,則CPU不能接受可屏蔽中斷請(qǐng)求。 指令系統(tǒng)中有兩條專門(mén)的指令可以置“1”或置“0”IF標(biāo)志位:STI使IF置“1”,即開(kāi)放中斷。CLI使IF清“0”,即關(guān)閉中斷方向標(biāo)志DF(DirectionFlag):用于串操作指令中的地址增量修改(DF=0)還是減量修改(DF=1)。STD,CLD。跟蹤標(biāo)志TF(TraceFlag):若TF=1,則CPU按跟蹤方式(單步方式)執(zhí)行程序。小節(jié)64四、存儲(chǔ)器尋址物理地址8088:20根地址線,可尋址220(1MB)個(gè)存儲(chǔ)單元;CPU送到AB上的20位的地址稱為物理地址。存儲(chǔ)器的操作完全基于物理地址。物理地址..60000H60001H60002H60003H60004H...12HF0H1BH08H內(nèi)部寄存器均為16位,尋址空間216(64KB)

0000H~FFFFH。存不下20位地址。?????65分段處理:將內(nèi)存分為若干可重疊的邏輯段,每段大小<=64KB;段內(nèi)單元地址=本段首地址(20位)+段內(nèi)偏移量(16位)?20位首地址仍無(wú)法存放,故規(guī)定低4位均為0,也不必存。高16位做為存儲(chǔ)器段的起始地址—段基址。0000段基地址(16位)段首地址×××???×××66分段處理:“段基址”存放在段寄存器CS、DS、SS和ES中?!捌屏俊贝娣旁诩拇嫫鱅P或SP中?!岸位贰焙汀捌屏俊保ň鶠?6位)構(gòu)成存儲(chǔ)單元的邏輯地址(段基址:偏移量

),在程序設(shè)計(jì)時(shí),使用的是邏輯地址。邏輯地址可以轉(zhuǎn)換為物理地址(或絕對(duì)地址或有效地址EA)。方法如下:

物理地址=段基址16+偏移量67邏輯地址可以轉(zhuǎn)換為物理地址(或絕對(duì)地址或有效地址EA)。物理地址=段基址X16+偏移量段基址段內(nèi)偏移物理地址+16位20位000016位偏移量68段基值150偏移量150000030物理地址190邏輯地址物理地址段基址偏移量地址加法器15069……段的起始地址偏移量要訪問(wèn)的單元段最小的段?其段基址?最大64KB70CPU的啟動(dòng)復(fù)位后CS=FFFFH,IP=00000H,程序從FFFF0H處開(kāi)始執(zhí)行。FFFFFHFFFF0H……16個(gè)字節(jié)……FFFEFHLJMP71則物理地址計(jì)算如下42320

H66H+)42386

H設(shè)(CS)=4232H,(IP)=66H......42320H66H42386H5231FH

段起址段終址64K64K(2)1672[例]

已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,

DS段有一操作數(shù),其偏移地址=0204H,

1)畫(huà)出各段在內(nèi)存中的分布;

2)指出各段首地址;

3)該操作數(shù)的物理地址=?10550H250A0H2EF00H8FF00HCSSS

CSDSES解:

各段分布及段基址見(jiàn)右圖。操作數(shù)的物理地址為:250AH×10H+0204H=252A4H73注意:1、每個(gè)存儲(chǔ)單元有唯一的物理地址,但它卻可由不同的“段基址”和“偏移量”組成,即可有多個(gè)邏輯地址。例如:1200H:0345H12345H, 1100H:1345H12345H2、一般情況下,段基址與偏移量寄存器配合如下:

代碼段寄存器CS與IP;

堆棧段寄存器SS與SP;

數(shù)據(jù)段和附加段寄存器DS、ES的偏移量 有多種方式,取決于指令的尋址方式。3、由BIU中的地址加法器來(lái)完成計(jì)算工作,產(chǎn)生20位的物理地址。74堆棧及堆棧段的使用內(nèi)存中一個(gè)按FILO方式操作的特殊區(qū)域每次壓棧和退棧均以WORD為單位SS存放堆棧段地址,SP存放段內(nèi)偏移,SS:SP構(gòu)成了堆棧指針堆棧用于存放返回地址、過(guò)程參數(shù)或需要保護(hù)的數(shù)據(jù)常用于響應(yīng)中斷或子程序調(diào)用75堆棧操作SPSS壓棧前低地址高地址12HSSF0HSP壓棧后高地址低地址SS出棧后SP高地址低地址12F0H低字節(jié)高字節(jié)小節(jié)76(1)執(zhí)行一條指令所需要的時(shí)間稱為指令周期。五、8088/8086CPU的工作時(shí)序指令的一般執(zhí)行過(guò)程:

溫馨提示

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