为什么寄存器比内存快?通俗易懂的回答

所属分类: 硬件教程 / 内存 阅读数: 96
收藏 0 赞 0 分享

  计算机的存储层次(memory hierarchy)之中,寄存器(register)最快,内存其次,最慢的是硬盘。

为什么寄存器比内存快?

  同样都是晶体管存储设备,为什么寄存器比内存快呢?

晶体管

  Mike Ash写了一篇很好的解释,非常通俗地回答了这个问题,有助于加深对硬件的理解。下面就是我的简单翻译。

  原因一:距离不同

  距离不是主要因素,但是最好懂,所以放在最前面说。内存离CPU比较远,所以要耗费更长的时间读取。

  以3GHz的CPU为例,电流每秒钟可以振荡30亿次,每次耗时大约为0.33纳秒。光在1纳秒的时间内,可以前进30厘米。也就是说,在CPU的一个时钟周期内,光可以前进10厘米。因此,如果内存距离CPU超过5厘米,就不可能在一个时钟周期内完成数据的读取,这还没有考虑硬件的限制和电流实际上达不到光速。相比之下,寄存器在CPU内部,当然读起来会快一点。

  距离对于桌面电脑影响很大,对于手机影响就要小得多。手机CPU的时钟频率比较慢(iPhone 5s为1.3GHz),而且手机的内存紧挨着CPU。

  原因二:硬件设计不同

  苹果公司新推出的iPhone 5s,CPU是A7,寄存器有6000多位(31个64位寄存器,加上32个128位寄存器)。而iPhone 5s的内存是1GB,约为80亿位(bit)。这意味着,高性能、高成本、高耗电的设计可以用在寄存器上,反正只有6000多位,而不能用在内存上。因为每个位的成本和能耗只要增加一点点,就会被放大80亿倍。

A7

  事实上确实如此,内存的设计相对简单,每个位就是一个电容和一个晶体管,而寄存器的设计则完全不同,多出好几个电子元件。并且通电以后,寄存器的晶体管一直有电,而内存的晶体管只有用到的才有电,没用到的就没电,这样有利于省电。这些设计上的因素,决定了寄存器比内存读取速度更快。

  原因三:工作方式不同

  寄存器的工作方式很简单,只有两步:(1)找到相关的位,(2)读取这些位。

  内存的工作方式就要复杂得多:

  (1)找到数据的指针。(指针可能存放在寄存器内,所以这一步就已经包括寄存器的全部工作了。)

  (2)将指针送往内存管理单元(MMU),由MMU将虚拟的内存地址翻译成实际的物理地址。

  (3)将物理地址送往内存控制器(memory controller),由内存控制器找出该地址在哪一根内存插槽(bank)上。

  (4)确定数据在哪一个内存块(chunk)上,从该块读取数据。

  (5)数据先送回内存控制器,再送回CPU,然后开始使用。

  内存的工作流程比寄存器多出许多步。每一步都会产生延迟,累积起来就使得内存比寄存器慢得多。

  为了缓解寄存器与内存之间的巨大速度差异,硬件设计师做出了许多努力,包括在CPU内部设置缓存、优化CPU工作方式,尽量一次性从内存读取指令所要用到的全部数据等等。

更多精彩内容其他人还在看

新增内存安装注意事项

  PC机之所以能够迅速在普及,很重要一点就是系统的开放性,更换和升级方便。在计算机的升级过程中,最简单的要数是内存升级,只要把机器关机后,拔下电源,打开机箱,把新的内存插入空闲的内存插槽就可以了。不过,有时候也会出现
收藏 0 赞 0 分享

内存超频误区,您有犯这样的错误么吗?

 超频作为DIY玩家们永远的追求,誓必要将每一个可超频的硬件性能发挥到极致。先前是只对处理器、显卡进行超频,现就连插在主板上的内存也照超不误了。超频已经成为大家提升硬件价值的一种常用手段了,于是众厂商也是挖空心思推出了
收藏 0 赞 0 分享

菜鸟手册:教你认识内存制造过程

  芯片的制造   内存是由一般的海滩的沙所制成的。沙中含有半导体或芯片制造时最重要原料的 - 硅 (silicon) 。从沙中粹取的硅 , 经过融解、成型、切片、打磨以及抛光的程序而成为晶圆片 (silicon wafer) 。在制造芯片的过程中,
收藏 0 赞 0 分享

带你走捷径,迅速提升DDR2内存的性能

  随着AM2处理器的逐渐热门和Conroe系列处理器的强势发布,DDR2的发展进入黄金时期,DDR2 800气势很足,似乎要在2006年成为市场的主流。不少用户不得不反问:“我的内存够快了吗?还能够再快吗:”  如何继续提升DDR2内存的性能
收藏 0 赞 0 分享

菜鸟成长手册:谈单面与双面内存区别

内存之所以存在单面与双面内存,这关系到厂商制程跟良率问题,内存上的颗粒有分单面颗粒跟双面颗粒。 单面与双面内存 单面内存就一定比双面内存好,或者一定要在两者之间区分伯仲。单、双面内存它们的本身没有好坏,区
收藏 0 赞 0 分享

再便宜都要打假 6大内存品牌最直观防伪

目前市场上我们见过的大多内存品牌包括金士顿(Kingston)、三星(Samsung)、KINGMAX、宇瞻(Apacer)、威刚(A-DATA)、黑金刚(KINGBOX)、创见(Transcend)、海盗船(Corsair)、金邦(Geil)、金泰克、芝奇、、亿能、南亚
收藏 0 赞 0 分享

游戏内存如何炼成的 厂商工程师手记曝光

一:好内存,从设计开始   说起内存,可能很多玩家都觉得无所谓。内存只要可以用就行了,谁管它怎么样?实际上这样的想法是比较偏颇的。比如游戏玩家,往往长时间、高负荷运行计算机,对计算机整机性能特别是内存要求非常苛刻。
收藏 0 赞 0 分享

三思而后买 你真的需要DDR3内存吗

  随着Intel Core i7系列处理器的发布,DDR3内存终于在全世界玩家前吐气扬眉。在Core i7处理器中,集成了三通道内存控制器,并唯一支持DDR3内存。DDR3内存强大的性能终于得到体现,而各大内存厂商也开始大力推广DDR3内存。更大的容
收藏 0 赞 0 分享

给玩家基础性充电:各高端内存品牌点评

  说起高端内存,很多老玩家可能会脱口而出“海盗船”……,拜托,海盗船充其量就是一个以超频为主打的内存品牌,要说高端,海盗船也只是在国内依旧算得上高端。而我们对高端的定义是什么呢?价格高?能超频?或许都不是,只是能在
收藏 0 赞 0 分享

在布满荆棘道路前行 DDR3内存路在何方

  说到DDR3相信已经不再陌生,但就是这样一个已经经历了数年产品仍未能成为主流,那这其中必然有其缘由。DDR3内存仍然保持着非常强势的竞争优势,尤其在CPU高外频的带动之下,内存性能更是提升非常明显。因此,CPU高速的发展,使得
收藏 0 赞 0 分享
查看更多