第4章存储器系统 - 同济大学软件学院

Download Report

Transcript 第4章存储器系统 - 同济大学软件学院

第 四 章
存 储 器 系 统
4.1 存储器概述
4.2 存储器子系统组成和接口
4.3 I/O子系统组成和接口
4.4 辅助存储器
4.5 相对简单计算机
4.6 实例:一台基于8085的计算机
同济大学 软件学院
4.1
存储器概述
◆ 存储器
计算机的存储部件,用于存放程序和数据。
◆ 计算机发展的重要问题之一,就是如何设计容量
大、速度快、价格低的存储器。
◆ 本章讨论:存储器的基本结构与读写原理
4.1.1 存储器的种类
1. 按存储介质分类
存储介质特点:①两种稳定状态;②方便检测;
③容易相互转换。
(1) 半导体存储器:速度快,用作内存。
◆ 记忆原理:触发器、电容(静态、动态)
◆ 双极型晶体管(ECL、TTL、I2L)
◆ 场效应管型MOS (PMOS、NMOS、CMOS)
(2) 磁表面存储器:容量大,用作外存。
(3) 光存储器:可靠性高,保存时间长。
2. 按存储方式分类
存储方式:访问存储单元的方法。
两个名词术语:
◆ 存储位元:记录(存储)一位二进制信息的存储
介质区域或存储元器件。
◆ 存储单元:存储一个机器字或一个字节,且具有
唯一地址的存储场所。
(1) 随机访问存储器RAM
存储器的任意单元都可随机访问。
◆ 访问时间与存储单元的位置无关
(2) 只读存储器ROM
正常工作时只读,能随机读出,不能随机写入。
◆ MROM:只读
◆ PROM:一次写
◆ 可多次改写ROM:EPROM、E2PROM
(3) 顺序存取存储器
◆ 信息以文件形式组织,一个文件包含若干个块,
一个块包含若干字节;
◆ 存储时以数据块为单位存储,数据的存储时间
与数据物理位置关系极大;
◆ 速度慢,容量大,成本低;
◆ 磁带、电荷耦合器件CCD、VCD
(4) 直接存取存储器
信息的组织同顺序存取存储器。对信息
的存储分两步:先随机查找数据区域,找到
后再顺序存储。
例:磁盘
扇间空隙
盘片
扇区
磁道
3. 按存储器信息的可保存性分
(1) 断电后是否丢失数据
◆ 易失性存储器
特点:断电后,信息就丢失。如SRAM
◆ 非易失性存储器(永久性存储器)
特点:断电后,信息不丢失。如磁盘
(2) 读出后是否保持数据
◆ 破坏性存储器
特点:读出时,原存信息被破坏,需重写。
如:DRAM
◆ 非破坏性存储器
特点:读出时,原存信息不被破坏。
如:SRAM
4. 按在计算机系统中的作用分类
(1) 高速缓冲存储器:位于主存和CPU之间
(2) 主存储器
(3) 辅助存储器:不能由CPU的指令直接访问,
必须通过专门的程序或专门的通道把所需
的信息与主存进行成批交换,调入主存后
才能使用。
4.1.2 主存储器的基本操作
1.主存与CPU之间的连接
数据总线
MDR
读
CPU
MAR
写
地址总线
主 存
2.主存储器的基本组成
地
址
总
线
地址
寄存器
MAR
地
地
址
址
译 … 驱 …
动
码
电
器
路
存储体
存储控制电路
读信号 写信号
读
写
电
路
数据
寄存器
MDR
数
据
总
线
3. 主存的基本操作
MAR:地址寄存器
MDR:数据寄存器
读操作(取操作)
CPU
MEM
AB
地址
(MAR)
MEM
CB
读命令
(Read)
MEM
存储单
元内容
(M)
DB
写操作(存操作)
CPU
MDR
MEM
AB
地址
(MAR)
MEM
CB
写命令
MEM
(Write)
DB 存储单元
MDR
M
◆ 从系统的角度看计算机怎样执行这些操作
图4.2 存储器读写数据的操作时序
4.1.3 存储器的主要技术指标
(1) 存储容量:存储器所能存储的二进制信息总量。
(2) 速度: 主存的一项重要技术指标。
◆ 存取时间:又称访问时间,是指从启动一次存储
器操作到完成该操作所经历的时间。
◆ 存储周期: 指连续启动两次独立的存储体操作所
需的最小时间间隔。它包括存储器的存取时间和
自身恢复时间。
(3) 带宽(存储器数据传输率、频宽):存储器单位时间
所存取的二进制信息的位数。
带宽=存储器总线宽度/存取周期
(4) 价格(每位价格)
除上述指标外,影响存储器性能的还有功耗、
可靠性等因素。
4.2 存储器子系统组成和接口
4.2.1 半导体存储器的种类
◆ 主存储器主要由半导体存储器实现
◆ 半导体存储器(按存储方式分)
(1)随机存取存储器
(Random Access Memory,RAM)
(2)只读存储器
(Read-Only Memory,ROM)
它们各自有许多不同的类型。
4.2.1.1 ROM芯片
1. 按可编程方式和频度的不同,ROM芯片有几种不同
的类型:
(1) 掩膜式ROM(或简单地称为ROM)
在芯片制作时就将数据编程进去了。一
旦安装完毕,数据就不再更改。
双极型固定掩模型ROM
(2) PROM(可编程ROM)
可由用户使用标准的PROM编程器编程。
具有保险丝一样的内部连接,只能编程一次。
存储位元的基本结构有两种:
全“1”熔断丝型、全“0”肖特基二极管型
双极熔丝型PROM存储矩阵
(3) EPROM是可擦除PROM
能编程,内容可以擦除,即可以重复编程。
编程类似电容器充电,紫外线照射可重置其内
容。
叠栅注入MOS管(Stacked-gate Injection MOS,SIMOS)
(4) EEPROM,或E2PROM,电可擦除PROM
和EPROM相似,但用电擦除和重编程,不用
紫外线。可修改个别单元,重编程只要几秒钟。
(5) flash E2PROM
Intel公司 80年代后期
一种高密度、非易失性的可读/写存储器
可用电擦除数据块,而不是单个的存储单
元。兼备了EEPROM和RAM的优点。
2. 不管哪一种ROM,它们的外部配置几乎一样。
把存储体及其外围电路(包括地址译码与驱动
电路、读写放大电路及时序控制电路等))集成在一块
硅片上,称为存储器芯片。
片选线
(使能端)
译
码
驱
动
存
储
体
读
写
电
路
……
……
地
址
线
数
据
线
读/写控制线
存储器芯片的基本结构
ROM芯片:2n ×m位
则它有:n个地址输入An-1~A0
m个数据输出Dm-1~D0
芯片使能输入端(CE)
输出允许端(OE)
除掩膜式ROM,其它所有的ROM都有一个编程
控制输入端(VPP),用来控制向芯片输入数据。
4.2.1.2 RAM芯片
1. 按保持数据方式的不同,RAM芯片分为:
(1) 动态RAM(DRAM)
利用MOS晶体管极电容(或MOS电容)上充
积的电荷来存储信息的。
通常定义:电容充电至高电平,为1;
电容放电至低电平,为0。
由于有漏电阻存在,电容上的电荷不可
能长久保存,需要周期地对电容进行充电,
以补允泄漏的电荷,这就叫刷新。
单管MOS动态存储位元电路
定义:C上有电荷
— “1”
C无电荷 — “0”
W
T
保持:字线w低,T截止,
切断了C的通路,C
上电荷状态保持不
变。当然由于漏电
存在,需刷新。
C
C0
D
写入操作
写入“1”,位线D上加高电位,对电容C充电。
写入“0”,位线D上加低电位,电容C通过T放电。
读操作
当T导通以后,若原存信息为“1”,电容C上的电荷
通过T输出到位线上,在位线上检测到电流,表示所存
信息为“1”。
若原存信息为“0,电容C上几乎无电荷,在位线上
检测不到电流,表示所存信息为“0”。
(2) 静态RAM(SRAM)
利用触发器来存储信息 。一旦写入数据,
内容一直保持有效,不需要刷新。
一种六管静态存贮
元件电路,它由两个反
相器彼此交叉反馈构成
一个双稳态触发器。
定义:T1通导,T2截止,
为“1”状态;
T2 通导, T1
截止,为 “ 0 ” 状态。
字驱动线 W
Vcc
T5
T3
T6
T4
A
B
T1
位线 D
T2
位线 D
D
保持
字驱动线W处于低电位时,T5、T6截止,切断了两根
位线与触发器之间的联系。
写入操作
写入“1”:位线D上加低电位,位线D上加高电位,即
B点为高电位,A点为低电位,导致T1导通,T2截止,保
存了信息“1”。
写入“0”:位线D上加高电位,位线D上加低电位,即
B点为低电位,A点为高电位,导致T2导通,T1截止,保
存了信息“0”。
读操作
若原存信息为“1”,即T1导通,T2截止。这时B点
为高电位,A点为低电位,分别传给两根位线,使得位
线D为低电位,位线D为高电位,表示读出的信息为
“1”。
若原存信息为“0”,即T2导通,T1截止。这时A点
为高电位,B点为低电位,分别传给两根位线,使得位
线D为高电位,位线D为低电位,表示读出的信息为
“0”。
2. 动态RAM与静态RAM的比较
集成度、功耗、容量、速度、价格
3. 两种RAM外部配置相同
2n×m的芯片都有:
n个地址输入
m个双向数据引脚
(正常操作条件下数据引脚也可输入数据)
芯片使能端(CE或者CE’)
读使能端(RD或RD’)
写使能端(WR或WR’)
或一个组合的信号,如R/W’
4.2.2 内部芯片组成
ROM、RAM芯片内部组成相似。
1. 线性组成(linear organization)
随着单元数量的增加,线性组成中地址译码
器的规模变得相当的大。此时可使用多维译码。
图4.4 8×2的ROM芯片的内部线性组成
◆ 三位地址被译码,以选择8个单元中的1个,
但CE要有效。如果CE=0,译码器无效,则不选
择任何单元。译码选中单元的三态缓冲器有效,
允许数据传送到输出缓冲器中。如果CE=1且
OE=1,则输出缓冲器有效,数据从芯片中输出;
否则,输出是三态。
线性组成的存储器芯片(64字×8位)
CE
2. 二维组成(two-dimensional organization)
多维译码带来的节省很重要。
如:4096×1的芯片,其线性组成需要一个12~4096
译码器,大小与输出的数量(4096)成正比。如
果排列成64×64的二维数组,则要两个6~64译
码器,大小正比于2×64。两个译码器一起大约
是那个大译码器大小的3%。
图4.5 8×2的ROM芯片的内部二维组成
二维组成的存储器芯片(16×1位)
0,0
0,1
0,2
0,3
1,0
1,1
1,2
1,3
2,0
2,1
2,2
2,3
3,0
3,1
3,2
3,3
Y0
Y1
X0
2 位
A3
地址
A2
X X1
地
址
译
码 X2
器
X3
数据 D
读写控
制电路
Y2
Y 地址译码器
读写信
号 R/W
片选信
号 CS
A1
A0
2 位地址
Y3
4.2.3 存储器子系统的组成
构造单个芯片的存储器只需从系统总线上连接地址、
数据和控制信号。大多数存储器系统需要组合多个芯片。
要组成一个主存储器,需要考虑的问题:
① 如何选择芯片
根据存取速度、存储容量、电源电压、功耗及成本等
方面的要求进行芯片的选择。
② 所需的芯片数量
例:用1K×4位芯片组成32K×8位的存储器,所需芯片为:
③ 如何把许多芯片连接起来。
通常存储器芯片在单元数和位数方面都与实际存储器
要求有很大差距,所以需要在字方向和位方向两个方面进
行扩展。
一、组合构造多位
连接芯片相应的地址和控制信号,数据引脚连
到数据总线的不同位。
例:2个8×2的芯片组合成一个8×4的存储器
◆ 共同的三位地址输入,共同的CE、OE信号。
◆ 第一个芯片数据引脚连到数据总线的第3位
和第2位,
◆ 第二个芯片数据引脚则连在第1位和第0位。
图4.6 由两个8×2ROM芯片构成的8×4存储器子系统
用4K×2位的RAM存储芯片构成4K×8位的存储器
12 位地址
A0
A1
…
A11
…
…
4K×2 位
RAM 芯片
8 位数据
D0
D1
D2
D3
D4
D5
D6
D7
CS
R/W
…
4K×2 位
RAM 芯片
…
4K×2 位
RAM 芯片
…
4K×2 位
RAM 芯片
二、组合构造多字
两个8×2芯片组
成一个16×2的存储
子系统。
图4.7(a)使用
高位交叉,各芯片高
位地址相同,
同一芯片所有存
储单元在系统内存中
相邻。
图4.7(b)用的是
低位交叉,各芯片低位
地址相同。
低位交叉能为流水
线存储器访问提供速度
上的优势,对能同时从
多于一个存储器单元中
读取数据的CPU来说,
低位交叉也存在速度上
的优势。
例:用16K×8位的RAM存储器芯片构成64K×8位的存储器。
需要4片16K×8位的芯片
64K×8位的存储器:16位地址线A15~A0
16K×8位的芯片的片内地址线:14根
用16位地址线中的低14位A13~A0进行片内寻址
高两位地址A15、A14用于选择芯片
设存储器从0000H开始连续编址,则四块芯片的地址分配:
第一片地址范围为:0000H~3FFFH
第二片地址范围为:4000H~7FFFH
第三片地址范围为:8000H~BFFFH
第四片地址范围为:C000H~FFFFH
A15A14 A13A12………A2A1A0
00
00
01
01
10
10
11
11
芯片使能
端地址
00000000000000
11111111111111
00000000000000
11111111111111
00000000000000
11111111111111
00000000000000
11111111111111
片内地址
0000H~3FFFH
第一片
4000H~7FFFH
第二片
8000H~BFFFH
第三片
C000H~FFFFH
第四片
CE0
CE1
CE2
CE3
三、字、位扩展
用2K×4位的存储芯片构成4K×8位存储器
A11
12 位地址
A10
A9
…
A0
…
2K×4 位
RAM 芯片
8 位数据
D0
D1
D2
D3
D4
D5
D6
D7
R/W
…
…
CS0
2K×4 位
RAM 芯片
…
CS0
2K×4 位
RAM 芯片
…
CS1
2K×4 位
RAM 芯片
CS1
4.2.4 多字节数据组成
用多个字节表示整型、浮点或字符串数值,必须存
储在多个单元中,CPU应定义数据在这些单元中的顺序。
1. 两种多字节数据排列顺序
◆ 高端优先(big endian)
数值的最高字节存储在单元X中,次高字节存
储在单元X+1中,以此类推。
◆ 低端优先(little endian)
最低字节存储在单元X中,次低字节存储在X+1
中,以此类推。
高
低
存储器
存储器
数据 字节 4 字节 3 字节 2 字节 1
…
…
X
字节 1
X
字节 4
X+1
字节 2
X+1
字节 3
X+2
字节 3
X+2
字节 2
X+3
字节 4
X+3
字节 1
…
字节 4 字节 3 字节 2 字节 1
高
(a)低端优先
低
(b)高端优先
…
2. 同一字节的不同位也有大、小endian结构
◆ 大endian结构
0位代表字节中最右边的位,最左边的位是位7。
◆ 小endian结构
最左边的位是位0,最右边的位是位7。
3. 对齐(信息存储的整数边界原则 )
存储多字节值的起始单元刚好是某个多字节读取
模块的开始单元。
该多字节值的首字节地址必须是该信息宽度(字
节数)的整数倍。
对齐的CPU具有更好的性能。
字节信息的起始地址为:×…××××
半字信息的起始地址为:×…×××0
单字信息的起始地址为:×…××00
双字信息的起始地址为:×…×000
8 个字节
8 个字节
半字
字节 字节
双字
双字
字节
单字
单字
半字
浪费
字节 字节
单字
双字
字节
浪费
单字
单字
(a)
(b)
4.2.5 刷 新
刷新是动态存储器区别于静态存储器的明显标
志。CPU与刷新线路在访问存储器方面是竟争的,为
了确保信息不丢失,刷新优先,而CPU和DMA请求会由
于刷新正在进行而推迟响应。推迟的程度与刷新线路
操作类型有关。
动态MOS存储器采用“读出”方式进行刷新。
1. 刷新周期
从上一次对整个存储器刷新结束到下一次
对整个存储器全部刷新一遍的时间间隔。
主要与电容的放电速度有关。
2. 刷新方式
(1) 集中式刷新
在刷新周期内集中安排刷新时间,在刷新时
间内停止R/W操作。
例如:某存储器芯片容量为16K×1位,存储矩阵为
128×128,在2ms(刷新周期)内要对128行全部刷新一
遍。假设存储器的存取周期为0.5s。
正常的存储器访问
0
1
……
1936μs(3872 个周期)
刷新
3871
3872
…… 3999
64μs(128 个周期)
2ms(4000 个存取周期)
◆ 优点:主存利用率高,控制简单。
◆ 缺点:刷新时间内不能使用存储器,形成一段
“死区”,且芯片的存储行数越多,死区越长。
(2) 分散式刷新
将系统的存取周期分成两部分,前半期可用于
正常读写或保持,后半期用于刷新,如图所示。
读/写
刷新
读/写
刷新
……
0.5s 0.5s
存取
周期
系统周期
128s(128 个系统周期)
存储芯片的存取周期:0.5s
系统存取周期应:1s
读/写
刷新
◆ 优点:不存在“死区”,控制较简单。
◆ 缺点:刷新动作过于频繁,系统速度损失一半。
(3) 异步式刷新
是上述两种方式的结合。
把刷新操作平均分配到整个最大刷新间隔内进行,相
邻两行的刷新间隔为:最大刷新间隔时间÷行数。
在前述的128×128矩阵例子中,2ms内分散地将128
行刷新一遍,即每隔15.5s(2000s÷128≈15.5s)刷
新一行。
1
128
读/写
刷新
15s
0.5s
……
读/写
刷新
15s
0.5s
2ms(4000 个存取周期)
此方式“死区”长度几乎无,且每行在2ms内只刷
新一次,机器的工作效率高,但控制稍复杂。
目前最常用的是异步式刷新。
4.3 I/O子系统组成和接口
输入/输出(I/O)设备功能很不一样,但都是I/O
子系统的一部分。对系统设计者而言,CPU和各I/O设备
之间的接口非常相似。
图4.1中,每一I/O设备与计算机系统的地址、数据
和控制总线相连接,都包括一个I/O接口电路,此电路
与总线交互、也与实际的I/O设备交互来传输数据。
1. 输入设备的一般接口电路
输入设备来的数据传送到三态缓冲器,当地址总
线和控制总线上的值正确时,缓冲器设为有效,数据
传到数据总线上,CPU可以读取数据。条件不正确时,
Enable logic 不会使缓冲器有效,缓冲器保持三态,
不把数据传到总线上。
◆ 使能逻辑
每个I/O设备有唯一的地址。除非从数据总线
得到正确的地址,使能逻辑不置缓冲器有效。同时
必须从控制总线上得到正确的控制信号。对输入设
备,RD(或RD’)、IO/M(独立I/O中)必须有效。
图4.9(b):一个输入设备的使能逻辑
设备所在系统有8位地址及RD、IO/M 信号
设备地址为1111 0000
用组合逻辑(使能逻辑必须在单个时钟
周期内产生),不能使用时序器件。
2. 输出设备接口电路设计
(端口地址为1111 0000)
◆ 装载逻辑
在输出设备中发挥着使能逻辑的作用。获得正
确的地址和控制信号后,发出寄存器的LD信号,
促使它从数据总线上读数据。然后输出设备可以
在空闲时从寄存器中读取该数据,同时CPU可以执
行其它任务。
图4.10(b):输出设备产生装载信号的逻辑
端口地址为1111 0000
与图4.9(b)大致相同,只是用WR代替了RD
3. 输入输出组合接口
本质上是两个接口:一个用于输入,另一个用于输出。
逻辑器件既用来产生缓冲器的使能信号,又用来
产生寄存器的载入信号。
如下图:地址为1111 0000的组合I/O接口
图4.11 带接口和使能/装载逻辑的双向输入输出设备
4.I/O设备比CPU和存储器慢得多,与CPU交互时,存在
时序上的问题。
◆ 就绪信号(READY):一个控制输入信号,CPU用
来同步与I/O设备的数据传输。


通常为高电平。当CPU输出某I/O设备的地址和
正确的控制信号,使其三态缓冲器有效,该
I/O设备置READY信号为低电平。
CPU读取这一信号,并继续输出同样的地址和
控制信号,使缓冲器保持有效。在硬盘驱动器
的例子中,此时驱动器旋转磁头,并且定位读
写头,直到读到想要的数据为止。


I/O设备通过缓冲器将数据输出到数据总线上,并重
新设置READY为高电平。
CPU才从总线上读入数据,之后继续它的正常操作。
设置READY为低电平而生成的附加时钟周期叫做等
待状态(wait states)。
CPU也可使用READY同步与存储器子系统之间的数
据传输。
4.4 辅助存储器
1. 辅助存储器作为主存储器的后援存储器,用于存放
CPU当前暂时不用的程序和数据。当CPU需要时,再
将数据成批地调入主存。从辅存所处的位置和与主
机交换信息的方式看,它属于外部设备的一种。
2. 辅存的特点
容量大,成本低,可以脱机保存信息
3. 辅存主要有两类: 磁表面存储器、光存储器
如磁盘、磁带、光盘等
4.4.1 磁表面存储器的基本原理
1. 磁表面存储器
把某些磁性材料均匀地涂敷在载体的表面上,
形成厚度为0.3~5μm的磁层,将信息记录在磁层
上,构成磁表面存储器。
2. 磁表面存储器存储信息的原理
利用磁性材料在不同方向的磁场作用下,形成
的两种稳定的剩磁状态来记录信息。
3. 磁表面存储器的读写操作
◆ 磁头:磁表面存储器的读写元件。利用磁头来
形成和判别磁层中的不同磁化状态。
◆ 磁头是由铁氧化体或坡莫合金等高导磁率的材
料制成的电磁铁,磁头上绕有读写线圈,可以
通过不同方向的电流。
◆ 写磁头:用于写入信息的磁头。
读磁头:用于读出信息的磁头。
复合磁头:既可用于读出,又可用于写入的磁头。
◆ 读/写操作: 通过磁头与磁层相对运动进行
一般都采用磁头固定,磁层作匀速平移或高
速旋转。由磁头缝隙对准运动的磁层进行读/写操作。
磁头
磁表面存储器的的读写元件
写
写线圈
写线圈
铁芯
I
I
磁通
磁层
N
S
局部磁化单元
S
载磁体
写入“0”
N
局部磁化单元
写入“1”
当载体相对于磁头运动时,就可以连续写入一
连串的二进制信息。
读
读线圈
读线圈
铁芯
磁通
磁层
N
S
S
N
运动方向
f
运动方向
f
s
e
s
e
t
读出 “0”
t
读出 “1”
4.4.2 磁表面存储器的记录方式
位周期
T
数据系列
RZ
NRZ
NRZ1
PM
FM
MFM
1
0
1
1
1
0
0
0
1
1. 归零制(RZ)
写0时,先发+I,然后回到0;
写1时,先发-I,,然后回到0。
2. 不归零制(NRZ)
写0时,维持-I不变;写1时,维持+I不变。即只
有信息变换时,才在磁层中产生转变区。
数据系列
NRZ
读出信号
1
0
1
1
1
0
0
0
1
3. 见“1”就翻的不归零制(NRZ1)
在 NRZ 基础上形成的、写入规律为:见1就翻。
写0时,写入电流维持原方向不变。
写1时,写入电流方向翻转。
数据系列
NRZ1
读出信号
1
0
1
1
1
0
0
0
1
4. 调相制(PM)
又称为相位编码。其写入规律是:
写0,写入电流由负变为正
写1,写入电流由正变为负
当相邻两位相同时,两位交界处要翻转一次。
数据系列
PM
读出信号
1
0
1
1
1
0
0
0
1
5. 调频制(FM)
写1时,不仅在位周期的中心产生磁化翻转,而且在
位与位之间也必须翻转。写0时,位周期中心不产生翻转,
但位与位之间的边界处要翻转一次。
由于写 1 时磁化翻转的频率为写 0 时的两倍,故
称为“倍频制”。
数据系列
FM
读出信号
1
0
1
1
1
0
0
0
1
6. 改进调频制(MFM或 M2F)
写1时,在位单元中间改变写入电流方向;写两个以上0
时,在它们的交界处改变写入电流方向。
M2F的转变区数约为FM的一半。在相同技术条件下,
M2F位单元长度可缩短为FM的一半,使M2F的记录密度提高近
一倍。 M2F制度广泛用于软盘与小容量硬盘中。
数据系列
MFM
读出信号
1
0
1
1
1
0
0
0
1
4.4.3 磁盘存储器
1. 磁盘的分类
硬盘:载体是金属,容量大,速度快
按盘片材料分
软盘:载体是塑料,对环境要求低,价格低
磁头固定,每磁道一个磁头,
固定头可卸盘组:环境要求高,没有磁头运动,

固定头固定盘组:速度快。可卸盘组,可卸下保

存。
按磁头与盘组分
活动头可卸盘组:一个磁头运动寻道,结构简单,
成本低。固定盘组采用密封方


活动头固定盘组:式,环境要求不高。如温盘。
接触式:多为软盘,读写速度慢
按磁头与盘片接触分
非接触式:多为硬盘,读写速度快
2. 磁盘存储器的组成及逻辑结构
◆ 磁盘存储器由驱动器、控制器和盘片三部分组成
主
机
磁
盘
控
制
器
磁
盘
驱
动
器
盘
片
◆ 磁盘驱动器又称磁盘机或磁盘子系统
用于控制磁头与盘片的运动及读写。是独
立于主机之外的完整装置。
音圈
电机
位置检
控制器送 测电路
来的目的
磁道信号
模拟控
制电路
逻辑电路
音圈电机控制系统
测
速
输
出
功率放大
写入电路
输入
输出
编码电路
写入驱动器
选头信号
磁头选择
译码电路
读放大器
读出电路
读/写电路
3 磁头写
入线圈
磁头读
3 出线圈
驱动器内包含有旋转轴驱动部件、磁头定位部件、
读写电路和数据传送电路等。
◆ 磁盘控制器
主机与磁盘驱动器之间的接口,通常是插在主机
总线插槽中的一块印刷电路板。
磁盘控制器的作用:接受主机发出的命令与数据,
转换为驱动器的控制命令和数据格式,控制驱动器的
操作。
◆ 盘片:存储信息的介质
3. 磁盘信息记录格式
(1) 磁盘的结构
扇间空隙
盘片
扇区
磁道
◆ 记录面:磁盘片表面称为记录面。盘片的上下两
面都能记录信息。
◆ 磁道:记录面上一系列同心圆。每个盘片表面通
常有几十到几百个磁道。
磁道的编址:从外向内依次编号,最外一个
同心圆叫0磁道,最里面的一个同心圆叫n磁道,n
磁道里面的圆面积不用来记录信息。
◆ 扇区:将盘面沿垂直于磁道的方向划分成若干个
扇区。
扇区的编号方法:可以连续编号,也可间隔编号。
◆ 柱面(圆柱面):n个面上位于同一半径的磁道形成
一个圆柱面。磁盘组的圆柱面数等于一个盘面的磁
道数。
◆ 磁盘地址的表示
磁道号
盘面号
扇区号
例如,若某盘片组有8个记录面,每个盘面分成
256条磁道,8个扇区;当主机要访问其中第5个记录面
上,第65条磁道,第7个扇区的信息时,则主机应向磁
盘控制器提供如下的地址信息:
0100000l
驱动器号
磁道号
101
111
盘面号
扇区号
(2)磁盘的信息记录格式
磁盘存储器的每个扇区记录定长的数据,读/写
操作是以扇段为单位一位一位串行进行的。每一个扇
区记录一个记录块。
4. 磁盘存储器的主要技术指标
⑴ 存储容量C
磁盘组所有盘片能记录的二进制信息的最大数
量,一般以字节为单位。
若一个磁盘组有n个盘面存储信息,每个面有T
条磁道,每条磁道分成S个扇区,每段存放B个字
节,则存储容量C为:
C=n×T×S×B
⑵ 平均寻址时间(平均存取时间)
从发出读写命令到读出或写入信息所需的时间。
平均寻址时间=平均磁道定位时间+平均旋转等待时间
◆ 磁道定位时间:把读写头移到相应的磁道位置上所
需的时间。
平均磁道定位时间为最大和最小定位时间的平均值。
◆ 旋转等待时间:定位以后寻找所需扇区的时间
旋转等待时间的平均值为磁盘旋转半圈的时间。
⑶ 存储密度
◆ 位密度
沿磁道方向单位长度所能存储的二进制位数。
◆道密度:沿磁盘径向单位长度所包含的磁道数
◆面密度:位密度与道密度的乘积
⑷ 数据传输率 Dr
磁盘存储器单位时间内所能传送的数据量。
设磁盘旋转速度为n转/秒,每条磁道容量为N
个字节,则
Dr=n×N(字节/秒)
设D为位密度,v为磁盘旋转的线速度,则
Dr=D×v(字节/秒)
⑸ 价格
例:磁盘组有6片磁盘,每片有两个记录面,最上
最下两个面不用。存储区域内径22cm,外径33cm,道
密度为40道/cm,内层位密度400位/cm,转速2400转/
分,平均寻道时间为10ms 。问:
(1)共有多少柱面?
(2)盘组总存储容量是多少?
(3)数据传输率多少?
(4)平均寻址时间是多少?
(5)采用定长数据块记录格式,直接寻址的最小单
位是什么?寻址命令中如何表示磁盘地址?
(6)如果某文件长度超过一个磁道的容量,应将它
记录在同一个存储面上,还是记录在同一个柱面上?
解:(1)有效存储区域=16.5-11=5.5(cm)
因为道密度=40道/cm,
所以共有40×5.5=220道,即220个圆柱面。
(2)内层磁道周长为2πR=2×3.14×11=69.08(cm)
每道信息量=400位/cm×69.08cm=27632位
=3454B
每面信息量=3454B×220=759880B
盘组总容量=759880B×l0=7598800B=7.25MB
(3)磁盘数据传输率Dr=r×N
N为每条磁道容量,N=3454B
r为磁盘转速,r=2400转/60秒=40转/秒
Dr=r×N=40×3454B=13816B/s
(4)磁盘旋转一圈的时间为
60
t=
 10 3=25ms
2400
平均寻址时间
Ta=10ms+25/2ms=22.5ms
(5) 采用定长数据块格式,直接寻址的最小单位是一个
扇区,每个记录块记录固定字节数目的信息,在定
长记录的数据块中,活动头磁盘组的编址方式可用
如下格式:
驱动器号
磁道号
盘面号
扇区号
4.4.3 光盘存储器
◆ 光盘:利用光学方式读写信息的圆盘
光盘采用聚焦激光束在盘式介质上非接触地
记录高密度信息,以介质材料的光学性质(如反
射率、偏振方向)的变化来表示所存储信息的
“1”或“0”。
◆ 光盘的优点:记录密度高。
◆ 光盘的缺点:存取时间长,数据传输率低。
1.光盘的分类
(1)只读型光盘(Read Only)
厂商以高成本制作出母盘后大批重复压制
出来的光盘。记录的信息只能读出,不能被修改。
(2)一次型光盘
用户可以在这种光盘上写入信息,写后可以直
接读出。写入信息会使介质的物理特性发生永久性
变化,因此只能写一次。写后的信息不能再改变。
(3)可擦写型光盘(Rewriteable)
用户可对这类光盘进行随机写入、擦除或重写
信息。
2. 光盘存储器的工作原理 (只读)
HR
可擦写型光盘
激光
光源
(a)
HR
(b)
(c)
4.5 相对简单计算机
设计一个使用相对简单CPU的计算机:
有8K ROM,起始地址为0
紧接着是8K的RAM
一个存储器映射、地址为8000H的双向I/O端口
1. CPU
16个地址引脚:A15到A0
通过引脚D7到D0访问系统的数据总线
两根控制线:READ和 WRITE
图4.12,只包括了CPU的细节,随着设计推进,
将开发出其余部分的细节。
图4.12 相对简单计算机:只有CPU的细节
2. 存储器子系统
(1) 8K ROM:从地址0开始(从0到8K-1的所有地址)
二进制表示:
0000 0000 0000 0000~0001 1111 1111 1111
(2) 8K RAM:紧跟在 ROM后面,地址从8K到16K-1
0010 0000 0000 0000~0011 1111 1111 1111
为简化设计,在存储器子系统中,使用一个8K的
ROM芯片和一个8K的RAM芯片。
(3) 访问存储器芯片,处理器必须提供芯片用的地址
和控制信号。
◆ 地址信号
8K的存储器有213个存储单元,需要13位的地
址输入来选择其中一个单元。
A12到A0:芯片的地址输入(从地址总线上获得)
A15、A14和A13:用来选择存储器芯片
ROM芯片地址范围:
0000 0000 0000 0000~0001 1111 1111 1111
(地址的最高三位总是000)
即当A15A14A13=000时,ROM芯片必须有效。
类似的,RAM芯片有效的条件是A15A14A13=001。
◆ 使能信号
◆ ROM芯片还有一个输出使能信号
将控制总线上的READ信号连接到ROM的输出使能上
◆ RAM有两个控制输入RD和WR,控制总线的READ和
WRITE信号能驱动这两个信号(CPU的设计应该确保
这两个信号不会同时发出)。
这些信号和芯片使能逻辑一起可以保证:任何
时刻,只有一个存储器芯片中的一个存储单元被访
问。
图4.13 相对简单计算机:存储器细节
3. I/O子系统
系统指明一个双向I/O端口,地址为8000H,
或1000 0000 0000 0000。用地址和控制信号来激励
该端口的输入和输出接口电路。
非常类似图4.11中的设计。用寄存器来存储输出
到该设备的数据,用三态缓冲器传递来自该设备的输
入数据。
只要作两个修改:
◆ 第一个很简单,由于相对简单CPU用的是存储器映
射I/O,因此将IO/M信号从电路中删除。
◆ 第二个是修改地址逻辑,以辨认地址8000H,而不
是F0H,用组合逻辑可以很容易做到这一点。
图4.14
相对简单
计算机:
最后的设
计
4.6 实例:一台基于8085的计算机
1. 8085的一个特征(地址复用技术)
使用8个复用引脚,AD7到AD0,为所有数据位和
地址的低八位。在存储器访问的第一个时钟周期,
这些引脚包含地址的低8位;剩下的时钟周期,它们
用来传送或接收数据。这是为了减少微处理器引脚
的个数。
2. 一个附加电路
存储器要求整个地址有效,否则不能访问数据。
设计地址锁存选通信号ALE,该信号在存储器或
I/O访问的第一个时钟周期内设置为1,访问的剩余
时间为0。用来将低位地址存储到一个寄存器中,这
样即使低位地址从AD引脚删除,还可以从寄存器中
得到,这叫做多路分配总线。
第一个时钟周期,8085将地址的低8位A7到A0输出
到这些引脚上,ALE信号为高,使这些值装入锁存器中。
在第一个时钟周期末尾,ALE信号变低,并且A7到A0的
值存入了锁存器,这样总线空闲,可以用来传送数据
位D7到D0。
本节给出的计算机中,这些功能是在专门的芯片
里完成的,它可能使用了一个类似的电路。
3. 8085微处理器计算机的最小系统配置
◆ 2K的 EPROM:起始地址为0
地址范围从0到2K-1
0000 0000 0000 0000 到0000 0111 1111 1111
◆ 256字节 RAM:从地址 4K开始,范围为
0001 0000 0000 0000到 0001 0000 1111 1111
◆ 4个8位的I/O端口:地址为00H,01H,19H和1AH
◆ 一个地址为1BH的6位端口
◆ 三块芯片:8085A、8755A、8156
图4.16 基于
8085的最小
计算机系统
4. 8755A芯片
◆ 2K的 EPROM、地址为 00H和 01H的两个I/O端口
(单独I/O,存储单元、I/O端口可以同址)
◆ 两个使能信号
一个是CE,高电平有效,因为与Vcc相连,
恒为高电平,CE总是有效。
另一个信号PROG/CE低电平有效,由地址位
A11驱动,当A11=0时,该芯片有效。
◆ 0到2K-1范围内的地址确实使8755A有效。其它
A11=0的地址,比如1111 0000 0000 0000,同样
使其有效,这是因为A15到A12没有用来选择芯片,
这一特性叫做回折(foldback),可以减少产
生使能信号的逻辑。
5. 8755A的两个I/O端口
为解释如何访问这些端口,看8085怎样实现
I/O指令。
对 IN和 OUT指令,用的是8位地址。
当执行I/O指令时,把地址放到A15~A8及AD7~
AD0上。尽管第一个时钟周期后,会删除AD7~AD0
上的地址,像存储器读写时一样,A15~A8上的地
址在整个I/O操作期间一直保持。对应A11=0(或
A3=0)的地址会使8755A有效。
有四个可访问端口:
端口A、B分别有A1A0(=A9A8)=00和01。8755A每一
端口有一个数据方向寄存器(data direction
register)DDR,用来确定 A和 B是输入还是输出端口
(实际允许每一位独自设置为输入或输出)。CPU通过
写数据到DDR中来设置端口的指向,端口A和B的 DDR分
别有 A1A0=10和11。
同8755A的存储器一样,I/O端口也有回折。这里,
端口A选用地址 00H,端口B选用地址 01H,端口A的
DDR的地址为02H,端口B的 DDR的地址为03H。
6. 8156芯片
◆ 256字节的RAM
◆ 两个8位I/O端口
◆ 一个6位I/O端口。A12=1时芯片有效,因为不使用
所有高位地址激励芯片,也有回折。选择4K,或
1000H作为其起始地址。
◆ 8156实际包含I/O端口比图4.16显示的要多。CPU
输出命令到一个命令寄存器,由此设置I/O端口
的方向。
◆ 一个状态寄存器,CPU读取它得到端口配置信息。
地址的低三位选择片内I/O端口
A2A1A0=000是命令寄存器(输出)或状态寄存器(输入)
A2A1A0=001,010,011表示分别访问端口A、B、C
还有一个时钟,A2A1A0=100或101表示访问时钟
历史视角:Sojourner 流浪者
1996年,美国国家航空航天局(NASA)发射了
一艘火星探路者宇宙飞船。这个宇宙飞船用了7个月
的时间航行并着陆到火星。一到达火星,它就释放
了一个机器人流浪者,叫做Sojourner,它用来探测
探路者附近的表层,并且将读取的数据传回给宇宙
飞船。然后探路者再将这些数据送回地球。在1997
年7月4日,探路者成功的到达了火星的表面。
Sojourner只用了一个80C85微处理器来控制
整个操作。它运行在2MHz的时钟上,但是该处理
器并不是因为它的速度而被选用的。实际上,正
是因为它能够执行所需的功能,而且因为这一版
本的8085微处理器能在远离大气层保护、辐射旺
盛的环境中正确的工作,所以才被选用。
Sojourner计算机系统配置见教材。