概述
写过汇编程序的朋友都知道,指令或数据有对齐一说,说要放在地址为4倍数上,可里面的原因何在,按照道理内存是按字节寻址的,对齐不对齐又有什么关系呢,疑问疑问甚是疑问,于是我研究啦一遍计算机存储体系最后得出啦自己的答案:
虽然内存是按字节寻址,但是高速缓存是采用组相连映像,比如4路组相联,组内4行,而每行就是我们映射的最小单元,一般采用4字节。也就是说如果你没有对齐的话,指令在最坏情况下,需要把内存里的指令所在的前4个字节后4个字节都调入cache,然后才能送入cpu,其效率可想而知。
注:这只是我自己的答案,有什么想法,交流下呗。
转载于:https://blog.51cto.com/huangfeng1993/1159933
最后
以上就是超级鱼为你收集整理的汇编对齐的原因的全部内容,希望文章能够帮你解决汇编对齐的原因所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复