• 20145210《信息安全系统设计基础》第07周学习总结


    20145210《信息安全系统设计基础》第07周学习总结

    教材内容总结

    •CPU执行指令,而存储器系统为CPU存放指令和数据
    •存储器系统是一个线性的字节数组,而CPU能够在一个常数时间内访问每个存储器位置
    •存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构
    •CPU寄存器保存着最常用的数据
    •靠近CPU的小的、快速的高速缓存存储器作为一部分存储在相对慢速的主存储器(主存)中的数据和指令的缓冲区域
    •主存暂时存放在容量较大的、慢速磁盘上的数据,而这些磁盘常常又作为存储在通过网络连接的其它机器的磁盘或磁带上的数据的缓冲区域

    随机访问存储器

    •随机访问存储器分为两类:静态的和动态的
    •静态RAM(SRAM):
    •SRAM比DRAM更快,但也贵得多
    •SRAM将每个位存储在一个双稳态的存储器单元里,可无限期保持在两个不同的电压配置或状态之一
    •只要有供电,SRAM就会保持不变
    •SRAM对于诸如光和电噪声这样的干扰不敏感
    •动态RAM(DRAM):
    •DRAM将每个位存储为对一个电容的充电
    •DRAM存储器单元对干扰非常敏感
    •DRAM芯片中的单元被分成了D个超单元,每个超单元都由W个DRAM单元组成,一个d*w的DRAM总共才能除了DW位信息
    •超单元被组织成一个r行c列的长方形阵列,这里rc=d
    •RAS和CAS请求共享相同的DRAM地址引脚
    •DRAM芯片包装在存储器模块中,常见的包装包括:
    •双列直插存储器模块:168引脚
    •单列直插存储器模块:72引脚
    •虽然ROM中有的类型既可以读也可以写,但是他们整体上都称为只读存储器
    •PROM只能被编程一次
    •数据流通过成为总线的共享电子电路在处理器和DRAM主存之间来来回回
    •读事务:从主存传送数据到CPU
    •写事务:从CPU传送数据到主存
    •总线包括:地址总线、数据总线、控制总线、系统总线、存储总线、IO总线

    磁盘存储

    •磁盘结构:盘片、磁道、扇区、间隙、柱面
    •磁盘容量由以下技术因素决定:记录密度、磁道密度、面密度
    •磁盘用读/写头来读写存储在磁性表面的位
    •任何时刻,所有的读/写都位于同一个柱面上
    •对扇区的访问时间有三个主要的部分:寻道时间、旋转时间、传送时间
    •内存可以看成字节数组,磁盘可以看成块数组
    •唯一标识对应物理扇区的三元组:盘面、磁道、扇区
    •CPU使用一种称为存储器映射I/O的技术来向I/O设备发出命令

    固态硬盘

    •一个SSD包由一个或多个闪存芯片和闪存翻译层组成
    •随机读和写的性能差别是由底层闪存基本属性决定的
    •随机写很慢的两个原因:
    •擦除块需要相对较长时间
    •如果写操作试图修改一个包含已有数据的页p,那么这个块中所有带有用数据的页都必须被拷贝到一个新块,然后才能对页p写
    •增加密度比降低访问时间更容易

    局部性

    •局部性两种不同的形式:时间局部性、空间局部性
    •有良好局部性的程序比局部性差的程序运行的更快
    •随着步长的增加,空间局部性下降
    •代码区别于程序数据的一个重要属性是在运行时他是不能被修改的
    •重复引用同一个变量的程序有良好的时间局部性
    •对于具有步长为k的引用模式的程序,步长越小,空间局部性越好
    •对于取指令来说,循环有好的时间和空间局部性。循环体越小,循环迭代次数越多,局部性越好

    存储器层次结构

    •存储技术和计算机软件的基本和持久的属性:
    •存储技术:不同存储技术的访问时间差异很大,速度较快的技术每字节的成本要比速度较慢的技术高,而且容量较小。CPU和主存之间的速度差距在增大
    •计算机软件:一个编写良好的程序倾向于展示出良好的局部性
    •存储器层次结构:

    •缓存:使用高速缓存的过程
    •存储器结构的中心思想:对于每个k,位于k层的更快更小的存储设备作为位于k+1层的更大更慢的存储设备的缓存
    •数据总是以块大小为传送单元在第k层和第k+1层之间来回拷贝的
    •缓存命中:当程序需要第k+1层的某个数据对象时,他首先在当前存储的第k层的一个块中查找d,如果d刚好在第k层中,那么就是我们所说的缓存命中
    •缓存不命中:如果第k层没有缓存数据对象d,那么就是我们所说的缓存不命中
    •缓存不命中的中种类:强制性不命中、冲突不命中

    高速缓存存储器

    •m:每个存储器地址有m位
    •M:M=2^m个不同的地址
    •S:S=2^s个高速缓存组的数组
    •E:高速缓存行数
    •B:B=2^b字节的数据块
    •t:t=m=(b+s)个标记位
    •s:组索引位数量
    •b:块偏移位数量
    •C:所有块的大小的和C=SEB
    •直接映射高速缓存:每个组织有一行的高速缓存
    •高速缓存确定一个请求是否命中,然后抽取出被请求的字的过程分三步:组选择、行匹配、字抽取
    •相连高速缓存:每个组都保存有多于一个行的高速缓存行
    •全相连高速缓存:一个全相连高速缓存(E/B)是由一个包含所有高速缓存行的组组成的
    •处理不命中的两种方法:写分配、非写分配
    •衡量高速缓存性能的指标:不命中率、命中率、命中时间、不命中处罚

    教材学习过程中的问题及解决

    •对于教材p413页CPU执行读的具体过程并不是很理解,依靠什么来判断应该读某哪个位置的字?为什么读完地址1的字之后会读地址13的字?

    •练习题6.12题A:想不通为什么连续数组片中会有2^t个块,不过用教材图 6-33可以验证这个结论

    代码托管

    本周代码托管链接

    代码行数统计:

  • 相关阅读:
    1649. 超级棒棒糖
    1872. 连接棒材的最低费用
    二叉树的层级遍历转换
    ZMQ的三种消息模式
    logging日志
    Svn基本使用
    Pycharm快捷键
    Redis安装和连接
    整形转中文
    C# Socket连接 无法访问已释放的对象
  • 原文地址:https://www.cnblogs.com/20145210ysy/p/6012270.html
Copyright © 2020-2023  润新知