zoukankan      html  css  js  c++  java
  • 第三章 存储器的校验(二续)

    3.2 主存储器

    六、存储器的校验

      考概率较高的是汉明码,自主命题可能会考如何进行编码

    1. 编码的最小距离

    • 最小码距:任意两组合法代码之间二进制位数最少差异
    • 编码的纠错、校验能力与编码的最小距离有关。
    • L - 1 = D + C(D >= C)
      • L:编码的最小距离
      • D:检测错误的位数
      • C:纠正错误的位数
        奇偶校验:具有一位检测能力的编码(L=2),看 1 的个数(偶校验偶个 1 为 0
        汉明码:是具有一位纠错能力的编码,能够确定哪一位出错(L=3)


    2. 汉明码

      (1)组成汉明码的三个要素

    • 汉明码的组成需添加多少位检测位2k >= n+k+1(k:增加检测位数,n:数据位)
    • 检测位的位置2i(i=0,1,2……)
    • 检测位的取值:检测位的取值与该位所在的检测“小组”中承担的奇偶校验任务有关


      (2)各检测位 Ci所承担的检测小组为
        看好检测位需要填多少位,汉明码就是把不同数据位放在一个小组中
    • gi 小组独占第 2i-1
    • gi 和 gj 小组共同占用第 (2i-1 + 2j-1)位
    • gi、gj、gl 小组共同占用第 (2i-1 + 2j-1 + 2l-1)位


      (3)小例子:求 0101 按”偶校验“配置的汉明码
      解析:由 0101 可知数据位 n = 4 ————> 根据 2k >= n+k+1 得 k = 3 ————> 通过偶校验获取 C1、C2、C3 的值



    3. 汉明码的纠错过程

      形成新的检测位 Pi,其位数与增添的检测位有关,如果增添 3 位(k=3),新的检测位为 P4P2P1对于按”偶校验“配置的汉明码,以 k = 3 为例,Pi 取值为:P1 = 0,P2 = 0,P4 = 0;


    小例子:已知解说到的汉明码为 0100111 (按配偶原则配置) 试问要求传送的信息是什么?
    解析:

    • 注意最后求出的是数据位,要去掉校验位
    • 注意纠错主要纠正的是数据位,如果检测位需要纠错,可以不用纠正



    七、提高访存速度的措施

    • 采用高速期间
    • 采用层次结构:Cache-主存
    • 调整主存结构

    1. 单体多字系统(非主流看看就得了)

    2. 多体并行系统(小重点

    (1)高位交叉(顺序编址)

    • 各个体并行工作

    (2)低位交叉

    • 各个体轮流编址
    • 低位交叉特点:在不改变存取周期的前提下,增加存储器的带宽
    • (多体交叉度 = T/τ):设存取周期为 T,总线传输周期为τ
    • 如果是四体低位交叉存储器,连续读取4个字所需的时间为 T+(4-1)τ


    小例子:四体存储结构,字长32位,存取周期 200 ns,总线带宽32位,总线传输周期为 50 ns,求顺序和交叉存储下的带宽
    解:
    顺序:(32×4)/(200×4)
    低位交叉:(32×4)/(200+3×50)————> 连续读出四个字
    最大带宽(不考虑初始时间):(32×4)/ 200 = 32/50


    3. 高性能存储芯片

    1)SDRAM(同步DRAM)

    • 在系统时钟的控制下进入读出和写入
    • CPU无需等待

    2)RDRAM

    • 由 Rambus 开发,主要解决存储器带宽问题

    3)带 Cache 的 DRAM(CDRAM)

    • 在 DRAM 的芯片内集成了一个由 SRAM 组成的 Cache,有利于猝发式读取
  • 相关阅读:
    函数式编程
    scala 有 + 运算符吗?
    使用 Idea 打 scala程序的 jar 包
    相见恨晚的 scala
    半夜思考,为什么 String 具有不变性
    我的常用
    DataTable学习笔记
    Js 操作cookie
    嵌套的 ajax 请求
    Jquery插件收集【m了慢慢学】
  • 原文地址:https://www.cnblogs.com/BY1314/p/12896015.html
Copyright © 2011-2022 走看看