【发布时间】:2020-09-28 01:42:20
【问题描述】:
我想知道:在 x86 架构上,从寄存器读取值或从 RAM 读取值需要更多时间/CPU 周期吗?我会假设 RAM,因为 CPU 必须与某种地址/内存总线接口,而使用寄存器它从硬编码区域读取。这是正确的,还是需要考虑其他因素?
【问题讨论】:
-
查看编译器生成的 asm。它总是尽可能使用寄存器,而不是内存。如果这个问题的答案对您来说不是很明显,请阅读agner.org/optimize 和stackoverflow.com/tags/x86/info 中的其他性能链接。
-
相关:Why are CPU registers fast to access? - x86 也不例外,寄存器比 L1d 缓存还要快。
标签: x86 ram cpu-registers