计算机组成原理 1
计 算 机 组 成 原 理
第九 -十讲
2009年 11月 10日
存储器
计算机组成原理 2
1,存储器概述
外部特性, 性能参数, 层次结构
2,静态存储器和动态存储器存储单元构成
一位存储单元及存储阵列, 多端口 SRAM,读写时序
3,半导体 ROM存储器
MROM,PROM,EPROM,EEPROM,FLASH
4,存储器芯片构成以及存储器主要技术指标
5,存储器扩展技术
位, 字, 字位扩展
6,数据校验码
奇偶校验码, 海明码, CRC码
本讲安排
计算机组成原理 3
本讲将解决的主要问题
L,半导体存储器的分类, 组成及组成部件的作用及工作原
理, 读 /写操作的基本过程 。
2,SRAM,DRAM芯片的组成特点, 工作过程, 典型芯片的引
脚信号, 了解 DRAM刷新的基本概念 。
3,半导体存储器的主要技术指标, 芯片的扩充, CPU与半导
体存储器间的连接 。
计算机组成原理 4
在现代计算机中,存储器处于全机中心地位,其原因是,
(1) 当前计算机正在执行的程序和数据 (除了暂存于 CPU寄存
器的 )均存放在存储器中。 CPU直接从存储器取指令或存取数
据。
(2) 计算机系统中输入输出设备数量增多,数据传送速度加
快,因此采用了直接存储器存取 (DMA)技术和 I/O通道技术,
在存储器与输入输出系统之间直接传送数据。
(3) 共 享存储器的多处理机的出现,利用存储器存放共享数据,
并实现处理机之间的通信,更加强了存储器作为全机中心的地
位。 由于中央处理器都是由高速器件组成,不少指令的执行速度
基本上取决于主存储器的速度。所以,计算机解题能力的提高、
应用范围的日益广泛和系统软件的日益丰富,无一不与主存储
器的技术发展密切相关。
简介
计算机组成原理 5
存储器分类
存储器概述
存储器的层次结构
存储器的技术指标
计算机组成原理 6
存储器概述
1、存储器,是计算机系统中的记忆设备,用来存放程序和数据。
2、存储元,存储器的最小组成单位,用以存储 1位二进制代码。
3、存储单元,是 CPU访问存储器基本单位,由若干个具有相同操作属性的存
储元组成。
4、单元地址,在存储器中用以表识存储单元的唯一编号,CPU通过该编号访
问相应的存储单元。
5、字存储单元,存放一个字的存储单元,相应的单元地址叫字地址。
6、字节存储单元,存放一个字节的存储单元,相应的单元地址叫字节地址
7、按字寻址计算机,可编址的最小单位是字存储单元的计算机。
8、按字节寻址计算机,可编址的最小单位是字节的计算机。
9、存储体,存储单元的集合,是存放二进制信息的 地方
几个基本概念
计算机组成原理 7
存储器各个概念之间的关系
单元地址
00…00
00…01
.
.
.
.
.
.
.
.
XX…XX
存储单元
存储元
存储容量
存储体
计算机组成原理 8
存储器分类
1,按存储介质分
半导体存储器,用半导体器件组成的存储器。
磁表面存储器,用磁性材料做成的存储器。
2,按存储方式分
随机存储器,任何存储单元的内容都能被随机存取,且存取
时间和存储单元的物理位置无关。
顺序存储器,只能按某种顺序来存取,存取时间和存储单元
的物理位置有关。
计算机组成原理 9
3,按存储器的读写功能分
只读存储器 (ROM):存储的内容是固定不变的,只能读出而
不能写入的半导体存储器。
随机读写存储器 (RAM):既能读出又能写入的半导体存储器。
4,按信息的可保存性分
非永久记忆的存储器,断电后信息即消失的存储器。
永久记忆性存储器,断电后仍能保存信息的存储器。
5,按在计算机系统中的作用分
根据存储器在计算机系统中所起的作用,可分为,
主存储器, 辅助存储器, 高速缓冲存储器, 控制存储器 等。
计算机组成原理 10
半
导
体
存
储
器
只读
存储器
ROM
随机读写
存储器
RAM
掩膜 ROM
可编程 ROM ( PROM)
可擦除 ROM ( EPPROM )
电擦除 ROM ( E2PROM)
静态 RAM ( SRAM)
动态 RAM ( DRAM)
半导体存储器
计算机组成原理 11
存储器层次结构
容量大,速度快,成本低。
? 为解决三者之间的矛盾,目前通常采用 多级存储器体系结构,
即使用 高速缓冲存储器、主存储器和外存储器 。
? 对存储器的要求是:
寄存器
Cache
主存储器
辅助存储器
计算机组成原理 12
名 称
高速缓冲
存储器
主存储器
外存储器
简称
Cache
主存
外存
用 途
高速存取指令和数据
存放计算机运行期间的
大量程序和数据
存放系统程序和大型数据
文件及数据库
特 点
存取速度快,但存
储容量小
存取速度较快,存
储容量不大
存储容量大,位成
本低
存储器的用途和特点
计算机组成原理 13
主存储器的技术指标
存储容量;存取时间 (存储器访问时间)、存储周期
和存储器带宽;可靠性;功耗及集成度。
指 标
存储容量
存取时间
存储周期
存储器带宽
含 义
在一个存储器中可以容纳
的存储单元总数
启动到完成一次存储器操作
所经历的时间
连续启动两次操作所需间
隔的最小时间
单位时间里存储器所存取
的信息量
表 现
存储空间的大
小
主存的速度
主存的速度
数据传输速率
技术指标
单 位
字数,
字节数
ns
ns
位 /秒,
字节 /秒
计算机组成原理 14
?可靠性 主存储器的可靠性通常用平均无故障时间 MTBF
(Mean Time Between Failures)来表征。 MTBF指连
续两次故障之间的平均时间间隔。显然,MTBF越长
,意味着主存的可靠性越高,
? 功耗 作为目前的主存储器的主体的半导体存储器的功耗包
括, 维持功耗, 和, 操作功耗,, 应在保证速度的前提下
尽可能地减小功耗, 特别是要减小, 维持功耗, 。
? 集成度 所谓集成度是指在一片数平方毫米的芯片上能集成
多少个存储单元, 每个存储单元存储一个二进制位,
所以集成度常表示为 位 /片 。
计算机组成原理 15
SRAM存储器
DRAM存储器
主存储器组成实例
高性能的主存储器
计算机组成原理 16
SRAM存储器
1.基本存储元
基本存储元是组成存储器的基础和核心,它用来存储一位二进
制信息 0或 1。
六管基本存
储单元电路
X 地址译码线
Y 地址译码线
T 6
T5
V CC ( +5V )
BA
B
T1 T2
T3 T4
T7 T8
?
? ?
? ?
???
D D
写入
读出
计算机组成原理 17
16× 1 bit SRAM
计算机组成原理 18
1K bit SRAM
计算机组成原理 19
2.SRAM存储器的组成
一个 SRAM存储器由 存储体, 读写电路, 地址译码 电路和
控制电路 等组成。
计算机组成原理 20
? 一个基本存储电路只能存储一个二进制位。
? 将基本的存储电路有规则地组织起来,就是存储体。
? 存储体又有不同的组织形式:
将各个字的 同一位 组织在一个芯片中;
将各个字的 4位 组织在一个芯片中,如,2114 1K× 4;
将各个字的 8位 组织在一个芯片中,如,6116 2K× 8;
如图所示:
存储体将 4096个字的同一位组织在一个集成片中;
需 16个片子组成 4096× 16的存储器;
4096通常排列成矩阵形式,如 64× 64,由行选、列选线选
中所需的单元。
(1) 存储体
计算机组成原理 21
(2) 地址译码器
单译码方式 —— 适用于小容量存储器中,只有一个译码器。
计算机组成原理 22
双译码方式
—— 地址译码器分成两个,可 有效减少 选择线的数目。
x
1
x64
计算机组成原理 23
(3) 驱动器
双译码结构中,在译码器输出后加驱动器,驱动挂在各条
X方向选择线上的所有存储元电路。
(4) I/O电路
处于数据总线和被选用的单元之间,控制被选中的单元读
(5) 片选
在地址选择时,首先要选片,只有当片选信号有效时,此片
所连的地址线才有效。
(6) 输出驱动电路
为了扩展存储器的容量,常需要将几个芯片的数据线并联
使用;另外存储器的读出数据或写入数据都放在双向的数据
总线上。这就用到三态输出缓冲器。
计算机组成原理 24
3.SRAM存储器芯片实例
Intel 2114—— 1024× 4 的存储器:
? 4096 个基本存储单元,排成 64× 64 (64× 16× 4) 的矩阵;
? 需 10 根地址线寻址;
? X 译码器输出 64 根选择线,分别选择 1-64 行;
? Y 译码器输出 16 根选择线,分别选择 1-16 列控制各列的位
线控制门。
计算机组成原理 25
Intel 2114—— 1K× 4 SRAM
(64 ? 16?4)
计算机组成原理 26
4.存储器的读、写周期
在与 CPU连接时,CPU的控制信号与存储器的读、写周期之
间的配合问题是非常重要的。
读周期,
读周期时间与读出时间是两个不同的概念。
读出时间 —— 从给出有效地址到外部数据总线上稳定地出现所
读出的数据信息所经历的时间。
读周期时间 —— 则是存储器进行 两次连续读 操作时所必须间隔
的时间,它总是大于或等于读出时间。
计算机组成原理 27
SRAM存储器时序
tRC
tRC —— 读周期时间 tA —— 读出时间 tCO —— 片选到数据输出延迟
tCX —— 片选到输出有效 tOTD —— 从断开片选到输出变为三态
tOHA —— 地址改变后的维持时间
地址有效 ?CS有效 ?数据输出 ?CS复位 ?地址撤销
静态存储器的 读周期
计算机组成原理 28
静态存储器的读 写周期
t WC
ADD
t AW
WE
t OTW
CS
Dout t DS t DH
Din
写周期:
地址有效 ?CS有效 ?数据有效 ?CS复位(数据输入) ?地址撤销
计算机组成原理 29
常用典型的 SRAM芯片有 6116,6264,62256等。
A7
A6
A5
A4
A3
A2
A1
A0
D0
D1
D2
GND
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
VCC
A8
A9
WE
OE
A10
CS
D7
D6
D5
D4
D3
1 24
2 23
3 22
4 21
5 20
6 19
7 18
8 17
9 16
10 15
11 14
12 13
SRAM芯片实例
SRAM 6116 (2K ? 8)
输入 I/O 工作方式
CE WE OE DI DO
H X X X High-Z 非选择
L H L High-Z DO 读
L L H DI High-Z 写
L L L DI High-Z 写
L H H X High-Z 选择
计算机组成原理 30
DRAM存储器
1.单管动态存储元
数据线
行 (字 )选择
C
CD
T11
0
T1
计算机组成原理 31
DRAM的单管存储单元, 读
计算机组成原理 32
DRAM的单管存储单元, 写
计算机组成原理 33
单管 DRAM的存储矩阵
计算机组成原理 34
读操作
行选择线为高电平,使存储电路中的 T1管导通,于是,使连在
每一列上的刷新放大器读取 电容 C上的电压值。刷新放大器的灵
敏度很高,放大倍数很大,并且能将从电容上读得的电压值折合
为逻辑, 0”或者逻辑, 1”。
列地址(较高位地址)产生列选择信号,有了列选择信号,所
选中行上的基本存储电路才受到驱动,从而可以输出信息。
在读出过程中,选中行上的所有基本存储电路中的电容都受到
打扰,因此为 破坏性读出 。为了在读出之后,仍能保存所容纳的
信息,刷新放大器对这些电容上的电压值读取之后又立即进行重
写。
计算机组成原理 35
写操作
行选择线为, 1”; T1管处于可导通的状态,如果列选择信
号也为, 1”则此基本存储电路被选中,于是由数据输入/输
出线送来的信息通过刷新放大器和 T1管送到电容 C。
刷新
虽然进行一次读/写操作实际上也进行了刷新,但是,由
于读/写操作本身是随机的,所以,并不能保证所有的 RAM单
元都在 2ms中可以通过正常的读/写操作来刷新,由此,专门
安排了存储器刷新周期完成对 动态 RAM的刷新 。
计算机组成原理 36
? 集成度高,功耗低
? 具有易失性,必须刷新。
? 破坏性读出,必须读后重写
? 读后重写,刷新均经由刷新放大器进行。
? 刷新时只提供行地址,由各列所拥有的刷新放大器,
对选中行全部存储细胞实施同时集体读后重写 (再生 )。
DRAM的电气特征:
计算机组成原理 37
内部结构 —— Intel2164(64K× 1)
2.DRAM存储芯片实例
计算机组成原理 38
NC
DIN
WE
RAS
A0
A2
A1
GND
—
—
—
—
—
—
—
—
VCC
CAS
DOUT
A6
A3
A4
A5
A7
—
—
—
—
—
—
—
—
1 16
2 15
3 14
4 13
5 12
6 11
7 10
8 9
Intel 2164(64K× 1)引脚
A0~ A7:地址输入线
RAS:行地址选通信号线,兼
起片选信号作用(整个读写周
期,RAS一直处于有效状态)
CAS:列地址选通信号线
WE:读写控制信号 0-写 1-读
Din:数据输入线
Dout:数据输出线
计算机组成原理 39
DRAM时序
读周期,
行地址有效 ?行地址选通 ?列地址有效 ?列地址选通 ?
数据输出 ?行选通、列选通及地址撤销
ADD
(a) 读周期
t CAS
D out
行地址 列地址
数 据
WE
CA S
RA S
计算机组成原理 40
DRAM时序
写周期:
行地址有效 ?行地址选通 ?列地址、数据有效 ?列地址选
通 ?数据输入 ?行选通、列选通及地址撤销
address
(b) 写周期
t RAS
t CYC
行地址 列地址
数 据D
in
WE
CAS
RAS
计算机组成原理 41
3.DRAM的刷新
(1) DRAM的刷新
不管是哪一种动态 RAM,都是利用电容存储电荷的原理来保
存信息的,由于电容会逐渐放电,所以,对动态 RAM必须不断
进行读出和再写入,以使泄放的电荷受到补充,也就是进行刷
新。
动态 MOS存储器采用“读出”方式进行刷新,先将原存信息
读出,再由刷新放大器形成原信息并重新写入。
(2) 刷新周期
从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止,这一段时间间隔叫刷新周期。
一般为 2ms,4ms,8ms。
(3) 刷新方式 常用的刷新方式有三种,
集中式、分散式、异步式。
计算机组成原理 42
在整个刷新间隔内,前一段时间重复进行读 /写周期或维持
周期,等到需要进行刷新操作时,便暂停读 /写或维持周期,而
逐行刷新整个存储器,它适用于高速存储器。
tC tC tC tC tC tC tC
? 集中式刷新
计算机组成原理 43
例如:对 128?128矩阵存储器刷新。
刷新时间相当于 128个读周期;
设刷新周期为 2ms,读 /写周期为 0.5?s,则 刷新周期有 4000个
周期,其中
3782个周期( 1936 ?s)用来读 /写或维持信息;
128个周期( 64 ?s)用来刷新操作;
当 3781个周期结束,便开始进行 128个周期,64 ?s的刷新操作。
集中式刷新适用于高速存储器。
存在不能进行读写操作的死区时间,
计算机组成原理 44
把一个存储周期 tc分为两半,周期前半段时间 tm用来读 /写操作
或维持信息,周期后半段时间 tr作为刷新操作时间。这样,每经
过 128个系统周期时间,整个存储器便全部刷新一遍。
? 分散式刷新
分散式刷新系统速度降低,但不存在停止读写操作的死时间。
W/R REF W/R REF W/R REF
计算机组成原理 45
? 异步式刷新
是前两种方式的结合。
例如,对 2116来说,在 2ms中内把 128行刷新一遍。
2000?s ?128 ? 15.5 ?s
即:每 15.5 ?s 刷新一行。
计算机组成原理 46
在这种刷新操作中,基本上只用 RAS信号来控制刷新,CAS信
号不动作。为了确保在一定范围内对所有行都刷新,使用一种
外部计数器。
2)CAS在 RAS之前的刷新
这种方式是在 RAS之前使 CAS有效,启动内部刷新计数器,产
生需要刷新的行地址,而忽略外部地址线上的信号。目前 256K
位以上的 DRAM片子通常都具有这种功能。
(4) 刷新操作种类
1)只用 RAS信号的刷新
计算机组成原理 47
例, 说明 1M× 1位 DRAM片子的刷新方法,刷新周期定为 8ms。
? 1M位的存储单元排列成 512?2048的矩阵;
? 如果选择一个行地址进行刷新,刷新地址为 A0~A8( 29),
因此这一行上的 2048个存储元同时进行刷新;
? 在 8ms内进行 512个周期的刷新;
? 刷新方式可采用:
在 8ms中进行 512次刷新操作的集中刷新方式;
按 8ms÷ 512= 15.5?s刷新一次的异步刷新方式。
计算机组成原理 48
tC tC tC tC tC tC tC
计算机组成原理 49
4.存储器控制电路
DRAM存储器的刷新需要有硬件电路的支持,包括:
刷新计数器、
刷新 /访存裁决、
刷新控制逻辑 等。
这些控制线路形成 DRAM控制器。
DRAM控制器是 CPU和 DRAM的接口电路,它将 CPU的
信号变换成适合 DRAM片子的信号。
计算机组成原理 50
DRAM控制器
RAS
CAS
WE
读 /写
地址总线
地址
计算机组成原理 51
(2)刷新定时器,定时电路用来提供刷新请求。
(3)刷新地址计数器,只用 RAS信号的刷新操作,需要提供刷新地址计数器。
对于 1M位的片子,需 512个地址,故刷新计数器 9位。
(4)仲裁电路,对同时产生的来自 CPU的访问存储器的请求和来自刷新定时
器的刷新请求的优先权进行裁定。
(5)定时发生器,提供行地址选通信号 RAS、列地址选通信号 CAS和写信号 WE,
(1) 地址多路开关
读写操作时向 DRAM片子分时送出行地址和列地址;
刷新时需要提供刷新地址。
计算机组成原理 52
高性能的主存储器
EDRAM又称增强型 DRAM(Enhanced DRAM),它在 DRAM
芯片上集成了一个 SRAM实现的小容量高速缓冲存储器,
从而使 DRAM芯片的性能得到显著改进。
1.EDRAM芯片
(1) 工作过程;
(2) 猝发式读取;
(3) EDRAM结构的两个优点,
? 在 SRAM读出期间可同时对 DRAM刷新;
? 输入、输出途径是分开的,可在写操作完成的同时启动
同一行的读操作。
计算机组成原理 53
计算机组成原理 54
2.EDRAM内存条 组成 1M*32位的存储模块
计算机组成原理 55
? 8个芯片共用片选信号 Sel、行选通信号 RAS、刷新
信号 Ref和地址输入信号 A0— A10;
? 两片 EDRAM芯片的列选信号 CAS连接在一起,形成
一个 1M × 8位 (1MB) 的片组;再由 4个片组组成一个
1M × 32位 (4MB) 的存储模块;
? 4个片组的列选信号 CAS0~CAS3分别与 CPU的 4个子
节信号 BE0~BE3相对应,以允许存取 8位或 16位的字。
? 当进行 32位存取时,BE0~BE3全部有效,此时认为
A1A0位为 0( CPU没有 A1A0引脚)。
由容量为 1M× 4位的 EDRAM,组成 1M× 32位的存储模块
计算机组成原理 56
? 当某模块被选中,此模块的 8个 EDRAM芯片同时动作,8个
4 位数据端口 D3— D0同时与 32位数据总线交换数据,完成一
次 32位字的存取。
? 20位地址分 11位的行地址和 9位的列地址,分别在 RAS和
CAS有效时同时输入到 8个芯片的地址引脚。
上述存储模块本身具有高速成块存取能力,这种模块内存储
字完全顺序排放,以猝发式存取来完成高速成块存取的方式,
在当代微型机中获得了广泛应用。
配置 4个上述模块,组成 16MB存储器,A23A22用作模块选择。
将由 EDRAM芯片组成的模块做成小电路插件板形式,称
为内存条。
计算机组成原理 57
DRAM的研制与发展
增强型 DRAM(EDRAM)
晶体管开关加速
集成小容量 SRAM cache
扩展数据输出 DRAM(EDO DRAM)
( Extended Data Out DRAM)
数据带宽高
计算机组成原理 58
同步 DRAM(SDRAM) ( Synchronous DRAM)
读写速度比 EDO DRAM快
SDRAM的读写操作与处理器的其它操作可以同步进行
采用成组传送方式
DDRAM:双倍速率 SDRAM( Dual date rate SDRAM )
Rambus DRAM(RDRAM)
采用新的接口,专用 RDRAM总线
采用异步成组数据传输协议
集成 RAM
存储阵列 +刷新 +裁决 +…
专用 RAM,video
计算机组成原理 59
(1) 与 CPU的连接
主要是 地址线、控制线、数据线 的连接。
(2) 多个芯片连接
存储器容量与实际存储器的要求多有不符。 如前所述存
储器芯片有不同的组织形式,如 1024*1,1024*4,4096*8等;
实际使用时,需进行 字和位扩展 (多个芯片连接),组成
你所需要的实际的存储器,如 1K*8,4K*8 等的存储器。
存储器的基本组织
计算机组成原理 60
A0
A12
D0
D7
位扩展法
只加大字长,而存储器的字数与存储器芯片字数一致,对
片子没有选片要求。
用 8k*1的片子组成 8k*8的存储器需 8 个芯片
地址线 —— 需 13 根 数据线 —— 8 根
控制线 —— WR接存储器的 WE
计算机组成原理 61
2:4
16K?8 16K?8 16K?8 16K?8
字扩展法
用 16K?8位的芯片组成 64K?8位的存储器需 4个芯片
地址线 —— 共需 16根 片内,(214 = 16384) 14根,选片,2根
数据线 —— 8根 控制线 —— WE
计算机组成原理 62
最低地址
最高地址
C000
FFFF
00,0000,0000,0000
11,1111,1111,1111
11
11
4
最低地址
最高地址
8000
BFFF
00,0000,0000,0000
11,1111,1111,1111
10
10
3
最低地址
最高地址
4000
7FFF
00,0000,0000,0000
11,1111,1111,1111
01
01
2
最低地址
最高地址
0000
3FFF
00,0000,0000,0000
11,1111,1111,1111
00
00
1
说明总地址片内
A13 A12 ……,.A1 A0
选片
A15 A14
地址
片号
地址空间分配表
计算机组成原理 63
CPU
用 1k ? 4 的存储器芯片 2114 组成 2k ? 8 的存储器
字位同时扩展法
计算机组成原理 64
*ramsel0 = A21 A20 *MREQ
ramsel1 = A21 *A20*MREQ
ramsel2 = A21* A20 *MREQ
ramsel3 = A21*A20*MREQ
例 有若干片 1M× 8位的 SRAM芯片,采用字扩展方法构成 4MB存储器,问
(1) 需要多少片 RAM芯片?
(2) 该存储器需要多少地址位?
(3) 画出该存储器与 CPU连接的结构图,设 CPU的接口信号有地址信号、数
据信号、控制信号 MREQ和 R/W#。
(4) 给出地址译码器的逻辑表达式。
解,(1) 需要 4M/1M = 4片 SRAM芯片;
(2) 需要 22条地址线
(3) 译码器的输出信号逻辑表达式为:
ramsel3
2-4 译 码
ramsel2ramsel1ramsel0A21~A20
A21~A0 A19~A0
OEMREQ
R/W#
CPU
D7~D0D7~D0D7~D0D7~D0
D7~D0
WE* A CE
1M
× 8
D
WE* A CE
1M
× 8
D
WE* A CE
1M
× 8
D
WE* A CE
1M
× 8
D
计算机组成原理 65
例 设有若干片 256K× 8位的 SRAM芯片,问:
(1) 采用字扩展方法构成 2048KB的存储器需要多少片 SRAM芯片?
(2) 该存储器需要多少字节地址位?
(3) 画出该存储器与 CPU连接的结构图,设 CPU的接口信号有地址信号、
数据信号、控制信号 MREQ#和 R/W#。
解,(1) 该存储器需要 2048K/256K = 8片 SRAM芯片;
(2) 需要 21条地址线,因为 221=2048K,其中高 3位用于芯片选择,低 18位作为
每个存储器芯片的地址输入。
(3) 该存储器与 CPU连接的结构图如下。
ramsel7
3-8译码
ramsel2ramsel1ramsel0 …A20-18
A20-0 A17-0
OE#MREQ#
R/W#
CPU
D7~D0D7~D0D7~D0D7~D0
D7~D0
WE A CE
256K
× 8
D
WE A CE
256K
× 8
D
WE A CE
256K
× 8
D
WE A CE
256K
× 8
D
计算机组成原理 66
例 设有若干片 256K× 8位的 SRAM芯片,问:
(1) 如何构成 2048K× 32位的存储器?
(2) 需要多少片 RAM芯片?
(3) 该存储器需要多少字节地址位?
(4) 画出该存储器与 CPU连接的结构图,设 CPU的接口信号有地
址信号、数据信号、控制信号 MREQ#和 R/W#。
解,采用字位扩展的方法。需要 32片 SRAM芯片。
ramsel7
3-8 译码
ramsel2ramsel1ramsel0 …A22-20
A22-2 A19-2
OE#MREQ#
R/W#
CPU
D 31 ~D 0D 31 ~D 0D 31 ~D 0D 31 ~D 0
D 31 ~D 0
WE A CE
256Kx8
4 片
D
WE A CE
256Kx8
4 片
D
WE A CE
256Kx8
4 片
D
WE A CE
256Kx8
4 片
D
计算机组成原理 67
只读存储器
闪速存储器
高速存储器
计算机组成原理 68
只读存储器
1.ROM的分类
缺 点
不能重写
只能一次
性改写
只读存储器
掩模式
(ROM)
一次编程
(PROM)
多次编程
(EPROM)
(EEPRPM)
定 义
数据在芯片制造过程
中就确定
用户可自行改变产品
中某些存储元
可以用紫外光照 射
或电擦除原来的数据,
然后再重新写入新的数
据
优 点
可靠性和集成度
高,价格便宜
可以根据用户需要
编程
可以多次改写
ROM中的内容
闪速存储器
Flash memory
计算机组成原理 69
(1) 掩模式 ROM
采用掩模工艺制成,其内容由厂方生产时写入,用户只
能读出使用而不能改写。
有 MOS管的位 表示存 1,
没有 MOS管的位 表示存 0。
计算机组成原理 70
(2) 可写入(可编程)只读存储器 PROM
例:熔丝烧断型
写,0”时:
烧断熔丝
写,1”时:
保留熔丝
行线 X
位
线
Y
Vcc
T
XY
熔丝
计算机组成原理 71
(3)光擦可编程只读存储器 EPROM
? 基本存储元电路
N型
P+ P+
计算机组成原理 72
计算机组成原理 73
EPROM实例
(128*16*8)
计算机组成原理 74
EPROM实例
A7
A6
A5
A4
A3
A2
A1
A0
O0
O1
O2
GND
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
VCC
A8
A9
VPP
OE
A10
CE
O7
O6
O5
O4
O3
1 24
2 23
3 22
4 21
5 20
6 19
7 18
8 17
9 16
10 15
11 14
12 13
EPROM 2716 2K× 8引脚
数据输出
读 输出
未选中 高阻
功率下降 高阻
编程
PD/PGM
低
无关
高
由低到高脉冲
CS
低
高
无关
高
Vp
p
+5V
+5V
+5V
+25
V
Vcc
+5
V
+5
V
+5
V
+5
V
输入
引脚
操作
工作模式选择
计算机组成原理 75
(4) 电擦可编程只读存储器 EEPROM
? 若 VG为正电压,第一浮空栅极与漏极之间产生隧道效应,使电子注入第
一浮空栅极,即编程写入。
? 若使 VG为负电压,强使第一级浮空栅极的电子散失,即擦除。
? EEPROM的编程与擦除电流很小,可用普通电源供电,而且擦除可按字节进
行。
它的主要
特点是能在
应用系统中
在线改写,
断电后信息
保存,因此
目前得到广
泛应用。 第一级浮空栅
第二级浮空栅
计算机组成原理 76
电可擦写 ROM
—— EEPROM及 Flash存储器
基片
源极
- - - -- - - -
漏极
电极导体
控制栅极
二氧化硅
计算机组成原理 77
2.存储器举例
(1) CPU的地址总线 16根 (A15— A0,A0为低位 );双向数据总线 8
根 (D7— D0),控制总线中与主存有关的信号有:
MREQ,R/W。
(2) 主存地址空间分配如下:
0— 8191为系统程序区,由只读存储芯片组成;
8192— 32767为用户程序区;最后 (最大地址 )2K地址空间为
系统程序工作区。
(3) 现有如下存储器芯片:
EPROM,8K× 8位 (控制端仅有 CS);
SRAM,16K× 1位,2K× 8位,4K× 8位,8K× 8位,
计算机组成原理 78
解, (1) 主存地址空间分布如图所示 。
16根地址线寻址 —— 64K
0000 ~ FFFFH(65535)
EPROM,8K× 8位
SRAM,16K× 1位,2K× 8位,
4K× 8位,8K× 8位,
0000
1FFF
2000
7FFF
F800
FFFF
63488
请从上述芯片中选择适当芯片设计该计算机主存储器,画出
主存储器逻辑框图,注意画出选片逻辑 (可选用门电路及 3∶ 8
译码器 74LS138)与 CPU 的连接,说明选哪些存储器芯片,选
多少片。
计算机组成原理 79
(2) 连接电路
片内寻址:
8K芯片 —— 片内 13根 A12~A0
2K芯片 —— 片内 11根 A10~A0
片间寻址:
前 32K A15A14A13
0 0 0
0 0 1
0 1 0
0 1 1
最后 2K 1 1 1 加 A12A11
1 1
0000
1FFF
2000 3FFF
6000 7FFF
F800
FFFF
4000 5FFF
63488
计算机组成原理 80
A B C
Y0 Y1 Y2 Y3 Y7
。 。 。 。 。
MREQ
A0 A12 A0 A12 A0 A12 A0 A12 A0 A10
CS CSCS
CS
CS
R/W R/W R/W R/W
计算机组成原理 81
闪速存储器
1.什么是闪速存储器
Flash Memory
闪速存储器是一种高密度、非易失性的读 /写半导体存储器,
它突破了传统的存储器体系,改善了现有存储器的特性。
特点,(1) 固有的非易失性
(2) 廉价的高密度
(3) 可直接执行
(4) 固态性能
计算机组成原理 82
擦除方法是在源极加正电压利用第一级浮空栅与源极之间的隧道效
应,把注入至浮空栅的负电荷吸引到源极。由于利用源极加正电压擦除,
因此各单元的源极联在一起,这样,快擦存储器不能按字节擦除,而是
全片或分块擦除。
2.基本单元电路
计算机组成原理 83
3.闪速存储器的逻辑结构 28F256A,存储容量 256K位 (32K*8)
(整体擦除 Flash Memory)
计算机组成原理 84
4.闪速存储器的工作原理
电擦除和重新编程能力
闪速存储器是在 EPROM功能基础上增加了电路的电擦
除和重新编程能力。 28F256A引入一个指令寄存器来实
现这种功能。其作用是:
(1)保证 TTL电平的控制信号输入;
(2)在擦除和编程过程中稳定供电;
(3)最大限度的与 EPROM兼容。
计算机组成原理 85
? 采用并行操作方式 ---双端口存储器
(1) 芯片技术
研究开发高性能芯片技术,如,DRAM?FPMD?EDO?
EDRAM?CDRAM?SDRAM?RambusDRAM。
高速存储器
? 采用并行主存储器,提高读出并行性 ---多模块交叉存储器
? 主存储器采用更高速的技术来缩短存储器的读出时间
---相联存储器
(2) 结构技术
由于 CPU和主存储器在速度上不匹配,限制了高速计算。
为了使 CPU不至因为等待存储器读写操作的完成而无事可
做,可以采取一些加速 CPU和存储器之间有效传输的特殊措施。
计算机组成原理 86
双端口存储器
多模块交叉存储器
相联存储器
高性能存储器
计算机组成原理 87
双端口存储器
1.双端口存储器的逻辑结构
双端口存储器
—— 指 同一个存储器具有两组相互独立的读写控制线路,
是一种高速工作的存储器。
双读单写端口存储器单元结构
w
b
a
w
Select W
Select A
Select B
计算机组成原理 88
多模块交叉存储器
并行主存系统
大存储器在一个存储周期中读出的不是一个存储单元的 w
位信息,而是 n个字,这样在单位时间里存储器提供的信息量
可提高 n倍,这样组织的主存系统称为并行主存系统。
1.并行主存系统
w位 w位 …… w 位
M0 M1 Mn-1
计算机组成原理 89
2.多模块交叉存储器
1), 存储器的模块化组织
一个由若干个模块组成的主存储器是线性编址的。
这些地址在各模块中有两种安排方式:
顺序方式
交叉方式
计算机组成原理 90
顺序方式
各模块一个
接一个 串行
工作 。
计算机组成原理 91
交叉方式
连续地址分
布在相邻的不
同模块内,同
一个模块内的
地址都是不连
续的。对连续
字的成块传送
可实现多模块
流水式 并行 存
取,大大提高
存储器的带宽。
计算机组成原理 92
2), 多模块交叉存储器编址方式
如果在 M个模块上交叉编址 (M=2k),则称为模 M交叉编址。
设存储器包括 M个模块,每个模块的容量为 L,各存储模
块进行低位交叉编址,连续的地址分布在相邻的模块中。第 i
个模块 Mi的地址编号应按下式给出:
M·j + i
其中, j=0,1,2,…,L-1
i=0,1,2,…,M-1
一般模块数 M取 2的 k次幂,高档微机 M值可取 2或 4,大型
计算机 M取 16至 32。
计算机组成原理 93
模块地址 模块
n-k 位 k位
译码器
2k-1...i...0
k
n-k
AB DB AB DB
Mi
AB DB
MO
AB:地址寄存器
DB:数据寄存器
Mi,第 i个存储模块
图 3-24 多体交叉编址方式
M2k-1
计算机组成原理 94
模体 地址编址序列 对应二进制地址最低二位
M0
M1
M2
M3
0,4,8,12,...4?j+0,...
1,5,9,13,...4?j+1,...
2,6,10,14,...4?j+2,...
3,7,11,15,...4?j+3,...
0 0
0 1
1 0
1 1
模四交叉各模块的编址序列
计算机组成原理 95
3), 多模块交叉存储器存取控制方式
多模块交叉存储器可以有两种不同的方式进行访问:
(1) 一种是所有模块同时启动一次存储周期,相对各
自的数据寄存器并行地读出或写入信息;称为“同
时访问”,同时访问要增加数据总线宽度。
(2) 另一种是 M个模块按一定的顺序轮流启动各自的访
问周期,启动两个相邻模块的最小时间间隔等于单
模块访问周期的 1/M。称为“交叉访问”。
计算机组成原理 96
单模块访问周期 T
M0
M1
M2
MM-1
0 T
M
2T
M
M-1
M T
t
交叉访问的存储器工作时间图
计算机组成原理 97
4),多模块交叉存储器的基本结构
? 每个模块各自以等同的方式与 CPU传送信息。
? CPU同时访问四个模块,由存储器控制部件
控制它们分时使用数据总线进行信息传递。
? 对每一个模块来说,从 CPU给出访存命令直
到读出信息仍然使用了一个存取周期时间;
? 对 CPU来说,它可以在 一个存取周期中连续
访问 4个模块;
? 各模块的读写过程重叠进行,所以这是一种
并行存储器结构。
计算机组成原理 98
相联存储器
相联存储器不是按地址访问的存储器, 而是按内容寻址的
存储器 。
1.相联存储器的基本原理
如下表:
职工号 姓名 出生年月 工资数
800
540
920
750
610
张明
王芳
李平
赵洪
周进
1940.2
1960.1
1943.3
1945.2
1965.9
2000
1200
1500
1400
1000
物理地址
n
n+1
n+2
n+3
n+4
计算机组成原理 99
? 相联存储器是指其中任一存储项内容作为地址来存取的存储器。
? 选用来寻址存储器的子段叫做 关键字,简称,键” 。
? 这样,存放在相联存储器中的项可以看成具有下列格式:
KEY,DATA
其中 KEY是 地址, DATA是 被读写信息 。
? 相联存储器的基本原理是把存储单元所存内容的某一部分作为
检索项 (即关键字项 ),去检索该存储器,并将存储器中与该检
索项符合的存储单元内容进行读出或写入。
计算机组成原理 100
相联存储器 —— 单元结构
0
1D
WE
D M
Q
S
MK
比较结果
存储数据输出
屏蔽控制 读写控制
计算机组成原理 101
2.相联存储器的组成
计算机组成原理 102
相联存储器 —— 访问实例
0111
匹
配
结
果
输出寄存器
屏蔽寄存器
输入寄存器01x x
0011
0000
1110
00 01
0
0
1
0
1001
计算机组成原理 103
3.相联存储器举例
× × × × × × × × × ×.,.
0 0 1 1 1 1 1 0 0 0.,.
.,.
.,.
0
1
.,.
.,
.
.,
.
.,
.
.,
.
.,
.
.,
.
SRR WSR0 7654321 8 n
CR
MR
.,
.
.,
.
字
i
W-1
.,.
位
...
计算机组成原理 104
? 设存储器有 W个字,字长 n位。
? CR位比较寄存器,字长也为 n位,存放要比较的数(或要检索
的内容)。
? MR为屏蔽寄存器,与 CR配合适用,字长也为 n位。当按比较
数的部分内容进行检索时,相应地把 MR中要比较的位设置成
,1”,不要比较的位设置成,0”。图中表示需要按 2~ 6位的内
容
进行比较,所以 MR的 2— 6位为,1”,其余各位均置,0”。置
成
,1”的字段称为关键字段。
? SRR为查找结果寄存器,字长为 W位,假如比较结果第 i个字
满足要求,则 SRR中的第 i位为,1”,其余各位均为,0”,若
同
时有 n个字满足要求,则相应地就有 n位为,1”。
计算机组成原理 105
? 有的相联存储器还设置有 字选择寄存器 WSR,用来确定哪些
字参与检索,若字选择寄存器某位为,1”,则表示其对应的
存储字参与检索;若某位为,0”,则表示其对应的存储字不
参与检索。下面举例说明之。
假如某高校学生入学考试总成绩已存入相联存储器,如图所示。
今要求列出“总分”在 560分和 600分范围内的考生名单。
可以用二次查找完成:
第一次找出“总分”大于 559分的考生名单 ;
第二次从名单中再找出总分小于 601分的考生;
因此分别将 559分和 601分作为关键字段内容置于比较寄存器中。
计算机组成原理 106
××系
000 00
0
0
0 0
0
0
××系
××系
××系
××系
××系
××系
××系
××系
0,,, 0 0,,, 00,,, 0 0,,, 00,,, 0 1 1,,, 1
5 5 9
准考
证号
1
1
1
1
1
11
1
1
1
1
1
1
18
17
5
4
3
2
N
8
7
6
18
18
18
17
18
18
19 5 2 0
5 7 8
5 7 2
5 8 0
6 0 4
5 3 0
5 8 4
6 1 1
5 8 2
.
.
.
赵××
丁××
王××
陈××
吴××
周××
李××
孙××
钱××
男
女
男
男
男
男
女
女
女
姓名 性别 年龄 志愿 总分 S R R
第二次
查找结果
W S R
第一次
查找结果
屏蔽寄存器内容
第一次查找寄存器内容
计算机组成原理 107
在计算机系统中,相联存储器主要用于虚拟存储器中存放
分段表、页表和快表;在高速缓冲存储器中,相联存储器作
为存放 cache的行地址之用。这是因为,在这两种应用中,都
需要快速查找。
? 为了进行检索,还要求相联存储器能进行各种比较操作(相
等、不等、小于、大于、求最大值和最小值等) 。
? 比较操作是并行进行的,即 CR中的关键字段与存储器的所有
W个字的相应字段同时进行比较。这由相联存储器的具体电
路实现,极大地提高了处理速度。
计算机组成原理 108
元件故障、噪声干扰等各种因素常常导致计算机在处理信息
过程中出现错误。为了防止错误,可将信号采用专门的逻辑线
路进行编码以检测错误,甚至校正错误。
通常的方法是,在每个字上添加一些校验位,用来确定字中出
现错误的位置。
常用方法:
奇偶校验码 ;
海明校验与纠错码 ;
循环冗余校验码 。
1.为什么设置校验码
校验码
计算机组成原理 109
1、码字,由若干位代码组成,满足某种编码规律的一个代码字。
例,编码规则, 代码中 1的个数为奇数, 则
,01001001”合法, 11001001”不合法
2、码距,码距指任何一种编码的任两组二进制代码中,其对应
位置的代码最少有几个二进制位不相同。
例,若用 4位二进制数表示 16种状态,16种状态都用,则码距
L=1。若用 4位二进制数表示 8种状态,而把另外 8种状态作
为非法编码,此时的码距 L=2。
3、最小码距,指一种编码的任意两个 码字中间,对应位置 代码
变化的最少个数。 8421BCD码 0111?1001 L=3 而
0100?0101 L=1
4、数据校验的实现原理,数据校验码是在合法的数据编码之间,
加进一些不允许出现的 (非法的 )编码,使合法的数据编码出
现错误时成为非法编码。这样就可以通过检测编码的合法性
达到发现错误的目的。
数据校验码原理
计算机组成原理 110
2.奇偶校验
原理, 在 k 位数据码之外增加 1 位校验位,
使 k+1 位码字中取值为 1 的位数 保持为
偶数(偶校验 )或 奇数 ( 奇校验 )
偶校验 奇校验
校验位
0 0 0 1 0 0 0 1 1 0 0 0 1 0
0 1 0 1 0 1 0 1 0 0 1 0 1 1
原有数据位 两个新的码字
例如:
计算机组成原理 111
同理,偶校验位 C 定义为
C = x0⊕ x1⊕ … ⊕ xn-1
即 x中包含偶数个 1时,才使 C= 0。
设 x= ( x0 x1… xn-1 )是一个 n位字,则 奇校验位 C 定义为
C = x0⊕ x1⊕ … ⊕ xn-1
式中 ⊕ 代表按位加,只有当 x中包含有奇数个 1时,C= 0。
定义:
计算机组成原理 112
例 已知下表中左面一栏有 5个字节的数据。请分别用奇校验和
偶校验进行编码。
数 据 偶校验编码 C 奇校验编码 C
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 0
0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 0
0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 0
0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
0
1
0
1
0
1
0
1
0
1
计算机组成原理 113
特点:
奇偶校验可提供单( 奇数 )个错误检测,
但无法检测多( 偶 数 ) 个错误,
更无法识别错误信息的位置及纠正错误。
发送,x0 x1… xn-1C (算出 C加到需发送字的后面)
接收,x0 ' x1 ' … xn-1 ' C '
计算,F= x'0⊕ x'1⊕ … ⊕ x'n-1⊕ C '
结果:若 F= 1,意味着收到的信息有错;
若 F= 0,表明 x字传送正确。
校验方法,(以偶校验为例 )
奇偶校验码常用于存储器读写检查,或 ASCII字符传送过程
中的检查。
计算机组成原理 114
纠正器
存储器
f
比较
f
出错信号
数据输出
数据输入
M
K
M
K
K
故障字
纠错码功能
从 M位数据中产生一组新的 K位校验码与取出的纠错码功能校
验位码作比较:
1、无错误
2、检测到差错,并可以纠正。
3、检测到差错,但无法纠正。
计算机组成原理 115
1.原理
海明校验码的实现原理是:在数据位中加入几个校验位,将
数据代码的码距均匀地拉大,并把数据的每个二进制位分配
在几个奇偶校验组中。当某一位出错后,就会引起有关的几
个校验位的值发生变化,这不但可以发现错误,还能指出是
哪一位出错,为进一步自动纠错提供了依据。
2.编码规则
若海明码的最高位号为 m,最低位号为 1,即H mH m-1… H 2
H 1,则 海明码的编码规则是:
( 1)校验位与数据位之和为 m,每个校验位 Pi在海明码中被分
在位号 2i-1的位置上,其余各位为数据位,并按从低向高逐位
依次排列的关系分配各数据位。
( 2)海明码的每一位位码 Hi(包括数据位和校验位)由多个校
验位校验,其关系是被校验的每一位位号要等于校验它的各
校验位的位号之和。
海明校验码
计算机组成原理 116
3.增添校验位
假设欲检测的有效信息为 n位,需增加的校验位为 k位,则校
验码的长度为 n+k位。校验位的状态组合,应当具有指出
n+k位中任一位有错或无错的能力,即需要区别出 n+k+1种
状态。应满足以下关系式:
2k≥n+k+1
这个关系式称为 海明不等式,若信息位长度 n确定后,由此可
得到校验位 k的最短长度。
确定校验位后,就可以与信息位组成海明校验位。假设数据
位是 7位二进制编码,据上所述,校验位的位数 k为 4,故海明
码的总位数为 11。它们的排列关系可表示为:
海明码位号,H11 H10 H9 H8 H7 H6 H5 H4 H3 H2 H1
海明码,D7 D6 D5 P4 D4 D3 D2 P3 D1 P2 P1
可知,每个校验位由其本身校验;
每个数据位由若干校验位校验 。
计算机组成原理 117
4.校验位校验任务的分配
根据海明码的编码规则,每一位海明码都有多个校验位
校验,且被校验的每一位的位号等于参与校验它的几个校验
位的位号之和。
占据各权位上的校验位按权组成的 8421码,正好等于
海明码的位号,即海明码的位号 Hi正好等于要校验它的校验
位所占权位权值之和。
例如,H11= P4× 23+ P2× 22+ P1× 21
这说明了 H11位将由 P4,P2,P1进行校验。
校验位 P1可以校验,H1, H3,H5, H7, H9,H11,H13,H15
校验位 P2可以校验,H2, H3,H6,H7, H10,H11,H14, H15
校验位 P3可以校验,H4, H5,H6,H7, H12,H13,H14, H15
校验位 P4可以校验,H8,H9,H10,H11,H12,H13,H14, H15
根据校验时 偶校验,可以写出相应的校验方程。
计算机组成原理 118
例,设有一个 7位信息码位 0110001,求它的海明码。
解,此例中,信息位 n=7,根据海明不等式,可求得校验位
最短长度 k=4。
其海明码先表示如下:
海明码位号,H11 H10 H9 H8 H7 H6 H5 H4 H3 H2 H1
海明码,0 1 1 P4 0 0 0 P3 1 P2 P1
按偶校验写出校验方程为:
H1 ?H3?H5 ?H7 ?H9?H11= 0 ( P1= H1)
H2 ?H3?H6?H7 ?H10?H11= 0 ( P2= H2)
H4?H5?H6?H7= 0 ( P3= H4)
H8?H9?H10?H11= 0 ( P4= H8)
由此可得,P1= 0,P2= 0,P3= 0,P4= 0,所以 0110001
的海明码为 01100000100。
计算机组成原理 119
方法,将错了的码字重新代入校验方程校验一次即可。假设
上面例子中的海明码 01100000100传送后,若 H6位发生了
错误,变成了 01100100100,这时把它们代入上面的偶校
验校验方程,如下:
H1?H3?H5?H7?H9?H11= 0 ? 1 ? 0?0?1?0 = 0 = E1
H2 ?H3?H6?H7 ?H10?H11= 0 ? 1?1?0?1?0= 1 = E2
H4?H5?H6? H7= 0 ? 0 ? 1 ? 0 = 1 = E3
H8?H9? H10?H11= 0 ? 1 ? 1 ? 0 = 0 = E4
可以把 E4E3E2E1= 0110看成一个, 指误字,,因为其
二进制码为 0110,说明 H6出了错,是 H6错成了 1,所以要纠
错,纠错时将 H6位取反值,即让它恢复到正确值 0。这样纠
错后即可得到正确的海明码 01100000100。
5.检错与纠错
计算机组成原理 120
1,CRC的编码方法
任何一个二进制序列中的各位看成一个多项式的系数
如,1101?1× X3+1× X2+0× X1+1× X0
设,n是有效数据信息位位数,r是校验位位数。
总长 k=n+r位,称( k,n)码。
设待编码的有效信息以多项式 M(x)表示,将 M(x)左移 r
位得到多项式 M(x)*Xr,使低 r位二进制位全为零,以便与 r位
校验位拼接。使用多项式 M(x)*Xr除以 生成多项式 G(x),求得
的余数即为校验位。为了得到 r位余数 (校验位 ),G(X)必须
是 r+1位的。
循环冗余校验码
G(X)最高项的指数决定了 r的位数
计算机组成原理 121
这时将余数 R(X)与 M(x)*Xr相加,就得到 n+r位 CRC编码,
M(x)*Xr+R(x) = Q(x)*G(x) + R(x) + R(x)
因为, 两个相同数据的模 2和为零,,即 R(x) + R(x) = 0,
所以
M(x)*Xr+R(x) = Q(x)*G(x)
可以看出,所求得的 CRC码是一个可被 G(X)表示的数码除尽的
数码。
)(
)()(
G ( X )
X*M ( x ) r
XG
XRXQ ??
假设 M(x)*Xr除以生成多项式 G(x),求得的余数用表达式
R(x)表示,商的表达式用 Q(x)表示,它们之间的关系如下:
计算机组成原理 122
例 设四位有效信息位是 1100,选用生成多项式 G(X)=1011,
试求有效信息位 1100的 CRC编码。
解:
(1)将有效信息位 1100表示为多项式 M(x)
M(X) = X3 + X2 = 1100
(2)M(X)左移 r=3位,得 M(x)*X3
M(x)*X3 = X6 + X5 = 1100000
(3)用 r+1位的生成多项式 G(X),对 M(x)*Xr作, 模 2除,
1100000/1011 = 1110 + 010/1011
(4)M(x)*X3 与 r位余数 R(X) 作, 模 2加,,即可求得它
的 CRC编码
M(x)*X3 + R(X) = 1100000 + 010 = 1100010
(模 2加 )
因为 k=7,n=4,所以编好的 CRC码又称为 (7,4)码。
计算机组成原理 123
2.模 2运算,不考虑借位和进位
( 1)模 2加减,可用异或门实现,即:
0+0=0; 0+1=1; 1+0=1; 1+1=0;
0-0=0; 0-1=1; 1-0=1; 1-1=0;
( 2)模 2乘法,用模 2加求部分积之和
例如:
1011
x 11
1011
+ 1011
11101
计算机组成原理 124
( 3) 模 2除法,按模 2减求部分余数,每上一位商,部分余
数要减少一位,上商规则是,只要余数最高位为 1,则商 1,
否则为 0。当部分余数的位数小于除数时,该余数为最后余数。
例如:
111………………,商
11(除数) 1000(被除数)
11
10
11
10
11
1
计算机组成原理 125
3,CRC的译码及纠错
CRC码传送到目标部件,用约定的多项式 G(x)对收到的 CRC
码进行, 模 2除,, 若余数为 0,则表明该 CRC校验码正确;
否则表明有错,不同的出错位,其余数是不同的。由余数
具体指出是哪一位出了错,然后加以纠正。
不同的出错位,其余数也是不同的。
可以证明:更换不同的有效信息位,余数与出错位的
对应关系不会发生变化,只与码制和生成多项式 G(X)有关。
计算机组成原理 126
不是任何一个 (k+1)位多项式都能作为生成多项式,从检
错、纠错的要求来看,生成多项式应满足下列要求:
(1)任何一位发生错误,都应使余数不为零;
(2)不同位发生错误,都应使余数不同;
(3)用余数补零,继续作, 模 2除,,应使余数循环。
常用的 CRC生成多项式:
CRC-12 12位 x12+x11+x3+x2+1
CRC-16 16位 x16+x15+x2+1 ( IBM)
CRC-16 16位 x16+x12+x5+1 ( CCITT)
CRC-32 32位 x32+x26+x23+x16+x11+x10+x8+x7+x5+x4+x2+x+1
5,CRC产生电路
CRC校验码不仅检错率高,而且硬件实现简单,因而到
底广泛应用。
4.关于生成多项式
计 算 机 组 成 原 理
第九 -十讲
2009年 11月 10日
存储器
计算机组成原理 2
1,存储器概述
外部特性, 性能参数, 层次结构
2,静态存储器和动态存储器存储单元构成
一位存储单元及存储阵列, 多端口 SRAM,读写时序
3,半导体 ROM存储器
MROM,PROM,EPROM,EEPROM,FLASH
4,存储器芯片构成以及存储器主要技术指标
5,存储器扩展技术
位, 字, 字位扩展
6,数据校验码
奇偶校验码, 海明码, CRC码
本讲安排
计算机组成原理 3
本讲将解决的主要问题
L,半导体存储器的分类, 组成及组成部件的作用及工作原
理, 读 /写操作的基本过程 。
2,SRAM,DRAM芯片的组成特点, 工作过程, 典型芯片的引
脚信号, 了解 DRAM刷新的基本概念 。
3,半导体存储器的主要技术指标, 芯片的扩充, CPU与半导
体存储器间的连接 。
计算机组成原理 4
在现代计算机中,存储器处于全机中心地位,其原因是,
(1) 当前计算机正在执行的程序和数据 (除了暂存于 CPU寄存
器的 )均存放在存储器中。 CPU直接从存储器取指令或存取数
据。
(2) 计算机系统中输入输出设备数量增多,数据传送速度加
快,因此采用了直接存储器存取 (DMA)技术和 I/O通道技术,
在存储器与输入输出系统之间直接传送数据。
(3) 共 享存储器的多处理机的出现,利用存储器存放共享数据,
并实现处理机之间的通信,更加强了存储器作为全机中心的地
位。 由于中央处理器都是由高速器件组成,不少指令的执行速度
基本上取决于主存储器的速度。所以,计算机解题能力的提高、
应用范围的日益广泛和系统软件的日益丰富,无一不与主存储
器的技术发展密切相关。
简介
计算机组成原理 5
存储器分类
存储器概述
存储器的层次结构
存储器的技术指标
计算机组成原理 6
存储器概述
1、存储器,是计算机系统中的记忆设备,用来存放程序和数据。
2、存储元,存储器的最小组成单位,用以存储 1位二进制代码。
3、存储单元,是 CPU访问存储器基本单位,由若干个具有相同操作属性的存
储元组成。
4、单元地址,在存储器中用以表识存储单元的唯一编号,CPU通过该编号访
问相应的存储单元。
5、字存储单元,存放一个字的存储单元,相应的单元地址叫字地址。
6、字节存储单元,存放一个字节的存储单元,相应的单元地址叫字节地址
7、按字寻址计算机,可编址的最小单位是字存储单元的计算机。
8、按字节寻址计算机,可编址的最小单位是字节的计算机。
9、存储体,存储单元的集合,是存放二进制信息的 地方
几个基本概念
计算机组成原理 7
存储器各个概念之间的关系
单元地址
00…00
00…01
.
.
.
.
.
.
.
.
XX…XX
存储单元
存储元
存储容量
存储体
计算机组成原理 8
存储器分类
1,按存储介质分
半导体存储器,用半导体器件组成的存储器。
磁表面存储器,用磁性材料做成的存储器。
2,按存储方式分
随机存储器,任何存储单元的内容都能被随机存取,且存取
时间和存储单元的物理位置无关。
顺序存储器,只能按某种顺序来存取,存取时间和存储单元
的物理位置有关。
计算机组成原理 9
3,按存储器的读写功能分
只读存储器 (ROM):存储的内容是固定不变的,只能读出而
不能写入的半导体存储器。
随机读写存储器 (RAM):既能读出又能写入的半导体存储器。
4,按信息的可保存性分
非永久记忆的存储器,断电后信息即消失的存储器。
永久记忆性存储器,断电后仍能保存信息的存储器。
5,按在计算机系统中的作用分
根据存储器在计算机系统中所起的作用,可分为,
主存储器, 辅助存储器, 高速缓冲存储器, 控制存储器 等。
计算机组成原理 10
半
导
体
存
储
器
只读
存储器
ROM
随机读写
存储器
RAM
掩膜 ROM
可编程 ROM ( PROM)
可擦除 ROM ( EPPROM )
电擦除 ROM ( E2PROM)
静态 RAM ( SRAM)
动态 RAM ( DRAM)
半导体存储器
计算机组成原理 11
存储器层次结构
容量大,速度快,成本低。
? 为解决三者之间的矛盾,目前通常采用 多级存储器体系结构,
即使用 高速缓冲存储器、主存储器和外存储器 。
? 对存储器的要求是:
寄存器
Cache
主存储器
辅助存储器
计算机组成原理 12
名 称
高速缓冲
存储器
主存储器
外存储器
简称
Cache
主存
外存
用 途
高速存取指令和数据
存放计算机运行期间的
大量程序和数据
存放系统程序和大型数据
文件及数据库
特 点
存取速度快,但存
储容量小
存取速度较快,存
储容量不大
存储容量大,位成
本低
存储器的用途和特点
计算机组成原理 13
主存储器的技术指标
存储容量;存取时间 (存储器访问时间)、存储周期
和存储器带宽;可靠性;功耗及集成度。
指 标
存储容量
存取时间
存储周期
存储器带宽
含 义
在一个存储器中可以容纳
的存储单元总数
启动到完成一次存储器操作
所经历的时间
连续启动两次操作所需间
隔的最小时间
单位时间里存储器所存取
的信息量
表 现
存储空间的大
小
主存的速度
主存的速度
数据传输速率
技术指标
单 位
字数,
字节数
ns
ns
位 /秒,
字节 /秒
计算机组成原理 14
?可靠性 主存储器的可靠性通常用平均无故障时间 MTBF
(Mean Time Between Failures)来表征。 MTBF指连
续两次故障之间的平均时间间隔。显然,MTBF越长
,意味着主存的可靠性越高,
? 功耗 作为目前的主存储器的主体的半导体存储器的功耗包
括, 维持功耗, 和, 操作功耗,, 应在保证速度的前提下
尽可能地减小功耗, 特别是要减小, 维持功耗, 。
? 集成度 所谓集成度是指在一片数平方毫米的芯片上能集成
多少个存储单元, 每个存储单元存储一个二进制位,
所以集成度常表示为 位 /片 。
计算机组成原理 15
SRAM存储器
DRAM存储器
主存储器组成实例
高性能的主存储器
计算机组成原理 16
SRAM存储器
1.基本存储元
基本存储元是组成存储器的基础和核心,它用来存储一位二进
制信息 0或 1。
六管基本存
储单元电路
X 地址译码线
Y 地址译码线
T 6
T5
V CC ( +5V )
BA
B
T1 T2
T3 T4
T7 T8
?
? ?
? ?
???
D D
写入
读出
计算机组成原理 17
16× 1 bit SRAM
计算机组成原理 18
1K bit SRAM
计算机组成原理 19
2.SRAM存储器的组成
一个 SRAM存储器由 存储体, 读写电路, 地址译码 电路和
控制电路 等组成。
计算机组成原理 20
? 一个基本存储电路只能存储一个二进制位。
? 将基本的存储电路有规则地组织起来,就是存储体。
? 存储体又有不同的组织形式:
将各个字的 同一位 组织在一个芯片中;
将各个字的 4位 组织在一个芯片中,如,2114 1K× 4;
将各个字的 8位 组织在一个芯片中,如,6116 2K× 8;
如图所示:
存储体将 4096个字的同一位组织在一个集成片中;
需 16个片子组成 4096× 16的存储器;
4096通常排列成矩阵形式,如 64× 64,由行选、列选线选
中所需的单元。
(1) 存储体
计算机组成原理 21
(2) 地址译码器
单译码方式 —— 适用于小容量存储器中,只有一个译码器。
计算机组成原理 22
双译码方式
—— 地址译码器分成两个,可 有效减少 选择线的数目。
x
1
x64
计算机组成原理 23
(3) 驱动器
双译码结构中,在译码器输出后加驱动器,驱动挂在各条
X方向选择线上的所有存储元电路。
(4) I/O电路
处于数据总线和被选用的单元之间,控制被选中的单元读
(5) 片选
在地址选择时,首先要选片,只有当片选信号有效时,此片
所连的地址线才有效。
(6) 输出驱动电路
为了扩展存储器的容量,常需要将几个芯片的数据线并联
使用;另外存储器的读出数据或写入数据都放在双向的数据
总线上。这就用到三态输出缓冲器。
计算机组成原理 24
3.SRAM存储器芯片实例
Intel 2114—— 1024× 4 的存储器:
? 4096 个基本存储单元,排成 64× 64 (64× 16× 4) 的矩阵;
? 需 10 根地址线寻址;
? X 译码器输出 64 根选择线,分别选择 1-64 行;
? Y 译码器输出 16 根选择线,分别选择 1-16 列控制各列的位
线控制门。
计算机组成原理 25
Intel 2114—— 1K× 4 SRAM
(64 ? 16?4)
计算机组成原理 26
4.存储器的读、写周期
在与 CPU连接时,CPU的控制信号与存储器的读、写周期之
间的配合问题是非常重要的。
读周期,
读周期时间与读出时间是两个不同的概念。
读出时间 —— 从给出有效地址到外部数据总线上稳定地出现所
读出的数据信息所经历的时间。
读周期时间 —— 则是存储器进行 两次连续读 操作时所必须间隔
的时间,它总是大于或等于读出时间。
计算机组成原理 27
SRAM存储器时序
tRC
tRC —— 读周期时间 tA —— 读出时间 tCO —— 片选到数据输出延迟
tCX —— 片选到输出有效 tOTD —— 从断开片选到输出变为三态
tOHA —— 地址改变后的维持时间
地址有效 ?CS有效 ?数据输出 ?CS复位 ?地址撤销
静态存储器的 读周期
计算机组成原理 28
静态存储器的读 写周期
t WC
ADD
t AW
WE
t OTW
CS
Dout t DS t DH
Din
写周期:
地址有效 ?CS有效 ?数据有效 ?CS复位(数据输入) ?地址撤销
计算机组成原理 29
常用典型的 SRAM芯片有 6116,6264,62256等。
A7
A6
A5
A4
A3
A2
A1
A0
D0
D1
D2
GND
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
VCC
A8
A9
WE
OE
A10
CS
D7
D6
D5
D4
D3
1 24
2 23
3 22
4 21
5 20
6 19
7 18
8 17
9 16
10 15
11 14
12 13
SRAM芯片实例
SRAM 6116 (2K ? 8)
输入 I/O 工作方式
CE WE OE DI DO
H X X X High-Z 非选择
L H L High-Z DO 读
L L H DI High-Z 写
L L L DI High-Z 写
L H H X High-Z 选择
计算机组成原理 30
DRAM存储器
1.单管动态存储元
数据线
行 (字 )选择
C
CD
T11
0
T1
计算机组成原理 31
DRAM的单管存储单元, 读
计算机组成原理 32
DRAM的单管存储单元, 写
计算机组成原理 33
单管 DRAM的存储矩阵
计算机组成原理 34
读操作
行选择线为高电平,使存储电路中的 T1管导通,于是,使连在
每一列上的刷新放大器读取 电容 C上的电压值。刷新放大器的灵
敏度很高,放大倍数很大,并且能将从电容上读得的电压值折合
为逻辑, 0”或者逻辑, 1”。
列地址(较高位地址)产生列选择信号,有了列选择信号,所
选中行上的基本存储电路才受到驱动,从而可以输出信息。
在读出过程中,选中行上的所有基本存储电路中的电容都受到
打扰,因此为 破坏性读出 。为了在读出之后,仍能保存所容纳的
信息,刷新放大器对这些电容上的电压值读取之后又立即进行重
写。
计算机组成原理 35
写操作
行选择线为, 1”; T1管处于可导通的状态,如果列选择信
号也为, 1”则此基本存储电路被选中,于是由数据输入/输
出线送来的信息通过刷新放大器和 T1管送到电容 C。
刷新
虽然进行一次读/写操作实际上也进行了刷新,但是,由
于读/写操作本身是随机的,所以,并不能保证所有的 RAM单
元都在 2ms中可以通过正常的读/写操作来刷新,由此,专门
安排了存储器刷新周期完成对 动态 RAM的刷新 。
计算机组成原理 36
? 集成度高,功耗低
? 具有易失性,必须刷新。
? 破坏性读出,必须读后重写
? 读后重写,刷新均经由刷新放大器进行。
? 刷新时只提供行地址,由各列所拥有的刷新放大器,
对选中行全部存储细胞实施同时集体读后重写 (再生 )。
DRAM的电气特征:
计算机组成原理 37
内部结构 —— Intel2164(64K× 1)
2.DRAM存储芯片实例
计算机组成原理 38
NC
DIN
WE
RAS
A0
A2
A1
GND
—
—
—
—
—
—
—
—
VCC
CAS
DOUT
A6
A3
A4
A5
A7
—
—
—
—
—
—
—
—
1 16
2 15
3 14
4 13
5 12
6 11
7 10
8 9
Intel 2164(64K× 1)引脚
A0~ A7:地址输入线
RAS:行地址选通信号线,兼
起片选信号作用(整个读写周
期,RAS一直处于有效状态)
CAS:列地址选通信号线
WE:读写控制信号 0-写 1-读
Din:数据输入线
Dout:数据输出线
计算机组成原理 39
DRAM时序
读周期,
行地址有效 ?行地址选通 ?列地址有效 ?列地址选通 ?
数据输出 ?行选通、列选通及地址撤销
ADD
(a) 读周期
t CAS
D out
行地址 列地址
数 据
WE
CA S
RA S
计算机组成原理 40
DRAM时序
写周期:
行地址有效 ?行地址选通 ?列地址、数据有效 ?列地址选
通 ?数据输入 ?行选通、列选通及地址撤销
address
(b) 写周期
t RAS
t CYC
行地址 列地址
数 据D
in
WE
CAS
RAS
计算机组成原理 41
3.DRAM的刷新
(1) DRAM的刷新
不管是哪一种动态 RAM,都是利用电容存储电荷的原理来保
存信息的,由于电容会逐渐放电,所以,对动态 RAM必须不断
进行读出和再写入,以使泄放的电荷受到补充,也就是进行刷
新。
动态 MOS存储器采用“读出”方式进行刷新,先将原存信息
读出,再由刷新放大器形成原信息并重新写入。
(2) 刷新周期
从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止,这一段时间间隔叫刷新周期。
一般为 2ms,4ms,8ms。
(3) 刷新方式 常用的刷新方式有三种,
集中式、分散式、异步式。
计算机组成原理 42
在整个刷新间隔内,前一段时间重复进行读 /写周期或维持
周期,等到需要进行刷新操作时,便暂停读 /写或维持周期,而
逐行刷新整个存储器,它适用于高速存储器。
tC tC tC tC tC tC tC
? 集中式刷新
计算机组成原理 43
例如:对 128?128矩阵存储器刷新。
刷新时间相当于 128个读周期;
设刷新周期为 2ms,读 /写周期为 0.5?s,则 刷新周期有 4000个
周期,其中
3782个周期( 1936 ?s)用来读 /写或维持信息;
128个周期( 64 ?s)用来刷新操作;
当 3781个周期结束,便开始进行 128个周期,64 ?s的刷新操作。
集中式刷新适用于高速存储器。
存在不能进行读写操作的死区时间,
计算机组成原理 44
把一个存储周期 tc分为两半,周期前半段时间 tm用来读 /写操作
或维持信息,周期后半段时间 tr作为刷新操作时间。这样,每经
过 128个系统周期时间,整个存储器便全部刷新一遍。
? 分散式刷新
分散式刷新系统速度降低,但不存在停止读写操作的死时间。
W/R REF W/R REF W/R REF
计算机组成原理 45
? 异步式刷新
是前两种方式的结合。
例如,对 2116来说,在 2ms中内把 128行刷新一遍。
2000?s ?128 ? 15.5 ?s
即:每 15.5 ?s 刷新一行。
计算机组成原理 46
在这种刷新操作中,基本上只用 RAS信号来控制刷新,CAS信
号不动作。为了确保在一定范围内对所有行都刷新,使用一种
外部计数器。
2)CAS在 RAS之前的刷新
这种方式是在 RAS之前使 CAS有效,启动内部刷新计数器,产
生需要刷新的行地址,而忽略外部地址线上的信号。目前 256K
位以上的 DRAM片子通常都具有这种功能。
(4) 刷新操作种类
1)只用 RAS信号的刷新
计算机组成原理 47
例, 说明 1M× 1位 DRAM片子的刷新方法,刷新周期定为 8ms。
? 1M位的存储单元排列成 512?2048的矩阵;
? 如果选择一个行地址进行刷新,刷新地址为 A0~A8( 29),
因此这一行上的 2048个存储元同时进行刷新;
? 在 8ms内进行 512个周期的刷新;
? 刷新方式可采用:
在 8ms中进行 512次刷新操作的集中刷新方式;
按 8ms÷ 512= 15.5?s刷新一次的异步刷新方式。
计算机组成原理 48
tC tC tC tC tC tC tC
计算机组成原理 49
4.存储器控制电路
DRAM存储器的刷新需要有硬件电路的支持,包括:
刷新计数器、
刷新 /访存裁决、
刷新控制逻辑 等。
这些控制线路形成 DRAM控制器。
DRAM控制器是 CPU和 DRAM的接口电路,它将 CPU的
信号变换成适合 DRAM片子的信号。
计算机组成原理 50
DRAM控制器
RAS
CAS
WE
读 /写
地址总线
地址
计算机组成原理 51
(2)刷新定时器,定时电路用来提供刷新请求。
(3)刷新地址计数器,只用 RAS信号的刷新操作,需要提供刷新地址计数器。
对于 1M位的片子,需 512个地址,故刷新计数器 9位。
(4)仲裁电路,对同时产生的来自 CPU的访问存储器的请求和来自刷新定时
器的刷新请求的优先权进行裁定。
(5)定时发生器,提供行地址选通信号 RAS、列地址选通信号 CAS和写信号 WE,
(1) 地址多路开关
读写操作时向 DRAM片子分时送出行地址和列地址;
刷新时需要提供刷新地址。
计算机组成原理 52
高性能的主存储器
EDRAM又称增强型 DRAM(Enhanced DRAM),它在 DRAM
芯片上集成了一个 SRAM实现的小容量高速缓冲存储器,
从而使 DRAM芯片的性能得到显著改进。
1.EDRAM芯片
(1) 工作过程;
(2) 猝发式读取;
(3) EDRAM结构的两个优点,
? 在 SRAM读出期间可同时对 DRAM刷新;
? 输入、输出途径是分开的,可在写操作完成的同时启动
同一行的读操作。
计算机组成原理 53
计算机组成原理 54
2.EDRAM内存条 组成 1M*32位的存储模块
计算机组成原理 55
? 8个芯片共用片选信号 Sel、行选通信号 RAS、刷新
信号 Ref和地址输入信号 A0— A10;
? 两片 EDRAM芯片的列选信号 CAS连接在一起,形成
一个 1M × 8位 (1MB) 的片组;再由 4个片组组成一个
1M × 32位 (4MB) 的存储模块;
? 4个片组的列选信号 CAS0~CAS3分别与 CPU的 4个子
节信号 BE0~BE3相对应,以允许存取 8位或 16位的字。
? 当进行 32位存取时,BE0~BE3全部有效,此时认为
A1A0位为 0( CPU没有 A1A0引脚)。
由容量为 1M× 4位的 EDRAM,组成 1M× 32位的存储模块
计算机组成原理 56
? 当某模块被选中,此模块的 8个 EDRAM芯片同时动作,8个
4 位数据端口 D3— D0同时与 32位数据总线交换数据,完成一
次 32位字的存取。
? 20位地址分 11位的行地址和 9位的列地址,分别在 RAS和
CAS有效时同时输入到 8个芯片的地址引脚。
上述存储模块本身具有高速成块存取能力,这种模块内存储
字完全顺序排放,以猝发式存取来完成高速成块存取的方式,
在当代微型机中获得了广泛应用。
配置 4个上述模块,组成 16MB存储器,A23A22用作模块选择。
将由 EDRAM芯片组成的模块做成小电路插件板形式,称
为内存条。
计算机组成原理 57
DRAM的研制与发展
增强型 DRAM(EDRAM)
晶体管开关加速
集成小容量 SRAM cache
扩展数据输出 DRAM(EDO DRAM)
( Extended Data Out DRAM)
数据带宽高
计算机组成原理 58
同步 DRAM(SDRAM) ( Synchronous DRAM)
读写速度比 EDO DRAM快
SDRAM的读写操作与处理器的其它操作可以同步进行
采用成组传送方式
DDRAM:双倍速率 SDRAM( Dual date rate SDRAM )
Rambus DRAM(RDRAM)
采用新的接口,专用 RDRAM总线
采用异步成组数据传输协议
集成 RAM
存储阵列 +刷新 +裁决 +…
专用 RAM,video
计算机组成原理 59
(1) 与 CPU的连接
主要是 地址线、控制线、数据线 的连接。
(2) 多个芯片连接
存储器容量与实际存储器的要求多有不符。 如前所述存
储器芯片有不同的组织形式,如 1024*1,1024*4,4096*8等;
实际使用时,需进行 字和位扩展 (多个芯片连接),组成
你所需要的实际的存储器,如 1K*8,4K*8 等的存储器。
存储器的基本组织
计算机组成原理 60
A0
A12
D0
D7
位扩展法
只加大字长,而存储器的字数与存储器芯片字数一致,对
片子没有选片要求。
用 8k*1的片子组成 8k*8的存储器需 8 个芯片
地址线 —— 需 13 根 数据线 —— 8 根
控制线 —— WR接存储器的 WE
计算机组成原理 61
2:4
16K?8 16K?8 16K?8 16K?8
字扩展法
用 16K?8位的芯片组成 64K?8位的存储器需 4个芯片
地址线 —— 共需 16根 片内,(214 = 16384) 14根,选片,2根
数据线 —— 8根 控制线 —— WE
计算机组成原理 62
最低地址
最高地址
C000
FFFF
00,0000,0000,0000
11,1111,1111,1111
11
11
4
最低地址
最高地址
8000
BFFF
00,0000,0000,0000
11,1111,1111,1111
10
10
3
最低地址
最高地址
4000
7FFF
00,0000,0000,0000
11,1111,1111,1111
01
01
2
最低地址
最高地址
0000
3FFF
00,0000,0000,0000
11,1111,1111,1111
00
00
1
说明总地址片内
A13 A12 ……,.A1 A0
选片
A15 A14
地址
片号
地址空间分配表
计算机组成原理 63
CPU
用 1k ? 4 的存储器芯片 2114 组成 2k ? 8 的存储器
字位同时扩展法
计算机组成原理 64
*ramsel0 = A21 A20 *MREQ
ramsel1 = A21 *A20*MREQ
ramsel2 = A21* A20 *MREQ
ramsel3 = A21*A20*MREQ
例 有若干片 1M× 8位的 SRAM芯片,采用字扩展方法构成 4MB存储器,问
(1) 需要多少片 RAM芯片?
(2) 该存储器需要多少地址位?
(3) 画出该存储器与 CPU连接的结构图,设 CPU的接口信号有地址信号、数
据信号、控制信号 MREQ和 R/W#。
(4) 给出地址译码器的逻辑表达式。
解,(1) 需要 4M/1M = 4片 SRAM芯片;
(2) 需要 22条地址线
(3) 译码器的输出信号逻辑表达式为:
ramsel3
2-4 译 码
ramsel2ramsel1ramsel0A21~A20
A21~A0 A19~A0
OEMREQ
R/W#
CPU
D7~D0D7~D0D7~D0D7~D0
D7~D0
WE* A CE
1M
× 8
D
WE* A CE
1M
× 8
D
WE* A CE
1M
× 8
D
WE* A CE
1M
× 8
D
计算机组成原理 65
例 设有若干片 256K× 8位的 SRAM芯片,问:
(1) 采用字扩展方法构成 2048KB的存储器需要多少片 SRAM芯片?
(2) 该存储器需要多少字节地址位?
(3) 画出该存储器与 CPU连接的结构图,设 CPU的接口信号有地址信号、
数据信号、控制信号 MREQ#和 R/W#。
解,(1) 该存储器需要 2048K/256K = 8片 SRAM芯片;
(2) 需要 21条地址线,因为 221=2048K,其中高 3位用于芯片选择,低 18位作为
每个存储器芯片的地址输入。
(3) 该存储器与 CPU连接的结构图如下。
ramsel7
3-8译码
ramsel2ramsel1ramsel0 …A20-18
A20-0 A17-0
OE#MREQ#
R/W#
CPU
D7~D0D7~D0D7~D0D7~D0
D7~D0
WE A CE
256K
× 8
D
WE A CE
256K
× 8
D
WE A CE
256K
× 8
D
WE A CE
256K
× 8
D
计算机组成原理 66
例 设有若干片 256K× 8位的 SRAM芯片,问:
(1) 如何构成 2048K× 32位的存储器?
(2) 需要多少片 RAM芯片?
(3) 该存储器需要多少字节地址位?
(4) 画出该存储器与 CPU连接的结构图,设 CPU的接口信号有地
址信号、数据信号、控制信号 MREQ#和 R/W#。
解,采用字位扩展的方法。需要 32片 SRAM芯片。
ramsel7
3-8 译码
ramsel2ramsel1ramsel0 …A22-20
A22-2 A19-2
OE#MREQ#
R/W#
CPU
D 31 ~D 0D 31 ~D 0D 31 ~D 0D 31 ~D 0
D 31 ~D 0
WE A CE
256Kx8
4 片
D
WE A CE
256Kx8
4 片
D
WE A CE
256Kx8
4 片
D
WE A CE
256Kx8
4 片
D
计算机组成原理 67
只读存储器
闪速存储器
高速存储器
计算机组成原理 68
只读存储器
1.ROM的分类
缺 点
不能重写
只能一次
性改写
只读存储器
掩模式
(ROM)
一次编程
(PROM)
多次编程
(EPROM)
(EEPRPM)
定 义
数据在芯片制造过程
中就确定
用户可自行改变产品
中某些存储元
可以用紫外光照 射
或电擦除原来的数据,
然后再重新写入新的数
据
优 点
可靠性和集成度
高,价格便宜
可以根据用户需要
编程
可以多次改写
ROM中的内容
闪速存储器
Flash memory
计算机组成原理 69
(1) 掩模式 ROM
采用掩模工艺制成,其内容由厂方生产时写入,用户只
能读出使用而不能改写。
有 MOS管的位 表示存 1,
没有 MOS管的位 表示存 0。
计算机组成原理 70
(2) 可写入(可编程)只读存储器 PROM
例:熔丝烧断型
写,0”时:
烧断熔丝
写,1”时:
保留熔丝
行线 X
位
线
Y
Vcc
T
XY
熔丝
计算机组成原理 71
(3)光擦可编程只读存储器 EPROM
? 基本存储元电路
N型
P+ P+
计算机组成原理 72
计算机组成原理 73
EPROM实例
(128*16*8)
计算机组成原理 74
EPROM实例
A7
A6
A5
A4
A3
A2
A1
A0
O0
O1
O2
GND
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
VCC
A8
A9
VPP
OE
A10
CE
O7
O6
O5
O4
O3
1 24
2 23
3 22
4 21
5 20
6 19
7 18
8 17
9 16
10 15
11 14
12 13
EPROM 2716 2K× 8引脚
数据输出
读 输出
未选中 高阻
功率下降 高阻
编程
PD/PGM
低
无关
高
由低到高脉冲
CS
低
高
无关
高
Vp
p
+5V
+5V
+5V
+25
V
Vcc
+5
V
+5
V
+5
V
+5
V
输入
引脚
操作
工作模式选择
计算机组成原理 75
(4) 电擦可编程只读存储器 EEPROM
? 若 VG为正电压,第一浮空栅极与漏极之间产生隧道效应,使电子注入第
一浮空栅极,即编程写入。
? 若使 VG为负电压,强使第一级浮空栅极的电子散失,即擦除。
? EEPROM的编程与擦除电流很小,可用普通电源供电,而且擦除可按字节进
行。
它的主要
特点是能在
应用系统中
在线改写,
断电后信息
保存,因此
目前得到广
泛应用。 第一级浮空栅
第二级浮空栅
计算机组成原理 76
电可擦写 ROM
—— EEPROM及 Flash存储器
基片
源极
- - - -- - - -
漏极
电极导体
控制栅极
二氧化硅
计算机组成原理 77
2.存储器举例
(1) CPU的地址总线 16根 (A15— A0,A0为低位 );双向数据总线 8
根 (D7— D0),控制总线中与主存有关的信号有:
MREQ,R/W。
(2) 主存地址空间分配如下:
0— 8191为系统程序区,由只读存储芯片组成;
8192— 32767为用户程序区;最后 (最大地址 )2K地址空间为
系统程序工作区。
(3) 现有如下存储器芯片:
EPROM,8K× 8位 (控制端仅有 CS);
SRAM,16K× 1位,2K× 8位,4K× 8位,8K× 8位,
计算机组成原理 78
解, (1) 主存地址空间分布如图所示 。
16根地址线寻址 —— 64K
0000 ~ FFFFH(65535)
EPROM,8K× 8位
SRAM,16K× 1位,2K× 8位,
4K× 8位,8K× 8位,
0000
1FFF
2000
7FFF
F800
FFFF
63488
请从上述芯片中选择适当芯片设计该计算机主存储器,画出
主存储器逻辑框图,注意画出选片逻辑 (可选用门电路及 3∶ 8
译码器 74LS138)与 CPU 的连接,说明选哪些存储器芯片,选
多少片。
计算机组成原理 79
(2) 连接电路
片内寻址:
8K芯片 —— 片内 13根 A12~A0
2K芯片 —— 片内 11根 A10~A0
片间寻址:
前 32K A15A14A13
0 0 0
0 0 1
0 1 0
0 1 1
最后 2K 1 1 1 加 A12A11
1 1
0000
1FFF
2000 3FFF
6000 7FFF
F800
FFFF
4000 5FFF
63488
计算机组成原理 80
A B C
Y0 Y1 Y2 Y3 Y7
。 。 。 。 。
MREQ
A0 A12 A0 A12 A0 A12 A0 A12 A0 A10
CS CSCS
CS
CS
R/W R/W R/W R/W
计算机组成原理 81
闪速存储器
1.什么是闪速存储器
Flash Memory
闪速存储器是一种高密度、非易失性的读 /写半导体存储器,
它突破了传统的存储器体系,改善了现有存储器的特性。
特点,(1) 固有的非易失性
(2) 廉价的高密度
(3) 可直接执行
(4) 固态性能
计算机组成原理 82
擦除方法是在源极加正电压利用第一级浮空栅与源极之间的隧道效
应,把注入至浮空栅的负电荷吸引到源极。由于利用源极加正电压擦除,
因此各单元的源极联在一起,这样,快擦存储器不能按字节擦除,而是
全片或分块擦除。
2.基本单元电路
计算机组成原理 83
3.闪速存储器的逻辑结构 28F256A,存储容量 256K位 (32K*8)
(整体擦除 Flash Memory)
计算机组成原理 84
4.闪速存储器的工作原理
电擦除和重新编程能力
闪速存储器是在 EPROM功能基础上增加了电路的电擦
除和重新编程能力。 28F256A引入一个指令寄存器来实
现这种功能。其作用是:
(1)保证 TTL电平的控制信号输入;
(2)在擦除和编程过程中稳定供电;
(3)最大限度的与 EPROM兼容。
计算机组成原理 85
? 采用并行操作方式 ---双端口存储器
(1) 芯片技术
研究开发高性能芯片技术,如,DRAM?FPMD?EDO?
EDRAM?CDRAM?SDRAM?RambusDRAM。
高速存储器
? 采用并行主存储器,提高读出并行性 ---多模块交叉存储器
? 主存储器采用更高速的技术来缩短存储器的读出时间
---相联存储器
(2) 结构技术
由于 CPU和主存储器在速度上不匹配,限制了高速计算。
为了使 CPU不至因为等待存储器读写操作的完成而无事可
做,可以采取一些加速 CPU和存储器之间有效传输的特殊措施。
计算机组成原理 86
双端口存储器
多模块交叉存储器
相联存储器
高性能存储器
计算机组成原理 87
双端口存储器
1.双端口存储器的逻辑结构
双端口存储器
—— 指 同一个存储器具有两组相互独立的读写控制线路,
是一种高速工作的存储器。
双读单写端口存储器单元结构
w
b
a
w
Select W
Select A
Select B
计算机组成原理 88
多模块交叉存储器
并行主存系统
大存储器在一个存储周期中读出的不是一个存储单元的 w
位信息,而是 n个字,这样在单位时间里存储器提供的信息量
可提高 n倍,这样组织的主存系统称为并行主存系统。
1.并行主存系统
w位 w位 …… w 位
M0 M1 Mn-1
计算机组成原理 89
2.多模块交叉存储器
1), 存储器的模块化组织
一个由若干个模块组成的主存储器是线性编址的。
这些地址在各模块中有两种安排方式:
顺序方式
交叉方式
计算机组成原理 90
顺序方式
各模块一个
接一个 串行
工作 。
计算机组成原理 91
交叉方式
连续地址分
布在相邻的不
同模块内,同
一个模块内的
地址都是不连
续的。对连续
字的成块传送
可实现多模块
流水式 并行 存
取,大大提高
存储器的带宽。
计算机组成原理 92
2), 多模块交叉存储器编址方式
如果在 M个模块上交叉编址 (M=2k),则称为模 M交叉编址。
设存储器包括 M个模块,每个模块的容量为 L,各存储模
块进行低位交叉编址,连续的地址分布在相邻的模块中。第 i
个模块 Mi的地址编号应按下式给出:
M·j + i
其中, j=0,1,2,…,L-1
i=0,1,2,…,M-1
一般模块数 M取 2的 k次幂,高档微机 M值可取 2或 4,大型
计算机 M取 16至 32。
计算机组成原理 93
模块地址 模块
n-k 位 k位
译码器
2k-1...i...0
k
n-k
AB DB AB DB
Mi
AB DB
MO
AB:地址寄存器
DB:数据寄存器
Mi,第 i个存储模块
图 3-24 多体交叉编址方式
M2k-1
计算机组成原理 94
模体 地址编址序列 对应二进制地址最低二位
M0
M1
M2
M3
0,4,8,12,...4?j+0,...
1,5,9,13,...4?j+1,...
2,6,10,14,...4?j+2,...
3,7,11,15,...4?j+3,...
0 0
0 1
1 0
1 1
模四交叉各模块的编址序列
计算机组成原理 95
3), 多模块交叉存储器存取控制方式
多模块交叉存储器可以有两种不同的方式进行访问:
(1) 一种是所有模块同时启动一次存储周期,相对各
自的数据寄存器并行地读出或写入信息;称为“同
时访问”,同时访问要增加数据总线宽度。
(2) 另一种是 M个模块按一定的顺序轮流启动各自的访
问周期,启动两个相邻模块的最小时间间隔等于单
模块访问周期的 1/M。称为“交叉访问”。
计算机组成原理 96
单模块访问周期 T
M0
M1
M2
MM-1
0 T
M
2T
M
M-1
M T
t
交叉访问的存储器工作时间图
计算机组成原理 97
4),多模块交叉存储器的基本结构
? 每个模块各自以等同的方式与 CPU传送信息。
? CPU同时访问四个模块,由存储器控制部件
控制它们分时使用数据总线进行信息传递。
? 对每一个模块来说,从 CPU给出访存命令直
到读出信息仍然使用了一个存取周期时间;
? 对 CPU来说,它可以在 一个存取周期中连续
访问 4个模块;
? 各模块的读写过程重叠进行,所以这是一种
并行存储器结构。
计算机组成原理 98
相联存储器
相联存储器不是按地址访问的存储器, 而是按内容寻址的
存储器 。
1.相联存储器的基本原理
如下表:
职工号 姓名 出生年月 工资数
800
540
920
750
610
张明
王芳
李平
赵洪
周进
1940.2
1960.1
1943.3
1945.2
1965.9
2000
1200
1500
1400
1000
物理地址
n
n+1
n+2
n+3
n+4
计算机组成原理 99
? 相联存储器是指其中任一存储项内容作为地址来存取的存储器。
? 选用来寻址存储器的子段叫做 关键字,简称,键” 。
? 这样,存放在相联存储器中的项可以看成具有下列格式:
KEY,DATA
其中 KEY是 地址, DATA是 被读写信息 。
? 相联存储器的基本原理是把存储单元所存内容的某一部分作为
检索项 (即关键字项 ),去检索该存储器,并将存储器中与该检
索项符合的存储单元内容进行读出或写入。
计算机组成原理 100
相联存储器 —— 单元结构
0
1D
WE
D M
Q
S
MK
比较结果
存储数据输出
屏蔽控制 读写控制
计算机组成原理 101
2.相联存储器的组成
计算机组成原理 102
相联存储器 —— 访问实例
0111
匹
配
结
果
输出寄存器
屏蔽寄存器
输入寄存器01x x
0011
0000
1110
00 01
0
0
1
0
1001
计算机组成原理 103
3.相联存储器举例
× × × × × × × × × ×.,.
0 0 1 1 1 1 1 0 0 0.,.
.,.
.,.
0
1
.,.
.,
.
.,
.
.,
.
.,
.
.,
.
.,
.
SRR WSR0 7654321 8 n
CR
MR
.,
.
.,
.
字
i
W-1
.,.
位
...
计算机组成原理 104
? 设存储器有 W个字,字长 n位。
? CR位比较寄存器,字长也为 n位,存放要比较的数(或要检索
的内容)。
? MR为屏蔽寄存器,与 CR配合适用,字长也为 n位。当按比较
数的部分内容进行检索时,相应地把 MR中要比较的位设置成
,1”,不要比较的位设置成,0”。图中表示需要按 2~ 6位的内
容
进行比较,所以 MR的 2— 6位为,1”,其余各位均置,0”。置
成
,1”的字段称为关键字段。
? SRR为查找结果寄存器,字长为 W位,假如比较结果第 i个字
满足要求,则 SRR中的第 i位为,1”,其余各位均为,0”,若
同
时有 n个字满足要求,则相应地就有 n位为,1”。
计算机组成原理 105
? 有的相联存储器还设置有 字选择寄存器 WSR,用来确定哪些
字参与检索,若字选择寄存器某位为,1”,则表示其对应的
存储字参与检索;若某位为,0”,则表示其对应的存储字不
参与检索。下面举例说明之。
假如某高校学生入学考试总成绩已存入相联存储器,如图所示。
今要求列出“总分”在 560分和 600分范围内的考生名单。
可以用二次查找完成:
第一次找出“总分”大于 559分的考生名单 ;
第二次从名单中再找出总分小于 601分的考生;
因此分别将 559分和 601分作为关键字段内容置于比较寄存器中。
计算机组成原理 106
××系
000 00
0
0
0 0
0
0
××系
××系
××系
××系
××系
××系
××系
××系
0,,, 0 0,,, 00,,, 0 0,,, 00,,, 0 1 1,,, 1
5 5 9
准考
证号
1
1
1
1
1
11
1
1
1
1
1
1
18
17
5
4
3
2
N
8
7
6
18
18
18
17
18
18
19 5 2 0
5 7 8
5 7 2
5 8 0
6 0 4
5 3 0
5 8 4
6 1 1
5 8 2
.
.
.
赵××
丁××
王××
陈××
吴××
周××
李××
孙××
钱××
男
女
男
男
男
男
女
女
女
姓名 性别 年龄 志愿 总分 S R R
第二次
查找结果
W S R
第一次
查找结果
屏蔽寄存器内容
第一次查找寄存器内容
计算机组成原理 107
在计算机系统中,相联存储器主要用于虚拟存储器中存放
分段表、页表和快表;在高速缓冲存储器中,相联存储器作
为存放 cache的行地址之用。这是因为,在这两种应用中,都
需要快速查找。
? 为了进行检索,还要求相联存储器能进行各种比较操作(相
等、不等、小于、大于、求最大值和最小值等) 。
? 比较操作是并行进行的,即 CR中的关键字段与存储器的所有
W个字的相应字段同时进行比较。这由相联存储器的具体电
路实现,极大地提高了处理速度。
计算机组成原理 108
元件故障、噪声干扰等各种因素常常导致计算机在处理信息
过程中出现错误。为了防止错误,可将信号采用专门的逻辑线
路进行编码以检测错误,甚至校正错误。
通常的方法是,在每个字上添加一些校验位,用来确定字中出
现错误的位置。
常用方法:
奇偶校验码 ;
海明校验与纠错码 ;
循环冗余校验码 。
1.为什么设置校验码
校验码
计算机组成原理 109
1、码字,由若干位代码组成,满足某种编码规律的一个代码字。
例,编码规则, 代码中 1的个数为奇数, 则
,01001001”合法, 11001001”不合法
2、码距,码距指任何一种编码的任两组二进制代码中,其对应
位置的代码最少有几个二进制位不相同。
例,若用 4位二进制数表示 16种状态,16种状态都用,则码距
L=1。若用 4位二进制数表示 8种状态,而把另外 8种状态作
为非法编码,此时的码距 L=2。
3、最小码距,指一种编码的任意两个 码字中间,对应位置 代码
变化的最少个数。 8421BCD码 0111?1001 L=3 而
0100?0101 L=1
4、数据校验的实现原理,数据校验码是在合法的数据编码之间,
加进一些不允许出现的 (非法的 )编码,使合法的数据编码出
现错误时成为非法编码。这样就可以通过检测编码的合法性
达到发现错误的目的。
数据校验码原理
计算机组成原理 110
2.奇偶校验
原理, 在 k 位数据码之外增加 1 位校验位,
使 k+1 位码字中取值为 1 的位数 保持为
偶数(偶校验 )或 奇数 ( 奇校验 )
偶校验 奇校验
校验位
0 0 0 1 0 0 0 1 1 0 0 0 1 0
0 1 0 1 0 1 0 1 0 0 1 0 1 1
原有数据位 两个新的码字
例如:
计算机组成原理 111
同理,偶校验位 C 定义为
C = x0⊕ x1⊕ … ⊕ xn-1
即 x中包含偶数个 1时,才使 C= 0。
设 x= ( x0 x1… xn-1 )是一个 n位字,则 奇校验位 C 定义为
C = x0⊕ x1⊕ … ⊕ xn-1
式中 ⊕ 代表按位加,只有当 x中包含有奇数个 1时,C= 0。
定义:
计算机组成原理 112
例 已知下表中左面一栏有 5个字节的数据。请分别用奇校验和
偶校验进行编码。
数 据 偶校验编码 C 奇校验编码 C
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 0
0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 0
0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 0
0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
0
1
0
1
0
1
0
1
0
1
计算机组成原理 113
特点:
奇偶校验可提供单( 奇数 )个错误检测,
但无法检测多( 偶 数 ) 个错误,
更无法识别错误信息的位置及纠正错误。
发送,x0 x1… xn-1C (算出 C加到需发送字的后面)
接收,x0 ' x1 ' … xn-1 ' C '
计算,F= x'0⊕ x'1⊕ … ⊕ x'n-1⊕ C '
结果:若 F= 1,意味着收到的信息有错;
若 F= 0,表明 x字传送正确。
校验方法,(以偶校验为例 )
奇偶校验码常用于存储器读写检查,或 ASCII字符传送过程
中的检查。
计算机组成原理 114
纠正器
存储器
f
比较
f
出错信号
数据输出
数据输入
M
K
M
K
K
故障字
纠错码功能
从 M位数据中产生一组新的 K位校验码与取出的纠错码功能校
验位码作比较:
1、无错误
2、检测到差错,并可以纠正。
3、检测到差错,但无法纠正。
计算机组成原理 115
1.原理
海明校验码的实现原理是:在数据位中加入几个校验位,将
数据代码的码距均匀地拉大,并把数据的每个二进制位分配
在几个奇偶校验组中。当某一位出错后,就会引起有关的几
个校验位的值发生变化,这不但可以发现错误,还能指出是
哪一位出错,为进一步自动纠错提供了依据。
2.编码规则
若海明码的最高位号为 m,最低位号为 1,即H mH m-1… H 2
H 1,则 海明码的编码规则是:
( 1)校验位与数据位之和为 m,每个校验位 Pi在海明码中被分
在位号 2i-1的位置上,其余各位为数据位,并按从低向高逐位
依次排列的关系分配各数据位。
( 2)海明码的每一位位码 Hi(包括数据位和校验位)由多个校
验位校验,其关系是被校验的每一位位号要等于校验它的各
校验位的位号之和。
海明校验码
计算机组成原理 116
3.增添校验位
假设欲检测的有效信息为 n位,需增加的校验位为 k位,则校
验码的长度为 n+k位。校验位的状态组合,应当具有指出
n+k位中任一位有错或无错的能力,即需要区别出 n+k+1种
状态。应满足以下关系式:
2k≥n+k+1
这个关系式称为 海明不等式,若信息位长度 n确定后,由此可
得到校验位 k的最短长度。
确定校验位后,就可以与信息位组成海明校验位。假设数据
位是 7位二进制编码,据上所述,校验位的位数 k为 4,故海明
码的总位数为 11。它们的排列关系可表示为:
海明码位号,H11 H10 H9 H8 H7 H6 H5 H4 H3 H2 H1
海明码,D7 D6 D5 P4 D4 D3 D2 P3 D1 P2 P1
可知,每个校验位由其本身校验;
每个数据位由若干校验位校验 。
计算机组成原理 117
4.校验位校验任务的分配
根据海明码的编码规则,每一位海明码都有多个校验位
校验,且被校验的每一位的位号等于参与校验它的几个校验
位的位号之和。
占据各权位上的校验位按权组成的 8421码,正好等于
海明码的位号,即海明码的位号 Hi正好等于要校验它的校验
位所占权位权值之和。
例如,H11= P4× 23+ P2× 22+ P1× 21
这说明了 H11位将由 P4,P2,P1进行校验。
校验位 P1可以校验,H1, H3,H5, H7, H9,H11,H13,H15
校验位 P2可以校验,H2, H3,H6,H7, H10,H11,H14, H15
校验位 P3可以校验,H4, H5,H6,H7, H12,H13,H14, H15
校验位 P4可以校验,H8,H9,H10,H11,H12,H13,H14, H15
根据校验时 偶校验,可以写出相应的校验方程。
计算机组成原理 118
例,设有一个 7位信息码位 0110001,求它的海明码。
解,此例中,信息位 n=7,根据海明不等式,可求得校验位
最短长度 k=4。
其海明码先表示如下:
海明码位号,H11 H10 H9 H8 H7 H6 H5 H4 H3 H2 H1
海明码,0 1 1 P4 0 0 0 P3 1 P2 P1
按偶校验写出校验方程为:
H1 ?H3?H5 ?H7 ?H9?H11= 0 ( P1= H1)
H2 ?H3?H6?H7 ?H10?H11= 0 ( P2= H2)
H4?H5?H6?H7= 0 ( P3= H4)
H8?H9?H10?H11= 0 ( P4= H8)
由此可得,P1= 0,P2= 0,P3= 0,P4= 0,所以 0110001
的海明码为 01100000100。
计算机组成原理 119
方法,将错了的码字重新代入校验方程校验一次即可。假设
上面例子中的海明码 01100000100传送后,若 H6位发生了
错误,变成了 01100100100,这时把它们代入上面的偶校
验校验方程,如下:
H1?H3?H5?H7?H9?H11= 0 ? 1 ? 0?0?1?0 = 0 = E1
H2 ?H3?H6?H7 ?H10?H11= 0 ? 1?1?0?1?0= 1 = E2
H4?H5?H6? H7= 0 ? 0 ? 1 ? 0 = 1 = E3
H8?H9? H10?H11= 0 ? 1 ? 1 ? 0 = 0 = E4
可以把 E4E3E2E1= 0110看成一个, 指误字,,因为其
二进制码为 0110,说明 H6出了错,是 H6错成了 1,所以要纠
错,纠错时将 H6位取反值,即让它恢复到正确值 0。这样纠
错后即可得到正确的海明码 01100000100。
5.检错与纠错
计算机组成原理 120
1,CRC的编码方法
任何一个二进制序列中的各位看成一个多项式的系数
如,1101?1× X3+1× X2+0× X1+1× X0
设,n是有效数据信息位位数,r是校验位位数。
总长 k=n+r位,称( k,n)码。
设待编码的有效信息以多项式 M(x)表示,将 M(x)左移 r
位得到多项式 M(x)*Xr,使低 r位二进制位全为零,以便与 r位
校验位拼接。使用多项式 M(x)*Xr除以 生成多项式 G(x),求得
的余数即为校验位。为了得到 r位余数 (校验位 ),G(X)必须
是 r+1位的。
循环冗余校验码
G(X)最高项的指数决定了 r的位数
计算机组成原理 121
这时将余数 R(X)与 M(x)*Xr相加,就得到 n+r位 CRC编码,
M(x)*Xr+R(x) = Q(x)*G(x) + R(x) + R(x)
因为, 两个相同数据的模 2和为零,,即 R(x) + R(x) = 0,
所以
M(x)*Xr+R(x) = Q(x)*G(x)
可以看出,所求得的 CRC码是一个可被 G(X)表示的数码除尽的
数码。
)(
)()(
G ( X )
X*M ( x ) r
XG
XRXQ ??
假设 M(x)*Xr除以生成多项式 G(x),求得的余数用表达式
R(x)表示,商的表达式用 Q(x)表示,它们之间的关系如下:
计算机组成原理 122
例 设四位有效信息位是 1100,选用生成多项式 G(X)=1011,
试求有效信息位 1100的 CRC编码。
解:
(1)将有效信息位 1100表示为多项式 M(x)
M(X) = X3 + X2 = 1100
(2)M(X)左移 r=3位,得 M(x)*X3
M(x)*X3 = X6 + X5 = 1100000
(3)用 r+1位的生成多项式 G(X),对 M(x)*Xr作, 模 2除,
1100000/1011 = 1110 + 010/1011
(4)M(x)*X3 与 r位余数 R(X) 作, 模 2加,,即可求得它
的 CRC编码
M(x)*X3 + R(X) = 1100000 + 010 = 1100010
(模 2加 )
因为 k=7,n=4,所以编好的 CRC码又称为 (7,4)码。
计算机组成原理 123
2.模 2运算,不考虑借位和进位
( 1)模 2加减,可用异或门实现,即:
0+0=0; 0+1=1; 1+0=1; 1+1=0;
0-0=0; 0-1=1; 1-0=1; 1-1=0;
( 2)模 2乘法,用模 2加求部分积之和
例如:
1011
x 11
1011
+ 1011
11101
计算机组成原理 124
( 3) 模 2除法,按模 2减求部分余数,每上一位商,部分余
数要减少一位,上商规则是,只要余数最高位为 1,则商 1,
否则为 0。当部分余数的位数小于除数时,该余数为最后余数。
例如:
111………………,商
11(除数) 1000(被除数)
11
10
11
10
11
1
计算机组成原理 125
3,CRC的译码及纠错
CRC码传送到目标部件,用约定的多项式 G(x)对收到的 CRC
码进行, 模 2除,, 若余数为 0,则表明该 CRC校验码正确;
否则表明有错,不同的出错位,其余数是不同的。由余数
具体指出是哪一位出了错,然后加以纠正。
不同的出错位,其余数也是不同的。
可以证明:更换不同的有效信息位,余数与出错位的
对应关系不会发生变化,只与码制和生成多项式 G(X)有关。
计算机组成原理 126
不是任何一个 (k+1)位多项式都能作为生成多项式,从检
错、纠错的要求来看,生成多项式应满足下列要求:
(1)任何一位发生错误,都应使余数不为零;
(2)不同位发生错误,都应使余数不同;
(3)用余数补零,继续作, 模 2除,,应使余数循环。
常用的 CRC生成多项式:
CRC-12 12位 x12+x11+x3+x2+1
CRC-16 16位 x16+x15+x2+1 ( IBM)
CRC-16 16位 x16+x12+x5+1 ( CCITT)
CRC-32 32位 x32+x26+x23+x16+x11+x10+x8+x7+x5+x4+x2+x+1
5,CRC产生电路
CRC校验码不仅检错率高,而且硬件实现简单,因而到
底广泛应用。
4.关于生成多项式