我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:六合特肖 > 访问局部性 >

信息安全系统基础第七周学习总结

归档日期:07-15       文本归类:访问局部性      文章编辑:爱尚语录

  具有良好局部性的程序倾向于一次又一次的访问相同的数据项集合,或是倾向于访问邻近的数据项集合。具有良好局部性的程序比局部性差的程序更多的倾向于从存储器层次结构中较高层次处访问数据项,因此运行的更快。

  随机访问存储器SRAM(静态):高速缓存存储器。将每个位存储在一个双稳态的存储器单元里面。(每个单元用一个六晶体管电路来实现;其属性是可以无限期保持在两个不同的典雅配置或者状态之一,其他的任何状态都是不稳定的)

  DRAM(动态):将每个位存储为对一个电容的充电(这个电容很小)。存储单元对干扰(如光线、噪音等)很敏感;当电容的电压被扰乱之后就永远不会恢复。优势是密集度低,成本低。

  芯片中的单元位被分为d个超单元,每个超单元有w个DRAM单元组成,一个dxw的DRAM总共存储了dw位信息。超单元被组织成一个r行c列的长方形,即rc=d。每个超单元有形如(i, j)的地址,i表示行,j表示列。

  每个DRAM芯片被连接到某个称为存储控制器的电路,这个电路可以一次传送w位到每个DRAM芯片或者依次从每个芯片传出w位。电路设计者将DRAM组织成二维而不是线性数组的一个原因是降低芯片上地址引脚的数量。

  非易失型存储器:即使在关电后,也仍然保存着它们的信息;称为ROM。包括:

  电子可擦除PROM(EEPROM):能够被编程的次数可以达到10^3次。

  闪存:基于EEPROM。基于此的磁盘驱动器称为固态硬盘 存储在ROM设备中的程序通常称为固件;当一个计算机系统通电之后,它会运行存储在ROM中的固件

  RAM在断电后会丢失信息,ROM即使断电也能保存着信息。ROM中有的类型既可以读又可以写,但整体上称为只读存储器。

  ROM是以它们能够被重编程的次数和进行重编程所用机制进行区分的 -DRAM芯片包装在存储器模块中,是插在主板的扩展槽上的。168个引脚的双列直插存储器模块以64位为块传送或传出数据。72个引脚的单列直插存储器模块以32位为块传送数据。

  5.数据流通过总线的共享电子电路在处理器和DRAM之间来回;包括读事务(从主存到CPU)和写事务。总线是一股并行的线,可以携带数据、控制信号和地址(数据总线,地址总线.访问主存

  总线是一组并行的导线,能携带地址、数据和控制信号。数据流通过总线在处理器和DRAM主存之间来回。每次CPU和主存之间的数据传送是通过一系列步骤来完成的,称为总线事务。

  计算机系统的配置:主要部件是CPU芯片、I/O桥芯片组、组成主存的DRAM存储器模块。这些部件由一对总线连接起来,其中一条总线是系统总线,它连接CPU和I/O桥,另一条总线是存储器总线,它连接I/O桥和主存。

  磁盘由一个或多个叠放的盘片组成,被封装在一个密封的包装里,整个装置称为磁盘驱动器,即磁盘,也称旋转磁盘,区别与基于闪存的固态磁盘SSD。柱面:描述多个盘片驱动器的构造,指所有盘片表面上到主轴中心的距离想等的磁道的组合。即所有盘片表面到主轴中心距离相等的磁道的集合

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

  磁盘用读/写头来读写存储在磁性表面的位,读写头连接到传动臂,通过沿着半径轴前后移动传动臂可以将读/写定位在盘面上的任何磁道上。这样的机械运动称为寻道。定位到了期望的磁道上,磁道旋转每个位通过它的下面时就可读写该位。多个盘片针对每一个都有独立的读写头,且位于同一柱面上。

  寻道:将读写头定位到包含目标扇区的磁道上。Tseek取决于它以前的位置和传动臂在盘面上的移动速度。时间通常为3——9ms。

  o传送:驱动器开始写或者读扇区的内容;时间长短取决于旋转速度和每条磁道的扇区数目。平均时延为 Tavg=1/RPM1/(平均扇区数/磁道)60secs/1min

  访问一个磁盘扇区内容的平均时间为平均寻道时间,平均旋转延迟和平均传送时间之和。

  磁盘中有一个小的硬件/固件设备,称为磁盘控制器,维护这逻辑块号和实际(物理)磁盘扇区之间的映射关系。

  输入输出设备都是通过I/O总线连接到CPU和主存的。与系统总线和存储器总线不同,它可以设计成与CPU无关的。

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

  两个常用的磁盘接口SCSI/SATA,SCSI更快更贵,可支持多个磁盘驱动器。其他设备,如网络适配器,插入到主板上空的扩展槽,从而连接到I/O总线.访问磁盘

  CPU从磁盘读数据,CPU使用存储器映射I/O的技术向I/O设备发出命令,过程中地址空间有一块是为与I/O设备通信保留的,称为I/O端口。当设备连接到总线时,它与一个或多个端口相关联。

  固态硬盘是一种基于闪存的存储技术,一个SSD包由一个或多个闪存芯片和闪存翻译层组成,闪存芯片替代传统旋转磁盘中的机械驱动器,闪存翻译层是一个硬件/固件设备,与磁盘控制器相同,将对逻辑块的请求翻译成对底层物理设备的访问。

  SSD优点:随机访问时间比旋转磁盘更快,能耗更低,更结实 SSD缺点:容易磨损,较贵,容量通常只是旋转磁盘的1%

  计算机程序倾向于引用邻近于其他最近引用过的数据项的数据或其本身;这种倾向性,被称为局部性原理。包括:时间局部性,空间局部性。有良好局部性的程序比局部性差的程序运行的更快。

  体现:在硬件层,局部性原理允许计算机设计者通过引入称为高速缓存器的小而快的存储器来保存最近被引用的指令和数据项;在操作系统级,局部性原理允许系统使用主存作为虚拟地址空间最近被使用的磁盘块。

  重复引用一个变量的程序具有良好的时间局部性;对于取指令来说,循环具有良好的时间和空间局部性。循环体越小,循环迭代次数越多,局部性越好。

  步长为k的引用模式:一个连续变量中,每隔k个元素进行访问,就被称为步长为k的引用模式。

  步长为1的引用模式:就是顺序访问一个向量的每个元素,有时也被称为顺序引用模式,它是程序中 空间局部性常见和重要的来源。一般来说,随着步长增加,空间局部性下降。

  对于取指令来说,循环有好的时间和空间局部性。循环体越小,循环迭代次数越多,局部性越好。

  存储器层次结构的中心思想是:对于每个k,位于k层的更快更小的存储设备作为位于(k+1)层的更大更慢的存储设备的缓存。

  第(k+1)层的存储器被划分成连续的数据对象片,称为块;数据总是以块大小为传送单元在相邻两层之间来回拷贝的;在任何时刻,第k层的缓存包括第(k+1)层块的一个子集的拷贝。

  用相互补充的性质想到的一种组织存储器系统的方法:存储器层次结构。一般而言,从高层往底层走,存储设备变得更慢、更便宜和更大。

  高速缓存是一个小而快速的存储设备,作为存储在更大、也更慢的设备中的数据对象的缓冲区域。使用高速缓存的过程称为缓存。

  缓存命中:当程序需要第(k+1)层的数据对象d的时候,首先会在第k层找d;如果d刚好缓存在第k层,那么就叫做缓存命中;反之,不命中

  如果缓存不命中,那么第k层缓存就从第(k+1)层取出包含该数据的块,有可能会覆盖现有的块。覆=决定替换哪个块是由缓存的替换策略来控制的;例如,一个具有随机替换策略的缓存会随机选择;而LRU替换策略会选择被访问时间距今最远的块

  存储器层次结构的本质是每一层存储设备都是较低一层的缓存。在每一层上,某种形式的逻辑必须管理缓存,而管理缓存的逻辑可以是硬件、软件,或者两者的结合。

  每个存储器地址有m位,形成M=2^m个不同地址。这m位被划分成t个标记位、s个组索引位和b个块偏移位。

  这样一个机器的高速缓存被组织成S=2^s个高速缓存组的数组;每个数组包含E个高速缓存行;每行由一个B=2^b字节的数据块、一个有效位(指明这个行是否包含有效信息)、t=m-(b+s)个标记位(唯一标识存储在这个高速缓存行中的块)组成

  高速缓存确定一个请求是否命中,然后抽搐被请求字的过程,分为:组选择,行匹配,字抽取

  组选择:从w的地址中抽取组索引;这些位被解释成对应于一个组号的无符号整数

  一个 1EC/B 的高速缓存通常称为E路组相联高速缓存。

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

  - 优点:由于局部性,写回能显著的减少总线流量 - 缺点:增加了复杂性,必须为每个高速缓存行维护一个额外的修改位

  【假设1MB的文件由512字节的逻辑块组成,存储在有如下特性的磁盘驱动器上(旋转速率:10 000RPM,Taveseek=5ms,平均扇区/磁道 = 1000)。

  (1)最好的情况:给定逻辑块到磁盘扇区的最好的可能的映射(即,顺序的),估计读这个文件需要的最优时间

  【在前面dotprod的例子中,在我们对数组x做了填充之后,所有对x和y的引用的命中率是多少?】 在填充了之后,对于x和y数组,只有在引用第0个和第4个元素的时候发生不命中。因而命中率为75%

  此次学习时间较为上次要少一点,因为内容都是串起来的,很多都是概念性的,所以很快,不过在做练习题的时候有些知识还需要用到前几章的内容,由于贪懒,前几章学的不是很深,只是些表面功夫,所以还是需要多复习,更深入的理解才对。反省了很多。

本文链接:http://shawntierney.com/fangwenjubuxing/631.html