美文网首页
深入理解计算机系统笔记(一)

深入理解计算机系统笔记(一)

作者: 西门早柿 | 来源:发表于2021-02-25 22:51 被阅读0次

    存储器的层次结构

    1. 存储技术

      • 随机访问存储器 RAM
        • SRAM CPU 的高速缓存
        • DRAM 主存
        • 地址访问模型
          • 单位存储器采用,阵列式寻址,需要的线路少,但需要两次寻址
          • 多个单位存储器组合在一起,提供更大的空间,每个单位存储器存储部分比特位
        • 平均响应时间在 ns 组
      • 存储器的访问
        • 系统总线
        • 存储器总线
        • IO 桥
        • 存储器映射 I/O
        • 直接存储器访问(Direct Memory Access, DMA)
      • 机械硬盘
        • 磁道,扇区,柱面
        • 寻道时间,旋转时间,传送时间
        • 平均响应时间在 ms 级
        • 磁盘访问的抽象
          • 抽象成 block
          • 磁盘控制器将 block 映射成磁道、扇区和盘面的组合
          • block 一般要多大?
      • 固态硬盘 SSD
        • 基于闪存的存储技术 EEPROM
        • 最小访问单位为页,一页一般有 512B~4KB 等大小
        • SSD 分为很多块(16KB512KB),每块包括很多页(32128)
        • 修改(MODIFY)某一页的时候,要保证该块被擦除之后才能写入
          • 需要将该块已有的页移动到其它空块
          • 一旦一个块被擦除之后,其中的每个页就可以不需要再进行擦除就写一次(ADD)
    2. 程序的局部性

      • 空间局部性
        • 访问一个地址的时候,有很大概率会访问其相邻的地址
      • 时间局部性
        • 访问一个地址的时候,在接下来的一定时间内可能会多次访问这个地址
    3. 存储器的层次结构

      • 缓存

        • 缓存命中
        • 缓存不命中与替换策略
        • 缓存不命中的种类
          • 冷不命中
          • 冲突不命中
          • 容量不命中,工作集,working set
        • 缓存管理
          • 编译器管理寄存器
          • 硬件管理 L1,L2,L3
          • 操作系统管理磁盘缓存
        • write through 与 write back,一般采用 write back,write back 需要多余的状态位来判断是否被修改过,从而在驱逐的时候可以判断是否需要 write back。
      • 寄存器 0 个时钟周期,4 字节或 8 字节

      • L1 4,64 字节块

      • L2 10,64 字节块

      • L3 40,64 字节块

      • 内存,4KB 页

      • 磁盘

      • 网络存储

    4. CPU 高速缓存

      • 多个 CPU 访问导致的 false sharing
      • 映射到相同的组导致的抖动不命中,本质上是冲突不命中
      • 缓存友好的代码
        • 关注调用次数最多的内循环
        • 多用步长为 1 的引用,空间局部性
        • 尽量增同一个变量的访问次数,时间局部性

    相关文章

      网友评论

          本文标题:深入理解计算机系统笔记(一)

          本文链接:https://www.haomeiwen.com/subject/yqzvfltx.html