AXI知识点总结(2)

        Read and write response structure

                RRESP[1:0], for read transfers. BRESP[1:0], for write transfers.

                应答有以下四种情况:OKAY常规访问成功,EXOKAY独占访问成功,SLVERR从机错误,DECERR解码错误。

                对于写操作的应答成个突发传输只需要一次应答,对于读操作如果一次传输中有16次读操作,就会有16个响应。

                协议指出即使传输中的响应报错,传输也不会中断

Transaction Attributes

        Transaction types and attributes

                首先简单总结下说明是Cache(以下总结部分来源于公众号 老秦谈芯 )

                Cache称为高速缓冲存储器,位置介于CPU和存储器之间,设置原因是CPU太快了,内存以下无法满足CPU的访问速度,如果没有Cache的话,处理器大部分时间都是在等待数据。

                Cache的容量很小,Cache会分成好几级,离CPU近的话是几十kb离得远的话是几十MB

                为什么要分级,就不能做一个整体吗?L1级的Cache离CPU最近,便于很快访问到数据如果容量做大选通复杂会耗时。L2离得稍微远一点是为了扩充内存,用的晶体管没有L1那么多那么复杂,这样会节约晶体管。

                Cache的基本原理是通过时间局部性(使用过的数据之后还可能使用到)和空间局部性(使用的数据周围的数据也可能使用)预测CPU下一次要用到的数据将他们提前放到Cache中。

                  以下是内存属性

                 关于修改以后的解释在手册的A4-64有详细解释,当[1]拉高拉低的时候对突发传输的地址,大小,长度和类型可以改变或者不改变,但是AxLOCK和AxPROT是无法改变的。

                关于修改后的每种参数对应的属性的解释位于手册的A4-70及之后几页可以阅读一下。

 Transaction Identifiers

        AXI ID

                手册原文A Manager can use these to identify separate transactions that must be returned in order.

                这一标识符的使用可以在主机发出transaction后不需要等待之前的事务完成。即支持并行处理,这将极大的提高性能。

                具体展开讲就是:对于地址来说,如果支持outstanding=N(N>1),对于读操作,可以连续发送N个读地址,但是要等N个数据返回,返回了几个就再接着发几个读地址;对于写地址也是这样,要等写响应的返回,返回几个就还能接着发几个写地址。

                对于传输事务而言,支持乱序和交织。乱序指的是接收的命令和事务传递的先后顺序并不一定是一一对应的:接收到a的命令再发b的命令。可以先发btransaction。交织是a和b的数据发送可以是交织的a1->b1->a2->b2->b3.

                以上的功能大大提高效率,对设计也提出了要求。主机给不一样的从机发送命令,每个从机数据准备并不相同,所以发送命令时间的先后与数据或者响应返回的时间顺序并不相同,这就需要ID的加入:读数据排序RID一定要跟ARID匹配,写数据同理。

Atomic Accesses

        响应信号RRESP,BRESP。

Default Signaling and Interoperability

         这里插入了:AXI的Subordinates分为Memory(内存) Subordinates or Peripheral(外设) Subordinates,下面的两张图是manager写通道的接口。另一部分在手册中,关于每个信号的物理意义可以看这篇文章的表格AXI总线协议

 

 AXI4-Lite

         Definition of AXI4-Lite    

  • 所有事务执行突发长度都是1:AxLEN=0,AxBURST无意义,AxLAST=1
  • 所有数据访问都使用总线全宽度,支持32-bit和64-bit:AxSIZE=总线宽度
  • 所有发访问Non-modifiable, Non-bufferable:AxCACHE=0
  • 访问不支持Exclusive accesses :AxLOCK=0(Normal accesses)
  • 不支持AX IDs。所有的访问都得使用=一个固定的ID,且要顺序访问。但是下级可支持AXI IDs

                以上图表展示了 the interoperability of AXI and AXI4-Lite Managers and Subordinates。除了AXI manager和AXI-Lite subordinate 连接时要考虑AXI ID的转换——subordinate需要返回正确的ID,manager才能正确识别事务响应。

                基于以上图表的第二种情况, AXI4-Lite Subordinate可以设计成包含ID reflection logic的模式,即只有符合subordinate的AXI Lite子集的事务才可以访问系统 。

  • AXI与AXI4-Lite的转换协议要求:
    •    AXI的数据位宽要大约等于AXI4-Lite的数据宽度
    •    如果一个事务的突发长度大于1,要把他分割成多个突发长度是1的事务
    •    对于原来突发事务大于1的情况要考虑突发类型, INCR or WRAP 突发对应的起始地址对齐 FIXED突发事务使用的地址应该一致
    •   突发长度大于1在分割后,响应也应该修改,否则错误的响应将会保留。对于下级放回的错误响应,SLVERR(Subordinate error表明事务未成功——一般是用于错误条件,如subordinate中fifo或缓冲区溢出;不支持传输大小;试图对只读进行写,试图对禁用功能访问)DECERR ( decode error)。当原始的宽事务被转换成多个窄事务时 必须要将窄事务的响应都组合起来来生成一个响应。         
    • 写事务直接传递
    • 写频闪直接传递 
    •  AxPROT直接传递
    • AxLOCK和AxCACHE被丢弃,任何锁定被丢弃,所有事务视为不可修改不可缓存     
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值