《64位微處理器系統編程》

標籤: 暫無標籤

18

更新時間: 2013-08-27

廣告

《64位微處理器系統編程》周明德編著,本書以與32位x86體系結構兼容為目標,介紹了64位微處理器的原理、結構、功能和系統編程。

廣告

《64位微處理器系統編程》

《64位微處理器系統編程》
【名稱】64位微處理器系統編程
【定價】¥28.00
【作  者】周明德 
【出 版 社】 清華大學出版社    
【書 號】 7302126429 
【出版日期】 2006 年6月
【開 本】 16開
【頁 碼】 322    
【版 次】1-1 
【所屬分類】  計算機 > 計算機控制與模擬 > 可編程式控制制器
教材 > 研究生/本科/專科教材 > 工學 > 計算機

1 《64位微處理器系統編程》 -內容簡介

本書以與32位x86體系結構兼容為目標,以AMD公司的x8664體系結構的64位微處理器為重點,介紹64位微處理器的原理、結構、功能和系統編程。
重點介紹64位微處理器與32位微處理器的區別及其擴展,介紹了系統編程環境、虛擬存儲器的結構與使用、中斷與異常、軟體調試與性能改進。
本書可作為《微型計算機系統原理及應用》(第四版)、《64位微處理器應用編程》的後續學慣用書。
本書可以作為利用64位微處理器進行系統編程和應用編程的相關讀者的自學和培訓教材。

2 《64位微處理器系統編程》 -目錄介紹

第1篇AMD x8664系統編程1
第1章AMD x8664系統編程概要2
1.1內存模型2
1.1.1內存定址2
1.1.2存儲器組織4
1.1.3規範地址形式4
1.2存儲管理5
1.2.1段5
1.2.2分頁5
1.2.3混合分段和分頁6
1.2.4實定址7
1.3操作模式8
1.3.1長模式8
1.3.2傳統模式10
1.3.3系統管理模式11
1.4系統寄存器11
1.5系統數據結構13
1.6中斷14
1.7附加的系統編程特性15
1.7.1硬體多任務15
1.7.2機器檢查16
1.7.3軟體調試16
1.7.4性能監視16第2章x86和x8664體系結構的區別17
2.1操作模式17
2.1.1長模式17
2.1.2傳統模式17
2.1.3系統管理模式    18
2.2存儲器模型18
2.2.1存儲器定址18
2.2.2頁轉換18
2.2.3分段19
2.3保護檢查21
2.4寄存器21
2.4.1通用寄存器21
2.4.2128位多媒體寄存器21
2.4.3標誌寄存器21
2.4.4指令指針21
2.4.5堆棧指針22
2.4.6控制寄存器22
2.4.7調試寄存器22
2.4.8擴展的特徵寄存器(EFER)22
2.4.9存儲類型範圍寄存器(mtrr)22
2.4.10其他模型特定的寄存器(MSR)22
2.5指令系統23
2.5.1REX 前綴23
2.5.2在64位模式中段超越前綴23
2.5.3操作數和結果23
2.5.4地址計算23
2.5.5引用RSP的指令24
2.5.6分支25
2.5.7NOP指令26
2.5.8單位元組INC和DEC指令27
2.5.9MOVSXD指令27
2.5.10無效指令27
2.5.11FXSAVE和FXRSTOR指令28
2.6中斷和異常28
2.6.1中斷描述符表29
2.6.2推入的堆棧幀29
2.6.3堆棧切換29
2.6.4IRET指令29
2.6.5任務特權寄存器(CR8)30
2.6.6新異常條件30
2.7硬體任務切換30
2.8長模式與傳統模式的區別30
第3章系統資源32
3.1系統控制寄存器32
3.1.1CR0寄存器33
3.1.2CR2和CR3寄存器35
3.1.3CR4寄存器36
3.1.4CR1和CR5~CR7寄存器39
3.1.564位模式擴展的控制寄存器39
3.1.6CR8(任務特權寄存器,TPR)39
3.1.7RFLAGS寄存器39
3.1.8擴展的特徵啟用寄存器(EFER)42
3.2模型特定的寄存器43
3.2.1系統配置寄存器44
3.2.2系統鏈接寄存器45
3.2.3內存類型寄存器45
3.2.4調試擴展寄存器46
3.2.5性能監視寄存器46
3.2.6機器檢查寄存器47
3.3處理器的特徵標識47
第4章分段虛擬存儲器49
4.1實模式分段49
4.2虛擬8086模式段50
4.3保護模式分段內存模式50
4.3.1多段模型50
4.3.2平面內存模型50
4.3.364位模式中的段51
4.4段數據結構和寄存器51
4.5段選擇子和寄存器52
4.5.1段選擇子52
4.5.2段寄存器53
4.5.364位模式下的段寄存器54
4.6描述符表55
4.6.1全局描述符表55
4.6.2全局描述符表寄存器55
4.6.3局部描述符表56
4.6.4局部描述符表寄存器57
4.6.5中斷描述符表58
4.6.6中斷描述符表寄存器59
4.7傳統段描述符59
4.7.1描述符格式59
4.7.2碼段描述符61
4.7.3數據段描述符62
4.7.4系統描述符64
4.7.5門描述符65
4.8長模式段描述符66
4.8.1碼段描述符66
4.8.2數據段描述符67
4.8.3系統段描述符68
4.8.4門描述符69
4.8.5長模式描述符小結71
4.9段保護概要72
4.9.1特權級概念73
4.9.2特權級類型73
4.10數據訪問特權檢查74
4.10.1訪問數據段74
4.10.2訪問堆棧段75
4.11控制傳送特權檢查76
4.11.1直接控制傳送76
4.11.2控制傳送通過調用門78
4.11.3返回控制傳送83
4.12界限檢查84
4.13類型檢查85
4.13.1在傳統和兼容模式的類型檢查85
4.13.2長模式類型檢查的區別86
第5章頁轉換和保護88
5.1頁轉換概要88
5.1.1頁轉換選項90
5.1.2頁轉換啟用(PG)位90
5.1.3物理地址擴展(PAE)位90
5.1.4頁尺寸擴展(PSE)位90
5.1.5頁目錄91
5.2傳統模式轉換91
5.2.1CR3寄存器92
5.2.2正常(非PAE)分頁92
5.2.3PAE分頁94
5.3長模式頁轉換97
5.3.1規範的地址形式97
5.3.2CR397
5.3.34KB頁轉換98
5.3.42MB頁轉換99
5.4頁轉換表項欄位101
5.5轉換查找緩衝器(TLB)104
5.5.1全局頁104
5.5.2TLB管理105
5.6頁保護檢查105
5.6.1非執行(NX)位105
5.6.2用戶/管理員(U/S)位106
5.6.3讀/寫(R/W)位106
5.6.4防寫(CR0.WP)位106
5.7跨越分頁層次保護106
5.8段保護的作用108
第6章系統管理指令109
6.1快速系統調用和返回指令111
6.1.1SYSCALL和SYSRET111
6.1.2SYSENTER和SYSEXIT(只在傳統模式)112
6.1.3SWAPGS指令113
6.2系統狀態和控制113
6.2.1處理器特徵標識符(CPUID)114
6.2.2訪問控制寄存器114
6.2.3訪問RFLAGS寄存器114
6.2.4訪問調試寄存器114
6.2.5訪問模型特定的寄存器115
6.3段寄存器和描述符寄存器訪問115
6.3.1訪問段寄存器115
6.3.2訪問描述符表寄存器115
6.4保護檢查116
6.4.1檢查訪問權力116
6.4.2檢查段界限116
6.4.3檢查讀/寫權力116
6.4.4調整訪問權力116
6.5處理器暫停117
6.6緩存和TLB管理117
6.6.1緩存管理117
6.6.2TLB無效117
第7章內存系統118
7.1內存訪問順序120
7.1.1讀順序120
7.1.2寫順序120
7.1.3讀寫柵欄121
7.2內存一致性和協議121
7.3內存類型124
7.4緩衝和組合內存寫125
7.4.1寫緩衝125
7.4.2寫組合126
7.5內存檢查127
7.5.1緩存組織和操作127
7.5.2緩存控制機制128
7.5.3緩存和內存管理指令130
7.5.4串列化指令131
7.6內存類型範圍寄存器132
7.6.1MTRR類型欄位132
7.6.2MTRR133
7.6.3使用MTRR138
7.6.4MTRR和頁緩存控制138
7.6.5多處理器環境中的MTRR140
7.7頁屬性表機制140
7.7.1PAT寄存器140
7.7.2PAT 索引141
7.7.3標識PAT支持142
7.7.4PAT訪問142
7.7.5MTRR和PAT的組合影響142
7.8內存映射的I/O143
7.8.1擴展的固定範圍MTRR類型欄位編碼143
7.8.2IORR145
7.8.3IORR的重疊146
7.8.4內存的頂146
第8章異常和中斷148
8.1概要148
8.2通用特性148
8.3向量150
8.3.1#DE(被零除差錯異常向量0)152
8.3.2#DB(調試非同步異常向量1)153
8.3.3NMI(非屏蔽中斷異常向量2)154
8.3.4#BP(斷點異常向量3)154
8.3.5#OF(溢出異常向量4)154
8.3.6#BR(邊界異常向量5)155
8.3.7#UD(無效操作碼異常向量6) 155
8.3.8#NM(設備不可用異常向量7)156
8.3.9#DF(雙故障異常向量8)156
8.3.10CoprocessorSegmentoverrun(協處理器段超越
異常向量9)157
8.3.11#TS(無效TSS異常向量10)157
8.3.12#NP(段不存在異常向量11)158
8.3.13#SS(堆棧異常向量12)159
8.3.14#GP(通用保護異常向量13)159
8.3.15#PF(頁故障異常向量14)161
8.3.16#MF(x87浮點異常掛起向量16)161
8.3.17#AC(對齊檢查異常向量17)162
8.3.18#MC(機器檢查異常向量18)163
8.3.19#XF(SIMD浮點異常向量19) 163
8.3.20用戶定義的中斷(向量32~255)164
8.4任務切換期間的異常165
8.5差錯碼165
8.5.1選擇子差錯碼165
8.5.2頁故障差錯碼166
8.6優先權166
8.6.1浮點異常優先權167
8.6.2外部的中斷優先權168
8.7實模式下的中斷控制傳送169
8.8傳統保護模式下的中斷控制傳送170
8.8.1定位中斷處理程序171
8.8.2中斷至相同特權級171
8.8.3中斷至更高特權級172
8.8.4特權檢查173
8.8.5從中斷過程返回175
8.9虛擬8086模式中斷控制傳送175
8.9.1保護模式處理程序控制傳送176
8.9.2虛擬8086處理程序控制傳送177
8.10長模式下的中斷控制傳送177
8.10.1中斷門和陷阱門178
8.10.2定位中斷處理程序178
8.10.3中斷堆棧179
8.10.4中斷堆棧表  180
8.10.5從中斷過程返回181
8.11虛擬中斷182
8.11.1虛擬8086模式擴展182
8.11.2保護模式虛擬中斷187
8.11.3修改指令的影響187
第9章機器檢查機制189
9.1確定機器檢查機制189
9.2機器檢查差錯189
9.3機器檢查MSR190
9.3.1全局狀態和控制寄存器191
9.3.2差錯報告寄存器體192
9.3.3差錯碼193
9.4初始化機器檢查機制195
9.5使用機器檢查特徵196
9.5.1處理機器檢查異常196
9.5.2報告可改正的機器檢查差錯197
第10章系統管理模式198
10.1SMM資源198
10.1.1SMRAM199
10.1.2SMBASE 寄存器199
10.1.3SMRAM狀態保存區200
10.1.4SMM版本標識符204
10.2使用SMM204
10.2.1系統管理中斷(SMI)204
10.2.2SMM操作環境205
10.2.3異常和中斷205
10.2.4使緩存無效206
10.2.5保存附加的處理器狀態207
10.2.6操作在保護模式和長模式207
10.2.7自動暫停重啟動207
10.2.8I/O指令重啟動208
10.3離開SMM208
第11章128位、64位和x87編程210
11.1系統軟體考慮的概要210
11.2確定支持的媒體和x87特徵210
11.3啟用128位媒體指令  211
11.4媒體和處理器狀態211
11.4.1128位媒體狀態212
11.4.264位媒體狀態212
11.4.3x87狀態213
11.4.4保存媒體和x87處理器狀態214
第12章任務管理223
12.1硬體多任務概要223
12.2任務管理資源224
12.2.1TSS選擇子225
12.2.2TSS描述符225
12.2.3任務寄存器226
12.2.4傳統任務狀態段227
12.2.5任務門描述符(只是傳統模式)231
12.3在傳統模式的硬體任務管理232
12.3.1任務存儲映像232
12.3.2任務切換233
12.3.3用任務門進行任務切換234
12.3.4嵌套任務235
第13章調試和性能資源237
13.1軟體調試資源237
13.2斷點243
13.2.1設置斷點243
13.2.2使用斷點245
13.2.3斷點指令(INT3)248
13.2.4控制傳送斷點特徵248
13.3性能優化249
13.3.1性能計數器249
13.3.2性能事件選擇寄存器250
13.3.3使用性能計數器251
第14章處理器初始化和長模式激活253
14.1複位和初始化253
14.1.1內置自測試(BIST)253
14.1.2時鐘倍頻選擇254
14.1.3處理器初始化狀態254
14.1.4多處理器初始化256
14.1.5取第一條指令256
14.2硬體配置256
14.2.1處理器實現信息256
14.2.2啟用內部緩存257
14.2.3初始化媒體和x87處理器狀態257
14.3初始化實模式259
14.4初始化保護模式259
14.5初始化長模式260
14.6啟用和激活長模式260
14.6.1激活長模式261
14.6.2一致性檢查262
14.6.3更新系統描述符表引用262
14.6.4重定位頁轉換表263
14.7離開長模式263
14.8長模式初始化舉例263
第2篇Intel Itanium系統編程概要267
第1章Intel Itanium系統環境268
1.1處理器引導順序268
1.2Intel Itanium系統環境概要269
第2章系統狀態和編程模型270
2.1特權級270
2.2順序化270
2.2.1指令順序化271
2.2.2數據順序化271
2.2.3正在處理的(inflight)資源的定義272
2.3系統狀態272
2.3.1系統狀態概要272
2.3.2處理器狀態寄存器(PSR)273
2.3.3控制寄存器279
2.3.4全局控制寄存器281
2.3.5中斷控制寄存器284
2.3.6外部中斷控制寄存器289
2.3.7分體的通用寄存器289
第3章基於Itanium操作系統與IA32應用程序交互模型291
3.1指令集轉換291
3.2系統寄存器模型291
3.3IA32系統段寄存器293
3.3.1IA32當前特權級295
3.3.2IA32系統EFLAG寄存器295
3.3.3IA32系統寄存器298
3.4對於IA32碼的寄存器上下文切換指南302
3.4.1進入IA32過程302
3.4.2退出IA32過程302
3.5IA32指令集行為小結303
3.6系統內存模型309
3.6.1虛擬存儲器引用310
3.6.2IA32虛擬內存引用310
3.6.3IA32 物理內存引用    311
3.6.4超級用戶訪問311
3.6.5內存對齊312
3.6.6原子操作312
3.7I/O埠空間模型313
3.7.1虛擬I/O埠定址314
3.7.2物理I/O埠定址315
3.7.3IA32 IN/OUT指令316
3.7.4由裝入和存儲指令對I/O埠訪問317
3.8調試模型317
3.8.1數據斷點寄存器匹配318
3.8.2指令斷點寄存器匹配  319
3.9中斷模型319
3.9.1中斷小結320
3.9.2IA32數字異常模型321
3.10為支持IA32應用處理器的匯流排考慮322
參考文獻323

3 《64位微處理器系統編程》 -參考資料

[1] 清華大學出版社 http://www.tup.tsinghua.edu.cn/book/Showbook.asp?CPBH=020110-01&DJ=28

廣告