下面来介绍芯片架构的相关原理,主要包括芯片构成、CPU、Bus、核心外设4部分内容。
设计一个芯片和组建一个物联网网络非常类似,故此本书以物联网组网的模型来解释怎样进行芯片设计。一个典型的物联网网络结构大致如图6-1所示,它由一些传感器、服务器组成,通过不同的网络把这些部件连接在一起,形成一个系统。
芯片设计起始也会采用非常类似的方式,具体对比关系如表6-1所示。
芯片设计和物联网组网非常类似,就是选型(找到合适的部件,芯片设计行业把这个部件叫作IP),然后把这些部件连接在一起。
下面,我们先熟悉一些典型部件。
图6-1 典型的物联网网络结构
表6-1 典型物联网网络结构与芯片设计起始对比关系
目前,业界CPU大体分成如表6-2所示几个款型。
表6-2 CPU款型
我国自研的芯片大多都是基于MIPS指令集的,基于ARM指令集的次之。这是由CPU的开放程度决定的。
我们要做的工作,首先是确定采用什么样的处理核(CPU Core),是MIPS还是ARM,从而决定指令集、指令流水线、Cache、编译器等。确定了CPU Core之后,接着需要确定要用到哪些外设控制器,如GPIO、UART、RTC、DSP、LCD Controller、Memory Controller等。最后,需要确定采用何种总线来连接它们,如USB Bus、I2C Bus、PCI Bus等。
一旦选定了CPU,Bus(总线)一般就随之确定了。对于选用ARM作为CPU的,我们遇到的Bus就是两种,如图6-2所示。
图6-2 Bus
其中,连接高速设备的叫作AHB(或ASB),连接慢速设备的叫作APB,这两种总线通过一个叫作“桥”的设备互连起来。
其余的设备统称为外设。基于以上部件,可以绘制出系统原理图,如图6-3所示。
图6-3 系统原理图
它有一个CPU(ARM),用ASB总线连接多个高速设备(片内存储设备、外部存储设备、硬件加速器、显卡、APB桥);通过APB桥引出APB总线,该总线上连接了很多外设,如串口(UART)、SPI总线控制器、USB、音频设备等。