从本章开始将会涉及到很多CPU的硬件知识,可能略为枯燥及难懂,我会尽可能简化地去讲。参考文档为《Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3 (3A, 3B, 3C & 3D): System Programming Guide》,仅关注其中的第2-9章。
系统架构
手册中第62页给出了一个处理器中核心的寄存器与配置数据结构图。这个结构图较为复杂,本课时只关心GDT。
GDT是一个配置表,里面存储了有关存储访问相关的配置信息,也是整个x86-32位最核心的配置数据。在进入保护模式后,所以有关内存访问操作,都需要经过GDT(本课时未涉及到LDT),GDT表中每项称为段描述符( Segment descriptors)。其具体格式如下:
(见手册第96页)
该结构看起来较为复杂,大体分为包含3部分:base addr(基地址)、limit(界限)以及一些属性值。具体属性值本小节暂不关心,后面课程会逐步讲解。
整个GDT表最大为64KB,而每个表项为8字节,所以表项数最大为8192个。
参考资料
● 课程附带的intel编程文档卷3:Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3 (3A, 3B, 3C & 3D): System Programming Guide
登陆发表评论