新闻  |   论坛  |   博客  |   在线研讨会
IA-32基本运行环境概述
zhb33 | 2013-06-27 15:45:27    阅读:1172   发布文章

地址空间:任何基于IA-32架构的任务和程序所能寻址的最大线性地址空间是4GB(2^32字节)


寄存器:8个通用寄存器(32位),6个段寄存器(16位),1个EFLAGS(标志)寄存器(32位), 1个EIP(指令
指针)寄存器(32位),这些寄存器用于执行基本的整数运算,包括字节(8位),字(16位),双字(32位),处理程序的控制流程,以及位运算、字符串处理和内存地址空间转换

x87 FPU寄存器:8个x87 FPU数据寄存器(80位),1个x87 FPU控制寄存器(16位),1个状态寄存器(16位),1


个x87 FPU指令指针寄存器(48位),1个x87 FPU操作数指针寄存器(48位),1个x87 FPU标签寄存器(16位),1个x87 FPU操作码寄存器(11位),这些寄存器用于执行单精度、双精度、扩展双精度的浮点运算,16位整数、32位整数、64位整数运算以及BCD(binary coded decimal)码转换运算

MMX寄存器: 8个MMX寄存器(64位)支持将字节、字、双字的整数打成64位的包进行单指令、多数据(SIMD)操作


XMM寄存器: 8个XMM数据寄存器(128位)和1个MXCSR寄存器(32位),支持SIMD操作,将数据打为128位的包,包括单精度、双精度的浮点数和字节、字、双字、四字的整数

堆栈:位于内存中,用于进程间传递参数

控制寄存器:CR0-CR4确定当前处理器的操作模式(保护模式、实地址模式、系统管理模式)以及当前正在执行任务的特性内存管理寄存器:GDTR(全局描述符表)、IDTR(中断描述符表),task register(任务寄存器),LDTR(局部描述符表)用于保存在保护模式下内存管理所用到的所有数据结构

调试寄存器:DR0-DR7控制和允许监视处理器的调试操作

内存类型范围寄存器:MTRRs用于分配内存某一区域的内存类型

处理器专用寄存器:MSRs,处理器提供多种专用处理器用于控制和报告处理器的性能指标,实际上所有专用寄存器只处理系统相关的功能,应用程序是不能访问的,时间戳(time -stamp)计数器例外。

处理器检测寄存器:Machine check registers, 由一系列控制、状态、错误报告MSR(专用寄存器)组成,用于发现和报告硬件错误。

性能监视器:Performance monitoring counters, 允许监视处理器性能相关的事件

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客