基础知识
寄存器分类有哪些?
寄存器分类
寄存器主要分并行寄存器和移位寄存器两种。并行寄存器是并行输入并行输出寄存器。移位寄存器除具寄存器的功能外,所存储的数码在时钟脉冲的作用下还可以移位。根据数码的移位方向分为左移寄存器和右移寄存器。左移寄存器是指在时钟脉冲的作用下,低位寄存器的数码送给高位寄存器,作为高位寄存器的次态输出;右移寄存器是指在时钟脉冲的作用下,高位寄存器的数码送给低位寄存器,作为低位寄存器的次态输出。
寄存器分类
数据寄存器 - 用来储存整数数字(参考以下的浮点寄存器)。在某些简单/旧的 CPU,特别的数据寄存器是累加器,作为数学计算之用。
地址寄存器 - 持有存储器地址,以及用来访问存储器。在某些简单/旧的CPU里,特别的地址寄存器是索引寄存器(可能出现一个或多个)。
通用目的寄存器 (GPRs) - 可以保存数据或地址两者,也就是说他们是结合 数据/地址 寄存器的功用。
浮点寄存器 (FPRs) - 用来储存浮点数字。
常数寄存器 - 用来持有只读的数值(例如 0、1、圆周率等等)。
向量寄存器 - 用来储存由向量处理器运行SIMD(Single Instruction, Multiple Data)指令所得到的数据。
特殊目的寄存器 - 储存CPU内部的数据,像是程序计数器(或称为指令指针),堆栈寄存器,以及状态寄存器(或称微处理器状态字组)。
指令寄存器(instruction register) - 储存现在正在被运行的指令
索引寄存器(index register) - 是在程序运行实用来更改运算对象地址之用。
在某些架构下,模式指示寄存器(也称为“机器指示寄存器”)储存和设置跟处理器自己有关的数据。由于他们的意图目的是附加到特定处理器的设计,因此他们并不被预期会成微处理器世代之间保留的标准。
有关从 随机存取存储器 提取信息的寄存器与CPU(位于不同芯片的储存寄存器集合)
存储器缓冲寄存器(Memory buffer register)
存储器数据寄存器(Memory data register)
存储器地址寄存器(Memory address register)
存储器型态范围寄存器(Memory Type Range Registers)
寄存器定义
它是用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器(一般用D触发器构成) 构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。寄存器广泛地用于数字系统和数字计算机中。
寄存器分类
寄存器主要分并行寄存器和移位寄存器两种。并行寄存器是并行输入并行输出寄存器。移位寄存器除具寄存器的功能外,所存储的数码在时钟脉冲的作用下还可以移位。根据数码的移位方向分为左移寄存器和右移寄存器。左移寄存器是指在时钟脉冲的作用下,低位寄存器的数码送给高位寄存器,作为高位寄存器的次态输出;右移寄存器是指在时钟脉冲的作用下,高位寄存器的数码送给低位寄存器,作为低位寄存器的次态输出。
寄存器的主要技术
1. 重命名技术
寄存器重命名,是CPU在解码过程中对寄存器进行重命名,解码器把“其它”的寄存器名字变为“通用”的寄存器名字,本质上是通过一个表格把x86寄存器重新映射到其它寄存器,这样可以让实际使用到的寄存器远大于8个。这样做的好处除了便于前面指令发生意外或分支预测出错时取消外,还避免了由于两条指令写同一个寄存器时的等待。 2. 乱序执行技术
采用乱序执行技术的目的是为了使CPU内部电路满负荷运转并相应提高了CPU运行程序的速度。这好比请A、B、C三个名人为春节联欢晚会题写横幅“春节联欢晚会”六个大字,每人各写两个字,如果这时在一张大纸上按顺序由A写好“春节”后再交给B写“联欢”,然后再由C写“晚会”,那么这样在A写的时候,B和C必须等待,而在B写的时候C仍然要等待而A已经没事了。但如果采用三个人分别用三张纸同时写的做法,那么B和C都不必等待就可以同时各写各的了,甚至C和B还可以比A先写好也没关系(就像乱序执行),但当他们都写完后就必须重新在横幅上按“春节联欢晚会”的顺序排好(自然可以由别人做,就象CPU中乱序执行后的重新排列单元)才能挂出去。
寄存器的分类寄存器主要用途
通用寄存器数据
寄存器AX乘、除运算,字的输入输出,中间结果的缓存
AL字节的乘、除运算,字节的输入输出,十进制算术运算
AH字节的乘、除运算,存放中断的功能号
BX存储器指针
CX串操作、循环控制的计数器
CL移位操作的计数器
DX字的乘、除运算,间接的输入输出
变址
寄存器SI存储器指针、串指令中的源操作数指针
DI存储器指针、串指令中的目的操作数指针
变址
寄存器BP存储器指针、存取堆栈的指针
SP堆栈的栈顶指针
指令指针IP/EIP
标志位寄存器Flag/EFlag
32位
CPU的
段寄存器16位CPU的
段寄存器ES附加段寄存器
CS代码段寄存器
SS堆栈段寄存器DS数据段寄存器
新增加的
段寄存器FS附加段寄存器GS附加段寄存器
全部0条评论
快来发表一下你的评论吧 !