news 2026/8/20 7:28:30

GDTR 寄存器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GDTR 寄存器

GDTR(Global Descriptor Table Register,全局描述符表寄存器)是 x86 处理器内部的一个专用寄存器,它的唯一职责就是告诉 CPU 全局描述符表(GDT)在哪里

形象地理解,GDTR 相当于存储了 GDT 的“定位信息”,让 CPU 在任何时候都能根据其中的数据找到并访问 GDT。

核心功能:存储 GDT 的位置与大小

GDTR 存储了 GDT 两个最关键的信息:

字段大小描述
基地址(Base Address)32位(保护模式)/ 64位(长模式)GDT 在线性地址空间中的起始地址。
界限(Limit)16位GDT 的字节大小减 1,即 GDT 的最大有效偏移。

如何加载和读取 GDTR

GDTR 的内容由两个专用指令控制:

指令功能特权级
lgdt将内存中的一个 6/10 字节数据加载到 GDTR,从而设置 GDT 的基地址和界限。特权指令(Ring 0)
sgdt将 GDTR 的当前值存储到内存中,用于读取当前的 GDT 信息。可在任何特权级下使用(常用于调试)

与段选择子(Segment Selector)的联动

当执行一条访问内存的指令时,CPU 会这样使用 GDTR:

  1. 查看段寄存器:从CSDS等段寄存器中读取段选择子(一个 16 位的索引)。

  2. 计算偏移:根据段选择子中的索引值×8,得到在 GDT 中的偏移量。

  3. 获取描述符:将GDTR 中的基地址加上这个偏移量,从 GDT 中读取对应的 8 字节段描述符

  4. 执行检查:CPU 检查描述符中的权限、段界限等,确认无误后,才进行后续的内存访问。

例如,当执行mov ax, [0x1234]时,如果DS寄存器指向 GDT 中的某个数据段,CPU 就会依据 GDTR 定位到该段描述符,从而知道这个数据段的基地址、大小和权限。


与 IDTR 的对比

GDTR 和另一个寄存器IDTR(中断描述符表寄存器)结构非常相似,但用途不同:

寄存器指向的表用途
GDTRGDT(全局描述符表)管理内存段(分段机制)
IDTRIDT(中断描述符表)管理中断和异常处理程序

它们都存储一个“基地址+界限”对,lgdt/sgdtlidt/sidt指令也一一对应。


重要注意事项

  • 无法直接访问:GDTR 不能像通用寄存器(如rax)那样被指令直接读写,只能通过lgdtsgdt间接操作。

  • 特权级限制lgdt只能在最高特权级(Ring 0)执行,这是操作系统内核的领地。普通应用程序无权修改 GDTR。

  • 系统初始化:在 x86 处理器上电后,GDTR 有一个默认值,但操作系统在进入保护模式前,必须用lgdt加载自己定义的 GDT。


总而言之,GDTR 是 CPU 内部的一个指针寄存器,它存储了 GDT 的内存地址和大小,是 x86 分段机制得以运行的基础设施。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/20 7:27:12

从零复刻小米商城首页:HTML/CSS/JS实战教程与源码解析

很多同学在完成Web前端课程设计或期末作业时,常常面临一个难题:如何从零开始,独立完成一个结构完整、功能齐全、视觉效果尚可的商业级网页?网上找的模板要么过于简单,要么代码混乱难以理解。本文将手把手带你&#xff…

作者头像 李华
网站建设 2026/8/20 7:26:35

基于知识蒸馏与强化学习的成本感知智能查询优化器设计与实践

1. 项目缘起:当大数据分析遇上“成本敏感”的智能体 最近在做一个大数据平台的性能优化项目,遇到了一个非常典型的痛点:我们有一个复杂的分析查询,需要跨多个数据源(Hive、ClickHouse、Kafka流)进行关联和聚…

作者头像 李华
网站建设 2026/8/20 7:18:33

AURIX™ TC3xx智能车竞赛实战:从多核开发到工业级调试全解析

1. 从竞赛到工业级平台:为什么AURIX™ TC3xx是智能车竞赛的“硬核”选择如果你正在备战全国大学生智能汽车竞赛,并且你的队伍选择了英飞凌的AURIX™ TC3xx系列微控制器,那么恭喜你,你们已经站在了一个相当高的起点上。这不仅仅是因…

作者头像 李华
网站建设 2026/8/20 7:16:52

基于DFPlayer Mini的MP3播放器DIY:从硬件选型到音频项目实战

1. 项目缘起:一个按钮引发的“战斗”热情如果你是一个体育迷,尤其是大学体育的狂热追随者,你一定理解那种在比赛日弥漫在空气中的、近乎宗教般的激情。这种激情需要一个出口,一个可以瞬间点燃全场、凝聚所有人精神的象征。对于美国…

作者头像 李华
网站建设 2026/8/20 7:14:51

多智能体强化学习中的拜占庭容错:BARD-MARL框架解析与实践

1. 项目概述:当多智能体学会“说话”,如何揪出“内鬼”? 在分布式人工智能领域,多智能体强化学习(Multi-Agent Reinforcement Learning, MARL)正变得越来越“社会化”。想象一下,一群机器人协作…

作者头像 李华
网站建设 2026/8/20 7:14:25

基于PocketBeagle的USB音乐播放器DIY:从硬件选型到MPD配置与GPIO控制

1. 项目缘起:为什么选择PocketBeagle来播放音乐?几年前,我在一个创客展上看到一个项目,用一块小小的开发板驱动一个老式磁带机播放音乐,当时就觉得特别酷。后来,我手头正好有一块闲置的PocketBeagle&#x…

作者头像 李华