PCIe ATS

PCIe ATS

ATS简介

ATS包括地址转换和地址作废两个部分;

ATS需要满足以下要求:

  1. 组件必须兼容PCIe-1.1组件;
  2. ATS是通过Capability和相关配置结构使能;为了使能ATS,软件需要检测该Capability和让该Function发送ATS TLP;
  3. ATS TLP是通过地址或Requester ID路由;
  4. ATS TLP需要满足协议规定的顺序规则;
  5. ATS TLP通过Switch不能被改变;
  6. Function允许转换地址和非转换地址转换;
  7. ATS transaction不能依赖地址来发送额外的信息;

地址转换

Function产生ATS转换请求,经PCIe拓扑路由到达RC,RC将该请求推给TA;

TA在收到地址转换请求后,查找其本地ATPT,并给Function反馈查找结果(成功或失败)。

TA反馈查找结果包括以下步骤:

  1. 确认该Function是否被配置为可以发送ATS转换请求;
  2. 确实该Function是否能访问ATS转换请求指示的存储以及是否有相关访问权限;
  3. 确认转换能够被提供给该Function;
  4. TA发送ATS转换成功或失败状态给RC;RC返回ATS转换Completion给Function;

Function接收到ATS转换Completion后,会更新ATC来反映该转换或者指示该转换不存在;此后,该Function会根据Completion结果产生转换地址或不转换地址的请求。

转换申请TLP

Attribute域

RO可以被设置,且会影响相关转换完成TLP的返回顺序,其他域保留;

Length域
  1. 指示这个申请可以返回多少个转换;
  2. 每个转换8bytes长度,表示一个或者多个STU;
  3. Length最大不能超过RCB;
  4. Length必须指示偶数数目个DWORD;
  5. 若Length大于RCB或其最低bit不为0,TA会将其当作异型包;
Untranslated Adderess域
  1. 转换申请包含32bit或64bit非转换地址;
  2. 该域表示要被转换的地址;
  3. TA会根据转换申请内地址来判断转换申请的有效性;
  4. 允许TA返回的转换小于申请个数,但是不能大于申请个数;
No Write(NW) Flag
  1. 1表示Function对于这个转换,只会发送读操作;
转换完成TLP

完成状态如下表所示:

000b

Success

表示成功;只会出现在CPLD内;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值