• 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小时

    参考资料

  • 相关阅读:
    Python用Apriori 算法关联规则分析亚马逊购买书籍关联推荐客户和网络图可视化
    R语言逻辑回归Logisitc逐步回归训练与验证样本估计分析心脏病数据参数可视化
    【视频】主成分分析PCA降维方法和R语言分析葡萄酒可视化实例|数据分享
    Python用RNN循环神经网络:LSTM长期记忆、GRU门循环单元、回归和ARIMA对COVID19新冠疫情新增人数时间序列预测
    laravel请求生命周期
    php对象复制
    pickerview 小程序级联选择(三级城市选择)
    ORACLE表在Windows与Linux下的备份与恢复
    《安富莱嵌入式周报》第270期:2022.06.132022.06.19
    【BSP视频教程】BSP视频教程第18期:基于NAND,eMMC,SD卡和U盘的BootLoader实战,带CRC完整性校验(20220616)
  • 原文地址:https://www.cnblogs.com/zhuohua/p/7862994.html
Copyright © 2020-2023  润新知