一种axi总线缓存机制的实现方法

文档序号:1556508 发布日期:2020-01-21 浏览:16次 >En<

阅读说明:本技术 一种axi总线缓存机制的实现方法 (Method for realizing AXI bus cache mechanism ) 是由 刘尚 孙中琳 刘大铕 朱苏雁 刘奇浩 王运哲 于 2019-09-27 设计创作,主要内容包括:本发明公开一种AXI总线缓存机制的实现方法,本方法在AXI从设备端增加高速缓冲存储器cache,cache由多条大小相同的cache line组成,每条cache line包括cache address和cache data,设有CFG模块对cache进行配置并且寄存配置信息,cache address设有地址运算模块,用于实现传输地址和数据的匹配,并判定一次读传输的所有数据是否均可从cache提供;cache缓存数据的同时不影响正常操作,命中CACHE时,可直接从CACHE回复数据,不需要向SLAVE发起操作,大幅提升了小批量数据的读效率,极大提高了AXI总线的传输效率,实现高带宽、低响应延时的最优化传输。(The invention discloses a method for realizing an AXI bus cache mechanism, which is characterized in that a cache is added at an AXI slave device end, the cache consists of a plurality of cache lines with the same size, each cache line comprises a cache address and cache data, a CFG module is arranged for configuring the cache and registering configuration information, and the cache address is provided with an address operation module for realizing the matching of a transmission address and data and judging whether all data which are transmitted once can be provided from the cache; when the CACHE CACHEs data, normal operation is not influenced, when the CACHE hits CACHE, the CACHE can directly reply the data from the CACHE without initiating operation to SLAVE, so that the reading efficiency of small-batch data is greatly improved, the transmission efficiency of an AXI bus is greatly improved, and the optimized transmission with high bandwidth and low response delay is realized.)

一种AXI总线缓存机制的实现方法

技术领域

本发明涉及一种AXI总线缓存机制的实现方法,属于AXI总线技术领域。

背景技术

AXI系统总线是AXI总线系统中的控制器,连接多个AXI MASTER主设备到多个AXISLAVE从设备,实现多个内存映射的设备之间的地址和数据传输。目前系统总线多数采用单地址通道多数据通道的模式,MASTER主设备发起写传输申请,经过地址译码器决定需要传输到某个SLAVE从设备,SLAVE接收到写指令和写数据,完成数据传输后,返回写响应。MASTER主设备发起读传输申请,经过地址译码器决定需要传输到某个SLAVE从设备,SLAVE接收到读指令,返回读数据和读响应。该方式AXI系统总线中的读写传输只能逐一访问,并且一次传输完成后,下一次传输才能启动,存在模式单一、应用范围窄、不灵活以及数据传输效率低的缺陷。特别是对MASTER发起多次读写传输申请时,访问地址重复或者连续时,又需要再次发起传输,访问从机SLAVE次数增多,浪费大量时钟周期。

发明内容

本发明要解决的技术问题是提供一种AXI总线缓存机制的实现,本方法在从机端增加容量可配置、访问速度快的高速缓冲存储器cache,可有效减少SLAVE的访问,提高AXI总线的数据传输效率,并且不会对正常传输带来影响。

为了解决所述技术问题,本发明采用的技术方案是:一种AXI总线缓存机制的实现方法,本方法在AXI从设备端增加高速缓冲存储器cache,cache由多条大小相同的cacheline组成,cache line为cache的基本操作单元,每条cache line包括处于高位的cacheaddress和位于低位的cache data,cache address用于缓存地址,cache data用于缓存数据,设有CFG模块对cache进行配置并且寄存配置信息,cache address设有地址运算模块,用于实现传输地址和数据的匹配,并判定一次读传输的所有数据是否均可从cache提供,从而发出cache命中信号;当主设备发起写传输时,发送给从机的写地址通道和写数据通道会分别引入cache,对于满足配置条件的传输,会进行地址和数据的缓存操作,当主设备发起读传输时,读地址通道被引入cache,当本次操作的数据无法全部从cache提供时,cache无法命中,从从机读数据,并且将地址按照指令格式运算后寄存,待读通道数据到来时,与相应地址组合更合cache line,完成缓存,若本次操作的所有数据均可从cache提供时,cache命中,cache立即发出命中信号,拦截读指令向从机的发出,命中情况下,读数据由cache提供,数据回复完成后的读响应同时由cache发出,完成读传输。

进一步的,CFG模块对cache进行配置的信息包括cache的阈值、cache line中cache address的宽度和cache data的宽度、cache的深度。

进一步的,地址运算模块实现传输地址和数据的匹配的过程为:按照AXI协议,根据一次传输的awburst/awsize信号或arburst/arsize信号依次计算出传输过程中的所有地址信息,并与传输数据相对应,,判定一次读传输的所有数据是否均可从cache提供的过程为指令在引入面向从机模块的同时被引入地址运算模块,地址运算模块根据arburst/arsize信号同时计算出传输过程所涉及的所有地址,当这些地址均在cache中存在时,cache命中,发往面向从机模块的指令被拦截,数据和响应由cache模块提供,否则指令正常进入面向从机模块,cache从旁路监听从机回复的数据,完成对应地址和数据的cache。

进一步的,主设备发起写传输时,对于满足配置条件的传输的判断过程为:一次传输的数据量小于或等于所配置的cache阈值。

进一步的,cache address以bit为最小单位,cache data以byte为最小单位。

进一步的,cache address与cache data一一对应。

进一步的,cache address的大小按照interconnect的地址总线位宽配置,cachedata的大小按照interconnect的数据总线位宽配置。

进一步的,本方法应用于AXI总线的BURST或WRAP传输。

进一步的,cache的每次更新均以cache line为基本操作单元进行,cache line的更新按照指针的形式循环进行,总是更新cache内存储时间最长的cache line。

本发明的有益效果:本发明在总线控制器的从机端增加容量可配置、访问速度快的高速缓冲存储器cache,设计面积增加可控,可有效减少对从机的访问,提高AXI总线的数据传输效率;cache line大小可配,cache的burst大小可配,可灵活满足实际应用中的定制化需求;缓存操作不干扰正常传输,不会对正常传输带来影响;cache命中时,指令拦截会立即发生,数据同时回复,不会增加额外的时钟开销。进一步拓展了N-M系统工作方式,MASTER主设备发起多次相同地址的读操作,从cache中直接读取数据,突破了重复性传输对复杂总线系统的性能限制,极大的提高了系统总线的传输性能,满足系统总线高性能要求。

附图说明

图1为具有可配置功能的AXI总线N-M全互联缓存机制示意图;

图2为cache的结构示意图;

图3为写传输时的cache操作示意图;

图4为读传输未命中cache操作示意图;

图5为读传输命中cache操作示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步的说明。

实施例1

本实施例提供一种AXI总线缓存机制的实现方法,本实施例,将本方法应在在AXI总线N-M模式,如图1所示,N-M模式是指连接多个(M个)AXI主设备到多个(N个)AXI从设备,实现多个内存映射的设备之间的地址和数据传输。

本方法是在AXI系统总线的从机端增加一个高速缓冲存储器cache,cache操作并非对所有传输均执行,允许缓存的最大burst传输可以根据实际需求配置,cache的容量大小也可以配置,设有专门对cache进行配置的模块CFG,并且CFG可以寄存配置信息,从各个面向从机的接口使用。

如图2所述,高速缓冲存储器cache以cache line为基本操作单元,每次更新均均以cache line为基本操作单元进行。对于同一个cache,cache line的大小都是相同的,每个cache line是由cache address和cache data两部分组成,cache address用于缓存地址,以bit为最小单位,cache data用于缓存数据,以byte为最小单位,cache address和cache data的大小分别可配,二者共同决定cache line的大小。实际应用中,cache data的大小按照INTERCONNECT的数据总线位宽配置,cache address的大小按照AXI总线控制内核的地址总线位宽配置,二者一一对应。Cache address附加有地址运算模块,用于实现BURST传输的地址和数据匹配,并判定一次读BURST传输的所有数据是否均可从Cache提供,籍此来发出cache命中信号。

本实施例中,CFG模块对cache进行配置的信息包括cache的阈值、cache line中cache address的宽度和cache data的宽度、cache的深度。

地址运算模块实现传输地址和数据的匹配的过程为按照AXI协议,根据一次传输的awburst/awsize信号或arburst/arsize信号依次计算出传输过程中的所有地址信息,并与传输数据相对应,,判定一次读传输的所有数据是否均可从cache提供的过程为指令在引入面向从机模块的同时被引入地址运算模块,地址运算模块根据arburst/arsize信号同时计算出传输过程所涉及的所有地址,当这些地址均在cache中存在时,cache命中,发往面向从机模块的指令被拦截,数据和响应由cache模块提供,否则指令正常进入面向从机模块,cache从旁路监听从机回复的数据,完成对应地址和数据的cache。

主设备发起写传输时,对于满足配置条件的传输的判断过程为:一次传输的数据量小于或等于所配置的cache阈值。

当MASTER主设备发起写传输时,如图3所示,发送给S*的写地址通道和写数据数据通道会分别引入旁路cache,对于满足配置条件的传输,会进行地址和指令的缓存操作。

当MASTER主设备发起读传输时,读地址通道被引入旁路cache,当本次操作的数据无法全部从cache提供时,cache无法命中,如图4所示,此种情况下,按照正常流程从从机读数据,不影响正常的读传输,并且同时将地址按照指令格式运算后寄存,待读通道数据到来时,与相应地址组合更新cache line,完成缓存;当本次操作的所有数据均可从cache提供时,cache命中,如图5所示,cache立即发出命中信号,拦截读指令的发出,此操作不会向读地址通道引入额外时钟开销,命中情况下,读数据由cache提供,数据回复完成后的读响应同时由cache发出,完成读传输。

Cache line的更新按照指针的形式循环进行,总是更新cache内存储时间最长的cache line。

本实施例将高速缓冲存储器cache放置在从机端,从机自带仲裁模块,可以节省cache的仲裁开支。并且cache为RAM存储器,访问速度远高于容量大但是速度低的内存。

本实施例中,将地址和数据放在同一条缓存线(cache line),对其进行访问时,采用高位匹配制,不必再遍历指针,访问速度更快。

以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于区块链的神经网络多端口超高速传播仪

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!