存储器层次结构
存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。CPU寄存器保存着最常用的数据。靠近CPU的小的、快速的高速缓存存储器(cache memory)作为一部分存储在相对慢速的主存储器中数据和指令的缓冲区域。主存缓存存储在容量较大的、慢速磁盘上的数据,而这些磁盘通常又作为存储在通过网络连接的其他机器的存盘或磁带上的数据的缓冲区域。
存储技术
随机访问存储器
- 随机访问存储器(Random-Access Memory,RAM)分为两类:静态的和动态的。静态的RAM(SRAM)比动态RAM(DRAM)更快。SRAM用来作为高速缓存存储器,既可以在CPU芯片上,也可以在片下。DRAM用来作为主存以及图形系统的帧缓冲区。
- 只要有供电,SRAM就会保持不变(SRAM的双稳态),DRAM需要刷新。SRAM的存取比DRAM块。SRAM对诸如光和电噪声这样的干扰不敏感。
- DRAM芯片封装在内存模块中,它插到主板的扩展槽上。Core i7系统使用的240个引脚的双列直插内存模块,它以64位为块传送数据到内存控制器和从内存控制器传出数据。
- 如果断电,DRAM和SRAM会丢失它们的信息。非易失性存储器即使在断电后,仍然保存着它们的信息,同时也被称为只读存储器(ROM,Read-Only Memory)。
- PROM,可编程ROM,只能被编程一次
- 可擦写可编程ROM
- 闪存,固态硬盘
- 数据流是通过称为总线(bus)的共享电路在处理器和DRAM主存之间来来回回。每次CPU和主存之间的数据传送都是通过一系列步骤来完成的,这些步骤被称为总线事务。读事务从主存传送数据到CPU,写事务从CPU传送数据到主存。
磁盘存储
- 磁盘是广为应用的保存大量数据的存储设备。
- 磁盘是由盘片构成的。每个盘片有两面。表面覆盖着磁性记录材料。盘片中央有一个可以旋转的主轴,它使得盘片以固定的旋转速率旋转,通常是5400~15000转每分钟。磁盘通常包含一个或多个这样的盘片,并封装在一个密闭的容器内。
- 磁盘每个表面是由一组称为磁道的同心圆组成的,每个磁道被划分为一组扇区。每个扇区包含相等数量的数据位(通常是512字节),这些数据编码在扇区上的磁性材料中。扇区之间有一些间隙分隔开,这些间隙不存储数据位。间隙存储用来标识扇区的格式化位。
- 一个磁盘上可以记录的最大位数称为它的最大容量。磁盘容量是由以下技术来决定:
- 记录密度
- 磁道密度
- 面密度
- 磁盘以扇区大小的块来读写数据。对扇区的访问时间有三个重要的部分:寻道时间、旋转时间和传送时间。
固态硬盘
- 固态硬盘是一种基于闪存的存储技术。
局部性
- 一个编写良好的计算机程序常常具有良好的局部性。也就是,它们倾向于引用临近于其他引用过的数据项的数据项,或者最近引用过的数据项本身。这种倾向性,被称为局部性原理。
- 有良好局部性的程序比局部性差的程序运行的更快。
存储器层次结构
小结
- 基本存储技术包括随机存储器(RAM)、非易失性存储器(ROM)和磁盘。RAM有两种基本类型:SRAM和DRAM
- 原文作者:生如夏花
- 原文链接:https://blduan.top/post/%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/csapp/%E5%AD%98%E5%82%A8%E5%99%A8%E5%B1%82%E6%AC%A1%E7%BB%93%E6%9E%84/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。