存储器系统的层次结构

来源:互联网 发布:分词软件 编辑:程序博客网 时间:2024/05/14 08:11

存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。

CPU寄存器保存着最常用的数据,靠近CPU的小的、快速的高速缓存存储器作为一部分存储在相对慢速的主存储器(主存)中的数据和指令的缓冲区域。主存暂时存放存储在容量较大、慢速磁盘上的数据,而这些磁盘常常又作为存储在通过网络连接的其他机器的磁盘或磁带上的数据的缓冲区域

随机访问存储器分为静态和动态两类。

SRAM将每个位存储在一个双稳态的存储器单元里(时钟摆);只要有电,它就会永远地保持它的值,即使有干扰,例如电子噪音,来扰乱电压,当干扰消除时,电路就会恢复到稳定值DRAM将每个位存储为对一个电容的充电;与SRAM不同的是,DRAM存储器单元对干扰非常敏感。当电容的电压被扰乱之后,它就永远不会恢复了

只要有供电,SRAM就会保持不变。与DRAM不同,它不需要刷新。SRAM的存取比DRAM快。SRAM对诸如光和电噪声这样的干扰不敏感。代价是SRAM单元比DRAM单元使用更多的晶体管,因而密集度低,而且更贵,功耗更大。SRAM应用高速缓存存储器,DRAM应用主存、帧缓冲区

DRAM芯片包装在存储器模块中,它是插到主板的扩展槽上的。常见的包装包括168引脚的双列直插存储器模块,它以64位为块传送数据到存储控制器和从存储控制器传出数据,还包括72引脚的单列直插存储器模块,它以32位为块传送数据

非易失性存储器

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

可擦除可编程ROM(EPROM),它能够被擦除和重编程的次数的数量级可以达到1000次电子可擦除PROM(EEPROM),类似于EPROM,可以直接在印制电路卡上编程,能够被编程次数的数量级可以达到100000次闪存是一种非易失性存储器,基于EEPROM。

存储在ROM设备中的程序通常称为固件。当一个计算机系统通电后,它会运行存储在ROM中的固件。一些系统在固件中提供了少量基本的输入和输出函数–例如,PC的BIOS例程

数据流通过称为总线的共享电子电路在处理器和DRAM主存之间来来回回。总线是一组并行的导线能携带地址、数据和控制信号。系统总线:连接CPU和I/O桥。存储器总线:连接I/O和个主存

I/O桥将系统总线的电子信号翻译成存储器总线的电子信号

磁盘是广为应用的保存大量数据的存储设备,存储数据的数量级可以达到几百到几千千兆字节,而基于RAM的存储器只有几百或几千兆字节,不过从磁盘上读信息的时间为毫秒级,从DRAM读比从磁盘读快10万倍,从SRAM读比从磁盘读快100万倍

磁盘是由盘片构成的。每个盘片有两面,表面覆盖着磁性记录材料。盘片中央有一个可以旋转的主轴,它使得盘片以固定的旋转速率旋转。磁盘通常包含一个或多个这样的盘片,并封装在一个密封的容器内。我们会称磁盘为旋转磁盘,以使之区别于基于闪存的固态硬盘,SSD是没有移动的部分的。

每个磁盘表面都是由一组称为磁道的同心圆组成的,每个磁道被划分为一组扇区,每个扇区包含相等数量的数据位(512字节),这些数据编码在扇区上的磁性材料中

磁盘用读/写头来读写存储在磁性表面的位,而读写头连接到一个传动臂一端。通过沿着半径轴前后移动这个传动臂,驱动器可以将读/写头定位在盘面上的任何磁道。有多个盘片的磁盘针对每个盘面都有一个独立的读/写头,读/写头垂直排列,一致行动,所有的读/写头都位于同一个柱面(所有盘片表面到主轴中心的距离相等的磁道的集合)

磁盘以扇区大小的块来读写数据

逻辑磁盘块

磁盘构造复杂,为了对操作系统隐藏这样的复杂性,现在磁盘呈现为一个简单的视图,一个B个扇区大小的逻辑块的序列,编号为0,1,…,B-1。磁盘中有一个小的硬件/固件设备,称为磁盘控制器,维护着逻辑块号和实际(物理)磁盘扇区之间的映射关系

连接I/O设备:I/O总线,虽然I/O总线比系统总线和存储器总线慢,但是它可以容纳种类繁多的第三方I/O设备

通用串行总线(USB)控制器是一个连接到USB总线的设备的中转机构

设备可以自己执行读或者写总线事务,而不需要CPU干涉的过程,直接存储器访问(DMA)

固态硬盘(SSD)是一种基于闪存的存储技术。一个闪存由B个块的序列组成,每个块由P页组成。数据是以页为单位读写的。只有在一页所属的块整个被擦除之后,才能写这一页

一个编写良好的计算机程序常常具有良好的局部性,也就是说,他们倾向于引用邻近于其它最近引用过的数据项的数据项,或者最近引用过的数据项本身,这种倾向性,称为局部性原理

时间局部性和空间局部性

一般而言,高速缓存是一个小而快速的存储设备,它作为存储在更大、也更慢的设备中的数据对象的缓冲区域。使用高速缓存的过程称为缓存

存储器层次结构的中心思想是,对于每个k,位于k层的更快更小的存储设备作为位于k+1层的更大更慢的存储设备的缓存。k+1层的存储器被划分成连续地数据对象片,称为块。每个块都有一个唯一的地址或名字。类似的,第k层的存储器被划分为较少的块的集合,每个块的大小与k+1层的块的大小一样。在任何时刻,第k层的缓存包含第k+1层块的一个子集的拷贝。

数据总是以块的大小为传送单元在第k层和第k+1层之间来回拷贝的

原创粉丝点击