gpt4 book ai didi

x86 - 如何使用微程序修改 Intel CPU 的指令集架构?

转载 作者:行者123 更新时间:2023-12-05 08:19:31 25 4
gpt4 key购买 nike

假设我想修改现有指令的实现。例如,假设我想更改在获取和解码后执行“mov”指令时由我的处理器执行的微码。我该怎么做?

此外,假设我想向 ISA 添加一条新指令。例如,假设有一个当前未使用的操作码,我希望我的处理器能够在获取它后解码和执行。我该怎么做?

老实说,我什至不知道从哪里开始,这就是我询问堆栈溢出的原因。我没有任何编写微代码的经验,我只从我的计算机体系结构课上知道这个术语。我知道查找 x86 指令列表非常容易,但我不知道在哪里查找微指令列表。我什至不知道英特尔是否公开了他们的微码列表。我不知道我需要使用什么程序来将这些新的微程序加载到我 CPU 内的适当内存中。我认为可能涉及引导加载程序,但我对此可能完全错了。如果我拥有我的 CPU,我认为我可以合法地修改它的微码并对它的指令进行逆向工程,但是通过现有文档而不是通过逆向工程,会更容易理解我的 CPU 是如何工作的以及它的微码是如何被改变的。

我知道有一些较小的硬件供应商生产开源 ISA——所以如果我想试验一下,从这些供应商之一购买 CPU 可能会很好?但我不知道替代供应商的哪种 CPU 最适合。但实际上,我不认为购买新的 CPU 对于我正在尝试做的事情是必要的,因为如果必须的话,我可以使用现有的 CPU 在虚拟机中运行开源 ISA(我是从软件角度而非硬件角度对微指令和微程序感兴趣)。

最佳答案

For instance, suppose I wanted to change the microcode that is executed by my processor when a "mov" instruction is executed after being fetched and decoded. How would I do that?

你会:

a) 获得计算机工程、计算机科学和/或电气/电子工程硕士学位。

b) 申请 Intel(或 AMD)的工作,并得到它

c) 在公司结构中一路向上,到达能够影响 future 产品设计的位置

请注意,简单的 mov 指令不会使用微代码,因此您必须先更改它。

I don't have any experience writing microcode

微码被加密并被视为商业 secret ;所以“地球上几乎没有人”(我猜可能有 20 名英特尔员工?)有为英特尔 CPU 编写微代码的经验。

I know there are some smaller hardware vendors that make open source ISAs--so maybe buying a CPU from one of those vendors would be good if I want to experiment with this?

“开源 ISA”主要意味着一家大公司能够花费数百万美元制造自己的芯片,从而节省大约 50 美分的许可费用。

实际的替代方案是使用 FPGA(但成本和性能远不及您从定制 ASIC 获得的成本和性能)。

关于x86 - 如何使用微程序修改 Intel CPU 的指令集架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74282231/

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