story · 2021年07月28日

AMBA AHB中的retry和split的区别是什么?

在AMBA AHB传输过程中,slave使用信号HRESP[1:0]返回当前传输的状态:

OKAY表示当前传输正常,当HREADY变高时传输已成功完成。

ERROR表示发生了传输错误,且传输失败。

RETRY 和SPLITRETRY和SPLIT传输响应都表明传输无法立即完成,总线应继续尝试传输。在正常操作中,在arbiter 允许另一个master可以访问总线之前,当前master应该完成特定burst中的所有传输。然而为了避免某个master未完成的burst传输占据比较大延迟,arbiter有可能中断burst传输。在这种情况下,master必须对总线重新申请仲裁,以完成剩余的burst请求。

需要大量处理周期的AHB slave都可以使用SPLIT和RETRY响应,以避免在数据尚未准备好之前stall住总线,但同时也需要告诉master下一次重新发起传输请求。
640.gif

RETRY和SPLIT之间的区别在于,SPLIT 响应告诉AHB仲裁器给予所有其他master仲裁高优先级直到SPLIT 传输可以完成,防止其他master被饿死。而RETRY响应只告诉AHB仲裁器将优先级给更高优先级的master,不会排除返回SPLIT 响应的master。

SPLIT响应的实现比RETRY更复杂,但其优点是总线带宽实现最大效率。对于SPLIT 响应和RETRY响应,master的行为是相同的,都需要取消下一次的数据访问,并且重试当前的访问。

当然,对于只支持一个master的AHB-lite协议的设计中不支持SPLIT和RETRY 响应,因为这些设计只支持一个master。

作者:XinXinHu
原文链接:https://mp.weixin.qq.com/s/yOVmhKyfvYfAQXWFzS0MCQ
微信公众号:
数字芯片实验室.jpg
授权转自数字芯片实验室公众号,请勿二次转载。

推荐阅读

更多数字IC设计技术干货等请关注数字芯片实验室专栏。
推荐阅读
关注数
12271
内容数
198
前瞻性的眼光,和持之以恒的学习~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息