文章目录
第三节 半导体存储器与CPU的连接
一、存储芯片与CPU连接中应关注的问题
- CPU 的负载能力
外接芯片的数量、驱动器、缓冲器。 - 芯片的选择
考虑芯片的容量、总存储容量、时序匹配等。 - 时序配合
存储芯片的速度和CPU额读/写时序相匹配。 - 存储器的地址分配
RAM的用户取存放程序和数据,单芯片容量有限,多芯片组形成存储器需要考虑片选,地址分配。
二、存储器扩展
1. 位扩展:
多个芯片并联得到指定位宽的存储器。
例:用 2Kx8 位的存储芯片组成 2Kx32 位存储体
32 / 8 = 4 片
地址线、控制线并联;
数据线从8位扩展到32位。
2. 字扩展
数据位数不变,子的数量扩展
例 用2Kx8位的存储芯片组成8Kx8位存储体。
8k/2k = 4
8K = 13 根地址线
数据线、控制线和部分地址线并联、另一部分地址线通过译码器后形成片选信号来决定每个芯片的地址。
左边数第一个芯片的地址:0000H~7FFH
第一个的起始和结束地址
00 0000000000
00 11111111111
最后一个时
3. 字位扩展
数据位数和子的数量都需要扩展
如。用2Kx8位的存储芯片组成8kx16位存储体。
先将2个2Kx8位芯片用位扩展为2Kx16位的存储器,在将4个2Kx16位的存储器用字扩展为8Kx16位的存储器。
【例题】存储器扩展有哪几种方式?
3 种,字扩展、位扩展、字位扩展。
【解析】:字扩展:增加字的数量,地址范围; 位扩展:增加位数;字位扩展:位数和地址范围均增加。
三、实现片选控制的方法
存储体由多个芯片构成,由片选信号(由地址线实现)巨顶对哪个芯片进行读写操作。
1. 全译码法
即系统的全部地址线参与到地址译码,高位全部接译码器的输入形成片选信号来选择存储芯片;低位直接接到存储芯片的地址引脚,选择芯片内部的存储单元。该方法存储芯片的每个存储单元有唯一的地址。
8086 有20位, A13-19没有参与。
2. 部分译码法
即地址高位的一部分接到译码器的输入,形成片选信号选中存储芯片;地址低位接到存储芯片的地址端,选择芯片内部的存储单元。该法存储单元的地址不唯一。
3. 线选法
不适用译码器,直接将地址线的高位作为片选线。各存储芯片地址范围?
A19-A15
00000
A14-A11
1110
A10-A0 全0 全1
四、8086 CPU与存储器的连接
1. 8086 CPU 与存储器的奇偶分体接口
20 根地址线,寻址范围1MB。
8086对内存的访问:一个字(16位)或一个字节(8位)1MB分成2个512KB,偶存储体,奇存储体,均8位宽。
偶存储体连接到 8086 低八位 D0-D7 ,奇存储体连接到8086的高八位 D8-D15
用地址线的最低位 A0 用来选择偶存储体,用 BHE 来连接寄存储体,地址线共同连接到 A1-A19
A0和 BHE 对存储体的选择
(1)被访问数据的边界对齐问题
定义:如果一个数据由K个连续字节组成,该数据的地址是K的整数倍。
8086系统一个字数据,若其地址是2的倍数,则该数据是边界对齐的。
字节访问:偶地址,/BHE=0,A0=0,访问偶地址体;奇地址体,/BHE=0,A0 = 1 ,访问奇地址体;边界对齐,需一个总线周期。
字访问
边界对齐:偶地址访问1个字,则/BHE=0,A0=0,则一个总线周期传输两个字节;
边界不对齐:奇地址访问1个字,则线/BHE=0,A0=1,访问奇地址一个字节,后/BHE=1,A0=0,地址+1访问偶地址一个字节,需要两个总线周期。
(2)非边界对齐的一个字的访问
例:假设当前内存中存放的数据和地址如图所示,描述MOV AX, [0001H]指令取得数据的过程
执行完后 AX=6107H。从指令来看要访问一个字,而且地址是奇地址,说明非边界对齐。
先把 07H 放到地址线高位,对于小端存储 07H又被交换到低位,同理 61h 放低位再放高位。低位 AL, 高位AH
下列的变量定义有何不妥之处。
ORG 0012H
BUF1 DB 28H,76H,39H
BUF2 DW 2100
BUF2 开始地址 0015H, 非边界对齐,需要两个总线周期。
在 BUF2 之前添加 ORG $+1
例题:
利用 62512(64Kx8位SRAM)和 27128(16Kx8位EPROM) 芯片设计8086系统在最小工作方式下的存储系统。要求RAM区域从地址00000H开始,容量64Kx16位,可进行字节和字访问;ROM从地址0F0000H开始,容量16Kx16位,只能字访问。采用74LS138译码。
答案:
需要字节和字访问 需要用奇偶分体的连接,
解析:存储器按照字节编址,RAM容量128KB,需17根地址线,按奇偶分体,A0选择奇偶体,A1-A16选择62512内部存储单元。ROM容量32KB(16kx16位),需15根地址线,由于字访问,按照边界对齐,A0始终为0,A1-A14选择27128内部存储单元。
因为要求地址唯一 所以需要全译码方式
第四节 8086的系统地址映射
实地址模式的传统地址范围。
8086 有20位地址线,寻址范围是 1MB。
从00000H到3FFH 1KB的地址存放中断向量表,一个中断向量占4个字节,所以1KB中可以存放256个中断向量。、
从400H到4FFH 存放 BIOS数据区,存放BIOS自检时检测到的重要的参数
从500H到9FFFFH 638KB存放 DOS操作系统,用户应用程序
从A0000H到BFFFFH 128KB 视频缓冲区
扩展系统BIOS区域 存 ROM BASIC,真正的BIOS驱动程序 存放在系统BIOS区域。