多端口存储器在多机系统中的应用
前言
在测控、仪器仪表、语音信号处理和图像通信领域中往往需要多处理器分工完成数字信号处理(DSP)算法和与外部系统的通信、把持、数据采集和机接口功效。在 多机系统 中,CPU之间的通信常采用以下几种方法:(1)串行通信。种方法相对简略,由于受到波特率的限制,在不同档次单片机之间需要通信业务大的场合得不到很好的通信效果。(2)并行通信。利用CPU的I/O功效在CPU之间增长缓冲器或锁存器实现双机通信。通信性能较串行通信有所进步,但仍然得不到理想的效果。(3)利用共享式 存储器 实现。DMA方法就其中的一种,能够达到数据的高速传输,但不能同时访问存储器,CPU必须等候总线,而且有些CPU不支撑DMA功效。另一种是利用多端口存储器,双口RAM和FIFO是常用的两种多端口的存储器,容许多CPU同时访问存储器,大大进步了通信效率,而且对CPU没有过多的恳求,特别合适异种CPU之间异步高速系统中。因此,受到硬件设计者的青睐。
一、两种多端口存储器
1.双口RAM的仲裁把持
双口RAM是常见的共享式多端口存储器,以图1所示通用双口静态RAM为例来阐明双口RAM的工作原理和仲裁逻辑把持。双口RAM最大的特点是存储数据共享。图1中,一个存储器配备两套独立的地址、数据和把持线,容许两个独立的CPU或把持器同时异步地访问存储单元。既然数据共享,就必须存在访问仲裁把持。内部仲裁逻辑把持供给以下功效:对同一地址单元访问的时序把持;存储单元数据块的访问权限分配;信令交换逻辑(例如中断信号)等。
(1)对同一地址单元访问的竞争把持
如果同时访问双口RAM的同一存储单元,势必造成数据访问失真。为了防止冲突的产生,采用Busy逻辑把持,也称硬件地址仲裁逻辑。图2给出了地址总线产生匹配时的竞争时序。,此处只给出了地址总线选通信信号先于片选脉冲信号的情况,而且,两端的片选信号至少相差tAPS——仲裁最小时间间隔(IDT7132为5ns),内部仲裁逻辑把持才可给后访问的一方输出Busy闭锁信号,将访问权交给另一方直至结束对该地址单元的访问,才取消Busy闭锁信号,将访问权交给另一方直至结束对该地址单元的访问,才取消Busy闭锁信号。即使在极限情况,两个CPU几乎同时访问同一单元——地址匹配时片选信号低跳变之差少于tAPS,Busy闭锁信号也仅输出给其中任一CPU,只容许一个CPU访问该地址单元。仲裁把持不会同时向两个CPU发Busy闭锁信号。
(2)存储单元数据块的访问权限分配
存储单元数据块的访问权限分配只容许在某一时间段内由1个CPU对自定义的某一数据块进行读写操作,这将有助于存储数据的掩护,更有效地避免地址冲突。信号量(Semaphore,简称SEM)仲裁闭锁就是一种硬件电路联合软件实现访问权限分配方法。SEM单元是与存储单元无关的独立标记单元,图3给出了一个信号量闭锁逻辑框图。两个触发器在初始化时均使SEM容许输出为高电平,等候双方申请SEM。如果收到一方写入的SEM信号(通常低电平写入),如图3所示,仲裁电路将使其中一个触发器的SEM容许输出端为低电平,而闭锁另一个SEM容许输出端使其持续保持高电平。只有当先恳求的一方取消SEM信号,即写入高电平,才使另一SEM容许输出端的闭锁得到解除,恢复等候新的SEM申请。
(3)信令交换逻辑(signaling logIC)
为了进步数据的交换能力,有些双口RAM采用信令交换逻辑来通知对方。IDT7130(1K容量)就是采用中断方法交换信令。利用两个特别的单元(3FFH和3FEH)作为信令字和中断源。假设左端CPU向3FFH写入信令,将由写信号和地址选通信号触发右端的中断输出,只有当右端的CPU响应中断并读取3FFH信令字单元,其中断才被双口RAM取消。
- 1
- 2
- 3
- 4
- 5
- 下一页