微型計(jì)算機(jī)原理及應(yīng)用:第2章 80x86系列結(jié)構(gòu)微處理器與8086



《微型計(jì)算機(jī)原理及應(yīng)用:第2章 80x86系列結(jié)構(gòu)微處理器與8086》由會(huì)員分享,可在線閱讀,更多相關(guān)《微型計(jì)算機(jī)原理及應(yīng)用:第2章 80x86系列結(jié)構(gòu)微處理器與8086(62頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、微型計(jì)算機(jī)原理及應(yīng)用微型計(jì)算機(jī)原理及應(yīng)用2.1 80 x862.1 80 x86系列微處理器是系列微處理器是80868086的延伸的延伸2.2 80862.2 8086的功能結(jié)構(gòu)的功能結(jié)構(gòu)2.3 80862.3 8086微處理器的執(zhí)行環(huán)境微處理器的執(zhí)行環(huán)境第第2 2章章 80 x8680 x86系列結(jié)構(gòu)微處理器系列結(jié)構(gòu)微處理器與與8086808622.1 x862.1 x86系列微處理器是系列微處理器是80868086的延伸的延伸2.1.1 2.1.1 80868086功能的擴(kuò)展功能的擴(kuò)展2.1.2 2.1.2 80868086性能的提高性能的提高32.1.1 80862.1.1 8086功能
2、的擴(kuò)展功能的擴(kuò)展1.1.從從1616位擴(kuò)展為位擴(kuò)展為3232位位80868086是是1616位微處理器。它的內(nèi)部寄存器的主體是位微處理器。它的內(nèi)部寄存器的主體是1616位的。位的。它的主要用于存放操作數(shù)的它的主要用于存放操作數(shù)的數(shù)據(jù)寄存器是數(shù)據(jù)寄存器是1616位的位的。它的主要。它的主要的用作為地址指針的指針寄存器也是的用作為地址指針的指針寄存器也是1616位的。依賴(lài)分段機(jī)制,位的。依賴(lài)分段機(jī)制,用用2020位段基地址加上位段基地址加上1616位的偏移量形成了位的偏移量形成了2020位的地址位的地址,可以可以尋址尋址1MB1MB的物理地址。的物理地址。用用1616位作為地址,它只能表示位作為地
3、址,它只能表示64KB64KB,是一個(gè)十分小的地,是一個(gè)十分小的地址范圍,遠(yuǎn)遠(yuǎn)不能滿(mǎn)足應(yīng)用的需要。因而,于址范圍,遠(yuǎn)遠(yuǎn)不能滿(mǎn)足應(yīng)用的需要。因而,于19851985年,年,IntelIntel公司推出了第一個(gè)公司推出了第一個(gè)3232位的微處理器位的微處理器 -80386-80386,開(kāi)創(chuàng),開(kāi)創(chuàng)了微處理器的了微處理器的3232位時(shí)代。目前,計(jì)算機(jī)正從位時(shí)代。目前,計(jì)算機(jī)正從3232位向位向6464位轉(zhuǎn)移。位轉(zhuǎn)移。43232位,無(wú)論從能表示的數(shù)的范圍,還是能尋址的物理地位,無(wú)論從能表示的數(shù)的范圍,還是能尋址的物理地址,特別是能尋址的物理地址都極大的擴(kuò)展了。使得微處理址,特別是能尋址的物理地址都極大的
4、擴(kuò)展了。使得微處理器能取代以前的所謂器能取代以前的所謂“大型機(jī)大型機(jī)”,能應(yīng)用于各種領(lǐng)域,從而,能應(yīng)用于各種領(lǐng)域,從而極大地促進(jìn)了計(jì)算機(jī)在各行各業(yè)中的應(yīng)用。極大地促進(jìn)了計(jì)算機(jī)在各行各業(yè)中的應(yīng)用。3232位地址能尋址位地址能尋址4GB4GB物理地址。到目前,仍遠(yuǎn)大于主流物理地址。到目前,仍遠(yuǎn)大于主流計(jì)算機(jī)的實(shí)際內(nèi)存配置,仍有廣闊的應(yīng)用余地。計(jì)算機(jī)的實(shí)際內(nèi)存配置,仍有廣闊的應(yīng)用余地。52.2.從實(shí)模式至保護(hù)模式從實(shí)模式至保護(hù)模式當(dāng)當(dāng)19811981年,年,IBMIBM公司剛推出公司剛推出IBM-PCIBM-PC時(shí),主頻是時(shí),主頻是5MHz5MHz,內(nèi),內(nèi)存是存是64KB-128KB64KB-128
5、KB,沒(méi)有硬盤(pán),只有單面單密度的軟盤(pán),到了,沒(méi)有硬盤(pán),只有單面單密度的軟盤(pán),到了PC/XTPC/XT,才有,才有10MB10MB硬盤(pán)。在這樣的硬件資源下,采用的操作硬盤(pán)。在這樣的硬件資源下,采用的操作系統(tǒng)是系統(tǒng)是PC-DOSPC-DOS(MS-DOSMS-DOS)。這是單用戶(hù)、單任務(wù)的磁盤(pán)操作)。這是單用戶(hù)、單任務(wù)的磁盤(pán)操作系統(tǒng)。操作系統(tǒng)本身沒(méi)有程序隔離、沒(méi)有保護(hù)。這是系統(tǒng)。操作系統(tǒng)本身沒(méi)有程序隔離、沒(méi)有保護(hù)。這是DOSDOS遭遭受病毒泛濫的內(nèi)因。受病毒泛濫的內(nèi)因。隨著隨著PCPC機(jī)的大量普及,隨著硬件性能的迅速提高。要求機(jī)的大量普及,隨著硬件性能的迅速提高。要求有能保護(hù)操作系統(tǒng)核心軟件的多任
6、務(wù)操作系統(tǒng)。為使這樣的有能保護(hù)操作系統(tǒng)核心軟件的多任務(wù)操作系統(tǒng)。為使這樣的操作系統(tǒng)能在微型計(jì)算機(jī)系統(tǒng)中應(yīng)用與普及,要求微處理器操作系統(tǒng)能在微型計(jì)算機(jī)系統(tǒng)中應(yīng)用與普及,要求微處理器本身為這樣的操作系統(tǒng)提供支持。于是,從本身為這樣的操作系統(tǒng)提供支持。于是,從8028680286開(kāi)始,在開(kāi)始,在8038680386中真正完善保護(hù)模式。在保護(hù)模式下,程序運(yùn)行于四中真正完善保護(hù)模式。在保護(hù)模式下,程序運(yùn)行于四個(gè)特權(quán)級(jí)。這樣,可以實(shí)現(xiàn)操作系統(tǒng)核心程序與應(yīng)用程序的個(gè)特權(quán)級(jí)。這樣,可以實(shí)現(xiàn)操作系統(tǒng)核心程序與應(yīng)用程序的嚴(yán)格的隔離。保護(hù)模式支持多任務(wù)機(jī)制,任務(wù)之間完全隔離。嚴(yán)格的隔離。保護(hù)模式支持多任務(wù)機(jī)制,任務(wù)
7、之間完全隔離。63.3.片內(nèi)存儲(chǔ)管理單元片內(nèi)存儲(chǔ)管理單元(MMU)(MMU)3232位地址,可尋址位地址,可尋址4GB4GB物理地址。但大多數(shù)物理地址。但大多數(shù)PCPC機(jī)的物理機(jī)的物理內(nèi)存配置遠(yuǎn)小于內(nèi)存配置遠(yuǎn)小于4GB4GB。但應(yīng)用程序卻需要龐大的地址空間。但應(yīng)用程序卻需要龐大的地址空間。因此,在操作系統(tǒng)中提供了虛擬存儲(chǔ)器管理機(jī)制,而這要求因此,在操作系統(tǒng)中提供了虛擬存儲(chǔ)器管理機(jī)制,而這要求硬件支持。因而,在硬件支持。因而,在8038680386中提供了片內(nèi)的中提供了片內(nèi)的MMUMMU。提供了。提供了4K4K頁(yè)、頁(yè)、頁(yè)表等支持。頁(yè)表等支持。以上三點(diǎn)是以上三點(diǎn)是8038680386相對(duì)于相對(duì)于8
8、0868086的主要功能擴(kuò)展。的主要功能擴(kuò)展。4.4.浮點(diǎn)支持浮點(diǎn)支持工程應(yīng)用、圖形處理、科學(xué)計(jì)算等要求浮點(diǎn)支持(實(shí)數(shù)工程應(yīng)用、圖形處理、科學(xué)計(jì)算等要求浮點(diǎn)支持(實(shí)數(shù)運(yùn)算)。因此,自運(yùn)算)。因此,自8048680486芯片開(kāi)始,在芯片開(kāi)始,在x86x86系列微處理器中集系列微處理器中集成了成了x87x87(及其增強(qiáng))浮點(diǎn)單元。(及其增強(qiáng))浮點(diǎn)單元。75.MMX5.MMX技術(shù)技術(shù)為支持多媒體技術(shù)的應(yīng)用,如音樂(lè)合成、語(yǔ)音合成。語(yǔ)為支持多媒體技術(shù)的應(yīng)用,如音樂(lè)合成、語(yǔ)音合成。語(yǔ)音識(shí)別、音頻和視頻壓縮(編碼)和解壓縮(譯碼)、音識(shí)別、音頻和視頻壓縮(編碼)和解壓縮(譯碼)、2D 2D 和和 3D 3D
9、 圖形(包括圖形(包括 3D 3D 結(jié)構(gòu)映像)和流視頻等等。結(jié)構(gòu)映像)和流視頻等等。x86x86系列系列處理器中增加處理器中增加MMXMMX技術(shù)及相應(yīng)的指令。技術(shù)及相應(yīng)的指令。6.6.流流SIMDSIMD擴(kuò)展(擴(kuò)展(SSESSE)自自Pentium IIIPentium III處理器開(kāi)始,在處理器開(kāi)始,在x86x86系列微處理器中引進(jìn)系列微處理器中引進(jìn)了流了流SIMDSIMD(單指令多數(shù)據(jù))擴(kuò)展(單指令多數(shù)據(jù))擴(kuò)展(SSESSE)技術(shù)。)技術(shù)。SSESSE擴(kuò)展把由擴(kuò)展把由Intel MMXIntel MMX引進(jìn)的引進(jìn)的SIMDSIMD執(zhí)行模式擴(kuò)展為新的執(zhí)行模式擴(kuò)展為新的128128位位XMMX
10、MM寄存器寄存器和能在包裝的單精度浮點(diǎn)數(shù)上執(zhí)行和能在包裝的單精度浮點(diǎn)數(shù)上執(zhí)行SIMDSIMD操作。操作。8奔騰奔騰4 4處理器又進(jìn)一步擴(kuò)展為流處理器又進(jìn)一步擴(kuò)展為流SIMDSIMD擴(kuò)展擴(kuò)展2 2(SSE2SSE2):):用用144144條新指令擴(kuò)展條新指令擴(kuò)展Intel MMXIntel MMX技術(shù)和技術(shù)和SSESSE擴(kuò)展,它包括擴(kuò)展,它包括支持:支持:128 128位位SIMDSIMD整數(shù)算術(shù)操作。整數(shù)算術(shù)操作。128 128位位SIMDSIMD雙精度浮點(diǎn)操作。雙精度浮點(diǎn)操作。128 128 位指令設(shè)計(jì)以支持媒體和科學(xué)應(yīng)用。由這些指令所位指令設(shè)計(jì)以支持媒體和科學(xué)應(yīng)用。由這些指令所用的向量操作
11、數(shù)允許應(yīng)用程序在多個(gè)向量元素上并行操作。用的向量操作數(shù)允許應(yīng)用程序在多個(gè)向量元素上并行操作。元素能是整數(shù)(從字節(jié)至四字)或浮點(diǎn)數(shù)(單精度或雙精元素能是整數(shù)(從字節(jié)至四字)或浮點(diǎn)數(shù)(單精度或雙精度)。算術(shù)運(yùn)算產(chǎn)生有符號(hào)的、無(wú)符號(hào)的和度)。算術(shù)運(yùn)算產(chǎn)生有符號(hào)的、無(wú)符號(hào)的和/或混合的結(jié)果?;蚧旌系慕Y(jié)果。92.1.2 80862.1.2 8086性能的提高性能的提高x86x86系列系列芯片的發(fā)展的一個(gè)重要方面是提高性能。系列系列芯片的發(fā)展的一個(gè)重要方面是提高性能。1.1.利用流水線技術(shù)提高操作的并行性利用流水線技術(shù)提高操作的并行性提高性能的一個(gè)重要方面是利用超大規(guī)模集成電路的工提高性能的一個(gè)重要方面是
12、利用超大規(guī)模集成電路的工藝與制造技術(shù)提高芯片的主頻。即減少一個(gè)時(shí)鐘周期的時(shí)間。藝與制造技術(shù)提高芯片的主頻。即減少一個(gè)時(shí)鐘周期的時(shí)間。提高性能的另一重要方面是縮短執(zhí)行指令的時(shí)鐘周期數(shù)。在提高性能的另一重要方面是縮短執(zhí)行指令的時(shí)鐘周期數(shù)。在80868086中,利用流水線把取指令與執(zhí)行指令重疊,減少了等待中,利用流水線把取指令與執(zhí)行指令重疊,減少了等待取指令的時(shí)間,從而使大部分指令的執(zhí)行為四個(gè)時(shí)鐘周期。取指令的時(shí)間,從而使大部分指令的執(zhí)行為四個(gè)時(shí)鐘周期。8038680386利用芯片內(nèi)由利用芯片內(nèi)由6 6個(gè)能并行操作的功能部件組成,從個(gè)能并行操作的功能部件組成,從而使執(zhí)行一條指令縮短為兩個(gè)時(shí)鐘周期。而
13、使執(zhí)行一條指令縮短為兩個(gè)時(shí)鐘周期。108048680486將將8038680386處理器的指令譯碼和執(zhí)行部件擴(kuò)展成五級(jí)處理器的指令譯碼和執(zhí)行部件擴(kuò)展成五級(jí)流水線,進(jìn)一步增強(qiáng)了其并行處理能力,在五級(jí)流水線中最流水線,進(jìn)一步增強(qiáng)了其并行處理能力,在五級(jí)流水線中最多可有五條指令被同時(shí)執(zhí)行,每級(jí)都能在一個(gè)時(shí)鐘周期內(nèi)執(zhí)多可有五條指令被同時(shí)執(zhí)行,每級(jí)都能在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行一條指令,行一條指令,8048680486微處理器最快能夠在每個(gè)微處理器最快能夠在每個(gè)CPUCPU時(shí)鐘周期內(nèi)時(shí)鐘周期內(nèi)執(zhí)行一條指令。執(zhí)行一條指令。到了奔騰處理器增加了第二個(gè)執(zhí)行流水線以達(dá)到超標(biāo)量到了奔騰處理器增加了第二個(gè)執(zhí)行流水線以達(dá)到
14、超標(biāo)量性能(兩個(gè)已知的流水線性能(兩個(gè)已知的流水線u u和和v v,一起工作能實(shí)現(xiàn)每個(gè)時(shí)鐘執(zhí),一起工作能實(shí)現(xiàn)每個(gè)時(shí)鐘執(zhí)行兩條指令)。行兩條指令)。Intel Pentium 4Intel Pentium 4處理器是第一個(gè)基于處理器是第一個(gè)基于Intel NetBurstIntel NetBurst微結(jié)構(gòu)的處理器。微結(jié)構(gòu)的處理器。Intel NetBurstIntel NetBurst微結(jié)構(gòu)是新的微結(jié)構(gòu)是新的32bit32bit微結(jié)微結(jié)構(gòu),它允許處理器能在比以前的構(gòu),它允許處理器能在比以前的X86X86系列處理器更高的時(shí)鐘系列處理器更高的時(shí)鐘速度和性能等級(jí)上進(jìn)行操作。速度和性能等級(jí)上進(jìn)行操作。I
15、ntel Pentium 4Intel Pentium 4處理器有快處理器有快速的執(zhí)行引擎、速的執(zhí)行引擎、HyperHyper流水線技術(shù)與高級(jí)的動(dòng)態(tài)執(zhí)行。使指流水線技術(shù)與高級(jí)的動(dòng)態(tài)執(zhí)行。使指令執(zhí)行的并行性進(jìn)一步提高,從而做到在一個(gè)時(shí)鐘周期中可令執(zhí)行的并行性進(jìn)一步提高,從而做到在一個(gè)時(shí)鐘周期中可以執(zhí)行多條指令。以執(zhí)行多條指令。112.2.引入片內(nèi)緩存(引入片內(nèi)緩存(CACHECACHE)隨著超大規(guī)模集成電路技術(shù)的發(fā)展,存儲(chǔ)器的集成度和隨著超大規(guī)模集成電路技術(shù)的發(fā)展,存儲(chǔ)器的集成度和工作速度都有了極大的提高。但是,相對(duì)于工作速度都有了極大的提高。但是,相對(duì)于CPUCPU的工作速度的工作速度仍然至少
16、差一個(gè)數(shù)量級(jí)。為了減少?gòu)拇鎯?chǔ)器中取指令與數(shù)據(jù)仍然至少差一個(gè)數(shù)量級(jí)。為了減少?gòu)拇鎯?chǔ)器中取指令與數(shù)據(jù)的時(shí)間,利用指令執(zhí)行的局部性原理,把近期可能要用到的的時(shí)間,利用指令執(zhí)行的局部性原理,把近期可能要用到的指令與數(shù)據(jù)放在工作速度比主存儲(chǔ)器更高(當(dāng)然,容量更?。┲噶钆c數(shù)據(jù)放在工作速度比主存儲(chǔ)器更高(當(dāng)然,容量更?。┑木彺嬷?。這樣的思想,進(jìn)一步在處理器中實(shí)現(xiàn),即在處理的緩存中。這樣的思想,進(jìn)一步在處理器中實(shí)現(xiàn),即在處理器芯片中實(shí)現(xiàn)了緩存。目前,通常在處理器芯片上有指令和器芯片中實(shí)現(xiàn)了緩存。目前,通常在處理器芯片上有指令和數(shù)據(jù)分開(kāi)的一級(jí)緩存與指令與數(shù)據(jù)混合的二級(jí)緩存。且緩存數(shù)據(jù)分開(kāi)的一級(jí)緩存與指令與數(shù)據(jù)混
17、合的二級(jí)緩存。且緩存的容量越來(lái)越大。從而進(jìn)一步提高了處理器的性能。的容量越來(lái)越大。從而進(jìn)一步提高了處理器的性能??傊?,總之,x86x86系列系列處理器芯片就是沿著這樣的思路發(fā)系列系列處理器芯片就是沿著這樣的思路發(fā)展的。因此,展的。因此,80868086是是x86x86系列系列處理器的基礎(chǔ)。而且,任系列系列處理器的基礎(chǔ)。而且,任一種一種x86x86系列處理器芯片在上電后,就是處在系列處理器芯片在上電后,就是處在80868086的實(shí)模式。的實(shí)模式。根據(jù)需要,用指令進(jìn)入各種操作模式。所以,學(xué)習(xí)根據(jù)需要,用指令進(jìn)入各種操作模式。所以,學(xué)習(xí)x86x86系列系列處理器必須學(xué)習(xí)掌握處理器必須學(xué)習(xí)掌握8086
18、8086,也只能從,也只能從80868086入手。入手。12從指令,從編程來(lái)說(shuō),幾乎沒(méi)有用匯編語(yǔ)言來(lái)使用浮點(diǎn)從指令,從編程來(lái)說(shuō),幾乎沒(méi)有用匯編語(yǔ)言來(lái)使用浮點(diǎn)指令、指令、MMXMMX指令與指令與XMMXMM指令的,都是通過(guò)高級(jí)語(yǔ)言來(lái)使用這些指令的,都是通過(guò)高級(jí)語(yǔ)言來(lái)使用這些指令的。因而,絕大部分程序員,除了編寫(xiě)操作系統(tǒng)代碼的指令的。因而,絕大部分程序員,除了編寫(xiě)操作系統(tǒng)代碼的外,面對(duì)外,面對(duì)x86x86系列處理器的指令,實(shí)際上是面對(duì)系列處理器的指令,實(shí)際上是面對(duì)80868086指令。指令。因此,本書(shū)從因此,本書(shū)從80868086入手來(lái)學(xué)習(xí)與掌握入手來(lái)學(xué)習(xí)與掌握x86x86系列處理器。系列處理器。
19、13148086/8088 CPU的內(nèi)部結(jié)構(gòu)基本相同的內(nèi)部結(jié)構(gòu)基本相同均由兩個(gè)獨(dú)立的工作部件組成均由兩個(gè)獨(dú)立的工作部件組成 一個(gè)稱(chēng)為執(zhí)行部件(一個(gè)稱(chēng)為執(zhí)行部件(EU)一個(gè)稱(chēng)為總線接口部件一個(gè)稱(chēng)為總線接口部件(BIU)2.2 8086的功能結(jié)構(gòu)的功能結(jié)構(gòu)BIUBIU包括:包括:4 4個(gè)個(gè)1616位的段地址寄存器位的段地址寄存器(CS(CS、DSDS、SSSS、ES)ES);1 1個(gè)個(gè)1616位的指令指針寄存器位的指令指針寄存器IPIP;1 1個(gè)個(gè)2020位的地址加法器;位的地址加法器;指令隊(duì)列寄存器;指令隊(duì)列寄存器;內(nèi)部寄存器;內(nèi)部寄存器;輸入輸出總線控制邏輯;輸入輸出總線控制邏輯;EUEU包括
20、:包括:4 4個(gè)個(gè)1616位的通用數(shù)據(jù)寄存器位的通用數(shù)據(jù)寄存器(AX(AX、BXBX、CXCX、DX)DX);4 4個(gè)個(gè)1616位的專(zhuān)用寄存器位的專(zhuān)用寄存器(BP(BP、SPSP、SISI、DI)DI);1 1個(gè)個(gè)1616位的標(biāo)志寄存器位的標(biāo)志寄存器FRFR;2.2 8086的功能結(jié)構(gòu)的功能結(jié)構(gòu)158086CPU8086CPU從功能上來(lái)說(shuō)分成兩大部分:總線接口單元從功能上來(lái)說(shuō)分成兩大部分:總線接口單元BIUBIU(Bus Interface UnitBus Interface Unit)和執(zhí)行單元)和執(zhí)行單元EUEU(Execution UnitExecution Unit)。)。BIUBIU
21、負(fù)責(zé)負(fù)責(zé)8086CPU8086CPU與存儲(chǔ)器之間的信息傳送。具體地說(shuō),與存儲(chǔ)器之間的信息傳送。具體地說(shuō),即即BIUBIU負(fù)責(zé)從內(nèi)存的指定單元取出指令,送至指令流隊(duì)列中負(fù)責(zé)從內(nèi)存的指定單元取出指令,送至指令流隊(duì)列中排隊(duì)(排隊(duì)(80868086的指令流隊(duì)列是的指令流隊(duì)列是6 6個(gè)字節(jié));在執(zhí)行指令時(shí)所需個(gè)字節(jié));在執(zhí)行指令時(shí)所需的操作數(shù),也由的操作數(shù),也由BIUBIU從內(nèi)存的指定區(qū)域取出,傳送給從內(nèi)存的指定區(qū)域取出,傳送給EUEU部分部分去執(zhí)行。去執(zhí)行。EUEU部分負(fù)責(zé)指令的執(zhí)行。其中主要由數(shù)據(jù)寄存器、指針部分負(fù)責(zé)指令的執(zhí)行。其中主要由數(shù)據(jù)寄存器、指針寄存器與算術(shù)邏輯單元(寄存器與算術(shù)邏輯單元(A
22、LUALU)組成。這樣,取指部分與執(zhí))組成。這樣,取指部分與執(zhí)行指令部分是分開(kāi)的,于是在一條指令的執(zhí)行過(guò)程中,就可行指令部分是分開(kāi)的,于是在一條指令的執(zhí)行過(guò)程中,就可以取出下一條(或多條)指令,在指令流隊(duì)列中排隊(duì)。在一以取出下一條(或多條)指令,在指令流隊(duì)列中排隊(duì)。在一條指令執(zhí)行完以后就可以立即執(zhí)行下一條指令,減少了條指令執(zhí)行完以后就可以立即執(zhí)行下一條指令,減少了CPUCPU為取指令而等待的時(shí)間,提高了為取指令而等待的時(shí)間,提高了CPUCPU的利用率,提高了整個(gè)的利用率,提高了整個(gè)運(yùn)行速度。運(yùn)行速度。168086CPU外部數(shù)據(jù)外部數(shù)據(jù)總線為總線為16位、指位、指令隊(duì)列為令隊(duì)列為6字節(jié)字節(jié)指令隊(duì)
23、列的設(shè)置使指令的取指令隊(duì)列的設(shè)置使指令的取出與執(zhí)行并行進(jìn)行,以提出與執(zhí)行并行進(jìn)行,以提高了程序的運(yùn)行速度高了程序的運(yùn)行速度 178086/8088CPU的內(nèi)部結(jié)構(gòu)寄存器是中央處理器內(nèi)的組成部份寄存器是中央處理器內(nèi)的組成部份寄存器是有限存貯容量的高速存寄存器是有限存貯容量的高速存貯部件,它們可用來(lái)暫存指令、貯部件,它們可用來(lái)暫存指令、數(shù)據(jù)和地址。數(shù)據(jù)和地址。指令指令:確定運(yùn)算與操作確定運(yùn)算與操作數(shù)據(jù)數(shù)據(jù):運(yùn)算或讀寫(xiě)操作的對(duì)象運(yùn)算或讀寫(xiě)操作的對(duì)象地址地址:標(biāo)記和確定內(nèi)存空間中具體標(biāo)記和確定內(nèi)存空間中具體的存儲(chǔ)位置的存儲(chǔ)位置地址加法器的作用是根據(jù)地址加法器的作用是根據(jù)段寄存器存放的段基地段寄存器存放
24、的段基地址與址與EU送出的送出的16位偏移位偏移地址計(jì)算得到地址計(jì)算得到20位的實(shí)位的實(shí)際地址際地址 輸出輸入控制電路實(shí)現(xiàn)總輸出輸入控制電路實(shí)現(xiàn)總線控制,決定讀或?qū)憽⒕€控制,決定讀或?qū)憽?duì)內(nèi)存或?qū)?duì)內(nèi)存或?qū)/O接口接口 取指令、指令譯碼、產(chǎn)生取指令、指令譯碼、產(chǎn)生并傳送操作信號(hào)并傳送操作信號(hào) 18算術(shù)邏輯單元(運(yùn)算器)8個(gè)通用寄存器1個(gè)標(biāo)志寄存器EU部分控制電路執(zhí)行部件EU的組成及作用取指令,指令譯碼取指令,指令譯碼執(zhí)行指令,完成運(yùn)算執(zhí)行指令,完成運(yùn)算19總線接口部件BIU的組成及作用地址加法器6字節(jié)指令隊(duì)列緩沖器4個(gè)16位段寄存器16位指令指針寄存器輸入輸出控制電路計(jì)算20位的存儲(chǔ)器地址完
25、成CPU與內(nèi)存間以及CPU與I/O接口間的信息傳送分兩種情況:預(yù)取指令時(shí):利用CPU執(zhí)行指令而總線空閑,從內(nèi)存中取出指令放入指令隊(duì)列(等待CPU取走)EU執(zhí)行指令時(shí):按EU的指令,向內(nèi)存或I/O接口寫(xiě)運(yùn)算結(jié)果,從內(nèi)存或I/O接口取數(shù)據(jù)控制外部總線,保證各種信息的正確傳送指令隊(duì)列緩沖器指令隊(duì)列緩沖器8086 的指令隊(duì)列為6個(gè)字節(jié)8088 的指令隊(duì)列為4個(gè)字節(jié)指令隊(duì)列緩沖器的指令存放狀態(tài)順序指令執(zhí)行:指令隊(duì)列存放緊接在執(zhí)行指令后面的那一條指令執(zhí)行轉(zhuǎn)移指令:立即清除指令隊(duì)列中的內(nèi)容,從新的地址取入指令,并立即送往執(zhí)行單元,然后再?gòu)男聠卧_(kāi)始重新填滿(mǎn)隊(duì)列實(shí)現(xiàn)實(shí)現(xiàn)CPU的流水的流水線處理操作線處理操作指
26、令隊(duì)列是用來(lái)暫存指令的一組寄存器,按指令隊(duì)列是用來(lái)暫存指令的一組寄存器,按“先進(jìn)先出先進(jìn)先出”原則讀寫(xiě)。原則讀寫(xiě)。在在8086/8088 CPU中,只要指令隊(duì)列未填滿(mǎn),中,只要指令隊(duì)列未填滿(mǎn),BIU就從外就從外部存儲(chǔ)器取指令并放入指令隊(duì)列中;另一方面,只要指令部存儲(chǔ)器取指令并放入指令隊(duì)列中;另一方面,只要指令隊(duì)列中不空,隊(duì)列中不空,EU就可將指令隊(duì)列中已有的指令取出執(zhí)行,就可將指令隊(duì)列中已有的指令取出執(zhí)行,這樣這樣BIU和和EU按并行方式重疊操作,大大提高了按并行方式重疊操作,大大提高了CPU的利的利用率,也降低了用率,也降低了CPU對(duì)存儲(chǔ)器、對(duì)存儲(chǔ)器、I/O端口存取速度的要求。端口存取速度的
27、要求。8086CPU中的指令隊(duì)列緩沖器長(zhǎng)度為中的指令隊(duì)列緩沖器長(zhǎng)度為6個(gè)字節(jié),而個(gè)字節(jié),而8088CPU只有只有4個(gè)字節(jié)。個(gè)字節(jié)。21如前所述,在如前所述,在80808080與與80858085以及標(biāo)準(zhǔn)的以及標(biāo)準(zhǔn)的8 8位微處理器中,位微處理器中,程序的執(zhí)行是由取指和執(zhí)行指令的循環(huán)來(lái)完成的。即執(zhí)行的程序的執(zhí)行是由取指和執(zhí)行指令的循環(huán)來(lái)完成的。即執(zhí)行的順序?yàn)槿〉谝粭l指令,執(zhí)行第一條指令;取第二條指令,執(zhí)順序?yàn)槿〉谝粭l指令,執(zhí)行第一條指令;取第二條指令,執(zhí)行第二條指令;行第二條指令;直至取最后一條指令,執(zhí)行最后一條指直至取最后一條指令,執(zhí)行最后一條指令。這樣,在每一條指令執(zhí)行完以后,令。這樣,在每
28、一條指令執(zhí)行完以后,CPUCPU必須等待到下一必須等待到下一條指令取出來(lái)以后才能執(zhí)行。所以,它的工作順序如圖條指令取出來(lái)以后才能執(zhí)行。所以,它的工作順序如圖2-22-2所示。所示。但在但在80868086中,由于中,由于BIUBIU和和EUEU是分開(kāi)的,所以,取指和執(zhí)是分開(kāi)的,所以,取指和執(zhí)行可以重疊并行。它的執(zhí)行順序如圖行可以重疊并行。它的執(zhí)行順序如圖2-32-3所示。所示。于是就大大減少了等待對(duì)取指所需的時(shí)間,提高了于是就大大減少了等待對(duì)取指所需的時(shí)間,提高了CPUCPU的利用率。一方面可以提高整個(gè)程序的執(zhí)行速度,另一方面的利用率。一方面可以提高整個(gè)程序的執(zhí)行速度,另一方面又降低了與之相配
29、的存儲(chǔ)器的存取速度的要求。這種重疊的又降低了與之相配的存儲(chǔ)器的存取速度的要求。這種重疊的操作技術(shù),過(guò)去只在大型機(jī)中才使用稱(chēng)為流水線,在操作技術(shù),過(guò)去只在大型機(jī)中才使用稱(chēng)為流水線,在X86X86系系列系列微處理器中得到了廣泛的使用與提高。列系列微處理器中得到了廣泛的使用與提高。在遇到系統(tǒng)復(fù)位或執(zhí)行轉(zhuǎn)移指令等特殊情況,指令隊(duì)列在遇到系統(tǒng)復(fù)位或執(zhí)行轉(zhuǎn)移指令等特殊情況,指令隊(duì)列被刷新時(shí),被刷新時(shí),EUEU才需要等待才需要等待BIUBIU進(jìn)行取指操作?;蛘咴谶M(jìn)行取指操作?;蛘咴贓UEU需要需要操作數(shù)而操作數(shù)而B(niǎo)IUBIU正忙時(shí),正忙時(shí),EU EU需要等待需要等待BIUBIU執(zhí)行完當(dāng)前的操作,執(zhí)行完當(dāng)前的
30、操作,再去取操作數(shù),等到再去取操作數(shù),等到EUEU得到操作數(shù)以后,才能進(jìn)行這條指令得到操作數(shù)以后,才能進(jìn)行這條指令的執(zhí)行操作。的執(zhí)行操作。232.3 80862.3 8086微處理器的執(zhí)行環(huán)境微處理器的執(zhí)行環(huán)境本節(jié)描述匯編語(yǔ)言程序員看到的本節(jié)描述匯編語(yǔ)言程序員看到的80868086處理器的執(zhí)行環(huán)境。處理器的執(zhí)行環(huán)境。它描述處理器如何執(zhí)行指令及如何存儲(chǔ)和操作數(shù)據(jù)。執(zhí)行環(huán)它描述處理器如何執(zhí)行指令及如何存儲(chǔ)和操作數(shù)據(jù)。執(zhí)行環(huán)境包括內(nèi)存(地址空間)、通用數(shù)據(jù)寄存器、段寄存器、標(biāo)境包括內(nèi)存(地址空間)、通用數(shù)據(jù)寄存器、段寄存器、標(biāo)志寄存器(志寄存器(EFLAGESEFLAGES)和指令指針寄存器等。)和
31、指令指針寄存器等。242.3.1 2.3.1 基本執(zhí)行環(huán)境概要基本執(zhí)行環(huán)境概要在在80868086處理器上執(zhí)行的程序或任務(wù)都有一組執(zhí)行指令的處理器上執(zhí)行的程序或任務(wù)都有一組執(zhí)行指令的資源用于存儲(chǔ)代碼、數(shù)據(jù)和狀態(tài)信息。這些資源構(gòu)成了資源用于存儲(chǔ)代碼、數(shù)據(jù)和狀態(tài)信息。這些資源構(gòu)成了80868086處理器的執(zhí)行環(huán)境。處理器的執(zhí)行環(huán)境。地址空間。地址空間。80868086處理器上運(yùn)行的任一任務(wù)或程序能尋處理器上運(yùn)行的任一任務(wù)或程序能尋址址1MB1MB(2 22020)字節(jié)的線性地址空間。)字節(jié)的線性地址空間?;境绦驁?zhí)行寄存器。八個(gè)通用寄存器、四個(gè)段寄存基本程序執(zhí)行寄存器。八個(gè)通用寄存器、四個(gè)段寄存器
32、、標(biāo)志寄存器器、標(biāo)志寄存器FLAGSFLAGS和和IPIP(指令指針)寄存器組成了執(zhí)行(指令指針)寄存器組成了執(zhí)行通用指令的基本執(zhí)行環(huán)境。這些指令執(zhí)行字節(jié)、字整型數(shù)的通用指令的基本執(zhí)行環(huán)境。這些指令執(zhí)行字節(jié)、字整型數(shù)的基本整數(shù)算術(shù)運(yùn)算,處理程序流程控制,在字節(jié)串上操作并基本整數(shù)算術(shù)運(yùn)算,處理程序流程控制,在字節(jié)串上操作并尋址存儲(chǔ)器。尋址存儲(chǔ)器。25 堆棧(堆棧(stackstack)。為支持過(guò)程或子程序調(diào)用并在過(guò)程或)。為支持過(guò)程或子程序調(diào)用并在過(guò)程或子程序之間傳遞參數(shù),堆棧和堆棧管理資源包含在基本執(zhí)行子程序之間傳遞參數(shù),堆棧和堆棧管理資源包含在基本執(zhí)行環(huán)境中。堆棧定位在內(nèi)存中。環(huán)境中。堆棧定
33、位在內(nèi)存中。I/OI/O端口。端口。80868086結(jié)構(gòu)支持?jǐn)?shù)據(jù)在處理器和輸入輸出結(jié)構(gòu)支持?jǐn)?shù)據(jù)在處理器和輸入輸出(I/OI/O)端口之間的傳送。)端口之間的傳送。80868086處理器的基本執(zhí)行環(huán)境如圖處理器的基本執(zhí)行環(huán)境如圖2-42-4所示。所示。26272.3.2 2.3.2 基本的程序執(zhí)行寄存器基本的程序執(zhí)行寄存器處理器為了應(yīng)用程序編程提供了如圖處理器為了應(yīng)用程序編程提供了如圖2-42-4所示的所示的1414個(gè)基個(gè)基本程序執(zhí)行寄存器。本程序執(zhí)行寄存器。這些寄存器能分組如下:這些寄存器能分組如下:通用寄存器。這八個(gè)寄存器能用于存放操作數(shù)和指通用寄存器。這八個(gè)寄存器能用于存放操作數(shù)和指針。針
34、。段寄存器。這些寄存器最多能保存四個(gè)段選擇子。段寄存器。這些寄存器最多能保存四個(gè)段選擇子。FLAGSFLAGS(程序狀態(tài)和控制)寄存器。(程序狀態(tài)和控制)寄存器。FLAGSFLAGS寄存器報(bào)寄存器報(bào)告正在執(zhí)行的程序的狀態(tài),并允許有限地(應(yīng)用程序級(jí))控告正在執(zhí)行的程序的狀態(tài),并允許有限地(應(yīng)用程序級(jí))控制處理器。制處理器。IPIP(指令指針)寄存器。(指令指針)寄存器。IPIP寄存器包合下一條要執(zhí)寄存器包合下一條要執(zhí)行的指令的行的指令的1616位指針。位指針。281 1通用寄存器通用寄存器八個(gè)八個(gè)3232位通用寄存器位通用寄存器AXAX、BXBX、CXCX、DXDX、SISI、DIDI、BPBP
35、和和SPSP用于處理以下項(xiàng):用于處理以下項(xiàng):邏輯和算術(shù)操作的操作數(shù);邏輯和算術(shù)操作的操作數(shù);用于地址計(jì)算的操作數(shù);用于地址計(jì)算的操作數(shù);內(nèi)存指針。內(nèi)存指針。雖然所有這些寄存器都可用于存放操作數(shù)、結(jié)果和指針,雖然所有這些寄存器都可用于存放操作數(shù)、結(jié)果和指針,但在引用但在引用SPSP寄存器時(shí)要特別小心。寄存器時(shí)要特別小心。SPSP寄存器保持堆棧指針,寄存器保持堆棧指針,通常不要用于其它目的。通常不要用于其它目的。2930這些通用寄存器中的前四個(gè),即這些通用寄存器中的前四個(gè),即AXAX、BXBX、CXCX、DXDX通常稱(chēng)通常稱(chēng)為數(shù)據(jù)寄存器,用以存放操作數(shù)。后四個(gè),即為數(shù)據(jù)寄存器,用以存放操作數(shù)。后四
36、個(gè),即SISI、DIDI、BPBP、SPSP通常稱(chēng)為指針寄存器。雖然它們也可以存放操作數(shù),但主通常稱(chēng)為指針寄存器。雖然它們也可以存放操作數(shù),但主要用作地址指針。數(shù)據(jù)寄存器要用作地址指針。數(shù)據(jù)寄存器AXAX、BXBX、CXCX和和DXDX又可以分別作又可以分別作為為AHAH、BHBH、CHCH和和DHDH(高字節(jié))以及(高字節(jié))以及ALAL、BLBL、CLCL和和DLDL(低字節(jié))(低字節(jié))8 8位寄存器引用,如圖位寄存器引用,如圖2-52-5所示。所示。SPSP是堆棧指針,稱(chēng)為堆棧指針寄存器是堆棧指針,稱(chēng)為堆棧指針寄存器,它與段寄存器,它與段寄存器SSSS一起確定在堆棧操作時(shí),堆棧在內(nèi)存中的位
37、置。一起確定在堆棧操作時(shí),堆棧在內(nèi)存中的位置。BPBP(Base Base Pointer RegisterPointer Register),稱(chēng)作基址指針寄存器,稱(chēng)作基址指針寄存器,尋址堆棧操作尋址堆棧操作數(shù)時(shí),也是尋址堆棧段。數(shù)時(shí),也是尋址堆棧段。SISI(Source Index RegisterSource Index Register)和)和DIDI(Destination Index RegisterDestination Index Register)常用于串操作。)常用于串操作。SP給出棧頂?shù)钠频刂贰=o出棧頂?shù)钠频刂?。BP則是用來(lái)存放位于堆棧段則是用來(lái)存放位于堆棧段中的一個(gè)
38、數(shù)據(jù)區(qū)基址的偏移地址的。中的一個(gè)數(shù)據(jù)區(qū)基址的偏移地址的。31堆棧是一個(gè)按照后進(jìn)先出(堆棧是一個(gè)按照后進(jìn)先出(LIFO)的原則存取數(shù)據(jù)的存儲(chǔ)區(qū)域。堆棧)的原則存取數(shù)據(jù)的存儲(chǔ)區(qū)域。堆棧的作用是為了在調(diào)用子程序(或轉(zhuǎn)向中斷服務(wù)程序)時(shí),把斷點(diǎn)及有的作用是為了在調(diào)用子程序(或轉(zhuǎn)向中斷服務(wù)程序)時(shí),把斷點(diǎn)及有關(guān)的寄存器、標(biāo)志位及時(shí)正確地保存下來(lái),并保證逐次正確返回。利關(guān)的寄存器、標(biāo)志位及時(shí)正確地保存下來(lái),并保證逐次正確返回。利用堆棧指針用堆棧指針SP可以實(shí)現(xiàn)對(duì)棧區(qū)的自動(dòng)管理。可以實(shí)現(xiàn)對(duì)棧區(qū)的自動(dòng)管理。例如:要把例如:要把AX寄存器中的內(nèi)容壓入堆棧,用入棧指令寄存器中的內(nèi)容壓入堆棧,用入棧指令PUSH A
39、X(設(shè)(設(shè)SP原值為原值為1000H),其操作過(guò)程如下所示:),其操作過(guò)程如下所示:第一步:先把第一步:先把SPlSP,然后把,然后把AH(高位字節(jié))送入(高位字節(jié))送入SP所指單元所指單元(即(即SP=1FFFH););第二步:再次使第二步:再次使SP1SP,把,把AL(低位字節(jié))送至(低位字節(jié))送至SP所指單元(此所指單元(此時(shí)時(shí)SP=1FFEH););數(shù)據(jù)出棧操作與入棧過(guò)程正相反:彈出時(shí),先把數(shù)據(jù)出棧操作與入棧過(guò)程正相反:彈出時(shí),先把AL內(nèi)容彈出,然后修內(nèi)容彈出,然后修改改SP1SP;再把;再把AH內(nèi)容彈出,再修改內(nèi)容彈出,再修改SP1SP。322 2段寄存器段寄存器段寄存器(段寄存器(
40、CSCS、DSDS、SSSS、ESES)保存)保存1616位段選擇子。一個(gè)位段選擇子。一個(gè)段選擇子是標(biāo)志內(nèi)存中一個(gè)段的特殊指針。為訪問(wèn)在內(nèi)存中段選擇子是標(biāo)志內(nèi)存中一個(gè)段的特殊指針。為訪問(wèn)在內(nèi)存中的具體段,此段的段選擇子必須存在于適當(dāng)?shù)亩渭拇嫫髦?。的具體段,此段的段選擇子必須存在于適當(dāng)?shù)亩渭拇嫫髦小.?dāng)寫(xiě)應(yīng)用程序代碼時(shí),程序用匯編程序的命令和符號(hào)建當(dāng)寫(xiě)應(yīng)用程序代碼時(shí),程序用匯編程序的命令和符號(hào)建立段選擇子。然后匯編程序和別的工具建立與這些命令和符立段選擇子。然后匯編程序和別的工具建立與這些命令和符號(hào)相關(guān)的實(shí)際段選擇子值。若寫(xiě)系統(tǒng)代碼,程序員可能需要號(hào)相關(guān)的實(shí)際段選擇子值。若寫(xiě)系統(tǒng)代碼,程序員可能需
41、要直接建立段選擇子。直接建立段選擇子。當(dāng)使用分段存儲(chǔ)模式時(shí),初始,每一個(gè)段寄存器用不同當(dāng)使用分段存儲(chǔ)模式時(shí),初始,每一個(gè)段寄存器用不同的段選擇子加載,所以每個(gè)段寄存器指向線性地址空間中的的段選擇子加載,所以每個(gè)段寄存器指向線性地址空間中的不同的段。如圖不同的段。如圖2-62-6所示。所示。任何時(shí)候,一個(gè)程序能訪問(wèn)多至線性地址空間中的四個(gè)任何時(shí)候,一個(gè)程序能訪問(wèn)多至線性地址空間中的四個(gè)段。為訪問(wèn)未由一個(gè)段寄存器指向的段,程序必須首先把要段。為訪問(wèn)未由一個(gè)段寄存器指向的段,程序必須首先把要訪問(wèn)的段的段選擇子加載至一個(gè)段寄存器。訪問(wèn)的段的段選擇子加載至一個(gè)段寄存器。3334每個(gè)段寄存器與三種存儲(chǔ)類(lèi)型
42、之一相關(guān):代碼、數(shù)據(jù)或每個(gè)段寄存器與三種存儲(chǔ)類(lèi)型之一相關(guān):代碼、數(shù)據(jù)或堆棧。例如,堆棧。例如,CSCS寄存器包含代碼段的段選擇子,其中存放正寄存器包含代碼段的段選擇子,其中存放正在執(zhí)行的指令。處理器用在在執(zhí)行的指令。處理器用在CSCS寄存器中的段選擇子和寄存器中的段選擇子和IPIP寄存寄存器中的內(nèi)容組成的邏輯地址取下一條要執(zhí)行的指令。器中的內(nèi)容組成的邏輯地址取下一條要執(zhí)行的指令。CSCS寄存寄存器不能由應(yīng)用程序直接加載,而是由改變程序控制的指令或器不能由應(yīng)用程序直接加載,而是由改變程序控制的指令或內(nèi)部處理器指令(例如,過(guò)程調(diào)用、中斷處理)隱含加載。內(nèi)部處理器指令(例如,過(guò)程調(diào)用、中斷處理)隱含
43、加載。DSDS、ESES寄存器指向兩個(gè)數(shù)據(jù)段。兩個(gè)數(shù)據(jù)段的可用性,寄存器指向兩個(gè)數(shù)據(jù)段。兩個(gè)數(shù)據(jù)段的可用性,允許有效而又安全地訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的不同類(lèi)型。例如,可只允許有效而又安全地訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的不同類(lèi)型。例如,可只建立兩個(gè)不同的數(shù)據(jù)段:一個(gè)用于當(dāng)前模塊的數(shù)據(jù)結(jié)構(gòu),另建立兩個(gè)不同的數(shù)據(jù)段:一個(gè)用于當(dāng)前模塊的數(shù)據(jù)結(jié)構(gòu),另一個(gè)用于從較高級(jí)模塊輸出的數(shù)據(jù)。為了訪問(wèn)附加的數(shù)據(jù)段,一個(gè)用于從較高級(jí)模塊輸出的數(shù)據(jù)。為了訪問(wèn)附加的數(shù)據(jù)段,應(yīng)用程序必須按需要把這些段的段選擇子加載至應(yīng)用程序必須按需要把這些段的段選擇子加載至DSDS、ESES寄存寄存器中。器中。SSSS寄存器包含堆棧段的段選擇子。所有的堆棧操作都用
44、寄存器包含堆棧段的段選擇子。所有的堆棧操作都用SSSS以找到堆棧段。不像以找到堆棧段。不像CSCS寄存器,寄存器,SSSS寄存器能顯式加載。它寄存器能顯式加載。它允許應(yīng)用程序設(shè)置多個(gè)堆棧并在堆棧之間切換。允許應(yīng)用程序設(shè)置多個(gè)堆棧并在堆棧之間切換。353 3FLAGSFLAGS寄存器寄存器1616位位FLAGSFLAGS寄存器包含一組狀態(tài)標(biāo)志、一個(gè)控制標(biāo)志一寄存器包含一組狀態(tài)標(biāo)志、一個(gè)控制標(biāo)志一個(gè)系統(tǒng)標(biāo)志。反映處理器的狀態(tài)和運(yùn)算結(jié)果的某些特征。個(gè)系統(tǒng)標(biāo)志。反映處理器的狀態(tài)和運(yùn)算結(jié)果的某些特征。圖圖2-72-7定義了此寄存器中的標(biāo)志。定義了此寄存器中的標(biāo)志。在處理器初始化(由在處理器初始化(由RE
45、SETRESET腳或腳或INITINIT腳有效)之后,腳有效)之后,F(xiàn)LAGSFLAGS寄存器是寄存器是0002H0002H。此寄存器的位。此寄存器的位1 1、3 3、5 5、12-1512-15保留。保留。軟件不能用或依賴(lài)于這些位中的任一個(gè)。軟件不能用或依賴(lài)于這些位中的任一個(gè)。FLAGSFLAGS寄存器中以寄存器中以下指令能用于標(biāo)志組與堆?;蛳轮噶钅苡糜跇?biāo)志組與堆?;駻XAX寄存器之間的移動(dòng):寄存器之間的移動(dòng):LAHFLAHF、SAHFSAHF、PUSHFPUSHF、POPFPOPF。在。在FLAGSFLAGS寄存器的內(nèi)容已經(jīng)傳送至過(guò)程寄存器的內(nèi)容已經(jīng)傳送至過(guò)程堆?;蚨褩;駻XAX寄存器之后
46、,標(biāo)志能作修改。寄存器之后,標(biāo)志能作修改。當(dāng)調(diào)用中斷或異常處理時(shí),處理器自動(dòng)保存當(dāng)調(diào)用中斷或異常處理時(shí),處理器自動(dòng)保存FLAGSFLAGS寄存寄存器的狀態(tài)至堆棧上。器的狀態(tài)至堆棧上。36(1 1)狀態(tài)標(biāo)志)狀態(tài)標(biāo)志FLAGSFLAGS寄存器的狀態(tài)標(biāo)志(位寄存器的狀態(tài)標(biāo)志(位0 0、2 2、4 4、6 6、7 7和和1111)指示)指示算術(shù)指令,例如算術(shù)指令,例如ADDADD、SUBSUB、MULMUL和和DIVDIV指令的結(jié)果的一些特征。指令的結(jié)果的一些特征。狀態(tài)標(biāo)志的功能如下:狀態(tài)標(biāo)志的功能如下:進(jìn)位標(biāo)志進(jìn)位標(biāo)志CFCF(Carry FlagCarry Flag)當(dāng)結(jié)果的最高位(字節(jié)操作時(shí)的
47、當(dāng)結(jié)果的最高位(字節(jié)操作時(shí)的D7D7或字操作時(shí)的或字操作時(shí)的Dl5Dl5、雙字操作的雙字操作的D31D31)產(chǎn)生一個(gè)進(jìn)位或借位,則)產(chǎn)生一個(gè)進(jìn)位或借位,則C C1 1,否則為,否則為0 0。這個(gè)標(biāo)志主要用于多字節(jié)數(shù)的加、減法運(yùn)算。移位和循環(huán)指這個(gè)標(biāo)志主要用于多字節(jié)數(shù)的加、減法運(yùn)算。移位和循環(huán)指令也能夠把存儲(chǔ)器或寄存器中的最高位(左移時(shí))或最低位令也能夠把存儲(chǔ)器或寄存器中的最高位(左移時(shí))或最低位(右移時(shí))放入標(biāo)志(右移時(shí))放入標(biāo)志CFCF中。中。輔助進(jìn)位標(biāo)志輔助進(jìn)位標(biāo)志AFAF(Auxitiary Carry FlagAuxitiary Carry Flag)在字節(jié)操作時(shí),則由低半字節(jié)(一個(gè)字
48、節(jié)的低在字節(jié)操作時(shí),則由低半字節(jié)(一個(gè)字節(jié)的低4 4位)向位)向高半字節(jié)有進(jìn)位或借位,則高半字節(jié)有進(jìn)位或借位,則AFAF1 1,否則為,否則為0 0。這個(gè)標(biāo)志用于。這個(gè)標(biāo)志用于十進(jìn)制算術(shù)運(yùn)算指令中。十進(jìn)制算術(shù)運(yùn)算指令中。37 溢出標(biāo)志溢出標(biāo)志OFOF(Overflow FlagOverflow Flag)在算術(shù)運(yùn)算中,帶符號(hào)數(shù)的運(yùn)算結(jié)果超出了在算術(shù)運(yùn)算中,帶符號(hào)數(shù)的運(yùn)算結(jié)果超出了8 8位、位、1616位位帶符號(hào)數(shù)能表達(dá)的范圍,即在字節(jié)運(yùn)算時(shí)帶符號(hào)數(shù)能表達(dá)的范圍,即在字節(jié)運(yùn)算時(shí)+127+127或或128128,在字運(yùn)算時(shí)在字運(yùn)算時(shí)+32767+32767或或3276832768此標(biāo)志置位,否則復(fù)
49、位。此標(biāo)志置位,否則復(fù)位。一個(gè)任選的溢出中斷指令,在溢出情況下能產(chǎn)生中斷。一個(gè)任選的溢出中斷指令,在溢出情況下能產(chǎn)生中斷。符號(hào)標(biāo)志符號(hào)標(biāo)志SFSF(Sign FlagSign Flag)它的值與運(yùn)算結(jié)果的最高位相同。即結(jié)果的最高位(字它的值與運(yùn)算結(jié)果的最高位相同。即結(jié)果的最高位(字操作時(shí)為操作時(shí)為D15D15)為)為1 1,則,則SFSF1 1;否則,;否則,SFSF0 0。由于在由于在X86X86系列結(jié)構(gòu)微處理器中,符號(hào)數(shù)是用補(bǔ)碼表示系列結(jié)構(gòu)微處理器中,符號(hào)數(shù)是用補(bǔ)碼表示的,所以的,所以S S表示了結(jié)果的符號(hào),表示了結(jié)果的符號(hào),SF=0SF=0為正,為正,SF=1SF=1為負(fù)。為負(fù)。奇偶標(biāo)志
50、奇偶標(biāo)志PFPF(Parity FlagParity Flag)若操作結(jié)果中若操作結(jié)果中“1”1”的個(gè)數(shù)為偶數(shù),則的個(gè)數(shù)為偶數(shù),則PFPF1 1,否則,否則PFPF0 0。這個(gè)標(biāo)志可用于檢查在數(shù)據(jù)傳送過(guò)程中是否發(fā)生錯(cuò)誤。這個(gè)標(biāo)志可用于檢查在數(shù)據(jù)傳送過(guò)程中是否發(fā)生錯(cuò)誤。38 零標(biāo)志零標(biāo)志ZFZF(Zero FiagZero Fiag)若運(yùn)算的結(jié)果為若運(yùn)算的結(jié)果為0 0,則,則ZFZF1 1,否則,否則ZFZF0 0在這些狀態(tài)標(biāo)志中,只有進(jìn)位標(biāo)志在這些狀態(tài)標(biāo)志中,只有進(jìn)位標(biāo)志CFCF能用指令能用指令STCSTC(設(shè)(設(shè)置進(jìn)位位)、置進(jìn)位位)、CLCCLC(清除進(jìn)位位)和(清除進(jìn)位位)和CMCCMC
51、(進(jìn)位位取反)直接(進(jìn)位位取反)直接進(jìn)行修改。也可以用位操作指令(進(jìn)行修改。也可以用位操作指令(BTBT、BTSBTS、BTRBTR和和BTCBTC)拷)拷貝規(guī)定位至貝規(guī)定位至CFCF標(biāo)志。標(biāo)志。這些狀態(tài)標(biāo)志允許單算術(shù)操作以產(chǎn)生三種不同數(shù)據(jù)類(lèi)型這些狀態(tài)標(biāo)志允許單算術(shù)操作以產(chǎn)生三種不同數(shù)據(jù)類(lèi)型的結(jié)果:無(wú)符號(hào)整數(shù)、符號(hào)整數(shù)和的結(jié)果:無(wú)符號(hào)整數(shù)、符號(hào)整數(shù)和BCDBCD整數(shù)。若算術(shù)操作的整數(shù)。若算術(shù)操作的結(jié)果作為無(wú)符號(hào)整數(shù)對(duì)待,結(jié)果作為無(wú)符號(hào)整數(shù)對(duì)待,CFCF標(biāo)志指示超出范圍(進(jìn)位或借標(biāo)志指示超出范圍(進(jìn)位或借位);若作為符號(hào)整數(shù)(位);若作為符號(hào)整數(shù)(2 2的補(bǔ)碼值)對(duì)待,的補(bǔ)碼值)對(duì)待,OFOF標(biāo)
52、志指示是標(biāo)志指示是否超出范圍;若作為否超出范圍;若作為BCDBCD數(shù)對(duì)待,數(shù)對(duì)待,AFAF標(biāo)志指示進(jìn)位或借位。標(biāo)志指示進(jìn)位或借位。SFSF標(biāo)志指示符號(hào)整數(shù)的符號(hào)。標(biāo)志指示符號(hào)整數(shù)的符號(hào)。ZFZF標(biāo)志指示符號(hào)整數(shù)或無(wú)標(biāo)志指示符號(hào)整數(shù)或無(wú)符號(hào)整數(shù)是否為符號(hào)整數(shù)是否為0 0;CFCF用于與帶進(jìn)位加用于與帶進(jìn)位加/減指令一起產(chǎn)生適當(dāng)減指令一起產(chǎn)生適當(dāng)?shù)倪M(jìn)位或借位。的進(jìn)位或借位。39(2 2)控制標(biāo)志)控制標(biāo)志EFLAGSEFLAGS寄存器的控制標(biāo)志(位寄存器的控制標(biāo)志(位8 8、9 9、1010)指示程序和機(jī))指示程序和機(jī)器運(yùn)行的狀況??刂茦?biāo)志的功能如下:器運(yùn)行的狀況??刂茦?biāo)志的功能如下:方向標(biāo)志方向
53、標(biāo)志D D(Direction FlagDirection Flag)若用指令置若用指令置DFDF1 1,則引起串操作指令為自動(dòng)減量指令,則引起串操作指令為自動(dòng)減量指令,也就是從高地址到低地址或是也就是從高地址到低地址或是“從右到左從右到左”來(lái)處理串;若使來(lái)處理串;若使DFDF0 0,則串操作指令就為自動(dòng)增量指令。,則串操作指令就為自動(dòng)增量指令。STDSTD和和CLDCLD指令分別地設(shè)置和清除指令分別地設(shè)置和清除 DF DF 標(biāo)志。標(biāo)志。中斷允許標(biāo)志中斷允許標(biāo)志IFIF(Interrupt-enable FlagInterrupt-enable Flag)若指令中置若指令中置IFIF1 1,則
54、允許,則允許CPUCPU去接收外部的可屏蔽的中去接收外部的可屏蔽的中斷請(qǐng)求;若使斷請(qǐng)求;若使IFIF0 0,則屏蔽上述的中斷請(qǐng)求;對(duì)內(nèi)部產(chǎn)生,則屏蔽上述的中斷請(qǐng)求;對(duì)內(nèi)部產(chǎn)生的中斷不起作用。的中斷不起作用。40 追蹤標(biāo)志追蹤標(biāo)志TFTF(Trace FlagTrace Flag)置置IFIF標(biāo)志,使處理進(jìn)入單步方式,以便于調(diào)試。在這個(gè)標(biāo)志,使處理進(jìn)入單步方式,以便于調(diào)試。在這個(gè)方式下,方式下,CPUCPU在每條指令執(zhí)行以后,產(chǎn)生一個(gè)內(nèi)部的中斷,在每條指令執(zhí)行以后,產(chǎn)生一個(gè)內(nèi)部的中斷,允許程序在每條指令執(zhí)行完以后進(jìn)行檢查。允許程序在每條指令執(zhí)行完以后進(jìn)行檢查。414 4指令指針指令指針指令指針(
55、指令指針(IPIP)寄存器包含下一條要執(zhí)行的指令在當(dāng)前)寄存器包含下一條要執(zhí)行的指令在當(dāng)前碼段中的偏移。指向微處理器在程序中順序?qū)ぶ反a段中的碼段中的偏移。指向微處理器在程序中順序?qū)ぶ反a段中的下一條指令。下一條指令。通常,它是順序增加的,從一條指令邊界至下通常,它是順序增加的,從一條指令邊界至下一條指令,但在執(zhí)行一條指令,但在執(zhí)行JMPJMP、JccJcc、CALLCALL、RETRET和和IRETIRET等指令時(shí),等指令時(shí),它可以向前或向后移動(dòng)若干條指令。它可以向前或向后移動(dòng)若干條指令。IPIP寄存器不能直接由軟件訪問(wèn);它由控制傳送指令(例寄存器不能直接由軟件訪問(wèn);它由控制傳送指令(例如,
56、如,JMPJMP、JccJcc、CALLCALL和和RETRET)、中斷和異常隱含控制。讀)、中斷和異常隱含控制。讀IPIP寄存器的唯一方法是執(zhí)行一條寄存器的唯一方法是執(zhí)行一條CALLCALL指令,然后從堆棧中讀指指令,然后從堆棧中讀指令指針的返回值。令指針的返回值。IPIP寄存器能由修改過(guò)程堆棧上指令指針的寄存器能由修改過(guò)程堆棧上指令指針的返回值并執(zhí)行返回指令(返回值并執(zhí)行返回指令(RETRET或或IRETIRET)來(lái)間接修改。)來(lái)間接修改。422.3.3 2.3.3 存儲(chǔ)器組織存儲(chǔ)器組織處理器在它的總線上尋址的存儲(chǔ)器稱(chēng)為物理存儲(chǔ)器。物處理器在它的總線上尋址的存儲(chǔ)器稱(chēng)為物理存儲(chǔ)器。物理存儲(chǔ)器
57、按字節(jié)序列組織。每個(gè)字節(jié)賦予一個(gè)唯一的地址,理存儲(chǔ)器按字節(jié)序列組織。每個(gè)字節(jié)賦予一個(gè)唯一的地址,稱(chēng)為物理地址。物理地址空間的范圍從稱(chēng)為物理地址。物理地址空間的范圍從0 02 2202011(1MB1MB)的)的最大值。事實(shí)上設(shè)計(jì)與最大值。事實(shí)上設(shè)計(jì)與80868086處理器一起工作的任何操作系統(tǒng)處理器一起工作的任何操作系統(tǒng)和執(zhí)行程序都使用處理器的存儲(chǔ)管理設(shè)施訪問(wèn)存儲(chǔ)器。這些和執(zhí)行程序都使用處理器的存儲(chǔ)管理設(shè)施訪問(wèn)存儲(chǔ)器。這些設(shè)施提供例如分段特性以允許有效地和可靠地管理存儲(chǔ)器。設(shè)施提供例如分段特性以允許有效地和可靠地管理存儲(chǔ)器。4380868086有有2020條地址引線,它的直接尋址能力為條地址引
58、線,它的直接尋址能力為2202201M1M字字節(jié)。所以,在一個(gè)節(jié)。所以,在一個(gè)80868086組成的系統(tǒng)中,可以有多達(dá)組成的系統(tǒng)中,可以有多達(dá)1M1M字節(jié)的字節(jié)的存儲(chǔ)器。這存儲(chǔ)器。這1M1M字節(jié)邏輯上可以組織成一個(gè)線性矩陣。地址從字節(jié)邏輯上可以組織成一個(gè)線性矩陣。地址從00000H00000H到到FFFFFHFFFFFH。給定一個(gè)。給定一個(gè)2020位的地址,就可以從這位的地址,就可以從這1M1M字節(jié)字節(jié)中取出所需要的指令或操作數(shù);但是,在中取出所需要的指令或操作數(shù);但是,在80868086內(nèi)部,這內(nèi)部,這2020位位地址是如何形成的呢地址是如何形成的呢?如前所述,如前所述,80868086內(nèi)部
59、的內(nèi)部的ALUALU能進(jìn)行能進(jìn)行1616位位運(yùn)算,有關(guān)地址的寄存器如運(yùn)算,有關(guān)地址的寄存器如SPSP、IPIP,以及,以及BPBP、SISI、DIDI等也都等也都是是1616位的,因而位的,因而80868086對(duì)地址的運(yùn)算也只能是對(duì)地址的運(yùn)算也只能是1616位。這就是說(shuō),位。這就是說(shuō),對(duì)于對(duì)于80868086來(lái)說(shuō),各種尋址方式,尋找操作數(shù)的范圍最多只能來(lái)說(shuō),各種尋址方式,尋找操作數(shù)的范圍最多只能是是64K64K字節(jié)。字節(jié)。44所以,整個(gè)所以,整個(gè)1M1M字節(jié)存儲(chǔ)器以字節(jié)存儲(chǔ)器以64K64K為范圍分為若干段。在為范圍分為若干段。在尋址一個(gè)具體物理單元時(shí),必須要由一個(gè)基地址再加上由尋址一個(gè)具體物理
60、單元時(shí),必須要由一個(gè)基地址再加上由SPSP或或IPIP或或BPBP或或SISI或或DIDI等可由等可由CPUCPU處理的處理的1616位偏移量來(lái)形成實(shí)際位偏移量來(lái)形成實(shí)際的的2020位物理地址。這個(gè)基地址就是由位物理地址。這個(gè)基地址就是由80888088中的段寄存器,即中的段寄存器,即代碼段寄存器代碼段寄存器CSCS、堆棧段寄存器、堆棧段寄存器SSSS、數(shù)據(jù)段寄存器、數(shù)據(jù)段寄存器DSDS以及附以及附加段寄存器加段寄存器ESES中的一個(gè)來(lái)形成的。在形成中的一個(gè)來(lái)形成的。在形成2020位物理地址時(shí),位物理地址時(shí),段寄存器中的段寄存器中的1616位數(shù)會(huì)自動(dòng)左移位數(shù)會(huì)自動(dòng)左移4 4位,然后與位,然后與
61、1616位偏移量相位偏移量相加,如圖加,如圖2-82-8所示。所示。4546存儲(chǔ)器地址的兩種表示方式存儲(chǔ)器地址的兩種表示方式物理地址和邏輯地址是兩種存儲(chǔ)單元地址的表示和標(biāo)記方法物理地址:存儲(chǔ)單元所具有的實(shí)際地址由20位二進(jìn)制代碼構(gòu)成邏輯地址:在程序中(指令中)書(shū)寫(xiě)和使用的地址由兩部分構(gòu)成段基地址:偏移地址例:例:假設(shè)假設(shè)(DS)=3200H若指令中給出的偏移地址:若指令中給出的偏移地址:1050H物理地址物理地址=3200H10H+1050H=33050H邏輯地址到物理地址的變換例邏輯地址到物理地址的變換例邏輯地址也稱(chēng)相對(duì)地址或虛擬地址,它是目標(biāo)程序中的地址。邏輯地址也稱(chēng)相對(duì)地址或虛擬地址,它
62、是目標(biāo)程序中的地址。物理地址也稱(chēng)絕對(duì)地址或?qū)嵉刂罚俏锢泶尜A器的單元地址。物理地址也稱(chēng)絕對(duì)地址或?qū)嵉刂罚俏锢泶尜A器的單元地址。物理地址段基地址物理地址段基地址16偏移地址。偏移地址。BIU中的中的地址加法器地址加法器,實(shí)現(xiàn)邏輯地址到物理地址的變換,實(shí)現(xiàn)邏輯地址到物理地址的變換48每次在需要產(chǎn)生一個(gè)每次在需要產(chǎn)生一個(gè)2020位地址的時(shí)候,一個(gè)段寄存器會(huì)位地址的時(shí)候,一個(gè)段寄存器會(huì)自動(dòng)被選擇,且能自動(dòng)左移自動(dòng)被選擇,且能自動(dòng)左移4 4位再與一個(gè)位再與一個(gè)1616位的地址偏移量位的地址偏移量相加,以產(chǎn)生所需要的相加,以產(chǎn)生所需要的2020位物理地址。位物理地址。每當(dāng)是取指令的時(shí)候,則自動(dòng)選擇代
63、碼段寄存器每當(dāng)是取指令的時(shí)候,則自動(dòng)選擇代碼段寄存器CSCS,再,再加上由加上由IPIP所決定的所決定的1616位偏移量,計(jì)算得到要取的指令的物理位偏移量,計(jì)算得到要取的指令的物理地址。地址。每當(dāng)是涉及到一個(gè)堆棧操作時(shí),則自動(dòng)選擇堆棧段寄存每當(dāng)是涉及到一個(gè)堆棧操作時(shí),則自動(dòng)選擇堆棧段寄存器器SSSS,再加上由,再加上由SPSP所決定的所決定的1616位偏移量,計(jì)算得到堆棧操作位偏移量,計(jì)算得到堆棧操作所需要的所需要的2020位物理地址。位物理地址。每當(dāng)涉及到一個(gè)操作數(shù),則自動(dòng)選擇數(shù)據(jù)段寄存器每當(dāng)涉及到一個(gè)操作數(shù),則自動(dòng)選擇數(shù)據(jù)段寄存器DSDS或或附加段寄存器附加段寄存器ESES,再加上,再加上
64、1616位偏移量,計(jì)算得到操作數(shù)的位偏移量,計(jì)算得到操作數(shù)的2020位物理地址。而位物理地址。而1616位偏移量,可以是包含在指令中的直接地位偏移量,可以是包含在指令中的直接地址,也可以是某一個(gè)址,也可以是某一個(gè)1616位地址寄存器的值,也可以是指令中位地址寄存器的值,也可以是指令中的位移量加上的位移量加上1616位地址寄存器中的值等等,這取決于指令的位地址寄存器中的值等等,這取決于指令的尋址方式。尋址方式。49在在80868086系統(tǒng)中,存儲(chǔ)器的訪問(wèn),如圖系統(tǒng)中,存儲(chǔ)器的訪問(wèn),如圖2-92-9所示。所示。段首地址、段基地址和偏移地址段首地址、段基地址和偏移地址70002H12H70000H0
65、 0 0 0段基地址(段基地址(16位)位)段首地址段首地址(20位位)偏移地址偏移地址=0002H每個(gè)段都從低每個(gè)段都從低4位為位為0的存儲(chǔ)單元開(kāi)始的存儲(chǔ)單元開(kāi)始段首地址的高段首地址的高16位稱(chēng)為段基地址位稱(chēng)為段基地址偏移地址為相對(duì)于段首地址的偏移量偏移地址為相對(duì)于段首地址的偏移量00H一定為一定為051存儲(chǔ)器的邏輯分段原則存儲(chǔ)器的邏輯分段原則 編程時(shí),存儲(chǔ)器單元地址由段地址和偏移量表示,二者編程時(shí),存儲(chǔ)器單元地址由段地址和偏移量表示,二者結(jié)合稱(chēng)為邏輯地址。結(jié)合稱(chēng)為邏輯地址。段寄存器段寄存器1616位,存放段起始地址的高位,存放段起始地址的高1616位,稱(chēng)為段基址,低位,稱(chēng)為段基址,低4 4
66、位指定為位指定為0000B0000B。在存儲(chǔ)器管理中,從在存儲(chǔ)器管理中,從0 0地址單元開(kāi)始,每地址單元開(kāi)始,每1616個(gè)字節(jié)為一小個(gè)字節(jié)為一小段,稱(chēng)為節(jié)(段,稱(chēng)為節(jié)(ParagraphParagraph)。節(jié)起始地址的低)。節(jié)起始地址的低4 4位也是位也是0000B0000B,顯然段起始地址必須是節(jié)起始地址。顯然段起始地址必須是節(jié)起始地址。將段基址左移將段基址左移4 4位與偏移地址相加,即為某一存儲(chǔ)器單位與偏移地址相加,即為某一存儲(chǔ)器單元的物理地址,也稱(chēng)為絕對(duì)地址。元的物理地址,也稱(chēng)為絕對(duì)地址。物理地址段基址物理地址段基址1616偏移地址偏移地址 52在不改變段寄存器值的情況下,尋址的最大范圍是在不改變段寄存器值的情況下,尋址的最大范圍是64KB64KB。所以,若有一個(gè)任務(wù),它的程序長(zhǎng)度、堆棧長(zhǎng)度以及數(shù)據(jù)區(qū)所以,若有一個(gè)任務(wù),它的程序長(zhǎng)度、堆棧長(zhǎng)度以及數(shù)據(jù)區(qū)長(zhǎng)度都不超過(guò)長(zhǎng)度都不超過(guò)64KB64KB,則可在程序開(kāi)始時(shí),分別給,則可在程序開(kāi)始時(shí),分別給DSDS、SSSS、ESES置值,然后在程序中就可以不再考慮這些段寄存器,程序就置值,然后在程序中就可以不再考慮這些段寄存器,程序就可以在
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 深入學(xué)習(xí)貫徹中央八項(xiàng)規(guī)定精神交流發(fā)言材料范文(三篇)
- 學(xué)習(xí)中央八項(xiàng)規(guī)定精神心得體會(huì)范文(三篇)
- 2024年度組織生活會(huì)個(gè)人“4個(gè)方面”對(duì)照檢查材料文稿
- 2024年組織生活會(huì)個(gè)人對(duì)照檢查發(fā)言材料(普通黨員)例文
- 2025年旅游業(yè)高質(zhì)量發(fā)展行動(dòng)方案文稿
- 2025年機(jī)關(guān)組織生活會(huì)班子對(duì)照檢查材料范文
- 普通黨員2024年組織生活會(huì)個(gè)人發(fā)言提綱(圍繞“四個(gè)帶頭”方面)文稿
- 鄉(xiāng)班子領(lǐng)導(dǎo)干部2024年度民主生活會(huì)“四個(gè)帶頭”對(duì)照檢查發(fā)言材料文稿
- 2024年度黨員領(lǐng)導(dǎo)干部民主生活會(huì)整改落實(shí)方案例文
- 關(guān)于2024年度民主生活會(huì)個(gè)人問(wèn)題的整改方案例文
- 2025年醫(yī)療保障工作要點(diǎn)范文
- 青年人才“育苗蹲苗”培養(yǎng)實(shí)施方案范文
- 2025駐村第一書(shū)記組織生活會(huì)對(duì)照檢查材料例文
- 國(guó)企公司2025年安全生產(chǎn)工作要點(diǎn)范文
- 2024年度國(guó)企個(gè)人組織生活會(huì)前準(zhǔn)備情況、上年度整改落實(shí)情況范文
相關(guān)資源
更多