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

教材学习内容总结

存储器层次结构

随机访问存储器

  • 静态(SRAM):双稳定特性、只要通电就能永远稳定,速度较快。
  • 动态(DRAM):对干扰敏感,一旦电压被干扰,永远不能恢复,并且暴露在光线下会导致电容电压改变,速度较慢。
  • 读取过程:从16*8的DRAM中读取超单元(4,3),首先存储控制器发送行地址4,然后DRAM将4行的所有内容拷贝到内部行缓冲区,接着控制器再发送列地址3,DRAM将行缓冲区拷贝出超单元(4,3)中的8位并发送到存储控制器。
  • 传统的DRAM:芯片中的单元位被分为d个超单元,每个超单元有w个DRAM单元组成,一个dxw的DRAM总共存储了dw位信息。
  • 快业模式的DRAM: 存储控制器发送行地址的时候后面跟着三个列地址(1+3),相比原本的DRAM拷贝一次行就浪费一次要快得多。
  • VRAM: 输出时通过对行内部缓冲区的整个内容行位移得到,更快,并且允许对存储器并行的读和写。
  • 非易失性存储器:是用来存储路由器的启动配置文件。在路由器断电时,其内容仍能保持。
  • PROM:只能被编程一次,只能高电流熔断一次。
  • 可擦写可编程ROM:光擦除的可擦写和冲编程的次数达1000次,电子可擦除的可达到10^5次。

磁盘构造

  • 盘片:有两面,盘片中央有可旋转的主轴,旋转速度RPM。
  • 每个表面有8个磁道,没个刺刀被划分为一组扇区,扇区间的空隙存储用来标识扇区的格式化位。

磁盘容量

  • 磁盘容量=字节数/扇区+平均扇区数/磁道+磁道数/表面+表面数/盘片+盘片数/磁盘

磁盘操作

  • 磁盘上一个扇区读取时间=寻道时间+传送时间+平均旋转时间(总传送时间的一半)

逻辑磁盘块

  • 盘面,磁道,扇区,这个三元组唯一的标识了对应的物理扇区。
  • 类比:内存可以看成字节数组、磁盘可以看成块数组。

连接到I/O设备

  • I/O总线连接了CPU,主存和I/O设备。
  • 通用串行总线USB:2.0最大带宽60MB/S,3.0最大带宽600MB/S。
  • 图形卡(适配器)
  • 主机总线适配器

访问磁盘

  • DMA(直接存储器访问):设备可以自己执行读或者写总线事务,而不需要CPU干涉的过程。

局部性

  • 时间局部性:被引用过一次的存储器位置不久后也有可能在被多次引用。
  • 空间局部性:被引用过一次的存储器位置不久后将引用附近的位置。
  • 具有步长为K的引用模式的程序,K越小空间局部性越好。
  • 重复引用同一个变量的程序有良好的时间局部性。
  • 对于取指令来说,循环有好的时间和空间局部性。循环体越小,循环迭代次数越多,局部性越好。

存储器层次结构

  • 缓存命中:

当程序需要第k+1层的某个数据对象d时,首先在当前存储在第k层的一个块中查找d,如果d刚好缓存在第k层中,就称为缓存命中。
该程序直接从第k层读取d,比从第k+1层中读取d更快。

  • 缓存不命中:

即第k层中没有缓存数据对象d。
这时第k层缓存会从第k+1层缓存中取出包含d的那个块。如果第k层缓存已满,就可能会覆盖现存的一个块

  • 缓存不命中的种类:

1.强制性不命中/冷不命中:即第k层的缓存是空的(称为冷缓存),对任何数据对象的访问都不会命中。

2.冲突不命中:由于一个放置策略:将第k+1层的某个块限制放置在第k层块的一个小的子集中,这就会导致缓存没有满,但是那个对应的块满了,就会不命中。

3.容量不命中:当工作集的大小超过缓存的大小时,缓存会经历容量不命中,就是说缓存太小了,不能处理这个工作集。

高速缓存存储器

  • L1高速缓存:位于CPU寄存器文件和主存之间,访问速度2-4个时钟周期。
  • L2高速缓存:位于L1高速缓存和主存之间,访问速度10个时钟周期。
  • L3高速缓存:位于L2高速缓存和主存之间,访问速度30或40个时钟周期。
  • 高速缓存是一个高速缓存组的数组,它的结构可以用元组(S,E,B,m)来描述:

S:这个数组中有S=2^s个高速缓存组

E:每个组包含E个高速缓存行

B:每个行是由一个B=2^b字节的数据块组成的

m:每个存储器地址有m位,形成M=2^m个不同的地址

  • 除此之外还有标记位和有效位:

有效位:每个行有一个有效位,指明这个行是否包含有意义的信息

标记位:t=m-(b+s)个,唯一的标识存储在这个高速缓存行中的块

组索引位:s

块偏移位:b

高速缓存的结构将m个地址划分成了t个标记位,s个组索引位和b个块偏移位。

编写高速缓存友好的代码

  • 1.基本方法

让最常见的情况运行的快

在每个循环内部缓存不命中数量最小

  • 2.重要问题

对局部变量的反复引用是好的(时间局部性)

步长为1的引用模式是好的(空间局部性)

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

问题1:不理解"让最常见的情况运行得快。程序通常把大部分时间都花在少量的核心函数上,而这些函数通常把大部分时间都花在了少量循环上。所以要把注意力集中核心函数的循环上,而忽略其他部分。"是什么意思

解决:

来源:龙三对《深入理解计算机系统(原书第2版)》的笔记(10)

[代码托管]

结对及互评

本周结对学习情况

20155314刘子健
- 结对学习内容
第六章

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 50/50 1/1 5/5
第二周 100/100 1/2 5/10
第三周 100/200 1/3 5/15
第四周 100/300 1/4 5/20
第五周 100/400 1/5 5/25
第六周 100/500 1/6 5/30
第七周 100/600 1/7 5/35
第八周 200/700 1/8 5/40
第九周 200/900 1/9 5/45

转载于:https://www.cnblogs.com/fixedl/p/7862244.html

2017-2018-1 20155323 《信息安全系统设计基础》第9周学习总结相关推荐

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

    2017-2018-1 20155224 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 存储器 随机访问存储器(RAM): 静态RAM:用来作为高速缓存存储器,每个位存储在一个 ...

  2. 2018-2019-1 20165206 《信息安全系统设计基础》第九周学习总结

    - 2018-2019-1 20165206 <信息安全系统设计基础>第九周学习总结 - 教材学习内容总结 计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组.每个字节都有一 ...

  3. 20135203齐岳 信息安全系统设计基础第十三周学习总结

    20135203齐岳 信息安全系统设计基础第十三周学习总结 学习计时:8/9共小时(计划/实际) 读书:4/5 代码:1/1 作业:1/1 博客:2/2 第十二章 并发编程 一.学习目标 掌握三种并发 ...

  4. # 20155337 2017-2018-1 《信息安全系统设计基础》第一周学习总结

    20155337 2017-2018-1 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 1.1信息就是位+上下文 hello.c程序是以字节序列的方式储存在文件中的.每个字节都 ...

  5. 20135219洪韶武——信息安全系统设计基础第五周学习总结

    信息安全系统设计基础第五周学习总结 学习任务:教材第四章[处理器体系结构] 学习时间:10小时  一.教材知识点梳理[4.1-4.3] 1.ISA[指令集体系结构] 一个处理器支持的指令和指令的字节级 ...

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

    20145227<信息安全系统设计基础>第一周学习总结 学习内容总结 Linux是一个操作系统.如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命 ...

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

    2018-2019-1 20165203 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 编译:gcc [选项] [文件名] 选项参数表 参数 对应功能 -E 仅执行编译预处理 ...

  8. 2018-2019-1 20165221 《信息安全系统设计基础》第一周学习总结

    2018-2019-1 20165221 <信息安全系统设计基础>第一周学习总结 教材学习总结 有关vim 打开方式:vim [文件名] 按i会进入insert模式,可以对代码进行编辑 按 ...

  9. 2017-2018-1 20155209 《信息安全系统设计基础》第一周学习总结

    2017-2018-1 20155209 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 计算机系统就是由可以看到的硬件和系统内的软件组成的,然后用来运行应用程序. 我们平时使用 ...

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

    20145307<信息安全系统设计基础>第二周学习总结 教材学习内容总结 vim编辑器 Vim的6种基本模式:Vim具有6种基本模式和5种派生模式普通模式(Normal mode) Vim ...

最新文章

  1. 使用python进行面部合成,比PS好用多了
  2. 插入排序算法C++代码实现
  3. 杂项:高考填报志愿综合参考系统
  4. 为什么选择Nginx
  5. 求虚拟机11.0密钥
  6. 不会跳回到微博认定申请书
  7. Vue安装live-server
  8. linux 看不到mysql_linux的mysql下看不到mysql上的其他数据库只能看见 information_schema这一个数据库...
  9. autojs调用java识字_autojs实现抽象类的继承
  10. Table是怎样炼成的:HtmlTable
  11. ajax数据显示,使用js通用模板
  12. c++自学笔记 7.15
  13. MySQL Python教程(1)
  14. 用Alt码打出Pi以及各式各样的符号
  15. 计算机做游戏软件视频,电脑上录制游戏视频用什么软件好?专业的游戏录制软件推荐...
  16. 能否将一个网址(如QQ空间网址),打包成APK,然后别人下载APK安装到手机后,点击进入这个网址?
  17. 泰拉瑞亚服务器config修改,泰拉瑞亚种子世界游戏配置修改教程
  18. ERP : 产出控制
  19. 系统集成16真题解析
  20. train_test_split()函数用法

热门文章

  1. DNSPod十问吴洪声:云时代,DNS面临哪些安全挑战?
  2. 基因工程-2-基因工程工具酶
  3. 人与人之间的差别,在于思维模式的不同
  4. win10 64位下Python最新版安装过程及破解
  5. 从逐笔成交分析主力异动
  6. bat文件语法与技巧(batch file or batch program)
  7. segfault信息分析
  8. POJ2255二叉树
  9. jquery animate 通告栏动画
  10. 【WIFI】mtk7621驱动