小窥AMBA5 AHB协议SPEC (8)

1、专用传输:
AHB5定义了专用传输特性。该特性定义了一个接口是否支持专用传输的理念。如果这个特性未在接口中定义则不支持专用传输。
专用传输提供了信号量类型操作的机制。
专用传输流程是一个主机通过以下步骤来操作实现的:
(1)从一个地址发起一次专用读传输
(2)基于专用读传输获得的数据计算一个写入该地址的新值
(3)在专用读传输和专用写传输之间可以有其他非专用传输
(4)同这个新值对相同的地址发起专用写传输,如果没有其他主机写入该位置,则专用写传输成功并更新该memory。如果其他主机在专用读传输后写入该位置,专用写传输失败,memory没有被更新。
(5)专用写传输响应表明传输成功或是失败

这种流程确保了memory仅在该位置保持着用于计算新值的值时才会被更新。
如果专用写传输失败了,主机将重复整个专用存取流程。

2、专用存取监视器
一个专用存取监视器用来支持一个专用存取流程并且该监视器必须能判定一次专用写传输是否成功。
该监视器必须能同时监视所有具有专用存取能力的主机的至少一个地址。
监视器必须处在一个能观察所有用于专用存取流程地址的位置。比如,一个系统有多个memory控制器,要么所有存取均要路由至一个包含专用存取监视器的中间节点,要么为每个memory控制器准备一个单独的监视器。

3、专用存取信号
HEXCL :表明这次传输是一次专用存取流程的一部分。这个信号是一个地址阶段的信号,和HADDR有相同的valid。
HMASTER[m:0]:主机识别信号。一个拥有多个专用存取线程的主机必须产生该信号来区分不同的线程。这个信号是一个地址阶段的信号,和HADDR有相同的valid。
HEXOKAY:表明专用传输的成功失败。

HMASTER信号还可用于除了专用传输的目的。允许互连组件和从机用该信号区分不同主机。因此一个有效的HMASTER必须在任何传输中提供,而不仅仅是专用传输。

响应信号:
HEXOKAY为高电平时,表示专用传输成功了且专用存取memory的位置已被更新。
HEXOKAY为低电平时,表示专用传输失败了,这可能因为对一个不支持专用传输的地址发起了专用传输。或者该memory位置在专用读传输后并没有保持不变,这种场景memory位置未被更新。
HEXOKAY必须只能在HREADY拉高时拉高。
HEXOKAY不能在HRESP拉高(ERROR)时拉高。

4、专用传输限制
对于一次专用传输,必须只能只有一次数据传输。burst类型只能声明为SINGLE或者INCR。不能包含BUSY传输,地址必须和HSIZE声明的数据大小对齐。HPROT必须保证专用存取监视器能监视传输。请注意HPROT信号必须保证专用存取监视器对传输具有可见性。如果专用存取监视器位于系统cache的下游,那么传输必须是non-cacheable的。如果专用存取监视器位于系统cache的上游,然后允许传输为cacheable的。

对于一次专用读传输和一次专用写传输被认为是同一次专用存取流程,下列信号必须一致:HADDR,HSIZE,HPROT,HBURST,HMASTER,HNONSEC。

一个主机不允许在同一时间有两个专用传输,专用传输的地址不允许在前一次专用传输的数据阶段被发出。
允许不同HMASTER值的主机发出地址阶段在前一次专用传输的数据阶段发出。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值