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位执行环境相关推荐

  1. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(2) - SSE程序设计环境概述

    SSE Programming Environment 下图是IA-32处理器上的SSE程序设计环境,所有的SSE指令操作XMM寄存器,MMX寄存器,和/或存储器. XMM寄存器,8个,128位宽,存 ...

  2. Intel 64/x86_64/IA-32/x86处理器 - 通用指令(9/E) - 比特位操控指令(BMI1 BMI2)

    Bit Manipulation Instructions (BMI1 & BMI2) 指令 描述 ANDN 格式: ANDN r32a, r32b, r/m32 第一源操作数(r32b)取反 ...

  3. Intel 64/x86_64/IA-32/x86处理器 - 锁原子操作(2) - 总线封锁/缓存封锁

    Bus Locking Intel 64和IA-32处理器提供了LOCK#信号,在某些关键的访存操作时会自动地激活assert这个信号,用于封锁系统总线或类似的链接.当这个输出信号被激活时,就会阻塞来 ...

  4. Intel 64/x86_64/IA-32/x86处理器 - 锁原子操作(1) - 处理器保证的原子操作

    Locked Atomic Operations 32位的IA-32处理器支持对系统内存中的位置执行"加锁的原子操作".这些操作通常用于管理共享的数据结构(例如信号量,段描述符,系 ...

  5. Intel 64/x86_64/x86/IA-32处理器操作模式/运行模式

    Processor Operation Mode IA-32架构支持3种操作模式,和一种类操作模式(quasi-operating mode): 实地址模式/实模式(real-address mode ...

  6. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(7) - 混洗指令 解组合指令

    SSE Shuffle and Unpack Instructions SSE的混洗指令与解组合指令混洗shuffle或交错interleave单精度浮点操作数,并将结果保存到目标操作数. 指令 描述 ...

  7. Intel 64/x86_64/IA-32/x86处理器通用寄存器 (2) - 64位通用寄存器

    General-Purpose Registers in 64-mode 在64位模式下,有16个64位宽通用寄存器(32位模式是8个通用寄存器),默认的操作数宽度是32位(注:与32位模式相同).但 ...

  8. Intel 64/x86_64/IA-32/x86处理器指令集 - CPUID (1) - 概述

    CPUID指令 Introduction of CPUID instruction 根据Wikipedia,CPUID指令是x86处理器体系结构的补充指令,使得软件可以枚举当前运行的处理器的详细特性, ...

  9. Intel 64/x86_64/IA-32/x86处理器 - 通用指令(3) - 逻辑指令/移位指令

    Logical Instructions 逻辑指令执行基本的"与.或.非.异或"操作,操作数可以是字节,单字和双子值. 指令 描述 AND 对操作数执行按位逻辑"与&qu ...

最新文章

  1. Spring Boot 管理 MVC
  2. 【TweenMax】实例TimelineMax
  3. true,false组合问题
  4. k8s配置以使得pod可以运行于master上
  5. gnome扩展_GNOME桌面的12个扩展
  6. CPU的IPC调优:通过优化代码,提高每个时钟的指令数
  7. 开源工具 PrivateBin 修复XSS 漏洞
  8. Spring Cache 介绍
  9. 解决 Python 连不上pip库的问题(使用国内镜像地址)
  10. Net framework3.5本地镜像离线装
  11. ISO27001认证办理流程及2022年补贴政策汇总
  12. 教育网系统服务器域名地址,中国教育网DNS IP地址大全(32个省)
  13. Chrome打不开baidu的解决方法
  14. 【USACO题库】5.2.1 Snail Trails蜗牛的旅行
  15. doc文件批量转换成htm以及htm批量转成xlsx
  16. SAP BASIS ADM100 中文版 Unit 2(1)
  17. mysql——时间显示格式 dateformat函数
  18. ppp协议 服务器,PPP(点对点协议(Point to Point Protocol))_百度百科
  19. 写一个函数,实现 n 的阶乘
  20. java 多线程(四)—— 线程同步/互斥=队列+锁

热门文章

  1. vim插件管理器minpac安装及使用
  2. java math tan,Java Math.tan() 方法
  3. 识别图片噪声干扰_射频相位噪声介绍
  4. 使用key 发smtp.sendgrid.net_手把手教你使用 iOS 13 效率神器 「快捷指令」
  5. 【spingboot基础知识】相关问题汇总
  6. python函数定义时参数相当于占位符_python中函数的参数
  7. c语言延时系统,基于VB的单片机C语言延时程序各参数计算系统
  8. mysql st_contains实现_MySQL实现树状所有子节点查询的方法
  9. YAPI接口自动化测试工具---使用记录
  10. Jmeter BeanShell使用json.jar包处理Json数据