汇编对齐的原因
原创huangfeng1993 ©著作权
©著作权归作者所有:来自51CTO博客作者huangfeng1993的原创作品,请联系作者获取转载授权,否则将追究法律责任
写过汇编程序的朋友都知道,指令或数据有对齐一说,说要放在地址为4倍数上,可里面的原因何在,按照道理内存是按字节寻址的,对齐不对齐又有什么关系呢,疑问疑问甚是疑问,于是我研究啦一遍计算机存储体系最后得出啦自己的答案:
虽然内存是按字节寻址,但是高速缓存是采用组相连映像,比如4路组相联,组内4行,而每行就是我们映射的最小单元,一般采用4字节。也就是说如果你没有对齐的话,指令在最坏情况下,需要把内存里的指令所在的前4个字节后4个字节都调入cache,然后才能送入cpu,其效率可想而知。
注:这只是我自己的答案,有什么想法,交流下呗。
上一篇:哈夫曼编码正确性证明
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
结构体大小计算-结构体对齐
计算某一结构体大小:方法以及规则。
偏移量 #pragma 结构体 结构体大小计算 -
python 左对齐,右对齐
python左对齐,python右对齐
python左对齐