第2章 Intel IA-32處理器結(jié)構(gòu)與原理_第1頁
第2章 Intel IA-32處理器結(jié)構(gòu)與原理_第2頁
第2章 Intel IA-32處理器結(jié)構(gòu)與原理_第3頁
第2章 Intel IA-32處理器結(jié)構(gòu)與原理_第4頁
第2章 Intel IA-32處理器結(jié)構(gòu)與原理_第5頁
已閱讀5頁,還剩78頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1第第2章章 Intel IA-32/Intel 64處理器處理器結(jié)構(gòu)與原理結(jié)構(gòu)與原理2衡量衡量CPU的性能指標(biāo)可以是的性能指標(biāo)可以是其計(jì)算公式如下:其計(jì)算公式如下: 也可用也可用。其計(jì)算公。其計(jì)算公式如下:式如下:IPC:每時(shí)鐘執(zhí)行的指令條數(shù)。每時(shí)鐘執(zhí)行的指令條數(shù)。 CPI:每指令平均時(shí)鐘數(shù)每指令平均時(shí)鐘數(shù)2.1 提高處理器的性能提高處理器的性能3如何提高主頻:如何提高主頻:IA-32的流水線級(jí)數(shù)的流水線級(jí)數(shù)型號(hào)型號(hào)PentiumP6架構(gòu)架構(gòu)Pentium 4CoreNehalem流水級(jí)數(shù)流水級(jí)數(shù)512-1320311416主頻主頻MHz6620020003600266745如果各指令之間不

2、存在相關(guān)性,那么它們?cè)诹魉€中如果各指令之間不存在相關(guān)性,那么它們?cè)诹魉€中是可以并行執(zhí)行的,這種指令間潛在的重疊就是是可以并行執(zhí)行的,這種指令間潛在的重疊就是(Thread-Level Parallelism, ILP)。)。(1)結(jié)構(gòu)相關(guān))結(jié)構(gòu)相關(guān)所謂結(jié)構(gòu)相關(guān)(也稱為名相關(guān))是指不同指令同時(shí)所謂結(jié)構(gòu)相關(guān)(也稱為名相關(guān))是指不同指令同時(shí)存取相同的寄存器或存儲(chǔ)器,但這些指令間不存在數(shù)存取相同的寄存器或存儲(chǔ)器,但這些指令間不存在數(shù)據(jù)流。據(jù)流。 6(2)數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān)某條指令的操作數(shù)依賴前一條或前幾條指令的運(yùn)行某條指令的操作數(shù)依賴前一條或前幾條指令的運(yùn)行結(jié)果,這就是所謂的結(jié)果,這就是所謂的。 A

3、=B+C D=3*A / 在數(shù)據(jù)在數(shù)據(jù)A上寫后讀上寫后讀 A=B+C B=D*2 / 在數(shù)據(jù)在數(shù)據(jù)B上讀后寫上讀后寫 A=B+C A=D*2 / 在數(shù)據(jù)在數(shù)據(jù)A上寫后寫上寫后寫7(3)控制相關(guān)控制相關(guān)控制相關(guān)可以看作是對(duì)指令指針寄存器的控制相關(guān)可以看作是對(duì)指令指針寄存器的RAW相關(guān)相關(guān)問題。問題。 取指階段需要讀指令指針寄存器,而分支語句會(huì)在取指階段需要讀指令指針寄存器,而分支語句會(huì)在執(zhí)行階段計(jì)算出新的轉(zhuǎn)移地址寫執(zhí)行階段計(jì)算出新的轉(zhuǎn)移地址寫入指令指針入指令指針寄存器,寄存器,于是當(dāng)分支條件滿足的時(shí)候,就出現(xiàn)下條指令讀指令于是當(dāng)分支條件滿足的時(shí)候,就出現(xiàn)下條指令讀指令指針寄存器(取指階段)早于分

4、支語句寫該寄存器(指針寄存器(取指階段)早于分支語句寫該寄存器(執(zhí)行階段)的情況。執(zhí)行階段)的情況。 8所謂超標(biāo)量是指處理器中含有多條流水線,每個(gè)時(shí)鐘所謂超標(biāo)量是指處理器中含有多條流水線,每個(gè)時(shí)鐘能夠譯碼、發(fā)射、執(zhí)行多條指令。顯然,超標(biāo)量技術(shù)能夠譯碼、發(fā)射、執(zhí)行多條指令。顯然,超標(biāo)量技術(shù)提高了處理器的提高了處理器的IPC,也進(jìn)而減少了理想流水線,也進(jìn)而減少了理想流水線CPI。在超標(biāo)量流水線中,并行執(zhí)行的流水線條數(shù)稱為在超標(biāo)量流水線中,并行執(zhí)行的流水線條數(shù)稱為。從。從Pentium到到Ivy Bridge處理器的超標(biāo)度為處理器的超標(biāo)度為24。 IFIDOFEXWBIFIDOFEXWBWBEXOF

5、IDIFI1I2I3I4I5I6I7I8I9IFIDOFEXWBIFIDOFEXWBIFIDOFEXWBIFIDOFEXWBIFIDOFEXWBIFIDOFEXWB9A=B+CP=A*2Q=D-E流水流水1流水流水2流水流水1流水流水2R=F-7A=B+CP=A*2Q=D-ER=F-7執(zhí)行方向執(zhí)行方向執(zhí)行方向執(zhí)行方向10 1112。MOV AX, 200MOV CX, AXMOV AX, 200MOV AX, 41213使用使用 SIMD指令指令128-bit RegistersA0B0C0+A1B1C1not usednot usednot usednot usednot usednot u

6、sednot usednot usednot used128-bit RegistersA3A2B3B2C3C2+A1A0B1B0C1C0+不使用不使用 SIMD指令指令14* MMX使用的是使用的是64位的位的 x87 浮點(diǎn)寄存器作為浮點(diǎn)寄存器作為MMX寄存器;寄存器;*SSE4使用了新的使用了新的128位的位的XMM寄存器,但是不使用寄存器,但是不使用MMX寄存器寄存器*SSE, SSE2和和SSE3使用了新的使用了新的128位的位的XMM 寄存器;也可用寄存器;也可用MMX寄存器寄存器*AVX使用了新的使用了新的256位的位的YMM 寄存器;也可用寄存器;也可用XMM寄存器,但是不使用寄

7、存器,但是不使用MMX寄存器寄存器15 GPU在浮點(diǎn)運(yùn)算、并行計(jì)算等計(jì)算方面可以提在浮點(diǎn)運(yùn)算、并行計(jì)算等計(jì)算方面可以提供數(shù)十倍乃至于上百倍于供數(shù)十倍乃至于上百倍于CPU的性能的性能 圖形核心具有圖形核心具有12個(gè)新設(shè)計(jì)的個(gè)新設(shè)計(jì)的EU(執(zhí)行單元),(執(zhí)行單元),它們包含更大的寄存器文件,用以提高并行性它們包含更大的寄存器文件,用以提高并行性和復(fù)雜著色的執(zhí)行效率和復(fù)雜著色的執(zhí)行效率 EU改進(jìn)了并行分支技術(shù)來提高面對(duì)深度嵌套條改進(jìn)了并行分支技術(shù)來提高面對(duì)深度嵌套條件下的并行化的效率件下的并行化的效率 圖形核心無論在媒體處理還是圖形核心無論在媒體處理還是3D方面因?yàn)樘峁┓矫嬉驗(yàn)樘峁┝舜罅康墓潭üδ艿?/p>

8、硬件支持,使得在相同的了大量的固定功能的硬件支持,使得在相同的熱能耗下,性能得以顯著的提升。熱能耗下,性能得以顯著的提升。16ASAS處理器核心處理器核心支持支持HT的的IA-32處理器處理器2個(gè)邏輯處理器個(gè)邏輯處理器共享一個(gè)核共享一個(gè)核AS=IA-32結(jié)構(gòu)狀態(tài)結(jié)構(gòu)狀態(tài)AS處理器核心處理器核心傳統(tǒng)多傳統(tǒng)多IA-32處理器系統(tǒng)處理器系統(tǒng)每個(gè)處理器一每個(gè)處理器一個(gè)獨(dú)立封裝個(gè)獨(dú)立封裝AS處理器核心處理器核心1718Pentium EE IA-32處理器處理器ASAS執(zhí)行引擎執(zhí)行引擎執(zhí)行引擎執(zhí)行引擎LocalAPICL2 CacheL2 Cache總線接口總線接口總線接口總線接口系統(tǒng)總線系統(tǒng)總線ASA

9、SLocalAPICLocalAPICLocalAPICPentium D IA-32處理器處理器ASAS執(zhí)行引擎執(zhí)行引擎執(zhí)行引擎執(zhí)行引擎Local APICLocal APICL2 CacheL2 Cache總線接口總線接口總線接口總線接口系統(tǒng)總線系統(tǒng)總線ASAS執(zhí)行引擎執(zhí)行引擎執(zhí)行引擎執(zhí)行引擎Local APICLocal APICL2 Cache總線接口總線接口系統(tǒng)總線系統(tǒng)總線Core 2 Duo處理器處理器19CISC的缺點(diǎn)的缺點(diǎn)RISC的特點(diǎn)的特點(diǎn)RISC2.2 Pentium處理器處理器 80 x86系列微處理器兼容系列微處理器兼容 有有64位數(shù)據(jù)總線、位數(shù)據(jù)總線、 32位地址總線

10、,尋址空間位地址總線,尋址空間4GB。 RISC型超標(biāo)量結(jié)構(gòu)型超標(biāo)量結(jié)構(gòu) 具有超級(jí)流水線技術(shù)的高性能浮點(diǎn)運(yùn)算器。具有超級(jí)流水線技術(shù)的高性能浮點(diǎn)運(yùn)算器。 數(shù)據(jù)數(shù)據(jù)-代碼分離式高速緩存,符合代碼分離式高速緩存,符合MESI協(xié)議。協(xié)議。 增強(qiáng)的錯(cuò)誤檢測(cè)和報(bào)告功能。增強(qiáng)的錯(cuò)誤檢測(cè)和報(bào)告功能。 利用片上利用片上分支目標(biāo)緩沖器分支目標(biāo)緩沖器提高分支指令預(yù)測(cè)準(zhǔn)確性。提高分支指令預(yù)測(cè)準(zhǔn)確性。 常用的指令不采用微程序設(shè)計(jì),而改用硬件實(shí)現(xiàn)。常用的指令不采用微程序設(shè)計(jì),而改用硬件實(shí)現(xiàn)。 支持支持64位位外部數(shù)據(jù)總線突發(fā)傳輸方式外部數(shù)據(jù)總線突發(fā)傳輸方式 通過通過APIC總線支持多處理器系統(tǒng)總線支持多處理器系統(tǒng) Pen

11、tium MMX(與浮點(diǎn)運(yùn)算共用寄存器與浮點(diǎn)運(yùn)算共用寄存器)2.2.1 Pentium處理器的特性處理器的特性分支目標(biāo)分支目標(biāo)緩沖器緩沖器 代碼代碼Cache 8KBTLB指令指令指針指針預(yù)取緩沖存儲(chǔ)器預(yù)取緩沖存儲(chǔ)器指令譯碼部件指令譯碼部件256位位總總 線線 接接 口口 部部 件件分頁部件分頁部件64位數(shù)位數(shù)據(jù)總線據(jù)總線 預(yù)取預(yù)取地址地址32位地位地址總線址總線控制控制控控 制制 部部 件件地址生成地址生成(U流水線)流水線)地址生成地址生成(V流水線)流水線)控制控制ROMALU(U流水線)流水線)ALU(V流水線)流水線)整數(shù)寄存器組整數(shù)寄存器組桶形移位器桶形移位器數(shù)據(jù)數(shù)據(jù) Cache

12、8KBTLB浮點(diǎn)部件浮點(diǎn)部件控制控制寄存器組寄存器組加法器加法器除法器除法器乘法器乘法器80位位80位位分支檢測(cè)和目標(biāo)地址分支檢測(cè)和目標(biāo)地址64位數(shù)位數(shù)據(jù)總線據(jù)總線32位地位地址總線址總線32位位32位位32位位32位位32位位32位位2.2.2 Pentium處理器的內(nèi)部結(jié)構(gòu)與工作原理處理器的內(nèi)部結(jié)構(gòu)與工作原理n整數(shù)處理部件整數(shù)處理部件n浮點(diǎn)處理部件浮點(diǎn)處理部件n分離型分離型cahcen指令預(yù)取指令預(yù)取n指令配對(duì)指令配對(duì) 下面是連續(xù)傳送下面是連續(xù)傳送100個(gè)字節(jié)的循環(huán)程序段個(gè)字節(jié)的循環(huán)程序段 MOV SI,0200H ;源數(shù)據(jù)區(qū)偏移地址給;源數(shù)據(jù)區(qū)偏移地址給SI MOV DI,0500H ;

13、目的數(shù)據(jù)區(qū)偏移地址給;目的數(shù)據(jù)區(qū)偏移地址給DI MOV CX,64H ;待傳送字節(jié)數(shù)為;待傳送字節(jié)數(shù)為100,賦給,賦給CXABC:MOV AL,SI ;從源區(qū)取出一個(gè)字節(jié);從源區(qū)取出一個(gè)字節(jié) MOV DI,AL ;存入目的數(shù)據(jù)區(qū);存入目的數(shù)據(jù)區(qū) INC SI ;源地址指針加;源地址指針加1 INC DI ;目的地址指針加;目的地址指針加1 DEC CX ;CX=CX-1 JNZ ABC ;若;若CX0,轉(zhuǎn),轉(zhuǎn)ABC 配對(duì)的指令必須是簡(jiǎn)單指令配對(duì)的指令必須是簡(jiǎn)單指令 兩條指令之間不可存在兩條指令之間不可存在“寫后讀寫后讀”或或“寫后寫寫后寫”這這樣的寄存器相關(guān)性樣的寄存器相關(guān)性 一條指令不能同

14、時(shí)既包含位移量又包含立即數(shù)一條指令不能同時(shí)既包含位移量又包含立即數(shù) 帶前綴(帶前綴(JCC指令的指令的0F除外)的指令只能出現(xiàn)在除外)的指令只能出現(xiàn)在U流水中流水中 浮點(diǎn)運(yùn)算指令不能和任何指令配對(duì)(浮點(diǎn)運(yùn)算指令不能和任何指令配對(duì)(FCXH除外)除外)MOV AX, 200MOV CX, AXMOV AX, 200MOV AX, 412 Pentium III處理器內(nèi)部結(jié)構(gòu)及工作原理處理器內(nèi)部結(jié)構(gòu)及工作原理 Pentium 4處理器內(nèi)部結(jié)構(gòu)及工作原理處理器內(nèi)部結(jié)構(gòu)及工作原理 302.3 Core微結(jié)構(gòu)的處理器微結(jié)構(gòu)的處理器 4 個(gè)個(gè)14級(jí)流水線級(jí)流水線兼容兼容32位的位的64位設(shè)計(jì)位設(shè)計(jì)3132

15、 寬位動(dòng)態(tài)執(zhí)行寬位動(dòng)態(tài)執(zhí)行() 2.3.3 酷睿酷睿2處理器新技術(shù)處理器新技術(shù)33 寬位動(dòng)態(tài)執(zhí)行寬位動(dòng)態(tài)執(zhí)行for ( i=0; i100000; i+) Instruction Queueadd ecx, 1dec0Cycle 1dec1dec2dec3dec034 寬位動(dòng)態(tài)執(zhí)行寬位動(dòng)態(tài)執(zhí)行for ( i=0; i100000; i+) Instruction Queuedec0dec1dec2dec335 寬位動(dòng)態(tài)執(zhí)行寬位動(dòng)態(tài)執(zhí)行u-ops of a Store “mov mem1 ,edx”微代碼融合有效地微代碼融合有效地“加寬加寬”了流水線了流水線36 智能功效管理(智能功效管理(In

16、telligent Power Capability) CPUL1CacheL2CacheL3CacheMemory37Proc60%/年年.(2X/1.5年年)DRAM9%/年年.(2X/10年年)11010010001980 19811983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000DRAMCPU1982性性 能能 Intel 智能內(nèi)存訪問智能內(nèi)存訪問(Intel Smart Memory Access) 38 Intel 智能內(nèi)存訪問智能內(nèi)存訪問() Memor

17、yData YData ZData WData XLoad2YStore3WStore1 YLoad4X39 Intel 智能內(nèi)存訪問智能內(nèi)存訪問(Intel Smart Memory Access)nL1D是是3 clk的延遲和的延遲和1 clk的通過時(shí)間的通過時(shí)間; L2是是14和和2 clknCache失效延遲失效延遲uL1 失效后去讀失效后去讀 L2 10 cyclesuL2 失效失效, 存取存儲(chǔ)器存取存儲(chǔ)器 300 cycles (server/FBD)uL2 失效失效, 存取存儲(chǔ)器存取存儲(chǔ)器 165 cycles (Desk/DDR2)nCache 帶寬帶寬uCache帶寬帶寬 8

18、.5 bytes/cyclen存儲(chǔ)帶寬存儲(chǔ)帶寬u桌面系統(tǒng)桌面系統(tǒng) 6 GB/sec/socket (linux)u服務(wù)器服務(wù)器 3.5 GB/sec/socket40 Intel高級(jí)智能高級(jí)智能Cache () 帶來了新的雙核結(jié)構(gòu)帶來了新的雙核結(jié)構(gòu)ASAS執(zhí)行引擎執(zhí)行引擎執(zhí)行引擎執(zhí)行引擎Local APICLocal APICL2 Cache總線接口總線接口前端總線前端總線ASAS執(zhí)行引擎執(zhí)行引擎執(zhí)行引擎執(zhí)行引擎Local APICLocal APICL2 CacheL2 Cache總線接口總線接口總線接口總線接口前端總線前端總線Cache LineCache LineNehalem(第一代酷

19、睿第一代酷睿)442.4 SandyBridge微結(jié)構(gòu)的處理器(第二代)微結(jié)構(gòu)的處理器(第二代)46 SandyBridge采用片上系統(tǒng)設(shè)計(jì)采用片上系統(tǒng)設(shè)計(jì),提供了一個(gè)高帶寬雙向環(huán)狀總,提供了一個(gè)高帶寬雙向環(huán)狀總線來連接線來連接IA核與非核中不同的子核與非核中不同的子系統(tǒng)系統(tǒng)u環(huán)形總線由四條獨(dú)立的環(huán)組成環(huán)形總線由四條獨(dú)立的環(huán)組成SandyBridge的的Graphics部分主要包含了部分主要包含了n3D晶體管結(jié)構(gòu)n22nmn22nm工藝新架構(gòu),性能更強(qiáng),超頻潛力更大,而且集成了完整的電壓調(diào)節(jié)器;n新的指令集,Haswell添加了新的AVX指令集,改善AES-NI的性能;n核芯顯卡增強(qiáng),支持DX

20、11.1、OpenCL1.2,優(yōu)化3D性能,支持HDMI、DP、DVI、VGA接口標(biāo)準(zhǔn);n接口改變,使用LGA1150接口,不兼容舊平臺(tái)。nHaswell最大的賣點(diǎn)就是在大幅度提升性能的同時(shí),也實(shí)現(xiàn)了功耗的進(jìn)一步降低。 492.5 IA-32處理器基本執(zhí)行環(huán)境處理器基本執(zhí)行環(huán)境 2.5.1 IA-32處理器的工作模式處理器的工作模式 50 比較項(xiàng)目比較項(xiàng)目實(shí)地址模式實(shí)地址模式虛擬虛擬8086模式模式內(nèi)存管理內(nèi)存管理分段管理分段管理既分段又分頁既分段又分頁存儲(chǔ)空間存儲(chǔ)空間1MB每個(gè)每個(gè)8086程序任務(wù)尋址程序任務(wù)尋址1MB,總尋,總尋址空間址空間4GB多任務(wù)多任務(wù)不支持不支持支持,虛擬支持,虛擬

21、8086模式是模式是IA-32保護(hù)模保護(hù)模式中多任務(wù)的一個(gè)任務(wù)式中多任務(wù)的一個(gè)任務(wù)51521. IA-32的基本數(shù)據(jù)類型的基本數(shù)據(jù)類型類類 型型位數(shù)位數(shù)無符號(hào)數(shù)范圍無符號(hào)數(shù)范圍有符號(hào)數(shù)范圍有符號(hào)數(shù)范圍字節(jié)字節(jié)80255-128+127字字16065535-32768+32767雙字雙字320232-1(4G-1)-231+231-1四字四字640264-1(16T-1)-263+263-12.5.2 IA-32處理器在實(shí)地址模式下的存儲(chǔ)管理處理器在實(shí)地址模式下的存儲(chǔ)管理53類型類型符號(hào)符號(hào)位數(shù)位數(shù)有效有效位數(shù)位數(shù)階碼階碼位數(shù)位數(shù)數(shù)據(jù)范圍數(shù)據(jù)范圍單精度浮點(diǎn)數(shù)單精度浮點(diǎn)數(shù)12481.1810-38

22、 3.40 1038雙精度浮點(diǎn)數(shù)雙精度浮點(diǎn)數(shù)153112.2310-308 1.7910308擴(kuò)展精度浮點(diǎn)數(shù)擴(kuò)展精度浮點(diǎn)數(shù)164163.3710- 4932 1.181049325455562.存儲(chǔ)單元的地址和內(nèi)容存儲(chǔ)單元的地址和內(nèi)容,即一個(gè)字節(jié)數(shù)據(jù)占一個(gè)存儲(chǔ),即一個(gè)字節(jié)數(shù)據(jù)占一個(gè)存儲(chǔ)單元單元57存儲(chǔ)單元的地址和內(nèi)容存儲(chǔ)單元的地址和內(nèi)容12H34H56H78H9AHBCHDEHFFH0000H0001H0002H0003H0004H0005H0006H0007H583. 實(shí)地址模式存儲(chǔ)器尋址實(shí)地址模式存儲(chǔ)器尋址 在此模式下,在此模式下,IA-32可以理解成是一個(gè)可處理可以理解成是一個(gè)可處理32

23、位數(shù)位數(shù)據(jù)的高速的據(jù)的高速的8086。 解決解決16位寄存器表示位寄存器表示20位地址的問題位地址的問題 段是最大長(zhǎng)度為段是最大長(zhǎng)度為64KB的連續(xù)的內(nèi)存儲(chǔ)器塊的連續(xù)的內(nèi)存儲(chǔ)器塊 每個(gè)存儲(chǔ)單元的每個(gè)存儲(chǔ)單元的20位實(shí)際地址,有唯一位實(shí)際地址,有唯一性,訪問主存時(shí)必須用物理地址性,訪問主存時(shí)必須用物理地址 每個(gè)存儲(chǔ)單元的地址用兩部分表示:每個(gè)存儲(chǔ)單元的地址用兩部分表示: (段首址的高(段首址的高16位)位) (段內(nèi)某單元相對(duì)段首址的地址差,也稱(段內(nèi)某單元相對(duì)段首址的地址差,也稱為有效地址為有效地址EA)5900006417H 0100H 6417H10H + 0100H = 64170H +

24、0100H = 64270H幾個(gè)不同的邏輯段地址在物理地址上是可重疊的幾個(gè)不同的邏輯段地址在物理地址上是可重疊的 書寫形式:書寫形式:16位段地址位段地址16位段內(nèi)偏移位段內(nèi)偏移:16位段地址位段地址16位段內(nèi)偏移位段內(nèi)偏移(左移四位)(左移四位)+20位物理地址位物理地址=602.5.3 IA-32處理器中的寄存器處理器中的寄存器 調(diào)試與測(cè)試寄存器調(diào)試與測(cè)試寄存器浮點(diǎn)寄存器浮點(diǎn)寄存器61AH ALBH BLCH CLDH DLSPBPDISI累加器累加器基址變址基址變址計(jì)數(shù)計(jì)數(shù)數(shù)據(jù)數(shù)據(jù)堆棧指針堆棧指針基址指針基址指針目的變址目的變址源變址源變址32位位16位位AXBXCXDXSPBPDISI

25、16位名稱位名稱EAXEBXECXEDXESPEBPEDIESI32位名稱位名稱高高16位擴(kuò)展位擴(kuò)展62存放操作數(shù)和結(jié)果,乘除運(yùn)算、存放操作數(shù)和結(jié)果,乘除運(yùn)算、I/O指令中特指指令中特指 查表轉(zhuǎn)換和間接尋址時(shí)存查表轉(zhuǎn)換和間接尋址時(shí)存放基址放基址 串操作和循環(huán)中做計(jì)數(shù)串操作和循環(huán)中做計(jì)數(shù) 乘除運(yùn)算、乘除運(yùn)算、I/O指令中特指指令中特指 可以可以32位、位、16位或位或8位形式訪問,例如,位形式訪問,例如, EAX可使用可使用16位的位的AX,也可以使用,也可以使用8位的位的AH、AL63,存放棧頂?shù)刂?,存放棧頂?shù)刂罚娣艞6位刂?,存放棧段基地?存放地址的偏移量,也可存放操作數(shù),存放地址的偏移

26、量,也可存放操作數(shù), 6465 段寄存器均為段寄存器均為16位的寄存器位的寄存器 用于存儲(chǔ)器尋址,存放段的開始地址用于存儲(chǔ)器尋址,存放段的開始地址 在在64位模式下,位模式下,F(xiàn)S, GS無效,無效,CS, DS, ES, SS均指向基地址為均指向基地址為0的的“段段”。堆棧段堆棧段數(shù)據(jù)段數(shù)據(jù)段附加段附加段代碼段代碼段一個(gè)完整的程序一個(gè)完整的程序66 IA-32的的6個(gè)個(gè)16位的段寄存器,專門存放段基地位的段寄存器,專門存放段基地址:址: 用戶可以同時(shí)使用用戶可以同時(shí)使用6個(gè)段,段間可以鄰接、部個(gè)段,段間可以鄰接、部分重疊、分重疊、 重疊或不相鄰,但注意,段的實(shí)體重疊或不相鄰,但注意,段的實(shí)體

27、(被實(shí)際使用的段空間)是不能重疊的。(被實(shí)際使用的段空間)是不能重疊的。67段段默認(rèn)段默認(rèn)段寄存器寄存器16位偏移位偏移32位偏移位偏移代碼段代碼段CSIPEIP數(shù)據(jù)段數(shù)據(jù)段DSBX、SI、 DI、一個(gè)一個(gè)8或或16位位數(shù)數(shù)EAX、EBX、ECX、EDX、 EDI、 ESI、一個(gè)、一個(gè)8或或32位數(shù)位數(shù) 堆棧段堆棧段SSSP或或BPESP或或EBP附加段附加段ESFSGSDI無默認(rèn)無默認(rèn)無默認(rèn)無默認(rèn)EDI(用于串指令)(用于串指令)無默認(rèn)無默認(rèn)無默認(rèn)無默認(rèn)68n堆棧是內(nèi)存中堆棧是內(nèi)存中“先入后出先入后出”、最大空間為最大空間為64KB的存儲(chǔ)區(qū)域,采用自底向上的存儲(chǔ)區(qū)域,采用自底向上生成堆棧,生

28、成堆棧,n棧區(qū)最高地址棧區(qū)最高地址-1的單元為的單元為,最后進(jìn)棧數(shù)據(jù),最后進(jìn)棧數(shù)據(jù)所對(duì)應(yīng)的地址單元為所對(duì)應(yīng)的地址單元為nSS指向棧的起始單元指向棧的起始單元(地址最小的單元)(地址最小的單元)n將數(shù)據(jù)送入將數(shù)據(jù)送入堆棧叫堆棧叫,從棧中取出數(shù)據(jù)叫,從棧中取出數(shù)據(jù)叫,均以字,均以字(16位或位或32位位)為單位為單位6970:即程序計(jì)數(shù)器,指向即程序計(jì)數(shù)器,指向指令在代碼段中的偏移量指令在代碼段中的偏移量16位的位的IP高高16位擴(kuò)展位擴(kuò)展32位指令指針寄存器位指令指針寄存器EIP32位的位的EIP高高32位擴(kuò)展位擴(kuò)展64位指令指針寄存器位指令指針寄存器RIP71:記錄系統(tǒng)運(yùn)行中的各種狀態(tài):記錄系

29、統(tǒng)運(yùn)行中的各種狀態(tài) 和信和信息。由各種息。由各種構(gòu)成,反映運(yùn)算后的結(jié)果構(gòu)成,反映運(yùn)算后的結(jié)果特征,將影響某些指令(如條件轉(zhuǎn)移指令)特征,將影響某些指令(如條件轉(zhuǎn)移指令)的執(zhí)行。的執(zhí)行。72 b15 b8 b7 b0 OF DF IF TF SF ZF AF PF CF符號(hào)符號(hào) 名稱名稱 值為值為“1”的條件的條件 73思考題:以下的幾個(gè)思考題:以下的幾個(gè)4位十六進(jìn)制數(shù)相加,會(huì)使得位十六進(jìn)制數(shù)相加,會(huì)使得8088狀態(tài)寄存器的以下幾位為什么值?狀態(tài)寄存器的以下幾位為什么值?PFAFZFSF8000H8000H+0000HC000HC000H+8000H4008H4008H+8010H0808HC0

30、00H+C808H101010010101000174 進(jìn)位標(biāo)志進(jìn)位標(biāo)志CF是表示是表示是否超出范圍是否超出范圍,如,如CF=1,運(yùn)算結(jié)果仍然正確;,運(yùn)算結(jié)果仍然正確; 溢出標(biāo)志表示的是溢出標(biāo)志表示的是運(yùn)算結(jié)果是否超運(yùn)算結(jié)果是否超出范圍,超出范圍則運(yùn)算結(jié)果已經(jīng)不正確;出范圍,超出范圍則運(yùn)算結(jié)果已經(jīng)不正確; 處理器對(duì)兩個(gè)操作數(shù)進(jìn)行運(yùn)算的時(shí)候是按照處理器對(duì)兩個(gè)操作數(shù)進(jìn)行運(yùn)算的時(shí)候是按照求得結(jié)果,并相應(yīng)設(shè)置求得結(jié)果,并相應(yīng)設(shè)置CF,根據(jù),根據(jù)是否超出有符號(hào)數(shù)的范圍設(shè)置是否超出有符號(hào)數(shù)的范圍設(shè)置OF;1. 對(duì)于程序員,如果做無符號(hào)運(yùn)算,應(yīng)該關(guān)心對(duì)于程序員,如果做無符號(hào)運(yùn)算,應(yīng)該關(guān)心CF,做有符號(hào)運(yùn)算應(yīng)

31、該關(guān)心,做有符號(hào)運(yùn)算應(yīng)該關(guān)心OF。75符號(hào)符號(hào) 名稱名稱 值為值為“1”的條件的條件 OF31 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0DF IF TF SFZFAFCFPFIOPLNTRFVMACVIFVIPID保保 留留010076當(dāng)機(jī)器復(fù)位的時(shí)候當(dāng)機(jī)器復(fù)位的時(shí)候CS=FFFFH,EIP, DS, ES, SS, FS, GS以及以及EFLAGS寄存器被清零。因?yàn)閺?fù)位之寄存器被清零。因?yàn)閺?fù)位之后后CS:EIP= FFFF:00000000,因此機(jī)器復(fù)位或開,因此機(jī)器復(fù)位或開機(jī)后,都會(huì)自動(dòng)從這個(gè)地址開始取指令,這里應(yīng)機(jī)后,都會(huì)自動(dòng)從這個(gè)地址開始取指令,這里應(yīng)該是該是BIOS的第一條指令。的第一條指令。 31 12 11 4 3 0PWTPC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論