5141|1

6892

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

双口RAM防止共享冲突的方式 [复制链接]

一般双口RAM都提供了两个完全独立的端口,每个端口都有自己的控制线、地址线和数据线,CPU对双口RAM端口的操作等效于对它的外部RAM进行操作。双口RAM在使用上要注意的问题是如何避免两端CPU对同一RAM单元的争用,一般来说,双口RAM可提供三种防冲突方式,下面结合CYPRESS公司的CY7C144进行说明。CY7C144是采用低功耗CMOS工艺生产的8×8k位容量、高速存取(20ns)的双端口静态RAM,它还可以用多芯片级联来扩展字宽,其内部原理框图如图1所示。
2.1 插入等待状态的防冲突方式
当左右端口同时对同一地址的RAM存储单元进行存取时,CY7C144芯片内部的仲裁单元将会给出BUSY信号。具体来说,BUSYL、BUSYR信号的正常状态为高电平,当左端口对一存储单元进行存取时,若右端口也对该存储单元进行操作,则芯片内部的仲裁单元会使信号BUSYR为低,直到左端口操作完成后再将BUSYR恢复为高电平。设计中可以利用BUSY信号作为CPU的等待状态输入,并利用该信号使CPU在操作过程中插入等待状态,避免两端同时对双口RAM进行操作。
2.2 信号灯防冲突方式
双口RAM通过申请和释放端口的信号灯(也称为令牌)来操作存储单元可以避免发生冲突。一个信号灯对应相应数量的存储单元。双口RAM的两端均可对信号灯进行存取。当左端口向信号灯写入“0”再回读信号灯时,若信号灯也为“0”表示左端口拥有对存储单元的控制权,否则表示右端口拥有对存储单元的控制权。不管是否取得对存储单元的控制权,操作完成后都应向信号灯写入“1”以释放信号,从而避免资源的死锁。
CY7C144芯片提供8个信号灯,每个信号灯的存储单元为8×2k位。对信号灯进行操作时,片选信号(CEL、CER)应为高电平,信号灯使能信号(SEML、SEMR)为低电平。A0~A2表示信号灯地址,数据线最低位I/O0代表信号灯的值。对存储单元存取的一般过程如图2所示。
2.3 中断防冲突方式
双口RAM中最高地址的两个存储单元可以作为信箱使用,左右两端可以同时对它进行操作。其中最高地址为右端口的信箱,次高地址为左端口信箱。以CY7C144芯片为例,偏移地址1FFEH为左端口信箱,偏移地址1FFFH为右端口信箱。右端口写入左端口信箱1FFEH时,左端口的信号INTL将变为低,左端口读自己的信箱1FFEH时,信号INTL将重新为高;同理,左端口写入右端口信箱1FFFH时,右端口的信号INTR将变低,右端口读自己的信箱1FFFH时,信号INTR将重新为高。可以将信号INTL和INTR作为CPU的中断源,通过信箱向对方传递自己使用存储单元的状态来达到防止冲突之目的。
2.4 三种防冲突方式的比较
在上述三种方式中,插入等待状态的方式对于高速接口来说会影响数据的传送速率,而且要求CPU具有插入等待状态的功能,而有些CPU(如8031)不具备该功能。信号灯方式主要用在两个CPU共享内存空间时,如果双口RAM主要用于两个CPU之间交换数据,则交换的实时性很难用软件来保证,而中断方式则正好解决了这个问题。
此帖出自FPGA/CPLD论坛
点赞 关注
 

回复
举报

6892

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 
经典!常用!
此帖出自FPGA/CPLD论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表