小马扎了!
反正今天天气好,风和日丽,适合在门口授课!
小黑板被搬到了众人前面,倪老拿着粉笔,唰唰唰,写下了遒劲有力的两行字。
“95年,英特尔为了让处理器执行效率更高,增加了两个新功能,分别为乱序执行和指令预测,这两个功能优化了程序队列的流水线,让处理器执行效率大大增加,但是,这个开挂的功能,也导致了开挂的漏洞……”
“倪老,这开挂啥意思?”
秦总说的啊,当时他那么一说,自己就这么复述,对啊,开挂啥意思?
“就是很厉害的意思。”倪老说着,继续画图,cpu、内存、缓存等等,都画了出来。
“x86是精简指令集,一个指令在处理器内部,会分解成很多微指令,这些微指令排着队列等待执行,为了增加效率,英特尔让程序乱序执行,执行什么,由指令预测来实现,为了发挥全部效能,内存数据读入到数据缓存的时候,没有做任何权限检查。”
“这很正常!”杜兰特开口反驳:“我们不认为这是缺陷!内存属于计算机体系,缓存属于处理器的微体系,只要在处理器把结果返回之前进行权限检查就可以!”
“我们再看指令预测,这个功能很简单,上次执行这个程序时候跳转到哪里,就认为下次还会跳转哪里。”
“这个也没有错误,我们分析,处理器执行的大部分程序都是循环,每次都一样,这样指令预测的准确率,超过百分之八十!”
“没错,这个也没错,但是,两者叠加到一起就不一样了!数据缓存的时候没有权限检查,指令预测的功能也这么简单,那么,如果我们想要搞点事情……”
杜兰特额头上的汗水,嗖嗖的向外冒!