因为要交英语作业,所以把深入理解计算机技术的储存技术这一章提前拿了出来.也会写的浅显一些。
渣翻,勿喷
希望老师看到之后会挑电脑了
为什么我们需要了解层次性储存技术,我想原书的一句话已经给出了完美的解释
AS A PROGRAMER,YOU NEED TO UNDERSTAND THE MEMORY HIERARCHY BECAUSE IT HAS A BIG IMPACT ON THE PERFORMANCE OF YOUR APPLICATION.
等等,我在讲解之前可能还需要一些前置知识
这张图片说明了计算机基本结构
ALU:逻辑运算单元(算术的)
所有的参与运算的数据都必须进入寄存器,这也说明了为什么在汇编语言中为什么数据转移指令不能从储存器地址到储存器地址。
如果程序所需要的数据在寄存器(register)中那么程序调用它需要零个周期。
如果在高速缓存中需要一到十个周期(SRAM:即cpu参数中缓存,也可不在cpu中)
如果在主存中(一般为DRAM在图中用main memory表示)需要50个周期
如果在硬盘中我们需要很多很多周期(懂我意思吧)大概一千万
静态ram:sram
sram要比dram快,但也要贵的多
一个sram单元由六个晶体管组成,工作时有两种状态,不易受到干扰,只要有电他就会永远保持它的值。
动态ram:dram的储存单元由电量为千万亿分之一法拉的电容组成,这也导致了他极不稳定,只能将数据保留10~100毫秒
不过对于时钟为纳秒级的计算机来说这样是时间是很长的,而且计算机也不断的随时刷新纠错。
关于dram的内部构造如有需要我会另行叙述
影响访问时间的主要有三点
寻道时间:传动臂移动到对应磁道的时间,平均时间3~9毫秒,最大20毫秒
旋转时间:如果磁盘因为读取速度太慢刚好错过目标扇区,就不得
新转一圈。
传送时间:取决于硬盘参数
具体计算如下:
另注:格式化磁盘容量,因为总有一些柱面被系统留作备用的柱面防止该区的柱面坏掉丢失数据。
下片文章会将固态硬盘。