You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
3.7 KiB

翻译前先阅读整体规则的 [README](https://github.com/sunym1993/flash-linux0.11-talk/blob/main/Intel%20%E6%89%8B%E5%86%8C%E4%B8%AD%E6%96%87%E7%89%88/README.md) 哟~
# 第一章 About This Manual
# 第二章 System Architecture Overview
# 第三章 Protected-Mode Memory Management
3.4 逻辑和线性地址(LOGICAL AND LINEAR ADDRESSES)
如果系统架构等级处于保护模式上,处理器使用两阶段的地址翻译得到一个物理地址:逻辑地址翻译和线性地址空间分页。即使是最小限度的使用分段,处理器地址空间的每个字节都可以由逻辑地址访问。一个逻辑地址由16位的段选择子和32位的偏移组成(参见图3-5)。段选择子决定字节位于那个段,偏移决定了字节相对于段的基地址的偏移值,从而确定了在段中的位置。
处理器将每个逻辑地址翻译成线性地址。在处理器的线性地址空间中,线性地址是32位的地址。就像物理地址空间,线性地址空间是一个平的(不分段)2^32字节的地址空间,地址范围从0到FFFFFFFFH。线性地址空间包含着所有为系统定义的段和系统表。
为了将逻辑地址翻译成线性地址,处理器做了以下这些事情:
1.使用段选择子中的偏移来定位GDT或LDT中的段描述符,然后将段描述符读进处理器(这个步骤只在新的段选择子被加载进段寄存器中)。
2.检查段描述符以查验段的访问权限和范围,确保段是可访问的,且偏移量在段的范围之内。
3.将段描述符中获取段的基地址加上偏移来组成一个线性地址。
图 3-5 逻辑地址翻译成线性地址
如果分页没有被使用,处理器直接映射线性地址到物理地址(也就是,线性地址在处理器地址总线上消失)。如果线性地址空间被分页,第二级的地址翻译被用于翻译线性地址到物理地址。
# 第四章 Paging
# 第五章 Protection
# 第六章 Interrupt and Exception Handling
# 第七章 Task Management
# 第八章 Multiple-Processor Management
# 第九章 Processor Management and Initialization
# 第十章 Advanced Programmable Interrupt Controller (APIC)
# 第十一章 Memory Cache Control
# 第十二章 Intel® MMX™ Technology System Programming
# 第十三章 System Programming for Instruction Set Extensions and Processor Extended States
# 第十四章 Power and Thermal Management
# 第十五章 Machine-Check Architecture
# 第十六章 Interpreting Machine-Check Error Codes
# 第十七章 Debug, Branch Profile, TSC, and Intel® Resource Director Technology (Intel® RDT) Features
# 第十八章 Performance Monitoring
# 第十九章 8086 Emulation
# 第二十章 Mixing 16-Bit and 32-Bit Code
# 第二十一章 Architecture Compatibility
# 第二十二章 Introduction to Virtual Machine Extensions
# 第二十三章 Virtual Machine Control Structures
# 第二十四章 VMX Non-Root Operation
# 第二十五章 VM Entries
# 第二十六章 VM Exits
# 第二十七章 VMX Support for Address Translation
# 第二十八章 APIC Virtualization and Virtual Interrupts
# 第二十九章 VMX Instruction Reference
# 第三十章 System Management Mode
# 第三十一章 Intel® Processor Trace
# 第三十二章 Introduction to Intel® Software Guard Extensions
# 第三十三章 Enclave Access Control and Data Structures
# 第三十四章 Enclave Operation
# 第三十五章 Enclave Exiting Events
# 第三十六章 Intel® SGX Instruction References
# 第三十七章 Intel® SGX Interactions with IA32 and Intel® 64 Architecture
# 第三十八章 Enclave Code Debug and Profiling
# 附录 A ~ 附录 C
二期再译