• 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
  • 相关阅读:
    归类常用控件GroupBox、TabControl、Expander
    ScrollViewer控件
    捕获鼠标位置
    5、标记拓展
    如何实现文件增量同步——算法
    常用的 Nand Flash 指令如下:
    Consistent Hashing算法
    循环冗余检验 (CRC) 算法原理
    yaffs2根文件系统的构建过程
    linux内存管理之uboot第一步
  • 原文地址:https://www.cnblogs.com/fixedl/p/7862244.html
Copyright © 2020-2023  润新知