2017-2018-1 20155323 《信息安全系统设计基础》第9周学习总结
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周学习总结相关推荐
- # 2017-2018-1 20155224 《信息安全系统设计基础》第九周学习总结
2017-2018-1 20155224 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 存储器 随机访问存储器(RAM): 静态RAM:用来作为高速缓存存储器,每个位存储在一个 ...
- 2018-2019-1 20165206 《信息安全系统设计基础》第九周学习总结
- 2018-2019-1 20165206 <信息安全系统设计基础>第九周学习总结 - 教材学习内容总结 计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组.每个字节都有一 ...
- 20135203齐岳 信息安全系统设计基础第十三周学习总结
20135203齐岳 信息安全系统设计基础第十三周学习总结 学习计时:8/9共小时(计划/实际) 读书:4/5 代码:1/1 作业:1/1 博客:2/2 第十二章 并发编程 一.学习目标 掌握三种并发 ...
- # 20155337 2017-2018-1 《信息安全系统设计基础》第一周学习总结
20155337 2017-2018-1 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 1.1信息就是位+上下文 hello.c程序是以字节序列的方式储存在文件中的.每个字节都 ...
- 20135219洪韶武——信息安全系统设计基础第五周学习总结
信息安全系统设计基础第五周学习总结 学习任务:教材第四章[处理器体系结构] 学习时间:10小时 一.教材知识点梳理[4.1-4.3] 1.ISA[指令集体系结构] 一个处理器支持的指令和指令的字节级 ...
- 20145227《信息安全系统设计基础》第一周学习总结
20145227<信息安全系统设计基础>第一周学习总结 学习内容总结 Linux是一个操作系统.如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命 ...
- 2018-2019 20165203 《信息安全系统设计基础》第一周学习总结
2018-2019-1 20165203 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 编译:gcc [选项] [文件名] 选项参数表 参数 对应功能 -E 仅执行编译预处理 ...
- 2018-2019-1 20165221 《信息安全系统设计基础》第一周学习总结
2018-2019-1 20165221 <信息安全系统设计基础>第一周学习总结 教材学习总结 有关vim 打开方式:vim [文件名] 按i会进入insert模式,可以对代码进行编辑 按 ...
- 2017-2018-1 20155209 《信息安全系统设计基础》第一周学习总结
2017-2018-1 20155209 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 计算机系统就是由可以看到的硬件和系统内的软件组成的,然后用来运行应用程序. 我们平时使用 ...
- 20145307《信息安全系统设计基础》第二周学习总结
20145307<信息安全系统设计基础>第二周学习总结 教材学习内容总结 vim编辑器 Vim的6种基本模式:Vim具有6种基本模式和5种派生模式普通模式(Normal mode) Vim ...
最新文章
- 使用python进行面部合成,比PS好用多了
- 插入排序算法C++代码实现
- 杂项:高考填报志愿综合参考系统
- 为什么选择Nginx
- 求虚拟机11.0密钥
- 不会跳回到微博认定申请书
- Vue安装live-server
- linux 看不到mysql_linux的mysql下看不到mysql上的其他数据库只能看见 information_schema这一个数据库...
- autojs调用java识字_autojs实现抽象类的继承
- Table是怎样炼成的:HtmlTable
- ajax数据显示,使用js通用模板
- c++自学笔记 7.15
- MySQL Python教程(1)
- 用Alt码打出Pi以及各式各样的符号
- 计算机做游戏软件视频,电脑上录制游戏视频用什么软件好?专业的游戏录制软件推荐...
- 能否将一个网址(如QQ空间网址),打包成APK,然后别人下载APK安装到手机后,点击进入这个网址?
- 泰拉瑞亚服务器config修改,泰拉瑞亚种子世界游戏配置修改教程
- ERP : 产出控制
- 系统集成16真题解析
- train_test_split()函数用法