PCIe学习笔记(7)

First/Last DW Byte使能规则

Byte Enables包含在Memory、I/O 和Configuration Requests中。

字节使能,当出现在请求报头中时,位于报头的字节7。对于设置TH位的内存读请求,字节启用字段被重新用于承载ST[7:0]字段,并且字节启用的值隐含如下定义。当可以接受完成这些请求时,TH位必须只在内存读请求中设置,就好像请求数据的所有字节都已启用。

•对于设置TH位的内存读请求,以下值隐含在Byte enable中。

◦如果此请求的Length字段表示长度为1 DW,则First DW Byte enable的值暗示为1111b, Last DW Byte enable的值暗示为0000b

◦如果此请求的Length字段表示长度大于1 DW,则First DW Byte enable和Last DW Byte enable的值暗示为1111b

First DW BE[3:0]字段包含Byte为请求引用的第一个(或唯一)DW启用。

◦如果Request的Length字段显示的长度大于1dw,该字段不能等于0000b。

Last DW BE[3:0]字段包含Byte enable,表示请求的最后DW。

◦如果Request的Length字段表示长度为1dw,则该字段必须等于0000b

◦如果Request的Length字段显示的长度大于1dw,该字段不能等于0000b

•对于Byte enable字段的每一位:

◦值为0b表示对应的数据字节不能被写入,如果不可预取,则不能在Completer上读取。

◦值为1b,则必须在Completer上写入或读取相应字节的数据

•对于所有长度为1dw的请求,允许在First DW BE字段中启用非连续字节(已启用的字节由未启用的字节分隔)。

◦非连续字节启用示例:1010b, 0101b, 1001b, 1011b, 1101b

•对于长度为2dw (1qw)的Quad Word (QW)对齐内存请求,在Byte Enable字段中允许非连续字节启用。

•所有长度为2dw (1qw)的非QW对齐内存请求和长度为3dw或以上的内存请求必须只启用与请求的第一个DW和最后一个DW之间的数据连续的字节。

◦连续字节启用示例:

First DW BE:1100b,Last DW BE:0011b

First DW BE:1000b,Last DW BE:0111b

表中相当于前4bit对应数据的前四个字节,后4bit对应数据的最后四个字节。

假设引用的数据长度为N字节(字节0到字节N-1)。注意,仅当数据长度大于一个DW时才使用last DW Byte enable

•如果1 DW的Read Request指定不允许读取字节(First DW be [3:0] field = 0000b),则相应的Completion必须指定长度为1 DW,并且包含1 DW的数据负载。Completion报文中数据负载的内容未指定,可以是任何值。

•对于违反本节中指定的Byte enable规则的TLP,未定义Receiver/Completer行为。

•接收方可以选择检查是否违反Byte enable规则。如果执行这种检查的接收器确定TLP违反了一条或多条Byte enable规则,则该TLP是畸形TLP。这些检查是独立可选的。

◦如果Byte enable规则被检查,违规是与接收端口相关的报告错误

Last DATA BE与First DATA BE的使用规则

1、 传输的数据长度小于1个DW,则仅使用First DATA BE,Last Data BE为全0。First Data BE内允许有不连续的0、1位,PCIe总线允许发送一个DW的第1、3字节或者0,2字节。

2、 传输的数据长度在2DW内时,允许有不连续的0、1位。

3、 传输的数据长度大于等于3DW时,First Data BE和Last Data BE不允许有不连续的0、1位。

注意: “zero-length”的引入是为了实现“读刷新”操作,该操作的主要目的是为了保证之前的存储器写请求报文,到达最终的目的地,与“zero-length”对应的读完成包文中不含有任何数据负载 ,从而提高了PCIe链路的利用率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值