首页技术x86_64(x86x64有哪些特点)

x86_64(x86x64有哪些特点)

编程之家2024-06-1217次浏览

一、x86和x64处理器有什么区别

Linux操作系统中x64和x86的区别如下:

x86_64(x86x64有哪些特点)

一、寄存器分配的不同

64位有16个寄存器,32位只有8个,32位前8个都有不同的命名,分别是e_,而64位前8个使用r代替e,即r_;

32位使用栈帧来作为传递的参数的保存位置,而64位使用寄存器,分别用rdi、rsi、rdx、rcx、r8、r9作为第1-6个参数,rax作为返回值;

64位没有栈帧的指针,32位用ebp作为栈帧指针,64位取消了这个设定,rbp作为通用寄存器使用;

二、函数调用的不同

x_64的参数通过寄存器传递,callq在栈里存放一个8位的返回地址;

x86_64(x86x64有哪些特点)

许多函数不再有栈帧,只有无法将所有本地变量放在寄存器里的才会在栈上分配空间;

一些寄存器被设计成为被调用者-存储的寄存器,这些必须在需要改变他们值的时候存储他们并且之后恢复他们。

三、参数传递的不同

6个寄存器用来传递参数;

剩下的寄存器按照之前的方式传递(不过是与rsp相关了,ebp不再作为栈帧指针,并且从rsp开始第7个参数,rsp+8开始第8个,以此类推);

调用时,rsp向下移动8位(存入返回地址),寄存器参数无影响,第7个及之后的参数现在则是从rsp+8开始第7个,rsp+16开始第8个,以此类推;

x86_64(x86x64有哪些特点)

四、栈帧的不同

很多情况下不再需要栈帧,比如在没有调用别的函数,且寄存器足以存储参数,那么就只需要存储返回地址即可,需要栈帧的情况:

a.本地变量太多,寄存器不够;

b.一些本地变量是数组或结构体;

c.函数使用了取地址操作符来计算一个本地变量的地址;

d.函数必须用栈传送一些参数给另外一个函数;

e.函数需要保存一些由被调用者存储的寄存器的状态(以便于恢复)

五、运算速度的不同

64位cpu的数据宽度为64位,64位指令集可以运行64位数据指令,也就是说处理器一次可提取64位数据,比32位提高了一倍,理论上性能会相应提升1倍。

二、x86 版和x64版有什么区别

系统x86与x64的区别:

1、内存寻址能力区别

32位系统寻址能力是4G容量,不过需要保留一些给硬件使用,因此留给用户的可用内存一般是3.25g-3.5G容量左右,即使你插上8G内存,也无法识别那么大容量,而64位系统可以支持128GB大内存,甚至更大。

2、运算速度区别

安装64位系统,需要CPU必须支持64位,而64位CPU GPRs的数据宽度为64位,64位指令集可以运行64位数据指令,也就是说处理器一次可提取64位数据,比32位提高了一倍,理论上性能会相应提升一倍。

3、设计初衷区别

早期,64位操作系统的设计初衷是为了满足机械设计和分析、三维动画、视频编辑和创作,以及科学计算和高性能计算应用程序等领域中需要大量内存和浮点性能的客户需求,而32位系统,初期并没有考虑太多。

扩展资料:

X86是32位版本的系统,而X64是64位版本的系统。

一些古董级的CPU可能才是32位,只支持32位版本系统,但是32位CPU的电脑不能装64位的系统。目前的CPU都是基于64位设计的,也就是X64架构,支持64位系统,同时也兼容32位系统,建议首选64位版本系统。

目前CPU已经普及64位,而系统主流也是64位了,如果电脑安装的是32位系统,8GB内存实际识别不到8GB,仅仅可以识别4G容量不到,浪费硬件性能,因此下载系统选择X64版本系统。

三、x86和X64是什么意思

x64和 x86指的都是操作系统。其中,x64指的是64位操作系统,x86指的是32位操作系统。这是根据处理器芯片架构来进行划分的。

x86-64(又称x64,即英文词64-bit extended,64位拓展的简写)是x86架构的64位拓展,向后兼容于16位及32位的x86架构。x64于1999年由AMD设计,AMD首次公开64位集以扩展给x86,称为“ AMD64”。其后也为英特尔所采用,现时英特尔称之为“Intel 64”。

目前的电脑CPU都是基于64位设计,也就是X64,只有很早以前的一些古董CPU才是X86(32位)版本,因此一般我们下载系统版本,是选择X64,除非是CPU为X86架构,很老的电脑。

对于内存:32位系统最高可支持4G,而64位系统最高可支持16T。

对于操作系统:64位操作系统只能安装在64位CPU的计算机上,而32位操作系统能够安装在32位或64位CPU的计算机上。

软件兼容性问题:32位系统不能运行64位程序,但是64位系统可以运行32位程序。通常情况下, 32位系统安装32位软件,而64位系统安装64位软件。

问题来了,如何查看Windows操作系统多少位呢?

我们只需要鼠标右键单击“此电脑(我的电脑)”选择【属性】,出现的界面找到“系统类型”一栏,就可以看到电脑的操作系统位数。

如何查看mac操作系统多少位呢?

打开终端,输入命令 uname-a回车

x86_64表示系统为64位

i686表示系统32位

cdce(CDCE是什么)万能摄像头驱动怎么用(万能摄像头驱动怎么用)