x86和x64处理器有什么区别?
发布网友
发布时间:2022-08-20 18:50
我来回答
共1个回答
热心网友
时间:2023-11-08 20:48
Linux操作系统中x64和x86的区别如下:
一、寄存器分配的不同
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位的返回地址;
许多函数不再有栈帧,只有无法将所有本地变量放在寄存器里的才会在栈上分配空间;
一些寄存器被设计成为被调用者-存储的寄存器,这些必须在需要改变他们值的时候存储他们并且之后恢复他们。
三、参数传递的不同
6个寄存器用来传递参数;
剩下的寄存器按照之前的方式传递(不过是与rsp相关了,ebp不再作为栈帧指针,并且从rsp开始第7个参数,rsp+8开始第8个,以此类推);
调用时,rsp向下移动8位(存入返回地址),寄存器参数无影响,第7个及之后的参数现在则是从rsp+8开始第7个,rsp+16开始第8个,以此类推;
四、栈帧的不同
很多情况下不再需要栈帧,比如在没有调用别的函数,且寄存器足以存储参数,那么就只需要存储返回地址即可,需要栈帧的情况:
a. 本地变量太多,寄存器不够;
b. 一些本地变量是数组或结构体;
c. 函数使用了取地址操作符来计算一个本地变量的地址;
d. 函数必须用栈传送一些参数给另外一个函数;
e. 函数需要保存一些由被调用者存储的寄存器的状态(以便于恢复)
五、运算速度的不同
64位cpu的数据宽度为64位,64位指令集可以运行64位数据指令,也就是说处理器一次可提取64位数据,比32位提高了一倍,理论上性能会相应提升1倍。
x86和x64有啥区别而不同位数的操作系统,对CPU的运算方式产生的影响或者要求亦不同,所以从更深层次的角度来说,windows64和32位是指CPU运算方式的差异。windowsx64和x86最主要的区别:很多人之所以关注windowsx64和x86的差异,是因为32位...
x86和x64有何不同?
主要有以下不同:X86表示的是32位操作系统,支持的最大内存是3.2g,无论插多大的内存条,都只能当3.2g用。而x64是64位系统,支持的内存最大为128G;X86是台式机CPU架构,x64是笔记平台架构,X86和X64是CPU架构的代号...
x86和x64的区别是什么?
第二,要求配置不同。64位操作系统只能安装在64位电脑上(CPU必须是64位的)。同时需要安装64位常用软件以发挥64位(x64)的最佳性能。32位操作系统则可以安装在32位(32位CPU)或64位(64位CPU)电脑上。当然,32位操作系统...
Win7系统x86和x64的区别是什么
第二,要求配置不同。64位操作系统只能安装在64位电脑上(CPU必须是64位的)。同时需要安装64位常用软件以发挥64位(x64)
win1064位和x86的区别?
1x64其实就是64位,x86其实就是32位;在口语中经常说32位会多于x86(下文以32位指代x86,以64位指代x64).232位和64位,都是用来形容操作系统的,而不同位数的操作系统,对CPU的运算方式产生的影响或者要求亦...
x64和x86的区别
而64位操作系统只能安装在64位电脑上(CPU必须是64位的)。同时需要安装64位常用软件以发挥64位(x64)的最佳性能。3、寻址能力不同:32位CPU和操作系统最大只可支持4G内存;64位处理器的优势还体现在系统对内存的控制上...
win10x86与x64区别详情
windowsx64和x86的区别,x86其实就是x32,32与64分别代表着cpu的运行速度,计算机使用的是二进制运算方法,32就代表了2的32次方,也就是4GB左右,最大只能支持4G的运行内存,而64最高可以支持运行内。1“x64x86有啥...
64和86有什么区别???
1、表达的意思不同。X64表达的意思是CPU为64位的操作系统。X86表达的意思是CPU为32位的操作系统2、配置要求不同。X64的操作系统只能安装在CPU为64位的计算机上。X86的操作系统可以安装在32位(32位CPU)或64位(64位CPU...
win10x86与x64区别详情
其中,x64指的是64位操作系统,x86指的是32位操作系统。这是根据处理器芯片架构来进行划分的。X86表示的是32位操作系统,支持的最大内存是2g,无论插多大的内存条,都只能当2g用。两者一次性处理处理的数据量不一样:32...
电脑和服务器X86架构和X64架构的区别是什么?
实际上X86架构是基础架构,X64架构是基于X86的,也可称为X86-64架构。具体介绍如下:\x0d\x0ax86或80x86是英特尔Intel首先开发制造的一种微处理器体系结构的泛称。该系列较早期的处理器名称是以数字来表示,并以“86”...