一、概念辨析
首先来厘清以下概念:微处理器,微控制器,单片机,片上微处理器系统
(1)微处理器:即MPU(Microprocessor Unit),微处理器是一种计算机的中央处理单元 (CPU),通常集成在一个或多个集成电路 (IC) 中。微处理器执行指令,并处理计算机中的数据。微处理器一般不包含存储器、I/O接口等外围组件,通常需要搭配外部芯片(如RAM、ROM、I/O接口等)来构成完整的计算机系统。
(2)微控制器:即MCU(Microcontroller Unit),微控制器是一种集成了CPU、存储器 (RAM、ROM、Flash) 和各种外设(如定时器、ADC、I/O接口)于单一芯片上的小型计算机。
(3)单片机:即Single-Chip Microcontroller,单片机实际上是微控制器的另一种称呼,强调了其所有功能都集成在一个芯片上。单片机与微控制器相同,集成了CPU、存储器和外设,能够执行独立的控制任务。
(4)片上微处理器系统,即System on Chip(Soc),片上微处理器系统是一种集成度更高的芯片,除了包含微控制器所有的功能组件,还可能集成更多的高级外设、图形处理单元 (GPU)、通信模块、DSP(数字信号处理器)等,形成一个完整的系统。
用下图表示:
二、基本组成
1、存储器
存储器主要用于保存程序代码和运算数据。存储器分为只读存储器(ROM)和随机存取存储器(RAM)。ROM主要用于保存初始化数值、启动程序代码和部分系统程序代码,掉电不丢失;RAM主要用于保存运行中的数据和动态加载的程序代码,掉电会丢失。
2、输入输出设备
用于与外部交互数据,获取外界信息和向外界输出信息,也被称为外设。常用的外设有四类:
(1)人机交互类:键盘、鼠标、显示器
(2)时钟类:定时器和计数器
(3)模拟类:ADC和DAC、音频设备等
(4)通信类:SPI、IIC、USB、以太网
3、系统总线
微处理器与外设和存储器之间通过系统总线来进行数据交换。存储器和外设都是又大量的存储单元构成的,微处理器把这些存储单元进行统一编址。微处理器要访问某存储单元时,将该存储单元的地址和读写控制信号发送到总线上,存储器和外设从系统总线上接收到微处理器发出的地址和读写控制信号,根据读写控制信号哦进行数据的读取或者写存。
4、DMAC
DMAC(直接存储访问控制器)用来实现存储器和存储器、存储器和外设之间的批量数据传输。它在微处理器不使用总线时控制总线,实现存储器和外设的读写操作。微处理器通过系统总线对DMAC进行配置和管理。
5、中断控制器
中断控制器用来接收外设的实时处理请求并进行相应的处理。中断控制器连接所有有中断需求的外设,一旦收到外设的中断请求,就通过专用的中断线向微处理器发送请求,使微处理器进入中断处理操作。微处理器通过总线对中断控制器进行中断配置和管理。
三、系统总线
系统总线时微处理器与存储器和外设之间的数据交互通道,共分为三种:地址总线(Address Bus,AB)、数据总线(Data Bus,DB)、控制总线(Control Bus,CB)。
1、地址总线
地址总线总共有n条,从An-1~A0;
2、数据总线
数据总线总共有m条线,从Dm-1~D0;数据总线有四类,即8位总线、16位总线、32位总线和64位总线。m位总线表示微处理器一次可以通过总线读写m位数据。对于16位数据总线而言,每次可以访问两个字节(D0~D15),也可以每次访问其中的一个字节(D0~D7或者D8~D15)。因此,控制总线需要增加两个专用信号nBS0和nBS1来指明每个字节是否被选中。32位同理需要nBS0~nBS3四个信号。
3、控制总线
控制总线包括读使能线nRD(低电平有效)和写使能线nWR(低电平有效)。
微控制器访问存储单元时,首先向地址总线输出所访问的存储单元的地址,然后使能控制总线中的读或写使能线。当进行写操作时,微处理器输出数据到数据总线上;当进行读操作时,存储器或者外设输出数据到数据总线上。
四、存储器系统
一个存储器系统通常由多个存储设备(存储器和外设)组成,同一总线上的所有存储设备不能同时被访问,每次只能有一个被访问。每个存储器设备都有一组数据线Dm-1~D0、地址线An-1~A0、读写控制线nWR和nRD以及设备选择线(nCS)。
每个存储器都有一个特定的访问地址范围。当系统总线上的地址在该存储设备的地址范围内nCS才有效,这时存储设备才能被访问。用来产生nCS的电路称为地址译码器。
从数据存储的角度来看,存储设备是一张由若干行和列组成的存储表,每一行由若干列组成,每列存储一个字节,行数是存储单元的数目,列数是1个存储单元存储的数据大小,通常与数据总线宽度相等。
五、外设接口
外设是完成外部数据获取、数据传输和数据显示等功能的设备。外设的结构功能各不相同,但无论何种设备,最终都需要与微处理器交互配置控制命令、工作状态和输入输出数据。
在微处理器系统中,每个外设都有单独的地址空间(编号),并且都有自己的内部寄存器用来保存控制信号、状态信号、发送数据、接收数据和配置参数。因此,外设接口通常由控制寄存器、状态寄存器、数据输出寄存器和数据输入寄存器构成。
外设接口与系统总线相连,主要有地址线、数据线和读写控制线。每个外设接口都有一个允许使能信号,即片选信号(nCS)。当且仅当该信号为低电平时,接口所含有的寄存器才能被微处理器访问。
为了方便操控设备,每个外设接口都有专用的地址,并采用专用的译码电路产生片选信号。
六、中断系统
中断通常用于处理发送结束、接收完成、定时结束、设备操作错误、外部电平发生变化等不可预知的突发事件。
中断系统是由微处理器、中断控制器和外设组成的。
支持中断的外设外设都有专用的中断控制寄存器(ICR)和中断状态寄存器(ISR),同时有一条信号线作为中断请求线。中断控制寄存器用来规定哪些事件可以产生中断请求,而中断状态寄存器则指明当前哪些时间产生了中断请求。微处理器可以清除中断状态寄存器的相应位来取消中断请求。
七、直接存储访问器
系统的许多处理都是需要进行大批量的数据传输,比如内存数据拷贝和外设数据流传输等。批量传输占用了处理器大量的时间,影像处理器的处理效率。如果将处理器与大批量数据传输的操作分离,那么可以大大提高处理器的处理效率。
微处理器中直接存储访问器(DMAC)可以模仿微处理器对总线进行读写操作,不经过微处理器,故称为直接存储访问(DMA)。
DMAC的主要作用是将微处理器从大批量数据中解脱出来,同时DMAC可以自动对外设进行收发处理。从而减少外设收发中断的使用。