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

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

教材学习内容总结

6.1存储技术

6.1.1随机访问存储器

  • 静态RAM(SRAM):双稳态特性,只要有电,它就会永远地保持它的值。即使有干扰来扰乱电压,当干扰消除时,电路就会恢复到稳定值。
  • 动态RAM(DRAM):当电容的电压被扰乱之后,它就永远不会恢复了。
  • 传统的DRAM:行地址i称为RAS请求,列地址j称为CAS请求,注意RAS和CAS请求共享相同的DRAM地址引脚。
  • 增强的DRAM
    • FTP DRAM(快页模式):允许对同一行连续地访问可以直接从行缓冲区得到服务。
    • EDO DRAM(扩展数据输出):允许各个CAS信号在时间上靠的更紧密一点。
    • SDRAM(同步):更快。
    • DDR SRAM(双倍数据速率):使用两个时钟沿作为控制信号,从而使DRAM的速度翻倍。
    • VRAM(视频):用在图形系统的帧缓冲区中。
  • 非易失性存储器
    • PROM(可编程):只能被编程一次;EPROM(可擦写可编程):1000次;EEPROM(电子可擦除):10^5次。
    • 闪存:基于闪存的磁盘驱动器称为SSD(固态硬盘),更快速、更强健、更低能耗。
  • 固件:存储在ROM设备中的程序。
  • 总线是一组并行的导线,能携带地址、数据和控制信号。

6.1.2磁盘存储

  • 磁盘构造:

    - 磁盘由盘片构成,每个盘片有两个表面。

    - 通常是5400-15000转每分钟(RPM)。

    - 每个表面是由一组称为磁道的同心圆组成的。

    - 每个磁道被划分为一组扇区,每个扇区包含相等数量的数据位(通常是512字节)。

    - 间隙存储用来标识扇区的格式化位。

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

  • 磁盘以扇区大小的块来读写数据。访问一个磁盘扇区内容的平均时间为平均寻道时间、平均旋转延迟和平均传送时间之和。

    - 访问一个磁盘扇区中512个字节的时间主要是寻道时间和旋转延迟。

    - 将寻道时间乘2是估计磁盘访问时间的简单而合理的方法。

6.2局部性

  • 局部性原理:引用临近于其他最近引用过的数据项的数据项,或者最近引用过的数据项本身。
  • 步长为1的引用模式为顺序引用模式。一般而言,随着步长的增加,空间局部性下降。
  • 循环体里的指令是按照连续地内存顺序执行的,因此循环具有良好的空间局部性。因为循环体会被执行多次,所以它也有良好的时间局部性。
  • 重复引用相同变量的程序有良好的时间局部性。步长越小,空间局部性越好。

6.3存储器层次结构

  • 存储器层次结构的中心思想:位于k层的更快更小的存储设备作为位于k+1层的更大跟慢的存储设备的缓存。
  • 数据总是以块大小为传送单元在第k层和第k+1层之间来回复制的。虽然在层次结构中任何一对相邻的层次之间块大小是固定的,但是其他的层次对之间可以有不同的块大小。
  • 缓存不命中:冷缓存(强制性不命中或冷不命中);冲突不命中;容量不命中。
  • 存储器层次结构的本质:每一层存储设备都是较低一层的缓存。
  • 基于缓存的存储器层次结构行之有效,是因为较慢的存储设备比较快的存储设备更便宜,还因为程序倾向于展示局部性(时间、空间)。

6.4高速缓存存储器

  • 高速缓存的结构将m个地址划分成了t个标记位、s个索引位和b个块偏移位。
  • (S,E,B,m)C=S×E×B

  • 直接映射高速缓存:E=1

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

    - 行匹配:当且仅当设置了有效位,而且高速缓存行中的标记与w的地址中的标记相匹配时,这一行中包含w的一个副本。

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

    - 不命中时的行替换:用新取出的行替换当前的行。

6.5编写高速缓存友好的代码

  • 让最常见的情况运行的快。
  • 尽量减小每个循环内部的缓存不命中数量。
  • 对局部变量的反复引用是好的,步长为1的引用模式是好的。

6.6综合:高速缓存对程序性能的影响

  • 存储器山:读带宽的时间和空间局部性的二维函数。存储器系统的性能不是一个数字就能描述的,相反,它是一座时间和空间局部性的山,这座山的上升高度差别可以超过一个数量级。
  • 在程序中利用局部性:

    - 将你的注意力集中在内循环上;

    - 以步长为1来读数据;

    - 一旦从存储器中读入了一个数据对象,就尽可能地多使用它。

教材问题及解决

  • 练习题6.4见书P411,答案见P459

解析中有一句话不太理解这个文件由2000个512字节的逻辑块组成。

书P409:对于与像磁盘和网络这样的I/O设备容量相关的计量单位,通常K=10^3,M=10^6,G=10^9,T=10^12。

我的理解是:1MB=10^6字节,512≈5×10^2,10^6/(5×10^2)=2000。

上周考试错题总结

  • 书中P261:组合逻辑电路可以设计成在字级数据上执行许多不同类型的操作。算术/逻辑单元(ALU)是一种很重要的组合电路。
  • 书中P262:为了产生时序电路,也就是有状态并且在这个状态上进行计算的系统,我们必须引入按位存储信息的设备。存储设备都是由同一个时钟控制的,时钟是一个周期性信号,决定什么时候要把新值加载到设备中。

    - 时钟寄存器(简称寄存器)存储单个位或字。时钟信号控制寄存器加载输入值。

    - 随机访问存储器(简称内存)存储多个字,用地址来选择该读或该写哪个字。

原文地址:https://www.cnblogs.com/5306xyh/p/9862748.html

时间: 2024-10-09 12:00:55

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

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 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 Linux基础 1.ls命令 ls或ls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略.我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录.其中“-a” 就是选项,改变了显示的内容.如图所示: 2.man命令 man命令可以查看帮助文档,如 man man : 若在shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数:若不加数字,那man命令默认从数字较

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

20145311 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 常用的部分命令 CTRL+SHIFT+T:新建标签页,编程时有重要应用: ALT+数字N:终端中切换到第N个标签页,编程时有重要应用: Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成: CTRL+C:中断程序运行 Ctrl+D:键盘输入结束或退出终端 Ctrl+S: 暂定当前程序,暂停后按下任意键恢复运行 Ctrl+A: 将光标移至输入行头,相当于Home键 Ctrl+E

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

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