- 大概1998年,妈妈花了重金给买的奔腾II 266MHz,这个视频我也说了。
- 20xx年,我自己组装的i7 7700k玩模拟飞行用。
其实我一共就拥有过这两台像样的Intel平台电脑。其实我一直感觉我不懂Intel平台,但是基于IA-32的操作系统,我也写出来了,其实自己知道,里面很多的代码都是建立在Intel的老平台兼容性上的,而新的CPU特性并没有用出来,而且其实我也不懂。
这次复活操作系统代码,再次燃起了我的激情,我决定把Intel平台知识整理一下。主要是解决我心中的困惑,尤其是和我手中玩过的单片机,STM8S/L,STM32,进行一个对比。
玩驱动,怎么能没有原理图。找到一个看笔记本主板原理图的,虽然这里的平台CFL,CNL都很老,但是相对于我脑中装的对Intel的理解,这绝对是很先进的图纸。
www.laptop-schematics.com/view/12007/
对于玩过单片机的小伙伴,其实各种控制器芯片控制各种外设,这个方面Intel平台和单片机。USB,SATA,HD Audio这些都好理解,我就不做过多解释。简单说就是一回事。
那Intel平台和单片机的最大区别到底是什么?我先把不重要的信息全部掉,简化才能抓住重点。
Intel双芯片方案CPU+PCH
这里虽然有两个芯片,但是并没有两个脑袋:
- 只有CPU是有运算核心的。超高速设备DDR和显卡,都直接在CPU这颗上
- PCH简单理解为外设桥接芯片
双脑袋方案CPU+EC
- IA CPU里面是有运算单元的
- EC(Embedded Controller),如上图的MEC1416,就是Microchip家的ARM芯片
双脑袋方案就需要两套Boot ROM
按照单片机的常识理解,既然有两个运算单元,那么就一定需要两套启动代码,你猜对了。其实这里不算是ROM,一般情况改不了,就定义为ROM
- BIOS/UEFI这套代码是直接运行在IA核上的,存储在外部的SPI flash芯片上
- EC的固件FW,也是运行在外部存储SPI flash芯片上
双脑袋共享存储SPI Flash
这也是Intel奇葩的地方,也可说是牛逼的地方。两个脑袋芯片通过共享SPI访问外部SPI flash。
按照传统设计,肯定是EC外接一个flash, PCH外接一个flash。结果这里人家共享存储。
从microchip的应用文档里找到了一幅图,可以说明PCH和EC到底如何共享SPI Flash
ww1.microchip.com/downloads/e…
以上这些才是真正和常识情况下的嵌入式系统最外层的区别。至于芯片内的细节,那就更多了。一次就说一点,下次继续