如果这些是愚蠢的问题或者它们与本网站无关,我很抱歉。我真的不知道我还能在哪里问这个。
好的,首先,我不太了解微处理器上的指令集是如何工作的。它们是通过汇编语言实现的吗?英特尔是否对一系列 CPU 的所有微处理器(例如 Haswell 或 Ivy Bridge)使用相同的指令集,还是每个特定的微处理器都不同?我一直认为微体系结构与指令集是一回事,但显然不是。有人也可以向我解释一下吗?最后一件事:有什么地方可以查看 Intel 或 AMD 微处理器的指令集吗?
非常感谢您提前。
如果您需要任何 CPU 的指令列表,通常您需要该 CPU 的指令集参考或程序员参考指南。
英特尔:http : //www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
AMD:http : //developer.amd.com/resources/documentation-articles/developer-guides-manuals/(架构程序员手册是你想要的)
英特尔有多种处理器架构,x86 是其(也是)最受欢迎的架构。随着时间的推移,x86 已经(并将继续)扩展,通常较晚的修订版向后兼容早期的修订版。例如,Intel 的第一个 x86 架构处理器是 8088,然后 80286 就出来了。它扩展了 8088 指令集。80286 理解所有 8088 程序集。在 80386、80486、Pentium、Core 系列和 i 系列中,依此类推。
我一直认为微架构和指令集是一回事
不。微体系结构在“下方”并实现了主要体系结构。在这种情况下,英特尔有许多微架构可以实现各种修订版 x86 指令集。为了学习汇编语言编程,您不需要担心微体系结构。您确实需要知道您使用的是哪个x86修订版(或体系结构,而不是微体系结构),例如 Pentium 具有 80386 处理器没有的指令。您可能想从一本书或教您如何对 8088 进行编程的东西开始,因为它会更简单,并且以后的架构修订(286、386 等)都以它为基础。
好的,首先,我不太了解微处理器上的指令集是如何工作的。它们是通过汇编语言实现的吗?
汇编语言允许程序员使用类似于人类可读文本的东西编写机器语言,并且通常允许您使用标签而不是记住原始 RAM 或 I/O 地址。另一种方法是手动输入每条指令的操作码,鉴于 x86 具有的指令数量和寻址模式,这是一项非常繁琐的任务。
每条指令都由一个助记符表示,并转换为单个机器语言指令。一个汇编程序将汇编代码(在一个文本文件)和组装(不编译),它的二进制图像,该CPU可以运行。
AMD 复制了英特尔的指令集,但开始与 SSE 指令、VMM 指令和其他可能的东西产生分歧。不过,您在英特尔组装方面学到的大部分知识都将适用。