4.1 CPU的内部结构
平板电脑中的CPU分为多种型号,按指令集的不同,可以分为精简指令集的CPU和复杂指令集的CPU两种,复杂指令集的CPU以英特尔和AMD生产的CPU为代表,精简指令集的CPU则由众多厂家生产的ARM系列的CPU为代表。下面以在平板电脑中用的较多的ARM系列四核CPU为例进行说明,其内部各组件的组织结构如图4-2所示。
通过观察图4-2我们会发现,ARM系列的CPU,其内部体系结构或组织结构和我们常见的电脑主板结构非常相似,内部总线控制器(总线快速互连网桥)这个组件和电脑主板中的北桥所起的作用非常相似,而高速外设总线控制器和低速外设总线控制器这两个组件,则和电脑主板中南桥的作用非常相似,只不过是ARM系列的CPU将类似于南桥北桥这样的组件集成到CPU内部,并做一些优化精简和改进。从体系结构和组织结构上来讲,大部分平板电脑的CPU都是如此,有的组件被集成到CPU内部(内置),有的CPU组件被转移到CPU的外面(外置),还有可能随着技术的进步有新增的组件出现在CPU内部,或者为了提高CPU的性能、速度或者效率,CPU内部组件的组织结构会发生一些变化,但平板电脑CPU的工作原理都大同小异。
图4-2 ARM系列CPU内部各组件的组织结构
CPU的内部结构一般由内核组件、系统组件和其他组件组成,各组件之间通过各种各样的总线相连。CPU内部有着各种各样的不同种类的总线,其构成方式也都不一样,有的是为了提高各组件间的速度而设计的,有的则是根据总线的宽度(如64位、128位、256位等)设计的,有的则用微代码电路结构的硬件来实现,还有的则用高性能的控制器加软件(即在总线上运行驱动程序和协议)来实现。总线的目的就是为了实现各组件之间高速、高效的互连和通信,及在各组件之间传输所需的数据和操作命令等。对于总线所连的多个组件中谁来使用总线,则由总线通过一定的方式方法来确定。大部分总线都是双向总线,即可以输入也可以输出,以满足不同组件间数据和操作命令的传输要求。
CPU的内部组成与连接方式称作体系结构。
CPU内部的各个组件,因型号不同,会略有不同,对于图4-2所示的CPU内部组件由以下几个部分组成:
① 内核组件,包括4个CPU及其一级缓存(数据cache和指令cache),还包括芯片内RAM(RAM0~RAM4)和片内ROM,芯片内ROM负责CPU各组件的初始化,以及引导代码。
② 系统组件,包括总线仲裁(该组件以信号灯的方式确定总线让哪个组件使用)、中断控制器(该组件用于确定是哪个组件发出了控制信号,发出了什么控制信号,需要有什么操作)、定时器(用于时间控制)、多通道DMA控制器(用于建立从内存到其他组件的直接传输通道,不经过CPU的控制,多通道并行,可以大大提高传输速度)、设置/控制寄存器组(设置组件的起始参数;改变组件的工作状态;控制程序运行等),流程/流水线控制器(用于多作业、多任务的并行处理时的协调和控制)、时钟PLL及复位(给整个CPU及其组件提供时钟和复位信号)、GPIO控制器(用于自定义CPU的一些I/O接口的功能和作用,以实现灵活控制的目的)。
③ 内部总线控制器,又叫总线快速互连网桥,用于连接内存控制器、PCI-E控制器、GPU显核阵列,以及视频编/解码组件和高速外设总线控制器等组件,并在这些组件之间建立互连传输通道。
④ 高速外设总线控制器,该组件负责一些速度比较快的外围设备和内部总线之间建立连接通路,例如,LCD控制器、局部DMA控制器、HDMI接口控制器、摄像头视频输入、HDTV/HDAV电路、NAND Flash控制器、SATA串口硬盘控制器、SD卡/SDIO总线控制器,以及USB控制器等。
⑤ 低速外设总线控制器,该组件负责一些速度比较低的外围设备和高速外设总线之间建立连接通路,例如:PMC电源管理组件、RTC实时时钟组件、KBC键盘控制器组件、SE数据安全与加密组件、ADC/DAC模数转换电路、I 2 C总线控制器、I 2 S总线控制器、SPI总线控制器、UART串口电路、WDT看门狗、PWM控制器,以及芯片温度控制电路等。