有人知道关于低级架构/汇编器内部结构的最佳“官方”英特尔文档在哪里吗?ESP 如何工作,各种寄存器如何从 RAM 获取值等?
英特尔网站非常庞大,我可以找到 Agner Fog 的网站 - 但我期待的是一份庞大的文档。
答案1
绝对权威的参考是Intel 64 和 IA-32 架构软件开发人员手册,它们是从程序员的角度理解 x86 架构的重要资源(假设您已经熟悉汇编)。
我建议您下载合并的 1 至 3C 卷(该页面上的第一个下载链接)。第 1 卷是对英特尔 x86(-64) 架构的一个很好的概述,包括有关流水线深度、寄存器大小以及处理器中可用组件的各种细节。如果您需要参考特定指令的工作原理,请参阅第 2 卷第 3-4 章(我相信该卷后面也会介绍二进制指令编码)。
至于汇编程序本身是如何工作的,这完全取决于什么您首先使用的汇编程序。您可以在各自的网站上轻松找到 NASM/GAS 的汇编程序详细信息,并且有大量有关 MASM(32) 的资源。但是,这一切都与 CPU 的工作方式无关,因此我相信您所要求的内容应该完全由上面链接的英特尔文档涵盖。
答案2
关于可用资源的一个很好的概述是StackOverflow x86 标签 wiki。
如果你想直接引用英特尔,英特尔® 64 和 IA-32 架构软件开发人员手册满足您的所有需求。约 3800 多页...
要分析软件的性能,英特尔® 架构代码分析器非常有用。
如果你的处理器已经过时(比如不支持 AVX-512 :-),你可以使用英特尔® 软件开发模拟器。