【SoC基础】单片机之寄存器解析

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨

📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852

📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉

📢:内容若有错误,敬请留言 📝指正!原创文,转载注明出处

文章目录

  • 1、寄存器位置
  • 2、寄存器种类
    • [2.1 通用用途寄存器](#2.1 通用用途寄存器)
    • [2.2 CPU执行相关寄存器](#2.2 CPU执行相关寄存器)
    • [2.3 外设控制寄存器](#2.3 外设控制寄存器)
  • [3. 寄存器在CPU访问外设过程中起到的作用](#3. 寄存器在CPU访问外设过程中起到的作用)

1、寄存器位置

寄存器通常存放在单片机的内部。

具体来说,寄存器是集成在单片机的中央处理器(CPU)内,作为CPU的一部分,用于暂存指令、数据和地址等信息,以支持CPU快速地进行数据处理和运算。此外,一些特殊功能寄存器还分布在单片机的其他功能模块中,用于控制和配置这些模块的工作模式和状态,如定时器、串口等模块都有各自对应的控制寄存器。

2、寄存器种类

寄存器种类繁多,在不同的系统和场景下有着不同的划分方式,以下为你从通用用途、CPU执行、外设控制三个方面对寄存器进行分类并制成表格:

2.1 通用用途寄存器

寄存器类型 说明 应用场景
通用数据寄存器 用于暂存数据和运算结果,可进行算术、逻辑运算等操作。如8086CPU中的AX、BX、CX、DX 数据处理、运算操作
地址寄存器 存储内存地址,方便CPU快速定位和访问内存单元。如基址寄存器、变址寄存器等 内存寻址、数据读取与存储

2.2 CPU执行相关寄存器

寄存器类型 说明 应用场景
程序计数器(PC) 存放下一条要执行的指令地址,使CPU按顺序执行程序 程序执行流程控制
指令寄存器(IR) 存放当前正在执行的指令,供CPU进行译码和执行 指令译码与执行
状态寄存器(PSW) 包含各种标志位,反映运算结果的状态(如进位、溢出、零标志等)和CPU的工作状态 条件判断、程序分支控制

2.3 外设控制寄存器

寄存器类型 说明 应用场景
控制寄存器 用于配置和控制外设的工作模式、功能等。如串口通信的波特率控制寄存器、定时器的工作模式控制寄存器 外设功能配置与控制
状态寄存器 反映外设的当前工作状态,如设备是否忙、是否有数据就绪等 外设状态监测与处理
数据寄存器 用于外设与CPU之间的数据传输,如串口的数据发送寄存器和接收寄存器 外设数据读写

3. 寄存器在CPU访问外设过程中起到的作用

本质上,CPU访问外设或存储器主要是通过地址总线、数据总线和控制总线来实现的,而不是寄存器。不过,寄存器在这个过程中也起着重要的辅助作用。

CPU通过地址总线发送地址信号来指定要访问的外设或存储器的具体位置,通过控制总线发送控制信号来确定操作类型(如读或写),通过数据总线来传输数据。

寄存器在其中的作用是暂存数据、地址和控制信息等,例如,CPU在访问外设或存储器之前,会先将地址信息存入地址寄存器,将数据存入数据寄存器,然后通过总线将这些信息发送出去。在数据传输完成后,也会将接收到的数据存入相应的数据寄存器。所以寄存器是协助CPU进行数据处理和传输的重要部件,但并非CPU访问外设或存储器的本质方式。

相关推荐
Y1rong13 小时前
STM32之中断(二)
stm32·单片机·嵌入式硬件
Y1rong13 小时前
STM32之中断(一)
stm32·单片机·嵌入式硬件
LaoZhangGong12314 小时前
学习TCP/IP的第3步:和SYN相关的数据包
stm32·单片机·网络协议·tcp/ip·以太网
小郭团队14 小时前
2_1_七段式SVPWM (经典算法)算法理论与 MATLAB 实现详解
嵌入式硬件·算法·硬件架构·arm·dsp开发
持戒波罗蜜14 小时前
ubuntu20解决intel wifi 驱动问题
linux·驱动开发·嵌入式硬件·ubuntu
不做无法实现的梦~14 小时前
使用ros2来跑通mid360的驱动包
linux·嵌入式硬件·机器人·自动驾驶
bai54593614 小时前
STM32 CubeIDE 使用蓝牙模块实现手机控制LED灯
stm32·单片机·嵌入式硬件
gihigo199816 小时前
基于DSP28335 SCI模块控制ESP8266 WiFi模块的实现方案
单片机·嵌入式硬件
想放学的刺客16 小时前
单片机嵌入式嵌入式试题(第16期):硬件可靠性设计与复杂状态机架构设计
c语言·stm32·单片机·嵌入式硬件·物联网
qq_73917536917 小时前
stm32h743单片机驱动dac8568失效问题分析
stm32·单片机·嵌入式硬件