寄存器为什么比内存快

计算机中最快的是寄存器,内存其次,最慢的是硬盘.

1.硬件设计不同:

相比较内存寄存器就是比较稀有的宝贵资源了,所以高性能,高成本,高耗电的设计都用在寄存器上.事实上确实如此,内存设计相对简单,每个位就是一个电容和一个晶体管,而寄存器设计则完全不同,多出好几个元件,并且通电后,寄存器的晶体管一直有电,而内存的晶体管是用时才有电,没用就没电,这样利于省电,这些设计因素上,决定了寄存器的读取速度更快.

2.工作方式不同:

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

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

(1)找到数据的指针(可能存放在寄存器,所以这一步就已进包含了读取寄存器)

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

(3)将物理地址送往内存控制器,由内存控制器读出该地址在哪一个内存插槽上

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

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

3.距离不同:

距离不是主要因素,但是最好懂.内存距离CPU 比较远,所以要耗费跟长的时间来读

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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值