CPU作为能够执行机器指令的设备呈现给外部。例如,

代码语言:javascript复制mov (%esi,%ebx,4), %edx是将地址ESI+4*EBX上的4字节数据移动到寄存器EDX中的机器指令。机器指令是公开的-它们是由CPU制造商在用户手册中发布的。像gcc这样的编译器将输出包含机器指令的文件,这些文件通常会在EXE/DLL文件中结束。

如果你仔细观察上面的指令,你会发现这是一个相当复杂的操作。它涉及一些算法(乘法和加法)来获取内存地址,然后将数据从该地址移动到寄存器中。从CPU的角度来看,使用已经存在的算术单元也是有意义的。所以把这个指令分解成微指令是很自然的。从本质上说,mov指令是由CPU作为微指令编写的微程序在内部实现的。然而,这是CPU的实现细节。微指令是CPU的内部指令,除了CPU制造商之外,任何人都看不到它们。

微指令有几个好处:

它们简化了内部CPU的结构、设计和测试,从而降低了单位hardware)

create 的成本--它们使创建丰富而强大的机器指令集变得更加容易(您只需以不同的方式组合微指令)--它们为不同的CPU提供了一致的机器语言(例如Xeon和奔腾都实现了基本的x86_64指令集,尽管它们在优化中有很大的不同(即一个CPU上相同的指令可以通过硬件实现,另一个可以在microinstructions)fix bug中进行模拟(例如,您可以在机器运行时修复幽灵漏洞,而不需要购买新的CPU并打开服务器)

有关更多信息,请参阅https://en.wikipedia.org/wiki/Micro-operation

Copyright © 2088 0762网游争霸活动中心 All Rights Reserved.
友情链接