当前课程知识点:微机原理与接口技术 > 第10周 半导体存储器扩展技术 > 第41讲 半导体存储器扩展 > 存储器扩展_2
这个芯片因此我们在使用的时候
是采用了这样子的一个方式
用8片这样子的芯片构成这样子的一个体
这样一个体就相当于我们像一个盒子一样
我们侧面看它是8片紧紧地压在一起
但是正面看它可以看作是一片
因为对于这样一个存储器芯片来讲
它必须要能够作为一个整体进行工作
刚才我们说了它一片是没有意义的
它必须要8片合在一起
同时对它进行访问 它才是有价值的
所以这个
这一个体这就是我们刚才前面说的
在有些时候
我们刚才讲存储器扩展
这个概念的时候我们说
一定要保证每一片芯片要有不同的地址范围
任意一个时候只有一片芯片
或者一组芯片能够被选中
这就是一组芯片
所以一组芯片在这里大家从正面看过去
也就可以认为它是一片芯片
只不过它在背后是8片叠在一起的
这个大家我不知道能够想来不
这样的一个意思 就是说
这一个体它是一个整体
它不可切分
因此在任意一个时刻
这个整体里边的8位芯片
或者同时被选中
或者同时不被选中
或者同时工作或者同时不工作
因为它们整个就是一起的
就可以相当于是一片芯片的意思
这一个部分的#RAS和#CS
这个引脚信号就是刚才我们说的
既然它内部是按矩阵来描述的
所以它就是要先送行地址
后送列地址
那么因为它是分时复用了这8根地址信号线
所以 这个行列地址一定要锁存
所以先送去 这就和我们前边讲8088
那个AD0到AD7这个引脚
我们说先送的是低8位地址
后送去的是8位地址数据信号
那么为了防止把前面的地址信号覆盖
所以我们地址信号一定要锁存
在这里也一样
一旦有分时复用这样子的一个需求
一定要有相应的锁存信号
但是从系统这一边我们看
它实际上还是提供了16位地址信号为它服务
这个LS158我们称为选通控制器
在这里呢 就是说它的控制门是S
S等于0的时候A端口打开
S等于1的时候B端口打开
不管是A口还是B口
任意一个时刻只有一个打开
或者两个都不打开
但是一个打开后 它有一个出口
所以A口连接的是地址总线的低8位
B端连接的是地址总线的中间8位
那么合起来是16位
为什么是16位
是因为整个这个存储体的容量是64K个单元
我们还是需要16位地址信号为它服务
只不过这16位地址信号是
先进去的是行地址 后进去的是列地址而已
这8位是数据信号
这8位数据信号因为我们芯片
刚才我们说这个存储体里是8片芯片
它每一片里面每个单元里
只有一位二进制码
所以这8位数据信号
实际上每一位来自于不同的芯片
等一下我们用展开图来给大家描述
所以这个体 总体来讲
就相当于我们可以认为
它构造了一个64K字节的内存条
在这个内存条上8片芯片是依次平面展开
焊在一起的
而任何一个芯片它是没有意义的
所以作为一个整体
我们总之这8片2164A
必须要具备完全相同的地址
并且必须被同时选中
或者同时不选中
同时工作或者同时不工作
为了帮助大家理解
我们下边把这样一个示意图
我们把它展开一下
看看它是怎么样连接的
所以位扩展我们用这个例子
刚才我们把这个
总体的示意图给大家一个框架
现在我们把那个8个存储体
把它展开来 这就是8片2164A
这8片2164A因为它的每一个单元
每一个芯片上的任意一个单元里都只有一位
而我们比如用MOVE指令
用LEA指令等等
这些指令去访问内存某个单元的时候
一次肯定要访问的是8位二进制码
所以对于这8个芯片
它每一个芯片的地址范围因为64K个单元
它的地址范围从0到FFFF
但是每个芯片上的地址范围
都是完全一样的
它们要想选中必须同时被选中
因此这些芯片所有的地址信号线
它们都是并联引到地址总线上
然后系统通过刚才我们说的选通控制器
然后和系统地址总线来进行连接
那么它的数据因为每片芯片
每单元里只有一位
所以它的这个数据信号
是分别从8片芯片引出
混合在一起构成数据总线上的8位数据信号
这就是8片2164A做位扩展的时候一个案例
因为位扩展我们在实际中其实就是
存储器生产厂商来做的
也就内存条的生产就是这样子的一个模式
而我们知道我们用户
是不会自己来做内存条的
所以这种位扩展大家从概念上
从理论上了解就可以了
我们总结一下
位扩展总之就是
在我们已有的存储器芯片中
每个单元里字长不满足要求的时候
我们需要扩展字长
那么这个时候我们就用到位扩展
而位扩展它的连线的特点
也就是说它的每一个芯片
它的地址都是并联输出的
它的所有的控制信号线都是并联在一起的
要想选中同时被选中
也就是说它的片选端也是要并联在一起的
要想访问哪个单元
它将同时哪个单元都被访问
但是因为它的每个单元里
只有一位二进制码
当然有些DRAM芯片可能每单元里有2位
或者有4位的
所以它的数据线是分别出来
然后但是从总体来讲它也是并联
输出到数据总线的
一句话 简单地来讲
位扩展就是将
多片存储器芯片构成了一个体
这个体它内部无论是
怎么样子像这样子连接
从用户的角度 从外部的角度
它是一个整体
我们也可以说它是一个存储器芯片
所以我们从应用的角度来讲
我们要求它作为一个整体
同时工作或者同时不工作
所以它内部所有的芯片有相同的地址范围
这就是位扩展的总结
所以位扩展最后的效果
实际上没有增加它的单元的个数
但是增加了字长
所以就是最后这句话请大家一定要注意
就是确保要所有的芯片
必须要具备完全相同的地址范围
这个和我们刚才说的
存储器扩展那个概念似乎是有点不一样
刚才存储器概念实际上更多的
针对的是字扩展
也就是说单元数不够的时候
我们需要扩展单元数
这个才是我们用户经常需要涉及到的
就像我们刚才说
我们买这个计算机它实际上只有4G的内存
但是我需要8G的内存
我甚至以后需要16G的内存
那么我就去买两个内存条把它插进去
这样就是做的字扩展的工作
所以字扩展才真正是存储空间的扩展
那么在这样子为了达到
我们的这样真正实现这样一个空间的扩展
所以它的每一个芯片
一定要确保有不同的地址范围
这个是字扩展非常重要的特点
所以它的扩展原则就是
每个芯片它的地址线 数据线 控制信号线
都是要并联的
那么如何实现它有不同的地址范围呢
因为它的每个芯片都是一样的
它的片内地址都是一样的
所以怎么样实现实际上就是高位地址不一样
高位地址不一样又怎么样能够保证
选到不同的芯片呢
实际上就是片选端要分别引出来
这就是字扩展它的核心
我们也用一个图来先示意下
比如这是一个2K字节的一个存储器芯片
2K×8位
所以它的每单元的字长是够的
那么现在如果我们就
设计一个2K字节的存储器
那么这一片芯片就0K了 就没必要扩展了
但是如果我们现在需要
做一个4K字节的存储器
那么我们现在就需要再增加一片
这就是做了一个扩展
那么扩展真正要想达到4K字节
这两个芯片的地址范围肯定不能一样
要一样了它就等于没有扩展
因此怎么样做到不一样
实际上就是片选端一定要不一样
所以它们在连线上
就是说数据总线肯定是引出以后
直接并联连接到数据总线上
它的片内地址比如对于2K字节的存储器
片内肯定是11根地址信号线
那么它们也是这样连接到
系统的地址总线上
它们的读写信号肯定也是并联的
因为如果要系统这边产生读或者写允许
那么这个芯片如果没选中
那么虽然这个读或者写信号走到它门口了
因为它相当于就没有通电
所以写走到它门口也没用
还是它选中了那对它就有意义
所以怎么样区分
就完全靠它们的片选端来区分
而片选端大家已经知道
它肯定是连接到译码器的输出端
那么译码器的输入是什么呢
就显然就是高位地址信号
这个就是字扩展的一个示例
我们用一个例子来
练习一下或者说我们来学习下
怎么样实现字扩展
假设我们SRAM6264芯片来
构造一个32K字节的存储器
6264我们前面那一讲已经讲过
它是一个8K字节的容量的RAM型的芯片
现在要构造一个32K字节
而且告诉了你这个地址范围
是这样子的地址范围
你要用8K构造32K
你首先马上要知道你需要
买4片这样的芯片
所以第一步我们现在就知道
需要四片芯片
第二步怎么办呢
我们跟前边设计那个存储器的
接口电路的方法是一样的
根据这个地址范围我们用二进制把它写出来
然后我们确定高位地址是多少位
因为6264芯片片内是13根地址信号线
所以高位就只有7位
那么7位的状态把它首地址尾地址都写出来
然后看哪些位是不一样的
然后我们来设计我们相应的译码电路
所以它的设计过程
就是由这样一个地址范围我们可以得到
需要4片的6264芯片
这个红颜色的这就是高位地址
首地址的高位是0010000
尾地址的高位地址是0010011
高位地址里有2位状态不一样
实际上就意寓着
它需要管理4片芯片
我们在前面讲RAM和讲ROM的时候
我们举过一些示例
在这些示例里头
因为我们不论讲全地址译码
还是部分地址译码
实际上我们选中的都是一片芯片
对于一片芯片我们也看到过
全地址译码也好部分地址译码也好
我们都用简单的与非门 或门 或非门
这些基本门电路来设计
那个译码电路看上去很简单
但是那个前提是
我们实际上只去管理了一片芯片
现在我们要管理4片芯片构造的存储器
用这样的基本逻辑门
请同学们自己可以考虑一下
这样子的电路设计起来是非常麻烦的
因此就有人为我们做了一些工作
也就是说设计了一些专用的译码电路
这些专用的译码电路
它把内部的很多东西都已经屏蔽掉了
就是说经过了一种封装
抽象成了一个符号
然后在外边设置了一些引脚
我们只需要一些简单的工作
就可以设计出
功能更加强大的译码器了
专用译码电路的
或者专用译码器的品种其实很多
在我们这门课里我们只介绍一种
一个型号 叫做三八译码器
这个型号叫74LS138
它就是三输入八输出的专用译码器
下边我们就把这个译码器先给大家介绍完
然后我们来完成这个示例
这个译码器在我们教材上
它实际上在第一章里头
是属于第一章的内容
但是因为那个时候
我们如果把它放在第一章讲的话
或者第一周的课程里讲的话
我们到现在大家可能都忘掉了 还要回去翻
因为真正到这个时候我们才会用到它
所以我们把这部分内容提到这个地方
我们再来解释
74LS138译码器是个3输入8输出的译码器
所以它可以同时控制8片芯片
这样大家一看它的功能就一目了然了
在任意一个时刻它可以保证
它所连接的这个8片芯片
只有一片芯片会被选中
这就满足了我们字扩展的一个特点
我们字扩展我们说不管多少片芯片
我们构造了这么大一个存储空间
但是我们任意一个时刻
只能有一片芯片被选中
这样才能保证不同的芯片
有不同的地址范围
这就138译码器正好就满足了这一点
这个是138译码器的引脚
所这个引脚上我们可以看出来
这一边是Y0到Y7上面都有上横杠
表示低电平有效的
它是输出端
这里的G1 G2A G2B是使能端
也就是是它能够的意思
也就是使它能够的意思
那么什么样情况才是使它能够呢
就是说这个G1上面没有上横杠
所以它是高电平有效的
G2A G2B上面有上横杠表示低电平有效的
也就是说当这样子三个端
G1端为高电平
G2A G2B同时为低电平的时候
这个芯片就可以开始工作了
那么如何开始工作呢
那就要看它输入端和输出端的关系
现在我们可以看到输出Y0到Y7
全部都是上横杠
所以都是低电平有效
因此我们输入和输出端的关系
我们可以用这张表来描述
这张表就是我们所谓的真值表
真值表这概念我们在前边已经有过提到
它表述着一个集成电路芯片
它的输入和输出之间的一种原理
也就是它们在逻辑上的一种关系
因此这个真值表就反映了
输入和输出端之间的关系
我们下边来看这个真值表
G1 G2A G2B为任意状态
或者为高电平的时候
也就是说它总而言之
它不是100这样的一个状态的时候
无论输入端CBA
请大家注意顺序是CBA不是ABC
CBA的顺序无论是什么状态
这里××表示任意状态
那么输出Y0到Y7全部都是高电平
也就全部是无效状态
那么只有当使能端是100的时候
表示现在是可以工作了
那么这个时候输入端如果是000的话
Y0端会输出低电平
Y1到Y7都是高电平
那么输入端为001 也就是1的时候
Y1端会输出低电平 其他都是高电平
所以这就保证了在任意一个时刻
它的8个输出端所连接的芯片
在任意一个时刻只有一个芯片能够被选中
或者能够让它工作起来
这个就是138译码器的主要功能
我们来看一下
假设我们现在输入端是100
那么100是几呢 是4
所以这个时候Y4端会输出低电平有效
-第1讲 关于本课程
--关于本课程
-第2讲 微型计算机系统
--微机系统_01
--微机系统_02
-第3讲 微型计算机一般工作过程
-第4讲 数制与编码
--计算机中的编码
-第5讲 计算机中数的表示与运算
--数的表示
--符号数的表示
--数的表示与运算
-第6讲 基本逻辑运算与逻辑电路
-第7讲 本周小结
--本周小结
-第1周 微型计算机基础概论--第一周单元测验
-第8讲 8088微处理器
-第9讲 8088 CPU主要引线及机构
-第2周 8088微处理器--第二周单元测验
-第10讲 实模式存储器寻址
-第11讲 8088系统总线
--8088系统总线
-第12讲 微处理器小结
--微处理器小结
-单元测验--作业
-第13讲 指令概述
--指令概述
-第14讲 寻址方式
--寻址方式
-第15讲 通用数据传送指令
-第16讲 地址传送指令
--地址传送指令
-第17讲 输入输出指令
--输入输出指令
-第4周 数据传送指令--第四周单元测验
-第18讲 算术运算指令
--加法运算指令
--减法指令
--乘除运算指令
-第19讲 逻辑运算指令
-第20讲 移位操作指令
--移位操作指令
-第5周 算术运算、逻辑运算与移位操作指令--第五周单元测验
-第21讲 关于串操作指令的说明
--串操作指令说明
-第22讲 串传送与串比较
--串传送与串比较
-第23讲 串扫描指令
--串扫描指令
-第24讲 串装入与串存储指令
-第六周单元测验--作业
-第25讲 程序控制指令说明
-第26讲 转移类指令
--无条件转移指令
--条件转移指令
-第27讲 循环控制指令
--循环控制指令
-第28讲 过程调用指令
--过程调用指令
-第29讲 中断指令
--中断指令
-第30讲 处理器控制指令
--处理器控制指令
-第31讲 指令系统小结
--指令系统小结
-第7周 程序与处理器控制--第七周单元测验
-第7周 程序与处理器控制--第七周作业
-第32讲 汇编语言源程序
-- 汇编语言源程序_01
-- 汇编语言源程序_02
-第33讲 伪指令
--数据定义伪指令
--其它伪指令
-第34讲 系统功能调用
-第35讲 汇编语言程序设计示例详解
--程序设计示例1
-第36讲 汇编语言程序设计小结
-第8周 汇编语言程序设计--第八周单元测验
-第8周 汇编语言程序设计--第八周作业
-第37讲 半导体存储器概述
--半导体存储器概述
-第38讲 内存单元编址
--存储单元编址
-第39讲 随机存取存储器RAM
-- RAM_01
--RAM_02
-第40讲 只读存储器ROM
--ROM_01
--ROM_02
-第九周单元测验--作业
-第41讲 半导体存储器扩展
--存储器扩展_2
-第42讲 半导体存储器小结
--半导体存储器小结
-第十周单元测验--作业
-第十周作业--作业
-第43讲 基本I/O接口
-第44讲 简单接口芯片
--简单接口芯片
-第45讲 基本输入输出方法
--基本I/O方法
-第46讲 简单I/O控制系统设计
-第47讲 中断技术
--中断技术1
--中断技术2
-第48讲 输入输出与中断技术小结
--本周小结
-第十一周单元测验--作业
-第49讲 可编程定时计数器
-第50讲 可编程并行接口
-第51讲 可编程接口小结
--本周小结_01
--本周小结_02
-第十二周单元测验
-第52讲 模拟量的输入输出
--模拟量的输入输出
-第53讲 D/A转换器
-第54讲 A/D转换器
-- A/D转换器_01
-第十三周单元测验--作业
-第55讲 I/O接口系统综合设计示例详解I
-第56讲 综合设计示例详解II
-第57讲 结束语
--结束语