一、什么是寄存器
- 寄存器属于CPU外设的硬件组成部分
- CPU可以像访问内存一样访问寄存器
- 寄存器是CPU的硬件设计者制定的,目的是留作外设被编程控制的“活动开关”正如汇编指令集是CPU的编程接口API一样,寄存器是外设硬件的软件编程接口API。使用软件编程控制某一硬件,其实就是编程读写该硬件的寄存器。
二、两类寄存器
- SoC中有2类寄存器:通用寄存器和SFR
- 通用寄存器(ARM中有37个)是CPU的组成部分,CPU的很多活动都需要通用寄存器的支持和参与。
- SFR(special function register,特殊功能寄存器)不在CPU中,而存在于CPU的外设中,我们通过访问外设的SFR来编程操控这个外设,这就是硬件编程控制的方法。GPIO 端口的寄存器就属于 SFR(专用功能寄存器)。
注:源自 B站朱有鹏老师.