joe 发表于 2021-10-16 10:30:01

tilelink学习笔记(一)

五条通道
本文理解基于tilelink的spec 1.8.0:
https://sifive.cdn.prismic.io/si ... link-spec-1.8.0.pdf

关于5条通道
每个网络链路中,TileLink 协议定义了五个逻辑上相互独立的通道,代理可通过它们传递消息。为了避免死锁,TileLink 强制规定了这五个通道上传输消息的优先级。
大部分通道包含控制传输的信号以及实际数据的副本。通道上消息的传递是单向的,主向从接口传送消
息,或从向主接口传送消息。图 2.4 标明了五个通道的方向。
任何访存操作都需要两个最基本的通道:
通道 A: 传送一个请求,访问指定的地址范围或对数据进行缓存操作。
通道 D: 向最初的请求者传送一个数据回复响应或是应答消息。

最高协议兼容层 TL-C 额外包含另外三个通道,具备管理数据缓存块权限的能力:

通道 B: 传输一个请求,对主代理已缓存的某个地址上的数据进行访问或是写回操作。
通道 C: 响应通道 B 的请求,传送一个数据或是应答消息。
通道 E: 传输来自最初请求者的缓存块传输的最终应答,用于序列化。
https://img-blog.csdnimg.cn/20200324142634146.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5NzY4NzQx,size_16,color_FFFFFF,t_70
各个通道传递消息的优先级顺序是 A << B << C << D << E 。设置优先级保证了消息在TileLink 网络的传输过程中不会进入路由环路或是资源死锁。换句话说,代理间消息在所有
通道上的传输过程仍然保持为有向无环图。这对 TileLink 保证无死锁来说是一个必要的特性

.信号描述
以下用表格的形式介绍了 TileLink 五个通道使用到的所有信号,汇总在表 3.3。当结合
每个通道的方向,表 3.2 的信号类型决定了信号的方向。这些信号的宽度由表 3.3 描述的值
进行参数化。
https://img-blog.csdnimg.cn/20200324143100485.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5NzY4NzQx,size_16,color_FFFFFF,t_70
AD为必须实现,BDE为可选
我理解TL-C独有部分是写回形式的实现,而如果只用A和D是直写式的实现
https://img-blog.csdnimg.cn/20200324143131723.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5NzY4NzQx,size_16,color_FFFFFF,t_70

————————————————
版权声明:本文为CSDN博主「草芥小白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_29768741/article/details/105071031


SiFiveTileLink规格书(中文):



页: [1]
查看完整版本: tilelink学习笔记(一)