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

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

    教材学习内容总结

    第6章 存储器层次结构

    1. 随机访问存储器
    • 随机访问存储器分为:静态RAM(SRAM)和动态RAM(DRAM),静态RAM(SRAM)比动态RAM(DRAM)更快,但也贵很多。
    • SRAM和DRAM的区别:
    只要有电,SRAM就会保持不变,而DRAM需要不断刷新;
    SRAM比DRAM快;
    SRAM对光和电噪声等干扰不敏感;
    SRAM比DRAM需要使用更多的晶体管,所以更昂贵。
    

    • 存储器模块分类:
    168个引脚的双列直插存储器模块,以64位为块传送数据;
    72个引脚的单列直插存储器模块,以32位为块传送数据。
    
    • 访问主存:
    读事务:从主存传送数据到CPU;读事务语句:movl A,%eax
    写事务:从CPU传送数据到主存。
    总线:一组并行的导线,能携带地址、数据的控制信号。
    

    1. 磁盘存储
    • 计算磁盘容量的公式:
    磁盘容量 = 字节数/扇区 X 平均磁盘数/磁道 X 磁道数/表面 X 表面数/盘片 X 盘片数/磁盘
    
    • 访问时间=寻道时间+旋转时间+传送时间;
    1. 固态磁盘
    • 固态硬盘是一种基于闪存的存储技术。
    • 性能特性:顺序读和写(CPU按顺序访问逻辑磁盘块)性能相当,顺序读比顺序写稍快一点;随机顺序访问逻辑块时,写比读慢一个数量级;读写性能差别是由底层闪存基本属性决定的。
    1. 存储技术趋势
    不同的存储技术有不同的价格和性能折中
    不同存储技术的价格和性能属性以截然不同的速率变化着(增加密度从而降低成本比降低访问时间更容易)
    DRAM和磁盘的性能滞后于CPU的性能
    
    1. 局部性
    • 局部性:倾向于引用邻近与其他最近引用过的数据项的数据项,或者最近引用过的数据项本身,这种倾向性,被称为局部性原理。
    时间局部性:被引用过一次的存储器位置很可能在不远的将来再被多次引用。
    空间局部性:一个存储器位置被引用了一次,那么程序很可能在不远的将来引用附近的一个存储器位置。
    
    • 顺序引用模式:具有步长为1的引用模式
    • 一般来说,随着步长增加,空间局部性下降。
    1. 取指令的局部性

    2. 存储器层次结构

    3. 存储器层次结构中的缓存

    4. 高速缓存存储器

    每个存储器地址有m位,形成M=2^m个不同的地址。
    高速缓存组:S = 2^m个高速缓存组的数组
    高速缓存行:B = 2^m字节的数据块组成
    有效位:指明这个行是否包含有意义的信息
    标记位:唯一地标识存储在这个高速缓存行中的块,t = m -(b+s)
    

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

    • 问题一:在高速 缓存更新了它的w的拷贝之后,怎么更新w在层次结构中紧接着低一层中的拷贝?
    • 问题一解决方案:最简单的方法,称为直写(write-through),就是立即将w的高速缓存块写回到紧接着的低一层中。虽然简单,但是直写的缺点是每次写都会引起总线流量。另一种方法,称为写回(write-back),尽可能地推迟存储器更新,只有当替换算法要驱逐更新过的块时,才把它写到紧接着的低一层中。

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

    • 问题一:结构体指针和结构体的使用容易有编译错误
    • 问题一解决方案:在结构体这方面要注意的是在使用结构体变量,结构体指针,结构体数组是不一样的。首先结构体变量本身应该使用"."来调取内部变量,同样结构体数组的元素也是一样,当遇到结构体指针的时候就需要使用"->"调取内部元素;尤其是要注意队列中的结构体指针非常容易爆炸;在结构体数组传参的时候使用结构体指针。

    代码托管

    本周结对学习情况

    • 20155204

    • 结对学习内容
      互相学习吧,大家在编程的时候各有长短

    2017-2018-1 20155203 实验三 实时系统

    mypwd的编译与测试

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

    感觉老师讲的好像和教材上没啥关系啊,多线程编程还是需要继续努力。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 1/1 6/6
    第三周 156/388 2/3 15/21 这周除课堂实践外,大多数都是知识性的学习内容,代码量确实太少从下周起就要抓紧了
    第四周 156/388 3/6 15/36 每天100行好难啊,不过感觉找到了学习的一些动力。在调试代码上花的时间太多,都要没时间看书了,还要继续改进
    第五周 284/ 745 1/7 15/51
    第七周 1812/ 2557 2/9 10/61
    第八周 564/ 3121 2/11 10/71
    第九周 1183/ 4304 3/14 10/81
    • 计划学习时间:10小时

    • 实际学习时间:10小时

    参考资料

  • 相关阅读:
    LINUX-----管道流及重定向
    转:vim----复制粘贴
    linux ----虚拟机无法与本地机通信
    C语言---注释
    C语言---翻译过程
    DROP--删除表
    ALTER---删除字段
    Oracle中用一条Sql实现任意的行转列拼接 多行拼接
    Oracle列操作(增加列,修改列,删除列)
    Java 把long 转换成 日期 再转换成String类型
  • 原文地址:https://www.cnblogs.com/xhwh/p/7858190.html
Copyright © 2011-2022 走看看