生成多项式计算机组成原理
只需要比较区号(t=m-c)就可以判断主存内容是否在缓存中 主存区号 字块内地址 c位 b位 Cache字块数 t位 m位 缓存区号 字块内地址 b位 t位 t 位比较器 数据有效时,命中 未命中,替换 主存 缓存 直接映射 Cache:硬件实现 ①块内地址译码 ②发缓存区号 ②发主存区号 ③比较得出“在” 信号 ④数据有效,得出“命中” 缓存 有效标志位 ⑤向CPU输出有效数据 CPU发出的主存地址 计算机组成原理—第4章 存储器Ⅱ 第二篇 硬件结构 存 储 器 第4章 教 学 内 容 §4.1 概述 §4.2 主存储器 一、概述 二、半导体存储芯片结构 三、RAM存储器 四、ROM存储器 五、存储器与CPU的连接 六、存储器的校验 七、提高访存速度的措施 §4.3 高速缓冲存储器 §4.4 辅助存储器 六、存储器的校验 为了能及时发现并纠正存储过程中数据的差错,需要对数据作检验和校正,常常将原数据配成校验码。 1、码距 (1)定义:一种编码体制中,各组合代码间不同位的bit数称为距离,其中最小的距离称为该编码的码距 0011 0000 0011 0010 码距=2 码距=1 (2)作用:衡量一种编码的查错、纠错能力。 (3)查错与纠错的原理: 1)约定某种规律作为检测的依据,将有效信息位+校验位形成校验码,再传输;译码后检测是否符合约定规律,从而知道传输数据有没有错误。 2)增大码距可以提高校验信息量,为指出出错位和纠正错误位提供了可能。 L - 1 = D + C ( D≥C ) L— 编码的最小距离D — 检测错误的位数C— 纠正错误的位数 2、例子 (1)8421码:无校验位的编码 0111 0110 码距=1 011究竟是6还是7,无法知道,也不知道有无错误,更无法纠错 (2)奇偶校验码:有1位校验位的编码 如:8位偶校验码为 1011001□,□中为0 1011011□,□中为1 若其中D2位由0变1,则校验位也要变为1, 即:1位错,则有2bit不同,故码距=2 约定:有效信息位+1个校验位=校验码 奇校验:校验码中1的个数必须为奇数 偶校验:校验码中1的个数必须为偶数 通过检测校验码中是否偶数个1来判断有无传输错误,而且只能检测1、3、5等奇数个错误,无法具体指出错误位置,无法纠错。常用于主存等不容易出错的地方作校验。 3、循环校验码CRC (1)约定规律:校验码能被某约定代码除尽 设:有效信息A,约定代码G,则 R余数,A-R为检验码 (2)编码方法:有效信息+余数=校验码 如:A=1100,G=1110,则模2除法得R=010,所以校验码为1100010(7,4码);1位有错则余数也应该变,故码距=4,能检测2位错,赳1位。 无余数,传输正确; 有余数,传输出错。 (3)译码查错方法: 校验码 约定码 有错时,不同余数值对应不同出错位数,见P146表4.6 (4)赳错方法:将错误位取反,得正确得校验码 更换检测码不会改变不同余数值对应不同出错位数的规律。 利用“循环特性”可以将任何位的错误循环到N1位,故只在N1位设纠错电路—异或门,可节省硬件。 生成多项式 (5)生成多项式的条件: 任一位出错,则余数不为零 不同出错位对应不同的余数 余数添0继续作模2除,余数循环 4、海明码 Hanming Code (1)约定编码规律: 海明码是具有一位纠错能力的编码,海明码的组成有下列三要素。 ①海明码的组成需要增添检测位k的计算: 2k ≥ n + k + 1 n有效信息位数,n-k的规律见P100表4.2 ②检测位的位置 i 安排: 2i ( i = 0、1、2 、3 ……) ③检测位的取值原则: 检测位的取值与该位Ci 所在的检测“小组” gi中承担的奇偶校验任务有关。 C1 检测的g1 小组包含第1,3,5,7,9,11 … C2 检测的g2 小组包含第2,3,6,7,10,11 … C4 检测的g3 小组包含第4,5,6,7,12,13 … C8 检测的g4 小组包含第8,9,10,11,12,13,14,15 … gi 小组独占第2i-1 位 gi 和gj 小组共同占第2i-1 + 2j-1 位 gi、gj 和gl 小组共同占第2i-1