Intel 64/x86_64/IA-32/x86处理器基本执行环境 (2) - 64位执行环境
64-Bit Execution Environment
64位模式的执行环境与32位执行环境类似。不同点如下所述:
- 地址空间 – 程序/任务运行在64位模式下,可以访问最高2^64字节(受制于规范寻址要求)的线性地址空间和最高2^46字节的物理地址空间。
- 基本的程序执行寄存器 – 通用寄存器数量增加到16个,64位宽,支持字节/单字/双字/四字整型值。字节访问同一是寄存器的最低8比特位。指令指针扩展位64位宽。标志寄存器也扩充到64位,称为RFLAGS寄存器,但是并未新增标志位,即高32位属于保留位,低32位与EFLAGS寄存器一致。。
- XMM寄存器 – SIMD指令集使用的XMM数据寄存器增加到了16个。
- YMM寄存器 – SIMD指令集使用的YMM数据寄存器增加到了16个。
- BND寄存器与BNDCFGU/BNDSTATUS寄存器 – 参考后文
- 栈stack – 栈指针宽度增加到64位,被称为RSP。栈容量不是栈段描述符(SS descriptor)中的位定义(非64位模式的栈容量由栈段描述符定义),栈指针的宽度也不能用指令前缀的覆盖(即改变)。
- 控制寄存器 – 控制寄存器扩展到了64位,还新增了一个控制寄存器CR8,被称为任务优先级寄存器(TPR – task priority register)
- 调试寄存器 – 调试寄存器扩展到了64位。
- 描述符表寄存器- 全局描述符表寄存器GDTR与中断描述表寄存器IDTR扩展到了10个字节,用于容纳完整的64位基地址。局部描述符表寄存器LDTR与任务寄存器TR也被扩充用于容纳完整的64基地址。
Intel 64/x86_64/IA-32/x86处理器基本执行环境 (2) - 64位执行环境相关推荐
- Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(2) - SSE程序设计环境概述
SSE Programming Environment 下图是IA-32处理器上的SSE程序设计环境,所有的SSE指令操作XMM寄存器,MMX寄存器,和/或存储器. XMM寄存器,8个,128位宽,存 ...
- Intel 64/x86_64/IA-32/x86处理器 - 通用指令(9/E) - 比特位操控指令(BMI1 BMI2)
Bit Manipulation Instructions (BMI1 & BMI2) 指令 描述 ANDN 格式: ANDN r32a, r32b, r/m32 第一源操作数(r32b)取反 ...
- Intel 64/x86_64/IA-32/x86处理器 - 锁原子操作(2) - 总线封锁/缓存封锁
Bus Locking Intel 64和IA-32处理器提供了LOCK#信号,在某些关键的访存操作时会自动地激活assert这个信号,用于封锁系统总线或类似的链接.当这个输出信号被激活时,就会阻塞来 ...
- Intel 64/x86_64/IA-32/x86处理器 - 锁原子操作(1) - 处理器保证的原子操作
Locked Atomic Operations 32位的IA-32处理器支持对系统内存中的位置执行"加锁的原子操作".这些操作通常用于管理共享的数据结构(例如信号量,段描述符,系 ...
- Intel 64/x86_64/x86/IA-32处理器操作模式/运行模式
Processor Operation Mode IA-32架构支持3种操作模式,和一种类操作模式(quasi-operating mode): 实地址模式/实模式(real-address mode ...
- Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(7) - 混洗指令 解组合指令
SSE Shuffle and Unpack Instructions SSE的混洗指令与解组合指令混洗shuffle或交错interleave单精度浮点操作数,并将结果保存到目标操作数. 指令 描述 ...
- Intel 64/x86_64/IA-32/x86处理器通用寄存器 (2) - 64位通用寄存器
General-Purpose Registers in 64-mode 在64位模式下,有16个64位宽通用寄存器(32位模式是8个通用寄存器),默认的操作数宽度是32位(注:与32位模式相同).但 ...
- Intel 64/x86_64/IA-32/x86处理器指令集 - CPUID (1) - 概述
CPUID指令 Introduction of CPUID instruction 根据Wikipedia,CPUID指令是x86处理器体系结构的补充指令,使得软件可以枚举当前运行的处理器的详细特性, ...
- Intel 64/x86_64/IA-32/x86处理器 - 通用指令(3) - 逻辑指令/移位指令
Logical Instructions 逻辑指令执行基本的"与.或.非.异或"操作,操作数可以是字节,单字和双子值. 指令 描述 AND 对操作数执行按位逻辑"与&qu ...
最新文章
- Spring Boot 管理 MVC
- 【TweenMax】实例TimelineMax
- true,false组合问题
- k8s配置以使得pod可以运行于master上
- gnome扩展_GNOME桌面的12个扩展
- CPU的IPC调优:通过优化代码,提高每个时钟的指令数
- 开源工具 PrivateBin 修复XSS 漏洞
- Spring Cache 介绍
- 解决 Python 连不上pip库的问题(使用国内镜像地址)
- Net framework3.5本地镜像离线装
- ISO27001认证办理流程及2022年补贴政策汇总
- 教育网系统服务器域名地址,中国教育网DNS IP地址大全(32个省)
- Chrome打不开baidu的解决方法
- 【USACO题库】5.2.1 Snail Trails蜗牛的旅行
- doc文件批量转换成htm以及htm批量转成xlsx
- SAP BASIS ADM100 中文版 Unit 2(1)
- mysql——时间显示格式 dateformat函数
- ppp协议 服务器,PPP(点对点协议(Point to Point Protocol))_百度百科
- 写一个函数,实现 n 的阶乘
- java 多线程(四)—— 线程同步/互斥=队列+锁
热门文章
- vim插件管理器minpac安装及使用
- java math tan,Java Math.tan() 方法
- 识别图片噪声干扰_射频相位噪声介绍
- 使用key 发smtp.sendgrid.net_手把手教你使用 iOS 13 效率神器 「快捷指令」
- 【spingboot基础知识】相关问题汇总
- python函数定义时参数相当于占位符_python中函数的参数
- c语言延时系统,基于VB的单片机C语言延时程序各参数计算系统
- mysql st_contains实现_MySQL实现树状所有子节点查询的方法
- YAPI接口自动化测试工具---使用记录
- Jmeter BeanShell使用json.jar包处理Json数据