详解计算机组成原理中的层次化存储

第5章 大而快:层次化存储

5.1 引言

局部性原理:在任意一段时间内,程序都只会访问地址空间中相对较小的一部分内容,就如你只会查阅图书馆的一部分藏书一样。

时间局部性:某个数据被访问,在不久的将来可能再次被访问,图书馆借阅了某本书,很快需要再次借阅它。

空间局部性:某个数据被访问,与它相邻的数据项可能很快将被访问,借阅图书馆早期计算机书籍,旁边可能是相同主题的书。

存储层次结构:多级存储器结构,随着与处理器距离增加,存储器容量和访问时间都会增加,而成本降低。

速度最快,体积最小,价格最高,SRAM,静态随机存取存储器,只要通电,数据一致保存,用于二级高速缓冲。

中等,中等,中等,DRAM,动态随机存取存储器,除了要一直通电,还要周期性刷新充电一次,常见的电脑内存。

速度最慢,体积最大,价格最低, 磁盘。

数据也有相似的层次性,靠近处理器中的数据时较远层次中数据的子集。

相邻两层之间进行信息交换的最小单元称为 块 或 行(block或line),上述图书馆类比中,最小信息块就是一本书。

如果处理器所需的数据在本层存储器中找到,称为命中(hit),没找到称为失效(miss)。

命中率:访问本层存储时,命中的次数占总次数的比例。

失效率:访问本层存储时,失效的次数占总次数的比例。

命中时间:访问本层存储时间包括判断访问命中或失效的时间(即查阅桌上所有书籍的时间)。

失效损失:将数据块从下层存储复制至某层所需的时间,包括数据块的访问时间、传输时间、写入目标层的时间和将数据块返回给请求者的时间(从书架上获得另一本书并将它放在书桌上的时间)。

5.2 存储技术

层次化存储中有四种主要技术:动态随机访问存储DRAM,静态随机访问存储SRAM,闪存(flash memory),磁盘(magnetic disk)。

5.2.1 SRAM存储技术

  • 一个读写端口
  • 任意位置数据访问时间是固定的
  • 不需要刷新电路
  • 每比特采用6或8个晶体管来实现。
  • 过去大多数个人电脑使用它作为一级,二级,三级高速缓存,如今高速缓存被集成到了处理器芯片上,独立的SRAM市场已经消失。

5.2.2 DRAM存储技术

  • 使用电容来存储数据,采用单个晶体管来访问存储的电荷,进行读写。
  • 比SRAM密度高,单价低,周期性刷新,不可持续也是该结构称为动态的原因。
  • 电荷保持几微秒,使用两级译码电路,一个读周期紧跟一个写周期一次性完成整行刷新。
  • 行结构有助于DRAM的刷新,缓存了行以便重复访问,同一行可以改变地址访问任意位置。
  • 使用时钟消除内存和处理器之间的同步问题。
  • 双倍数据传输率,DDR,最新架构DDR4,DDR4-3200能够在1.6GHz工作频率下,每秒进行32亿次的数据传输。
  • 内部组织对bank进行读写,每个bank对应各自的行缓冲,4个bank结构只需要一次访问就获得4倍带宽,称为交叉地址访问。
  • 集成在小电路板上称为双列直插式内存模块,DIMM包括4-16个DRAM颗粒,每个DRAM被组织成8字节宽度。
  • DDR4-3200 SDRAM的DIMM每秒传输8*3200MB=25600MB的数据,命名为PC25600。

Bank (内存库) 在内存行业里,Bank至少有三种意思,所以一定要注意。

1、在SDRAM内存模组上,"bank 数"表示该内存的物理存储体的数量。(等同于"行"/Row)

2、Bank还表示一个SDRAM设备内部的逻辑存储库的数量。(现在通常是4个bank).

3、它还表示DIMM 或 SIMM连接插槽或插槽组,例如bank 1 或 bank A。这里的BANK是

内存插槽的计算单位(也叫内存库),它是电脑系统与内存之间数据总线的基本工作单位。只有插满一个BANK,电脑才可以正常开机。举个例子,奔腾系列的主板上,1个168线槽为一个BANK,而2个72线槽才能构成一个BANK,所以72线内存必须成对上。原因是,168线内存的数据宽度是64位,而72线内存是32位的。主板上的BANK编号从BANK0开始,必须插满BANK0才能开机,BANK1以后的插槽留给日后升级扩充内存用,称做内存扩充槽。

5.2.3 闪存

SD存储卡,U盘,一般应用于数码相机,掌上电脑,MP3等小型数码产品作为存储介质。

闪存是一种电可擦除的可编程只读存储器EEP-ROM。

闪存的写操作会对器件本身产生磨损,为了应对这种限制,大多数闪存产品都包括一个控制器,用来将发生多次写的块重新映射到较少被写的块,从而使得写操作尽量分散,该技术称为耗损均衡。

5.2.4 磁盘

磁性硬盘是由一堆盘片组成,这些盘片绕轴心每分钟转动5400-15000周,一个可移动的转臂位于盘面上方,包括一个读写头的小型电磁线圈。

有10个盘面,10个磁头,每个盘面配一个磁头。

磁道(track):磁盘表面同心圆,每个盘面通常有几万条磁道。

扇区(sector):每条磁道按序划分为上千个保存信息的扇区,容量一般为512-4096字节。

2^9-2^12,读写磁盘信息的最小单位,每个扇区记录的是:扇区号,间隙,纠错码,下一个扇区号等。

柱面:表示某磁头在给定点能够访问到的所有磁道集合。

操作系统三步完成磁盘的数据访问:

  • 寻道(seek):将磁头定位到正确的磁道上方,所需时间称为寻道时间,平均3-13ms。
  • 旋转延时:磁头到达正确磁道,需要等待所需扇区旋转到读写磁头下,以半周为例,5.6ms.
  • 传输时间:传输数据块的时间,大概150-250MB/s.

大多数磁盘控制器内置一个缓存,用来保存刚刚读取过的扇区的数据,从缓存中读取数据传输速率高很多,达到1500MB/s.

逻辑块以弯曲的方式排列在盘片表面,尽可能使每个扇区的记录密度相同,获得最佳性能,因此顺序地址的数据块可能在不同磁道上。

闪存速度是磁盘1000倍,DRAM是100000(也就是常见的内存是磁盘的十万倍),磁盘没有写损耗问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿立聊全栈

有作用的,有闲钱的支持一点。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值