• 内容讲解

常规存储器是单端口存储器,每次只接收一个地址,访问一个存储单元,从中读取或写入一个字节或字。主存储器是信息交换的中心,一方面CPU频繁地与主存交换信息,另一方面外设也较频繁地与主存交换信息,而单端口存储器每次只能接受一个访存者,或是读或是写,这就影响到存储器的整体工作速度。为此,在某些系统中采用了双端口存储器。

图3-6所示的双端口存储器具有两个彼此独立的读写口,每个读写口都有一套自己的地址寄存器和译码电路,可以并行地独立工作。两个读写口可以按各自接收的地址同时读出或写入,或一个写入而另一个读出。与两个独立的存储器不同,两个读写口的访存空间相同,可以访问同一个存储单元。通常使双端口存储器的一个读写口面向CPU,另一个读写口则面向外设或输入输出处理机。

316.gif

由此可见,双端口存储器由于具有两组相互独立的读写控制线路,可以对存储器中任何位置上的数据进行并行、独立的存取操作,因而是一种高速工作的存储器。

如果两个端口同时访问存储器的同一个存储单元,便会发生读写冲突。为解决此问题,可以设置一个“忙”标志。在发生读写冲突时,片上判断逻辑决定对哪个端口优先进行读写操作,而对另一个被延迟的端口置“忙”标志,即暂时关闭此端口。等到优先端口完成读写操作,才将被延迟端口的“忙”标志复位,重新开放此端口,允许延迟端口进行存取。