3.8086/8088的存储器
3.1 存储器概述
3.1.2 存储器分类
3.1.3 半导体存储器的组成
- 存储体
存储单元的总数N与地址线的位数关系:
2 n = N 2^n=N 2n=N - 地址选择电路
地址译码方式有以下两种:
(1) 单译码
只用一个地址译码器,适用于小型存储器
(2) 双译码
X/Y双译码器(参考键盘X/Y轴扫描),同时选中的存储单元才能进行操作
3.2 内存地址分配
在8086/8088的内存分配中,将整个存储器分为多个区块,每个块存储一字节的内容,从默认从偏移地址位0000H的空间开始存储
ORG 0200H
BUF DB 100, -2, 'A'
COUNT EQU $-BUF
BUF1 DW 10, -10
求运行后各个变量的内存分配示意图?
COUNT=3
其中,DB占一个字节,DW占两个字节
COUNT一般不画在图里
对于双字的变量,先写低位再写高位
3.3 存储器的容量表示
一般的,存储器上连接着地址总线和数据总线.
以某静态RAM芯片为例,其容量为8Kx8bit
其中8K指存储单元的总数(即地址的动态范围,一般是22^地址总线数量),8bit指每个单元存储的大小(即数据总线的动态范围,一般等于数据总线数量)
3.4 译码器
常用译码器主要有两种:
-
3-8译码器(74SL138)
输出:Y0~Y7
输入:A/B/C
怎么用:
G1=1,G2A=G2B=0时,表示芯片输出0有效
对ABC进行二进制编码转十进制,如果ABC的值为i,那么输出Yi=0,其余Yn=1 -
2-4译码器
输出:Y0~Y4
输入:A0/A1
使用方法与3-8译码器基本一致,低电平有效
3.5 存储器的扩展
概述:一般通过地址译码器,输入连接部分地址总线,输出接入各个存储器芯片的片选CS引脚(0有效)
典型题目有如下几种:
- 每个存储器芯片的容量是多少
存储器容量=2^地址总线数x数据宽度- 写出每个芯片的地址范围
(1)确定固定的地址线
(2)确定每一片的片选信号
(3)确定片内地址总线(一般为0000H~FFFFH)
(4)列表进行总结- 是否为部分译码
两种判断方法:
1.全部地址线都参与寻址了吗
2.是否有存储器地址重叠
结- 是否为部分译码
两种判断方法:
1.全部地址线都参与寻址了吗
2.是否有存储器地址重叠
以上两者等价