• AXI协议详解(9)-数据总线


    数据总线

    本章描述了 AXI 读写数据总线上不同大小的传输,以及接口如何使用字节不变字节序来处理混合字节序传输。

    它包含以下部分:

    • 数据总线
    • 写选通
    • 窄传输
    • 字节不变性

    9.1 关于数据总线

    AXI协议有两条独立的数据总线,一条用于读数据,一条用于写数据。 因为这些数据总线有自己独立的握手信号,所以有可能同时在两条总线上进行数据传输。

    Master产生的每个传输必须与传输的数据总线宽度相同或更窄。

    9.2 写选通

    写选通信号 WSTRB 可以使能写数据总线上的稀疏数据传输。 每个写选通信号对应写数据总线的一个字节。 置位时,写选通指示数据总线的相应字节通道包含要在内存中更新的有效信息。

    写数据总线的每8位有一个写选通,所以WSTRB[n]对应WDATA[(8×n)+7:(8×n)]。 图 9-1 显示了 64 位数据总线上的这种关系。

    image-20221030164046413

    Figure9-1 Byte lane mapping

    Master必须确保写选通仅针对可以包含由事务的控制信息确定的有效数据的字节通道。

    9.3 窄传输

    当Master产生比其数据总线窄的传输时,地址和控制信息决定传输使用哪些字节通道。 在递增或回环突发时,不同的字节通道在突发的每个节拍上传输数据。 在固定突发中,地址保持不变,可以使用的字节通道也保持不变。

    图 9-2 和图 9-3 给出了两个字节通道使用示例。
    在图 9-2 中:

    • 突发有五次传输
    • 起始地址为 0
    • 每次传输为八位
    • 传输在 32 位总线上进行

    image-20221030164223346

    Figure9-2 Narrow transfer example with 8-bit transfers

    在图 9-3 中:
    • 突发具有三个传输
    • 起始地址为 4
    • 每次传输都是 32 位
    • 传输在 64 位总线上进行。

    image-20221030164309812

    Figure9-3 Narrow transfer example with 32-bit transfers

    9.4 字节不变性

    为了访问保存在同一内存空间中的混合端数据结构,AXI 协议使用字节不变端方案。

    字节不变的字节序意味着到给定地址的字节传输会将相同数据总线上的八位数据传递到相同的地址位置。

    只有一种传输宽度的组件必须将其字节通道连接到数据总线的相应字节通道。支持多种传输宽度的组件可能需要更复杂的接口来转换不是自然字节不变的接口。

    大多数小端组件可以直接连接到字节不变的接口。仅支持大端传输的组件需要一个用于字节不变操作的转换函数。

    图 9-4 是一个需要字节不变访问的数据结构示例。标头信息(例如源和目标标识符)可能采用小端格式,但有效负载是大端字节流。

    image-20221030164417886

    Figure 9-4 Example mixed-endian data structure

    字节不变性确保对部分标头信息的小端访问不会破坏结构中的其他大端数据。

  • 相关阅读:
    【Linux】进程间通信介绍及匿名管道使用
    Qt之模块介绍
    postgresql -数据库事务与并发控制
    do-exercise-排序子序列
    set和map的封装
    方舟生存进化服务器怎么开?方舟生存进化架设服务器教程
    【Pandas 数据分析3-2】Pandas 数据读取与输出 - Excel
    Java面向对象
    python-文件操作常用功能-2
    从list转化成map的时候,如果根据某一属性可能会导致key重复而异常,可以设置处理这种重复的方式
  • 原文地址:https://blog.csdn.net/zj907638274/article/details/127602083