gpt4 book ai didi

optimization - 机器码对齐

转载 作者:行者123 更新时间:2023-12-03 16:10:06 26 4
gpt4 key购买 nike

我想了解机器代码对齐的原理。我有一个汇编器实现,它可以在运行时生成机器代码。我在每个分支目标上使用 16 字节对齐,但看起来这不是最佳选择,因为我注意到如果我删除对齐有时相同的代码工作得更快。我认为这与缓存线宽度有关,因此某些命令被缓存线切断,因此 CPU 会遇到停顿。因此,如果在一个地方插入了一些对齐字节,它会将指令移动到某个地方,进一步通过缓存边界线......

本来希望实现一个自动对齐的程序,可以将一段代码作为一个整体处理,并根据CPU的规范(缓存线宽,32/64位等)插入对齐...

有人可以提供有关此程序的一些提示吗?例如, objective-c PU 可以是 Intel Core i7 CPU 64 位平台。

谢谢你。

最佳答案

我没有资格回答你的问题,因为这是一个如此庞大而复杂的话题。除了缓存行大小之外,这里可能还有更多机制在起作用。

但是,我想向您指出 Agner Fog's siteoptimization manualscompiler makers你可以在那里找到。它们包含有关这些主题的大量信息 - 缓存行、分支预测和数据/代码对齐。

关于optimization - 机器码对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5217855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com