1.4 CPU和SoC的区别及外围设备的概念
1.4.1 CPU和SoC的区别
CPU是计算机的运算和控制核心。CPU包括两部分,一部分是运算器,另一部分是控制器。
单片系统(System on Chip,SoC)是用于完成一个具体的功能的集合。把系统的功能集成在一个芯片上就是SoC,其中包含CPU、存储器、各种外围设备(又称外部设备,简称外设)等。
下面通过图1-1、图1-2来直观地了解CPU与SoC的区别。
图1-1
图1-2
早期的系统如图1-1所示,底板由一块印制电路板(Printed Circuit Board,PCB)组成,这个系统全部的功能都集中在一块PCB上实现。在芯片刚研制出来的时候,由于当时半导体工艺的限制,其集成度是非常低的,内存和外围设备等都没有集成到芯片内部,想要组成一个系统,就需要将CPU、内存、通信接口等通过PCB走线在PCB上实现,所以这种系统看起来会很庞大。我们见到的老式电子设备上面就有非常多的这样的芯片,这其实就是在PCB上实现的。
SoC如图1-2所示,底板由一个芯片组成,这个系统是在一个芯片上实现的。随着半导体工艺的不断进步,我们可以把之前放在PCB上的许多芯片都集成在一个芯片里,然后形成能实现具体功能的SoC。
以上就是CPU与SoC最本质的差别。随着时代的发展,现在市场上已经几乎没有纯粹的CPU了,大多都是SoC。
1.4.2 外围设备
外围设备简称外设,一般是指连在CPU以外的硬件设备。这是在CPU发展过程中遗留下来的概念。芯片处于CPU阶段的时候,系统需要外接各种设备(如串行端口,简称串口)才能实现功能,所以这些CPU之外的设备统称为外设。虽然现在芯片的发展处于SoC阶段,大部分实现系统功能的设备都集成到了芯片内部,但是这个概念延续了下来,所以我们一般把集成到芯片内部的设备称为“内部外设”。现在仍有在外部的外设,例如网卡、音频编解码器等,我们一般把它们称为“外部外设”。目前芯片的发展方向之一就是将所有外设集成到内部。
学习裸机开发就是学习SoC的内核(CPU,表现为汇编指令集)和各种外设的应用,我们会在下文为大家详细介绍各种外设。