存储器层次结构

存储器层次结构

6.1 存储技术
6.2 局部性
6.3 存储器层次结构
6.4 高速缓存存储器
6.5 编写高速缓存友好的代码
6.7 小结
6.8 关于磁盘的补充讲解

       好的程序代码不仅要有好的算法,对计算机硬件的充分利用也是很关键的一步。

       存储器系统(memorysystem)是一个具有不同容量、成本和访问时间的存储设备的层次结构。CPU寄存器保存着最常用的数据。靠近CPU的小的、快速的高速缓存存储器(cache memory)作为一部分存储在相对慢速的主存储器(mainmemory,简称主存)中的数据和 指令的缓冲区域。主存暂时存放存储在容量较大的、慢速磁盘上的数据,而这些磁盘常常又作为存储在通过网络连接的其他机器的磁盘或磁带上的数据的缓冲区域。

       一般来说,如果你的程序需要的数据是存储在CPU寄存器中的,那么在指令的执行期间,在零个周期内就能访问到它们。如果存储在高速缓存中,需要1〜30个周期。如果存储在主存中,需要50〜200个周期。而如果存储在磁盘上,需要大约几千万个周期

6.1存储技术

6.1.1 随机访问存储器

       随机访问存储器(Random-AccessMem)分为两类:静态的和动态的。静态RAM (SRAM)

       比动态RAM(DRAM)更快,但也贵得多。SRAM用来作为高速缓存存储器,既可以在CPU芯片上,也可以在片下。

静态存储器

       SRAM将每个位存储在一个双稳态的(bitable)存储器单元里。每个单元是用一个六晶体管电路来实现的。

动态RAM

       DRAM将每个位存储为对一个电容的充电。这个电容非常小,通常只有大约30毫微微法拉 (femtofarad)——30*10^15法拉。不过,回想一下法拉是一个非常大的计量单位。DRAM存储 器可以制造得非常密集——每个单元由一个电容和一个访问晶体管组成。


非易失性存储器

       如果断电,DRAM和SRAM会丢失它们的信息,从这个意义上说,它们是易失的(volatile)。另一方面,非易失性存储器(nonvolatilememory)即使是在关电后,也仍然保存着它们的信息。

       PROM (Programmable ROM,可编程ROM)只能被编程一次。PROM的每个存储器单元有一种熔丝(fUse),它只能用高电流熔断一次。可擦写可编程ROM (Erasable Programmable ROM, EPROM)有一个透明的石英窗口,允许 光到达存储单元。EPROM能够被擦除和重编程的次数的数量级可 以达到 1000 次。电子可擦除 PROM (Electrically Erasable PROM, EEPROM)类似于 EPROM,但是它不需要一个物理上独立的编程设备,因此可以直接在印制电路卡上编程。EEPROM能够 被编程的次数的数量级可以达到105次。闪存(flash memory)是一类非易失性存储器,基于EEPROM,它已经成为了一种重要的存储技术。

访问主存

        数据流通过称为总线(bus)的共享电子电路在处理器和DRAM主存之间来来回回。每次CPU和主存之间的数据传送都是通过一系列步骤来完成的,这些步骤称为总线事务(bustransaction)0 读事务(read transaction)从主存传送数据到 CPU。写事务(write transaction)从CPU传送数据到主存。


IO桥是将系统总线的电子信号翻译成存储器总线的电子信号。


6.1.2 磁盘存储

       磁盘是由盘片(platter)构成的。每个盘片有两面或者称为表面(surface),表面覆盖着磁性记录材料。盘片中央有一个可以旋转的主轴(spindle),它使得盘片以固定的旋转速率 (rotational rate)旋转,通常是 5400〜15000 转每分钟(Revolution Per Minute, RPM)0磁盘通常包含一个或多个这样的盘片,并封装在一个密封的容器内。

      一个典型的磁盘表面的结构。每个表面是由一组称为磁道(track)的同心圆组成的。每个磁道被划分为一组扇区(sector)。每个扇区包含相等数量的数据位(通常是512字 节),这些数据编码在扇区上的磁性材料中。扇区之间由一些间隙(gap)分隔开,这些间隙中不存储数据位。间隙存储用来标识扇区的格式化位。

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
存储器层次结构是指计算机的各种存储器之间的层次关系,通常包括寄存器、高速缓存、主存储器和辅助存储器等。这些存储器之间的层次关系是为了提高计算机系统的性能和效率。 在存储器层次结构存储器的速度和容量往往是成反比的,速度越快的存储器容量越小,反之亦然。因此,为了提高计算机系统的性能和效率,需要对存储器进行合理的优化。 以下是一些存储器性能优化的方法: 1. 利用高速缓存:高速缓存是位于CPU和主存储器之间的一种存储器,可以快速缓存CPU需要访问的数据。利用高速缓存可以减少CPU对主存储器的访问,从而提高系统性能。 2. 使用局部性原理:局部性原理是指在一段时间内,CPU只会访问一部分数据,而不是所有数据。因此,可以通过将经常访问的数据存储在高速缓存来提高访问速度。 3. 优化内存访问模式:内存访问模式指CPU对内存的访问方式。如果能够优化内存访问模式,如改变内存的布局、对齐数据等,就可以提高内存访问的效率。 4. 使用预取技术:预取技术是指在CPU访问数据之前,提前将数据从主存储器加载到高速缓存。通过预取技术可以避免由于CPU等待数据加载而造成的延迟。 5. 合理使用虚拟内存:虚拟内存是一种在硬盘上模拟的内存,可以扩展计算机的内存容量。合理使用虚拟内存可以减少内存交换和页面错误,从而提高系统性能。 总的来说,存储器层次结构及性能优化是计算机系统性能提升的重要因素,需要在实际应用灵活运用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值