寄存器是属于存储器中的数据存储器里的。寄存器是用来存放临时数据的高速独立的存储单元。CPU的运算离不开大量存储器的使用。在过去,计算机只有几个数据寄存器用来存储输入数据和运算结果。现在,由于越来越多的复杂运算改由硬件设备实现(而不是使用软件),所以计算机在CPU中使用几十个寄存器来提高运算速度,并且需要一些寄存器来保存这些运算的中间结果。现在,计算机存储的不仅是数据,还有存储在内存中相对应的程序。CPU的主要职责是:从内存中逐条地取出指令,并将取出的指令存储在指令寄存器中,解释并执行指令。CPU中另一个通用寄存器是程序计数器(PC寄存器)。程序计数器中保存着当前正在执行的指令。当前的指令执行完成后,计数器将自动加1,指向下一条指令的内存地址。这个地方说的涉及到计算机程序执行的操作以及相应的指针的概念,在C语言中指针和内存管理都是很重要的概念,在编写程序做项目时也会涉及到,并且在不断使用,学好指针和内存管理能够更好地了解计算机的运行,更容易地操作寄存器,理解操作系统等。
寄存器是计算机中的一个重要部件,用于暂存数据、指令等。它是由触发器和一些控制门组成的,由n个触发器可以组成一个n位寄存器。寄存器由于在计算机中的作用不同而具有不同的功能,从而被命名为不同的名称。
触发器Trigger是计算机记忆装置的基本单元,也是构成时序电路的基础。在计算机中用触发器来存储数据,一个触发器存储一位二进制数。触发器可以组成寄存器,寄存器又可以组成存储器。触发器的种类很多。按时钟控制方式可以分为电位触发、边沿触发、主从出发等。
在前面我们已经说过寄存器也是一种存储器,只不过普通的存储器只能写和读,里面的数据并没有赋予什么实际意义,但是寄存器就不一样了,寄存器的每一位数据,都对应了硬件电路的状态,寄存器和外设的硬件电路,是可以进行互动的,所以,我们可以通过寄存器控制电路了。
在学习单片机的时候,很多时候我们都在和寄存器打交道。寄存是一种特殊的存储器,一方面,CPU可以对寄存器进行读写,就像读写运行内存一样,另一方面,寄存器的每一位背后,都链接了一根导线,这些导线可以用来控制外设电路的状态,比如置引脚的高低电平、导通和断开开关、切换数据选择器或者多位组合起来,当做计数器、数据寄存器等等。所以,寄存器是连接软件和硬件的桥梁。软件读写寄存器,就相当于在控制硬件的执行。
可位寻址的寄存器可以对寄存器的某一位进行赋值,不可位寻址的寄存器需要通过整体赋值来进行,直接通过字节操作。