• 2018-2019 20165203 《信息安全系统设计基础》第五周学习总结


    2018-2019 20165203 《信息安全系统设计基础》第五周学习总结

    教材学习内容总结

    重要概念

    • 存储器系统:一个具有不同容量成本和访问时间的存储设备的层次结构。
    • 高速缓存存储器------主存储器中数据和指令的缓冲区域------磁盘------通过网络连接其他机器磁盘或磁带上的数据的缓冲区域
    • 存储器层次结构:cpu存储器----高速缓存----主存----磁盘(访问速率依次降低)

    存储技术

    随机访问存储器(RAM)

    • 对比:
    名称 特点 简称 用处 容量
    静态RAM 快、贵 SRAM 作为高速缓存存储器,可以在cpu上,cpu下 <=n兆字节
    动态RAM 慢、便宜 DRAM 作为主存以及图形系统的帧缓冲区 几百或几千兆字节

    SRAM:每个位存储在双稳态的存储单元
    只要有电,永远保持它的值,有干扰,干扰消除,电压会恢复到稳定值
    DRAM:每个位存储为对一个电容充电
    存储器非常敏感,电压被扰乱,永远不会被恢复

    • 传统的DRAM:电路模式

    • 内存模块:DARM芯片封装在内存模块中

    • 增强的DRAM:

      • 快页模式DRAM:允许对同一行连续地访问可以直接从行缓冲区得到服务。
      • 扩展数据输出DRAM:允许各个CAS信号在时间上靠得更紧密一点。
      • 同步DRAM:SDRAM能够比那些异步的存储器更快地输出它的超单元的内容。
      • 双倍数据速率同步DRAM:它通过使用两个时钟沿作为控制信号,使DRAM翻倍。
      • 视频RAM:用在图形系统的帧缓冲区中。
    • 非易失性存储器:即使在关电后仍然保存着他们的信息。

    • 访问主存:数据流通过总线在处理器和DRAM主存之间来来回回。

      • 总线能携带地址、数据和控制信号。
      • 携带的信号会同步事务,并标识出当前正在被执行的事务的类型。
    • 计算机系统处理指令图

    磁盘存储

    • 磁盘构造:由盘片构成。

      • 盘片表面:磁性记录材料、磁道、扇区、间隙
      • 盘片中央:主轴----使盘片以固定旋转速率转
      • 磁盘驱动器:柱面
    • 磁盘容量:一个磁盘上可以记录的最大位数

      • 记录密度(bit/inch)
      • 磁道密度(道/inch)
      • 面密度(bit/平方英寸) = 记录密度*磁道密度(与容量有关)
      • 计算磁盘容量的公式:

    • 磁盘操作:

      • 读/写头:读写存储在磁性表面的位
      • 寻道时间:移动传动臂所需的时间
        • 依赖于读/写头以前的位置和传动臂在盘面上移动的速度
      • 旋转时间:一旦读/写头定位到了期望的磁道,驱动器等待目标扇区的第一个位置转到读/写头下。
      • 最大旋转延迟公式:
      • 传送时间:当目标扇区的第一个位位于读/写头下时,驱动器就可以开始读或者写该扇区的内容了。
      • 平均传送时间公式:
    • 逻辑磁盘块:磁盘控制器----读一个磁盘扇区的数据到主存,操作系统会发送一个命令到磁盘控制器,让它读某个逻辑块号。

    • 连接I/O设备:通用串行总线、图形卡、主机总线适配器

    • 访问磁盘:如图所示

    局部性

    • 局部性:倾向于引用邻近于其他最近引用过的数据项的数据项,或者最近引用过的数据项的本身。
    • 分类:时间局部性空间局部性
    • 对程序数据引用的局部性
      • 时间局部性:书中的例子sumvec,因为sum可以被重复使用
      • 空间局部性:
        • 每隔k个元素进行访问,就称为步长为k的引用模式
        • 步长为1的引用模式称为顺序引用模式
        • 顺序引用模式具有很好的空间局部性
    • 取指令的局部性
      • for循环具有良好的空间局部性

    存储器层次结构

    • 存储器的层次结构:见下图

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

      • 存储器结构的中心思想:对于每个k,位于k层的更快更小的存储设备作为位于k+1层的更大更慢的存储设备的缓存。(层次结构中的每一层都缓存来自较低一层的数据对象)
      • 存储器被划分成连续的数据对象组块,称为块,每个块都有唯一的地址或名字。
      • 缓存命中:程序需要在第k+1层的某个数据对象d时,它首先在当前存储在第k层的一个块中查找d,如果d刚好缓存在第k层中,那就是缓存命中。
      • 缓存不命中:第k层中没有缓存数据对象d,需要在第k层中替换驱逐某个牺牲块,用到替换策略。
      • 缓存管理:硬件和软件的结合。

    高速缓存存储器

    • 高速缓存的组织结构:

      • (S, E, B, m)的通用组织:
      • 高速缓存是一个高速缓存组的数组。每个组包含一个或多个行,每个行包含一个有效位,一些标记位,以及一个数据块;高速缓存的结构将m个地址划分成了t个标记位、s个组索引位和b个块偏移位。如图所示
    • 直接映射高速缓存(E=1 只有一行),如图所示

    • 工作过程(被请求字的过程)

      • 组选择
      • 行匹配
      • 字抽取

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

    看到教材内容,如图所示

    自己总结了一下破坏空间局部性的跳转指令,以后写程序时可以谨慎使用。

    解答:C语言:goto语句
    汇编语言: 跳转指令分三类:
    一、无条件跳转: JMP;
    二、根据 CX、ECX 寄存器的值跳转: JCXZ(CX 为 0 则跳转)、JECXZ(ECX 为 0 则跳转);
    三、根据 EFLAGS 寄存器的标志位跳转, 这个太多了.
    CMP 指令相当于减法操作, 不影响任何寄存器, 执行后: 如果相等则 ZF=1, 否则ZF=0

    参考:跳转指令总结

    代码托管

    (statistics.sh脚本的运行结果截图)

    上周考试错题总结

    • 错题1:Y86-64中"addq %rax, %rcx"对应的机器码是()
      A .6010
      B .6001
      C.60010000000000000000
      D .00000000000000006001
      E .00000000000000006010
      F .60100000000000000000

    答案:B
    解析:根据教材中的图,当指令代码部分是6时,不含有8字节的常数字,故选B

    • 错题2:Y86-64中"rrmovq %rax, %rcx"对应的机器码是()
      A .2001
      B .2010
      C .20010000000000000000
      D .00000000000000002001
      E .00000000000000002010
      F .20100000000000000000

    答案:A
    解析:根据教材中的图,当指令代码部分是2时,不含有8字节的常数字,故选A

    以上两题的错因均为没有注意常数字的问题,以后要多加注意。

    其他(感悟、思考等,可选)

    本章是本课的重点,我主要学习了存储器的层次结构以及他们的工作模式,这也让我更加深入理解了计算机的工作过程。其中,关于局部性的学习尤为有帮助,可以让我们在今后编写代码程序时,优化我们的程序,希望自己以后多多加油。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 2/2 20/20
    第二周 300/500 2/4 18/38
    第三周 500/1000 3/7 22/60
    第四周 300/1300 2/9 30/90

    尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
    耗时估计的公式
    :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

    参考:软件工程软件的估计为什么这么难软件工程 估计方法

    • 计划学习时间:XX小时

    • 实际学习时间:XX小时

    • 改进情况:

    (有空多看看现代软件工程 课件
    软件工程师能力自我评价表
    )

    参考资料

  • 相关阅读:
    angular-ui-bootstrap-modal必须要说的几个点(转)
    [MySQL]
    [FORWARD]ODBC 各种数据库连接串
    从零开始学习前端JAVASCRIPT — 12、JavaScript面向对象编程
    从零开始学习前端JAVASCRIPT — 11、JavaScript运动模型及轮播图效果、放大镜效果、自适应瀑布流
    从零开始学习前端JAVASCRIPT — JavaScript中this指向的四种情况
    从零开始学习前端JAVASCRIPT — 10、JavaScript基础ES6(ECMAScript6.0)
    Demo—cookie电商购物车
    从零开始学习前端JAVASCRIPT — 9、JavaScript基础RegExp(正则表达式)
    Demo—标题左右两侧的对等横线
  • 原文地址:https://www.cnblogs.com/20165203-xyx/p/9866125.html
Copyright © 2020-2023  润新知