问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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倍。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怀孕四个月补钙可以吗 孕妇吃什么时候钙片好 孕妇吃什么钙片最好 怀孕补钙是必须的吗?孕妇钙片品牌哪个好? ...在长高的黄金发育时期,会影响容貌五官的变化吗,不仅没有发育到变... 冬至吃饺子的诗词 立冬吃饺子的暖心诗词 宁波全封闭学校有哪些 宁波市北仑区小港镇会计学校在那? 或红联镇也可以 江南教育集团小港中心幼儿园园况介绍 红联哪里有报暑假班 辛亥首义的武昌起义别称 苹果原装充电器寿命 应该如何正确护肤 护肤知识? 有人说从微信头像可以看出一个人的性格和心情,你觉得呢? 不会飞的鸟幼儿园教案 渡渡鸟知行生课堂什么模式 妈妈哲学渡渡鸟最终目的 渡渡鸟妈妈哲学费用高吗 渡渡鸟妈妈哲学怎么盈利 渡渡鸟妈妈哲学是传销吗 鼠标不能拖拽,文件夹都不能拖了,可是网页可以拖拽?这是什么问题,谁能帮帮我呀? 子宫内膜厚约14cm,这个算正常吗 vivo手机如何将文章复制到相册 大王卡开蓝牙听歌是免流量吗? 打扫楼梯有什么妙招吗 清扫房间的小方法 子宫8mm正常么 月经第三天子宫内膜厚17cm正常吗 激励人的心灵鸡汤励志语录 心灵鸡汤励志语录72条 为什么我有时做梦时候,梦到一些东西感觉自己也在动一样,昨晚差点滚床下去,且有时做梦还能听到自己呼噜 温7系统怎么设置密码 白色的运动鞋变黄后,怎样能再变白? 如何分析评价苹果公司在市场竞争中的优势? 对苹果公司的评价 如何评价苹果公司? 对苹果公司的认识和想法 大家快帮帮我啊!!分析苹果公司的优势和劣势,提出产品开发的方向 卖鞋销售技巧和话术 持续经营的含义和作用是什么? 持续经营指什么 持续经营是什么意思啊? 持续经营是指什么? 会计的持续经营是什么意思 持续经营原则是什么意思 持续经营的含义是什么呢? 时候比大盘差,什么白马股 雕梁绣户成语解释 DiefarySupplemenf100softgels译成中文是什么意思啊 she made her way easily enough to...这句话的意思难道不是说选择一条足够容易的方式吗?那为什么用