天天看点

存储器与cpu的连接1. 只读存储器2. 存储器与cpu 的连接3. 存储器的校验

1. 只读存储器

只读存储器中一般用于保存系统程序或者系统的配置信息;

  • 早期的只读存储器, 在厂家就写好了内容
  • 改进1, 用户可以自己写, 一次性
  • 改进2, 可以多次写-- 要能对信息进行擦除;
  • 改进3,  电可擦写, 特定设备
  • 改进4, 电可擦写, 直接连接到计算机上

1.1  只读存储器ROM

  1. 掩模rom, (MROM)

    行列选择线交叉处有MOS管为’‘1’';

    行列选择线交叉处无Mos管为 ‘‘0’’;

  2. PROM (一次性编程)

    行线 

    存储器与cpu的连接1. 只读存储器2. 存储器与cpu 的连接3. 存储器的校验
  3. eprom 多次性编程
存储器与cpu的连接1. 只读存储器2. 存储器与cpu 的连接3. 存储器的校验
  1. E2prom 多次性编程

    电可擦写

    局部擦写

    全部擦写

  2. flash Memory 闪速型存储器

    eprom  价格便宜, 集成度高

    e2prom  电可擦写,重写

    flash memory 快, 具备RAM功能

2. 存储器与cpu 的连接

cpu 执行的指令和数据都保存在主存储器中,

2.1 存储器容量的扩展

通常情况下,cpu的地址线数目较多,寻址空间范围较大,

一个存储器需要多个存储芯片共同组成。

2.1.1 位扩展

位扩展,

扩展的是数据线的个数

.

扩展的是数据的位数, 即增加了存储字长;

位扩展时, 将芯片同时进行工作,同时读和写操作。

通过将 cs 片选信号线连接在一起, 使得两个芯片同时进行工作,

每个2114是4位的数据线, 两个便构成8位的数据线;

存储器与cpu的连接1. 只读存储器2. 存储器与cpu 的连接3. 存储器的校验

2.1.2 字扩展

字扩展,

扩展的是数据线的个数

.

由于 数据的位数满足条件,

所以两个芯片不可以同时进行工作, 同时进行工作,造成两个8位的数据线会混乱。

增加存储字的数量,

2k 一共11根地址线, a10地址线作为芯片选择线。

第一个芯片使用 a0-a9的地址线, 提供了前1k的地址空间。

第二个芯片同样使用a0-a9 的地址线, 提供了后1k的地址空间。

每个芯片构成1k的地址空间,

存储器与cpu的连接1. 只读存储器2. 存储器与cpu 的连接3. 存储器的校验

2.1.3 字,位扩展

每两个芯片构成一组1k * 8位数据线, 

此时每一组中,使用的是同一个片选信号, 

每一组都是10根地址线, a0-a9提供1k的地址线;

4组则提供4k的地址线;

a10-a11 构成片选译码, 

00-代表第一个1k的地址空间;

01-代表第2个1k的地址空间;

10-代表第3个1k的地址空间;

11-代表第4个1k的地址空间;

存储器与cpu的连接1. 只读存储器2. 存储器与cpu 的连接3. 存储器的校验

2.2 存储器与cpu的连接

  • 1. 地址线的连接: 存储器需要根据cpu给出的地址,找到相应的存储单元, 将cpu的低位地址线作为地址信号输入到信号中,高位作为芯片选择信号,
  • 2. 数据线的连接:cpu的线数比存储器的数据线数多, 此时需要使用位扩展, 使得存储器输入输出的数据满足cpu的要求,
  • 3. 读写命令线的连接: cpu给出读写命令,连接到存储器中,rom 只能读,不可写。
  • 4. 片选线的连接: 片选线负责控制选中哪些存储芯片上,片选线负责确认访问的是存储器,不是io.
存储器的访问信号,一定要在片选信号中体现,每个内存芯片都有自己的地址范围,与cpu构成的系统当中,是给他分配的指定范围, 该指定范围必须满足cpu的要求。 存储器的每一根地址都需要使用, 某些地址作为存储芯片的内部地址输入每一个芯片当中,其他一些地址作为片选信号, 来保证对某一个芯片的访问是在给定的地址范围内进行访问的。
    1. 合理选择存储芯片: 保存系统程序的地方和系统配置信息的地方, 使用rom; 而运行系统程序时,或者用户程序这些区域则占用的是 RAM, 这些区域都是可读 可写的。
    1. 其他时序,负载, cpu的时序和存储器的时序需要相互配合,才能读出和写入。 cpu可以带动多少个存储芯片。
存储器与cpu的连接1. 只读存储器2. 存储器与cpu 的连接3. 存储器的校验
存储器与cpu的连接1. 只读存储器2. 存储器与cpu 的连接3. 存储器的校验
存储器与cpu的连接1. 只读存储器2. 存储器与cpu 的连接3. 存储器的校验
存储器与cpu的连接1. 只读存储器2. 存储器与cpu 的连接3. 存储器的校验
存储器与cpu的连接1. 只读存储器2. 存储器与cpu 的连接3. 存储器的校验

3. 存储器的校验

  1. 为什么要对存储器的信息进行校验?

内存是电子设备, 信息保存在电容当中,

采用静态RAM时, 保存在一个4个晶体管的触发器当中,

如果内存所处环境复杂, 或者在空间环境中受到带电离子的打击,

可能会造成电容的充放电, 或者触发器的翻转,

存放在存储器中的信息会出错,所以需要对存储器的信息进行校验。

从而导致,程序运行时出错。

  1. 为了能够校验出信息是否正确, 如何进行编码?
以下的编码方式,指的是使用三个0 代表数字0, 三个1代表数字1;
  1. 纠错或检错能力与什么因素有关?

任意两组合法代码之间二进制位的最少差异数, 定义为编码的最小距离。

所以编码的纠错,检错能力与编码的最小距离有关。

  1. 校验出信息出错后是如何进行纠错?
  2. 除了上述的校验码? 还有哪些容错编码, 原理是什么?

3.1 合法代码集合

以下的编码方式,指的是使用三个0 代表数字0, 三个1代表数字1;

四倍冗余的方式指的是: 四个0 代表数字0, 四个1代表数字1

以下的情况当中: 当出现出错码时,通常认为出错1位码的概率是 大于出错2位码 

所以通常情况下,

一位出错的概率是最大的, 超百分之九十

  1. 当出错码属于合法码中的集合中时,此时检0位错,纠0位错;
  2. 当出错码不在合法代码的集合中时,此时可以检测出错码1一位, 但是没有能力纠错。

即合法代码之间的差异位数,

  • 当任意两个合法代码之间的差异位数是三时, 检一位,纠一位;
  • 当任意两个合法代码之间的差异位数是四时, 检两位,纠一位;
  • 当任意两个合法代码之间的差异位数是五时,  检两位,纠两位
    存储器与cpu的连接1. 只读存储器2. 存储器与cpu 的连接3. 存储器的校验

3.2 编码的最小距离

编码的最小距离: 任意两组合法代码之间二进制位数的最少差异。

L − 1 = D + C , ( D > = C ) L-1 = D +C ,(D>= C) L−1=D+C,(D>=C)

L: 编码的最小距离 L=3,

D: 检测错误的位数, 具有一位纠错能力

C: 纠正错误的位数

汉明码是具有一位纠错能力的编码。

编码的纠错,检测能力与编码的最小距离有关。

3.3 汉明码的组成

  • 汉明码采用奇偶校验, 与分组校验;

偶校验:加上一位偶校验, 使得整个编码当中,一的个数是偶数个, 

如果出现1的个数是奇数个, 则表明信息出错;

分组校验: 此时,如果采用两位奇偶校验位, 进行分组, 前一个奇偶检验位检测前一组中的一的个数, 后一个奇偶校验位检测后一组中一的个数。

  • 汉明码采用 一种非划分的方式:

    组和组之间是有交叉的,即某些位 属于多个组, 某些位只属于一个组;

存储器与cpu的连接1. 只读存储器2. 存储器与cpu 的连接3. 存储器的校验

继续阅读