【微处理器系统原理和应用设计第六讲】片上微处理器系统系统架构

2024-09-05 07:12

本文主要是介绍【微处理器系统原理和应用设计第六讲】片上微处理器系统系统架构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、概念辨析

首先来厘清以下概念:微处理器,微控制器,单片机,片上微处理器系统

(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可以自动对外设进行收发处理。从而减少外设收发中断的使用。

这篇关于【微处理器系统原理和应用设计第六讲】片上微处理器系统系统架构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1138297

相关文章

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has

Go信号处理如何优雅地关闭你的应用

《Go信号处理如何优雅地关闭你的应用》Go中的优雅关闭机制使得在应用程序接收到终止信号时,能够进行平滑的资源清理,通过使用context来管理goroutine的生命周期,结合signal... 目录1. 什么是信号处理?2. 如何优雅地关闭 Go 应用?3. 代码实现3.1 基本的信号捕获和优雅关闭3.2

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit