当前位置:首页 > 内存 > 正文

内存和寄存器的关系(内存包括寄存器和什么)

  • 内存
  • 2024-05-31 16:58:19
  • 4132

一、内存地址寄存器和内存容量的关系(2^10=1024=1K;2^20=1M;2^30=1G;2^40=1G)
的幂就是位数例如一个1M对应的地址寄存器应该有至少(2^20=1M)20位数字


二、CPU里的寄存器和内存的关系!

寄存器(缓存)集成在CPU内部,而内存挂在CPU外部的数据总线上,访问内存时需要将地址填充到CPU的寄存器(缓存)中,然后执行必须遵循相关的汇编指令。此时,CPU会在数据总线上产生时钟信号来读取或写入存储器数据,存储器的内容将被CPU寄存器(缓存)的内容更新(写入)。或者读(read)到CPU的寄存器(cache)中。如:

地址输入地址寄存器->缓存命中,则数据进入数据寄存器->如果缓存未命中,则进入内存->如果内存命中TLB快表,数据进入块缓存,数据进入寄存器->如果内存TLB快速表命中,本地数据进入块缓存和快速表->如果内存未命中,数据块进入硬盘虚拟存储区域。


三、寄存器和内存有什么区别和联系这个问题在我刚学汇编时也曾困扰过我,但现在我明白了。寄存器内置于CPU中,是CPU可以直接访问的存储设备。它的容量虽小,但访问速度是最快的。当CPU执行一条指令时,它会根据code和ip寄存器在内存中寻找相关的机器码来执行该指令。代码寄存器cs存储代码段的基地址,ip存储它指向的偏移值。当前正在执行的偏移地址。当执行一条指令时,它会加一。
由于寄存器容量较小,无法存储任何变量。它通常存储多个地址作为索引。CPU执行指令时,会根据其地址进入内存查找相关内容来完成。目前的实施。包括变量的内容等。至于一般的寄存器,常常用来临时存储中间结果,比如从内存中取出的变量,先保存到寄存器中,然后再执行指令执行,所以寄存器的内容会发生变化(指令行为)。直接在寄存器对象上),然后它的内容可以传输到内存并保存。ax、bx、cx、dx在正常情况下可以通用,但需要注意它们的特殊用途。例如,默认是在循环指令中操作cx,bx是唯一的通用寄存器。可以用作指针寄存器。通常用于DOS函数调用等。您可以在其他场合使用任何您喜欢的东西。
要真正理解,你必须仔细阅读这本书。呵呵