CN103077136A - 一种axi总线内写入数据的方法和设备 - Google Patents
一种axi总线内写入数据的方法和设备 Download PDFInfo
- Publication number
- CN103077136A CN103077136A CN2011103265994A CN201110326599A CN103077136A CN 103077136 A CN103077136 A CN 103077136A CN 2011103265994 A CN2011103265994 A CN 2011103265994A CN 201110326599 A CN201110326599 A CN 201110326599A CN 103077136 A CN103077136 A CN 103077136A
- Authority
- CN
- China
- Prior art keywords
- data
- array
- writing
- response message
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提出了一种AXI总线内写入数据的方法和设备,包括:写入数据,将数据存入缓冲阵列;返回写入数据完成的响应信息;释放缓冲阵列,将数据写入存储器;其中,所述的返回响应信息是在所述将数据写入存储器之前进行的。在AXI总线设备中,适当的引入EWR写操作提前返回功能可以减少写延时,从而提高总线的性能。
Description
技术领域
本发明属于集成电路技术领域,尤其涉及一种AXI总线内写入数据的方法和设备。
背景技术
AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。
AXI总线没有写操作提前返回EWR(Early Write Response)功能,只有当被写数据真正写入到储存目标后,才会返回响应信息(response),这样操作必然会导致较长的写延时( write latency)。
发明内容
有鉴于此,本发明所要解决的技术问题是提供一种AXI总线内写入数据的方法和设备。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
本发明的一方面是提出了一种AXI总线内写入数据的方法,包括:
写入数据,将数据存入缓冲阵列;
返回写入数据完成的响应信息;
释放缓冲阵列,将数据写入存储器;
在一些可选的实施例中,所述的缓冲阵列包括:
数据阵列、总数据阵列和终队列。
在一些可选的实施例中,所述的缓冲阵列中,数据阵列直接接收来自AXI主设备的写入数据;总数据阵列通过路由整合多个数据阵列缓存的数据;终队列将所有缓存数据写入存储器。
在一些可选的实施例中,所述的存储器是易失性随机存储器。
在一些可选的实施例中,所述的返回响应信息是在数据写入终队列时进行的。
在一些可选的实施例中,所述的返回响应信息是在数据写入总数据阵列时进行的。
在一些可选的实施例中,所述的返回响应信息是在数据写入数据阵列时进行的。
本发明的另一方面是提出一种AXI总线内写入数据的设备,包括:
缓冲单元:写入数据,将数据存入缓冲阵列;
追踪单元:返回写入数据完成的响应信息;
存储单元:释放缓冲阵列,将数据写入存储器;
其中,所述追踪单元返回响应信息是在所述存储单元将数据写入存储器之前进行的。
在一些可选的实施例中,所述的缓冲单元包括:
数据阵列、总数据阵列和终队列。
在一些可选的实施例中,所述的缓冲单元中,数据阵列直接接收来自AXI主设备的写入数据;总数据阵列通过路由整合多个数据阵列缓存的数据;终队列将所有缓存数据写入存储器。
在一些可选的实施例中,所述的存储器是易失性随机存储器。
在一些可选的实施例中,所述的返回响应信息是在数据写入终队列时进行的。
在一些可选的实施例中,所述的返回响应信息是在数据写入总数据阵列时进行的。
在一些可选的实施例中,所述的返回响应信息是在数据写入数据阵列时进行的。
为了上述以及相关的目的,一个或多个实施例包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明某些示例性方面,并且其指示的仅仅是各个实施例的原则可以利用的各种方式中的一些方式。其它的益处和新颖性特征将随着下面的详细说明结合附图考虑而变得明显,所公开的实施例是要包括所有这些方面以及它们的等同。
本发明提出了在AXI总线设备中,适当的引入EWR写操作提前返回(Early Write Response) 功能可以减少写延时,从而提高总线的性能。
附图说明
图1是现有技术中写操作示意图;
图2是本发明实施例一写操作示意图;
图3是本发明实施例二写操作示意图;
图4是本发明实施例三写操作示意图;
图5是本发明的方法流程图;
图6是本发明的设备示意图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的组件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。
现有技术如图1所示,在写传送中,AXI主设备(AXI Master)将数据写入写数据阵列(Write Queue0),通过路由(Router)将多个主设备的写数据阵列整合后,数据输入总数据阵列(Write QueueX),之后,数据再次通过路由(Router)后写入终队列(QueueX),终队列按照FIFO(first in first out)将数据写入存储器(Data Storage);在现有技术中,只有写数据真正写入存储器后,才由追踪(Tracking)返回响应信息(response),响应信息通过与写入时相反的回路返回给AXI主设备,主设备收到返回响应信息后,确定写入成功,其他的设备才可以读取该写入信息。如此的操作将会导致较长的写延时( write latency),针对这样的问题,本发明提出了在AXI总线设备中,适当的引入EWR写操作提前返回(Early Write Response) 功能可以减少写延时,从而提高总线的性能。
本发明所述的AXI主设备包括但不限于以下:中央处理器CPU(Central Processing Unit)、图形处理器GPU(Graphic Processing Unit)、DMA(Direct Memory Access)、DSP(Digital Signal Processing)、Video等。本发明对此不作限定。
具体实施例一
如图2所示,AXI主设备(AXI Master)将数据写入写数据阵列(Write Queue0),通过路由(Router)将多个主设备的写数据阵列整合后,数据输入总数据阵列(Write QueueX),之后,数据再次通过路由(Router),追踪(Tracking)控制返回响应信息(response),数据继续写入终队列(QueueX),最终写入存储器(Data Storage),这时,由于已经提前返回了响应信息,在写入存储器后就不再返回响应信息(response)。本实施例中,在写入数据的同时,返回响应信息,降低了写延时,提高了总线性能。
具体实施例二
如图3所示,AXI主设备(AXI Master)将数据写入写数据阵列(Write Queue0),通过路由(Router)将多个主设备的写数据阵列整合后,追踪(Tracking)控制返回响应信息(response),同时,数据输入总数据阵列(Write QueueX),之后,数据再次通过路由(Router)后,写入终队列(QueueX),最终写入存储器(Data Storage);由于已经提前返回了响应信息,在写入存储器后就不再返回响应信息(response)。
在写入数据进行的同时,提前返回响应信息(response),提高了总线的效率,数据写入存储器的同时,响应信息也返回到主设备,需要读取信息的其他主设备可以更快的接收到已写入的返回信息,提前获知写入信息,提供总线的性能。
具体实施例三
如图4所示,本实施例中,提前返回写操作EWR(Early Write Response)是在主设备发出写入信息之后,立即返回响应信息(response),数据写入存储器的路径与现有技术相同,在这种实施例中,由于引入EWR会对数据流之间的先后关系造成影响,因此设计时需要考虑到这一点,根据实际情况进行控制,本发明对此不作限定。
图5是本发明的发明流程图,包括:
写入数据,将数据存入缓冲阵列;
返回写入数据完成的响应信息;
释放缓冲阵列,将数据写入存储器。
在一些可选的实施例中,所述的缓冲阵列包括:
数据阵列、总数据阵列和终队列。
在一些可选的实施例中,所述的缓冲阵列中,数据阵列直接接收来自AXI主设备的写入数据;总数据阵列通过路由整合多个数据阵列缓存的数据;终队列将所有缓存数据写入存储器。
在一些可选的实施例中,所述的存储器是易失性随机存储器。
在一些可选的实施例中,所述的返回响应信息是在数据写入终队列时进行的。
在一些可选的实施例中,所述的返回响应信息是在数据写入总数据阵列时进行的。
在一些可选的实施例中,所述的返回响应信息是在数据写入数据阵列时进行的。
图6是本发明的设备示意图,包括:
缓冲单元S01:写入数据,将数据存入缓冲阵列;
存储单元S03:释放缓冲阵列,将数据写入存储器;
追踪单元S02:返回写入数据完成的响应信息;
其中追踪单元S02返回响应信息是在所述存储单元S03将数据写入存储器之前进行的。
在一些可选的实施例中,所述的缓冲单元S01包括:
数据阵列S101、总数据阵列S102和终队列S103。
在一些可选的实施例中,所述的缓冲单元S01中,
数据阵列S101直接接收来自AXI主设备的写入数据;
总数据阵列S102通过路由整合多个数据阵列缓存的数据;
终队列S103将所有缓存数据写入存储器。
在一些可选的实施例中,所述的存储器是易失性随机存储器。
在一些可选的实施例中,所述的追踪单元S02返回响应信息是在数据写入终队列S103时进行的。
在一些可选的实施例中,所述的追踪单元S02返回响应信息是在数据写入总数据阵列S102时进行的。
在一些可选的实施例中,所述的追踪单元S02返回响应信息是在数据写入数据阵列S101时进行的。
除非另外具体陈述,术语比如处理、计算、运算、确定、显示等等可以指一个或更多个处理或者计算系统、或类似设备的动作和/或过程,所述动作和/或过程将表示为处理系统的寄存器或存储器内的物理(如电子)量的数据操作和转换成为类似地表示为处理系统的存储器、寄存器或者其他此类信息存储、发射或者显示设备内的物理量的其他数据。信息和信号可以使用多种不同的技术和方法中的任何一种来表示。例如,在贯穿上面的描述中提及的数据、指令、命令、信息、信号、比特、符号和码片可以用电压、电流、电磁波、磁场或粒子、光场或粒子或者其任意组合来表示。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
用于执行本申请所述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件或者其任意组合,可以实现或执行结合本文的实施例所描述的各种说明性的逻辑框图、模块和电路。通用处理器可以是微处理器,或者,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可能实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合,或者任何其它此种结构。
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
而且,本文所述的各个方面或特征可以作为使用标准的程序设计和/或工程技术的方法、装置或制品来实现。本文所使用的术语“制品”是要包括可以从任何计算机可读的设备、载波或介质来访问的计算机程序。例如,计算机可读的介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁带等)、光盘(例如,紧凑光盘(CD)、数字通用光盘(DVD)等)、智能卡以及闪速存储设备(例如,EPROM、卡、棒、钥匙驱动器等)。此外,本文描述的各种存储介质表示为用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”包括但不限于能够存储、包含和/或携带指令和/或数据的无线信道和各种其它介质。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
Claims (14)
1.一种AXI总线内写入数据的方法,其特征在于,包括:
写入数据,将数据存入缓冲阵列;
返回写入数据完成的响应信息;
释放缓冲阵列,将数据写入存储器。
2.如权利要求1所述的方法,其特征在于,所述的缓冲阵列包括:
数据阵列、总数据阵列和终队列。
3.如权利要求2所述的方法,其特征在于,所述的缓冲阵列中,数据阵列直接接收来自AXI主设备的写入数据;总数据阵列通过路由整合多个数据阵列缓存的数据;终队列将所有缓存数据写入存储器。
4.如权利要求1所述的方法,其特征在于,所述的存储器是易失性随机存储器。
5.如权利要求1至4任一项所述的方法,其特征在于,所述的返回响应信息是在数据写入终队列时进行的。
6.如权利要求1至4任一项所述的方法,其特征在于,所述的返回响应信息是在数据写入总数据阵列时进行的。
7.如权利要求1至4任一项所述的方法,其特征在于,所述的返回响应信息是在数据写入数据阵列时进行的。
8.一种AXI总线内写入数据的设备,其特征在于,包括:
缓冲单元:写入数据,将数据存入缓冲阵列;
存储单元:释放缓冲阵列,将数据写入存储器;
追踪单元:返回写入数据完成的响应信息;
其中,所述追踪单元返回响应信息是在所述存储单元将数据写入存储器之前进行的。
9.如权利要求8所述的设备,其特征在于,所述的缓冲单元包括:
数据阵列、总数据阵列和终队列。
10.如权利要求9所述的设备,其特征在于,所述的缓冲单元中,数据阵列直接接收来自AXI主设备的写入数据;总数据阵列通过路由整合多个数据阵列缓存的数据;终队列将所有缓存数据写入存储器。
11.如权利要求8所述的设备,其特征在于,所述的存储器是易失性随机存储器。
12.如权利要求8至11任一项所述的设备,其特征在于,所述的返回响应信息是在数据写入终队列时进行的。
13.如权利要求8至11任一项所述的设备,其特征在于,所述的返回响应信息是在数据写入总数据阵列时进行的。
14.如权利要求8至11任一项所述的设备,其特征在于,所述的返回响应信息是在数据写入数据阵列时进行的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110326599.4A CN103077136B (zh) | 2011-10-25 | 2011-10-25 | 一种axi总线内写入数据的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110326599.4A CN103077136B (zh) | 2011-10-25 | 2011-10-25 | 一种axi总线内写入数据的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103077136A true CN103077136A (zh) | 2013-05-01 |
CN103077136B CN103077136B (zh) | 2017-07-14 |
Family
ID=48153668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110326599.4A Active CN103077136B (zh) | 2011-10-25 | 2011-10-25 | 一种axi总线内写入数据的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103077136B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114238177A (zh) * | 2021-12-01 | 2022-03-25 | 苏州浪潮智能科技有限公司 | Axi总线通信方法、装置、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853237A (zh) * | 2010-05-31 | 2010-10-06 | 华为技术有限公司 | 片上系统及axi总线下的传输方法 |
CN101902379A (zh) * | 2009-06-01 | 2010-12-01 | 中兴通讯股份有限公司 | 高级可扩展接口总线系统及其访问控制方法 |
CN102025934A (zh) * | 2010-10-15 | 2011-04-20 | 西安交通大学 | 基于AXI总线的数字电视SoC的存储控制方法 |
CN102096648A (zh) * | 2010-12-09 | 2011-06-15 | 深圳中兴力维技术有限公司 | 基于fpga的实现多路突发数据业务缓存的系统及方法 |
-
2011
- 2011-10-25 CN CN201110326599.4A patent/CN103077136B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902379A (zh) * | 2009-06-01 | 2010-12-01 | 中兴通讯股份有限公司 | 高级可扩展接口总线系统及其访问控制方法 |
CN101853237A (zh) * | 2010-05-31 | 2010-10-06 | 华为技术有限公司 | 片上系统及axi总线下的传输方法 |
CN102025934A (zh) * | 2010-10-15 | 2011-04-20 | 西安交通大学 | 基于AXI总线的数字电视SoC的存储控制方法 |
CN102096648A (zh) * | 2010-12-09 | 2011-06-15 | 深圳中兴力维技术有限公司 | 基于fpga的实现多路突发数据业务缓存的系统及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114238177A (zh) * | 2021-12-01 | 2022-03-25 | 苏州浪潮智能科技有限公司 | Axi总线通信方法、装置、设备和介质 |
CN114238177B (zh) * | 2021-12-01 | 2022-05-31 | 苏州浪潮智能科技有限公司 | Axi总线通信方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103077136B (zh) | 2017-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10664421B1 (en) | Reordering responses in a high performance on-chip network | |
EP3729281B1 (en) | Scheduling memory requests with non-uniform latencies | |
CN103995686B (zh) | 控制非易失性存储器通道的系统及方法 | |
KR101467932B1 (ko) | 상호접속부에서 멀티-쓰레드 오더링된 큐들에 대한 공유 저장기 | |
CN106104698B (zh) | 用于产生具有可编程延迟的动态随机存取存储器(dram)命令的存储器物理层接口逻辑 | |
WO2011011295A2 (en) | Reducing a rate of data transfer to at least a portion of memory | |
US20120266029A1 (en) | Arrangement for processing trace data information, integrated circuits and a method for processing trace data information | |
CN101344870B (zh) | 一种复用性强的fifo控制模块及其管理内存的方法 | |
CN103927266A (zh) | 预取流量的改进控制 | |
US8717891B2 (en) | Shaping apparatus and method | |
CN104409099A (zh) | 基于FPGA的高速eMMC阵列控制器 | |
CN113126911B (zh) | 基于ddr3 sdram的队列管理方法、介质、设备 | |
US9223918B2 (en) | Reducing repeater power | |
US10205666B2 (en) | End-to-end flow control in system on chip interconnects | |
US20070005868A1 (en) | Method, apparatus and system for posted write buffer for memory with unidirectional full duplex interface | |
CN103077136A (zh) | 一种axi总线内写入数据的方法和设备 | |
CN111581132B (zh) | 一种基于fpga的可扩展的多端口ddr3控制器 | |
JP2014174849A (ja) | 半導体記憶装置 | |
US20210109674A1 (en) | Memory command queue management | |
CN113448498A (zh) | 非易失性存储器接口 | |
CN102571535A (zh) | 一种数据延迟装置、方法及通信系统 | |
TWI650944B (zh) | 可減輕時脈失真所致保持時間損失的混合臨界值正反器元件 | |
US9111039B2 (en) | Limiting bandwidth for write transactions across networks of components in computer systems | |
CN110489359B (zh) | 一种数据传输控制方法及系统 | |
US20220121394A1 (en) | Identifying memory hotspots |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Room 1601-1611, room 1701-1711, No. 25, Huizhi Third Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province Patentee after: Guangdong new shoreline Technology Co.,Ltd. Address before: 100084, 16 floor, building A, building 8, Tsinghua Science Park, No. 1, Zhongguancun East Road, Haidian District, Beijing Patentee before: NUFRONT MOBILE COMMUNICATIONS TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |