寄存器地址怎么理解

寄存器地址怎么理解

寄存器地址分为处理器寄存器地址和外设寄存器地址。

处理器寄存器地址通常是和处理器指令相对应的,比如 arm 处理器的r0-r7这类通用寄存器,在处理器汇编指令中有操作数为寄存器的指令,指令中用5bit来编码32个寄存器°。特殊的处理器寄存器,比如 arm 中的 cpsr , spsr 也有对应的汇编指令。

而外设寄存器寄存器地址则需要根据 soc 的内存空间映射来确定。比如一个32位处理器,其可寻址的地址空间中有一段分配给外设,一段分配给内存等。这就要根据 soc 的手册来看了。以树莓派为例,如果想知道外设寄存器地址,则需要官网下载 soc 手册,里面介绍了地址空间的划分。

地址寄存器是用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。地址寄存器可用LPM库中的元件lpm_latch锁存器来完成。