说到寄存器,你可能暂时没有印象,但说到寄存器,CPU,即使是没有计算机基础的人也知道一些,寄存器(Cache)是中央处理器(CPU)对数据的处理起着至关重要的作用。所以寄存器到底起到了什么作用,寄存器种类和功能又是怎样的,我们拭目以待。
寄存器是由具有存储功能的触发器组合而成,是一些用于存储CPU内部数据的小存储区域,用于暂时存储参与计算的数据和计算结果。寄存器的功能由于寄存器的种类不同,也有所不同。
根据不同的功能,寄存器可以分为两类:基本寄存器和移位寄存器。基本寄存器只能并行输入数据或并行输出。移位寄存器中的数据可以在移位脉冲的作用下向右或向左移动。数据可以并行输入、并行输出、串行输入、串行输出、并行输入、串行输出、串行输入、并行输出,非常灵活,应用广泛。
下面是寄存器4种功能。
1.清除数据:原始寄存器数据清除。
2.接收数据:在接收脉冲的作用下,外部输入数据存储在寄存器中。
3.存储数据:寄存器可以在没有新写入脉冲的情况下保存原始脉冲数据不变。
4.输出数据:只有在输出脉冲的作用下,才能通过电路输出数据。
仅具有上述功能的寄存器称为数字寄存器;此外,还有许多具有其他功能的寄存器。
寄存器有两种数字存取方式:串行和并行。n位二进制数一次存储在寄存器中或从寄存器中读取的方法称为并行方法。将n位二进制数分成n次存储在寄存器中,并从寄存器中读取,称为串行法。数据操作只需要一个时钟脉冲,工作速度快,但需要n条输入输出数据线。串行使用几个小时脉冲完成输入或输出操作,工作速度慢,但只需要输入或输出数据线,传输线少,适合远程传输。
8086 有8个8位数据寄存器,可分别组成16位寄存器:
AH&AL=AX:常用于运算的累加寄存器;
BH&BL=BX:地址索引常用于基址寄存器;
CH&CL=CX:常用于计数的计数寄存器;
DH&DL=DX:常用于数据传输的数据寄存器。
使用所有的内存空间,专门用于保存段地址的8086设置了四段寄存器:
CS(Code Segment):代码段寄存器;
DS(Data Segment):数据段寄存器;
SS(Stack Segment):堆栈段寄存器;
ES(Extra Segment):附加部分寄存器。
当一个程序需要执行时,通过设置段寄存器,有必要确定程序代码、数据和堆栈应该使用内存的位置 CS,DS,SS 指向这些起始位置。DS通常是固定的,CS是根据需要修改的。因此,当搜索空间小于64K时,程序可以写成任何大小。因此,程序和数据组合的大小仅限于DS 这就是COM文件不应大于64K的原因。8086以内存为战场,以寄存器为军事基地,加快工作。
除上述寄存器外,还有一些特殊功能的寄存器:
IP(Intruction Pointer):与CS配合使用的指令指针寄存器可以跟踪程序的执行过程;
SP(Stack Pointer):与SS一起使用的堆栈指针可以指向当前的堆栈位置。
BP(Base Pointer):基址指针寄存器可作为SS的相对基址位置;
SI(Source Index):与DS段相比,源变址寄存器可用于存储源变址指针;
DI(Destination Index):与目的变址寄存器相比,可用于存储 ES 段目的变址指针。
虽然上面介绍的很多寄存器已经逐渐淡出我们的实际开发,但是多了解一下寄存器类型和功能仍然没有缺点,这对我们处理数据有很大的帮助。当然欢迎观看本网站java视频课程,了解更多的计算机专业知识,学习更多的专业知识,帮助你找工作。