寄存器为什么比内存快
来源:互联网 发布:linux操作系统基础 编辑:程序博客网 时间:2024/05/29 17:26
计算机中最快的是寄存器,内存其次,最慢的是硬盘.
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。
- 为什么寄存器比内存快?
- 为什么寄存器比内存快?
- 为什么寄存器比内存快?
- 为什么寄存器比内存快?
- 为什么寄存器比内存快?
- 为什么寄存器比内存快?
- 为什么寄存器比内存快?
- 为什么寄存器比内存快?
- 为什么寄存器比内存快?
- 为什么寄存器比内存快?
- 为什么寄存器比内存快?
- 为什么寄存器比内存快?
- 为什么寄存器比内存快?
- 为什么寄存器比内存快?
- 为什么寄存器比内存快?
- 为什么寄存器比内存快?
- 为什么寄存器比内存快
- 为什么寄存器比内存快?
- linux环境变量 export命令详解
- 获取短信验证码的js倒计时
- HDU 2.2.8
- hbase基本概念
- 【bzoj1251】 序列终结者 (splay 翻转和建树模板)
- 寄存器为什么比内存快
- 解决eclipse中override注释报错问题
- 震惊!Binder机制竟恐怖如斯!(上)
- 【免费】软考高级项目经理线上说明会
- 可能是全网最全的移动直播trouble shooting手册(3)——首开慢
- 写JQuery插件的基本知识
- 指针……
- 【算法导论】动态规划
- Hololens官方教程精简版