当前位置: 微经验 > 经验 > 其他 > 寄存器和内存什么关系
寄存器是CPU里的东西,内存是挂在CPU外面的数据总线上的。访问内存时要在CPU的寄存器填上地址,再执行相应的汇编指令,这时CPU会在数据总线上生成读取或写入内存数据的时钟信号,最终内存的内容会被CPU寄存器的内容更新或被读入CPU的寄存器。
寄存器是中央处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器和程序计数器。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器。寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。 内存包含的范围非常广,一般分为只读存储器、随机存储器和高速缓存存储器。
1、地址寄存器:持有存储器地址,以及用来访问存储器。
2、通用目的寄存器:可以保存数据或地址。
3、浮点寄存器:用来储存浮点数字。
4、常数寄存器:用来持有只读的数值。
5、向量寄存器:用来储存由向量处理器运行SIMD指令所得到的数据。
6、特殊目的寄存器:储存CPU内部的数据,如程序计数器,堆栈寄存器,以及状态寄存器。
7、指令寄存器:储存现在正在被运行的指令。
8、索引寄存器:是在程序运行实用来更改运算对象地址之用。
注:SIMD全称Single Instruction Multiple Data,单指令多数据流,能够复制多个操作数,并把它们打包在大型寄存器的一组指令集。
指令寄存器IR(InstructionRegister),是临时放置从内存里面取得的程序指令的寄存器。
指令寄存器(IR,InstructionRegister)。存放当前从主存储器读出的正在执行的一条指令。当执行一条指令时,先把它从内存取到数据寄存器(DR,DataRegister)中,然后再传送至IR。指令划分为操作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作。指令译码器就是做这项工作的。指令寄存器中操作码字段的输出就是指令译码器的输入。
操作码一经译码后,即可向操作控制器发出具体操作的特定信号?指令指针寄存器ip,里面放置的不是指令,而是一个指向下一个将要去获取的指令的内存地址(所以它是一个指针)。它们的关系就是,CPU从指令指针寄存器ip获得指令的内存地址,然后取出指令,放置到指令寄存器IR。接下来,指令指针寄存器ip自己加1(也就是指向下一条指令)。
1、汇编语言中SP是堆栈寄存器。堆栈是一段按照后进先出原则组织起来的连续存储区域。用于程序保存或恢复数据,或用于子程序调用及中断响应时保护与恢复现场。SP是堆栈指针寄存器,存放着当前堆栈栈顶地址;
2、一般情况下,对SP有影响的指令,对SP的操作都是隐式,即SP并不出现在指令操作数当中。要注意进出栈的匹配,否则将引起不可预期的后果。
AX:累加寄存器。BX:基址寄存器。CX:计数寄存器。DX:数据寄存器。SP:堆栈指针寄存器。BP:基址指针寄存器。SI:源变址寄存器。DI:目的变址寄存器。IP:指令指针寄存器。CS:代码段寄存器。DS:数据段寄存器。SS:堆栈段寄存器。ES:附加段寄存器 。OF:溢出标志,操作数超出机器能表示的范围表示溢出,溢出时为1。SF:符号标志记录运算结果的符号,结果负时为1。ZF:零标志运算结果等于0时为1,否则为0。CF:进位标志,最高有效位产生进位时为1,否则为0。AF:辅助进位标志,运算时第3位向第4位产生进位时为1,否则为0。PF:奇偶标志,运算结果操作数位为1的个数为偶数个时为1,否则为0。
更多精彩资讯请关注微经验,我们将持续为您更新最新资讯!
上一篇: 美好生活的文案 下一篇: 猪笼草是生产者还是消费者