第六周学习总结

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

【学习时间:7小时】

【学习任务:《深入理解计算机系统》第六章】

一、学习过程

1.随机访问存储器分为动态(DRAM)和静态(SRAM)两种类型——

  1. DRAM:每个单元由一个电容和一个晶体管组成;对干扰非常敏感,一旦受到干扰就不可恢复
  2. SRAM:每个单元储存在一个双稳态晶体管内,由六体管电路实现;对干扰不敏感,消除干扰后即可回到稳定值

对比:SRAM比DRAM存取更快,但是所需要的晶体管多且密集程度低,造价更高

2.DRAM的芯片中的单元被分成d个超单元,每个超单元都由w个DRAM单元组成。一个d*w的DRAM总共存储了dw位的信息。信息通过引脚流出和流入单元;每个引脚携带一位数据。每个DRAM单元被连接到存储控制器电路中,它可以一次性传入或者传出W位。

3.非易失存储器

  • PROM:只能被编写一次
  • EPROM:可擦写可编程ROM;擦除次数可以达到1000次以上
  • 闪存:固态硬盘就是基于此的磁盘驱动器

4..数据流通过总线的共享电子电路在处理器和DRAM之间来回;从主存到CPU的称为读事务,从CPU到主存的称为写事务。

5.主存<-->(存储器总线)<-->I/O桥<-->(系统总线)<-->CPU

6.磁盘结构

  • 磁盘有若干盘片组成,密封在容器(磁盘驱动器)内;盘片中心有一个可以旋转的主轴,使磁盘以一定的旋转速率旋转;每个盘片的两个表面都有一组被称为磁道的同心圆;每个同心圆由一些间隙分隔成一组等容量磁道(通常是512字节),间隙中存储的是标识扇区的格式化位。
  • 磁盘连同密封装置共同构成旋转驱动器。注意:固态硬盘(SSD)是没有旋转部分的。
  • 磁盘上可以记录的最大位叫做磁盘容量。决定因素有:记录密度(磁道一英寸的段中可以放入的位数);磁道密度(从盘片中心出发,半径一英寸的段内可以有的磁道数);面密度(前两者乘积)

7.磁盘通过读/写头来对写在磁性表面的位进行操作,它连在驱动臂一端(可以通过驱动器驱动)。在任一时刻,所有表面上的读写头都位于同一磁道。

8.对扇区的访问时间主要由三个部分组成(前两部分占绝大多数时间)——

  1. 寻道时间:为了读/写目标扇区的内容,读/写头首先定位到包含目标扇区的磁道上。通常时间为3——9ms;最大可达20ms;
  2. 旋转时间:定位到目标磁道后,等目标扇区的第一位旋转到读/写头下面。最长时间即磁盘旋转一周的时间;
  3. 传送时间:读/写数据;依赖于旋转速度和每条磁道的扇区数目。

9.CPU使用一种称为存储器映射I/O的技术向I/O设备发出命令;在使用它的系统中,地址空间的一部分是为I/O设备通信而保留的;每个这样的地址称为I/O端口。但一个设备连接到总线的时候,它映射到一个或者多个I/O端口。

10.计算机程序倾向于引用邻近于其他最近引用过的数据项的数据或其本身;这种倾向性,被称为局部性原理。包括:时间局部性,空间局部性。有良好局部性的程序比局部性差的程序运行的更快。

11.时间局部性:被引用过一次的存储器位置很可能在不远的将来被再次引用。空间局部性:如果一个存储器位置被引用了一次,那么程序可能在不远的将来引用存储器附近的位置。

12.在一个连续向量中,每隔k个元素进行访问,被称为步长为k的引用模式。一般来说,随着步长增加,空间局部性减弱。

13.对于取指令来说,循环具有良好的空间局部性。循环体越小,迭代次数越多,空间局部性越好。

14.存储器层次结构:寄存器——高速缓存(SRAM)——主存(DRAM)——磁盘

15.存储器结构的核心思想:对于每个K,位于第K层的更快更小的存储设备作为位于第K+1层的更大更慢的存储设备的缓存。

16.位于第K+1层的存储器被划分成连续的数据对象片,称作块。数据在相邻层之间的传输总是以块为单位的。

17.缓存命中与不命中

  • 缓存命中:当程序需要第(k+1)层的数据对象d的时候,首先会在第k层找d;如果d刚好缓存在第k层,那么就叫做缓存命中;反之,不命中
  • 如果缓存不命中,那么第k层缓存就从第(k+1)层取出包含该数据的块,有可能会覆盖现有的块。被覆盖的块叫做牺牲块;决定该替换哪个块是由缓存的替换策略来控制的。

18.通用的高速缓存存储器结构

  • 每个存储器地址有m位,形成M=2^m个不同地址。这m位被划分成t个标记位、s个组索引位和b个块偏移位。
  • 这样一个机器的高速缓存被组织成S=2^s个高速缓存组的数组;每个数组包含E个高速缓存行;每行由一个B=2^b字节的数据块、一个有效位(指明这个行是否包含有效信息)、t=m-(b+s)个标记位(唯一标识存储在这个高速缓存行中的块)组成。
  • 一般而言,高速缓存块的结构可以用元组(S,E,B,m)表述。其中,C=SEB代表容量。

19.每组只有一行的高速缓存称为直接映射高速缓存。高速缓存确定一个请求是否命中,然后抽搐被请求字的过程,分为

  1. 组选择:从w的地址中抽取组索引;这些位被解释成对应于一个组号的无符号整数
  2. 行匹配:对于直接映射高速缓存,行匹配是容易而且快的;因为每个组只有一行
  3. 字匹配:块偏移提供的是这个字的第一个字节是从哪个位置开始的。

20.标记位和索引位合起来唯一标识了高速缓存中的块。

二、作业重点

1.在题目中,柱面数目可以看作是“磁道”数目。

2.P415 6.11

在前面dotprod的例子中,在我们对数组x做了填充之后,所有对x和y的引用的命中率是多少?

在填充了之后,对于x和y数组,只有在引用第0个和第4个元素的时候发生不命中。因而命中率为75%(即(8-2)/8)。

三、心得

【本次学习过程总体来说比较轻松;老师所布置的内容相对较少,并且高速存储部分理解起来也相对容易。然而,运行中的直接映射高速缓存部分还是需要很长时间去理解和消化的。】

时间: 2024-08-02 02:50:45

第六周学习总结的相关文章

《网络攻防》第九周学习总结

Nmap使用实践 我们使用kali1.08攻击机对Linux靶机222.28.136.226进行nmap的相关实践,扫描其他靶机类似. 1.测试是否在线 2.查看靶机开放了哪些TCP和UDP端口及安装了什么网络服务: 3.查看靶机的操作系统版本 nmap使用方法总结: 通过主机探测,确定测试目标地址后,往往需要对主机信息做更完善的扫描.nmap可以完成以下任务:主机探测.端口扫描.版本检测.系统检测.支持探测脚本的编写.实际应用场合:通过对设备或者防火墙的探测来审计他的安全性:探测目标主机所开放

# 2018-2019-1 20165317 第六周学习总结

2018-2019-1 20165317 第六周学习总结 教材学习内容总结 输入/输出(I/O)是主存和外部设备(I/O设备)(如磁盘驱动器.终端.网络)之间拷贝数据的过程.输入是从I/O设备拷贝到主存.反之则反. 10.1Unix I/O Unix文件就是一个m字节的序列:b0,b1,b2-.bm-1.所有的I/O设备都被虚拟化为文件.所有的输入输出都是在当成相对应的文件的读写.将设备映射为文件,Unix内核引出一个应用接口,Unix I/O. 输入输出的执行方式: 打开文件:打开文件,内核会

20145317《信息安全系统设计基础》第六周学习总结(1)

20145317<信息安全系统设计基础>第六周学习总结(1) 第四章 处理器体系结构 指令体系结构:一个处理器支持的指令和指令的字节级编码 4.1Y86指令集体系结构 Y86:包括定义各种状态元素.指令集和它们的编码.一组编程规范和异常事件处理. Y86程序中的每条指令都会读取或修改处理器状态的某些部分.Y86具体包括:8个程序寄存器.3个条件码ZF\SF\OF.程序计数器(PC) Y86用虚拟地址引用存储器位置. 程序状态的最后一个部分是状态码Stat,它表明程序执行的总体状态. 注意:条件

20145222《信息安全系统设计基础》第六周学习总结(1)

20145222<信息安全系统设计基础>第六周学习总结(1) 第四章 处理器体系结构 指令体系结构:一个处理器支持的指令和指令的字节级编码 4.1Y86指令集体系结构 · Y86:包括定义各种状态元素.指令集和它们的编码.一组编程规范和异常事件处理. · Y86程序中的每条指令都会读取或修改处理器状态的某些部分.· Y86具体包括:8个程序寄存器.3个条件码ZF\SF\OF.程序计数器(PC) · Y86用虚拟地址引用存储器位置. 程序状态的最后一个部分是状态码Stat,它表明程序执行的总体状

《Linux内核分析》第六周学习笔记

<Linux内核分析>第六周学习笔记 进程的描述和创建 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 [学习视频时间:1小时 撰写博客时间:2小时] [学习内容:进程创建的过程.使用gdb跟踪分析内核处理函数sys_clone] 一.进程的描述 1.1 进程描述符task_struct数据结构(一) 1. 进程控制块PCB——task_struct 为了管理进程,内核

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

20145307<信息安全系统设计基础>第六周学习总结 教材学习内容总结 Y86指令集体系结构 内容:定义一个指令集体系结构,包括定义各种状态元素.指令集和它们的编码.一组编程规范和异常事件处理. 程序员可见状态 Y86程序中的每条指令都会读取或修改处理器状态的某些部分. Y86具体包括:8个程序寄存器.3个条件码ZF\SF\OF.程序计数器(PC). Y86用虚拟地址引用存储器位置. 程序状态的最后一个部分是状态码Stat,它表明程序执行的总体状态. Y86指令 IA32指令集的一个子集,只

20145301第六周学习总结

20145301第六周学习总结 教材学习内容总结 第十章 输入/输出 10.1 InputStream与OutputStream InputStream与OutputStream  流(Stream)是对「输入输出」的抽象,注意「输入输出」是相对程序而言的  InputStream与OutputStream InputStream.OutStream提供串流基本操作,如果想要为输入/输出的数据做加工处理,则可以使用打包器类.常用的打包器具备缓冲区作用的BufferedOutputStream.B

20145319 第六周学习总结

20145319 <Java程序设计>第六周学习总结 教材学习内容总结 本周学习教材的第十.十一章,主要讲述了串流,字符处理和线程以及并行API 1. 输入输出 串流:1Java中的数据有来源(source)和目的地(destination),衔接两者的就是串流对象2串流设计:在不知道限定数据来源和目的地时,也可以依赖抽象的InputStream和Outstream来编写一个dump()方法,方便以后使用3InputStream和OutputStream:在java中,输入串流代表对象为jav

LINUX内核分析第六周学习总结——进程的描述和进程的创建

LINUX内核分析第六周学习总结——进程的描述和进程的创建 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.知识概要 进程的描述 进程描述符task_struct数据结构(一) 进程描述符task_struct数据结构(二) 进程的创建 进程的创建概览及fork一个进程的用户态代码 理解进程创建过程复杂代码的方法 浏览进程创建过程相关的关键代码 创建的新进程是从哪里开始执行的

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

20145311 <信息安全系统设计基础>第六周学习总结 教材学习内容总结 书上那几个表还是挺重要的 一个程序编译成在一种机器上运行,就不能在另一种机器上运行寄存器%esp被入栈.出栈.调用和返回指令作为栈指针程序计数器PC存放当前正在执行指令的地址三个一位的条件吗:ZF.SF.OF保存着最近的算数运算或逻辑运算所造成影响的有关信息Y86指令集:每个指令的第一个字节表明指令的类型,高4位是代码部分,低4位是功能部分指令集的一个重要性质就是字节编码必须有唯一的解释IA32(复杂指令集计算机CIS