x86演变过程
1.早期计算机时代
早期的这个计算机没有什么复杂的功能,都是一个图形界面,字符显示比较简单,而且 CPU 跟 RAM 的工作频率都比较低,它们可以通过使用系统总线直接连接在一起。
但是由此引发一个问题,为了让 CPU、RAM 跟外部的低速I/O设备进行正常的通信,这个系统的整个频率以最低设备的频率为准,这个时候会影响系统的性能。
为了解决这个问题,早期的处理是说在低速的I/O设备(键盘鼠标)之间跟系统总线之间添加一个I/O控制器,就是8255 I/O 控制芯片。
2.总线隔离
后来CPU、RAM频率进一步提高,很多公司想到一个方法就是总线隔离。高速设备工作在一个频率上,然后通过总线连接在一起。低速设备通过I/O总线连接,再通过一个桥接进行频率转换。
3.倍频器
再后来到了486时代,CPU频率进一步提高,与RAM频率差距更大了,就引入了倍频器。
4.现代计算机
现代计算机,Bridge就发展成主板上的南桥,低速设备,比如鼠标、键盘、串口都连接在上面。一些高速设备,比如显卡,连接在北桥上。南桥、北桥之前有一条PCI总线。
c51演变过程
C51麻雀虽小,五脏俱全。
CPU加上晶振,即可运行
arm演变过程
1.AMBA2.0总线
AHB上连接一些高速设备RAM、GPU、DMA和CPU
APB总线上连接一些低速设备,串口、I2C等
两者通过Bridge连接
2.AMBA3.0总线
随着CPU的发展,总线演变成了AMBA3.0总线,最大的区别就是引入了AXI总线,为SOC集成规模进一步扩大创造了可能。
对比
1.ARM vs X86
为了频率同步、提高性能,引入了总线
X86总线在CPU外,ARM总线在SOC内部
- 低速设备通过控制器连接总线、CPU通过倍频与总线通信工作
- RAM、显卡等高频率、大数据量模块挂高性能主线上
- 串口、打印机、I2C等低速设备挂低速总线上
2.ARM vs C51
- C51是一个8位计算机系统,ARM是一个32/64位处理器
- C51只有一种工作模式,ARM有多种工作模式
- ARM有32位的指令集,还有16位的thumb指令集