zoukankan      html  css  js  c++  java
  • 2017-2018-1 20155201 《信息安全系统设计基础》第九周学习总结

    2017-2018-1 20155201 《信息安全系统设计基础》第九周学习总结

    教材学习内容总结

    一、存储技术

    DRAM和SRAM的特性:

    1. 静态RAM(SRAM)
      SRAM将每个位存储在一个双稳态的存储器单元里,

    2. 动态RAM(DRAM)
      DRAM将每个位存储为一个电容的充电。每个DRAM芯片被连接到某个成为存储控制器的电路,电路可以一次传送w位到每个DRAM芯片或一次从每个DRAM芯片传出w位。

    3. 存储器模块

    4. 磁盘存储
      磁盘是由一个或多个叠放在一起的盘片组成的,被封装在一个密封的包装里,整个装置通常称为磁盘驱动器,简称磁盘。

    5. 磁盘容量的计算:

      磁盘容量=(字节数/扇区) * (平均盘区数/磁道) * (磁道数/表面) * (表面数/盘片) * (盘片数/磁盘)
      
      假设一个磁盘,5个盘片,每个扇区512字节,每个面20000条磁道,每条磁道平均300个扇区。(注:每个盘片两个表面)
      磁盘容量=(512) * (300) * (20000) * (2) * (5)=30 720 000 000字节=30.72GB
      
      
    6. 磁盘对扇区的访问时间计算:
      磁盘对扇区的访问时间有三个部分:寻道时间旋转时间传送时间

      寻道时间:为了读取某个扇区的内容,传动臂先将读/写头定位到包含目标扇区的磁道上,移动传动臂所需的时间即为寻道时间。
      T(avg seek)通常为3~9ms。
      旋转时间:一旦读/写头定位到了期望的磁道,驱动器等待目标扇区的第一个位旋转到读/写头下。
      T(max rotation)=(1s/RPM) * (60secs/1 min)
      T(avg rotation)=1/2 * T(max rotation)
      传送时间:一个扇区的传送时间依赖于旋转速度和每条磁道的扇区数目。
      T(avg transfer)= (1s/RPM) * (1/(平均扇区数/磁道)) * (60secs1min)
      
      例题————一个有如下参数的磁盘:旋转速率:7200 RPM,T(avg seek)=9ms,每条磁道的平均扇区数:400
      平均旋转延迟:T(avg rotation)=1/2 * T(max rotation)
                                   =1/2 * (60sec/7200 RPM) * (1000ms/sec)
                                   =4 ms
      平均传送时间:T(avg transfer)=(60/7200 RPM) * (1/400) * (1000ms/sec)=0.02 ms
      

    二、局部性

    1. 局部性的两种形式:时间局部性和空间局部性;良好的时间局部性程序中,被引用过一次的存储器位置很可能在不远的将来再被多次引用。重复引用同一个变量的程序具有良好的时间局部性。良好的空间局部性程序中,一个存储器位置被引用了一次,程序很可能在不远的将来引用附近的一个存储器位置。

    三、存储器层次结构

    1. 中心思想是:对于每个k,位于k层的更快更小的存储设备作为位于k+1层的更大更慢的存储设备的缓存。层次结构中的每一层都缓存来自较第一层的数据对象。

    四、高速缓存

    1. 高速缓存参数:

    2. 高速缓存有四个组,每个组一行,每个块2字节,列举出整个地址空间并划分好位

      • cpu如何执行读:
      • 先读地址0的字
      • 读地址1的字
      • 读地址13的字
      • 读地址8的字
      • 读地址0的字

    教材学习中的问题和解决过程

    • 问题1:如何理解DRAM芯片的组织?
    • 问题1解决方案:下图展示的是16 * 8的DRAM芯片的组织,d=16(超单元),每个超单元有w=8位,r=4行,c=4列。信息通过引脚流入和流出芯片。每个引脚携带一个1位的信号。
      要从DRAM中读出超单元(2,1),存储控制器发送行地址2,DRAM将行2的整个内容都拷贝到一个内部行缓冲区;接下来,存储控制器发送列地址1,最后从行缓冲区拷贝出超单元(2,1)中的8位,发送到存储控制器。
      示意图:

    代码调试中的问题和解决过程

    • 问题1:如何做到以步长为1的引用模式扫描三维数组a?
    • 问题1解决方法:教材练习题6.8
    int sumarray3d(int a[N][N][N]){
        int i,j,k,sum=0;
        for(i=0;i<N;i++)
            for(j=0;j<N;j++)
                for(k=0;k<N;k++)
                sum+=a[i][j][k];
        return sum;
        
    }
    

    代码托管

    结对及互评

    本周结对学习情况

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 195/195 1/1 10/10
    第三周 314/706 1/2 15/25
    第五周 254/960 1/3 10/35
    第七周 24/1759 1/4 15/50
    第九周 1207/2966 2/6 15/65
    • 计划学习时间:12小时

    • 实际学习时间:15小时

    参考资料

  • 相关阅读:
    Pytorch cpu版离线安装:win10 + Anaconda + Pip
    离线配置Opencv-python: Anaconda3 + Pycharm+ Win10 + Python3.6
    HSmartWindowControl 之 摄像头实时显示( 使用 WPF )
    OpencvSharp 在WPF的Image控件中显示图像
    HSmartWindowControl 之 显示图像
    HSmartWindowControl之安装篇 (Visual Studio 2013 & Halcon 18)
    使用ILMerge 打包C# 绿色免安装版程序
    C# 日志输出工具库—log4net 安装、配置及简单应用
    Python:windows下scikit-learn 安装和更新
    C# 开源仪表盘库—Agauge App
  • 原文地址:https://www.cnblogs.com/zhuohua/p/7862994.html
Copyright © 2011-2022 走看看