这篇文章主要介绍“AXI4总线中Outstanding概念是什么”,在日常操作中,相信很多人在AXI4总线中Outstanding概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”AXI4总线中Outstanding概念是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
AXI4总线规范中,提到了一个Outstanding的概念,那么该如何理解呢?我们首先给出一个基本的请求-响应模型,如下图所示。
下图中,Master端向Slave端发出读请求,Slave端接收请求后进行处理,待处理完成后将数据返回给Master。
下面结合上面的请求-响应模型来介绍Outstanding的概念,从字面意思上,Outstanding表示正在进行的、未完成的意思,形象地说就是 “在路上的” 意思。
先介绍最简单的情况,即Slave端Outstanding为1,那么上图中的请求-响应模型工作过程如下所示:
Mater读请求0 → Slave返回数据0 → Mater读请求1 → Slave返回数据1 → Mater读请求2 → Slave返回数据2 → ......
而如果Slave端的Outstanding为N时(N>1),那么Master端可以在Slave不返回读数据的情况下,连续发出N个请求。假如在这期间Slave端返回了m个数据,那么Master端还可以接着发m个请求。形象点说,就是Master端 "在路上" 的请求最多为N个。
如下图所示,Slave端包含一个深度为8的Buffer用来缓存请求命令,该Slave的Outstanding为8,对于该Slave来说,即使一个命令都没有处理,也可以缓存8个命令。那么对应的Master端就可以连续发出8个请求,如果这期间Slave没有返回数据,那么Master端则不能再发出新的请求。如果这期间Slave端从Buffer中读取了m个请求命令进行处理后将数据返回给Master,这样Buffer中就又有了新的空间可以缓存命令,也就是说Master端可以继续发送新的请求命令。
如果outstanding能力为N>1的话,则:
1)读操作:可以连续发N个读地址命令,这期间如果读数据没有返回,则需要等待读数据返回,如果有读数据返回,则返回了几个,那么仍然可以接着发几个。也就是说,“在路上” 的读命令(或者读数据)最多可以是N。多说一点,可以看出,如果数据返回得比较慢,那么IP需要等待,效率就会比较低,因此,为了提高效率,有必要提高outstanding能力,以弥补”路上“(总线)引入的延时。但是也不能无限制地发,否则有可能会引起总线拥塞,把其他IP给堵住。下图为一个outstanding读的时序图例子。
2)写操作:可以连续发出N组写地址(写数据)命令,这期间如果写响应没有返回,则必须等待写响应返回才能接着发写地址(写数据)命令,如果有写响应返回,则返回了几个,那么仍然可以接着发几组。也就是说,“在路上” 的写响应最多可以是N。
到此,关于“AXI4总线中Outstanding概念是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。