`
powerfj
  • 浏览: 7065 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

【转】IA-64与x86-64处理器架构

阅读更多
接到intel 上海的实习电话面试,谈到IA64架构,不懂,转过来
======================================================
进入新千年,64位处理器似乎离我们越来越近,英特尔率先展示了IA-64架构的Itanium处理器,AMD的SledgeHammer也早在产品蓝图上初露端倪。而SUN的UltraSparc、康柏的Alpha也卷进64位架构的纷争。虽然人们知道64位架构将带来系统性能新的飞跃,但同时也给现在与未来平台系统的转变带来困惑与难题。64位处理器,我们真的需要吗?

  

  64位处理器换代的问题

  

  由于处理器内部架构的改变,64位处理器最终的应用必定与32位处理器有很大的不同。虽然64位处理器的运算架构可以支持部分32位应用程序,确保其中重要的功能执行,但对现有系统架构及最终用户的应用来说,32位处理器到64位的技术换代会产生一些不容忽视的问题。

  

  处理器架构的兼容:这是首先要解决的问题,64位架构处理器要与现有的32位系统的x86架构兼容,并确保旧系统继续发挥最高的性能。

  

  硬件平台支持:硬件平台生产商必须考虑新架构处理器对主板设计的影响,以及是否有操作系统提供支持,操作是否稳定,还要考虑是否需要为支持32位和64位两个系统而被迫增加成本开支。

  

  软件平台的支持:对于操作系统及软件开发商则考虑是否要增加开支,同时开发32位及64位应用程序,还是放弃原有开发的32位应用程序,转而开发64位应用程序。

  

  用户应用的选择:究竟将操作系统及应用程序升级到64位,还是保留原有32位的应用程序,让系统性能保持现有的水平。

  

  这些问题就像当初16位处理器转向32位一样,不同的是当时的硬件平台和软件平台没有现在这样纷繁复杂,因而很容易成为主流。而从英特尔发布的64位架构体系来看,从32位处理器到64位的转变必定不会像从前那么简单。虽然可以采用某些方式,如软件模拟解决向下兼容32位处理器的问题,但无疑带来性能的损失。对于英特尔和AMD来说,如何确定新的64位处理器的架构体系是至关重要的。

  

  IA-64与x86-64架构

  

  IA-64架构可以说是英特尔自80386起确立IA-32架构以来最大的发展,根据英特尔的设计思想,IA-64架构体系将拥有64位内存寻址能力,能够支持更大的内存寻址空间。同时IA-64采用显式并行指令计算(EPIC)技术,借助EPIC技术,编译器在保证并行处理指令时可以更加有效,并利用分枝判定技术来更加有效地处理条件分枝,降低分枝预测的失误率。IA-64具备全新的推断(Speculation)技术,通过这一技术,编码指令与其它指令一同进行处理,总体的处理时间大大缩短。IA-64还使用更完善的指令集(Bundled Instructions)技术,理论上兼容IA-32位指令集,能够同时支持IA-64和IA-32两种系统环境,并能够在IA-64系统环境中执行IA-64和IA-32指令的混合,前提是IA-64操作环境必须支持IA-32指令。

  

  由于IA-64不具备x86兼容能力,采用IA-64技术的处理器很可能无法确保现有的32位应用程序能够充分发挥其性能。还有就是采用像IA-64这样的全新指令集架构需要开发一套全新的工具集,包括编译程序、调试程序、组合程序以及简要表程序等。

  

  AMD的x86-64策略则是一方面确保沿用的32位应用程序及操作系统能够充分利用最新的处理器技术,另一方面又可建立一个可支持64位运算的系统。X86-64架构的设计是采用直接简单的方法将目前的x86指令集扩展。这个方法与当初的由16位扩展至32位的情形很相似。AMD为沿用已久的x86架构添加两个主要功能:长模式的64位扩展与寄存器扩展,使x86架构可以透过扩展成为新的x86-64架构。长模式内含两个子模式:即64位模式及兼容模式。长模式由一个称为LMA(长模式有效Long Mode Active) 的全面控制位启动。当LMA 关闭时,处理器将按照标准x86处理器工作,这时处理器可与所有目前的16及32位操作系统及应用程序兼容。若长模式一经启动,64位处理器的扩展便可进行操作,使系统可以按照本身及其处理器的能力自动重新配置。

  

  x86-64架构的优点是在适当的时候只要市场提供相关的软硬件支持,用户可以根据自己的需求确定是否采用64位运算架构,AMD的64位策略使软件开发商可以继续全面开发x86兼容软件,同时又可发挥64位运算的强劲性能,其他公司的64位解决方案均不能充分保障业界在软件方面的投资。此外,AMD的x86-64架构容许目前的16位及32位x86代码可以充分利用新处理器的设计特色以发挥更高的性能,无需耗费时间进行软件仿真。

  

  64位的Itanium与SledgeHammer

  

  随着英特尔与AMD相应64位处理器架构的提出,基于这两种架构的64位处理器也揭开了神秘的面纱。2000年的4月24日,英特尔展示了第一款IA-64架构的处理器Itanium,并将中文名称定为“安腾”,定位于高端服务器和工作站市场。架构的改变,也赋予Itanium处理器更优异的性能。Itanium具有128个整数寄存器、128个浮点寄存器、64个预测寄存器以及大量的用于特殊目的的寄存器,从而提供了32位架构所不能提供的许多强大功能。Itanium同时内建了英特尔的多媒体扩展指令集(MMX)和SSE(数据流SIMD扩展)功能,并且增加了特定SIMD浮点运算执行单元。同时Itanium也变成了三级缓存结构,其中L0和L1缓存集成在处理器核心,L2缓存(4MB)通过一个指定的128位总线与处理器相连,使它的整体性能大为提高,除此之外,Itanium还集成了如“机器检测架构(Machine-Check Architecture)”等其他一些的特殊功能,以应付复杂的高端服务器和工作站的需要。

  

  Sledgehammer是接替Athlon的新一代处理器,预定2001年底前推出原型处理器,2002年可能开始正式批量生产。Sledgehammer将沿用Athlon的基本指令集,但会增加执行64位软件的新功能。软件制造商只需稍加修改程序,不必重写新的程序。而且使用在桌面型计算机、笔记本型计算机或服务器的Sledgehammer芯片,基本架构都一样,可让计算机制造商自行决定要组装成32位或64位的系统。

  

  64位架构的挑战

  

  无论是Itanium还是SledgeHammer的处理器,都为进入64位架构吹响了号角,从前面的分析我们也看到,架构的改变给用户带来的最大困惑就是:一方面仍然需要高性能地运行一些32位的应用程序,另一方面又希望能够升级到64位平台以充分利用64位应用的强大性能。对于英特尔来说,这是Itanium或其它基于IA-64架构的处理器都无法解决的问题。虽然IA-32位架构已经存在许多的瓶颈和限制,转变到64位架构能充分发挥未来处理器的性能。或许更多的是英特尔采用独立的IA-64架构,以摆脱AMD在技术和市场上的步步紧逼。但这一点,AMD也早已看到,所以它在32位x86架构加入64位支持功能,以保持架构的发展。不过它同样也存在着弊病,继续选择x86的传统架构,就不可避免地要受到x86固有的一些局限性的制约。

  

  因而对两大处理器巨头来说,如何充分发挥64位架构处理器的性能是现在面临的巨大的挑战。英特尔和惠普公司共同推出的Itanium系列处理器,由于设计了全新的指令集,编写使用在Itanium上的软件必须配合Itanium的指令集。AMD的Sledgehammer具有在32位和64位之间切换的优势,但关键在于Sledgehammer执行64位应用软件的效果是否出众。如果Sledgehammer的64位处理器性能优秀,无疑可方便地打入高端服务器市场,但如果性能不敌英特尔Itanium,恐怕也只能算一款高速的64位桌面处理器。当然64位架构要完全确立,恐怕还必须借助整个系统平台的重新构建,也只有这一切条件成熟,64位架构才能充分发挥最大的性能。
分享到:
评论

相关推荐

    IA-64体系架构软件开发手册

    IA-64体系架构,全称为“Intel Architecture, 64-bit”,是由英特尔公司设计的一种高性能的处理器架构,主要用于服务器和工作站市场。该架构的主要代表是安腾(Itanium)系列处理器,它与传统的x86架构有显著区别,...

    IA-64.rar_IA 64 architecture_ia-64

    IA-64架构是安腾(Itanium)处理器家族的基础,旨在提供超越传统x86架构的计算能力,特别是在大规模并行处理和浮点运算方面。 IA-64架构的设计理念是结合RISC(精简指令集计算)的高效性和CISC(复杂指令集计算)的...

    IA-64体系架构软件开发手册(全三卷)

    IA-64体系架构,全称为Intel Itanium Architecture,是由Intel公司设计的一种64位处理器架构,主要用于高性能计算和服务器领域。这套软件开发手册详细阐述了IA-64架构的各个方面,是开发者、系统架构师和硬件工程师...

    英特尔 64 位和 IA-32 架构软件开发人员手册(全套最新)+最新历史更新说明-2022年4月

    1. **处理器架构**:详细介绍了英特尔64和IA-32处理器的内部结构,如流水线、缓存层次、寄存器布局等,以及它们如何影响程序的执行效率。 2. **指令集**:涵盖所有基本和高级指令,包括浮点运算、SIMD(单指令多...

    IA-64CPU指令集及编程方法(英文版)

    IA-64(Intel Architecture, 64-bit),也称为Itanium架构,是由Intel公司开发的一种64位处理器架构,主要用于高性能计算和服务器市场。IA-64的设计目标是提供一种全新的、面向并行处理的指令集架构(ISA),以替代...

    [Intel.64.and.IA-32体系结构:软件开发人员手册]文字版

    - **Intel 64 和 IA-32 架构**:这是由 Intel 公司设计的一种计算机体系结构,支持两种不同的指令集架构(ISA):Intel 64(也称为 x86-64 或 AMD64)和 IA-32(即传统的 32 位 x86 架构)。这种混合架构使得系统...

    64-ia-32-architectures-software-developer-manual

    Volume A,"Basic Architecture",基础架构篇,主要介绍IA-32和x86-64架构的基本概念、处理器操作、指令系统、寄存器结构、内存模型以及中断和异常处理。其中,IA-32架构是Intel 386及其后续处理器的基础,而x86-64...

    英特尔64和IA-32架构软件开发人员手册(十卷)

    随着技术的发展,英特尔推出了64位扩展,命名为英特尔64,也被称为EM64T或x86-64。它在保持向后兼容IA-32的基础上,提供了更大的虚拟地址空间和增强的指令集。 手册第一卷主要讲解了体系结构的概述,包括处理器的...

    Intel 64及IA-32 架构优化参考手册

    #### 二、Intel 64及IA-32处理器架构 1. **架构介绍**: - **Intel 64架构**:是一种64位计算架构,由Intel开发,兼容IA-32架构,允许在同一个平台上同时支持32位和64位的应用程序。 - **IA-32架构**:即Intel ...

    Intel 64 and IA-32 Architectures Software Developer’s Manual

    《Intel 64 and IA-32 Architectures Software Developer’s Manual》是一本极其重要的技术文档,为软件开发者提供了深入理解Intel 64(也称为x86-64)和IA-32处理器架构的全面指南。这本手册由九个卷组成,涵盖了从...

    英特尔® 64 和 IA-32 架构软件开发人员手册合并版移除密码

    《英特尔® 64 和 IA-32 架构软件开发人员手册》(以下简称“手册”)是英特尔公司为开发者提供的一份详尽的技术文档,它包含了关于英特尔64位架构(Intel® 64)和IA-32架构(即传统的32位x86架构)的所有关键技术...

    64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf

    第一卷“基本架构”(Order Number 253665)介绍了Intel 64和IA-32架构的基础,包括处理器结构、内存模型、总线接口以及相关的硬件特性。这部分内容对于理解处理器的工作原理至关重要,涵盖了从基本的指令执行到高级...

    64-ia-32-architectures-software-developer-vol-2b-manual.zip

    标签“intel”表明这个资料与Intel处理器及其技术相关,特别是64位IA-32架构,也称为x86-64或AMD64,是Intel和AMD共同发展的扩展,它兼容32位x86指令集,并增加了新的64位指令。 压缩包内的“64-ia-32-...

    英特尔 64 位和 IA-32 架构软件开发人员手册第 3 卷(2019年10月最新更新)

    英特尔发布的《英特尔64位和IA-32架构软件开发人员手册》是一系列详细的文档,旨在向软件开发者提供必要的技术信息,以帮助他们充分利用这些处理器架构的特性。手册共有四卷,每一卷都针对不同的技术领域提供了深入...

    英特尔64和 IA-32 体系结构的软件开发人员手册卷2-指令集参考.pdf

    英特尔64架构,也被称作x86-64或AMD64,是一种64位处理器架构,向下兼容传统的32位x86架构。IA-32架构是32位版本,它是x86架构的直接继承者。 英特尔为这些架构提供了四卷系列的手册,它们是软件开发人员在进行硬件...

    IA-32卷3:系统编程指南中文版

    1. **IA-32架构**:IA-32是Intel开发的一种32位微处理器架构,它包括了一系列的x86处理器,如Pentium、Pentium Pro、Pentium II、Pentium III等。IA-32架构定义了处理器的指令集、寄存器结构、内存模型和总线接口。 ...

    IA-32架构软件开发人员手册卷3:系统编程指南(包括中英两版)

    64,也称为x86-64或AMD64,是对IA-32的扩展,增加了64位寻址和数据处理能力。这个扩展使得处理器能够处理更大的内存和更复杂的计算任务。 3. **系统编程**:系统编程涉及操作系统、设备驱动程序、内核模块等底层...

    IA-32机器码

    随着技术的发展,IA-32逐渐被64位架构如x86-64所取代,但至今仍有许多系统和软件基于IA-32架构运行。 #### Intel Core i7与IA-32架构 Intel Core i7系列处理器是英特尔推出的高端处理器系列,它不仅支持IA-32架构...

Global site tag (gtag.js) - Google Analytics