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

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

相关文章

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

mysql中的服务器架构详解

《mysql中的服务器架构详解》:本文主要介绍mysql中的服务器架构,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、mysql服务器架构解释3、总结1、背景简单理解一下mysqphpl的服务器架构。2、mysjsql服务器架构解释mysql的架

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景