@
yksoft1 修个 spectre 就砍了 8%左右性能,这大概是在对用户讲,处理器设计不那么严密是有可能得到 8%性能提升的...
至于当初 486DX 怎么设计的,有没有在安全性上放水,有没有过度追求严密使一些看起来应该很简单的操作实际 cost 极高,有没有因为 虽然不能在安全上过度严密或者放水 /又不能牺牲关键操作的 cost/结果相关的其他某些操作 cost 变高......
这些对于我这个不懂处理器的人...
.
.
.
好像都没有发言权.
期待关于进一步的解释啊......
比如就当时桌面普遍 1 核的情况下,C 语言 inline asm 括号那么粒度级别的锁定中断有没有致命 downside 非要加这么一条指令,对比普通 P1 添加了 mmx 指令集的代价估算当时 486 加了这条指令大概可能付出了多少代价,远小于 mmx,差不多 mmx 还是会远大于 mmx,这条指令有没有相较没设计这条指令的 386/286 系统 cpu 周边各种结构非大改不能容得下的破绽,而且(多谢 wiki 的提示)只解决单指令原子性粒度太小解决不了 ABA 会不会大大限制了该指令可能带来的性能提升导致得不偿失......
.
.
*而且当时的 win 系统和 dos 系统用了什么样的线程调度方式......是基于中断的还是.....而且当时还不像现在一天一个补丁,在保持和 386 兼容的情况下 OS 或 application 是不是真的有效利用了这个指令......
.
.
对于不懂处理器(如果新处理器不懂情有可原的话,特别强调老处理器也不懂)的我来说,满脑子都这些问题。。。