INTEL安腾体系架构软件开发手册
第一卷:应用级体系架构
版本:2.1
2002年10月
第一部分:应用级体系架构指南
第一章 关于本手册
INTEL安腾体系架构集合了诸如显式并行、谓词执行、探测执行等等一系列的特性,其高可靠性的架构设计满足了各种服务器和工作站市场不断增长的性能需求。安腾体系架构的一个重要的特性,64位指令集体系,引入了一种新型的处理器架构,叫做EPIC,也就是显式并行指令计算。此外,安腾体系架构还有一个关键的特性就是对IA-32指令集提供兼容。
INTEL安腾体系架构软件开发手册提供了对于应用级编程和系统级编程相关的程序执行环境、程序可用的资源、指令集的一个完整的描述。此外,它还说明了程序员如何利用安腾架构的特性来帮助他们优化所写的代码。
1.1 第1卷:应用级体系架构的纵览
本卷定义了安腾的应用级体系架构,这包括应用级程序资源、编程环境,以及IA-32应用级接口,本卷还介绍了用于产生高性能软件的优化技术。
1.1.1 第一部分:应用级体系架构指南
第一章,“关于本手册” 简要介绍了INTEL安腾体系架构软件开发手册中所有卷内容。
第二章,“INTEL安腾体系架构介绍”介绍整个安腾架构。
第三章,“执行环境”描述了应用级程序可见的安腾寄存器堆以及存储器组织模型。
第四章,“应用级编程模型”描述了安腾应用级指令的行为(指令按功能划分成不同组)。
第五章,“浮点编程模型”描述了安腾的浮点体系架构(包括整数乘法)
第六章,“安腾系统环境中的IA-32应用执行模型”以应用级程序员的角度描述在安腾系统环境中IA-32指令的操作。
1.1.2 第二部分:INTEL安腾体系架构优化指南
第一章,“关于优化指南”对优化指南进行大概介绍。
第二章,“介绍INTEL安腾体系架构编程”简要介绍了安腾架构下的应用级编程环境。
第三章,“存储器参考”讨论了有关探测数据和探测控制的特性及相关的优化方案。
第四章,“谓词执行、控制流、指令流”描述了对于谓词执行、控制流和转移提示等特性的优化方案。
第五章,“软件流水线循环支持”详细讨论通过使用软件流水线技术来优化循环的内容。
第六章,“浮点应用程序”列举了浮点应用程序中的性能限制并详细讨论这些限制。
1.2 第2卷:系统级体系架构的纵览
本卷定义了安腾的系统级体系架构,这包括系统级的资源和程序的状态属性,中断模型以及处理器固件接口。本卷还提供了用于编写高性能系统软件的系统编程指南。
1.2.1 第一部分:系统级架构指南
第一章,“关于本手册” 简要介绍了INTEL安腾体系架构软件开发手册中所有卷内容。
第二章,“INTEL安腾系统环境”介绍了安腾的系统环境,这个环境用于支撑基于安腾的操作系统,这个操作系统可以运行IA-32或基于安腾的应用程序。
第三章,“系统状态和编程模型”描述了只对操作系统可见的安腾架构的状态属性。
第四章,“寻址与保护”定义了操作系统用于进行虚拟地址到物理地址翻译、虚拟别名、物理寻址以及存储器排序的系统资源。
第五章,“中断”描述了基于安腾架构的处理器所能产生的所有中断。
第六章,“寄存器栈引擎”描述了安腾架构的一种机制,这种机制用于自动的存储及恢复通用寄存器堆的堆栈集部分(GR32-GR127)。
第七章,“调试与性能监视”简要说明安腾体系架构中可用的性能监视和调试资源。
第八章,“中断向量描述”列出了所有的中断向量。
第九章,“IA-32中断向量描述”列出了安腾系统中运行的IA-32指令所能产生的所有异常、中断以及截获的信息(intercepts)。
第十章,“基于安腾的操作系统与IA-32应用程序的相互作用”从安腾操作系统的角度来定义其中IA-32指令的行为。
第十一章,“处理器抽象层”描述了固件抽象层,这个抽象层抽象了处理器实现部分的特性。
1.2.2 第二部分:系统级编程指南
第一章,“关于系统级编程指南”介绍了系统级架构指南的第二部分。
第二章,“多处理器联结(coherence)与同步”描述了多处理器同步单元(multi-processing synchronization primitives)以及安腾的存储器排序模型。
第三章,“中断与序列化”描述在中断发生时处理器执行的序列化操作,以及此时该为底层系统的代码保留哪些系统状态。
第四章,“上下文管理”描述了操作系统如何保存安腾寄存器的内容和状态。该章节还描述了一种系统架构机制,这种机制允许操作系统在发生中断、系统调用和上下文切换的时候减少寄存器需要被装载或卸出的数量。
第五章,“存储器管理”介绍了各种存储器管理的策略。
第六章,“探测数据与探测控制的实时支持”描述了操作系统用于支持探测数据与探测控制的特性。
第七章,“指令模拟与错误处理”描述了基于安腾的操作系统可能会支持的多种指令模拟处理技术。
第八章,“浮点系统软件”讨论了安腾架构的处理器如何处理浮点数值异常,以及提供完整的IEEE-754标准支持的软件库。
第九章,“IA-32应用支持”描述了安腾操作系统用来提供做为IA-32应用主机的支持特性。
第十章,“外部中断体系架构”描述了外部中断体系架构,其重点介绍软件如何控制异步的外部中断操作。
第十一章,“I/O体系架构”描述了I/O体系架构的内容,其重点介绍平台发射及对现有IA-32的I/O端口空间的支持。
第十二章,“性能监视支持”描述了性能监视体系,重点介绍安腾操作系统支持的性能监视的类型。
第十三章,“固件纵览”介绍安腾的固件模型,以及各种固件层(PAL、SAL、EFI)如何协同工作完成处理器和系统的初始化,并引导操作系统。
1.2.3 附录
附录A,“示例代码”提供了操作系统引导的示例代码。
1.3 第3卷:指令集参考纵览
本卷是安腾指令及IA-32指令集的一个完整的参考手册,内容还包括了指令的格式与编码。
1.3.1第一部分:INTEL安腾指令集描述
第一章,“关于本手册” 简要介绍了INTEL安腾体系架构软件开发手册中所有卷内容。
第二章,“指令参考”对所有的安腾指令进行详细的描述。作为汇编语言的助记符号,指令按照字母顺序先后出现。
第三章,“伪代码函数”提供了一个伪代码函数的表格,其用于定义安腾指令的行为。
第四章,“指令格式”描述了安腾指令的格式和二进制编码。
第五章,“资源与依赖”总结了为安腾架构的处理器生成代码时所要注意依赖规则。
1.3.2 第二部分:IA-32指令集描述
第一章,“基本的IA-32指令集参考”提供了所有基本的IA-32指令集的详细描述,作为汇编语言中的助记符其指令按字母顺序先后出现。
第二章,“IA-32 INTEL MMX技术指令参考”提供了所有IA-32的INTEL MMX指令的详细描述,这些MMX指令用于改善多媒体应用程序的性能,其按字母顺序先后出现。
第三章,“IA-32 SIMD扩展指令参考” 提供了所有IA-32的SIMD扩展指令的详细描述,这些SIMD扩展指令用于改善多媒体应用程序的性能,其按字母顺序先后出现。
1.4 术语
以下是有关于安腾体系架构的,在本文档通篇会被用到的术语的定义:
指令集体系架构(ISA):定义了应用级和系统级资源,这些资源包括指令和寄存器。
安腾体系架构:具有64位的指令集,出色的性能并对IA-32指令集兼容的新一代ISA。
IA-32体系架构:32位及16位INTEL体系架构,定义于IA-32体系架构编程手册。
安腾系统环境:支持IA-32代码与安腾代码的操作系统环境。
IA-32系统环境:其操作系统环境与资源定义于IA-32体系架构编程手册,其资源包括虚拟分页、控制寄存器、调试器、性能监视器、机器检查机制以及特权级指令集。
基于安腾的固件:处理器抽象层与系统抽象层。
处理器抽象层(PAL):对处理器实现部分的特性进行抽象的固件层。
系统抽象层(SAL):对系统实现部分的特性进行抽象的固件层。
1.5 相关文档
下面所列出的文档均可在INTEL开发网站http://developer.intel.com/ 上下载:
l Intel安腾2处理器软件开发与优化参考手册-该文档描述了安腾2处理器(第二个基于安腾架构的处理器)引入的模型规范的架构特性。(文档编号:251110)
l Intel安腾处理器软件开发参考手册-该文档该文档描述了安腾处理器引入的模型规范的架构特性。(文档编号:245320)
l IA-32架构软件开发手册-该手册描述了INTEL IA-32架构。(文档编号:245470、245471、245472)
l 安腾软件规范及运行时架构指南-该文档定义了用于在安腾操作系统上编译、链接以及执行程序的通用规则。(文档编号:245358)
l 安腾处理器家族系统抽象层规范-该文档声明了为安腾系统开发固件的要求。(文档编号:245359)
l 可扩展固件接口规范-该文档在操作系统与固件平台之间定义了一个新的接口模型。
1.6 先前的版本(译者注:略)
注:该章内容为先前的文档版本的修订情况。