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小时
  • 改进情况:

(有空多看看现代软件工程 课件

软件工程师能力自我评价表)

参考资料

原文地址:https://www.cnblogs.com/20165203-xyx/p/9866125.html

时间: 2024-08-05 00:01:26

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

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

第三章 程序的机器级表示 一.历史观点 Intel处理器(X86) 二.程序编码 gcc -01 -o p p1.c p2.c ①编译选项-01 表示编译器使用第一级优化 ②编译选项-02 表示编译器使用第二级优化(较好的选择) ③-o 表示分别将p1.c和p2.c编译后的可执行文件命名为p GCC将源代码转化为可执行代码的步骤: C预处理器:扩展源代码,插入所有#include命令指定的文件,并扩展生成.i文件 编译器:产生两个源代码的汇编代码,生成.s文件 汇编器:将汇编代码转化成二进制目标

20135304刘世鹏——信息安全系统设计基础第五周学习总结

第四章 处理器体系结构 ISA:一个处理器支持的指令和指令的字节级编码——指令集体系结构 ISA在编译器编写者和处理器设计人员之间提供了一个概念抽象层 与IA32相比Y86指令集的数据类型.指令和寻址方式都要少一些,它的字节级编码比较简单,不过它仍然足够完整 4.1.Y86指令集结构 定义一个指令集体系结构,暴扣定义各种状态元素.指令集和它们的编码.一组编程规范和异常事件处理 1.程序员可见的状态 程序员可见状态:Y86程序中的每条指令都会读取或修改处理器状态的某些部分 Y86的处理器状态类似与

信息安全系统设计基础第五周学习总结------20135334赵阳林

第四章 处理器体系结构 第一节 Y86指令集体系结构 一.程序员可见的状态 1.含义: 每条指令都会读取或修改处理器状态的某些部分 2.“程序员”: 可以是用汇编代码写程序的人,也可以是产生机器级代码的编译器. 3.具体的处理器状态:类似于IA32 有8个程序寄存器,%eax,%ecx,%edx,%ebx,%esi,%edi,%esp,%ebp 处理器的每个程序寄存器存储一个字 寄存器%esp被入栈.出栈.调用和返回指令作为栈指针.在其他情况下,寄存器没有固定的含义或固定值. 有三个一位的条件码

信息安全系统设计基础第五周学习总结—20135227黄晓妍

X86 寻址方式经历三代: 1 DOS时代的平坦模式,不区分用户空间和内核空间,很不安全 2 8086的分段模式 3 IA32的带保护模式的平坦模式 ISA 指令集体系结构,机器级程序的指令和格式.它定义了处理状态,指令的格式,以及每条指令对状态的影响. 获得汇编代码的两种方式: gcc -S xxx.c -o xxx.s 获得汇编代码,也可以用objdump -d xxx 反汇编 (反汇编不需要访问程序的源代码或者汇编代码) C语言数据类型在IA32中的大小: P111页表格. 8个寄存器(3

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

处理器的体系结构 ISA:一个处理器支持的指令和指令的字节级编码称为它的指令集体系结构ISA. Y86是一个指令体系结构(ISA)寄存器.存储器.条件码.PC.程序状态. halt:这个指令将会终止指令的执行. nop:这是一个占位指令,它不做任何事情,后续为了实现流水线,它有一定的作用. xxmovl:这是一系列的数据传送指令,其中r代表寄存器,m代表存储器,i代表立即数.比如rrmovl指令,则代表将一个寄存器的值,赋给另外一个寄存器. opl:操作指令,比如加法,减法等等. jxx:条件跳

20135234马启扬-——信息安全系统设计基础第五周学习总结

信息安全系统设计基础第五周学习总结-吕松鸿

第四章  处理器体系结构 4.1 Y86指令集体系结构 4.11程序员可见的状态 1.程序员可见状态: Y86程序中的每条指令都会读取或修改处理器状态的某些部分. 2.“程序员”: 既可以是用汇编代码写程序的人,也可以是产生机器级代码的编译器. 3.程序寄存器: (1)8个,%eax.%edx.%ebx.%esi.%edi.%esp和%ebp. (2)处理器的每个程序寄存器存储一个字. (3)寄存器%esp被入栈,出栈,调用和返回指令作为栈指针. (4)其他情况,有三个一位的条件码:ZF,SF和

20145216史婧瑶《信息安全系统设计基础》第九周学习总结

20145216史婧瑶<信息安全系统设计基础>第九周学习总结 教材内容总结 第十章 系统级I/O 输入/输出(I/O)是在主存和外部设备之间拷贝数据的过程. 第一节 Unix I/O 这一节涉及到操作系统的基本抽象之一--文件.也就是说,所有的I/O设备都被模型化为文件,而所有的输入输出都被当做对相应文件的读/写.相关的执行动作如下: 1.打开文件: 应用程序向内核发出请求→要求内核打开相应的文件→内核返回文件描述符 文件描述符:一个小的非负整数,用来在后续对此文件的所有操作中标识这个文件.有

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

2017-2018-1 20155228 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 常见的存储技术 RAM 随机访问存储器(Random-Access Memory, RAM)分为两类:静态的和动态的.静态 RAM(SRAM)比动态RAM(DRAM)更快,但也贵得多.SRAM用来作为高速缓存存储 器,既可以在CPU芯片上,也可以在片下.DRAM用来作为主存以及图形系统的帧缓冲 区.典型地,一个桌面系统的SRAM不会超过几兆字节,但是DRAM却有几百或几千兆 字节. SRAM将每

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

2017-2018-1 20155227 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 第六章 随机访问存储器 随机访问存储器分为:静态RAM(SRAM)和动态RAM(DRAM),静态RAM(SRAM)比动态RAM(DRAM)更快,但也贵很多. (1)静态RAM SRAM将每个位存储在一个双稳态的存储器单元里,每个单元是用一个六晶体管电路来实现的. 属性:它可以无限制地保持在两个不同的电压配置或状态之一.其他任何状态都是不稳定的. 特点:由于SRAM的双稳态特性,只要有电,它就会永