第六章 存储器层次结构

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

    CPU寄存器保存着最常用的数据。

    靠近CPU的小的,快速的高速缓存存储器作为一部分存储在相对较慢的主存储器(主存)中的数据和指令的缓存区域。

    主存暂时存放存储在容量较大的,慢速磁盘上的数据,而这些磁盘常常又作为存储在通过网络连接的其他机器的磁盘或磁带上的数据的缓存区域。

6.1存储技术

  6.1.1随机访问存储器

    随机访问存储器(RAM)分为:静态的RAM(SRAM)和动态的RAM(DRAM)

    SRAM用来作为高速缓存存储器,既可以在CPU芯片上,也可以在片下。

    DRAM用来作为主存以及图形系统的帧缓冲区。

    

    1.静态RAM

      SRAM将每个位存储在一个双稳态的存储器单元里

      也就是说,只要有电,它就会永远地保持它的值。即使有干扰

    

    2.动态RAM

      DRAM将每个位存储为对一个电容充电

      DRAM存储器单元对干扰非常敏感,当电容的电压被扰乱后,它就永远不会再恢复了

    3.传统的DRAM

DRAM芯片中的单元(位)被分成d个超单元,每个超单元都由w个DRAM单元组成。一个d×w的DRAM总共存储了dw位信息。超单元被组织成一个r行c列的长方形阵列,这里rc=d。每个超单元都有形如(i,j)的地址,i表示行,j表示列。

4.存储器模块

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

    5.增强的DRAM

      对DRAM的改进:

        (1)快页模式DRAM

        (2)扩展数据输出DRAM

        (3)同步DRAM

        (4)双倍数据速率同步DRAM

        (5)RambusDRAM(RDRAM)

        (6)视屏DRAM

    6.非易失性存储器

      若断点,DRAM和SRAM会丢失信息,即易失的。

      相反的,断电后仍保存信息,则为非易失的存储器。

    7.访问主存

      数据流通过称为总线的共享电子电路在处理和DRAM主存之间来来回回。

      每次CPU和主存之间的数据传送都是通过一系列步骤来完成的,这些步骤称为总线事物。

      读事物从主存传送数据到CPU。

      写事物从CPU传送数据到主存。

  6.1.2磁盘存储

    1.磁盘构造

     (1)磁盘由盘面构成,每个盘面有两面或者称为表面,表面覆盖记录材料。

           盘片中央有一个可以旋转的主轴,使得盘片以固定的旋转速率旋转,通常是5400~15000转每分钟。

     (2)每个表面是由一组成为磁道的同心圆组成的。每个磁道被划分为一组扇区。

           每个扇区包含相等数量的数据位,这些数据编码在扇区上的磁性材料中。

           扇区之间由一些间隙分隔开,这些间隙中不存储数据位。间隙存储用来标识山区的格式化位

     (3)磁盘是由一个或多个叠放在一起的盘片组成的,他们被分装在一个密封的包装里。

        整个装置通常称为磁盘驱动器,简称磁盘。

        柱面:所有盘片表面上到主轴中心的距离相等的磁道的集合。

    2.磁盘容量

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

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

      面密度:记录密度与磁道密度的乘积

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

    3.磁盘操作

      磁盘用读/写头来读写存储在磁性表面上的位,而读写头连接到一个传动臂一端。

      通过沿着半径轴前后移动这个传动臂,驱动器就可以将读/写头定位在盘面上的任何磁道上,这个机械运动称为寻道。

      对扇区访问时间分为三部分:

        (1)寻道时间:

        (2)旋转时间:

          Tmax rotation   = (1/RPM) × (60secs/1min)

          平均旋转时间Tavg rotation是 Tmax rotation一半

        (3)传送时间:

          Tavg transfer =(1/RPM) × (1/(平均扇区数/磁道)) ×(60secs/1min)

    4.逻辑磁盘块

      为了对操作系统隐藏复杂性,现代磁盘将它们的构造呈现为一个简单的视图,一个B个扇区大小的逻辑块的序列,编号为0,1,…,B-1。

       磁盘中有一个小的硬件/固件设备,称为磁盘控制器,维护着逻辑块号和实际(物理)磁盘扇区之间的映射关系。

    5.连接到I/O设备

      有三种不同类型的设备连接到总线:

        (1)通用串行总线

        (2)图形卡

        (3)主机总线适配器

    6.访问磁盘

  

  6.1.3固态磁盘

    固定硬盘是基于闪存的存储技术,在某些情况下是传统旋转磁盘的极有吸引力的替代产品。

  6.1.4存储技术趋势

    不同的存储技术有不同的价格和性能折中

    不同存储技术的价格和性能属性以截然不同的速率变化着

    DRAM和磁盘的性能滞后于CPU的性能

6.2局部性

    局部性原理:倾向于引用临近与其他最近引用过的数据项的数据项,或者最近引用过的数据项本身。

    局部性:(1)时间局部性  (2)空间局部性

    在硬件层,局部性原理允许计算机设计者通过引用称为高速缓存存储器的小而快速的存储器来保存最近被引用的指令和数据项,从而提高对主存的访问速度

    在操作系统级,局部性原理允许系统使用主存作为虚拟地址空间最近被引用的高速缓存。

  6.2.1对程序数据引用的局部性

    我们称为步长为1的引用模式为顺序引用模式。

    一个连续向量中,每隔k个元素进行访问,就被称为步长为k的引用模式。

  

  6.2.2取指令的局部性

    因为程序指令是存放在存储器中的,CPU必须取出(读出)这些指令,所以我们也能够评价一个程序关于取指令的局部性。

6.3存储器的层次结构

  6.3.1存储器层次结构中的缓存

    1.缓存命中

      当程序需要第k+1层的某个数据对象d时,它首先在当前存储在第k层的一个块中查找d。如果d刚好缓存在第k层中,那么就是缓存命中。

      该程序直接从第k层读取d,根据存储器层次结构的性质,这要比从第k+1层读取d更快。

    2.缓存不命中

      如果第k层中没有缓存数据对象d,那么就是我们所说的缓存不命中。

      当发生缓存不命中时,第k层的缓存从第k+1层缓存中取出包含d的那个块,如果第k层的缓存已经满了的话,就可能会覆盖现存的一个块

    3.缓存不命中的种类

      强制性不命中/冷不命中:第k层的缓存是空的,那么对任何数据对象的访问都不会命中。其中一个空的缓存称为冷缓存。

      冲突不命中:对象会映射到同一个缓存块,缓存会一直不命中。

      容量不命中:工作集的大小超过缓存的大小

    4.缓存管理

      管理缓存的逻辑可以是硬件,软件,或者是两者的结合。

  总结:

      基于缓存的存储器层次结构行之有效,是因为较慢的存储设备比较快的存储设备更便宜,还因为程序往往展示局部性:

        (1)利用时间局部性

        (2)利用空间局部性

6.4高速缓存存储器

  

  6.4.1通用的高速缓存存储器结构

    一个计算机系统,每个存储器地址有m位,形成M=2m个不同的地址。

    如图,这样一个机器的高速缓存被组织成一个有S=2s个高速缓存组的数组。每个组包含E个高速缓存行

    每个行是由一个B=2b字节的数据块组成的,一个有效位指明这个行是否包含有意义的信息,还有t=m-(b+s)个标记位

    

    算法小结:

  6.4.2直接映射高速缓存

    

    1.直接映射高速缓存中的组选择

      高速缓存从w的地址中间抽取出s个组索引位

      

    2.直接映射高速缓存中的行匹配

      上一步已经选择了某个组i,接下来的一步就要确定是否有字w的一个拷贝存储在组i包含的一个高速缓存中。

      

    3.直接映射高速缓存中的字选择

      一旦命中,我们知道w就在这个块的某个地方,最后一步确定的字在块中是从哪里开始的。

      块偏移位提供了所需要的字的第一个字节的偏移。

    4.直接映射高速缓存中不命中时的行替换

      若果缓存不命中,那么它需要从存储器层次结构中的下一层取出被请求的块,然后将新的块存储在组索引位指示的组中的一个高速缓存行中。

  6.4.3组相联高速缓存

    1.组相联高速缓存中的组选择

    2.组相联高速缓存中的行匹配和字选择

    3.组相联高速缓存中的不命中时的行替换

  6.4.4全相联高速缓存

    1.全相联高速缓存中的组选择

    2.全相联高速缓存中的行匹配和字选择

  6.4.7高速缓存参数的性能影响

    1.高速缓存参数的性能影响

    2.块大小的影响

    3.相联度的影响

    4.写策略的影响

    

  

           

  

      

    

    

      

      

      

    

      

转载于:https://www.cnblogs.com/mqy123/p/4914534.html

20135234mqy-——信息安全系统设计基础第七周学习总结相关推荐

  1. 20135219洪韶武——信息安全系统设计基础第七周学习总结

    信息安全系统设计基础学习总结 学习时间:8小时 学习内容:课本第六章 学习重点:理解局部性原理和缓存思想 [课本知识梳理] 一.存储技术 1.三种常见的存储技术 RAM[随机访问存储器]-分为静态和动 ...

  2. 20135223何伟钦—信息安全系统设计基础第七周学习总结

    第六章 存储器层次结构 [学习时间:6小时] [学习任务:<深入理解计算机系统>第六章] 6.1存储技术 6.1.1随机访问存储器 分为两类:静态(SRAM)和动态(DRAM). (1)S ...

  3. 信息安全系统设计基础第七周学习总结

    存储器的层次结构 存储技术 静态RAM SRAM将每一位存储在双稳态的存储器单元中 动态RAM DRAM将每一位存储为对电容充电. 传统的DRAM d*w的DRAM存储dw位信息 增强的DRAM 非易 ...

  4. 2017-2018-1 20155227 《信息安全系统设计基础》第一周学习总结

    2017-2018-1 20155227 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 快速浏览一遍教材,课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题 一 ...

  5. # 2017-2018-1 20155224 《信息安全系统设计基础》第九周学习总结

    2017-2018-1 20155224 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 存储器 随机访问存储器(RAM): 静态RAM:用来作为高速缓存存储器,每个位存储在一个 ...

  6. 2018-2019-1 20165206 《信息安全系统设计基础》第九周学习总结

    - 2018-2019-1 20165206 <信息安全系统设计基础>第九周学习总结 - 教材学习内容总结 计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组.每个字节都有一 ...

  7. 20135203齐岳 信息安全系统设计基础第十三周学习总结

    20135203齐岳 信息安全系统设计基础第十三周学习总结 学习计时:8/9共小时(计划/实际) 读书:4/5 代码:1/1 作业:1/1 博客:2/2 第十二章 并发编程 一.学习目标 掌握三种并发 ...

  8. # 20155337 2017-2018-1 《信息安全系统设计基础》第一周学习总结

    20155337 2017-2018-1 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 1.1信息就是位+上下文 hello.c程序是以字节序列的方式储存在文件中的.每个字节都 ...

  9. 20135219洪韶武——信息安全系统设计基础第五周学习总结

    信息安全系统设计基础第五周学习总结 学习任务:教材第四章[处理器体系结构] 学习时间:10小时  一.教材知识点梳理[4.1-4.3] 1.ISA[指令集体系结构] 一个处理器支持的指令和指令的字节级 ...

  10. 20145227《信息安全系统设计基础》第一周学习总结

    20145227<信息安全系统设计基础>第一周学习总结 学习内容总结 Linux是一个操作系统.如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命 ...

最新文章

  1. seo说_百度指数看世间沉浮_如何快速排名-互点快速排名_网站关键词排名常见问题 - 搜狗快速排名...
  2. 如何在JavaScript中实现堆栈和队列?
  3. iOS开发之解析XML数据
  4. EL表达式的作用与限制条件
  5. PHP 简单计算器代码实现
  6. 自适应HTML5宽屏物流运输快递货运类网站源码 pbootcms模板
  7. WebView的使用之Android与JS通过WebView互调方法
  8. 实验4 数据库的连接查询
  9. java中ant是干什么的_Java_Ant详解(转载)
  10. 电子表格中的数据清洗
  11. Office for Mac升级提醒如何去掉?关闭Mac的Microsoft AutoUpdate弹框提示
  12. VB 共享软件防破解设计技术初探(二)
  13. 怎么进入机顶盒linux系统,如何在机顶盒中刷入原生的Debian系统
  14. 【预测模型】Logistic 人口阻滞增长模型
  15. 使用Foxit Reader实现批量打印以及一页多版设置技巧
  16. 细数常用的5款Java代码混淆器!
  17. 三维电子沙盘大数据互动触摸交互可视化地理信息系统
  18. 【项目实战课】基于Pytorch的UGATIT人脸动漫风格化实战
  19. C# winform 一个简单的类的方法的封装与调用
  20. 一个Python的迷宫小游戏

热门文章

  1. 2016数据库考试题
  2. 冬季打针后忌用手按摩
  3. [Swift]LeetCode1009. 十进制整数的补码 | Complement of Base 10 Integer
  4. $.ajax与$.post、$.get的区别
  5. sklearn之KNN详解+GridSearchCV使用方法
  6. mac 下php运行bug
  7. 如何提升会员列表数据的质量
  8. 关于PHP你可能不知道的10件事
  9. java day50【综合案例day02】
  10. BZOJ1938: [CROATIAN2010] ALADIN