ACE(AXI Coherency Extensions) 协议学习记录3:Channel Signaling(下)

本文为ACE协议学习记录的下篇,详细阐述了ACE接口上的基本信道信令要求,包括读数据、读确认、写响应、写确认、监听地址、监听响应、监听数据通道信号,以及监听通道依赖性等内容,还介绍了各信号的规则、约束和作用,以确保缓存一致性和数据传输正确性。

本章节对应手册中Chapter D3 Channel Signaling章节,详细阐述了ACE接口上的基本信道信令要求。

由于篇幅原因Channel Signal章节计划分为上下两篇内容,

上篇连接:ACE(AXI Coherency Extensions) 协议学习记录3:Channel Signaling(上)

本片为ACE(AXI Coherency Extensions) 协议学习记录3:Channel Signaling(下),主要包括如下内容:

目录

3.2读数据通道信号

3.2.1 read response signaling

3.3读确认信号

3.4写响应通道信号

3.5写确认信号

3.6监听地址通道信号

3.6.1snoop address channel简介

补充信息

3.6.2Snoop address channel signaling

监听地址通道握手规则:

3.7监听响应通道信号

3.7.1监听响应通道握手规则:

3.7.2监听响应位的含义和使用限制

DataTransfer位

错误位(Error bit)

传递脏位(PassDirty bit)

IsShared位

WasUnique位

汇总:

3.8监听数据通道信号

3.8.1监听数据通道握手规则:

3.8.2监听数据通道的约束:

3.9监听通道依赖性


3.2读数据通道信号

3.2.1 read response signaling

接下来的部分将详细说明在读取数据通道上的额外响应和确认信号以及相关约束。


首先,读取数据通道包括以下几个关键信号:

  1. RDATA:包含从内存或缓存返回的数据。
  2. RRESP:响应信号,指示数据传输的状态,例如是否成功或是否有错误发生。
  3. RLAST:指示突发传输的最后一个数据字。
  4. RVALID:有效信号,表明数据和响应有效且可供读取。
  5. RREADY:就绪信号,表明接收器准备好接收数据和响应。

此外,还有一些额外的信号可能用于特定的一致性操作或事务类型:

  • RACK:确认信号,用于确认接收器已经接收并处理了RDATA和RRESP。
  • RERR:错误信号,指示在数据传输过程中发生了错误。

表D3-14展示了读响应信号RRESP的额外位,这些位提供了关于读取操作的状态和缓存行属性的额外信息。以下是这些信号的详细描述:

信号 来源 名称 意义
RRESP[2] 互连 PassDirty 当此位为HIGH时,表示缓存行与主内存相比是脏的(Dirty),发起主设备必须确保缓存行在某个时刻被写回主内存。发起主设备可以自己执行写操作,或者将执行写操作的责任传递给另一个主设备。
当此位为LOW时,表示发起主设备没有责任确保缓存行被写回主内存。
RRESP[3] 互连 IsShared 当此位为HIGH时,表示可能在另一个缓存中持有相关数据的副本,缓存行必须保持在共享(Shared)状态。
当此位为LOW时,表示这是相关数据的唯一缓存副本,缓存行可以保持在唯一(Unique)状态。

IsSharedPassDirty响应具有以下限制条件,这些条件对于确保ACE协议中缓存一致性和数据传输的正确性至关重要:

  1. 突发传输内的一致性

    • 在一个突发传输中的所有数据传输必须保持IsSharedPassDirty响应的恒定性。这意味着,对于一个给定的突发传输,这些响应值从开始到结束都应该是相同的。
  2. 移除其他缓存副本的事务

    • 对于那些要求移除所有其他缓存副本的事务,IsShared响应必须为LOW。这表示这些事务期望操作的数据在缓存中是唯一的,不允许其他缓存持有该数据的副本。
    • 这类事务包括:ReadUniqueCleanUniqueMakeUniqueCleanInvalidMakeInvalid
  3. 不允许传递脏数据的事务

    • 对于那些不允许传递脏数据的事务,PassDirty响应必须为LOW。这表示这些事务要求数据在缓存中是干净的,或者不允许脏数据被传递给其他缓存。
    • 这类事务包括:ReadOnceReadCleanCleanUniqueMakeUniqueCleanSharedCleanInvalidMakeInvalid
  4. 无意义的响应

    • 对于某些事务,IsSharedPassDirty响应必须为LOW,因为这些事务对这些响应没有定义。这些事务包括:ReadNoSnoop、屏障事务(Barrier transactions)和分布式虚拟内存事务(DVM transactions)。
  5. 单个读数据通道传输的事务

    • 有些事务在单个读数据通道传输中完成,这些事务包括:CleanUniqueMakeUniqueCleanSharedCleanInvalidMakeInvalid、屏障事务(Barrier)和分布式虚拟内存事务(DVM)。
    • 这些事务在单个读数据通道传输中完成,并且必须断言RLAST信号。RDATA信号的值可以是任意的,并且应该被忽略。
  6. 响应值的一致性

    • 在一个突发传输中,RRESP[3:2]的值必须保持一致。

通过遵循这些限制,系统可以确保在执行缓存事务时,数据的一致性和缓存行的状态得到正确管理,从而维护数据的完整性和缓存的效率。

表D3-15展示了不同事务类型允许的IsSharedPassDirty响应值。这些响应值对于确定缓存行的共享状态和脏状态非常重要。以下是表格的内容:

事务类型 IsShared PassDirty
ReadNoSnoop 0 0
ReadOnce 0 0
1 0
ReadClean 0 0
1 0
ReadNotSharedDirty 0 0
0 1
1 0
ReadShared 0 0
0 1
1 0
1 1
ReadUnique 0 0
0 1
CleanUnique 0 0
MakeUnique 0 0
CleanShared 0 0
1 0
CleanInvalid 0 0
MakeInvalid 0 0
Read Barrier 0 0
DVM Message 0 0
DVM Complete 0 0

请注意,表中的“(1)”和“(0)”表示在某些情况下,事务类型可能会有不同的IsSharedPassDirty响应值。这通常取决于事务的特定属性或系统的设计要求。

IsShared响应指示是否有其他缓存可能持有数据的副本,而PassDirty响应指示是否允许传递脏数据。这些响应值帮助系统维护缓存一致性,并确保数据的完整性。例如,对于ReadUnique事务,IsSharedPassDirty都为0,表示期望读取唯一的、干净的数据,且不期望其他缓存持有该数据的副本。而对于ReadNotSharedDirty事务,IsShared为0,PassDirty为1,表示可以读取脏数据,但不期望其他缓存持有该数据的副本。

注意:

该注释提醒读者,表D3-15仅展示了在RRESP[3:2]上的允许响应值。关于CRRESP上的允许响应值,读者应参考D3-195页上关于监听响应通道信令的描述。

RRESP信号是读数据通道的一部分,用于在读取操作完成后提供状态信息,包括是否成功完成读取、数据是否脏、以及是否需要写回主内存等。而CRRESP信号是监听响应通道的一部分,用于在监听事务中提供类似的状态信息。

因此,为了完全理解系统如何处理缓存一致性和响应不同类型的事务,需要查看相关的章节,以获取关于CRRESP信号的详细信息和规定。这有助于确保在读操作和监听事务中正确地处理缓存行的状态,从而维护数据的一致性和系统的稳定性。


3.3读确认信号

读确认信令是ACE协议中用于指示主设备(master)已经完成读事务的信号。以下是关于读确认信号的详细描述:

  • 信号持续时间RACK信号必须在一个时钟周期内被断言,并且互连(interconnect)必须在一个时钟周期内接受它。

  • 信号断言时机RACK信号不能在与最后一个读数据通道传输相关的RVALID/RREADY握手完成后的下一个周期之前被断言,这通常由RLAST信号指示。RACK的断言不能延迟,以等待另一个事务的完成。

  • 事务类型:读确认必须发送给所有类型的事务,包括一致性事务、屏障事务和分布式虚拟内存(DVM)事务。

  • 顺序信息:读确认不包含顺序信息,它的顺序与最后一个读数据项和相关的读响应相同。

  • 互连处理:互连必须使用读确认来确保,直到同一个主设备针对相同地址的任何先前事务完成后,不会向该主设备的snoop端口发出事务。

信号 来源 描述
RACK 主设备(Master) 读确认信号,指示主设备已经完成了一个读事务。

RACK信号由主设备发出,用于确认读操作已经成功完成。当主设备接收并处理了所有相关的读数据后,它会发出这个信号。互连(interconnect)必须检测到这个信号,并将确认该读事务已经结束。这个信号对于维护系统中的缓存一致性和确保数据传输的正确性至关重要。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值