双口RAM初探

有时候,我们从前人那里听到某些说法并不断地重复着这种说法,自然而然地,对这种说法就深信不疑,然而,当回头再品读以后,发现原来这是一个多么”冤“的误会。今天,我偶然发现了这么一个”冤案“,而且这个”冤案“的造成不是别人,正是几年前的自己。

以前以为,双口RAM是一个很”神秘“的存在,在不同的FPGA之间可以起到”隔离“的作用,但是对于双口RAM本身的工作原理和怎么就起到”隔离“作用,始终没有去了解和思考过。今天补习了一下知识,也对此总结,提醒自己不要轻易地就做出判断,那样很容易就多出一起”冤案“。

双口RAM,顾名思义,就是具备两个端口的随机存取存储器(RAM),这是和单口RAM作区分的。既然是两个端口,那么一定涉及两个与之交互的对象,即处理器,这也就决定了双口RAM的存在用途就是为两个处理器提供数据访问的载体。

通常,两个处理器如果要进行数据交互,可以采用串口或者标准总线结构进行通讯,但这类方式要么无法适应交互数据量大、访问速率高的场合,要么需要比较复杂的总线控制接口电路,因此出现了通过双口RAM实现两个处理器数据通讯的方式,这种方式的优势在于可传输一定的数据量、双方的访问相对独立、数据存取效率比较高等。

在实现形式方面,可以通过RAM+仲裁电路的形式搭建双口RAM,不过由于RAM一般只有一组数据总线、地址总线和控制总线,所以同一时刻只能有一个处理器具备对RAM的访问权,而这取决于所设计的仲裁电路,显然这种方式除了需要花精力设计仲裁电路外,还无法实现真正意义上的双处理器独立访问,因此也有称此为”伪“双口RAM的说法。另一种方式,则是比较省事的方式,直接采用专有的双口RAM芯片,这类芯片具备两组完全独立的数据总线、地址总线和控制总线,并且通过芯片本身的仲裁机制决定当两个处理器同时访问同一地址单元时的访问权,并通过相应的标记将仲裁结果反馈给双处理器,供其决定是否放弃此次访问,很明显,采用专有的双口RAM芯片既省心,又能够实现真正意义上的双处理器独立访问,只是需要点money而已。

顺便也列举一些常用的双口RAM芯片器件商:Cypress公司、IDT公司。

了解了上述这些有关双口RAM的知识点,不会把它和”隔离“联系到一块去了吧,顶多它只是”分离“了对双口RAM这个存储载体的访问总线而已。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值