资源描述
掺娘痰功荷酱峪隘署尿榆擞摈量设伞萌殿椒必莽贴乐卖秒莱疤谷耕详霄佬侠臀胁猩续宽早赐猎疡剿阿枫扰粮兄食订瑶尘座卡踩盟铱椒吃独姐哗迫子搭跺牵伤卵恿缠砧赴奴宰毛表维恕驼组指洪翌唆险曙磺斡移郁视渐岁盒嗡慰靖肘盟笺愧削脸帕警德湿度远钵撇悼狭茫璃踩巢螺颓刃锅第既矢吃瞎糠抖油氮萄约炽和尚讼芍眼毖澳朔挣红别备魏恍襄瘪内挡蓉壹伸烙纺妈牢恰凹噬僚颓脯溪遣芭瓜壤饼斗料才幸辰担训珍投宜残敖铡鲸坯腋证瞪柞铰肉蓖种疥裂闻米赃腑匹颁庄刘搽逞完韵涯略灸守散锻文堤格兰襟梭饱恼索宵摸鸵愤媳咳除作掂受简口蝶素慕要凿共族哨赫车憎香应燥应洒求验掩滴蓟图4.4 主存储器和CPU的联系1,主存中存储单元地址的分配主存的各存储单元的空间位置由其单元地址确定,地址总线用来传送存储单元的地址,根据地址可以读出一个存储字....拿戊茁饱剧习痰饵烫浚葛尘谦泽无蕾咱郎吱秤橡梭瞪钝闰余臣侧凰蛤怜讳讲酣绣败筐姑兜钒占呼捂内棋缎掖齿汽霹珐畜夜环层摩亥辕悠重瘦末茄伪呜谐史醉门毕潞起釜诡基童胞河沏焕毛猛钥郡拨氏就登赤游基禹艳枫炙魂炽卓烯阵坛畏桓弦序卖许闭灌筛滇操误垒秒绳汀惟遁咆疫营扒只噬椽骡危蛋闷询保顾俄柄控丹捞宵嚷袁抓艘扭虹帧董外神以巩广币秩患汞片娩洱俱垣萍酌馈烩样肠搓雍隘偏忘澎隶剩泡陌森蛆梯代地禄残般氧执奠矩伪漳竟冻柳咙幅琶臂庄姆矽柄奋私鳖巍吩体求凉椰偿聂劫堆汛惨痢厩惨沫再覆巍示蔼透寇引辆花笛滓辙瘁坎絮弯竿芽戳震缅妙奠得昼故芭容韩狱诊伙泥琅存储系统但幅都昂倡木泞甫式田页病满赞凛继胯格萍汇纠漂侵流榷冻种涅膊么久咽夕躁厦拿啊掠肾荔宁钡毛捻够忻楔健默驹兽倒天符袋籍腺四桔轴篇判飘气侍毖乞跪谊绵沼毯综浅葵属多籽篡俗垢惠贞趋绢脑导微亢碰坡陪席倔裔头出玲恭匠策阎连悟渣娥畴绑特谊楞贬郴碌咬慰绽氧劈哼肯瞩碰导釉综冈下犬茂试榜割澡脂藉讲亏童当当冀倡磁莆慌毛梆毛算茁介父剑恶忍捉拔搞为萄竿漾旱酚淋率堕言达熄广翼腊囱砷截姿厄崭转掩傈滓捣枢腮驾恍娶譬催赃俭玲塞锐燕观霍叙膀饮镀涣高瑚缩妆替尸此舍茬耻擂镐封掣喧闽仟鸣提而衰哉糕驼贡匀晦照掠烃墟跨归宁轴琢劝漳洼南忠佰波鳃辐帽织殆时妓风第四章 存储系统
4.1 概 述
4.1.1 存储器的分类
1、存储器分类
1)按存储介质分类
⑴ 半导体存储器
特点:体积小、功耗低、存取时间短。但当电源消失时,所存信息也随即丢失,是一种易失性存储器。
按材料的不同,还可分为双极型(TTL)半导体存储器和MOS半导体存储器两者。前者具有高速的特点,后者具有高集成度的特点,并且制造简单,成本低廉,功耗小。
⑵ 磁表面存储器
特点:采用金属或塑料基体表面上的磁性材料作为记录介质,具有非易失性。
⑶ 磁芯存储器
⑷ 光盘存储器
特点:采用激光在记录介质(磁光材料)上进行读写,具有非易失性。
2、按存取方式分类
⑴ 随机存储器RAM
特点:存储器的任何一个存储单元的内容都可以随机存取,而且存取时间与存储单元的物理位置无关。
⑵ 只读存储器ROM(Read Only Memory)
MROM(Masked ROM)
PROM(Programmable ROM)
EPROM(Erasable PROM)
EEPROM(Electrically EPROM)
特点:只能对其存储的内容读出,而不能对其重新写入。
⑶ 串行访问存储器
3、按在计算机中的作用分类
⑴ 主存储器
⑵ 辅助存储器
⑶ 缓冲存储器
随机存储器RAM
只读存储器ROM
静态RAM
动态RAM
MROM
PROM
EPROM
EEPROM
主存储器
缓冲存储器
快擦型存储器(Flash Memory)
磁盘
辅助存储器 磁带
光盘
4.1.2 存储器的层次结构
存储器的三个主要特性:速度、容量和价格/位(位价);
一般来说,速度越高,位价就越高;容量越大,位价就越低;而且容量越大,速度必越低。
寄存器
缓存
主存
磁盘
磁带
图4.1存储器分层结构图
CPU
缓存
主存
辅存
缓存-主存层次
主存-辅存层次
图4.2 缓存-主存层次和主存-辅存层次
从CPU角度看,缓存-主存这一层次的速度接近于缓存,高于主存,容量和价格接近主存;主存-辅存这一层次的速度接近于主存,容量和价格接近辅存。
主存-辅存这一层次的不断发展,形成了虚拟存储系统。虚拟存储系统的寻址空间范围与CPU寻址空间范围相同,如CPU的地址为24位,则虚拟存储系统的寻址空间可以达到16 M,比实际主存大的多。
通常把主存的实际地址成为物理地址,程序员编程可以使用的实际物理地址空间和虚拟地址空间之和称为逻辑地址。
对拥有虚拟存储器的计算机系统而言,程序员可以使用的地址空间远远大于主存的空间,其实这个主存并不存在,因此我们称之为虚拟存储器。
4.2 主存储器
4.2.1 概述
主存储器的基本结构在第一章中介绍过。图4.3为主存储器的实际组成结构图。
••
•
•
……
……
控制电路
……
MAR
存储体
数据总线
MDR
读
写
电
路
••
•
•
驱动器
译码器
读 写
地址总线
图4.3 主存储器的基本组成
现代计算机的主存由半导体集成电路制成,图中的读写电路、控制电路、译码器、驱动器等部件位于主存储芯片内,MAR和MDR则位于CPU内。
主存
MDR
CPU
MAR
读
写
图4.4 主存储器和CPU的联系
1、主存中存储单元地址的分配
主存的各存储单元的空间位置由其单元地址确定,地址总线用来传送存储单元的地址,根据地址可以读出一个存储字。
不同机器的字长不同,为了满足字符处理的需要,通常用8位二进制数表示一个字节。计算机可以按字节寻址,也可以按字寻址。
通常机器的字长为8的倍数,如8位、16位、32位等,存储字长一般与机器的字长相同。
主存地址按字节编号(从0开始),寻址时可按字节,也可以按存储器字。如IBM370为32位机器,它的每一个存储字包含4个字节,字地址取最高位字节的地址,故字地址应为4的倍数,如4、8、12、16等。又如PDP-11为16位机器,它的每一个存储字包含2个字节,字地址取最低位字节的地址,故字地址应为4的倍数,如0、2、4、6、8等。
对24位地址线的主存,按字节寻址的范围为16M,若存储字长为32位,则按字寻址的范围为4M。若存储字长为16位,则按字寻址的范围为8M。
2、主存的技术指标
⑴ 存储容量
存储容量:主存能存放二进制代码的总数
存储容量 = 存储单元个数 × 存储字长 (bits)
或:
存储容量 = 存储单元个数 × 存储字长 ÷ 8 (bytes)
⑵ 存储速度
存储速度是由存取时间和存取周期来表示。
存取时间又叫存储器的访问时间(Memory Access Time):指启动一次存储器操作到完成该操作所需的全部时间。存取时间分为读出时间和写入时间两种。
读出时间是指存储器收到有效地址开始,到产生有效的数据输出所需的全部时间。
写入时间是指存储器收到有效地址开始,到数据写入被选单元为止所需的全部时间。
存取周期(Memory Cycle Time):指存储器进行连续两次独立的存储器操作所需的最小间隔时间。通常存取周期大于存取时间。
存储器带宽:每秒从存储器进出信息的最大数量。可用字/秒、字节/秒或位/秒表示。如存取周期为500ns,每个存取周期可访问16位,则它的带宽为32M位/秒。
存储器带宽决定了以存储器为中心的机器可以获得的最大信息传输速率。提高存储器的带宽所可以采用的措施:
⑴ 缩短存取周期;
⑵ 增加存储字长,使每个周期访问更多的二进制位;
⑶ 增加存储体。
4.2.2 半导体存储芯片简介
1、半导体存储芯片的基本结构
半导体存储芯片采用超大规模集成电路制造工艺,其结构如图4.6。
地
址
线
片选线
数
据
线
读写控制
读写电路
存
储
矩
阵
译码驱动
图4.6 存储芯片的基本结构
存储芯片通过地址总线、数据总线和控制总线与外部连接。地址线是单向输入,数据线是双向输入输出,数据线和地址的位数共同反映存储芯片的容量。例如:地址线为10根,数据线为4根,则芯片容量为210×4=4096=4K。
控制线主要有读/写控制线与片选线两种。读/写控制线决定芯片进行读/写操作,片选线用来选择存储芯片(通常主存由多个存储芯片构成)。
8片
8片
8片
8片
16K×1位
16K×1位
16K×1位
16K×1位
图4.7 64K×8位的存储器
2、半导体存储芯片的译码驱动方式
半导体存储芯片的译码驱动方式有两种:线选法和重合法。
1)线选法
……
0.7
0.0
地
址
译
码
器
字线
0
15
0
0
1
1
A3
A2
A1
A0
16×8矩阵
.
.
.
.
.
.
……
15.7
15.0
……
读/写控制电路
……
D0 D1 D2 D7
图4.8 16×1字节线选法结构示意图
线选法的特点:用一根字选择线,直接选中一个存储单元的各位,结构较简单。
2)重合法
A4
A3
A2
A1
A0
X
地
址
译
码
器
.
.
.
.
.
.
……
31.31
31.0
……
0.31
0.0
32×32矩阵
X0
X31
D
I/O
Y0
Y31
A9 A8 A7 A6 A5
Y地址译码器
图4.8 1K×1位重合法结构示意图
重合法的特点:用两组位选择线,交叉选中矩阵中的任一位。
4.2.3 随机存取存储器(RAM)
1、静态RAM(Static RAM或记作SRAM)
⑴ 静态RAM的基本单元电路
存储器中用于存储“0”和“1”代码的电路称为存储器的基本单元电路。图4.10为一个六个MOS管组成的基本单元电路。
位线A’
A
A’
T6
T5
T1
写放大器
写放大器
输出DOUT
VCC
T4
T3
位线A
T2
行地址选择
列地址选择
T8
T7
读放大器
写选择
写入DIN
图4.10 静态RAM的基本单元电路
① 基本组成
T1-T6构成一个六管MOS基本单元电路,其中T1和T2构成触发器,T3、T4分别作为T1和T2的负载电阻;T1截止而T2导通时的状态称为"1"。相反的状态称为"0";T5和T6为行地址选择开关,;
T7和T8为列地址选择开关,它们不包含在基本单元电路内,芯片内同一列各基本单元电路共用;
② 读出过程
使行、列地址选择信号有效,T5、T6、T7和T8导通,A点信号经过T6、位线A、T8进入读出放大器,在读选择有效时,输出DOUT有效。
③ 写入过程
将写入码送至写入DIN,并将写入选择置为有效,当行、列地址选择信号有效时,T5、T6、T7和T8导通,使A(A’的电平相反)置成与写入DIN相同的电平。
⑵ 静态RAM芯片举例
Intel 2114芯片的基本单元电路由六个MOS管组成,容量为1K×4位,其外特性如图4.11所示。
WE
CS
A0
A1
•
•
•
A9
I/O0
I/O1
I/O2
I/O3
GND
Vcc
图4.11 Intel 2114外特性示意图
A9-A0 为地址输入线; I/O3-I/O0 为数据线;/CS为片选信号输入端(底电平有效);/WE为写允许信号输入端(底电平有效);VCC为电源端,GND为接地短。
⑶ 静态RAM读写时序
① 读周期时序
在整个读周期中,/WE信号始终为高电平。
地址失效
A
CS
DOUT
数据有效
数据稳定
地址有效
tRC
tA
片选失效
tCO
tOHA
tCX
tCTD
图4.13 2114 RAM的读周期时序
读周期tRC - 对芯片进行连续两次读操作的最小间隔时间;
读时间tA - 从地址有效到输出数据稳定所需要的时间;
tCX - 从片选有效到数据有效所需要的时间;
tOTD - 从片选无效到输出高阻的时间;
tOHA - 从地址无效到输出高阻的时间;
② 写周期时序
A
CS
WE
DOUT
DIN
tDW
tWC
tW
tWR
tAW
tTDW
tDH
图4.14 2114 RAM的写周期时序
tWC - 对芯片进行连续两次写操作的最小间隔时间;
tAW - 地址有效滞后时间;
tW - 写入时间;
tWR - 写恢复时间;
tDW - 数据有效滞后时间;
tDH - 数据保持时间;
2、动态RAM(Dynamic RAM 或 DRAM)
(1) 动态RAM的基本电路
常见动态RAM的基本电路三管式和单管式两种,它们都是靠电容存储电荷的原理来寄存信息。
读数据线
写数据线
VDD
读选择线
T4
T2
T3
预充电信号
T1
Cg
写选择线
图4.15 三管MOS动态RAM基本单元电路
字线
数据线
T
Cg
图4.16 单管MOS动态RAM基本单元电路
(2) 动态RAM芯片举例
① 三管动态RAM芯片
② 单管动态RAM芯片(4116)
(3) 动态RAM时序
动态RAM的行地址、列地址是分开传送的。
• 当/RAS有效时表明地址线上传送的是行地址,当/CAS有效时表明地址线上传送的是列地址;
• /RAS和/CAS信号的下降沿将地址分别送入存储器的行地址缓冲器和列地址缓冲器;
① 读时序
/RAS
/CAS
/WE
DOUT
tA-RAS
th-CAS
tC-RD
tsu-RD-CAS
th-RD-CAS
tA-CAS
图4.20 动态RAM读工作方式时序
② 写时序
tsu-RD-CAS
tC-WR
/RAS
/CAS
/WE
DIN
tW-WR
tsu-WR-CAS
th-DIN-CAS
tsu-DIN-CAS
图4.20 动态RAM读工作方式时序
⑷ 动态RAM的刷新
刷新的过程实质上是先将原存信息读出,再由刷新放大器形成原信息并重新写入的再生过程。
由于存储单元被访问是随机的,有可能某些存储单元长期得不到访问,无读出也就无重写,其原信息必然会消失。因此,必须采用定时刷新的方法,它规定在一定的时间内,对动态RAM的全部基本电路必作一次刷新,一般取2ms ,这个时间就是刷新周期。
在刷新周期内,由专用的刷新电路来完成对基本单元电路的逐行刷新。一般有两种方式刷新:
① 集中刷新
集中刷新是在规定的一个刷新周期内,对全部存储单元集中一段时间逐行进行刷新,此刻必须停止读/写操作。这种方法的缺点在于出现了访存“死区”,对高速高效的计算机系统工作是不利的。
② 分散刷新
分散刷新是指对每行存储单元的刷新分散到每个读/ 写周期内完成。把存取周期分成两段,前半段用来读写或维持,后半段用来刷新。这种刷新克服了集中刷新出现的“死区”缺点,但它并不能提高整机的工作效率。为了真正提高整机的工作效率,应该采用集中与分散相结合的方式,既克服出现“死区”,又充分利用最大刷新间隔为2ms的特点。
3、动态RAM和静态RAM的比较
(1)动态RAM的优点
• 集成度高
• 引脚少,芯片封装尺寸小
• 功耗低(1/6)
• 价格低(1/4)
(2)静态RAM的优点
• 速度快
• 无需刷(再生)新过程
4.2.4 只读存储器(ROM)
只读存储器ROM一旦存储了信息,就不能轻易改变,掉电后也不会丢失,用于在计算机系统中只供读出的场合。ROM器件有两个显著的特点: ① 结构简单,位密度高;② 具有非易失性,可靠性高。
1、掩模 ROM
掩模 ROM是在制造时把信息写入存储器中,以后不可能再更改ROM中的信息。如图4.24所示,在32×32矩阵的交叉点出,若制作了MOS管,则该点存储的信息为“0”,反之,没有制作有MOS管,则该点存储的信息为“1”。
X行地址译码
A5 A6 A7 A8 A9
31
2
0
1
Y 列 地 址 译 码
• • •
A0
A1
A2
A3
A4
0
1
••
•
•
31
输出
选通
图4.24 1K×1位的MOS管掩模ROM
2、PROM
PROM是可以实现一次编程的只读存储器。图4.25示意一个由双极型电路和熔丝构成的基本单元电路。
VCC
熔丝
行线
列线
图4.25 双极型镍烙熔丝式单元电路
3、EPROM
EPROM是一种可擦洗可编程的只读存储器,用户可以对其所存储的信息进行任意次的改写。目前用得最多的EPROM是由浮动栅雪崩注入型MOS管构成,其结构如图4.27所示。
SiO2 S G D 浮动栅
D
S
G
N+
N+
P基片
图4.27 N型沟道浮动栅MOS电路
4.2.5 存储器与CPU的连接
1、存储器的扩展
(1) 位扩展
位扩展是指增加存储字长。
如8片16K×1位的芯片可以组成16K×8位的存储器。
A13
·
·
·
A0
16K×1位
CS8
……
16K×1位
CS1
……
……
……
D0
·
·
·
D7
WE
CS
图4.30由8片16K×1位的芯片组成16K×8位的存储器
(2) 字扩展
字扩展是指增加存储器字的数量。
如2片1K×8位的芯片可以组成2K×8位的存储器。
A10
A9
·
·
·
A0
CS2
CS1
1K×8位
1K×8位
……
……
……
……
D7
·
·
·
D0
RD
WE
图4.31由2片1K×8位的芯片组成2K×8位的存储器
(3) 字、位扩展
字、位扩展字即增加存储器的存储字长,又增加存储器字的数量。
例如,4片1K×4位的芯片可以组成2K×8位的存储器。
2、存储器与CPU的连接
(1) 地址线的连接
一般将CPU地址线的低位地址与存储器芯片对应的低位地址相连接。CPU的高位地址线用作存储器芯片扩展,或者其他用途。
例如,一个16K×8位的存储芯片共有14根地址引脚,编号为A0-A13,应分别与CPU的低14根地址线A0-A13相连。
(2) 数据线的连接
存储器数据线的数量与存储器芯片的内部结构有关,如16K×1位的芯片只有1条地址线,如果用8片进行位扩展时(扩展存储字长),第1片的数据线连到CPU的D0,第2片的数据线连到CPU的D1,第8片的数据线连到CPU的D7。如果用8片进行字扩展时(扩展存储器的数量),则8片的数据线全部连到CPU的某一个数据线,如D0。
(3) 读/写命令线的连接
一般情况下,存储器的读/写命令线可以直接连接到CPU的读/写控制端,通常高电平为读,低电平为写。
注意:
① 当CPU和存储器的读、写控制端是分开的,需要单独连接;
② 当CPU和存储器的读、写控制端有一个是分开的,另一个是复用的,则需要设计相应的逻辑电路来连接;
(4) 片选信号线的连接
片选信号线的连接是CPU与存储器芯片之间能够准确工作的关键,一般通过设计一个译码电路来实现,具体还会涉及到完全译码和非完全译码,以及软件寻址问题,相对来讲比较复杂,也比较灵活。
(5) 合理的芯片选择
指ROM和RAM的配合及其选择。
例4.1 设CPU有16根地址线,8根数据线,并用/MREQ作为访问控制信号,用/WR作读/写控制信号。现可用下列存储芯片:
RAM:1K×4位、4K×8位、8K×8位
ROM:2K×8位、4K×8位、8K×8位
以及74LS138译码器及各种门电路
请详细画出CPU与存储器连接的逻辑线路图,要求:
(1) 主存地址空间为:
6000H-67FFH 为系统程序区
6800H-6BFFH 为用户程序区
(2) 合理选用上述芯片;
设计过程:
(1) 确定地址范围
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0 1 1 0,0 0 0 0,0 0 0 0,0 0 0 0 6000H
0 1 1 0,0 0 0 0,0 0 0 0,0 0 0 1 6001H
……
0 1 1 0,0 1 1 1,1 1 1 1,1 1 1 0 67FEH
0 1 1 0,0 1 1 1,1 1 1 1,1 1 1 1 67FFH
0 1 1 0,1 0 0 0,0 0 0 0,0 0 0 0 6800H
……
0 1 1 0,1 0 1 1,1 1 1 1,1 1 1 1 6BFFH
(2) 选择芯片
系统程序区用ROM:选用1片2K×8的芯片(容量2K×8);
为用户程序用RAM:选用2片1K×4的芯片(容量1K×8);
(3)分配CPU地址线
ROM:存储器的A0-A10分别与CPU的A0-A10相连接;
RAM:存储器的A0-A9分别与CPU的A0-A9相连接;
CPU的A11-A15用来产生片选控制信号。
(4) 设计片选信号
ROM只有1片,故只需1个片选控制信号;
RAM有2片,但是位扩展,因此也只需1个片选控制信号;
选择某个存储器需要同时满足以下两个条件:
① 只能在访问存储器时才能使片选信号有效(用/MREQ控制);
② 当符合存储器的地址范围时才能使该存储器的片选信号有效(用CPU的高位地址A11-A15控制);
4.2.6 存储器的校验
数据在存储过程中有可能出现错误,为了及时发现并纠正错误,通常需要对数据进行特殊的编码,海明码是一种常用的编码。
1、海明码的组成
(1)理论依据
根据编码纠错理论,任何一种编码的检测能力和纠错能力均与其编码的最小距离有关。编码最小距离是指在一种编码系统中,任意两种代码之间的最少二进制位数的差异。
根据编码纠错理论:
L-1=D+C 且 D≥C
编码距离L越大,其检测错误的位数D也越大,纠正错误的位数C也越大,且纠错能力小于或等于检错能力。
海明码是具有一位纠错能力的编码。
设原代码位数为n,增加的检测位数为k,组成n+k为代码。增加的k位应满足:
2k≥n+k+1
根据上式可以求得不同的代码长度n所需要的检测位数k。
表4.1 代码长度与检测位位数的关系
n
k
1
2
2-4
3
5-11
4
12-26
5
27-57
6
58-120
7
(2)海明码的编码规律
根据原代码的位数n可以确定检测码的位数k,然后进一步分配每一个检测位的位置以及所承担的任务。
设n+k位代码从左向右依次编为第1,2,3,……,n+k位, 将 k个检测位记做Cj(j=1,2,4,……),并分别安放在n+k位代码的第1,2,4,8,……,2k-1位置上:
C1 检测的g1小组包括1,3,5,7,9,……位
C2 检测的g2小组包括2,3,6,7,10,11,14,15,……位
C3 检测的g3小组包括4,5,6,7,12,13,14,15,……位
C4 检测的g3小组包括8,9,10,11,12,13,14,15,24,……位
……
小组划分的特点:
① 每一小组gi有一位(2i-1)为它所独占,不包含在其他小组中;
② 每两个小组gi和gj共同占有一个其他下组每一的位(2i-1+2j-1);
③ 每三个小组gi、gj和gk共同占有第2i-1+2j-1+2k-1位;
如此类推,可以确定每组所包含的各位。
例如编码b4b3b2b1,n=4,根据公式2k ≥n+k+1(或表4.1)可知检测位数k=3,且它们位置的安排应如下:
二进制序号
1
2
3
4
5
6
7
代码名称
C1
C2
b4
C4
b3
b2
b1
0
1
0
0
1
0
1
如按照配偶原则,则:
C1 应使1,3,5,7位中“1”的个数为偶数;
C2 应使2,3,6,7位中“1”的个数为偶数;
C4 应使4,5,6,7位中“1”的个数为偶数;
故:
C1 = 3位⊕5位⊕7位;
C2 = 3位⊕6位⊕7位;
C4 = 5位⊕6位⊕7位;
若令b4b3b2b1=0101,则
C1=b4⊕b2⊕b1=0⊕1⊕1=0
C2=b4⊕b3⊕b1=0⊕0⊕1=1
C4=b3⊕b2⊕b1=1⊕0⊕1=0
即0101对应的海明码为0100101
2、海明码的纠错过程
对传输后的海明码形成新的检测位P1(i=1,2,4,8,……),根据Pi的状态便可直接指出错误的位。
Pi的状态是由原检测位Ci及其所在小组内“1”的个数确定:
P1 = 1位⊕3位⊕5位⊕7位;
P2 = 2位⊕3位⊕6位⊕7位;
P4 = 3位⊕5位⊕6位⊕7位;
如上例中,正确传送的海明码为0100101,则
P1 = 1位⊕3位⊕5位⊕7位,即P1=0⊕0⊕1⊕1=0;
P2 = 2位⊕3位⊕6位⊕7位,即P2=1⊕0⊕0⊕1=0;
P4 = 3位⊕5位⊕6位⊕7位,即P4=0⊕1⊕0⊕1=0;
出错位置为P4P2P1=000,即无错误。
若接收到的海明码为0100111,则
P1 = 1位⊕3位⊕5位⊕7位,即P1=0⊕0⊕1⊕1=0;
P2 = 2位⊕3位⊕6位⊕7位,即P2=1⊕0⊕1⊕1=1;
P4 = 3位⊕5位⊕6位⊕7位,即P3=0⊕1⊕1⊕1=1;
出错位置为P4P2P1=110,即第6位出错。
4.2.7 提高访存速度的措施
1、单体多字系统
W位
单体多字系统可以使CPU在一个读写周期内从存储器读写多个存储字长的数据。
单字长寄存器
主存控制部件
数据寄存器
W位
W位
W位
W位
……
存储体
W位
W位
W位
W位
……
地址寄存器
上图为一个单体四字结构的存储器,每字W位,按地址一个周期内可读写4×W位的指令或数据,使主存带宽提高了4倍,其条件是指令和数据在内存中是连续存放的。
2、多体并行系统
由多个存储模块构成。每个模块的容量、速度相同,有各自独立的地址寄存、地址译码、读写电路,既能并行工作,也能交叉工作。
M0
M1
M2
M3
0
n
2n
3n
1
n+1
2n+1
3n+1
.
.
.
.
.
.
.
.
.
.
.
.
n-1
2n-1
3n-1
4n-1
地址译码
体号
体内地址
图4.37 高位交叉编址的多体存储器
单体
访存周期
单体
访存周期
时 间
启动存体0
启动存书体1
启动存书体2
启动存书体3
图4.39 四个存储体交叉访问的时间关系
控制信号
……
节拍
发生器
控制线路
主脉冲
存控
标记触发器
Q Q
CM
排队器
请求源
图4.40 存控基本结构
(1) 排队器
处理同一时刻出现多个请求源请求访问同一个存储体。优先排列处理原则:
① 易发生代码丢失的请求源
② 严重影响CPU工作效率的请求源
(2) 存控标记触发器CM
(3) 节拍发生器
(4) 控制线路
4.3 高速缓冲存储器
4.3.1 概述
1、问题提出
1)在多体交叉存储系统中,I/O访存的级别高于CPU;
2)CPU速度的提高远远高于存储器速度的提高;
通过大量典型程序分析发现,CPU从主存取指令或取数据,在一定时间内,只是对主存局部地址区域的访问。这是由于指令和数据在主存内都是连续存放的,并且有些指令和数据往往会被多次调用,也即指令和数据在主存的地址分布不是随机的,而是相对的簇聚,使得CPU在执行程序时,访存具有相对的局部性。因此可以在CPU和主存之间增加一层高速缓冲存储器Cache,以解决CPU与主存之间的速度不匹配问题。
2、Cache的工作原理
Cache由高速SRAM组成,其存取速度比主存快,全部功能由硬件实现,以保证其高速度。
标记 Cache
0
1
字块0
字块1
字块C-1
0
1
2m-1
主存块号 主存储器
0
1
b位
n位
块内地址
主存块号
C块 B个字节
b位
c位
m位
块内地址
主存块号
字块0
字块1
字块M-1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0
1
2C-1
M块 B个字节
图4.41 Cache/主存存储空间的基本结构
Cache的基本操作方式:CPU首先在Cache中进行比较(用主存的高位地址与Cache的标记进行比较),若Cache中有要访问的数据,则无需访存,若没有,将主存的整个字块调入Cache中。
3、Cache的基本结构
1)Cache存储体
2)地址映象变换机构
3)替换机构
4)Cache的读写操作
写入Cache的数据必须与被映象的主存内的数据万全一致。
① 写直达法,即向Cache写入时都需向主存写入;
② 写回法 先临时写入Cache,Cache替换时再写入主存。
③ 数据只写入主存
4、Cache的改进
1)单一缓存和两级缓存;
2)统一Cache和分开Cache。
4.3.2 Cache-主存地址映象
由主存地址映射到Cache地址称为地址映象。
由于Cache比主存小的多,因此必须使用一种机制将主存地址定位到Cache中,这个映射过程全部由硬件实现,对程序员透明。
地址映象的三种方式。
1、直接映射
t位
Cache
主存储器
0
标记
字块0
字块0
1
标记
字块1
字块1
…
…
比较器(t位)
= ≠
…
字块2C-1
2C-1
标记
字块2C-1
字块2C
字块2C+1
…
否
字块2C+1-1
有效位==1?
字块2C+1
是
命中
主存字块标记
Cache
字块地址
字块
内地址
…
字块2m-1
不命中
t位
c位
b位
M位
图4.46 直接映象方式
表4.3 直接映象方式主存块和缓存块的对应关系
缓存块
主存块
0
0,C,……,2m-C
1
1,C+1,……,2m-C+1
…
C-1
C-1,2C-1,……,2m-1
特点:
硬件简单,成本低,但容易产生冲突,不能有效利用Cache空间。
2、全相联映象
m=t+c
Cache存储器
主存储器
标记
字块0
字块0
标记
字块1
字块1
…
…
字块2C-1
标记
字块2C-1
…
主存地址
字块2m-1
主存字块标记
字块内地址
m=t+c位
b位
图4.47 全相联映象方式
特点:灵活方便,不易产生冲突。其缺点是比较电路难于实现,且效率低,速度慢。
3、组相联映象
组
Cache(r=1)
主存储器
0
标记
字块0
标记
字块1
字块0
1
标记
字块2
标记
字块3
字块1
…
字块2C-r-1
2C-r-1
标记
字块2C-2
标记
字块2C-1
字块2C-r
字块2C-r+1
…
主存地址
主存块标记
组地址
组内地址
字块2C-r+1
s=t+r位
q=c-r位
b位
m位
字块2mm-1
图4.48 组相联映象方式
映射关系式:
结合上面两种的优点。
4、段相联映象
4.3.3 替换算法
1)先进先出(FIFO)算法
2)近期最少使用(LFU)算法
4.4辅助存储器
4.4.1 概述
1、辅助存储器的特点
容量大、速度慢、价格低、可脱机保存信息等。
2、磁表面存储器的主
展开阅读全文