由于CPU和主存储器之间在速度上是不匹配的,这种情况便成为限制高速计算机设计的主要问题
。为了提高CPU和主存之间的数据传输率,除了
主存采用更高速的技术来缩短读出时间外,
还可以采用并行技术的存储器。
解决途径
多个存储器并行工作
- 双端口访问和交叉编址存储器
- 采用分层的存储系统 (Cache(第6节))
一、双端口存储器
逻辑结构
双端口存储器由于同一个存储器具有两组相互独立的读写控制电路而得名。由于进行并行的独立操作,因而是一种高速工作的存储器,在科研和工程中非常有用。
举例说明,双端口存储器IDT7133的逻辑框图 。如下页图。
2、无冲突读写控制
当两个端口的地址不相同时,在两个端口上进行读写操作,一定不会发生冲突。当任一端口被选中驱动时,就可对整个存储器进行存取,每一个端口都有自己的片选控制(CE)和输出驱动控制(OE)。读操作时,端口的OE(低电平有效)打开输出驱动器,由存储矩阵读出的数据就出现在I/O线上。
3、有冲突读写控制
当两个端口同时存取存储器同一存储单元时,便发生读写冲突。为解决此问题,特设置了BUSY标志。在这种情况下,片上的判断逻辑可以决定对哪个端口优先进行读写操作,而对另一个被延迟的端口置BUSY标志(BUSY变为低电平),即暂时关闭此端口。
4、有冲突读写控制判断方法
(1)如果地址匹配且在CE之前有效,片上的控制逻辑在CEL和CER之间进行判断来选择端口(CE判断)。
(2)如果CE在地址匹配之前变低,片上的控制逻辑在左、右地址间进行判断来选择端口(地址有效判断)。
无论采用哪种判断方式,延迟端口的BUSY标志都将置位而关闭此端口,而当允许存取的端口完成操作时,延迟端口BUSY标志才进行复位而打开此端口。