zoukankan      html  css  js  c++  java
  • 20135337——信息安全设计基础第六周学习笔记

    第6章 存储器层次结构

    知识点

    1、RAM随机访问存储器

    分类:SRAM(静态)、DRAM(动态)

    特点:存储单元的内容可按需随意取出或存入,这种存储器在断电时将丢失其存储内容,即掉电失忆(常说的电脑内存就是RAM的)。

    (1)SRAM

    1.特点:1.不需要刷新电路即能保存它内部存储的数据。2.集成度较低,需要很大的体积。3.存取快。4.抗干扰。

    2.应用:一般用来作为计算机中的高速缓冲存储器

    优点:速度快,不必配合内存刷新电路,可提高整体的工作效率。  
    缺点:集成度低,功耗较大,相同的容量体积较大,而且价格较高,少量用于关键性系统以提高效率
    
    (2)DRAM

    1.特点:1.每个位存储为对电容的充电。2.周期性的用读出然后写回的方式刷新存储器每个位。

    2.应用:一般用来作为计算机中的高速缓冲存储器

    2、ROM只读存储器

    1.分类:PROM、EPROM、E2PROM、FLASH

    2.特点:一次写入,反复读取,即非易失性。

    (1)PROM(可编程只读存储器)

    只能被编程一次。每个存储器单元有一种熔丝,只能用高电流熔断一次。

    (2)EPROM(可擦写可编程只读存储器)

    可重复擦除和编程次数达到1000次。

    (3)EEPROM(E2PROM电子可擦除可编程只读存储器)

    1.不需要独立编程设备,可直接在印制电路卡上进行。

    2.编程次数可达100000次。

    (4)FLASH(闪存)

    非易失性的内存,基于EEPROM。

    3、磁盘

    (1)结构、容量

    由一些盘片构成,盘片的正反面都能存储数据,每个盘片分成许多的磁道,每个磁道分成一些扇区。(通常一个扇区为512B。)
    • 表面:每个盘片有两个表面
    • 主轴:盘片中央,可旋转
    • 旋转速率:通常5400~15000/min
    • 磁道:同心圆们
    • 扇区:每个磁道被划分为一组扇区
    • 数据位:每个扇区包含相等数量的~,通常为512字节
    • 间隙:存储用来标识扇区的格式化位
    • 磁盘驱动器-磁盘-旋转磁盘
    • 柱面:所有盘片表面上到主轴中心的距离相等的磁道的集合。

    磁盘的容量 = 每扇区大小*每磁道扇区数*磁道数 *2 * 盘片数量 
    
    (2)访问时间

    1.对扇区的访问时间包括:寻道时间,旋转时间和传送时间

    1.寻道时间:将读写磁头放在包含要访问的扇区的磁道上。T(seek),取决于磁头以前的位置和传动臂移动的速度。
    2.旋转时间:定位到磁道后,转动盘片,直到指定的扇区到达磁头下。取决于读写头到达目标磁道时的位置和盘片的转速。
    最大旋转时间就是盘片转一圈的时间了。
    
    3.传送时间:读扇区内容需花费的时间。取决于转速和每条磁道的扇区数目。
    

    2.计算时间公式

    T(max rotation)=1/RPM * 60secs/1min  ——最大旋转延迟时间
    T(avg rotation)=1/2 * T(max rotation)  ——平均延迟时间
    T(avg transfer)=1/RPM * 1/(平均扇区数/磁道) * 60secs/1min  ——平均传送时间
    T(access)=T(avg seek)+T(avg rotation)+T(avg transfer)  ——整个估计的访问时间
    
    总结:访问一个磁盘扇区中512字节主要花在寻道时间和旋转延迟
    
    (3)逻辑磁盘块

    1.磁盘控制器,维护逻辑块号和物理磁盘扇区之间的映射关系。

    2.要执行I/O操作时,操作系统发送一个命令到磁盘控制器,执行一个快速表查找,将一个逻辑块号翻译成一个三元组(盘面,磁道,扇区),唯一标识列对应的物理扇区。

    3.解释三元组:将读写头移动到适当柱面,等待山区移动到读写头下,将读写头感知到的位放到控制器上的小缓冲区中,将它们拷贝到主存中。

    (4)总线

    数据总线、控制总线、地址总线、系统总线、存储总线、I/O总线
    (这部分主要采用了对各个名词“百度”的方式进行学习了解)

    存储总线:1.并行传递方式。
    		 2.指令和数据向CPU传递时的通道。
    		 3.细分为三组:数据总线(用于传递数据);地址总线(用于传递主存储器的地址);控制总线(用于各种内部控制指令的传递)。
    系统总线:1.传送的信息包括数据信息、地址信息、控制信息。
    		 2.数据总线(用于传送数据信息);地址总线(用来传送地址的,地址只能从CPU传向外部存储器或I/O端口, 地址总线总是单向三态的,这与数据总线不同。地址总线的位数决定了CPU可直接寻址的内存空间大小);控制总线(用来传送控制信号和时序信号)。
    I/O总线:指缆线和连接器系统,用来传输I/O路径技术指定的数据和控制信号。
    

    4、局部性

    1.有良好局部性的程序比局部性差的程序运行的更快。

    2.分为时间、空间局部性

    (1)数据引用局部性

    对于sum来说,有很好的时间局部性,因为sum是标量,对于sum来说,没有空间局部性;对于变量v,有很好的控件局部性,但是因为每个向量元素只被访问一次,因此时间局部性很差。因此,总体来说,sumvec函数有很好的局部性。

    (2)取指令局部性

    上述一维数组示例中,for循环中的指令是按照连续的存储器顺序执行的,因此循环有良好的空间局部性。因为循环体会被执行多次,所以也有很好的时间局部性。

    (3)局部性小结

    评价一个程序中局部性的简单原则:

    1.重复引用同一个变量从的程序有良好的时间局部性;
    2.对于步长为k的引用模式的程序,步长越小,空间局部性越好。具有步长为1的引用模式的程序有很好的空间局部性;
    3.对于取指令来说,循环有很好的时间和空间局部性。循环体越小,循环迭代次数越多,局部性越好。
    

    5、存储层次结构

    1.中心思想:每层存储设备都是下一层的“缓存”。

    2.任何时刻,第k层的缓存包含第k+1层块的一个子集的拷贝。

    (1)缓存命中

    若需要访问k+1层里的数据块d,如果d已经缓存在第k层,则称缓存命中。

    (2)缓存不命中

    若d不在第k层,则是缓存不命中。第k层缓存会从第k+1层缓存中取出包含d的那个块。如果第k层缓存已满,就可能会覆盖现存的一个块。

    替换策略:1.随机替换策略-随机牺牲一个块。2.最少被使用替换策略LRU-牺牲最后被访问的时间距离现在最远的块。

    (3)缓存不命中的种类

    1.强制性不命中(冷不命中)

    一个空的缓存称为冷缓存,对任何数据对象的访问都不会命中。通常是短暂事件,不会在反复访问存储器使得缓存暖身之后的稳定状态中出现。

    2.冲突不命中

    限制性的放置策略——将第k+1层的某个块限制放置在第k层块的一个小的子集中。

    3.容量不命中

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

    6、高速缓存结构

    (1)通用的高速缓存存储器结构


    有效位:每个行有一个有效位,指明这个行是否包含有意义的信息
    标记位:t=m-(b+s)个,唯一标识了存储在这个高速缓存行中的块

    将m个地址划分成了t个标记位,s个组索引位和b个块偏移位。

    (2)直接映射高速缓存

    1.每组只有一行的高速缓存叫直接映射高速缓存。

    2.高速缓存确定一个请求是否命中,然后抽取出被请求的字的过程,分为三步:1)组选择 2)行匹配 3)字抽取

    a)组选择

    如果把高速缓存看做一个关于组的一维数组,那么这些组的索引位就是一个到这个数组的索引。

    b)直接映射高速缓存行匹配

    当且仅当设置了有效位,而且告诉缓存行中的标记与w的地址中标记相匹配时,这一行中包含w的一个拷贝。(有效位+标记)

    c)直接映射高速缓存中的子选择

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

    d)直接影射高速缓存中时的行替换

    如果缓存不命中,那么它需要从存储器层次结构的下一层去除被请求的块,然后将新的块存储在组索引位指示的组中的一个高速缓存行中。

    (3)组相联高速缓存

    1.组选择

    与直接映射高速缓存中的组选择一样,组索引位标识组。

    2.行匹配和字选择

    把每个组看做一个小的相关联存储器,是一个(key,value)对的数组,以key为输入,返回对应数组中的value值。高速缓存必须搜索组中的每一行,寻找有效的行其标记与地址中的相匹配。
    形式是(key, value),用key作为标记和有效位去匹配,匹配上了之后返回value。
    组中的任意一行都可以包含任何映射到这个组的存储器块,所以告诉缓存必须搜索组中的每一行。

    3.组相连高速缓存中不命中时的行替换:

    随机替换
    最不常使用策略LFU:替换在过去某个时间窗口内引用次数最少的那一行。
    最近最少使用策略LRU:替换最后一次访问时间最久远的那一行。

    (4)全相连高速缓存

    1.组选择

    只有一个组,没有组索引位。

    2.行匹配和字选择

    与组相连高速缓存是一样的,但规模大很多,因此只适合做小的高速缓存,例如虚拟存储系统中的翻译备用缓冲器。

    遇到问题及解决

    1.书上说:DRAM每个位存储为对电容的充电。

    解决:我理解的意思是:电容里有电就是1,没电就是0。

    2.针对书上图6-20为什么行扫描是"i<N","j<M"?

    解决:我发现小组中有同学提问。我的理解是i的循环先进一次到j的循环,直到j的条件不满足再次进行i的循环,所以是:先i<N,再j<M(j率先完成一轮循环——即是行扫描)。

    其他

    总结体会

    看本章第一节内容时感觉小的知识点很多,学起来没有清晰的线路,之后按照老师的教材导读给出的知识点进行学习是比较清晰的。

    参考资料

    《深入理解计算机系统》

    http://blog.chinaunix.net/uid-24631445-id-3475622.html

    http://baike.haosou.com/doc/5411512-5649620.html

  • 相关阅读:
    线程的五种状态
    ajax回调打开新窗体防止浏览器拦截有效方法
    mysql 如果字段为null自动返回需要的信息sql
    String 与 StringBuffer的区别
    Windows Git中文文件名乱码
    定义函数指针
    hello world
    C++析构函数调用异常问题研究
    企业开发的时候,有可能碰到的问题
    jmap
  • 原文地址:https://www.cnblogs.com/zzzz5/p/4906215.html
Copyright © 2011-2022 走看看