• 正文
  • 相关推荐
申请入驻 产业图谱

AMBA CHI总线—DVM事务流程

09/04 09:00
2009
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

AMBA CHI协议支持DVM(Distributed Virtual Memory,分布式虚拟内存)操作,使用DVM操作来管理虚拟内存。DVM是CHI用于管理虚拟地址空间和物理地址空间映射的一种机制。DVM操作可以使系统中的不同节点共享一致的虚拟内存视图,从而提高性能和安全性。

1. DVM transaction 介绍

CHI使用DVM操作来管理虚拟内存。CHI定义了两种类型的DVM操作:DVM Non-sync和DVM Sync。

在CHI中,所有DVM的操作都分为两个part发送到MN。这与ACE不同,ACE有的DVM操作需要两个part,而有的操作只需要1个part。

下面描述了CHI中DVM操作的part顺序:

DVM的第1个part作为请求发送给MN,Opcode字段设置为DVMOp。请求Flit使用地址字段来编码操作的属性。

DVM的第2个part作为数据Flit发送,只有在请求节点收到MN的DBID response后才发送。第2个part携带了DVM操作的目标地址。

当MN收到DVM操作的两个part时,MN会向参与一致性域的RN生成DVM Snoop。MN在节点监听通道上发送两部分的DVM Snoop。

DVM Snoop的两个part必须使用相同的TxnID和Opcode SnpDVMOp,并使用以下参数:

第1个part使用地址字段来编码操作属性和目标地址的高位

第2个part使用地址字段发送地址的其余位

为了区分这两个part,CHI要求地址字段的bit[3]设置为0以表示第1个part,设置为1表示第2个part。DVM snoop的第2个part可能在第1个part之前到达RN。

2. DVM事务类型

CHI定义了两种类型的DVM操作:非同步DVM(DVM Non-Sync)和同步DVM(DVM Sync)。DVM操作的属性决定了RN在响应DVM Snoop之前是否必须等待操作完成。

DVM sync只执行同步操作,没有其他操作。

DVM non-sync包括以下3种操作:

TLB Invalidate

Instruction cache Invalidate

Branch Predictor Invalidate

DVM non-sync不需要等DVM操作执行完成就可以进行更多的DVM操作,这允许有多个outstanding的DVM non-sync。

在以下示例中,RN-F可以发出多个Branch Predictor或Instruction Cache Invalidate,接收的RN-F或RN-D不必立即执行操作:

RN-F或RN-D收到一个指示DVM Non-Sync的DVM Snoop。

RN-F或RN-D向MN发出Snoop响应。Snoop响应确认收到DVM消息,但不表示RN已经执行了DVM操作。

MN向发起RN-F发送Completion消息,表示已接受DVM操作。

为确保所有outstanding的DVM请求已执行,需要执行以下步骤:

RN-F向MN发出DVM sync操作。任何需要由DVM Sync完成的DVM请求必须在发出DVM Sync之前收到它们的完成响应。

MN在snoop通道上向所有RN-F和RN-D发出DVM Snoop。

每个目标RN确保其所有未完成的DVM操作已执行。

每个RN向MN发出一个Snoop响应,表示所有操作已执行。

MN向最初发出DVM sync的RN-F发送DVM Sync的Completion响应。

CHI DVM Sync与ACE中的DVM Sync类似。两者都检查之前发出的DVM操作是否已完成。不同之处是CHI不需要DVM完成消息。

注:Arm核会因DSB指令产生DVM Sync。然而,实现可以选择仅在尚未同步的DVM操作存在时,才因DSB发出DVM Sync。

3. DVM操作flow

本节描述了一个TLB invalidate DVM请求,之后跟一个DVM sync操作,并展示以下事件:

DVM请求的不同部分

MN生成的监听操作

DVM sync如何确保之前的DVM操作已执行

DVM事务的具体流程如下:

RN0发一个TLB invalidate DVM请求给MN。

MN回一个DBIDResp给RN0,表示可以接受DVM请求的第二部分。

RN0向MN发出写数据消息。这是DVM消息的第二部分。

MN将DVM请求的两个部分发送给RN1。

RN1通过向MN发送snoop响应来确认DVM请求。

MN接收到snoop响应。

MN向RN0发出完成消息。

RN0向MN发出一个DVM sync操作。

MN向RN0发出DBIDResp消息。

RN0向MN发送写数据消息。这是DVM同步消息的第二部分。

MN向RN1发出DVM sync监听操作。

RN1完成所有outstanding的DVM操作。

RN1向MN发送监听响应,表示已完成所有操作。

MN向RN0发出完成消息。这是对DVM sync请求的响应。

参考:

Introducing the AMBA Coherent Hub Interface

AMBA® 5 CHI Architecture Specification

安霸

安霸

安霸的产品广泛应用于人眼和计算机视觉应用,包括视频监控、高级驾驶辅助系统(ADAS)、电子后视镜、行车记录仪、驾驶员/舱内监控、无人驾驶和机器人应用。通过提供高分辨率视频压缩、高级图像处理和强大的深度神经网络处理,安霸的低功耗芯片能使智能摄像机从高分辨率视频流中提取有价值的数据。

安霸的产品广泛应用于人眼和计算机视觉应用,包括视频监控、高级驾驶辅助系统(ADAS)、电子后视镜、行车记录仪、驾驶员/舱内监控、无人驾驶和机器人应用。通过提供高分辨率视频压缩、高级图像处理和强大的深度神经网络处理,安霸的低功耗芯片能使智能摄像机从高分辨率视频流中提取有价值的数据。收起

查看更多

相关推荐