社区
英特尔边缘计算技术
帖子详情
何谓CPU MacroCode.....
某鸟
2008-03-11 08:36:18
偶在启动linux的时候,在显示信息里看到过这么一段:
应用Intel CPU Macro Code....
CPU Macro Code算是个啥东东呐?
AMD的有没有这个东东啊?~
...全文
1078
6
打赏
收藏
何谓CPU MacroCode.....
偶在启动linux的时候,在显示信息里看到过这么一段: 应用Intel CPU Macro Code.... CPU Macro Code算是个啥东东呐? AMD的有没有这个东东啊?~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
甴曱
2008-03-13
打赏
举报
回复
[Quote=引用 3 楼 con_con 的回复:]
长见识了
[/Quote]
cceczjxy
2008-03-12
打赏
举报
回复
学习了
某鸟
2008-03-12
打赏
举报
回复
非常抱歉,我好像真的弄错单词了……Micro Code……?!
con_con
2008-03-12
打赏
举报
回复
长见识了
moonein
2008-03-12
打赏
举报
回复
转载:
在十多年前的Pentium时代, INTEL曾经发布过有缺陷的CPU, 因为浮点运算表边界上有几个数据错误, 导致在某些应用会出现错误, 这个错误概率很小, 出错几率小于千万分之一, 但在还是被捅出来了. INTEL为此召回CPU.
从Pentium Pro起, INTEL决定给CPU留出一个补丁接口, 当CPU内部有缺陷的时候, 通过加载微码(Microcode), 可以修复CPU的部分缺陷.
INTEL说, 他们只测试过的CPU都是加载了微码的, 如果没有加载微码, INTEL不保证会出现什么问题.
现在的CPU有一个CPUID, 通过执行CPUID指令, 可以知道当前CPU的版本和Stepping. 根据这个信息, 再给CPU打相应的补丁.
下图就是CPUID=06D2, Rev.A2
何时给CPU打补丁?
在给CPU初始化的时候, 就需要把INTEL提供的微码写进CPU去, 因此, 加载CPU微码就是系统BIOS的任务.
如果系统的CPU是可更换的, 那么其微码也需要更换. 因此, 在BIOD里, 一般要包进若干个ID的CPU微码, 以便工厂安排不同的SKU出货. 如果BIOS发布是在CPU发布之前, 那么BIOS里很可能就没有包进最新的微码, 这个系统要使用新CPU的时候, CPU微码是无法加载的.
另外, BIOS ROM容量有限, 一个微码补丁最小有2K, 如果平台兼容的CPU很多, 则微码数量是十分巨大的, 台式机某些主板可能兼容20多个CPU版本, 那么微码的体积很大, BIOS里根本包不下这么多东西, 于是, 厂商不得不缩水, 去掉一些不常用的微码. 这些不常用的微码一般都是早期的CPU, 如DOTHAN早期的A STEPPING就很可能没有对应的微码包进你的本本中去.
不打补丁会有什么问题?
INTEL说他们没测过不打补丁的CPU, 也就不知道会出什么问题. 呵呵, 这显然, 他们不想说太多技术细节而已. 以俺的经验, 如果不打补丁, 99.99%的时候, 用户是感觉不到的, 除非问题特别突出. 只是俺遇到过几个明显的例子, 为此出了几身汗. 有几个案例:
1, 某Prescott CPU, 在台式机上发热量特别大, 超出Design Point, 后来发现没加载微码, 加上微码就正常了;
2, 某Pentium D CPU, 进WINDOWS XP会蓝屏, 以安全模式进去后, 安装一个SP2补丁, 就正常了. 后来查出, 也是微码没加载;
3, 某Pentium M架构CPU, 在使用CPU内部TSC时, 发现测出的CPU内部频率高出实现的4倍, 如2GHz CPU测出却有8GHz, 后查, 也是没加载微码造成的异常.
此类案例很多, 特别是Core架构CPU, 不但微码必须加载, 而且要求尽早加载, 否则, 连BIOS都跑不完, 系统就挂了. 但是INTEL但至今没有任何官方对每个CPU微码版本进行描述的文件.
怎么检查CPU微码是否加载?
加载微码后, 在CPU的MSR(机器特定寄存器)里可以读出版本号. INTEL IA-32编程手册上给出标准检查方法:
MOV ECX, 008bh
XOR EAX, EAX
XOR EDX, EDX
WRMSR ;向MSR 8BH写0, 清除MSR中的信息
MOV EAX, 0001
CPUID ;读CPUID, 让CPU查看微码版本, 并把微码版本送到MSR 8B中
MOV ECX, 008bh
RDMSR ;读出当前CPU微码版本
执行上面的代码后, 如果EDX的值为0, 则说明你的CPU微码是没有没加载的, 你的CPU运行在有缺陷的状态. 如果不为0, 则显示的是当前微码版本号
以上代码可以在DOS环境下, 用DEBUG32调试界面执行.
我很郁闷……
我有一个杂牌的本本, 上的是Dothan CPU, 某一天, 俺升级CPU, 却发现发热水平异常, 于是检查微码加载情况, 果然, BIOS里没有这种CPU版本的微码
换回原来的原厂CPU继续一测, 竟然也没有加载微码
后来换了Banias CPU才测到CPU微码加载上了. 也就是说, 厂商在升级CPU的时候, 居然没有升级BIOS, 这就是某些小品牌电脑厂商的水平, 郁闷
你的CPU升了么?
很多同学把低配的T4X本本换了CPU, 不知道这些同学用得怎么样, 呵呵, 你检查过你的CPU微码么? BIOS有升级支持么?
*其他信息可以参阅Intel官方的相关文档
moonein
2008-03-12
打赏
举报
回复
CPU Macro Code?还是CPU Micro Code?
CPU Macro Code是宏码,不知所谓,倒是有CPU Micro Code,此为CPU微码
职业生涯规划专题-
何谓
理财及为何需要理财?
面对中年职场危机和人口老龄化养老危机,如何做到凡事预则立,不预则废。本课程在前期职业生涯规划专题《如何做好个人职业生涯规划》、《如何做好面试准备及应对策略》、《如何构建自己的知识体系》、《大数据职业发展体系》相关课程基础上,结合个人职业生涯规划,学习投资理财基础知识,避免陷入投资理财误区,通过合理投资理财,增强人生抗风险能力和理财忧患意识,为成功跨越中年危机未雨先绸。 为了更好的学习本课程并达到良好的效果,建议同时学习《职业生涯规划》、《数字化&数字经济》、《售前管理》、《项目管理》及智慧城市《数据中台》、《行业方案》和《城市大脑》系列相关专题课程,并请持续关注后续课程,谢谢。
计算机打开正在处理器,戴尔装win7卡在正在启动windows解决方法(支持8/9/10代
cpu
)...
最近有很多戴尔win7粉丝问我,为什么戴尔8代
cpu
的以上机器在安装win7时卡在正在启动windows这个地方一直不动,当然如果是卡在这个地方提前关闭安全启动的话可以等驱动安装完驱动后进入桌面了,出现这种情况一般情况是由于没有提前注入显卡驱动,现在很多新电脑都采用的集成显卡,如果是8代以上
cpu
采用的集显的话,在uefi模式下如果不提前注入显卡会一直卡在正在启动windows,当然如果是卡在这个...
linux下
何谓
.so文件
linux下
何谓
.so文件:1. 用过windows的同学应该都知道 .dll文件吧, 这二者有什么共通之处呢,其实 .so文件就跟.dll文件差不多.// 2.一般来说.so文件就是常说的动态链接库, 都是C或C++编译出来的。与Java比较就是:它通常是用的Class文件(字节码).// 3.Linux下的.so文件时不能直接运行的,一般来讲,.so文件称为共享库.// 4.那么.s
缠中说禅 教你打坐 全集列表
教你打坐1:科学是什么玩意 教你打坐2:人都要死的人都死了 教你打坐3:打坐前的基本功夫 教你打坐4:不要受邪人未了师的蛊惑 教你打坐5:生死中之不生不死者 教你打坐6:于死亡而从容 教你打坐7:神鬼、神通、神异景象 教你打坐8:顶礼反佛、灭佛者 教你打坐9:善恶报应与六道轮回 教你打坐10:不要相信任何你能看到想到感觉到的 教你打坐11:
何谓
正信 教你打坐12:如何呼吸 教你打坐13:
何谓
四大 ...
计算机组成原理试题(三)(附参考答案)
一.选择题(每题1分,共20分) 1. 我国在______ 年研制成功了第一台电子数字计算机,第一台晶体管数字计算机于______ 年完成。 A.1946 1958 B.1950 1968 C.1958 1961 D.1959 1965 2. Pentium微型计算机中乘除法部件位于______ 中。 A.
CPU
B.接口 C.控制器 D.专用芯片 3. 没有外存储器的计算机初始引导程序可以放在______ 。 A.RAM ...
英特尔边缘计算技术
566
社区成员
7,027
社区内容
发帖
与我相关
我的任务
英特尔边缘计算技术
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
复制链接
扫一扫
分享
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章