




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 1第第2 2章章 80868086微機(jī)系統(tǒng)原理和結(jié)構(gòu)微機(jī)系統(tǒng)原理和結(jié)構(gòu) 2.12.18086 CPU8086 CPU結(jié)構(gòu)與功能結(jié)構(gòu)與功能2.22.28086 CPU8086 CPU的引腳及其總線結(jié)構(gòu)的引腳及其總線結(jié)構(gòu)2.32.380868086存儲器組織存儲器組織2.42.48086CPU8086CPU時(shí)序時(shí)序2.52.58086CPU8086CPU尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.62.68086CPU8086CPU的中斷系統(tǒng)的中斷系統(tǒng)嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 22.18086 CPU結(jié)構(gòu)與功能結(jié)構(gòu)與功能8086 CPU8086
2、 CPU概述概述 19771977年,年,IntelIntel率先推出了率先推出了1616位微處理器位微處理器80868086,能并行處理能并行處理1616位數(shù)據(jù),它需要位數(shù)據(jù),它需要1616位的存儲器,位的存儲器, 1616位位DBDB,1616位外設(shè)。位外設(shè)。19791979年年IntelIntel研制研制了了80888088,稱為,稱為準(zhǔn)準(zhǔn)1616位機(jī)位機(jī)。l引腳功能復(fù)用引腳功能復(fù)用l單總線、累加器結(jié)構(gòu)單總線、累加器結(jié)構(gòu)l可控三態(tài)電路可控三態(tài)電路l總線分時(shí)復(fù)用總線分時(shí)復(fù)用嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 3一、一、 結(jié)構(gòu)特點(diǎn)結(jié)構(gòu)特點(diǎn)l指令流水線指令流水線 l存儲器的分段結(jié)構(gòu)存儲器
3、的分段結(jié)構(gòu) l支持用于浮點(diǎn)運(yùn)算的協(xié)處理器及多微處理器系統(tǒng)支持用于浮點(diǎn)運(yùn)算的協(xié)處理器及多微處理器系統(tǒng) l指令方面和結(jié)構(gòu)設(shè)計(jì)支持使用該微處理器構(gòu)成一指令方面和結(jié)構(gòu)設(shè)計(jì)支持使用該微處理器構(gòu)成一個(gè)共享總線的多微處理器系統(tǒng)個(gè)共享總線的多微處理器系統(tǒng) 嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 4二、二、 編程結(jié)構(gòu)(功能結(jié)構(gòu))編程結(jié)構(gòu)(功能結(jié)構(gòu))BIUBIU功能:功能:地址形成地址形成取指令取指令指令排隊(duì)指令排隊(duì)讀讀/ /寫操作數(shù)寫操作數(shù)總線控制總線控制EUEU功能:功能:指令譯碼指令譯碼執(zhí)行指令執(zhí)行指令嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 5三、三、 寄存器結(jié)構(gòu)寄存器結(jié)構(gòu)嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)
4、原理與實(shí)驗(yàn) 6通用寄存器通用寄存器 : :每一個(gè)數(shù)據(jù)寄存器都是每一個(gè)數(shù)據(jù)寄存器都是1616位位寄存器,但又可將高寄存器,但又可將高8 8位和位和低低8 8位分別作為兩個(gè)獨(dú)立的位分別作為兩個(gè)獨(dú)立的8 8位寄存器使用。位寄存器使用。 AX AX:常用于存放算術(shù)邏輯運(yùn)算中的操作數(shù)。所有的:常用于存放算術(shù)邏輯運(yùn)算中的操作數(shù)。所有的I/OI/O指指令都使用累加器與外設(shè)接口傳送信息。令都使用累加器與外設(shè)接口傳送信息。 BXBX:常用來存放訪問內(nèi)存時(shí)的基地址。:常用來存放訪問內(nèi)存時(shí)的基地址。 CXCX:在循環(huán)和串操作指令中用做計(jì)數(shù)器。:在循環(huán)和串操作指令中用做計(jì)數(shù)器。 DXDX:在寄存器間接尋址的:在寄存器
5、間接尋址的I/OI/O指令中存放指令中存放I/OI/O端口的地址。端口的地址。 在做雙字長乘、除法運(yùn)算時(shí),在做雙字長乘、除法運(yùn)算時(shí),DXDX與與AXAX合起來存放一個(gè)雙合起來存放一個(gè)雙字長數(shù)字長數(shù)(32(32位位) ),其中,其中DXDX存放高存放高1616位,位,AXAX存放低存放低1616位。位。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 7指針指針和變址和變址寄存器寄存器: : SPSP:在堆棧操作中用來存:在堆棧操作中用來存放棧頂?shù)钠频刂罚肋h(yuǎn)指放棧頂?shù)钠频刂?,永遠(yuǎn)指向堆棧的棧頂。向堆棧的棧頂。BPBP:基地址指針寄存器。一般也常用來存放訪問內(nèi):基地址指針寄存器。一般也常用來存放訪問
6、內(nèi)存時(shí)的基地址。但它通常是與存時(shí)的基地址。但它通常是與SSSS寄存器配對使用寄存器配對使用(BX(BX通常是與通常是與DSDS寄存器配對使用寄存器配對使用) )。SISI、DIDI:它們常常在變址尋址方式中作為索引指針。:它們常常在變址尋址方式中作為索引指針。在字符串操作指令中,要求用在字符串操作指令中,要求用SISI作為源變址寄存器,作為源變址寄存器,存放源操作數(shù)的偏移地址;存放源操作數(shù)的偏移地址;DIDI作為目標(biāo)變址寄存器,作為目標(biāo)變址寄存器,存放目標(biāo)操作數(shù)的偏移地址。存放目標(biāo)操作數(shù)的偏移地址。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 8段寄存器段寄存器: : CSCS:代碼段存放的是當(dāng)前
7、執(zhí)行:代碼段存放的是當(dāng)前執(zhí)行程序的指令代碼。程序的指令代碼。CSCS的內(nèi)容是代的內(nèi)容是代碼段的段基地址,它和指令指針碼段的段基地址,它和指令指針I(yè)PIP一起決定下一條所要執(zhí)行指令一起決定下一條所要執(zhí)行指令的物理存儲地址。的物理存儲地址。DSDS:數(shù)據(jù)段通常用來存放數(shù)據(jù)和字符。:數(shù)據(jù)段通常用來存放數(shù)據(jù)和字符。DSDS存放當(dāng)前數(shù)據(jù)段存放當(dāng)前數(shù)據(jù)段的段基地址。的段基地址。ESES:附加段是一個(gè)附加數(shù)據(jù)段,主要用在字符串操作時(shí)作為:附加段是一個(gè)附加數(shù)據(jù)段,主要用在字符串操作時(shí)作為目標(biāo)地址使用。目標(biāo)地址使用。ESES的內(nèi)容就是加段的段基地址。的內(nèi)容就是加段的段基地址。SSSS:堆棧是在存儲器中開辟的一個(gè)
8、特殊存儲區(qū),用于存放當(dāng):堆棧是在存儲器中開辟的一個(gè)特殊存儲區(qū),用于存放當(dāng)前暫時(shí)不用但又需要保存的數(shù)據(jù)和地址。如在子程序調(diào)用或前暫時(shí)不用但又需要保存的數(shù)據(jù)和地址。如在子程序調(diào)用或響應(yīng)中斷時(shí)需要保存返回主程序的地址和進(jìn)入子程序后將要響應(yīng)中斷時(shí)需要保存返回主程序的地址和進(jìn)入子程序后將要改變其值的寄存器的內(nèi)容。改變其值的寄存器的內(nèi)容。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 9指令指針寄存器指令指針寄存器: : IPIP用來存放下一條要執(zhí)行指令的偏移地址。用來存放下一條要執(zhí)行指令的偏移地址。CPUCPU取指取指令時(shí)總是以令時(shí)總是以CSCS的內(nèi)容為段基地址,以的內(nèi)容為段基地址,以IPIP為段內(nèi)偏移地為段
9、內(nèi)偏移地址。當(dāng)址。當(dāng)CPUCPU從從CSCS段偏移地址為段偏移地址為(IP)(IP)的內(nèi)存單元中取出的內(nèi)存單元中取出指令代碼的一個(gè)字節(jié)后,指令代碼的一個(gè)字節(jié)后,IPIP自動(dòng)加自動(dòng)加1 1,指向指令代碼,指向指令代碼的下一個(gè)字節(jié)。的下一個(gè)字節(jié)。遇到過程調(diào)用、轉(zhuǎn)移及返回等指令時(shí),系統(tǒng)將根據(jù)程遇到過程調(diào)用、轉(zhuǎn)移及返回等指令時(shí),系統(tǒng)將根據(jù)程序確定新的序確定新的IPIP的內(nèi)容,使其不再加的內(nèi)容,使其不再加1 1。用戶程序不能直接訪問用戶程序不能直接訪問IP(IP(指令的操作數(shù)不能是指令的操作數(shù)不能是IP)IP)。 嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 10標(biāo)志寄存器:也稱程序狀態(tài)字標(biāo)志寄存器:也稱程
10、序狀態(tài)字(PSW)(PSW),是一個(gè),是一個(gè)1616位寄位寄存器,但只使用了其中的存器,但只使用了其中的9 9位,包括位,包括6 6個(gè)狀態(tài)標(biāo)志位和個(gè)狀態(tài)標(biāo)志位和3 3個(gè)控制標(biāo)志位。個(gè)控制標(biāo)志位。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 11(1) (1) 條件標(biāo)志條件標(biāo)志(6(6個(gè)個(gè)) ):反映指令執(zhí)行后運(yùn)算結(jié)果特征反映指令執(zhí)行后運(yùn)算結(jié)果特征. .nCF(CF(進(jìn)位標(biāo)志進(jìn)位標(biāo)志): CF=D): CF=D7CY7CY或或DD15CY15CY 執(zhí)行算術(shù)運(yùn)算指令后,結(jié)果的最高位執(zhí)行算術(shù)運(yùn)算指令后,結(jié)果的最高位( (字節(jié)時(shí)為字節(jié)時(shí)為DD7CY7CY或字為或字為DD15CY15CY) )向更高位產(chǎn)生進(jìn)
11、位向更高位產(chǎn)生進(jìn)位/ /借位,則借位,則CF=1CF=1,否則,否則CF=0CF=0。該標(biāo)。該標(biāo)志主要用于多字節(jié)加、減運(yùn)算。志主要用于多字節(jié)加、減運(yùn)算。n例例: 3FH+0B4H 0BFH+0B4H: 3FH+0B4H 0BFH+0B4H 0011 1111 1011 1111 0011 1111 1011 1111 + 1011 0100 + 1011 0100 + 1011 0100 + 1011 0100 1111 0011;CF=0 1 0111 0011;CF=1 1111 0011;CF=0 1 0111 0011;CF=1注注: :對對CFCF操作有三條專用指令操作有三條專用指令
12、: : STC STCCF=1; CF=1; CLCCLCCF=0; CF=0; CMCCMCCF=CFCF=CF嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 12例例: : 38H+49H38H+49H 0011 1000 0011 1000 + 0100 1001 + 0100 1001 1000 0001 ;AF=1; 1000 0001 ;AF=1;若視為若視為BCDBCD運(yùn)算,則應(yīng)調(diào)整。運(yùn)算,則應(yīng)調(diào)整。nPF(PF(奇偶校驗(yàn)標(biāo)志奇偶校驗(yàn)標(biāo)志): PF=D): PF=D7 7 DD0 0 運(yùn)算結(jié)果的低運(yùn)算結(jié)果的低8 8位中位中“1”1”的個(gè)數(shù)為偶數(shù),則的個(gè)數(shù)為偶數(shù),則PF=1PF=1,否則
13、,否則PF=0PF=0。該標(biāo)志主要用于檢測數(shù)據(jù)通信中是否發(fā)生錯(cuò)誤。該標(biāo)志主要用于檢測數(shù)據(jù)通信中是否發(fā)生錯(cuò)誤。nAF(AF(輔助進(jìn)位標(biāo)志輔助進(jìn)位標(biāo)志): AF=D): AF=D3CY3CY 字節(jié)運(yùn)算中,低字節(jié)運(yùn)算中,低4 4位向高位向高4 4位有進(jìn)位或借位時(shí)位有進(jìn)位或借位時(shí), ,則則AF=1,AF=1,否則否則AF=0AF=0。該標(biāo)志主要用于。該標(biāo)志主要用于BCDBCD碼運(yùn)算的調(diào)整指令中。碼運(yùn)算的調(diào)整指令中。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 13nZF(ZF(零標(biāo)志零標(biāo)志): ZF=D): ZF=D7 7+D+D0 0或或DD1515+D+D0 0 運(yùn)算結(jié)果為運(yùn)算結(jié)果為0 0,則,則ZF
14、=1ZF=1,否則,否則ZF=0ZF=0。 結(jié)果非結(jié)果非0 0,則,則ZF=0ZF=0。nSF(SF(符號標(biāo)志符號標(biāo)志) SF=D) SF=D7 7或或DD1515 運(yùn)算結(jié)果為正數(shù),則運(yùn)算結(jié)果為正數(shù),則SF=0SF=0;為負(fù)數(shù);為負(fù)數(shù), ,則則SF=1SF=1。 如如:3FH+0B4H=0F3H:3FH+0B4H=0F3H的的SF=1SF=1 而而:0BFH+B4H=173H:0BFH+B4H=173H的的SF=0SF=0嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 14n OF(OF(溢出標(biāo)志溢出標(biāo)志): OF=D): OF=D7CY7CY DD6CY6CY或或DD15CY15CY D D14C
15、Y14CY當(dāng)有符號數(shù)運(yùn)算結(jié)果超出了機(jī)器所能表示的范圍時(shí),當(dāng)有符號數(shù)運(yùn)算結(jié)果超出了機(jī)器所能表示的范圍時(shí),則則OF=1OF=1,否則,否則OF=0OF=0。如如:3FH+0B4H=0F3H:3FH+0B4H=0F3H中中OF=0OF=0而而:0BFH+0B4H=173H:0BFH+0B4H=173H中中OF=1OF=1n注意注意:實(shí)際上機(jī)器把所有數(shù)都當(dāng)無符號數(shù)運(yùn)算,把結(jié)果都實(shí)際上機(jī)器把所有數(shù)都當(dāng)無符號數(shù)運(yùn)算,把結(jié)果都當(dāng)有符號數(shù)來設(shè)置標(biāo)志。當(dāng)有符號數(shù)來設(shè)置標(biāo)志。n以上以上6 6個(gè)標(biāo)志為指令執(zhí)行后的結(jié)果標(biāo)志,可作為控制轉(zhuǎn)移的個(gè)標(biāo)志為指令執(zhí)行后的結(jié)果標(biāo)志,可作為控制轉(zhuǎn)移的條件。條件。嵌入式系統(tǒng)原理與實(shí)驗(yàn)
16、嵌入式系統(tǒng)原理與實(shí)驗(yàn) 15例:例: 假設(shè)執(zhí)行一條加法指令,計(jì)算假設(shè)執(zhí)行一條加法指令,計(jì)算5439H+476AH5439H+476AH后各狀態(tài)標(biāo)志位的狀態(tài)為何后各狀態(tài)標(biāo)志位的狀態(tài)為何? ?解:解: 0 1 0 1 0 1 0 0 0 0 1 1 1 0 0 1 + 0 1 0 0 0 1 1 1 0 1 1 0 l 0 1 0 1 0 0 1 1 0 1 1 1 0 1 0 0 0 1 1則執(zhí)行這條加法指令后標(biāo)志寄存器的狀態(tài)為:則執(zhí)行這條加法指令后標(biāo)志寄存器的狀態(tài)為:CF=0,PF=1,AF=1,ZF=0,SF=1,OF=1。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 16CFCF和和OFOF的進(jìn)
17、一步討論:的進(jìn)一步討論:nCF表示無符號數(shù)運(yùn)算結(jié)果是否超出范圍;表示無符號數(shù)運(yùn)算結(jié)果是否超出范圍;OF表示有表示有符號數(shù)運(yùn)算結(jié)果是否超出范圍符號數(shù)運(yùn)算結(jié)果是否超出范圍n處理器對兩個(gè)操作數(shù)進(jìn)行運(yùn)算時(shí),按照無符號數(shù)求處理器對兩個(gè)操作數(shù)進(jìn)行運(yùn)算時(shí),按照無符號數(shù)求得結(jié)果,并相應(yīng)設(shè)置進(jìn)位標(biāo)志得結(jié)果,并相應(yīng)設(shè)置進(jìn)位標(biāo)志CF;同時(shí),根據(jù)是否;同時(shí),根據(jù)是否超出有符號數(shù)的范圍設(shè)置溢出標(biāo)志超出有符號數(shù)的范圍設(shè)置溢出標(biāo)志OFn程序員決定標(biāo)志位的使用。如果將參加運(yùn)算的操作程序員決定標(biāo)志位的使用。如果將參加運(yùn)算的操作數(shù)認(rèn)為是無符號數(shù):數(shù)認(rèn)為是無符號數(shù):CF;認(rèn)為是有符號數(shù):;認(rèn)為是有符號數(shù):OFn判斷運(yùn)算結(jié)果是否溢出
18、:當(dāng)兩個(gè)相同符號數(shù)相加,判斷運(yùn)算結(jié)果是否溢出:當(dāng)兩個(gè)相同符號數(shù)相加,而運(yùn)算結(jié)果的符號與原數(shù)據(jù)符號相反時(shí),產(chǎn)生溢出。而運(yùn)算結(jié)果的符號與原數(shù)據(jù)符號相反時(shí),產(chǎn)生溢出。其他情況下,則不會(huì)產(chǎn)生溢出。其他情況下,則不會(huì)產(chǎn)生溢出。 嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 17(2) (2) 控制標(biāo)志控制標(biāo)志-控制控制CPUCPU的狀態(tài)的狀態(tài)。nDF(DF(方向標(biāo)志方向標(biāo)志): ): 控制字符串操作中地址的步進(jìn)方向。控制字符串操作中地址的步進(jìn)方向。 DF=0DF=0,地址增址;,地址增址;DF=1DF=1,地址減址。,地址減址。 專門用于專門用于DFDF的指令的指令: : CLDCLDDF=0DF=0; S
19、TDSTDDF=1DF=1nIF(IF(中斷允許標(biāo)志中斷允許標(biāo)志): ): 控制控制CPUCPU是否開中斷。是否開中斷。IF=1IF=1,允許,允許CPUCPU響響應(yīng)外部可屏蔽中斷。應(yīng)外部可屏蔽中斷。IF=0IF=0,禁止,禁止CPUCPU響應(yīng)外部可屏蔽中斷。響應(yīng)外部可屏蔽中斷。 兩條關(guān)于兩條關(guān)于IFIF的專用指令的專用指令: :CLICLIIF=0IF=0; STISTIIF=1IF=1 nTF(TF(跟蹤標(biāo)志跟蹤標(biāo)志): ): TF=1TF=1,CPUCPU處于單步工作方式,即處于單步工作方式,即CPUCPU每執(zhí)每執(zhí)行一條指令就自動(dòng)地發(fā)生一個(gè)內(nèi)部中斷,行一條指令就自動(dòng)地發(fā)生一個(gè)內(nèi)部中斷,C
20、PUCPU轉(zhuǎn)去執(zhí)行一個(gè)轉(zhuǎn)去執(zhí)行一個(gè)中斷程序,常用于程序調(diào)試,又稱為陷井標(biāo)志。中斷程序,常用于程序調(diào)試,又稱為陷井標(biāo)志。TF=0TF=0,CPUCPU正常執(zhí)行程序。正常執(zhí)行程序。 嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 18CPUCPU的引腳:的引腳:地址線與數(shù)據(jù)線,地址線與數(shù)據(jù)線,控制與狀態(tài)線,控制與狀態(tài)線,電源與定時(shí)線。電源與定時(shí)線。2.28086 CPU的引腳及其總線結(jié)構(gòu)的引腳及其總線結(jié)構(gòu)一、一、 8086 CPU的引腳的引腳嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 1980868086的兩種工作模式的兩種工作模式n最小模式:單微處理器模式,最小模式:單微處理器模式,CPUCPU僅支持由
21、少量設(shè)備組成的單僅支持由少量設(shè)備組成的單微處理器系統(tǒng),小系統(tǒng)所需要的微處理器系統(tǒng),小系統(tǒng)所需要的全部控制信號都由全部控制信號都由CPUCPU直接提供。直接提供。n最大模式:多微處理機(jī)模式,最大模式:多微處理機(jī)模式,系統(tǒng)中除了有系統(tǒng)中除了有8086 CPU8086 CPU之外,之外,還可以接另外的處理器構(gòu)成多微還可以接另外的處理器構(gòu)成多微處理器系統(tǒng)。處理器系統(tǒng)。當(dāng)當(dāng)MN/MX =1MN/MX =1時(shí),時(shí),80868086工作工作在最小模式;當(dāng)在最小模式;當(dāng)MN/MX =0MN/MX =0時(shí),時(shí),80868086工作在最大模式。兩種工工作在最大模式。兩種工作模式下的部分引腳具有不同的作模式下的部分
22、引腳具有不同的功能。功能。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 2080868086在兩種工作模式下的公用引腳:在兩種工作模式下的公用引腳: 1)1)地址數(shù)據(jù)總線:地址數(shù)據(jù)總線:80868086有有2020位位地址線,地址線,1616位數(shù)據(jù)線,采用分時(shí)復(fù)位數(shù)據(jù)線,采用分時(shí)復(fù)用方式,共同占用用方式,共同占用2020根引腳。根引腳。ADAD0 0ADADl5l5 地址、數(shù)據(jù)分時(shí)復(fù)用的地址、數(shù)據(jù)分時(shí)復(fù)用的雙向信號線,三態(tài)。當(dāng)雙向信號線,三態(tài)。當(dāng)ALE=1ALE=1時(shí),時(shí),這些引腳上傳輸?shù)氖堑刂沸盘枺划?dāng)這些引腳上傳輸?shù)氖堑刂沸盘?;?dāng)DEN=0DEN=0時(shí),這些引腳上傳輸?shù)氖菚r(shí),這些引腳上傳輸?shù)氖菙?shù)
23、據(jù)信號。數(shù)據(jù)信號。A A1616AAl9l9/S/S3 3SS6 6 分時(shí)復(fù)用的地址分時(shí)復(fù)用的地址/ /狀態(tài)信號線,三態(tài)輸出。在狀態(tài)信號線,三態(tài)輸出。在80868086訪問存儲器時(shí),讀訪問存儲器時(shí),讀/ /寫總線周期的寫總線周期的第一個(gè)機(jī)器周期第一個(gè)機(jī)器周期T T1 1,從這,從這4 4個(gè)引腳個(gè)引腳上送出最高上送出最高4 4位地址位地址A A1616AAl9l9。而在。而在總線周期的其他機(jī)器周期,這總線周期的其他機(jī)器周期,這4 4個(gè)個(gè)引腳送出狀態(tài)信號引腳送出狀態(tài)信號S S3 3SS6 6。S S4 4S S3 3當(dāng)前正在使用的段寄存器當(dāng)前正在使用的段寄存器0 00 0ESES0 01 1SSS
24、S1 10 0CSCS或未使用任何段寄存器或未使用任何段寄存器1 11 1DSDSS5S5:取中斷允許標(biāo)志的狀態(tài):取中斷允許標(biāo)志的狀態(tài)S6S6:0 0,表明,表明80868086在總線上;否則為在總線上;否則為1 1嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 212) 2) 控制總線:共有控制總線:共有1616根,其中兩種根,其中兩種工作模式共用的有工作模式共用的有8 8根引腳。根引腳。MN/MXMN/MX:工作方式控制輸入。為:工作方式控制輸入。為高電平時(shí),高電平時(shí),CPUCPU工作在最小模式;工作在最小模式;為低電平時(shí),為低電平時(shí),CPUCPU處于最大模式。處于最大模式。RDRD:讀選通信號
25、,三態(tài),低電平有:讀選通信號,三態(tài),低電平有效。有效時(shí),表示效。有效時(shí),表示CPUCPU正在對存正在對存儲器或儲器或I/OI/O接口進(jìn)行讀操作。接口進(jìn)行讀操作。READYREADY: “ “準(zhǔn)備好準(zhǔn)備好”信號輸入引腳,信號輸入引腳,高電平有效。有效時(shí),表示存儲高電平有效。有效時(shí),表示存儲器或器或I/OI/O設(shè)備已準(zhǔn)備好,設(shè)備已準(zhǔn)備好,CPUCPU可可以進(jìn)行數(shù)據(jù)傳送。以進(jìn)行數(shù)據(jù)傳送。INTRINTR: 可屏蔽中斷請求輸入信號,可屏蔽中斷請求輸入信號,高電平有效。高電平有效。CPUCPU在每條指令的在每條指令的最后一個(gè)周期采樣該信號,以決最后一個(gè)周期采樣該信號,以決定是否進(jìn)入中斷響應(yīng)周期。可用定是
26、否進(jìn)入中斷響應(yīng)周期??捎密浖帘巍\浖帘?。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 22TESTTEST:測試信號輸入引腳,低電測試信號輸入引腳,低電平有效。當(dāng)平有效。當(dāng)CPUCPU執(zhí)行執(zhí)行WAITWAIT指令指令時(shí),每隔時(shí),每隔5 5個(gè)時(shí)鐘周期對此引腳個(gè)時(shí)鐘周期對此引腳進(jìn)行一次測試。若為高電平,進(jìn)行一次測試。若為高電平,CPUCPU則繼續(xù)處于空轉(zhuǎn)狀態(tài)進(jìn)行等則繼續(xù)處于空轉(zhuǎn)狀態(tài)進(jìn)行等待,直到引腳變?yōu)榈碗娖胶?,待,直到引腳變?yōu)榈碗娖胶?,CPUCPU才結(jié)束等待狀態(tài),繼續(xù)執(zhí)行才結(jié)束等待狀態(tài),繼續(xù)執(zhí)行下一條指令。下一條指令。 NMINMI:非屏蔽中斷請求輸入信號,:非屏蔽中斷請求輸入信號,上升沿觸發(fā)。
27、這個(gè)引腳上的中斷上升沿觸發(fā)。這個(gè)引腳上的中斷請求信號不能用軟件屏蔽,請求信號不能用軟件屏蔽,CPUCPU在當(dāng)前指令執(zhí)行結(jié)束后就進(jìn)入中在當(dāng)前指令執(zhí)行結(jié)束后就進(jìn)入中斷過程。斷過程。RESETRESET:系統(tǒng)復(fù)位輸入信號,高電:系統(tǒng)復(fù)位輸入信號,高電平有效。為使平有效。為使CPUCPU完成內(nèi)部復(fù)位完成內(nèi)部復(fù)位過程,該信號至少要在過程,該信號至少要在4 4個(gè)時(shí)鐘個(gè)時(shí)鐘周期內(nèi)保持有效。當(dāng)周期內(nèi)保持有效。當(dāng)RESETRESET返返回低電平時(shí),回低電平時(shí),CPUCPU將重新啟動(dòng)。將重新啟動(dòng)。標(biāo)志寄存器標(biāo)志寄存器FR0000H指令寄存器指令寄存器IP0000H代碼段寄存器代碼段寄存器CSFFFFH數(shù)據(jù)段寄存器
28、數(shù)據(jù)段寄存器DS0000H堆棧段寄存器堆棧段寄存器SS0000H附加段寄存器附加段寄存器ES0000H指令隊(duì)列指令隊(duì)列空空嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 23BHE/SBHE/S7 7:分時(shí)復(fù)用的控分時(shí)復(fù)用的控制狀態(tài)信號線,三態(tài)制狀態(tài)信號線,三態(tài)輸出。在總線周期的第輸出。在總線周期的第一個(gè)時(shí)鐘周期輸出信號,一個(gè)時(shí)鐘周期輸出信號,其他時(shí)鐘周期輸出狀態(tài)其他時(shí)鐘周期輸出狀態(tài)信號信號S S7 7(S(S7 7的意義目前沒的意義目前沒有定義有定義) )。信號。信號BHEBHE的的意義是:當(dāng)意義是:當(dāng)BHEBHE=0=0時(shí),時(shí),表示可使用高表示可使用高8 8位數(shù)據(jù)線位數(shù)據(jù)線ADAD8 8ADAD
29、l5l5;否則只使用;否則只使用低低8 8位數(shù)據(jù)線位數(shù)據(jù)線ADAD0 0ADAD7 7。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 24最小模式下引腳最小模式下引腳24312431的功能定義:的功能定義:INTAINTA:中斷響應(yīng)輸出端。:中斷響應(yīng)輸出端。 ALEALE:地址鎖存允許信號,三態(tài)輸出,:地址鎖存允許信號,三態(tài)輸出,高電平有效。高電平有效。DENDEN :數(shù)據(jù)允許信號,三態(tài),低電:數(shù)據(jù)允許信號,三態(tài),低電平有效。平有效。DT/RDT/R: 數(shù)據(jù)傳送方向控制信號,數(shù)據(jù)傳送方向控制信號,三態(tài)。三態(tài)。M/IOM/IO:輸入輸出存儲器控制信:輸入輸出存儲器控制信號,三態(tài)。號,三態(tài)。WRWR:
30、寫信號輸出,三態(tài)。:寫信號輸出,三態(tài)。 HOLDHOLD:總線保持請求:總線保持請求( (其他部件共其他部件共享總線享總線) )信號輸入,高電平有效。信號輸入,高電平有效。 HLDAHLDA:總線保持響應(yīng)信號輸出,高:總線保持響應(yīng)信號輸出,高電平有效。電平有效。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 25最大模式下引腳最大模式下引腳24312431的功能定義為:的功能定義為: QSlQSl、QS0QS0: 指令流隊(duì)列狀態(tài)輸出。指令流隊(duì)列狀態(tài)輸出。提供指令流隊(duì)列的狀態(tài),以便外部邏輯提供指令流隊(duì)列的狀態(tài),以便外部邏輯跟蹤跟蹤C(jī)PUCPU內(nèi)部的指令流隊(duì)列。內(nèi)部的指令流隊(duì)列。 SS2 2、 SS1
31、1 、 SS0 0 :總線周期狀態(tài)信:總線周期狀態(tài)信號輸出,低電平有效,三態(tài)。這號輸出,低電平有效,三態(tài)。這3 3個(gè)信個(gè)信號連接到總線控制器的輸入端,譯碼后號連接到總線控制器的輸入端,譯碼后可產(chǎn)生系統(tǒng)總線所需要的各種控制信號。可產(chǎn)生系統(tǒng)總線所需要的各種控制信號。 LOCKLOCK:總線封鎖信號輸出,低電平:總線封鎖信號輸出,低電平有效。有效。RQ/GTRQ/GT1 1、 RQ/GTRQ/GT0 0 :總線請求:總線請求總線響應(yīng)信號引腳。具有雙向功能,總線響應(yīng)信號引腳。具有雙向功能,既是總線請求輸入,也是總線響應(yīng)輸出;既是總線請求輸入,也是總線響應(yīng)輸出;但但 RQ/GTRQ/GT0 0比比RQ/
32、GTRQ/GT1 1具有更高具有更高的優(yōu)先權(quán)。的優(yōu)先權(quán)。 QSlQS0操操 作作00無操作無操作01隊(duì)列中操作碼的第一個(gè)字節(jié)隊(duì)列中操作碼的第一個(gè)字節(jié)10隊(duì)列空隊(duì)列空11隊(duì)列中非第一個(gè)操作碼字節(jié)隊(duì)列中非第一個(gè)操作碼字節(jié)嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 26二、二、 80868086系統(tǒng)配置系統(tǒng)配置80868086具有兩種工作模式具有兩種工作模式最小模式:最小模式:CPUCPU僅支持由少量設(shè)備組成的單微處理僅支持由少量設(shè)備組成的單微處理器系統(tǒng)而不支持多處理器結(jié)構(gòu),小系統(tǒng)所需要的全部器系統(tǒng)而不支持多處理器結(jié)構(gòu),小系統(tǒng)所需要的全部控制信號都由控制信號都由CPUCPU直接提供。直接提供。最大模式
33、:系統(tǒng)中除了有最大模式:系統(tǒng)中除了有8086 CPU8086 CPU之外,還可以接之外,還可以接另外的處理器另外的處理器( (如如80878087數(shù)學(xué)協(xié)處理器數(shù)學(xué)協(xié)處理器) ),構(gòu)成多微處理,構(gòu)成多微處理器系統(tǒng)。此時(shí)器系統(tǒng)。此時(shí)CPUCPU不直接提供讀不直接提供讀/ /寫命令等控制信號,寫命令等控制信號,而是將當(dāng)前要執(zhí)行的傳送操作類型編碼成而是將當(dāng)前要執(zhí)行的傳送操作類型編碼成3 3個(gè)狀態(tài)位個(gè)狀態(tài)位輸出,由總線控制器譯碼后產(chǎn)生相應(yīng)控制信號。其他輸出,由總線控制器譯碼后產(chǎn)生相應(yīng)控制信號。其他的控制引腳則直接提供所需要的控制信號。的控制引腳則直接提供所需要的控制信號。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原
34、理與實(shí)驗(yàn) 278086最最小小模模式式系系統(tǒng)統(tǒng)373嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 281.1.地址鎖存器地址鎖存器 n將將CPUCPU發(fā)出的動(dòng)態(tài)地址發(fā)出的動(dòng)態(tài)地址鎖存鎖存,即鎖存器。,即鎖存器。n地址和數(shù)據(jù)(地址和數(shù)據(jù)(0 01515)與狀態(tài)()與狀態(tài)(16161919)分時(shí)復(fù)用,)分時(shí)復(fù)用,先輸出地址,后輸出數(shù)據(jù)先輸出地址,后輸出數(shù)據(jù)/ /狀態(tài),然后利用這些穩(wěn)狀態(tài),然后利用這些穩(wěn)定的地址,選擇某個(gè)存儲單元或定的地址,選擇某個(gè)存儲單元或I/OI/O口來讀口來讀/ /寫。寫。nIntel 8282Intel 8282鎖存器鎖存器:8 8位鎖存器(位鎖存器(8 8個(gè)個(gè)D D鎖存器鎖存器
35、),),三態(tài)三態(tài)輸出。輸出。n 74LS37374LS373:8D8D鎖存器,三態(tài)輸出。鎖存器,三態(tài)輸出。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 292. 2. 雙向總線驅(qū)動(dòng)器(數(shù)據(jù)緩沖器)雙向總線驅(qū)動(dòng)器(數(shù)據(jù)緩沖器)n增加增加80868086的輸出數(shù)據(jù)的的輸出數(shù)據(jù)的驅(qū)動(dòng)能力驅(qū)動(dòng)能力,隔離隔離系統(tǒng)數(shù)據(jù)總系統(tǒng)數(shù)據(jù)總線與線與CPUCPU數(shù)據(jù)線(數(shù)據(jù)線(DMADMA期間需要隔離),實(shí)現(xiàn)雙向期間需要隔離),實(shí)現(xiàn)雙向收發(fā)。收發(fā)。nIntel 8286Intel 8286:收發(fā)器(:收發(fā)器(8 8位總線收發(fā)器);位總線收發(fā)器);n74LS245 74LS245 : 8 8總線傳送器,非反相三態(tài)門。總線傳
36、送器,非反相三態(tài)門。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 303. 3. 時(shí)鐘信號發(fā)生器時(shí)鐘信號發(fā)生器n向系統(tǒng)提供符合定時(shí)要求的向系統(tǒng)提供符合定時(shí)要求的時(shí)鐘信號時(shí)鐘信號CLKCLK,準(zhǔn)備好信號,準(zhǔn)備好信號READYREADY,復(fù)位信號,復(fù)位信號RESETRESETnIntel 8284Intel 8284:時(shí)鐘產(chǎn)生、復(fù)位、準(zhǔn)備就緒電路:時(shí)鐘產(chǎn)生、復(fù)位、準(zhǔn)備就緒電路n以以PCPC為例:為例:82848284內(nèi)部一晶體震蕩器,外接石英晶體,便產(chǎn)內(nèi)部一晶體震蕩器,外接石英晶體,便產(chǎn)生和晶體相同振蕩頻率的時(shí)鐘生和晶體相同振蕩頻率的時(shí)鐘OSCOSC,經(jīng)三分頻成,經(jīng)三分頻成CLKCLK時(shí)鐘信時(shí)鐘信號,
37、再二分號,再二分 頻成頻成PCLKPCLK,作為某些外設(shè)時(shí)鐘(主要是作為某些外設(shè)時(shí)鐘(主要是82538253計(jì)計(jì)數(shù)器)數(shù)器)n加電或按加電或按CTRL-ALT-DELCTRL-ALT-DEL鍵時(shí),開關(guān)電源產(chǎn)生電源的鍵時(shí),開關(guān)電源產(chǎn)生電源的RESRES信號送信號送82848284,內(nèi)部復(fù)位邏輯便產(chǎn)生系統(tǒng)復(fù)位信號,內(nèi)部復(fù)位邏輯便產(chǎn)生系統(tǒng)復(fù)位信號RESETRESET。當(dāng)?shù)却隣顟B(tài)邏輯電路產(chǎn)生的準(zhǔn)備就緒當(dāng)?shù)却隣顟B(tài)邏輯電路產(chǎn)生的準(zhǔn)備就緒RDYRDY及地址允許信號及地址允許信號AENAEN有效時(shí),使有效時(shí),使82848284和時(shí)鐘同步產(chǎn)生準(zhǔn)備就緒和時(shí)鐘同步產(chǎn)生準(zhǔn)備就緒READYREADY信號。信號。嵌入式系
38、統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 318086最最大大模模式式系系統(tǒng)統(tǒng)嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 32總線控制器總線控制器82888288n最大模式時(shí),總線控制信號(如最大模式時(shí),總線控制信號(如ALEALE、存儲器、存儲器讀讀/ /寫、寫、I/OI/O讀寫等)不能由讀寫等)不能由80868086直接提供,它直接提供,它只提供狀態(tài)信號只提供狀態(tài)信號S S0 0S S2 2,80868086對此譯碼轉(zhuǎn)換為對此譯碼轉(zhuǎn)換為總線控制信號總線控制信號。n電路組成:電路組成: 狀態(tài)譯碼狀態(tài)譯碼:對:對S S0 0S S2 2譯碼;譯碼; 命令信號發(fā)生器命令信號發(fā)生器:產(chǎn)生命令信號;產(chǎn)生命令信
39、號; 控制信號產(chǎn)生器控制信號產(chǎn)生器:產(chǎn)生總線控制信號;產(chǎn)生總線控制信號; 控制邏輯控制邏輯:控制控制82888288工作方式。工作方式。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 332.38086存儲器組織存儲器組織一、一、 物理存儲系統(tǒng)物理存儲系統(tǒng)n位位(Bit)(Bit):存儲器的最小最基本單位,存放一個(gè)二進(jìn)存儲器的最小最基本單位,存放一個(gè)二進(jìn)制數(shù)制數(shù)0 0或或1 1。整個(gè)存儲器由許許多多存儲位構(gòu)成。整個(gè)存儲器由許許多多存儲位構(gòu)成。n字節(jié)字節(jié)(Byte)(Byte):8 8個(gè)個(gè)BitBit組成一個(gè)字節(jié),存放相鄰的組成一個(gè)字節(jié),存放相鄰的8 8位位二制數(shù)。字節(jié)的長度是固定的二制數(shù)。字節(jié)的長度
40、是固定的。n字字(Word)(Word):計(jì)算機(jī)內(nèi)部進(jìn)行數(shù)據(jù)處理的基本單位,計(jì)算機(jī)內(nèi)部進(jìn)行數(shù)據(jù)處理的基本單位,通常與計(jì)算機(jī)內(nèi)部的寄存器、通常與計(jì)算機(jī)內(nèi)部的寄存器、ALUALU寬度一致寬度一致。計(jì)算計(jì)算機(jī)的每一個(gè)字所包含的二進(jìn)制位稱為機(jī)的每一個(gè)字所包含的二進(jìn)制位稱為字長字長。如如:Z80:Z80微機(jī)為微機(jī)為8 8位機(jī);位機(jī);80868086,8028680286微機(jī)為微機(jī)為1616位機(jī);位機(jī);386386,486486,PentiumPentium微機(jī)為微機(jī)為3232位機(jī)。位機(jī)。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 34注注: :目前為了目前為了表示數(shù)據(jù)的方便,表示數(shù)據(jù)的方便,常把常把2 2
41、個(gè)字節(jié)稱為個(gè)字節(jié)稱為一個(gè)字,雙字即為一個(gè)字,雙字即為3232位。位。n存儲容量存儲容量:表示表示存放二進(jìn)制代碼的個(gè)數(shù)存放二進(jìn)制代碼的個(gè)數(shù),用包,用包含多少個(gè)存儲單元,而每個(gè)單元又包含多少位含多少個(gè)存儲單元,而每個(gè)單元又包含多少位來表示。微機(jī)中常以來表示。微機(jī)中常以: :字字( (節(jié)節(jié)) )數(shù)數(shù)* *字字( (節(jié)節(jié)) )的位數(shù)的位數(shù)來來表示,如表示,如:1024:1024* *8 81k1k* *8 81KB1KBnPCPC系列微機(jī)存儲器結(jié)構(gòu)系列微機(jī)存儲器結(jié)構(gòu)-以字節(jié)編址以字節(jié)編址,即,即8 8位為一個(gè)單元。每個(gè)單元有一個(gè)唯一的地址代位為一個(gè)單元。每個(gè)單元有一個(gè)唯一的地址代號。如號。如PCPC微
42、機(jī)的物理地址微機(jī)的物理地址:00000H:00000H0FFFFFH0FFFFFH。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 35n數(shù)據(jù)存放規(guī)律數(shù)據(jù)存放規(guī)律 00010H 11 00011H 33 00012H 22 00013H FC 14H FF 15H 89 16H C3 17H 41 18H 42 19H 43 n字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù):一個(gè)數(shù)存放一單元,:一個(gè)數(shù)存放一單元,如如:11H:11H00010H00010H單元單元n字?jǐn)?shù)據(jù)字?jǐn)?shù)據(jù):用二個(gè)連續(xù)單元存放用二個(gè)連續(xù)單元存放,規(guī)定由,規(guī)定由2 2個(gè)單元中地址個(gè)單元中地址較小較小的一個(gè)確定。的一個(gè)確定。如如:2233H:2233H00011
43、H00011H “ “低對低低對低, ,高對高高對高”的存放規(guī)律的存放規(guī)律( (小數(shù)端小數(shù)端) ) 如如:-4:-400013H00013Hn機(jī)器指令機(jī)器指令( (機(jī)器碼機(jī)器碼) ):按字節(jié)順序存放按字節(jié)順序存放。如如:MOV BX:MOV BX,AX AX 89C3H89C3H00015H00015Hn字符串字符串:從低地址開始,以:從低地址開始,以ASCIIASCII碼順序碼順序存放存放,如,如:ABC:ABC00017H00017H嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 368086存儲器的訪問存儲器的訪問奇地址存儲器與數(shù)據(jù)總線高奇地址存儲器與數(shù)據(jù)總線高8位相連,偶地址存儲器與數(shù)據(jù)位相
44、連,偶地址存儲器與數(shù)據(jù)總線低總線低8位相連。位相連。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 37操作操作A0使用的數(shù)據(jù)線使用的數(shù)據(jù)線讀或?qū)懪嫉刂返囊粋€(gè)字讀或?qū)懪嫉刂返囊粋€(gè)字00AD15AD0讀或?qū)懪嫉刂返囊粋€(gè)字節(jié)讀或?qū)懪嫉刂返囊粋€(gè)字節(jié)10AD7AD0讀或?qū)懫娴刂返囊粋€(gè)字節(jié)讀或?qū)懫娴刂返囊粋€(gè)字節(jié)01AD15AD8 11無效無效讀或?qū)懫娴刂返囊粋€(gè)字讀或?qū)懫娴刂返囊粋€(gè)字(非對準(zhǔn))(非對準(zhǔn))0110AD15AD8 (總線周期總線周期1放放入低入低8位數(shù)據(jù)位數(shù)據(jù))AD7AD0(總線周期總線周期2放放入高入高8位數(shù)據(jù)位數(shù)據(jù))BHE 與地址信號與地址信號A0的狀態(tài)組合功能的狀態(tài)組合功能BHE嵌入式系統(tǒng)原理
45、與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 38二、二、存儲器的分段結(jié)構(gòu)存儲器的分段結(jié)構(gòu)n內(nèi)部寄存器都是內(nèi)部寄存器都是1616位,不能直接輸出位,不能直接輸出2020位地址,所位地址,所以以分段管理分段管理。n把把1M1M分成許多個(gè)段,每一段最多可尋址分成許多個(gè)段,每一段最多可尋址2 21616=64K=64K個(gè)個(gè)單元。單元。n規(guī)定每個(gè)段地址的低規(guī)定每個(gè)段地址的低4 4位為位為0 0,即能被,即能被1616整除。段地整除。段地址和偏移地址都是址和偏移地址都是1616位無符號數(shù),所以分段并不是位無符號數(shù),所以分段并不是唯一的,可以相互重迭。唯一的,可以相互重迭。nCPUCPU內(nèi)部僅有四個(gè)段寄存器,所以在某個(gè)特定
46、時(shí)刻內(nèi)部僅有四個(gè)段寄存器,所以在某個(gè)特定時(shí)刻僅能訪問四個(gè)段。僅能訪問四個(gè)段。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 398086/80888086/8088存儲器的分段結(jié)構(gòu):邏輯段長存儲器的分段結(jié)構(gòu):邏輯段長2 21616=64k=64k字節(jié)字節(jié) 嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 40三、三、邏輯地址、物理地址及物理地址的形成邏輯地址、物理地址及物理地址的形成 1. 1.每個(gè)存儲單元都可用地址的兩種形式來表示每個(gè)存儲單元都可用地址的兩種形式來表示n物理地址物理地址:用唯一的用唯一的2020位二進(jìn)制數(shù)表示,位二進(jìn)制數(shù)表示,CPUCPU訪訪問時(shí)用物理地址。問時(shí)用物理地址。n邏輯地址邏輯地
47、址:段地址段地址: :偏移地址,程序中使用邏輯地偏移地址,程序中使用邏輯地址。如址。如:03C0:0010:03C0:0010段基址(即段起始地址)段基址(即段起始地址)= =段地址段地址442020位物理地址位物理地址= =段地址段地址4+4+偏移地址偏移地址嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 41 例:若邏輯地址為例:若邏輯地址為3A00H:12FBH3A00H:12FBH,對應(yīng)的物理地址,對應(yīng)的物理地址是是3B2FBH3B2FBH;若邏輯地址是;若邏輯地址是8000H:1200H8000H:1200H,則對應(yīng),則對應(yīng)的物理地址為的物理地址為81200H81200H。 一個(gè)物理地址所
48、對應(yīng)的邏輯地址不是惟一的。一個(gè)物理地址所對應(yīng)的邏輯地址不是惟一的。 物物理地址理地址3B2FBH3B2FBH的邏輯地址可以是的邏輯地址可以是3A00H:12FBH3A00H:12FBH,3000H:B2FBH3000H:B2FBH,3B00H:02FBH3B00H:02FBH等。等。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 42序序號號內(nèi)存訪問內(nèi)存訪問類型類型默認(rèn)段寄默認(rèn)段寄存器存器可指定段寄可指定段寄存器存器段內(nèi)偏移地址來源段內(nèi)偏移地址來源1 1取指令取指令CSCS無無IPIP2 2堆棧操作堆棧操作SSSS無無SPSP3 3源串源串DSDSCSCS、ESES、SSSSSISI4 4目的串目的
49、串ESES無無DIDI5 5BPBP用作基用作基址尋址址尋址SSSSCSCS、ESES、DSDS按尋址方式計(jì)算得按尋址方式計(jì)算得到的有效地址到的有效地址6 6一般數(shù)據(jù)一般數(shù)據(jù)存取存取DSDSCSCS、ESES、SSSS按尋址方式計(jì)算得按尋址方式計(jì)算得到的有效地址到的有效地址2. 80862. 8086對對段地址與偏移地址的指定段地址與偏移地址的指定:嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 43例例: :某可執(zhí)行程序?yàn)槟晨蓤?zhí)行程序?yàn)?KB2KB,已知,已知CS=1063HCS=1063H,IP=0000HIP=0000H,求該程序的末地址,求該程序的末地址( (物理地址物理地址) )。末地址長
50、度-12K-1=211-1=0800H-1=07FFH 解解 程序存放程序存放: : 1063:0000 1063:0000 : 1063:07FF 1063:07FF 所以末地址為所以末地址為:10630H+07FFH=10E2FH:10630H+07FFH=10E2FH嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 441.1. 數(shù)據(jù)對準(zhǔn):數(shù)據(jù)對準(zhǔn): 當(dāng)當(dāng)CPUCPU讀讀/ /寫一個(gè)字時(shí),若字單元地址從偶地址寫一個(gè)字時(shí),若字單元地址從偶地址開始,只需訪問一次存儲器;若字單元地址從奇地開始,只需訪問一次存儲器;若字單元地址從奇地址開始,則需訪問兩次存儲器。址開始,則需訪問兩次存儲器。四、四、數(shù)據(jù)的
51、存取數(shù)據(jù)的存取嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 452. 堆棧的概念:堆棧的概念: 堆棧堆棧(STACK)是由若干個(gè)連續(xù)存儲單元組成的、操是由若干個(gè)連續(xù)存儲單元組成的、操作時(shí)遵循先進(jìn)后出原則的一個(gè)存儲器區(qū),主要用于暫作時(shí)遵循先進(jìn)后出原則的一個(gè)存儲器區(qū),主要用于暫存中斷和子程序調(diào)用時(shí)的現(xiàn)場數(shù)據(jù)及返回地址。存中斷和子程序調(diào)用時(shí)的現(xiàn)場數(shù)據(jù)及返回地址。堆棧操作具有如下特點(diǎn):堆棧操作具有如下特點(diǎn): 操作只能在棧頂進(jìn)行,操作只能在棧頂進(jìn)行,入棧和出棧都必須是雙字節(jié)入棧和出棧都必須是雙字節(jié)數(shù)據(jù)數(shù)據(jù)(16位位)。進(jìn)行一次入棧。進(jìn)行一次入棧操作,操作,SP減減2;進(jìn)行一次出;進(jìn)行一次出棧操作,棧操作,S
52、P加加2; 操作遵循操作遵循“先進(jìn)后出先進(jìn)后出(FILO)”的原則。最后壓入的原則。最后壓入堆棧的數(shù)據(jù)會(huì)最先被彈出。堆棧的數(shù)據(jù)會(huì)最先被彈出。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 46嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 475.48086CPU時(shí)序時(shí)序n微處理器是在統(tǒng)一的時(shí)鐘信號微處理器是在統(tǒng)一的時(shí)鐘信號CLKCLK控制下,按照一定的時(shí)序控制下,按照一定的時(shí)序來工作的。來工作的。n80868086時(shí)鐘頻率為時(shí)鐘頻率為5 MHz5 MHz,一個(gè)時(shí)鐘周期等于,一個(gè)時(shí)鐘周期等于200 ns200 ns。nCPUCPU的時(shí)序分為兩種:時(shí)鐘周期和總線周期。的時(shí)序分為兩種:時(shí)鐘周期和總線周期。n8
53、086CPU8086CPU與內(nèi)存或接口間的通信都是通過總線來進(jìn)行的。與內(nèi)存或接口間的通信都是通過總線來進(jìn)行的。通過總線對存儲器或通過總線對存儲器或I IOO接口進(jìn)行一次訪問所需的時(shí)間叫做接口進(jìn)行一次訪問所需的時(shí)間叫做一個(gè)總線周期,一個(gè)總線周期包括多個(gè)時(shí)鐘周期。一個(gè)總線周期,一個(gè)總線周期包括多個(gè)時(shí)鐘周期。nCPUCPU每執(zhí)行一條指令至少要訪問一次存儲器每執(zhí)行一條指令至少要訪問一次存儲器( (取指令取指令) ),即至,即至少要進(jìn)行一次讀存儲器操作,占用一個(gè)讀總線周期。少要進(jìn)行一次讀存儲器操作,占用一個(gè)讀總線周期。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 48n一條指令的執(zhí)行需要若干個(gè)總線周期才能完
54、成。而一一條指令的執(zhí)行需要若干個(gè)總線周期才能完成。而一個(gè)總線周期又由若干個(gè)時(shí)鐘周期構(gòu)成。個(gè)總線周期又由若干個(gè)時(shí)鐘周期構(gòu)成。n每個(gè)時(shí)鐘脈沖的持續(xù)時(shí)間就稱為一個(gè)時(shí)鐘周期。每個(gè)時(shí)鐘脈沖的持續(xù)時(shí)間就稱為一個(gè)時(shí)鐘周期。8086 8086 CPUCPU的一個(gè)讀的一個(gè)讀( (或?qū)懟驅(qū)? )總線周期至少包括總線周期至少包括4 4個(gè)時(shí)鐘周期。個(gè)時(shí)鐘周期。n時(shí)鐘周期越短,時(shí)鐘周期越短,CPUCPU執(zhí)行的速度就越快。執(zhí)行的速度就越快。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 49系統(tǒng)的復(fù)位和啟動(dòng)操作時(shí)序系統(tǒng)的復(fù)位和啟動(dòng)操作時(shí)序 嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 50最最小小模模式式下下的的工工作作時(shí)時(shí)序序嵌
55、入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 51最最大大模模式式下下的的工工作作時(shí)時(shí)序序嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 522.58086CPU尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)一、一、 匯編語言概述匯編語言概述編程語言分:編程語言分:機(jī)器語言機(jī)器語言:計(jì)算機(jī)能直接識別并執(zhí)行某種操作的二進(jìn)制代碼串:計(jì)算機(jī)能直接識別并執(zhí)行某種操作的二進(jìn)制代碼串匯編語言匯編語言:用指令助記符、符號地址和標(biāo)號等書寫程序的語言:用指令助記符、符號地址和標(biāo)號等書寫程序的語言高級語言高級語言匯編語言程序優(yōu)點(diǎn):匯編語言程序優(yōu)點(diǎn):(1 1)占用空間?。┱加每臻g小(2 2)運(yùn)行速度快)運(yùn)行速度快(3 3)有直接控制硬件
56、的能力)有直接控制硬件的能力嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 53開發(fā)環(huán)境:開發(fā)環(huán)境: DOS環(huán)境環(huán)境 開發(fā)工具:開發(fā)工具:MICROSOFT :MASM(宏匯編)(宏匯編)INTEL:ASM (小匯編)(小匯編)BORLAND:TASM EMU8086: 運(yùn)行于運(yùn)行于Windows下的下的8086編譯軟件編譯軟件需要的最基本的軟件:需要的最基本的軟件: 文本編輯器(文本編輯器(EDIT.EXE) 編輯成編輯成*.ASM ML.EXE: 匯編成匯編成*.OBJ LINK.EXE: 連接成連接成*.EXE DEBUG.EXE: 調(diào)試調(diào)試嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 54開發(fā)過
57、程開發(fā)過程: :(1 1)編輯源程序生成)編輯源程序生成* *.ASM.ASMEDIT EDIT * *.ASM.ASM(2 2)匯編生成目標(biāo)程序)匯編生成目標(biāo)程序* *.OBJ.OBJ: ML ML * *.ASM.ASM; (3 3)連接生成可執(zhí)行程序)連接生成可執(zhí)行程序* *.EXE.EXE: LINKLINK * *; (4 4)調(diào)試)調(diào)試: : DEBUG DEBUG * *.EXE.EXE(5 5)執(zhí)行:)執(zhí)行:可執(zhí)行文件名可執(zhí)行文件名或者(或者(1 1)- -(5 5)全在)全在debugdebug中完成,只能編寫小程序,數(shù)中完成,只能編寫小程序,數(shù)據(jù)、代碼、堆棧全在同一段內(nèi)。據(jù)
58、、代碼、堆棧全在同一段內(nèi)。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 55源程序:文件名.ASM目標(biāo)模塊:文件名.OBJ可執(zhí)行文件:文件名.EXE應(yīng)用程序文本編輯器,如EDIT編輯匯編程序,如ML.EXE匯編鏈接程序,如LINK.EXE鏈接調(diào)試程序,如DEBUG.EXE調(diào)試嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 56匯編語言程序舉例:匯編語言程序舉例:語句格式:語句格式: 標(biāo)號標(biāo)號 助記符助記符 操作數(shù)操作數(shù)1,1,操作數(shù)操作數(shù)2;2;注釋注釋嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 57二、二、 操作數(shù)尋址方式操作數(shù)尋址方式立即數(shù)操作數(shù):立即數(shù)操作數(shù): 立即尋址立即尋址 寄存器操作數(shù):寄存器
59、操作數(shù): 寄存器尋址寄存器尋址 存儲器操作數(shù):存儲器操作數(shù): 直接尋址直接尋址 寄存器間接尋址寄存器間接尋址 寄存器相對尋址寄存器相對尋址 基址變址尋址基址變址尋址 相對基址變址尋址相對基址變址尋址尋址方式:指令中給出操作數(shù)的方法。尋址方式:指令中給出操作數(shù)的方法。嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 58(1)(1) 格式:操作數(shù)以格式:操作數(shù)以常數(shù)常數(shù)的形式直接表示在指令中。的形式直接表示在指令中。MOVMOV ALAL,5 5;ALAL5 5MOVMOV AXAX,1234H1234H;AXAX1234h1234h ;AH=12HAH=12H,AL=34HAL=34H1 1立即尋址立
60、即尋址 嵌入式系統(tǒng)原理與實(shí)驗(yàn)嵌入式系統(tǒng)原理與實(shí)驗(yàn) 59(2) (2) 討論:討論:n適用于給寄存器或存儲單元賦初值。立即數(shù)在適用于給寄存器或存儲單元賦初值。立即數(shù)在內(nèi)存內(nèi)存的代碼段的代碼段內(nèi),指令執(zhí)行時(shí)不需再存取存儲器內(nèi),指令執(zhí)行時(shí)不需再存取存儲器n不能直接對段寄存器用立即數(shù)賦值不能直接對段寄存器用立即數(shù)賦值 n立即數(shù)不能作目的操作數(shù)立即數(shù)不能作目的操作數(shù)n給存儲器操作數(shù)給存儲器操作數(shù)( (默認(rèn)段寄存器為默認(rèn)段寄存器為DS)DS)用立即數(shù)賦值用立即數(shù)賦值時(shí),要指明時(shí),要指明WORD/BYTE PTRWORD/BYTE PTR MOVMOV BYTE PTR 300HBYTE PTR 300H,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年車輛抵押貸款信保業(yè)務(wù)借款協(xié)議
- 三年級下冊數(shù)學(xué)教案-第五單元長方形的面積∣北師大版
- 2025年工作室網(wǎng)站合同
- 行業(yè)培訓(xùn)外包合同(2篇)
- (高清版)DB45∕T 227-2022 地理標(biāo)志產(chǎn)品 廣西肉桂
- 2011年全國各地高考生物試題分章匯編
- 任務(wù)二 高效地下載信息 教學(xué)設(shè)計(jì) -2023-2024學(xué)年桂科版初中信息技術(shù)七年級上冊
- 第十一課 智能家居教學(xué)設(shè)計(jì) -2023-2024學(xué)年青島版(2019)初中信息技術(shù)第四冊
- 第八單元(A卷基礎(chǔ)篇)三年級語文下冊單元分層訓(xùn)練AB卷(部編版)
- 第六單元-平移、旋轉(zhuǎn)和軸對稱(單元測試)-蘇教版數(shù)學(xué)三年級上冊(含解析)
- CentOS 7系統(tǒng)配置與管理(Linux 試題庫) 習(xí)題答案 (楊海艷 第2版)
- 手機(jī)直連衛(wèi)星的可用頻率分析
- 中國氫內(nèi)燃機(jī)行業(yè)發(fā)展環(huán)境、市場運(yùn)行格局及前景研究報(bào)告-智研咨詢(2024版)
- 2025年春新人教版歷史七年級下冊課件 第16課-明朝的對外關(guān)系
- 開學(xué)季初三沖刺中考開學(xué)第一課為夢想加油課件
- 2025年四川綿陽科技城新區(qū)投資控股集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 2025年碳化硅(SiC)市場分析現(xiàn)狀
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年參考題庫含答案解析
- 2024年沙洲職業(yè)工學(xué)院高職單招語文歷年參考題庫含答案解析
- 2024年廣東省《輔警招聘考試必刷500題》考試題庫【學(xué)生專用】
- 2025年人教版英語五年級下冊教學(xué)進(jìn)度安排表
評論
0/150
提交評論