第六章、存储器层次结构

存储器层次结构

6.1存储技术

  6.1.1随机访问存储器

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

1、静态RAM

静态RAM 的基本存储电路为触发器,每个触发器存放一位二进制信息,由若干个触发器组成一个存储单元,再由若干存储单元组成存储器矩阵,加上地址译码器和读/写控制电路就组成静态RAM。但由于静态RAM 是通过有源电路来保持存储器中的数据,因此,要消耗较多功率,价格也较高。

2、动态RAM

每一个比特的数据都只需一个电容跟一个晶体管来处理,相比之下在SRAM上一个比特通常需要六个晶体管。正因这缘故,DRAM拥有非常高的密度,单位体积的容量较高因此成本较低。但相反的,DRAM也有访问速度较慢,耗电量较大的缺点。

3、传统的DRAM

采用二位阵列组织

6.1.2磁盘存储

1、磁盘构造

盘片
表面
:每个盘片有两个表面
主轴:盘片中央,可旋转 
旋转速率:通常5400~15000/min 
磁道:同心圆们 
扇区:每个磁道被划分为一组扇区 
数据位:每个扇区包含相等数量的~,通常为512字节 
间隙:存储用来标识扇区的格式化位 
磁盘驱动器-磁盘-旋转磁盘
柱面
:所有盘片表面上到主轴中心的距离相等的磁道的集合

2.磁盘容量

记录密度:(位/英寸)磁道一英寸的段中可以放入的位数

磁道密度:(道/英寸)从盘片中心出发半径上一英寸的段内可以有的磁道数

面密度:(为/平方英寸)记录密度*磁道密度

磁盘容量  =  (字节数/扇区) * (平均扇区数/磁道)*(磁道数/表面)*(表面数/盘片)*(盘片数/磁盘)

3.磁盘操作

访问时间=寻道时间+旋转时间+传送时间

旋转时间:最大旋转延迟=(1/旋转速率)*(60sec*1000ms/sec)

平均旋转延迟=(1/2) * 最大旋转延迟

传送时间:平均传送时间=(1/旋转速率)*(60sec*1000ms/sec)*(1/平均扇区数/磁道)

4、访问磁盘

CPU使用一种称为存储器映射I/O的技术来向I/O设备发出命令。在使用存储器映射I/O的系统中,地址空间中有一块地址是为与I/O设备通信保持的,这样的地址称为一个I/O端口。

CPU通过将命令、逻辑块号和目的存储器地址写到与磁盘相关联的存储器映射地址,发起一个磁盘读。

CPU执行对地址的存储命令,发起磁盘读: 
第一条指令时发送一个命令字;第二条指令指明应该读的逻辑块号;第三条指令指明应该存储磁盘扇区内内容的主存地址。 
直接存储器访问:设备可以自己执行读或者写总线事务,而不需要CPU干涉的过程。这种数据传送称为DMA传送 
基本思想:中断会发信号到CPU芯片的一个外部引脚上。这会导致CPU暂停它当前正在做的工作,跳转到一个操作系统例程。这个程序会记录下I/O已经完成,然后将控制返回到CPU被中断的地方.

6.2局部性

1、局部性原理: CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。

2、三种不同类型的局部性:时间局部性(Temporal Locality):如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。程序循环、堆栈等是产生时间局部性的原因。空间局部性(Spatial
Locality):在最近的将来将用到的信息很可能与现在正在使用的信息在空间地址上是临近的。顺序局部性(Order Locality):在典型程序中,除转移类指令外,大部分指令是顺序进行的。顺序执行和非顺序执行的比例大致是5:1。此外,对大型数组访问也是顺序的。指令的顺序执行、数组的连续存放等是产生顺序局部性的原因

3、取指令的局部性

循环体里的指令是按照连续的存储器顺序执行的,因此循环有良好的空间局部性,因为循环体会被执行多次,所以它也有良好的时间局部性。 
代码区别于程序数据的一个重要属性时在运行时是不能被修改的。

6.3 存储器层次结构


1、缓存命中

若需要访问k+1层里的数据块d,如果d已经缓存在第k层,则称缓存命中。这样从第k层取块d要比k+1层更块。

2、缓存不命中

若d不在第k层,则是缓存不命中,此时将k+1层存储中取出块d,放入k层。可能需要替换掉k层中已有的块。替换策略是:随机,最近最少使用等。

需要有个东西对缓存进行管理,比如怎么进行块的划分,各层次间怎么传送块,判断是否命中,不命中该如何处理,写回数据的时候该如何处理。

都是需要考虑的问题,可用硬件管理如cache,也可用软件管理如虚拟内存。

3、缓存的管理

i)相关假定

假定存储器的地址有m位,便有M=2m 不同地址。

一个缓存被分成S=2s个的高速缓存组(cache set),

每个组包含 E 个高速缓存行。

每个缓存行由一个B=2b字节的数据块,一个有效位,t=m-(b+s)个标记位组成。

一个高速缓冲区的大小C = S * E * B。

ii)如何访问缓存

当要访问存储器中的一个字节时,给出的访问地址的m位中,前t位表示标记位,中间s位为组索引,最后b位为块偏移。

iii)缓存不命中时

当缓存不命中时,则若需要将存储器中的块放入缓存对应的组中。

若组中的行都有数据,则需要进行替换,替换策略是:LFU或这LRU(不想细说了)

iv)三种缓存方式的划分

分为直接映射高速缓存,组相联高速缓存,全相联高速缓存

若指定了S,E,B的值,则缓存的划分方式就已经确定了。

缓存块与存储块之间也就建立了一种映射关系。

参考资料

1、《深入理解计算机系统》课本第六章

2、51cto.com

3、zengxg14的博客

4、百度百科

本章小结

在数字逻辑电路中有对RAM 和 ROM有简短的介绍。但是并不具体,通过这一章的学习,了解了存储器的分类,工作原理,以及如何提高性能等方面的知识。

时间: 2024-08-09 06:19:26

第六章、存储器层次结构的相关文章

第六章存储器层次结构 学习报告

第六章 存储器层次结构 在简单模型中,存储器系统是一个线性的字节数组,而CPU能够在一个常数时间内访问每个存储器位置. 实际上,存储器系统是一个具有不同容量.成本和访问时间的存储设备的层次结构.CPU寄存器保存着最常用的数据.靠近CPU的小的.快速的高度缓存存储器作为一部分存储在相对慢速的主存储器中的数据和指令的缓冲区域.       存储器层次结构是可行的. 6.1  存储技术 6.1.1 随机访问存储器 随机反问存储器分为两类:静态的(SRAM)和动态的(DRAM). 1.静态RAM SRA

[CSAPP笔记][第六章存储器层次结构]

第六章 存储器层次结构 在简单模型中,存储器系统是一个线性的字节数组,CPU能够在一个常数访问每个存储器位置. 虽然是一个行之有效的模型,但没有反应现代系统实际工作方式. 实际上,存储器系统(memory system)是一个具有不同容量,成本和访问时间的存储设备的层次结构. CPU寄存器保存着最常用的数据.(0周期) 靠近CPU的小的,快速的高速缓存存储器(cache memory)作为一部分存储在相对慢速的主储存器(main memory,简称主存)中的数据和指令的缓冲区.(1~30周期)

深入理解计算机系统 第六章 存储器层次结构

为什么要学习存储器的层次结构? 如果我们理解了系统是如何将数据在存储器层次结构中上上下下移动的,那么我们就可以编写自己的应用程序,使得它们的数据项存储在层次结构较高的地方,在那里 CPU 能更快地访问到它们. 局部性原理 计算机程序倾向于引用临近于其他最近引用过的数据项的数据项,或者最近引用过的数据项本身.这种倾向性,被称为局部性原理. 有良好局部性的程序比局部性差的程序运行地更快.且在现代计算机系统的各个层次,从硬件到操作系统.再到应用程序,它们的设计都利用了局部性. 缓存相关术语介绍 缓存命

第6章 存储器层次结构

第6章 存储器层次结构 18 Dec 2017 -- The Memory Hierarchy 6.1 Storage Technologies 5816.2 Locality 6046.3 The memory hirarchy 6096.4 cache memories 6146.5 writing Cache-friendly code 6336.6 putting it together: The impact of caches on program performance 6396.

20135306 第六章学习总结

第6章存储器层次结构 存储器系统是一个具有不同容量.成本和访问时间的存储设备的层次结构. cPU寄存器保存着最常用的数据. 靠近CPU的小的.快速的高速缓存存储器作为一部分存储在相对慢速的主存储器中数据和指令的缓冲区域. 主存暂时存放存储在容量较大的.慢速磁盘上的数据,而这些磁盘常常又作为存储在通过网络连接的其他机器的磁盘或磁带上的数据的缓冲区域. 6.1 存储技术 6.1.1随机访问存储器 随机访问存储器分为两类-静态和动态的. 静态RAM(SRAM)比动态RAM(DRAM)更快,但也贵很多.

存储器层次结构 --《深入理解计算机系统》第六章读书笔记

1.几种存储技术 随机访问存储器RAM,RAM又分为两类:静态的SRAM和动态的DRAM. 静态SRAM特点:容量较小,速度较之动态DRAM要快很多,故而价格也较高.一般用作CPU与内存的缓存. 动态DRAM特点:容量较大,速度比SRAM慢,价格相对较低.一般用作系统内存. 磁盘存储,存盘属于外部I/O设备,其特点是存储容量大,但读取速度更慢,价格也更加便宜.一般而言,从磁盘上读信息的时间为毫秒级,从DRAM读比从磁盘读快10万倍,从SRAM读比从磁盘读快100万倍. 因为磁盘的构造是一个圆盘,

计算机系统:第6章(存储器层次结构)

参考材料:深入理解计算机系统,第六章 6.1.1 随机访问存储器RAM 1.静态RAM(SRAM)与动态RAM(DRAM) 首先.要有的基本概念:SRAM存储一个位的结构要六个晶体管,DRAM存储一个位的结构为一个电容(DRAM可达到较SRAM更高的密度).因此SRAM比DRAM更加昂贵,带来的效果是访问更快.(一个桌面系统SRAM不超过几兆字节,DRAM可有几百到几千兆字节) 然后.一个高级点的概念.SRAM有稳定状态,DRAM(电容)有很多情况形成漏电使得DRAM需要每过一个周期时间就要通过

计算机系统:文章6章(存储器层次结构)

参考资料:计算机系统的深入了解,第六章 6.1.1 随机存取存储器RAM 1.静态RAM(SRAM)与动态RAM(DRAM) 首先.要有的基本概念:SRAM存储一个位的结构要六个晶体管,DRAM存储一个位的结构为一个电容(DRAM可达到较SRAM更高的密度).因此SRAM比DRAM更加昂贵,带来的效果是訪问更快.(一个桌面系统SRAM不超过几兆字节,DRAM可有几百到几千兆字节) 然后.一个高级点的概念.SRAM有稳定状态.DRAM(电容)有非常多情况形成漏电使得DRAM须要每过一个周期时间就要

存储器层次结构

第七周:学习任务教材第六章 了解存储设备的类型和特点:重点理解局部性原理和缓存思想在存储层次结构中的应用 重点练习题:6.2,6.3,6.4,6.8,6.9,6.10,6.11,6.12, 6.13 存储器层次结构 实际上,存储器系统是一个具有不同容量和成本和访问时间的存储设备的层次结构. CPU寄存器保存着最常用的数据. 三种常见存储技术: RAM/ROM/磁盘 6.1.1随机访问存储器 随机访问存储器分为两类:静态和动态. 静态RAM(SRAM)比动态RAM(DRAM)更快,但也贵的多. S