linux查看cpu微码命令,linux – 什么是Intel微码?

根据我的阅读,它用于修复CPU中的错误而无需修改BIOS.

根据我对汇编的基本知识,我知道汇编指令在内部由CPU分成微码并相应地执行.但是,在系统启动并运行时,intel会以某种方式提供访问以进行一些更新.

有人有更多的信息吗?有没有关于微码可以做些什么以及如何使用它们的文件?

编辑:

我已经阅读了维基百科的文章:我不知道如何自己写一些,以及它会有什么用处.

解决方法:

在较旧的时代,微代码在CPU中被大量使用:每条指令都被分成微码.这使得适度CPU中相对复杂的指令集成为可能(考虑到Motorola 68000具有多个操作数模式和8个32位寄存器,适合40000个晶体管,而单核现代x86将超过1亿个).这不再适用.出于性能原因,大多数指令现在都是“硬连线”:它们的解释是由任何微码之外的不灵活电路执行的.

在最近的x86中,有些复杂的指令(例如fsin(计算浮点值的正弦函数))是用微码实现的,但是简单的指令(包括与imul的整数乘法)不是.这限制了定制微码可以实现的目标.

话虽这么说,微代码格式不仅非常特定于特定的处理器型号(例如Pentium III和Pentium IV的微代码不能互相自由交换 – 当然,使用Intel微处理器的AMD处理器是问题),但它也是一个受到严密保护的秘密.英特尔发布了操作系统或主板BIOS可以更新微码的方法(必须在每次硬复位后完成;更新保存在易失性RAM中),但微代码内容没有记录. Intel® 64 and IA-32 Architectures Software Developer’s Manual(卷3a)描述了更新过程(第9.11节“微码更新设施”),但声明实际的微码是“加密的”并且时钟满了校验和.措辞很模糊,几乎可以隐藏任何类型的加密保护,但最重要的是,对于英特尔以外的人来说,目前不可能编写和尝试一些自定义微码.

如果“加密”不包括数字(非对称)签名和/或如果英特尔人以某种方式破坏保护系统,那么可以想象一些显着的逆向工程努力可能使人们能够生产这样的微码,但是鉴于可能有限的适用性(因为大多数指令都是硬连线的),就编程能力而言,可能性不会太大.

标签:linux,assembly,intel

来源: https://codeday.me/bug/20190928/1826429.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值