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

内存和寄存器

  • 内存
  • 2024-06-01 11:15:10
  • 7591

一、为什么寄存器比内存快?在计算机的内存层次结构中,速度最快的是寄存器,其次是内存,最慢的是硬盘。
两者都是晶体管存储器件。为什么寄存器比内存快?
MikeAsh写了很好的解释,用很简单的方式回答了这个问题,有助于加深对硬件的理解。下面是我的简单翻译。
原因一:距离不同
距离不是主要因素,但它是最好理解的,所以我把它列在最前面。内存距离CPU较远,因此读取时间较长。
以3GHzCPU为例,电流每秒可振荡30亿次,每次大约需要0.33纳秒。光在一纳秒内可以传播30厘米的距离。这意味着在CPU的一个时钟周期内,光可以前进10厘米。因此,如果内存距离CPU超过5厘米,则不可能在一个时钟周期内完成数据的读取,而且这还不考虑硬件的限制以及电流实际无法达到的情况。光速。相比之下,寄存器位于CPU内部,读取速度当然快。
距离对台式电脑的影响很大,对手机的影响要小得多。手机CPU的时钟速度相对较慢(iPhone5s为1.3GHz),手机内存位于CPU旁边。
原因2:硬件设计不同
苹果新推出的iPhone5s拥有A7CPU和6000多个寄存器(31个64位寄存器加32个128位寄存器)。iPhone5s的内存为1GB,约合80亿位。这意味着高性能、昂贵、耗电的设计可以用在无论如何都只有6000多位的寄存器中,但不能用在内存中。因为只要每一位的成本和能耗增加一点,就会放大80亿倍。
事实上,确实是这样。存储器的设计相对简单。每个位由一个电容器和一个晶体管组成,而寄存器的设计完全不同,并且有多个电子元件。而且上电后,寄存器的晶体管一直有电,而存储器的晶体管只有在使用时才有电,不使用时就断电。这有利于节能。这些设计因素决定了寄存器的读取速度比内存更快。
原因三:工作方式不同
寄存器的工作方式很简单,只有两步:(1)找到相关位,(2)读取这些位。
内存的工作方式要复杂得多:
(1)找到指向数据的指针。(指针可以存放在寄存器中,所以这一步已经涵盖了寄存器的所有工作。)
(2)将指针发送给内存管理单元(MMU),由MMU翻译虚拟内存地址转换为实际物理地址。
(3)将物理地址发送给内存控制器(内存控制器),内存控制器会找出该地址位于哪个内存槽(Bank)。
(4)判断数据在哪个内存块(chunk)中,并从该块中读取数据。
(5)数据首先发送到内存控制器,然后返回CPU,然后开始使用。
内存工作流程比寄存器涉及更多步骤。每个步骤都会引入延迟,使内存总体上比寄存器慢得多。
为了减少寄存器和内存之间巨大的速度差异,硬件设计者做了很多努力,包括在CPU内创建缓存、优化CPU的工作方式以及尝试一次性从内存中获取读取所需的所有指令。。数据等。


二、寄存器和内存什么关系

1寄存器位于内存层次结构的顶层,是系统获取操作数据的最快方式。寄存器通常通过它们可以容纳的位数来衡量。

例如“8位寄存器”或“32位寄存器”。寄存器目前以寄存器文件的形式实现,但在某些机器上也可以使用特殊的触发器、高速核心存储器、薄膜存储器和其他手段来实现。

寄存器通常用来指一组可以通过指令的输出或输入直接索引的寄存器。称它们为“建筑日志”更为合适。

例如,x86指令集定义了一组八个32位寄存器,但实际x86指令集的CPU可能包含八个以上的寄存器。

必须使用2个寄存器来与内存通信。

寄存器功能非常重要CPU在处理内存中的数据时,往往会先取出内部寄存器中的数据,然后进行处理。外部寄存器是用于临时存储其他计算机组件中的数据的寄存器。它们通过“端口”与CPU交换数据。

虽然外部日志也用于存储数据,但它们存储的数据有特殊用途。一些寄存器中各个位的0和1状态反映了外部设备与外部设备交换数据的工作状态或操作模式。

所以端口是CPU和外设之间的桥梁。CPU对端口的访问也是基于端口的“编号”(地址),这与内存访问相同。但考虑到机器连接的外设数量不多,机器设计时只安排了1024个端口地址,端口地址范围为0--3FFH。

扩展信息:

内存的分类:

内存的一般用途半导体存储单元包括随机存取存储器(RAM)、只读存储器(ROM)和高速缓存(CACHE)。很简单,因为RAM是其中最重要的内存。

SDRAM同步动态随机存取存储器:SDRAM为168针,是目前PENTIUM及以上型号使用的存储器。SDRAM通过同一个时钟将CPU和RAM锁定在一起,让CPU和RAM共享一个时钟周期,以相同的速度同步工作。。DDRRAM(DOUBLEDATARATE):一种更新的SDRAM产品,允许在时钟脉冲的上升沿和下降沿传输数据,从而在不增加时钟频率的情况下使SDRAM的速度加倍。

参考来源:寄存器-

内存-




三、寄存器、存储器和内存的区别和联系我在网上找到的,希望对你有帮助。
祝你好运!
1.
寄存器存在于CPU中,速度非常快,数量有限;
内存就是内存,速度稍慢,但数量很大;
当计算机进行运算时,必须将数据读入寄存器才能进行运算。
2.
内存包括寄存器,
内存包括rom和ram
寄存器仅用于临时存储,是临时分配的。断电后,里面的内容就会丢失。``````