找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4216|回复: 0
打印 上一主题 下一主题
收起左侧

双口RAM原理

[复制链接]
跳转到指定楼层
楼主
ID:105323 发表于 2016-2-23 03:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
双口RAM是常见的共享式多端口存储器,其最大特点是共享存储数据,即一个存储器配备两套***的地址线、数据线和控制线,允许两个***的CPU或控制器同时异步的访问存储单元。这种同时异步的访问存储单元需要内部仲裁控制逻辑的控制(BUSY功能输出),由于两个端口对双口RAM存取时存在以下4种情况:
1.两个端口不同时对同一地址单元存取数据;
2.两个端口同时对同一地址单元读出数据;
3.两个端口同时对同一地址单元写入数据;
4.两个端口同时对同一地址单元操作,一个写入数据,一个读出数据。
所以,内部仲裁控制逻辑相应的提供以下功能:
1.对同一地址单元访问的时序控制;
2.存储单元数据块的访问权限分配;
3.信令交换逻辑。

对同一地址单元访问的时序控制

当左右端口不对同一地址单元存取时,BUSY R=H,BUSY L=H,可正常存储;当左右端口对同一地址单元存储时,有一个端口的BUSY=L,禁止数据的存取,此时,两个端口中先出现的存储请求信号对应的BUSY=H,允许存储,后出现的存储请求信号对应的BUSY=L,禁止存储(注意:两端口间的存储请求信号出现时间差应满足仲裁最小时间间隔TAPS(IDT7132为5ns),否则仲裁逻辑无法判定哪一个端口的存储请求信号在前);在无法判定哪个端口先出现存储请求信号时,控制线BUSY L和BUSY R只有一个为低电平,不会同时为低电平,这样就避免了双端口存取出现错误。

存储单元数据块的访问权限分配

存储单元数据块的访问权限分配只允许在某一时间段内由1个CPU对自定义的某一数据块进行读写操作,这将有助于存储数据的保护,更有效地避免地址冲突。信号量(Semaphore,简称SEM)仲裁闭锁就是一种硬件电路结合软件实现访问权限分配方法。SEM单元是与存储单元无关的***标志单元,两个端口分别采用两个触发器可以实现这一功能。两个触发器在初始化时均使SEM允许输出为高电平,等待双方申请SEM,如果收到一方写入的SEM信号(通常低电平写入),仲裁电路将使其中一个触发器的SEM允许输出端为低电平,而闭锁另一个SEM允许输出端使其继续保持高电平。只有当先请求的一方撤消SEM信号,即写入高电平,才使另一SEM允许输出端的闭锁得到解除,恢复等待新的SEM申请。

信令交换逻辑(signaling logic)

为了提高数据的交换能力,有些双口RAM采用信令交换逻辑来通知对方。这类似与PC操作系统的进程同步的信箱机制。

以上是双口RAM自身提供的仲裁逻辑控制,也可采用自行设计的仲裁协议,比如FIFO。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表