绵绵's profile我讨厌强力党PhotosBlogLists Tools Help

Blog


    8/1/2006

    处理器的一些概念,相当枯燥,点的要小心~~

    今天稍微研究了一下处理器相关概念,记在这省得我忘了,同时提供ryan同志参考。

    IA32: 又称作x86-32,i386intel提出的一套指令集。IAIntel Architecture的缩写。这套指令集1985年就提出来了,目前仍然为大多数处理器所用,并且更加神奇的是,这套指令集从未被修改过。

     

    x86: IA32 IA16的统称,个人认为用来作为这个architecture的统称更加acceptable

     

    IA64: 除了名字相似,跟IA32其实没什么关系。哦,对了,都是intel设计的。丢弃了IA32定义的整套指令集,并且不再采用乱序执行(out-of-order execution, CPU不按程序的执行顺序,将指令分发给各相电路单元,再按原顺序重新组合计算结果)的模式,转而采用VLIWVery Long Instruction Word),其实就是把指令平行计算的schedule提前到编译器去处理,而不是执行时让硬件去算,降低了硬件复杂性,不过明显编译器的复杂性肯定就上去了。IA64只能通过特殊的硬件来支持IA32,并且相当地慢~~~

     

    Itanium: Itanium处理器采用的就是IA64HPintel一起整的。这种处理器主要用于服务器和数据库,虽然已得到众多硬件厂商的支持,主流硬件商IBM,DellSun却并不买帐呢。软件支持还是不错的,目前支持或者宣称支持Itanium的软件主要有:

    Windows 2000, 2003, Vista,主要是服务器版本;

    SQL Server, IIS, Visual Studio, .NET Framework

    HP UNIX

    Linux kernel和一些GNU Linux Distribution,包括red hat enterprise linux, suse linux enterprise server, debian

    FreeBSD,NetBSD的支持还没有,不过已经在开发了。

     

    x86-64: 顾名思义继承了x86的架构和指令集,64位的操作模式,对IA32的指令集进行了扩展,通用寄存器数量加到16个,翻了一倍,SSE寄存器加到16个,通用寄存器更加地名副其实,对其的使用不再受到限制,放弃了段寄存器的许多功能。总之,就是优化了。。。这一切是谁做的呢?不是intel,是AMD, haha, 我家就用AMD,所以x86-64又名AMD64。这个跟EM64T一起说吧,说来也比较搞笑,intel自己不接着做x86AMD拿去做了,intel又把AMD改过的版本拿回来改了改了自己也用,关系相当扭曲~~改了之后自己又起个名叫EM64T或者IA32e,反正差不多就对了。

    支持AMD64的操作系统有:

    DOS

    FreeBSD

    Linux,包括Debian, Gentoo, Novell, SUSE, Fedora, Mandriva, Red Hat, CentOS。。。

    NetBSD

    OpenBSD3.5及以后

    Solaris 10及以后

    Windows XP x64 EditionWindows 2003 SP1 x64 Edition

    支持AMD的处理器有:

    AMD Athlon 64, Athlon 64 X2, Athlon 64 FX, Opteron, Turion 64, Sempron

    Intel Xeon, Celeron D, Pentium 4, Pentium D, Pentium Extreme Edition, Core 2

     

    x86-64IA64,后者多用于服务器和数据库,前者看起来在client的应用应该更加广泛,不过两个人都还很缺乏相应applications的支持,大家上啊~~~