64X86X64有啥区别?
1、“x86-64”,有时会简称为“x64”,是64位微处理器架构及其相应指令集的一种,也是Intel x86架构的延伸产品。“x64”最先由AMD设计,推出时被称为“AMD64”,其后也为英特尔所采用,现时英特尔称之为“Intel 64”。
在之前曾使用过Clackamas Technology (CT)、IA-32e及EM64T。外界多使用 "x86-64" 或 "x64" 去称呼此64位架构,从而保持中立,不偏袒任何厂商。
2、x86是一个Intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,X与处理器没有任何关系,它是一个对所有*86系统的简单的通配符定义,例如:i386, 586,奔腾(pentium)。
3、IA64处理器I-tanium(安腾)是Intel自推出32位微处理器以来,在高性能计算机领域的又一座里程碑。
基于IA64处理器架构的服务器具有64位运算能力、64位寻址空间和64位数据通路,突破了传统IA32架构的许多限制,在数据的处理能力,系统的稳定性、安全性、可用性、可观理性等方面获得了突破性的提高。
扩展资料:
1、ia64功能介绍
x64和ia64处理器都能够运行64位操作系统和应用程序,但是区别在于:x64架构基于x86,是为了让x86架构CPU兼容64位计算而产生的技术。
x64架构的设计是采用直接简单的方法将目前的x86指令集扩展。这个方法与当初的由16位扩展至32位的情形很相似。优点在于用户可以自行选择x86平台或x64平台,兼容性高。
ia64则是原生的纯64位计算处理器,并且与x86指令不兼容。如果想要执行x86指令需要硬件虚拟化支持,而且效率不高。优点在于ia64架构体系将拥有64位内存寻址能力,能够支持更大的内存寻址空间。
并且由于架构的改变,性能比起x64的64位兼容模式更高更强。所以,ia64操作系统也是比较少见的,由于只能在Intel安腾系列处理器及AMD部分服务器处理器运行,所以主流市场并不常见。而且,这些ia64架构处理器也不能够使用x64操作系统。
而x64处理器则可以自由选择x86或是x64操作系统。
2、x86的实时模式
Intel 8086和8088有14个16位寄存器。其中四个(AX, BX, CX, DX)是通用目的(尽管每个寄存器都有附加目的;举个例子:只有CX可以被用来当作loop(循环)指令的计数器。)每个寄存器可以被当成两个分开的字节访问(因此BX的高位可以被当成BH,低位则可以当成BL)。
除了这些寄存器,还有四个区段寄存器(CS、DS、SS、ES)。他们用来产生存储器的绝对地址。还有两个指针寄存器(SP是指向堆栈的底部,BP可以用来指向堆栈或存储器的其它地方)。两个指针寄存器(SI和DI)可以用来指向数组的内部。
最后,有标志寄存器(包含状态标志比如进位、溢出、零标志,等等)。以及IP是用来指向目前运行指令的地址。
在实模式下,存储器的访问是被区段开来。为了得到最后20位的存储器地址,要将区段的地址往左移动4位,并且加上偏移的地址。因此,实模式下总共可以寻址的空间是2字节,或者是1MB,于1979年是相当让人印象深刻的象征。在实模式下有两种寻址模式:near和far。
在 far模式,区段跟偏移都需要被指定;在near模式,只需要偏移模式被指定,而存储器区段是由适当的区段寄存器获得。以数据而言是使用DS寄存器,代码是CS寄存器,堆栈是SS寄存器。举个例子,如果DS是A000h且SI是5677h,DS:SI会指向计忆体的绝对地址DS × 16 + SI = A5677h
在这种架构下,两对不同的区段/偏移可以指向一个相同的绝对地址。因此如果DS是A111h且SI是4567h,DS:SI会指向跟上一段相同的A5677h。除了duplicity之外,这种架构无法同时一次拥有4个以上的区段。
此外,CS、DS和SS是为了程序正确功能而必须的,因此仅仅只有ES可以被用来指向其它的地方。这种模式原本是为了与Intel 8085兼容,导致程序设计师永无止尽的痛苦。
除了以上所说的,8086也拥有8-bit的64K(另一种说法是16-bit的32K)输入输出(en:I/O)空间,以及一个由硬件支持的64K(一个区段)存储器堆栈。只有words(2字节)可以被推入到堆栈中。堆栈是由存储器的上端往下成长,他的底端是由SS:SP指向。
有256个中断(interrupts),可以由硬件或是软件同时组成。中断是可以串连在一起,使用堆栈来储存返回被中断的程序地址。
参考资料:
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有