计算机组成原理7-主存储器—存储器与CPU的连接
目录
一、存储器容量的扩展
1、位扩展——增加存储字长
2、字扩展——增加存储字的数量
3、字、位扩展
二、存储器与 CPU 的连接
三、例题练习
1、写出对应的二进制地址码
2、确定芯片的数量及类型
3、分配地址线
4、确定片选信号
一般而言,要构成一个存储器,一般需要多个存储芯片一起来构成。那么多个存储芯片是如何构成一个大的存储器来进行工作的呢?
一、存储器容量的扩展
1、位扩展——增加存储字长
位扩展的目的是为了增加存储字的字长。
假设现在有1K(1024个)*4位的存储芯片(容量为4096bit)若干,要想构成一个1K*8位的存储器,我们可以使用两片1K*4位的存储芯片来构成,如下图
我们通过片选信号CS同时选中两片存储芯片,同时进行8位数据的读出和写入,例如,每片芯片有10跟地址线,4跟数据线,它们的连接方式如下
对于如上例子,位扩展的关键就是将两个存储芯片当成一个存储芯片来用,让两个存储芯片同时工作,同时被选中,同时做读操作,同时做写操作,要想保证同时,就是把两个芯片的片选CS,用相同的信号进行连接。
2、字扩展——增加存储字的数量
假设现在有1K*8位的存储芯片若干,要想构成一个2K*8位的存储器,我们可以使用两片1K*8位的存储芯片来构成,如下图
每一个存储芯片的容量是1K*8位,我们要构成一个2K(11位2进制位)*8的存储器,而存储芯片的每一片的容量是1K(10位二进制位),因此我们需要使用两片1K*8位的存储芯片来构成,如图
总共有11条地址线,对于A10,我们将它当成片选信号线,当A10=0时,片选选中左边的存储芯片工作,右边不工作,当A10=1时,通过一个取反,片选选择右边的芯片工作,这从外部看来就是从 0 0000000000 ~ 1 1111111111 刚好是从0~2047共2K个存储单元,每一个存储单元存放8位的二进制代码。
3、字、位扩展
假设现在有1K*4位的存储芯片若干,要组成4K*8位的存储器,我们可以使用8片1K*4位的存储芯片来构成。首先拿两片,来构成1K*8位这样一组芯片,接着,我们需要4组来构成4K*8位的存储器。
那么如何进行连接呢?
其实就是将上述两种方法进行综合,4K*8的存储器,4K(12位二进制位,即12根地址线),8bit,就是8根数据线,1K*4bit的芯片有需要10根地址线,也就是说系统给出的从A0-A11 12根地址线,其中的10根A0-A9是直接送到芯片当中构成1K*8的一个小的存储器,剩余的2根地址线(4个地址)A11-A10,我们用来做片选信号,如下图
4K的空间我们分配到了4个存储器当中,每个存储器包含了两片1K*4bit的存储芯片,
- 第一个存储器的范围为 00 0...0(10个0)~00 1...1(10个1)
- 第二个存储器的范围为 01 0...0(10个0)~01 1...1(10个1)
- 第三个存储器的范围为 10 0...0(10个0)~10 1...1(10个1)
- 第四个存储器的范围为 11 0...0(10个0)~11 1...1(10个1)
由A11和A10来判断要访问的地址在哪一个存储器当中,我们采用译码器进行译码,当
- A11 =0 A10=0 选择第一个存储器
- A11 =0 A10=1 选择第二个存储器
- A11 =1 A10=0 选择第三个存储器
- A11 =1 A10=1 选择第四个存储器
二、存储器与 CPU 的连接
- 地址线的连接:由于CPU地址线一般多于存储芯片地址线,因此一般CPU低位地址线与存储芯片相连,高位地址线用作控制信号。
- 数据线的连接
- 读/写命令线的连接:CPU读/写命令线一般可直接与存储芯片的读/写控制端相连,通常高电平为读,低电平为写。
- 片选线的连接:由于存储器是由许多存储芯片组成的,存储芯片的片选控制线和CPU的高位地址有关,CPU的高位地址线经过译码器译码,和访存控制信号共同作用,产生存储芯片的片选信号。访存控制信号,例如,低电平有效时,访问存储器;高电平有效时,访问I/O。
- 合理选择存储芯片:系统程序区应该选择ROM ,用户程序区选择RAM。
- 其他,比如时序、负载等
三、例题练习
解题步骤:
1、写出对应的二进制地址码
CPU有16根地址线,说明芯片的寻址范围是16 x 16 = 64 K;MREO作为访存控制信号,低电平时访问存储器(顶方的横线表示),高电平时访问I/O;
系统缓存区:6000H~67FFH换算成地址范围 ——> 67FFH - 6000H= (67FFH+1-6000H) = 800H = 8 x 16 x 16 = 2 x 2^10 = 2K;
用户缓存区:6800H~6BFFH换算成地址范围 ——> 6BFFH - 6800H= (6BFFH+1-6800H) = 400H = 4 x 16 x 16 = 1 x 2^10 = 1K;
以上为10进制的换算,我们换成对应的二进制表示为:
2、确定芯片的数量及类型
根据地址范围的容量以及该范围在计算机中的作用,选择存储芯片。
根据6000H~67FFH为系统程序区的范围,应选择1片2K x 8 位的ROM,若选择其他的ROM,都超出了2K x 8 位的系统程序区范围。
根据6800H~6BFFH为用户程序区的范围,选2片 1K x 4位的RAM芯片正好满足1K x 8位的用户程序区要求
3、分配地址线
将CPU的低11位地址A10~A0与2K x 8 位的ROM地址线相连;将CPU的低10位地址A9~A0与2片 1K x 4位的RAM地址线相连。剩下的高位地址与访存控制信号MREQ共同产生存储芯片的片选信号。
4、确定片选信号
计算机组成原理7-主存储器—存储器与CPU的连接相关推荐
- 计算机组成原理实验主存储器,计算机组成原理实验课件--存储器讲解.ppt
计算机组成原理实验课件--存储器讲解.ppt 1,实验三存储器实验,2,实验目的 理解计算机主存储器的功能.组成知识: 熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差异之处: 理解并熟悉通 ...
- 计算机组成原理实验主存储器,计算机组成原理实验课件--存储器.ppt
<计算机组成原理实验课件--存储器.ppt>由会员分享,提供在线免费全文阅读可下载,此文档格式为ppt,更多相关<计算机组成原理实验课件--存储器.ppt>文档请在天天文库搜索 ...
- 计算机组成原理:4. 存储器
更好的阅读体验\huge{\color{red}{更好的阅读体验}}更好的阅读体验 文章目录 4.1 概述 4.1.1 存储器分类 按存储介质分类 按存取方式分类 按在计算机中的作用分类 4.1.2 ...
- 计算机原理林美华实验,计算机组成原理2---设计存储器
计算机组成原理2---设计存储器 (2页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 南京信息工程大学实验(实习)报告实验(实习)名称设 ...
- 计算机组成原理之主存储器
概述 存储器的分类 按存储介质分类 存储介质是指能寄存"0"."1"两种代码并能区分两种状态的物质或元器件. 半导体存储器:分为双极型(TTL)半导体存储器和M ...
- 硬件描述语言要用计算机吗,计算机组成原理用硬件描述语言设计CPU.docx
计算机组成原理用硬件描述语言设计CPU 计算机科学与工程学院课程设计报告题目全称: 课程名称: 指导老师: 职称: 序号学生姓名学号班号成绩12345678910(注:学生姓名填写按学生对该课程设计的 ...
- 3.2.3 存储器与CPU的连接(重难点 看完就会)
本节内容是存储器中的重点和难点,篇幅较长.并不用担忧,看完这片文章,你会对知识点十分了解,并且会用几道题目来巩固一下内容. 由于CPU所要执行的指令和数据都保存在主存当中,并且执行完成后,需要将执行结 ...
- 计算机组成原理简单模型机实验,CPU 与简单模型机设计实验
计算机科学与技术系 实 验 报 告 专业名称 计算机科学与技术 课程名称 计算机组成原理 项目名称 CPU 与简单模型机设计实验 班 级 学 号 姓 名 同组人员 无 实验日期 2016.6 一.实验 ...
- 计算机组成原理 实验五 单周期cpu
proteus仿真软件安装教程链接 如果对我的实验报告感兴趣,可以考虑我的计组实验专栏 计算机组成原理专栏链接
最新文章
- LaTeX 的对参考文献的处理
- Win10一周更新系统开始面向企业分支推送
- 针对与其他语言的数据交换Model ,添加了 构造函数
- python rpc webservice_PythonXMLRPC服务器端和客户端实例
- java jni helloword_JNI学习一:编写HelloWorld程序
- 三层架构之初识庐山真面目
- scratch编程 飞翔的小鸟 开发笔记 0604
- 如何将图片格式转换为ico格式?
- 爬取小说【含完整代码】
- 三大思维导图软件比较
- 北大青鸟S2MySQL内测题答案_ACCP 北大青鸟 S2 结业项目机试答案
- Waymo无人车报告:通往自动驾驶之路
- 什么是虚拟计算机集群
- 【转载】ABAP CDS 函数
- macbook air 单独安装纯净win7OS
- word多个标题一不能显示在一页
- c语言单招程序设计解析,学生教学论文,关于单招C语言程序设计教学方法探究相关参考文献资料-免费论文范文...
- desktop.ini和folder.htt
- continu和break的区别
- 家居安防与监控全国产化电子元件推荐方案
热门文章
- python 同时赋值_python同时给多个变量赋值
- NB-IoT物联网开发技巧和应用:专栏总述
- kubectl describe命令详解
- HBase的一点纪要
- IPSEC实验(IPSECVPN点到点,DSVPN,IPSECVPN旁挂)
- android数据线接口定义,制作Android手机可连接普通键盘的数据转接线
- 河南省第五届acm大学生程序设计竞赛总结
- iOS 绘制股票K线图
- COLLATE utf8_general_ci;是什么意思?
- 中职双师型教师计算机培训总结,中职教师教学能力远程培训总结范文(精选3篇)...