第5章 存储器系统-2
操作系统原理第5章 存储管理

• ⑶最佳适应算法
• 最佳适应算法的空闲链是按空闲区从小到大顺序排 列。为进程选择分区时总是寻找其大小最接近进程 所要求的存储区域。所谓“最佳”是指每次为进程 分配内存时,总是把能满足要求、又是最小的空闲 分区分配给进程,避免“大材小用”。
• 因为每次分配后所切割下来的剩余部分总是最小的, 这样将加速碎片的形成。
• ①如果被回收空闲分区没有空闲伙伴分区,那么保留该分区为一 个独立的空闲分区,否则执行②;
• ②合并回收分区及其伙伴分区,从而得到一个尺寸(2I+1)更大的 回收空闲分区,转移到①;
一个伙伴系统内存分配与回收的例子
• 伙伴系统克服了固定分区和动态分区存储管理技术的缺陷。但是伙伴 系统存在一个问题,即内存空间需要不断地进行分裂和合并,频繁的 伙伴分区合并操作会浪费很多时间。
• ③内存分配原则,以页帧为单位来分配内存,将进程若干个逻辑上连续的 页面装入若干个离散的页帧中,由页表提供进程的页号到存储空间帧号的 映射。
5.2.4伙伴系统
• 其实现原理如下: • 一个伙伴系统内存的用户可用空间为2U。进程申请存储空间时,
系统总是为其分配大小为2I的一个空闲分区。其中S≤I≤U,2S是系 统允许的最小分区尺寸。在实际操作系统中,最小分区尺寸一般 为212。 • 如果进程申请的存储空间大小为K,且2I-1<K≤2I,则将整个2I大小的 分区分配给该进程;否则,该分区被分割成两个大小相等的伙伴 分区,大小为2I-1;再判断K是否满足条件:2I-2<K≤2I-1,若满足条件, 则将两个伙伴中的任何一个分配给该进程。否则,将其中一个伙 伴又分成两个大小相等的伙伴分区;此过程一直继续进行,直到 产生的分区满足条件I-J≥S并2I-J-1<K≤2I-J,将2I-J大小的分区分配给该 进程;当I-J-1<S时,系统不再分割成两个大小相等的伙伴分区,将 2S大小的分区分配给该进程。 • 当进程执行完毕,释放一个尺寸为2I的分区时,系统用下面的算法 回收该分区。
微机原理第五章 存储器

(00000H~007FFH)
A11
CPU
A19
…
A0~A10
6116 CS
2)部分译码法 系统总线中的地址总线除片内地址外,部分高位地址(不是
全部高位地址)接到片外译码电路中参加译码,形成片选信号。 因此对应于存储芯片中的单元可有多个地址 。
(二)内存与CPU连接时的速度匹配
对CPU来说,读/写存储器的操作都有固定的时序(对8086 来说需要4个时钟周期),由此也就决定了对内存的存取速 度要求。
(三)内存容量的配置、地址分配 1. 内存容量配置
• CPU寻址能力(地址总线的条数) 软件的大小(对于通用计算机,这项不作为主要因素)
2. 区域的分配 RAM ROM 3. 数据组织 (按字节组织) 16位数据,低位字节在前,高位字节在后,存储器奇偶分体 (四)存储器芯片选择 根据微机系统对主存储器的容量和速度以及所存放程序的不同等 方面的要求来确定存储器芯片。它包括芯片型号和容量的选择。
24V
S
SiO2 G
D
字线
Vcc 位 线 输 出
P+ + + P+ N衬底
浮栅MOS
位
D
线
浮栅管
S
特点: 1)只读, 失电后信息不丢失 2)紫外线光照后,可擦除信息, 3)信息擦除可重新灌入新的信息(程序) 典型芯片(27XX) 2716(2K×8位),2764(8K ×8位)……
D0 D8
CE
址
线
存储体
启动
控制逻辑 控制线
读 写
数 据 CPU
电寄
路存
器数
第5章 存储系统

控制 输入 电路
读 /写 选 片
地址反相器
A5 A6 A7 A8 A9
第14页 2012年6月11日星期一
第5章 存储系统 1.存储体 一个基本存储电路表示一位二进制位 存储电路有规则的组合,就是存储体,即存储阵列 2.外围电路 包括地址译码器、I/O电路、片选控制、输出驱 动电路 3.地址译码方式 (1)单译码方式 只有行方向的译码器 (2)双译码方式 行译码(X译码)和列译码(Y译码)
可擦除可编程ROM—EPROM :用特殊手段擦除, 然后可重新多次写入
电可擦除可编程ROM—E2PROM :用电方式进行 在线擦除
第24页 2012年6月11日星期一
第5章 存储系统
5.4.1 掩膜型ROM(Read Only Memory)
其基本存储电路可由二极管、晶体管、MOS管构成
X选线 X选线 X选线
基本存储电路如图示(6管) X 选 择 线 T1、T2:双稳态触发器 T3、T4:负载管 T T5、T6:控制门 T7、T8:控制管 T1截止 →A为1 →T2导通 → ↑ B为0 ← ← T2截止为另一种稳态
第11页
Vc c
1T
5
3
T4 B T2
0
T6
─ ─
T1
A
→
D0 T7
D0 T8 I /O
I /O
第15页 2012年6月11日星期一
第5章 存储系统 (1)单译码方式
A0 A1 · · An 地 址 译 码 · · · · · · · ··· · · ·
···
写 读选通 写选通
I/O 控 制
读 写
I/O 控 制
读
第16页
2012年6月11日星期一
微型计算机原理与组成-第5章 储存系统

· 读取CMOS-SRAM中的设备配置,确 定硬件运行环境。
· 系统引导、启动。
· 基本的输入输出控制程序。 · 存储一些重要的数据参数。 · 部分机器还含有硬化的部分操作系统。
ROM-BIOS一般为几十KB的容量,并 有逐渐加大的趋势,常为掩膜式ROM。 目前高档PC机已采用快速擦写存储器, 使ROM BIOS 的功能由软盘软件支撑升级。
5.4.5 页式虚拟存储器 页式虚拟存储器中的基本信息传送单 位为定长的页。
5.4.6 段页式虚拟存储器简介
段式虚拟存储器和页式虚拟存储器各有 其优缺点,段页式管理综合了两者的优点, 将存储空间仍按程序的逻辑模块分成段, 以保证每个模块的独立性及便于用户公用; 每段又分成若干个页。 页面大小与实存页相同,虚存和实存之 间的信息调度以页为基本传送单位。
2.CMOS-RAM 用于记录设备配置参数,如内存容量, 显示器类型,软硬磁盘类型及时钟信息等。 CMOS-RAM采用CMOS工艺制成,功耗很 少。
3.ROM-BIOS
ROM-BIOS用于存放基本的输入输出 系统程序,是操作系统驻留在内存中的最 基本部分,其主要用于以下几个方面。
· 开机后的自检。检测对象涉及计算机 系统的各主要功能部件包括CPU、ROM、 RAM、系统接口电路和键盘、软、硬磁 盘等外设。
5.1.1存储器的分类
1. 按存储介质分 按存储介质可以将存储器分为三种:半 导体存储器、磁表面存储器和光存储器。
2. 按存取方式分
按照存储器的存取可方式分为随机存取 (读写)存储器、只读存储器、顺序存取存 储器和直接存取存储器等。
微机原理第5章存储器系统

3. 工作方式
数ห้องสมุดไป่ตู้读出 字节写入:每一次BUSY正脉冲写
编程写入
入一个字节
自动页写入:每一次BUSY正脉冲写
入一页(1~ 32字节)
字节擦除:一次擦除一个字节 擦除
片擦除:一次擦除整片
72
4. EEPROM的应用
可通过编写程序实现对芯片的读写; 每写入一个字节都需判断READY / BUSY
主存储器 虚拟存储系统
磁盘存储器
8
Cache存储系统
对程序员是透明的 目标:
提高存储速度
Cache
主存储器
9
虚拟存储系统
对应用程序员是透明的。 目标:
扩大存储容量
主存储器
磁盘存储器
10
3. 主要性能指标
存储容量(S)(字节、千字节、兆字节等) 存取时间(T)(与系统命中率有关)
端的状态,仅当该端为高电平时才可写 入下一个字节。
P219例
73
四、闪速EEPROM
特点:
通过向内部控制寄存器写入命令的方法 来控制芯片的工作方式。
74
工作方式
数据读出
读单元内容 读内部状态寄存器内容 读芯片的厂家及器件标记
CAS:列地址选通信号。
地址总线上先送上行地址,后送上列地址,它们 分别在#RAS和#CAS有效期间被锁存在锁存器中。
WE:写允许信号
DIN: 数据输入
WE=0 WE=1
数据写入 数据读出
DOUT:数据输出
49
3. 2164在系统中的连接
与系统连接图
50
三、存储器扩展技术
51
1. 存储器扩展
1 A15 1 A14 1 A13
微机原理和接口技术-5-2 存储系统

20
Zuo 华中科技大学计算机学院
微机原理与接口技术---Chapter5 存储器
例3 (1)解:如果ROM和RAM存储器芯片都采用 8K×1的芯片,试画出存储器与CPU的连接图。
MREQ# A15-0 R/W#
CPU
D7~D0
OE#
例2解
微机原理与接口技术---Chapter5 存储器
MREQ# A20-0 R/W#
CPU
D7~D0
OE#
A20-18
000
3-8译码器
001
010
A17-0
WE A CS
256K ×8
D
WE A CS
256K ×8
D
WE A CS
256K ×8
D
D7~D0
D7~D0
D7~D0
…
111
WE A CS
如果采用的字节编址方式,则需要20条地址线,因为220=1024K byte。
注:字编址方式时,每个32位字地址能够访问4个字节; 如果按照字节编址方式,则每个地址只对应一个字节, 因此所需的地址数是前者的4倍, 218* 4=220 ,即需要20条地址线)
13
Zuo 华中科技大学计算机学院
微机原理与接口技术---Chapter5 存储器
解:256K*8位SRAM芯片包含18根地址线 (1) 该存储器需要2048K/256K = 8片SRAM芯片; (2) 需要21条地址线, 因为221=2048K, 其中高3位经过译码器输出后用于芯片选择, 低18位作为每个存储器芯片的地址输入。 (3) 该存储器与CPU连接的结构图如下。
操作系统第5章(存储器管理习题与解答)

第5章存储器管理习题与解答5.2 例题解析例5.2.1 为什么要引入逻辑地址?解引入逻辑地址有如下原因:(1) 物理地址的程序只有装入程序所规定的内存空间上才能正确执行,如果程序所规定内存空间不空闲或不存在,程序都无法执行;(2) 使用物理地址编程意味着由程序员分配内存空间,这在多道程序系统中,势必造成程序所占内存空间的相互冲突;(3) 在多道程序系统中,程序员门无法事先协商每个程序所应占的内存空间的位置,系统也无法保证程序执行时,它所需的内存空间都空闲。
(4) 基于上述原因,必须引入一个统一的、在编程时使用的地址,它能够在程序执行时根据所分配的内存空间将其转换为对应的物理地址,这个地址就是逻辑地址。
(5) 逻辑地址的引入为内存的共享、保护和扩充提供方便。
例5.2.2 静态重定位的特点有哪些?(1) 实现容易,无需增加硬件地址变换机构;(2) 一般要求为每个程序分配一个连续的存储区;(3) 在重定位过程中,装入内存的代码发生了改变;(4) 在程序执行期间不在发生地址的变换;(5) 在程序执行期间不能移动,且难以做到程序和数据的共享,其内存利用率低。
例5.2.3 动态重定位的特点有哪些?(1) 动态重定位的实现要依靠硬件地址变换机构,且存储管理的软件算法比较复杂;(2) 程序代码是按原样装入内存的,在重定位的过程中也不发生变化,重定位产生的物理地址存放在内存地址寄存器中,因此不会改变代码;(3) 同一代码中的同一逻辑地址,每执行一次都需要重位一次;(4) 只要改变基地址,就可以很容易地实现代码在内存中的移动;(5) 动态重定位可以将程序分配到不连续的存储区中;(6) 实现虚拟存储器需要动态重定位技术的支持;尽管动态重定位需要硬件支持,但他支持程序浮动,便于利用零散的内存空间,利于实现信息共享和虚拟存储,所以现代计算机大都采用动态重定位。
例5.2.4 装入时动态链接的优点有哪些?(1)便于软件版本的修改和更新在采用装入时动态链接方式时,要修改或更新各个目标模块,是件非常容易的事,但对于经静态链接以装配在一起的装入模块,如果要修改或更新其中的某个目标模块时,则要求重新打开装入模块,这不仅是低效的,而且对于普通用户是不可能的。
第五章存储器

上午3时16分
9
第五章 存储器
③读写顺序 SAM(sequential):顺序存取,存取时间与存储单元的物理 位置有关,如磁带。 RAM:随机存取,存取时间与存储单元的物理位置无关。 DAM(Director):直接存取,介于上述二者之间,如磁盘。
上午3时16分
29
第五章 存储器
⑶异步式 • 以上两种方式的结合,在2ms的时间内,把存储单元分散地
刷新一遍。
上例: 32×32阵,2ms/32=62.5 μs(每行刷新的平均间隔)
特点:折中,使用较多
另外,异步刷新方式还可以采取不定期刷新方式,可以在主机 不访存的时间内刷新,这种方式取消了机器的死区,但刷 新控制线路极其复杂。
上午3时16分
4
第五章 存储器
2、存取速度(存取时间、存取周期) 存取时间: (访问时间、读/写时间) • 指从启动一次存储器操作到完成该操作所经历的时间。 存取周期: (读写周期、访内周期) • 存储器从接受读/写命令信号始,将信息读出或写入后,到
接到下一个读/写命令为止所需的时间。 一般情况下,存取周期存取时间 ,为什么? • 因为对任何一种存储器,在读写操作之后,总要有一段恢
②写入态
• V字=1 ,使T3T4都导通
写1:VD=1,
V D
=0,VA=1,
VB=0
T1截止,T2导通
D
写0:VD=0,
V D
=1,VA=0, VB=
1
T1导通,T2截止
上午3时16分
D w
16
第五章 存储器
③读出态
V字=1 ,使T3T4都导通 读1:因原存1, T1截止,T2导通,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
74LS139地址译码器为两个2-4线译码器
引脚信号如下:
Y0 Y1 Y2 Y3 Y0 Y1 Y2 Y3
E A B E A B
ห้องสมุดไป่ตู้A 0 0 1 1
B 0 1 0 1
译码输出 Y0 Y1 Y2 Y3
2716(2K*8),2732(4K*8),2764(8K*8) ---- EPROM 2114(1K*4),6116(2K*8),6264 (8K*8)--SRAM 2116(16K*1),2164A(64K*1)----DRAM
方法1
A15~A12 A11
A10~A0
CPU
D7~D0 WR RD
A10~~A0 CE A10~~A0 6116 6116 CE D0~D7 WE OE D0~D7 WE OE
地址范围:
片内地址
A15 A11 A10 A0
1片: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0000H 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 - 07FFH 2片: 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 - 0800H 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 - 0FFFH
WE OE
A11~0 CE 2732 (1) OE D7~0
A11~0 CE 2732 (2) OE D7~0
A11~0 CE 2732 (3) OE D7~0
A11~0 CE 2732 (4) OE D7~0
D7~0
D7~0
作 业
P154: 2 5 7 8 9 10
、 、 、 、 、
取A11,A12,A13 2KB (8) 进行译码 地址分配如下: CS 片1:0000H-07FFH
… …
A11 ~ 3/8 Y0 A15 译 Y1 … 选 码 … 三 器 Y7 条
片2:0800H-0FFFH
片3:1000H-17FFH … … 片8:3800H-3FFFH
•全译码法 将余下的高位地址总线全部译码,译码输出作为各芯 片的片选信号。 A0—A11 地址分配如下: 4KB (1) CS 4/16 A12 译 ~ 码 A15 器 Y0 Y1 … … Y15 4KB (2) CS 4KB 片1:0000H-0FFFH (16) 片2:1000H-1FFFH CS 片3:2000H-2FFFH … … 片16:F000H-FFFFH
A10 -- A0
2K
(1) CE
A11 A12 A13 A14 A15
2K
(2) CE
2K
(3) CE
2K
(4) CE
2K
(5) CE
A11--A0
A11--A0
4K (1) CE 4K (2) CE 4K 4K (1) CE 4K (2) ...... CE 4K (16) CE
......
(8) CE
画出存储器连接图
系统引脚
A12 A13 A14 A15 A19 +5V A11 A10~0 A10~0
≥1
74LS138
A B C E1 E2 E3 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
D7~D0 MEMW MEMR
…
≥1
CE 6116 (1)
WE OE
A10~0 CE 6116 (2)
04FFFH
地址分配图
采用部分译码,地址位图为:
悬空 0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
译码输入
0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
2400--27FF 2800--2BFF 2C00--2FFF
A
MREQ A11 A10 B
方案二:二次译码方式 则地址位图如下: A15 A14 A13 A12 A11 A10--A0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 全0-全1 全0-全1 0000-07FF 0800-0FFF ROM
容量分配 芯片型号 2KB 2KB 2KB 2KB 2716 2716 2716 2716 地址范围 0000H-07FFH 0800H-0FFFH 1000H-17FFH 1800H-1FFFH 容量分配 芯片型号 地址范围 1KB 1KB 1KB 1KB 2114 2114 2114 2114 2000H-23FFH 2400H-27FFH 2800H-2BFFH
3/8译码器
A15 -- A12中任3条
4/16译码器
A15 -- A12
例1:为某8位微机(地址总线为16位)设计一个12KB容量的存 储器,要求EPROM区为8KB,从0000H开始,采用2716(2K*8) 芯片;RAM区为4KB,从2000H开始,采用2114(1k*4)芯片。 解:
地址分配表如下:
2C00H-2FFFH
方案一:ROM、RAM分别译码方式 则ROM的地址位图如下: A15 A14 A13 A12 A11 A10--A0 RAM的地址位图如下: A15 --A12 A11 A10 A9--A0
0
0 0 0
0
0 0 0
0
0 0 0
0
0 1 1
0 全0-全1
1 全0-全1 0 全0-全1 1 全0-全1
线选法除将低位地址线直接接片内地址外,将余下的高位地址 线,分别作为各个存储器芯片的片选控制信号。
例如: A0—A10
地址分配如下:
片1: F000H-F7FFH
2KB (1) CS
A11 A12 A13 A14 A15
2KB (2) CS
2KB (3) CS
2KB (4) CS
2KB 片2: (5) E800H-EFFFH CS 片3:
0 0 1 0
0 0 0 1 0 1 0 0
0
0 1
0 全0-全1
1 全0-全1 0 全0-全1
0 0 1 0
1
1 全0-全1
0000--07FF
A15 A14 A13 A12 & 74LS139 E E & 0800--0FFF 1000--17FF 1800--1FFF
A
B
2000--23FF
片内地址
A0
A19…A16 A15 A14 A13 A12 A11 A10 . . . . . .
0 1 0 1 0 1 0 1 0 1 0 1
00000H 007FFH 00800H 00FFFH 01000H 01FFFH 02000H 02FFFH 03000H 03FFFH 04000H 04FFFH
8位—16位—32位…. ◇扩展方法: 地址线全部连在一起,片选及控制信号全部连在一起,片0对
应数据线D0—D7,片1对应D8—D15,以此类推即可。
返回
2.容量的扩展: ◇例如用2片6116(2K*8)扩展为4K*8的存储器 ◇片选信号的产生方法
线选法、局部译码法 和全译码法三种。
• 线选法:用于扩展量不大
D800H-DFFFH 片4: C800H-CFFFH 片5:
注意:寻址时高位地址应只有一位有效
7800H-7FFFH
•局部译码法 局部译码法是对高位地址总线中的一部分(而不是全部)进行译码, 以产生各存储器芯片的片选控制信号。
A0—A10
2KB (1) CS 2KB (2) CS
设A15A14=00
片选
~ ~
方法2 138
A11 A12 A13 A14 A15
A B C
E1 E2 E3
Y0 Y1
‘1’
A10~A0
Y7
A10~~A0 CE
A10~~A0 CE
6116
D7~D0 WR RD
6116
D0~D7 WE OE D0~D7 WE OE
例3:设某微机系统地址线为20条,数据线为8条,采用 6116 设计4KB RAM,起始地址为00000H;采用 2732 设计16KB ROM,起始地址为01000H,列出存储器地址分配表,画出硬件连 接图。 00000H 2K 存储器地址分配表 6116RAM区 00800H 2K 容量 芯片 地址范围 01000H 2KB 6116 00000~007FFH 4K 2KB 6116 00800~00FFFH 02000H 4KB 2732 01000~01FFFH 4K 2732ROM区 4KB 2732 02000~02FFFH 03000H 4KB 2732 03000~03FFFH 4K 4KB 2732 04000~04FFFH 04000H 4K
… …
3.存储器地址分配与设置
设置存储器地址时,通常可按下列步骤进行: (1)根据系统实际装机存储容量,确定存储器在整个存储空间的 位置。 (2)选择合适的存储芯片,画出地址分配图或列出地址分配表。 (3)根据地址分配图或表及选用的译码器件,画出相应的地址位 图,以此确定“片选”和片内单元选择的地址线,进而画出片选译 码电路。 (4)画出存储器与地址总线的接口连线图
常用的地址译码器: 74LS138地址译码器为3-8线译码器
A B C E1 E2 E3 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
输入端 控制端
引脚信号
C 0 0 0 0 1 1 0 1
B 0 0 1 1 0 0 1 1
A 0 1 0 1 0 1 1 1
译码输出 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7