寄存器理解

发布时间 2023-04-10 22:23:10作者: 踏浪而来的人

处理器(CPU)的功能:

  1. 运算:

     a. 算数运算(加减乘除)

       b. 逻辑运算(如if else)、

  2. 控制硬件

地址空间:

  单片机能够读写储存器,但她的地址范围是有限的。(如32bit的ARM能够读写的地址空间为4G)

 

运算:

  ROM只读存储空间,掉电不丢失数据;

  RAM可读可写,掉电会丢失,相当于运行内存

  处理器(cpu)只能运行程序,不能存储程序。所以我们写好的程序(编译后就是一条条指令)一般存到ROM中,在执行程序时,处理器会从ROM

  中一条一条拿指令来执行。处理器在执行程序时,还要处理一些数据(如变量),这些变量是存储在RAM中的。

控制硬件:

  在地址空间范围之内,除了前面处理器运算用的空间,还给我们留了一部分空间来控制硬件。这段空间里面就包含多个硬件控制器,不同硬件控制器

  可以完成不同的功能,如uart硬件控制器,用来控制串口的收发;GPIO硬件控制器,用来控制输入输出。每个硬件控制器又由寄存器来控制,

  每个寄存器的本质又是存储器,所以往寄存器中写一个特定的值,就可以控制对应的硬件(如uart硬件控制器,就可以往串口发送数据或接受数据)

  总结:cpu本省不能直接控制硬件,硬件一般由其对应的硬件控制器来控制的。处理器中将各个硬件控制器的寄存器映射到CPU地址空间中的一段地址,

  这样cpu就可以通过读写寄存器来间接控制硬件

 

地址映射表:

  在一个处理器中,一般会将RAM、ROM、寄存器的存储设备分别映射到寻址空间中的不同地址段。这种映射关系为这个处理器的地址映射表