硬件和软件是一颗芯片系统互相依存的两大部分。本文总结了一颗芯片的软硬件组成。做为对芯片的入门级归纳吧。小程序
主控CPU:运算和控制核心。基带芯片基本构架採用微处理器+数字信号处理器(DSP)的结构。微处理器是整颗芯片的控制中心,会执行一个实时嵌入式操做系统(如Nucleus PLUS),DSP子系统负责基带处理。应用处理器则可能包含多颗微处理器,还有GPU。微处理器是ARM的不一样系列的产品(也可以是x86架构),可以是64位或者32位。架构
处理器内部经过“内部总线”将CPU所有单元相连,其位宽可以是8-64位。函数
总线:计算机的总线按功能可以划分为数据总线、地址总线和控制总线。分别用来数据传输、数据地址和控制信号。CPU内部部件由内部总线互联,外部总线则是CPU、内存、输入、输出设备传递信息的公用通道,主机的各个部件经过总线相链接。外部设备经过对应的接口电路再与外部总线相链接。从而造成了硬件系统。外部总线经过总线接口单元BLU与CPU内部相连。post
片上总线标准高级微控制器总线结构AMBA定义了高性能嵌入式微控制器的通讯标准。定义了三组总线:AHB(AMBA高性能总线)、ASB(AMBA系统总线)、和APB(AMBA外设总线)。性能
AHB总线用于高性能、高时钟工做频率模块。AHB为高性能处理器、片上内存、片外内存提供接口,同一时候桥接慢速外设。DMA、DSP、主存等连在AHB上。ASB总线主要用于高性能系统模块。优化
ASB是可用于AHB不需要的高性能特性的芯片设计上可选的系统总线。APB总线用于为慢速外设提供总线技术支持。ui
APB是一种优化的,低功耗的,精简接口总线,可以支持多种不一样慢速外设。由于APB是ARM公司最先提出的总线接口,APB可以桥接ARM体系下每一种系统总线。spa
外设I/Oport和扩展总线:GPIO通用port、UART串口、I2C、SPI 、SDIO、USB等,CPU和外扩的芯片、设备以及两颗CPU之间(如基带处理器和应用处理器之间)进行通讯的接口。通常来讲。芯片都会支持多种接口。并设计通用的软件驱动平台驱动。操作系统
存储部件和存储管理设备:Rom、Ram、Flash及控制器。.net
处理器系统中可能包括多种类型的存储部件。如Flash、SRAM、SDRAM、ROM以及用于提升系统性能的Cache等等。不一样的芯片会採用不一样的存储控制组合。參见博文”arm架构的芯片memory及智能机存储部件简述“
外设: 电源和功耗管理、复位电路和watchdog定时复位电路(前者是系统上电执行、后者是Reset或者超时出错执行)、时钟和计数器、中断控制器、DMA、 输入/输出(如键盘、显示器等)、摄像头等。
一颗ARM9架构芯片主控器及外围硬件设备组成例如如下图所看到的:
芯片上的软件主要包含Boot代码、操做系统、应用程序以及硬件的firmware。
Boot程序引导设备的启动,是设备加电后在操做系统内核执行以前执行的一段小程序。
经过这段小程序,咱们可以初始化硬件设备、创建内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为终于调用操做系统内核准备好正确的环境。
操做系统(英语:Operating System。简称OS)是管理和控制计算机硬件与软件资源的计算机程序,其五大管理功能是:
(1)处理器管理,主要包含进程的控制、同步、通讯和调度。
(2)存储器管理,主要包含内存的分配、保护和扩充,地址映射。
(3)设备管理。主要包含设备的分配、处理等。
(4)文件管理,主要包含文件的存储空间管理,文件夹管理,文件的读写和保护。
(5)做业管理,主要包含任务、界面管理。人机交互,语音控制和虚拟现实等。
应用处理器上的操做系统有Android、IOS等,没必要多说;基带处理器上则会执行一个RTOS(如Nucleus PLUS)管理整个基带系统上的任务和部件间的通讯。
应用程序是为了完毕某项或某几项特定任务而被开发执行于操做系统之上的程序。应用处理器上。结合操做系统API和库函数,用户可以开发各色应用程序;基带处理器上则通常仅仅有少许必要的软件支持。
硬件firmware则是简化软件与硬件的交互,让硬件操纵起来更easy。