【计组】3.4 主存储器与CPU的连接

【计组】3.4 主存储器与CPU的连接_第1张图片

【计组】3.4 主存储器与CPU的连接_第2张图片
· 一块存储芯片与外部通过控制总线、数据总线、地址总线进行数据交换
【计组】3.4 主存储器与CPU的连接_第3张图片
【计组】3.4 主存储器与CPU的连接_第4张图片
【计组】3.4 主存储器与CPU的连接_第5张图片

单块存储芯片与CPU的连接

【计组】3.4 主存储器与CPU的连接_第6张图片
· 如上图,存储芯片8K *1位,即主存存储字长1 bit,主存存储单元2的13次方个
· 13跟地址线A与CPU的16根地址线中的13根地址线接头相连;
· 写使能线WE与CPU的控制线中的写使能线相连
· 1跟数据线D与CPU的8根数据线中的一根相连;
· 片选线CS,由于只有这一个存储芯片与CPU相连接,所以只需要直接给片选线加高电平信号就行
· CPU的最大能力是64K * 64位 ,可以看到只连接这一个存储芯片时,CPU的能力没有被充分利用;不论是机器字长还是地址空间

多块存储芯片与CPU的连接

位扩展法

【计组】3.4 主存储器与CPU的连接_第7张图片
· 给2个芯片的片选线CS同时加上高电平,则它俩同时工作
· CPU将地址信息同时送给图上的2个芯片,一次性传2bit信息到CPU
· 为了充分利用CPU的机器字长,可以用上述方法连接8个相同的存储芯片,如下图
【计组】3.4 主存储器与CPU的连接_第8张图片
· 注:地址信息是同时送给这8个芯片,并且这8个芯片的片选线CS都是直接接高电平,因为它们要同时工作吖~
· 个人觉得:这样存储信息会不会不方便?但又一想,CPU既然这么存,那取的时候也是同样的取,好像没什么不方便。

字扩展法

总览
【计组】3.4 主存储器与CPU的连接_第9张图片
· 实际应用更多采用片选法

引入
【计组】3.4 主存储器与CPU的连接_第10张图片
· 如果只给CPU连接1块8K * 8bit的芯片,那么CPU的机器字长是得到充分利用了,但CPU的寻址能力没有被充分利用
· 简单的仿照上文的位扩展方法,给CPU连接2个相同的芯片时如上图
· 图中,2个芯片的片选线CS都加了高电平,等价于它俩同时工作,因为2个芯片的存储字长都是8位,且都连接在CPU的数据线上,那么读写数据的时候一定是会冲突的;并且A13~A15的地址线依旧没有被利用起来

· 采用以下线选法策略:
详情

线选法

【计组】3.4 主存储器与CPU的连接_第11张图片
· A13和A14分别连接2个芯片的片选线CS
· 但A13和A14同时加高电平时,会发生上文所说的冲突;
· 如果把2个芯片看做一个存储器,那么地址11x xxxx xxxx和地址00x xxxx xxxx都是不能用的;造成地址空间不连续
· 进行以下优化:

片选法

【计组】3.4 主存储器与CPU的连接_第12张图片
· 将A13地址线的输出信号分为2条,其中一条后方加上一个非门电路,分别连接2个芯片,使得2个芯片能够同时接收片选线CS信号但又能保持信号不同,一次只有1个芯片工作;
· 将2个芯片看做一个存储器时,其地址空间是连续的
· 这个非门电路可以看做一个“1-2译码器”即将输入的地址信号译码成2个不同的地址信号;同样的进行优化
【计组】3.4 主存储器与CPU的连接_第13张图片
· 上图右,是一个3-8译码器,即输入3个地址信号,能过输出8个不同的地址信号
· 译码片选法,应用一个2-4译码器如下
【计组】3.4 主存储器与CPU的连接_第14张图片
· 注:图中A0~A12的地址信息在图上画出看起来像是芯片之间相连互相传递,但只是为了看起来整齐一些,不是真的这样连接,地址信息依旧是每个芯片都和CPU直接相连进行传递的
· 将A13和A14连接到2-4译码器上后,将4个芯片看做一整个存储器,第一块芯片的地址是00 xxxx xxxx;第二块芯片的地址是01 xxxx xxxx;第三块的地址是10 xxxx xxxx;第四块的地址是11 xxxx xxxx;使用这种策略可以使得存储器的合法存储地址都是连续的

· 考试时为了考察理解,可能会有将A13和A15连接在2-4译码器的情况,如下所示
【计组】3.4 主存储器与CPU的连接_第15张图片
· 此时A14不论传入高电平还是低电平对于信息存储都不影响,因为只有A13和A15会决定地址;
· 但,以第一块芯片为例,这块芯片实际上只要8K个存储单元,但因为A14的信号有0和1两种信号,所以会有16K个合法的地址,即16K个合法地址对应着8K的存储单元,这是不合理的,所以只有在考试中会遇到,实际生活中没有这样连接的
在这里插入图片描述
· 错误原因:忽略地址总线的高位、地位
在这里插入图片描述
【计组】3.4 主存储器与CPU的连接_第16张图片
【计组】3.4 主存储器与CPU的连接_第17张图片

字位扩展法

【计组】3.4 主存储器与CPU的连接_第18张图片
· CPU的寻址能力有2的16次方64K,机器字长有8bit;但每一块芯片的地址只有2的14次方,且存储字长只要4bit;
· 位扩展-充分利用CPU的机器字长:将2块芯片的地址线分别与CPU的D0~ D3 和 D4~D7相连,使得CPU一次性可以存取8bit信息
· 字扩展-充分利用CPU的寻址能力:将A0 ~ A13作为芯片的片内地址;A14、A15连上2-4译码器;译码器的输出端分别连接4组芯片
· 一块芯片的存储容量是 16K * 4bit ;进行位扩展后,2块一组的芯片组的存储容量是16K* 8bit;4组芯片组进行字扩展后的存储容量是64K*8bit;
· 字位扩展后的存储器的地址空间从00 0000 0000 ~ 11 1111 1111连续不间断

【计组】3.4 主存储器与CPU的连接_第19张图片
在这里插入图片描述
在这里插入图片描述
· 错误原因:2K个存储单元,地址位数的10+1 位,不是10+2 位【计组】3.4 主存储器与CPU的连接_第20张图片
在这里插入图片描述
· 错误原因:计算ROM区的存储单元个数:相减后需要加一,
在这里插入图片描述
· 同类型练习:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
· 错误原因:主存地址个数、MAR位数、实际存储器地址个数之间的关系
· 主存地址空间大小- - - 即CPU的最大寻址能力和最大机器字长能力利用的结果
· MAR位数- - -反映CPU最大寻址能力,即便存储器现在没有这么多地址,但也有地址扩展的肯能,所以MAR要做好地址扩展的准备
· 实际存储器地址个数- - - 当下存储器的地址个数

在这里插入图片描述
【计组】3.4 主存储器与CPU的连接_第21张图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

补充:译码器使能信号、存储器请求信号

【计组】3.4 主存储器与CPU的连接_第22张图片
· 高电平有效:译码器输出的高电平信号使芯片被选通
· 低电平有效:译码器输出的低电平信号使芯片被选通
· 译码器使能信号EN:加上高电平使译码器能够工作
【计组】3.4 主存储器与CPU的连接_第23张图片

· 多个使能信号:只有所有的使能信号分量都满足时,译码器才能工作;如上图右上角,74ls138译码器,只有给G1加上高电平,G2A G2B加上低电平译码器才能工作
· 给译码器加上使能信号的作用是:控制片选信号的生效时间- - - 首尾呼应,在3.3节前面讲的控制电路的作用,类似于控制电路让数据寄存器内信号稳定后在传数据给数据总线、让MAR中信号稳定后再传信号给芯片的功能一样
【计组】3.4 主存储器与CPU的连接_第24张图片
· 具体的CPU控制片选信号生效时间过程:
·····CPU先将低13位地址(芯片片内地址)和高3位地址(片地址)送到相应的位置;高3位送给译码器的ABC,低13位送给连接的所有芯片;
······译码器的G1一直加着高电平,G2A一直加着低电平;G2B则连接CPU的MREQ就是存储请求信号端
······当CPU送出的地址信号稳定后,CPU就会通过MERQ加上低电平传给译码器的G2B,此时译码器被使能,译码器能够正常工作了,译码器就将ABC上的片选信号移码,选通对应的片选线进而选通对应的芯片,进行存取

你可能感兴趣的:(计组)