英特尔推出X86架构已满20年了,同486相比,Pentium向前迈进了一大步, 而PⅡ的前进步伐则没有这么大了,X86 CPU的发展似乎已到了尽头。
英特尔非常清楚,是X86指令集限制了CPU性能的进一步提高,因此,他们正同惠普一道努力开发下一代指令集架构(Instruction Set Architecture ,ISA): EPIC(Explicitly Parallel Instruction Computing,显性并行指令计算)。对英特尔而言, IA-64(英特尔的64位架构)是下一个10到15年的架构。新的ISA将使英特尔摆脱X86架构的限制,从而设计出超越所有现有RISC CPU和X86 CPU的新型处理器。那么EPIC的先进之处在什么地方呢?为什么英特尔会放弃使它成为芯片巨人的X86架构呢?
一、IA-32的问题
我们知道,工程师可以通过提高每个时钟的指令执行数来提高性能,英特尔新的指令集的首要目的在于,让指令更容易解码,更容易并行执行。这样就可以不受限制地开发新型处理器。
但是,对工程师而言,兼容8086的X86指令集一直是必须完成的任务。毕竟,兼容前代产品是使英特尔成长壮大起来的关键因素,而且还可以保护用户原先的投资和使用数以百万计应用软件。既然如此,为什么又要放弃整个X86指令集重新开始呢?X86的不足在什么地方?
(1)可变的指令长度
X86指令的长度是不定的,而且有几种不同的格式,结果造成X86 CPU的解码工作非常复杂,为了提高CPU的工作频率,不得不延长CPU中的流水线,而过长的流水线在分支预测出错的情况下,又会带来CPU工作停滞时间较长的弊端。
(2)寄存器的贫乏
X86指令集架构只有8个通用寄存器,而且实际只能使用6个。这种情况同现代的超标量CPU极不适应,虽然工程师们采用寄存器重命名的技术来弥补这个缺陷,但造成了CPU过于复杂,流水线过长的局面。
(3)内存访问
X86指令可访问内存地址,而现代RISC CPU则使用LOAD/STORE模式,只有LOAD和STORE指令才能从内存中读取数据到寄存器,所有其他指令只对寄存器中的操作数计算。在目前CPU的速度是内存速度的5倍或5倍以上的情况下,后一种工作模式才是正途。
(4)浮点堆栈
X87 FPU是目前最慢的FPU,主要的原因之一就在于X87指令使用一个操作数堆栈。如果没有足够多的寄存器进行计算,你就不得不使用堆栈来存放数据,这会浪费大量的时间来使用FXCH指令(即把正确的数据放到堆栈的顶部)。
(5)4GB限制
这似乎不是问题,但是,在6年前,主流PC只有4MB内存,而目前的绝大部分PC装备了64MB以上的内存,是以前的16倍,所以,在下一个十年,PC内存突破1GB绝对不会令人惊讶,而且目前的大型服务器已经使用了1GB以上的内存,突破4GB内存的情况很快就会出现。
(6)芯片变大
所有用于提高X86 CPU性能的方法,如寄存器重命名、巨大的缓冲器、乱序执行、分支预测、X86指令转化等等,都使CPU的芯片面积变得更大,也限制了工作频率的进一步提高,而额外集成的这些晶体管都只是为了解决X86指令的问题。
分享到:
相关推荐
en_.net_framework_3.5_service_pack_1_x86_x64_ia64.rar
en_.net_framework_3.5_service_pack_1_x86_x64_ia64.exe.zip
.NET Framework 3.5 Service Pack 1 (x86, x64, ia64) - EXE (English) 下载地址,赚点积分,感谢!感谢!赚点积分,感谢!感谢!赚点积分,感谢!感谢!赚点积分,感谢!感谢!赚点积分,感谢!感谢!
SQL Server 2008企业版是一个全面的数据管理和业务智能平台,为关键业务应用提供了企业级的可扩展性、数据仓库、安全、高级分析和报表支持。这一版本将为你提供更加坚固的服务器和执行大规模在线事务处理。这个是...
sql_server_2008_enterprise_x86_x64_ia64_dvd.iso - ISO 9660 Joliet,
intel 64&IA32 optimization reference manual
Microsoft Visual C++ Redistributable Package (x86) 安装 Visual C++ 库的运行时组件,使用户能够在未安装 Visual C++的计算机上运行使用 Visual C++ 开发的应用程序. 本程序包为 C 运行时库 (CRT)、标准 C++、ATL...
文件太大,上传在百度网盘,方便自己,方便大家
SQL Server 2008企业版是一个全面的数据管理和业务智能平台,为关键业务应用提供了企业级的可扩展性、数据仓库、安全、高级分析和报表支持。这一版本将为你提供更加坚固的服务器和执行大规模在线事务处理。这个是...
目前最新版的imagex,三种平台版本.三个单独日exe文件 很好用....
picbasic pro for pic microcontroller usb
cn_sql_server_2008_r2_enterprise_x86_x64_ia64_dvd_522233.rar
解决问题:C:\Windows\System32\tcnative-1.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform 压缩包内包含:X64和X86的tcnative-1.dll文件
imagex 6.3.9600, x86&amd64 包含imagex 6.1.7600 imagex拆解封装映像文件工具 ImageX 是一个命令行工具,原始设备制造商 (OEM) 和公司可以使用它来捕获、修改和应用基于文件的磁盘映像以进行快速部署。ImageX 可以...
Windows Vista & Server 2008 Service Pack 2 Beta (X86 & X64 & IA64) 多国语言版下载地址(2008.12.4)
Windows SDK 7.1 winsdk_dvdx86 winsdk_dvdia64 我自己用的安装包,放这里备份。
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
Intel’s IA32 instruction set architecture (ISA...at x86-64, followed by a summary of the main features that distinguish x86-64 code from IA32 code, and then work our way through the individual features.
The Intel® 64 and IA-32 Architectures Optimization Reference Manual describes how to optimize software to take advantage of the performance characteristics of IA-32 and Intel 64 architecture ...
The Intel 64 and IA-32 Architectures Software Developer's Manual consists of three volumes: Basic Architecture, Order Number 253665; Instruction Set Reference A-Z, Order Number 325383; System ...