首页 理论教育PCIExpress体系结构导读:无效化ATC

PCIExpress体系结构导读:无效化ATC

【摘要】:处理器系统更改ATPT时,需要使用MsgD报文通知相应PCIe设备,并Invalidate ATC中相应的Entry,该MsgD报文也被称为“Invalidate Request Message”,其格式如图13-11所示。其中PCIe设备每收到一个MsgD只能Invalidate ATC中的一个Entry。Length字段为0b10,表示该报文Payload的大小为8B。当TA需要连续发送多个“In-validate Request Message”报文时,使用该字段区别不同的MsgD。

处理器系统更改ATPT时,需要使用MsgD报文通知相应PCIe设备,并Invalidate ATC中相应的Entry,该MsgD报文也被称为“Invalidate Request Message”,其格式如图13-11所示。其中PCIe设备每收到一个MsgD只能Invalidate ATC中的一个Entry。

978-7-111-29822-9-Part02-208.jpg

图13-11 Invalidate Request Message的格式

Invalidate Request Message各个字段的描述如下所示。

●Fmt字段为0b011,表示报文头为4DW,而且含有Payload字段。Length字段为0b10,表示该报文Payload的大小为8B。而TC、Attr、TD和EP的含义与通用TLP头相同,详见第6.1节。

●Type字段为0b10010,表示该消息报文使用ID路由方式。其中Requester ID字段保存TA的ID号。Device ID保存目标设备使用的ID号,即存放ATC的PCIe设备ID,Message报文使用该字段进行ID路由。

●ITag字段与Tag字段的功能类似,取值范围为0~31。当TA需要连续发送多个“In-validate Request Message”报文时,使用该字段区别不同的MsgD。

该MsgD报文的Payload字段中存放“Unstranlated Address”,而S位用来表示数据区域的大小,如表13-2所示。当PCIe设备收到Invalidate Request Message报文后,根据Unstran-lated Address字段Invalidate ATC中对应的Entry。PCIe设备Invalidate ATC中对应的Entry之后,将向TA发送Invalidate Completion Message报文,表示已经Invalidate ATC中的对应En-try,该报文的格式如图13-12所示。(www.chuimin.cn)

978-7-111-29822-9-Part02-209.jpg

图13-12 Invalidate Completion Message的格式

Invalidate Completion Message报文的各个字段的描述如下所示。

●Fmt、Type等字段与Invalidate Request Message的对应字段类似。

●Requester ID字段保存TA的ID号,而Device ID字段保存PCIe设备的ID号。

●CC字段表示PCIe设备需要向TA发送Invalid ate Completion Message报文的个数。当CC字段为0时表示需要8个这样的报文,为n时表示需要n个这样的报文。n的最大值为0x07。

●ITag Vector字段由32位组成,其中每一位对应Invalidate Request Message报文的一个ITag字段,Invalidate Completion Message通过ITag Vector字段可以向多个Invalidate Request Message报文发出回应,表示已经Invalid ate ATC中的多个Entry。