zoukankan      html  css  js  c++  java
  • 20145338 《信息安全系统设计基础》第七周学习总结

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

    教材学习内容总结

    第六章、储存器层次结构

    存储器系统是一个具有不同容量、成本和访问时间的存储器设备的层次结构。
    计算机程序的基本属性:局部性。具有良好局部性的程序倾向于一次又一次访问相同的或者邻近的数据项集合,倾向于从存储器层次结构中较高层次处访问数据项,因此运行的更快。

    存储技术

    随机访问存储器(RAM)分为两类:

    静态RAM:用来作为高速缓存存储器,每个位存储在一个双稳态的存储器单元里。

    动态RAM:用来作为主存以及图形系统的帧缓冲区。

    传统的DRAM:

    1.信息通过称为引脚的外部连接器流入/流出芯片,每个引脚携带一个1位信号。

    2.每个DRAM信号被连接到称为存储控制器的电路,电路每次传输量为8位。CAS请求共享相同的DRAM地址引脚。

    非易失性存储器(ROM)

    断电,DRAM和SRAM都会丢失信息:ROM。

    可编程ROM(PROM):只能被编程一次。PROM每个存储单元有一种熔丝,只能用高电流熔断一次。

    可擦写可编程ROM:紫外线光照射过窗口,EPROM就被清除为0,被擦除和重编程的次数为1000次。

    电子可擦除ROM:不需要一个物理上独立的编程设备,因此可以直接在印制电路卡上编程,能够编程的次数为10^5。

    闪存:为大量的电子设备提供快速而持久的非易失性存储。

    访问主存

    总线:数据流通过称为总线的共享电子电路在处理器和DRAM之间传送。

    总线事务:CPU和主存之间的数据传送的过程。

    I/O桥:将系统总线的电子信号翻译成存储器总线的电子信号

    磁盘存储

    磁盘构造:磁盘由盘片构成,表面覆盖着磁性记录材料,中央有一个可以旋转的主轴 ,旋转速率大约为5400-15000每分钟。

    磁盘容量决定因素:

    记录密度:磁道一英寸的段中可以放入的位数。

    磁道密度:从盘片中心出发半径上一英寸的段内可以有的磁道数

    面密度:记录密度与磁道密度的乘积。

    逻辑磁盘块:现代磁盘将盘面的构造视为一个B个扇区大小的逻辑块序列,磁盘控制器维护着逻辑块号和实际磁盘扇区之间的映射关系。

    连接到I/O设备:所有的I/O设备都是通过I/O总线连接到CPU和主内存。

    有三种不同类型:

    通用串行总线:一个广泛的使用标准,用于连接各种外围I/O设备。

    图形卡(或适配器):包含硬件和软件逻辑,代表CPU在显示器上画像素。

    主机总线适配器: 将一个或者多个磁盘连接到I/O总线,使用一个特别的主机总线接口定义的通信协议。

    存储技术趋势

    不同的存储技术有不同的价格和性能折中。不同存储技术的价格和性能属性以截然不同的速率变化着。DRAM和磁盘的性能滞后于CPU的性能。

    局部性

    倾向于引用邻近与其他最近引用过的数据项的数据项,或者最近引用过的数据项本身,这种倾向性,被称为局部性原理。

    局部性包括时间局部性和空间局部性

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

    有良好局部性的程序比局部性差的程序运行得更快

    对程序数据引用的局部性

    步长为k的引用模式:一个连续变量中,每隔k个元素进行访问。
    顺序引用模式:具有步长为1的引用模式
    随着步长增加,空间局部性下降。

    取指令的局部性

    程序指令是存放在存储器中的,CPU必须取出(读出)这些指令。
    代码区别于程序数据的一个重要属性是在运行时它是不能被修改的。当程序正在执行时,CPU只从存储器中读出它的指令,CPU绝不会重写或修改这些指令。

    存储器层次结构

    存储技术:不同的存储技术的访问时间差异很大,速度较快的技术每字节的成本要比速度较慢的技术高,而且容量较小,CPU和主存之间的速度差距在增大。
    计算机软件:一个编写良好的程序倾向于展示出良好的局部性。

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

    存储器层次结构中的缓存

    高速缓存(cache,读作“cash”)是一个小而快速的存储设备,作为存储在更大、更慢的设备中的数据对象的缓冲区域。每一层存储器被划分成连续的数据对象片,称为块,每个块都有唯一的对象和名字。数据总是以块大小为传送单元在第k层和第k+1层之间来回拷贝。

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

    缓存不命中
    第k层中没有缓存数据对象d
    这时第k层缓存会从第k+1层缓存中取出包含d的那个块。如果第k层缓存已满,就可能会覆盖现存的一个块;覆盖一个现存的块的过程称为替换/驱逐这个块;被驱逐的块有时也称为牺牲块。

    缓存不命中的种类

    1.强制性不命中/冷不命中:第k层缓存是空的(冷缓存),只是短暂的状态,不会在反复访问存储器使得缓存暖身之后的稳定状态出现。

    2.冲突不命中:第k+1层的第i块,必须放置在第k层的块(i mod 4)中,这种限制性的放置策略引起冲突不命中。

    高速缓存存储器

    一个计算机系统每个存储地址有m位,形成M=2m个不同的地址。高速缓存被组织成一个有S=2s个高速缓存组的数组,每个组包含E个高速缓存行,每个行是由一个B=2^b字节的数据块、一位有效位以及t=m-(b+s)个标记位组成,唯一标识存储在这个高速缓存行中的块。

    直接映射的高速缓存

    每组只有一行(E=1)的高速缓存称为直接映射高速缓存。高速缓存确定一个请求是否命中,然后抽取出被请求字的过程分为三步:组选择、行匹配、字抽取。

    全相连高速缓存

    全相连高速缓存中的组选择:只有一个组,没有组索引位。

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

    (3)高速缓存参数的性能影响

    不命中率:不命中数量/引用数量
    命中率:1-不命中率

    影响性能的因素

    高速缓存大小的影响:较大的高速缓存可能会提高命中率,但使大存储器运行的更快是更难一些的。

    块大小的影响:较大的块能利用程序中可能存在的空间局部性,帮助提高命中率;但块越大意味着高速缓存行较少,损害时间局部性。

    相联度的影响:相联度较大(E值较大)优点是降低了高速缓存由于冲突不命中出现抖动的可能性,但成本较高。

    写策略的影响:直写高速缓存易实现,而且能使用独立于高速缓存的写缓冲区,用来更新存储器,不命中开销小。写回高速缓存引起的传送比较少,允许更多的到存储器的宽带用于执行DMA的I/O设备。越下层越可能使用写回。

    代码托管截图

    uploading-image-81327.png

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 2/2 20/20
    第二周 300/500 2/4 18/38
    第三周 500/1000 3/7 22/60
    第四周 300/1300 2/9 30/90
    第五周 300/1600 2/10 22/60
    第六周 300/1900 2/12 30/90

    参考资料

  • 相关阅读:
    ffmpeg基本用法
    MySQL中使用like查找汉字 Incorrect string value 解决办法
    mysql存储过程变量的拼接
    解决IIS8中 URLRewriter 不能使用的方法
    Unix系统介绍
    远程控制客户端界面介绍
    远程控制之登录界面设计
    搞了一周,终于把视频流在局域网内传输搞定
    servelet
    前后台贯穿
  • 原文地址:https://www.cnblogs.com/SUONAM1114----/p/6002261.html
Copyright © 2011-2022 走看看