计算机组成原理(三)--存储器的层次结构 (3)

(a)集中刷新(存取周期0.5\(\mu s\))
集中刷新是一次刷新存储矩阵中所有的存储单元。即,在数据能保持的这2ms内,分为能读写的周期时间,和不能读写的电路刷新时间。这个刷新时间,也称为"死区“。电路刷新,一次刷新存储矩阵的1行,这个刷新一行的时间等于一个存取周期
eg:当存储矩阵为128128,存取周期为0.5\(\mu s\)时,刷新时间=128 * 0.5 = 64\(\mu s\),即死区时间占64\(\mu s\),其死区时间率为\(\frac{64}{2000} = 3.2%\)
(b)分散刷新(存取周期为1\(\mu s\)
分散刷新是,在每次读写数据后,立刻刷新改行存储矩阵。即一个存取周期=读写时间+电路刷新时间。而读写时间等于电路刷新时间,所以,1个存取周期等于2个读写时间,为20.5=1\(\mu s\)
分散刷新不存在死区,但是使得一次存取时间变成原来的2倍
(c)异步刷新
异步刷新不在一次刷新所有行,也不再每次读写后立刻刷新,而是保证在2ms内,每一行得到刷新即可。所以其死区时间为0.5\(\mu s\)。如果将刷新安排在指令译码阶段,则不会有死区时间(指令译码阶段,不产生cpu去内存的io)
eg:对于128*128的存储矩阵,把2ms平均到每行为2/128=15.6\(\mu s\),即每隔15.6\(\mu s\)顺着存储矩阵的行编号,向下个编号刷新。

3.4 主存与CPU的连接

存储容量的扩展
(1)位扩展
     用2片1K4位存储芯片组成1K8位存储器
     位扩展没有增加房间号,只是房间里面多住人了。即地址线不变,增加数据线,其他没变化
(2)字扩展(增加存储字的数量)
用1K8位存储芯片组成2K8位的存储器:原来的1K字即10根地址线,变成现在的2K即11根地址线,多出来的1根地址线用来进行片选。

image.png-118.6kB


(3)字位扩展
用8片1K4位的存储芯片组成4K8位的存储器。即地址线先扩展4位成\(D_0到D_7\),然后地址线由原来的10根扩展成12根,新增的2根进行限片选,一次选择2个芯片。此时的片选线变成片选译码器

image.png-286.7kB

存储器与CPU的连接
(1)地址线的连接:先连接芯片固有的
(2)数据线的连接:先连接芯片固有的
(3)读写控制线的连接:每个芯片都要连接,包括增加的
(4)片选线的连接:用增加的地址线进行片选线
(5)芯片选择:选择芯片数量组少的解决方案
eg:设CPU有16根地址线,8根数据线。现有以下几种存储芯片:1K4位RAM,4K8位RAM,8K8位RAM,
2K8位ROM,4K8位ROM,8K8位ROM,和74138译码器。请画出CPU和存储器的连接图。要求:
主存地质分配如下:6000H67FFH为系统程序区。6800H6BFFH为用户程序区。
(1) 写出地址对应的二进制码

image.png-22.2kB


所谓系统存储区,指的是单片机中存储系统程序的那部分芯片,通常被烧制在ROM里,而用户程序是单片机中跑的程序,运行在RAM中。如上图所示,应该选择1片2K8位ROM,和2片1K4位RAM。
(2)分配地址线:
     \(A_{0}~A_{10}\)地址线连接ROM,
     \(A_{0}~A_{9}\)地址线连接RAM
(3)确定片选片信号
     如上图,只有1片ROM,而且2片RAM是位扩展,不会引起片选,所以只要区分RAM和ROM即可。如图发现,\(A_{12},A_{11},A_{10}\)即可区分ROM和RAM.因此这3位地址线成为片选线。

3.5 双口RAM和多模块存储器 -- 提高访存速度的手段

单体多字系统
(1)把原来的单字长寄存器改变为多字长的寄存器,使得内存一次可以读出多个字。从而增加访存速度
(2)这种设计实际上不存在,因为多字长在跳转指令时会产生顺序读取的数据无效,降低效率

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwxxpp.html