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

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

    6.1

    SRAM:

    1、特点:SRAM两个稳态,其他状态不稳定;只要有电,它就会永远地保持它的值,抗干扰;花费高。

    2、应用:做高速缓存存储器。

    DRAM:

    1、特点:不抗干扰,不持续;单元被分成n个超单元,每个超单元x个位;分两步发地址(行、列),所以速度慢;花费高。

    2、应用:做主存、帧缓冲区。

    ROM:

    1、断电依然保存信息。

    2、PROM,EPROM,E2PROM,FLASH。

    3、基于闪存的磁盘驱动器-固态硬盘。

    磁盘:

    1、磁盘结构:盘片、磁道、扇区、间隙、柱面;前面几个概念看图就懂,柱面是所有盘片上到主轴距离相等的磁道的集合,概念很形象,想着一个圆柱体就懂了。

    2、磁盘容量:

    一个磁盘上可以记录的最大位数称为它的最大容量。
    记录密度:磁道一英寸的段可以放入的位数。
    磁道密度:从盘片中心出发半径上一英寸的段内可以有的磁道数。
    面密度:上面两个量的乘积。

    3、磁盘操作:

    任何时候读写头在同一个柱面上。
    找扇区第一个字节要用很长时间,剩余的字节访问时间很短,因为读写头的速度很快。
    平均旋转时间 = (1/2) * 最大旋转时间。

    4、逻辑磁盘块:

    a)所有扇区编成逻辑块序列,用一个叫磁盘控制器的硬件,维护着逻辑块号和实际(物理)扇区之间的映射关系。

    b)逻辑块号会被翻译成一个三元组:盘面、磁道、扇区。

    访存、访问磁盘:

    1、首先有几个概念:

    1、总线:一组并行的导线,能携带地址、数据的控制信号;系统总线、存储器总线信号类型不一样,要靠IO桥翻译。
    2、CPU使用一种存储器映射I/O技术来向I/O设备发出命令。

    2、访存:

    a)读:cpu把地址传给主存,主存对应的值给cou,cpu再copy给寄存器。

    b)写:cpu把要写的地址给主存,再把寄存器的值copy到系统总线传给主存,主存把值存到写的地址上。

    3、访问磁盘:cpu发起3个命令给磁盘控制器(磁盘读+参数、逻辑块号、主存地址),读扇区把内容传给主存,传完之后磁盘控制器发个中断信号给cpu。

    6.2局部性

    1、两种不同形式:空间局部性(附近的地址)、时间局部性(多次使用)

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

    3、局部性好代码运行当然速度快。

    4、对于具有步长为k的引用模式的程序,步长越小,空间局部性越好;对于取指令来说,循环有好的时间和空间局部性。循环体越小,循环迭代次数越多,局部性越好。

    6.3

    这一节部分内容我记得前面说过了,那个结构的核心中心思想还是:对于每个k,位于k层的更快更小的存储设备作为位于k+1层的更大更慢的存储设备的缓存。

    1、存储器分块,数据以块的形式在相邻层传。

    2、命中、不命中:看你要找的块在不在高速缓存里。

    3、不命中种类:

    强制性不命中/冷不命中:空的缓存。
    冲突不命中:放置策略引起,缓存够大。
    容量不命中:缓存不够大。

    4、缓存管理:上面说的所有功能用缓存管理来实现。(可以是硬件、软件,或者两者的集合)。

    6.4

    1、这一整节内容其实是围绕着地址展开的,你先得明白一个地址包含着标记、组索引和块偏移;接着要搞清楚它们其实都对应P409的模型中的变量(高速缓存结构(S,E,B,m))。

    2、6.4.1通用结构顾名思义就是上述所有的量都有。

    2、6.4.2直接映射高速缓存,每组只有一行,弊端是有很大概率造成冲突不命中。

    3、为了解决冲突不命中,每组不能只有一行,所以引出6.4.3组相关联高速缓存,即每组多于一个缓存行。

    4、6.4.4全相关联高速缓存,一个组包含所有缓存行,只有一个组,所以地址可以没有组索引。

    课后作业

    1.P391 6.2

    计算这样一个磁盘的容量。它有2个盘片,10000个柱面,每条磁道平均有400个扇区,每个扇区平均有512个字节

    磁盘容量 = 512字节/扇区400扇区/磁道10 000磁道/表面2表面/盘片2盘片/磁盘 = 8 192 000 000 字节 = 8.192GB

    2.P393 6.3

    估计访问下面的一个磁盘上的一个扇区需要的时间(以ms为单位)。旋转速率:15000RPM;Taveseek = 8ms;每条磁道的平均扇区数:500
    访问时间 = Taveseek+Taverotation+Tavetransfer=8ms+0.51/15000RPM60secs.min1000ms/s+1/15000RPM1/50060secs/min1000ms/s=8ms+2ms+0.008ms=10.008ms

    3.P394 6.4

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

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

    (2)随机的情况:如果块是随机地映射到磁盘扇区的,估计读这个文件需要的时间

    首先明确:1MB=2^20字节,即数据存储在2000个逻辑块中;对于磁盘,Taverotation=0.51/10000RPM60secs/1min1000ms/s=3ms则:

    (1)T=Taveseek+Taverotation+2Tmaxrotation=5ms+3ms+26ms=20ms

    (2)在这种情况下,块被随机的映射到扇区上,读2000块的每一块都需要Taveseek+Tavgrotation=8ms。所以读这个文件的总时间为T = 8ms2000=16000ms=16s

    代码托管

    https://git.oschina.net/20145331/wsc20145331_linux.git

    其他(感悟、思考等,可选)

    本周的内容,通过结合书上的图示和文字来理解,其实整体感觉不难,每一节的内容逻辑相关性都很强,6.4节刚开始看觉得很难不过越往后看就越觉得其实大同小异,找到每种类型高速缓存的区别,从这些区别入手去理解就简单的多了,高速缓存的那几个参数刚开始觉得很多看不太明白,从后面找了一道例题对应着看就看得舒服多了,这也就是以习题作为驱动的学习方式吧;不过那个存储器山真心看不太懂,仍在反复看中。

    学习进度条

    习进度条

     代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
    目标 5000行 30篇 400小时  
    第7周 23/405 1/8 11/131 了解了各类存储技术的原理,对高速缓存理解更加深入
  • 相关阅读:
    ccf I’m stuck!
    ccf 最大的矩形
    ccf ISBN号码
    ccf 出现次数最多的数
    ccf 相反数
    BestCoder Round #33
    15年3月CCF真题5-最小花费
    15年3月CCF真题4-网络延时
    15年3月CCF真题3-节日
    15年3月CCF真题2-数字排序
  • 原文地址:https://www.cnblogs.com/bosswsc/p/6013759.html
Copyright © 2011-2022 走看看