CN116701279A - Axi总线写传输操作的数据处理方法、装置、终端及介质 - Google Patents
Axi总线写传输操作的数据处理方法、装置、终端及介质 Download PDFInfo
- Publication number
- CN116701279A CN116701279A CN202310497767.9A CN202310497767A CN116701279A CN 116701279 A CN116701279 A CN 116701279A CN 202310497767 A CN202310497767 A CN 202310497767A CN 116701279 A CN116701279 A CN 116701279A
- Authority
- CN
- China
- Prior art keywords
- write
- transmission
- slave device
- byte alignment
- address
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 332
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 63
- 238000012546 transfer Methods 0.000 claims description 236
- 238000012545 processing Methods 0.000 claims description 38
- 238000004590 computer program Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Bus Control (AREA)
Abstract
本申请提供一种AXI总线写传输操作的数据处理方法、装置、终端及介质,方法包括以下步骤:获取写传输操作的写传输地址、写传输长度以及写传输尺寸;根据写传输地址、写传输长度以及写传输尺寸判断写传输操作是否符合从设备的字节对齐要求;当写传输操作不符合从设备的字节对齐要求时,对写传输数据作对齐操作后发送至从设备。基于本申请,可以解决现有技术中当从设备具有不同最小字节对齐量要求时,主设备需要进行定制修改的问题,从而加速标准IP在SOC芯片的集成设计和使用。
Description
技术领域
本申请涉及数据处理领域,特别是涉及一种AXI总线写传输操作的数据处理方法、装置、终端及介质。
背景技术
AXI(Advanced extensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是目前广泛使用的总线传输协议。根据AXI总线协议规定,在进行写传输操作时,主设备向从设备发送写传输地址、控制数据和写数据,传输完成后,从设备需要返回写应答,AXI总线协议支持窄传输(Narrow transfer)和非对齐传输(Unaligned transfer)。
在对齐传输中,即地址对齐(32位系统,0x0,0x4等四字节边界对齐),写选通信号WSTRB(写数据字节有效位)全为1。
在非对齐传输中,即地址非对齐(32位系统,0x1,0x2,0x3等不以四字节对齐),此时写选通信号WSTRB全部有效或部分有效均可。
进一步地,在上述非对齐传输中,有地址非对齐的情况,也有地址虽对齐但写选通信号WSTRB仅部分有效的情况,还有其他特殊情况,例如写选通信号WSTRB全为0,此时该数据仍然会传输至总线上,直到从端写选通信号WSTRB判断无效才不会进行写入。
但是,在现有SOC(系统级芯片)应用中某些从设备对AXI总线的操作有最小字节对齐数的要求,比如PCIe(peripheral component interconnect express,外围组建互联Express)要求不小于一个双字对齐,即使从PCIe链路接收的请求短于AXI总线宽度时,主AXI接口上的数据突发的大小也将始终等于AXI数据总线的宽度,这就对主设备的传输产生了最小字节对齐数的要求。然后作为主设备来说限制传输最小字节对齐数来适配从设备的特殊要求将影响主设备作为标准通用的IP,最小字节对齐数如果不是一个标准为所有从设备采用的话,那么主设备为了适配各种具有最小字节对齐数传输要求的从设备,就需要不断进行定制修改,从而造成实际使用中的不便利。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供,用于解决现有技术当从设备具有不同最小字节对齐量要求时,主设备需要进行定制修改的问题。
为实现上述目的及其他相关目的,本申请的第一方面提供一种AXI总线写传输操作的数据处理方法,包括:获取写传输操作的写传输地址、写传输长度以及写传输尺寸;根据所述写传输地址、写传输长度以及写传输尺寸判断所述写传输操作是否符合从设备的字节对齐要求;当所述写传输操作不符合所述从设备的字节对齐要求时,对写传输数据作对齐操作后发送至所述从设备。
于本申请的第一方面的一些实施例中,当所述写传输操作符合所述从设备的字节对齐要求时,将所述写传输数据依照所述写传输地址直接发送至所述从设备。
于本申请的第一方面的一些实施例中,根据所述写传输地址、写传输长度以及写传输尺寸判断所述写传输操作是否符合从设备的字节对齐要求的方法,包括:基于所述写传输地址的最低若干位是否为零,和/或,所述写传输数据的字节总长度,判断所述写传输操作是否符合从设备的字节对齐要求。
于本申请的第一方面的一些实施例中,基于所述写传输地址的最低若干位是否为零判断所述写传输操作是否符合从设备的字节对齐要求的方法,包括:获取所述从设备的字节对齐要求;根据所述从设备的字节对齐要求确定所述写传输地址最低位中应当为零的位数;当所述写传输地址中最低位中应当为零的位数存在非零位时,则所述写传输操作不符合从设备的字节对齐要求。
于本申请的第一方面的一些实施例中,所述方法还包括:当所述写传输地址中最低位中应当为零的位数均为零时,则计算所述写传输数据的字节总长度;根据所述写传输数据的字节总长度与所述从设备的字节对齐要求间的数值关系,判断所述写传输操作是否符合从设备的字节对齐要求。
于本申请的第一方面的一些实施例中,根据所述写传输数据的字节总长度与所述从设备的字节对齐要求间的数值关系,判断所述写传输操作是否符合从设备的字节对齐要求的方法,包括:判断所述从设备的字节对齐要求是否能被所述写传输数据的字节总长度整除;当所述从设备的字节对齐要求能被所述写传输数据的字节总长度整除时,则所述写传输操作符合所述从设备的字节对齐要求;否则,所述写传输操作不符合所述从设备的字节对齐要求。
于本申请的第一方面的一些实施例中,所述写传输数据的字节总长度基于如下公式计算得到:L=(AWLEN+1)×(2AWSIZE);
其中,L为所述写传输数据的字节总长度,AWLEN为所述写传输长度,AWSIZE为所述写传输尺寸。
于本申请的第一方面的一些实施例中,所述对写传输数据作对齐操作后发送至所述从设备的方法,包括:根据所述从设备的字节对齐要求和所述写传输地址确定所述写传输数据的起始地址;其中,所述写传输数据的起始地址为所述写传输地址的上一个满足所述从设备的字节对齐要求的对齐地址;根据所述从设备的字节对齐要求和所述写传输地址确定所述写传输数据经所述字节对齐操作后的传输总长度;将所述写传输数据依照经所述字节对齐操作后的传输总长度发送至所述写传输数据的起始地址,并将所述写传输数据中无效地址对应的数据置零。
于本申请的第一方面的一些实施例中,所述写传输数据经所述字节对齐操作后的传输总长度,基于如下公式得到:N向上取整;
其中,N为所述写传输数据经所述字节对齐操作后的传输总长度,L为所述写传输数据的字节总长度,AWADDR[S-1:0]为所述写传输地址;S表示对齐尺寸;K=2S,表示对齐尺寸的字节数。
为实现上述目的及其他相关目的,本申请的第二方面提供一种AXI总线写传输操作的数据处理装置,包括:指令获取模块:用于获取写传输操作的写传输地址、写传输长度以及写传输尺寸;指令解析模块:用于根据所述写传输地址、写传输长度以及写传输尺寸判断所述写传输操作是否符合从设备的字节对齐要求;指令转换模块:用于当所述写传输操作不符合所述从设备的字节对齐要求时,对写传输数据作对齐操作后发送至所述从设备。
为实现上述目的及其他相关目的,本申请的第三方面提供一种AXI总线写传输操作的数据处理系统,包括:主设备,用于向从设备发起读写事务;其中,所述主设备包括:指令获取模块:用于获取写传输操作的写传输地址、写传输长度以及写传输尺寸;指令解析模块:用于根据所述写传输地址、写传输长度以及写传输尺寸判断所述写传输操作是否符合从设备的字节对齐要求;指令转换模块:用于当所述写传输操作不符合所述从设备的字节对齐要求时,对写传输数据作对齐操作后发送至所述从设备;从设备,用于响应所述主设备。
为实现上述目的及其他相关目的,本申请的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述方法。
为实现上述目的及其他相关目的,本申请的第五方面提供一种电子终端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述方法。
如上所述,本申请的一种AXI总线写传输操作的数据处理方法、装置、终端及介质,具有以下有益效果:
本申请能够在不对主设备的标准参数进行修改的情况下,通过实时检测当前AXI总线写传输情况并解析当前的写传输操作,对符合从设备字节对齐要求的写操作直接发送至从设备,对不符合从设备字节对齐要求的写操作进行对齐转换处理,从而使该写操作适配从设备的字节对齐要求,进而加速标准IP在SOC芯片的集成设计和使用。
附图说明
图1显示为本发明实施例中的一种AXI总线写传输操作的数据处理方法的流程示意图。
图2显示为本发明实施例中的一种AXI总线协议的数据写操作方式示意图。
图3显示为本发明实施例中判断写传输操作是否符合从设备的字节对齐要求的方法流程示意图。
图4显示为本发明实施例中另一种判断所述写传输操作是否符合从设备的字节对齐要求的方法流程示意图。
图5显示为本发明实施例中根据写传输数据的字节总长度与从设备的字节对齐要求间的数值关系,判断写传输操作是否符合从设备的字节对齐要求的方法流程示意图。
图6显示为本发明实施例中对写传输数据作对齐操作后发送至所述从设备的方法流程示意图。
图7显示为本申请一实施例中电子终端的结构示意图。
图8显示为本发明实施例中的一种AXI总线写传输操作的数据处理装置的结构示意图。
图9显示为本发明实施例中的一种AXI总线写传输操作的数据处理系统的结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本申请的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的专利的权利要求书所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本申请。空间相关的术语,例如“上”、“下”、“左”、“右”、“下面”、“下方”、“下部”、“上方”、“上部”等,可在文中使用以便于说明图中所示的一个元件或特征与另一元件或特征的关系。
在本申请中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”、“固持”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
为解决上述背景技术中的问题,本发明提供一种AXI总线写传输操作的数据处理方法、装置、终端及介质,旨在解决现有技术当从设备具有不同最小字节对齐量要求时,主设备需要进行定制修改的问题。与此同时,为了使本发明的目的、技术方案及优点更加清楚明白,通过下述实施例并结合附图,对本发明实施例中的技术方案的进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定发明。
在对本发明进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释:
<1>AXI(Advanced extensible Interface),AXI是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道、并支持Outstanding传输访问和乱序访问,并更加容易进行时序收敛。AXI是AMBA中一个新的高性能协议。AXI技术丰富了现有的AMBA标准内容,满足超高性能和复杂的片上系统(SoC)设计的需求。
<2>主设备(Master IP),总线两端发起读写事务的一端称为主设备。
<3>从设备(Slave IP),总线两端响应事务的一端是从设备。
<4>窄传输(Narrow transfers),当本次传输的突发宽度(AxSIZE)小于通道本身的宽度(假设为size)时,这次传输被称为窄传输。
<5>非对齐传输(Unaligned transfer),非对齐传输是指有些传输指令不是按照word对齐,而是按照Byte对齐进行传输。起始地址可能是任意的地址。
<6>SoC的定义多种多样,由于其内涵丰富、应用范围广,很难给出准确定义。一般说来,SoC称为系统级芯片,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。
<7>wstrb,写数据字节有效位。
<8>awaddr,写数据传输地址。
<9>awlen,写数据传输长度,此长度决定突发式写所传输的数据的个数。
<10>awsize,写数据传输尺寸,表示一次Burst传输中,每个数据的大小。
<11>wdata,写数据。
<12>wvalid,表示写数据和选通信号是有效的。
<13>wlast,表示一次突发写的最后一个数据。
本发明实施例提供一种AXI总线写传输操作的数据处理方法、一种AXI总线写传输操作的数据处理方法的系统、一种AXI总线写传输操作的数据处理方法的装置以及存储用于实现AXI总线写传输操作的数据处理方法的可执行程序的存储介质以及电子终端。就一种AXI总线写传输操作的数据处理方法的实施而言,本发明实施例将对一种AXI总线写传输操作的数据处理的示例性实施场景进行说明。
如图1所示,展示了本发明实施例中的一种AXI总线写传输操作的数据处理方法的流程示意图。本实施例中的AXI总线写传输操作的数据处理方法主要包括如下各步骤:
步骤S11:获取写传输操作的写传输地址、写传输长度以及写传输尺寸。
AXI总线是AMBA总线架构中,最新并且性能做好的一个总线标准。AXI的设计目标是可以在高时钟频率下运行,并在延滞时间长的状况下仍可达成高数据吞吐率。AXI总线将读/写请求与读/写结果相互分离、将数据写入和数据读出的信号相分离,可以同时进行写入和读出动作,从而最大限度地提高总线的数据吞吐率。
具体而言,AXI总线协议定义了主设备和从设备间的数据读写流程,在写传输操作中,首先由主设备通过写地址通道向从设备发出写入请求,再由主设备通过写数据通道向从设备发送写入的数据,从设备在完成写入动作后(写数据通道接收到last高电平信号),则从设备通过写响应通道向主设备发回确认信息,此为主设备向从设备进行写传输操作的完整流程。
于步骤S11中,写传输操作起始于主设备向从设备发送的写地址通道信号,写地址通道信号中包含写地址ID信号(AWID)、写地址信号(AWADDR)、写长度信号(AWLEN)、写尺寸信号(AWSIZE)、Burst类型信号(AWBURST)、锁定类型信号(AWLOCK)、Cache类型信号(AWCACHE)、保护类型信号(AWPROT)、写地址和控制信息有效信号(AWVALID)、写地址准备信号(AWREADY)。因此,可以获取写地址通道信号中的写传输地址(AWADDR)、写传输长度(AWLEN)以及写传输尺寸(AWSIZE)这3个信号。其中,写传输地址即为当前写传输操作所指向的目标地址;写传输长度即为写数据传输长度,此长度决定突发式写所传输的数据的个数;写传输尺寸,即为写数据传输尺寸,该尺寸表示一次Burst传输中,每个数据的字节数。如图2所示,展示了本发明实施例中的一种AXI总线协议的数据写操作方式示意图。
步骤S12:根据所述写传输地址、写传输长度以及写传输尺寸判断所述写传输操作是否符合从设备的字节对齐要求。
具体而言,可以首先获取从设备的字节对齐要求,字节对齐要求指的是从设备在每次传输时所接受的最小字节数,满足字节对齐要求的传输将大幅提高设备之间的数据交互效率。
举例而言,为便于更清晰的理解字节对齐要求的内涵,此处举一实例以描述字节对齐。
假设从设备的字节对齐要求为双字对齐,且当前设备系统为32位系统,则字节对齐要求则为2个字8个字节对齐。此时,若要将1个字节的有效数据写入地址0x67,并且不希望擦除相邻的字节。那么,为满足从设备的字节对齐要求,则需要将对齐后的数据发送至起始地址AWADDR=0x64,以满足从设备的字节对齐要求。对齐后的数据长度则为AWLEN=0x1,此为数据传输所允许的最小尺寸。在这一实例中,对齐后的数据传输一共包括2次传输,每次4字节,同时用写选通(WSTRB)信号标识每次传输中哪些字节为有效数据,哪些字节为无效数据。其中,第一个WSTRB=4’b1000,表示第一次传输中仅第四个字节(实际地址为0x67的数据)有效,其余字节均为无效字节;第二个WSTRB=4’b0000,表示第二次传输中无有效字节,全部字节均为无效字节。
类似的,在同一字节对齐要求下,若要将27个字节的有效数据写入地址0x6,并且不希望擦除相邻的字节。那么,为满足从设备的字节对齐要求,则需要将对齐后的数据发送至起始地址AWADDR=0x4,以满足从设备的字节对齐要求。对齐后的数据长度则为AWLEN=0x7,此为满足字节对齐要求的传输长度。在这一实例中,对齐后的数据传输一共包括8次传输,每次4字节,同时用写选通(WSTRB)信号标识每次传输中哪些字节为有效数据,哪些字节为无效数据。其中,第一个WSTRB=4’b1100,表示第一次传输中仅较高的2个字节(实际地址为0x6和0x7的数据)有效,其余字节均为无效字节;最后一个WSTRB=4’b0001,表示最后一次传输中仅第一个字节为有效字节,其余字节则为无效字节;除了第一个WSTRB信号和最后一个WSTRB信号,中间这些传输的WSTRB信号均为4’b1111,表示一次传输中的4个字节均为有效字节。
因此,在步骤S12中,在获取到从设备的字节对齐要求后,可以根据步骤S11中所获取的写传输操作的写传输地址、写传输长度以及写传输尺寸首先判断此次写传输操作的写传输地址是否落在从设备的字节对齐要求的对齐边界上来判断此次写传输操作是否满足从设备的字节对齐要求。另外,即使此次写传输操作的写传输地址落在了从设备的字节对齐要求的对齐边界,还需要根据此次写传输操作的写传输长度和写传输尺寸确定此次写传输操作的数据传输结束地址是否落在从设备的字节对齐要求的对齐边界,以进一步判断此次写传输操作是否满足从设备的字节对齐要求。
步骤S13:当所述写传输操作不符合所述从设备的字节对齐要求时,对写传输数据作对齐操作后发送至所述从设备。
具体而言,步骤S12完成了对于此次写传输操作是否满足从设备的字节对齐要求完成了判断。那么,在步骤S13中,当所述写传输操作不符合所述从设备的字节对齐要求时,为了使此次写传输操作满足从设备的字节对齐要求,可以对此次写传输操作的写传输数据作对齐操作后再发送至所述从设备。其中,本步骤中的对齐操作包括但不限于确定经对齐后的写传输数据的起始地址(以满足起始传输地址落在字节对齐边界的要求),确定经对齐后的写传输数据的字节总长度(以满足结束传输地址落在字节对齐边界的要求),以及将经对齐后的写传输数据中的无效字节位置零,有效字节位置一。
在本申请的一种实施例中,当所述写传输操作符合所述从设备的字节对齐要求时,将所述写传输数据依照所述写传输地址直接发送至所述从设备。
具体而言,步骤S12完成了对于此次写传输操作是否满足从设备的字节对齐要求完成了判断。那么,这一实施例实际上是与步骤S13相平行的步骤,当所述写传输操作符合所述从设备的字节对齐要求时,表明当前写传输操作已经满足了从设备的字节对齐要求,则可以将此次写传输操作的写传输数据按照写传输地址直接发送至所述从设备。举例而言,在某一数据传输场景下,从设备的字节对齐要求为4字节对齐,且此次写传输操作为向写传输地址0x0传输4个字节的数据,由于此次写传输操作的起始传输地址和结束传输地址均落在字节对齐边界,即满足了从设备的字节对齐要求,则可以将此次写传输操作的写传输数据按照写传输地址直接发送至所述从设备。
在本申请的一种实施例中,根据所述写传输地址、写传输长度以及写传输尺寸判断所述写传输操作是否符合从设备的字节对齐要求的方法,包括:基于所述写传输地址的最低若干位是否为零,和/或,所述写传输数据的字节总长度,判断所述写传输操作是否符合从设备的字节对齐要求。
具体而言,根据所述写传输地址、写传输长度以及写传输尺寸判断所述写传输操作是否符合从设备的字节对齐要求的方法存在两种判断路径,且这两种判断路径可以呈递进关系。其中,第一判断路径为基于所述写传输地址的最低若干位是否为零,来判断所述写传输操作是否符合从设备的字节对齐要求。需说明的是,第一判断路径的目的在于判断此次写传输操作的写传输地址是否落在从设备的字节对齐边界上,对于不同字节数的从设备的字节对齐要求,其位于字节对齐边界的地址的为零的最低位数也是不同的,因此可通过当前写传输操作的写传输地址的最低若干位是否为零,来判断此次写传输操作的写传输地址是否落在从设备的字节对齐边界上。
此外,以上所述的第一判断路径只能够判断此次写传输操作的写传输地址是否落在从设备的字节对齐边界上,还存在写传输地址落在从设备的字节对齐边界上但是仍然未能满足从设备的字节对齐要求的情形(写传输起始地址落在从设备的字节对齐边界上,但写传输结束地址未落在从设备的字节对齐边界上)。因此,为了涵盖这一情形,还可以通过写传输长度以及写传输尺寸来得到此次写传输操作中写传输数据的总字节长度,以确定此次写传输操作的数据传输结束地址是否落在从设备的字节对齐边界上,基于第二判断路径的结果来判断此次写传输操作的写传输地址是否落在从设备的字节对齐边界上。
如图3所示,展示了本发明实施例中判断写传输操作是否符合从设备的字节对齐要求的方法流程示意图。在本申请的一种实施例中,基于所述写传输地址的最低若干位是否为零判断所述写传输操作是否符合从设备的字节对齐要求的方法,包括:
步骤S31:获取所述从设备的字节对齐要求。
具体而言,步骤S31-步骤S33为本申请一实施例中基于所述写传输地址的最低若干位是否为零判断所述写传输操作是否符合从设备的字节对齐要求的方法步骤。于步骤S31,可以首先获取从设备的字节对齐要求,由于不同的从设备往往具有不同的字节对齐要求,因此本申请中的从设备的字节对齐要求可以是2个字节对齐、4个字节对齐或者8个字节对齐等等,本申请的这一实施例并不对此作限定,任何可以实现的字节对齐要求只要与本申请方案的核心思想相符,均落入本申请的保护范围之内。
步骤S32:根据所述从设备的字节对齐要求确定所述写传输地址最低位中应当为零的位数。
具体而言,步骤S32在于确定从设备的字节对齐要求所对应的写传输地址应当满足的最低位中应当为零的位数。举例而言,可以通过从设备的字节对齐要求确定所述写传输地址最低位中应当为零的位数,例如当从设备的字节对齐要求为2字节对齐时,那么写传输地址中最低1位为零的地址处于从设备的字节对齐边界,满足从设备的字节对齐要求,即当从设备的字节对齐要求为2字节对齐时,写传输地址应当满足的最低位中应当为零的位数为1;当从设备的字节对齐要求为4字节对齐时,那么写传输地址中最低2位为零的地址处于从设备的字节对齐边界,满足从设备的字节对齐要求,即当从设备的字节对齐要求为4字节对齐时,写传输地址应当满足的最低位中应当为零的位数为2;当从设备的字节对齐要求为8字节对齐时,那么写传输地址中最低3位为零的地址处于从设备的字节对齐边界,满足从设备的字节对齐要求,即当从设备的字节对齐要求为8字节对齐时,写传输地址应当满足的最低位中应当为零的位数为3。因此,当从设备的字节对齐要求为n字节对齐时,那么写传输地址中最低m位为零的地址处于从设备的字节对齐边界,满足从设备的字节对齐要求,其中,n=2m,m≥1,n≥2。
步骤S33:当所述写传输地址中最低位中应当为零的位数存在非零位时,则所述写传输操作不符合从设备的字节对齐要求。
具体而言,步骤S33在于根据写传输地址中最低位中应当为零的位数是否存在非零位,来判断写传输操作是否符合从设备的字节对齐要求。当写传输地址中最低位中应当为零的位数存在非零位时,则表明写传输地址的起始地址并未落在从设备的字节对齐边界上,因此可以直接判断出此次写传输操作不符合从设备的字节对齐要求。举例而言,当从设备的字节对齐要求为4字节对齐时,此时写传输地址中最低2位为零的地址方能满足从设备的字节对齐要求。若此时写传输地址的最低2位中存在非零位,则可以直接判断出此次写传输操作不符合从设备的字节对齐要求。
如图4所示,展示了本发明实施例中另一种判断所述写传输操作是否符合从设备的字节对齐要求的方法流程示意图。在本申请的一种实施例中,所述方法还包括:
步骤S41:当所述写传输地址中最低位中应当为零的位数均为零时,则计算所述写传输数据的字节总长度。
具体而言,步骤S41在已经判断出写传输地址的起始地址满足从设备的字节对齐要求的前提下,进一步判断写传输地址的结束地址是否落在从设备的字节对齐边界,以得出写传输操作是否符合从设备的字节对齐要求的结论。在步骤S41中,当所述写传输地址中最低位中应当为零的位数均为零时,表明此次写传输操作的写传输地址中的起始地址已经满足了从设备的字节对齐要求,由于还需要判断此次写传输操作的写传输地址中的结束地址是否满足从设备的字节对齐要求,故还需要计算此次写传输操作的写传输数据的字节总长度。
步骤S42:根据所述写传输数据的字节总长度与所述从设备的字节对齐要求间的数值关系,判断所述写传输操作是否符合从设备的字节对齐要求。
具体而言,在计算得到写传输操作的写传输数据的字节总长度后,可以根据所述写传输数据的字节总长度与所述从设备的字节对齐要求间的数值关系,来判断所述写传输操作是否符合从设备的字节对齐要求。例如,可以通过判断从设备的字节对齐要求和写传输数据的字节总长度是否存在倍数关系来判断所述写传输操作是否符合从设备的字节对齐要求。举例而言,当从设备的字节对齐要求为4字节对齐,且通过步骤S41所计算得到的写传输数据的字节总长度为16个字节时,由于此次写传输操作的写传输地址中的起始地址已经满足了从设备的字节对齐要求,且从设备的字节对齐要求与写传输数据的字节总长度之间存在倍数关系,故可以判断出所述写传输操作符合从设备的字节对齐要求。
如图5所示,展示了本发明实施例中根据写传输数据的字节总长度与从设备的字节对齐要求间的数值关系,判断写传输操作是否符合从设备的字节对齐要求的方法流程示意图。
在本申请的一种实施例中,根据所述写传输数据的字节总长度与所述从设备的字节对齐要求间的数值关系,判断所述写传输操作是否符合从设备的字节对齐要求的方法,包括:
步骤S51:判断所述从设备的字节对齐要求是否能被所述写传输数据的字节总长度整除。
具体而言,步骤S51-步骤S52为本申请一实施例中根据所述写传输数据的字节总长度与所述从设备的字节对齐要求间的数值关系,判断所述写传输操作是否符合从设备的字节对齐要求的方法。于步骤S51中,可以通过判断所述从设备的字节对齐要求是否能被所述写传输数据的字节总长度整除来确定从设备的字节对齐要求与写传输数据的字节总长度之间的倍数关系。
步骤S52:当所述从设备的字节对齐要求能被所述写传输数据的字节总长度整除时,则所述写传输操作符合所述从设备的字节对齐要求;否则,所述写传输操作不符合所述从设备的字节对齐要求。
具体而言,于步骤S51中,当所述从设备的字节对齐要求能被所述写传输数据的字节总长度整除时,表明从设备的字节对齐要求与写传输数据的字节总长度之间存在数值上的倍数关系,此次写传输操作的写传输地址中的结束地址满足从设备的字节对齐要求,因此可以判断出所述写传输操作符合所述从设备的字节对齐要求。举例而言,当从设备的字节对齐要求为4字节对齐,且通过步骤S51所计算得到的写传输数据的字节总长度为16个字节时,由于从设备的字节对齐要求(4)能够被写传输数据的字节总长度(16)整除,表明此次写传输操作的写传输地址中的结束地址满足从设备的字节对齐要求,因此可以判断出所述写传输操作符合所述从设备的字节对齐要求。
但是,当所述从设备的字节对齐要求不能被所述写传输数据的字节总长度整除时,表明从设备的字节对齐要求与写传输数据的字节总长度之间不存在数值上的倍数关系,此次写传输操作的写传输地址中的结束地址不满足从设备的字节对齐要求,因此可以判断出所述写传输操作不符合所述从设备的字节对齐要求。举例而言,当从设备的字节对齐要求为4字节对齐,且通过步骤S51所计算得到的写传输数据的字节总长度为17个字节时,由于从设备的字节对齐要求(4)不能够被写传输数据的字节总长度(17)整除,表明此次写传输操作的写传输地址中的结束地址不满足从设备的字节对齐要求,因此可以判断出所述写传输操作不符合所述从设备的字节对齐要求。
在本申请的一种实施例中,所述写传输数据的字节总长度基于如下公式计算得到:
L=(AWLEN+1)×(2AWSIZE)
其中,L为所述写传输数据的字节总长度,AWLEN为所述写传输长度,AWSIZE为所述写传输尺寸。
具体而言,基于上述公式,在写传输长度AWLEN和写传输尺寸AWSIZE为已知的前提下,可以得到写传输数据的字节总长度L。举例来说,当写传输长度AWLEN=0x1(值为1),写传输尺寸AWSIZE=0x0(值为0)时,对应的写传输数据的字节总长度L为2,也即:
L=(AWLEN+1)×(2AWSIZE)=(1+1)×(20)=2。
如图6所示,展示了本发明实施例中对写传输数据作对齐操作后发送至所述从设备的方法流程示意图。在本申请的一种实施例中,所述对写传输数据作对齐操作后发送至所述从设备的方法,包括:
步骤S61:根据所述从设备的字节对齐要求和所述写传输地址确定所述写传输数据的起始地址;其中,所述写传输数据的起始地址为所述写传输地址的上一个满足所述从设备的字节对齐要求的对齐地址;
具体而言,步骤S61-步骤S63为本申请一实施例中对写传输数据作对齐操作后发送至所述从设备的方法步骤。于步骤S61中,当此次写传输操作的写传输地址中的起始地址不满足从设备的字节对齐要求时,可以根据从设备的字节对齐要求和写传输地址确定在实际发送所述写传输数据时的起始地址。其中,实际发送所述写传输数据时的起始地址即为所述写传输地址的上一个满足所述从设备的字节对齐要求的对齐地址,以使写传输数据的起始地址满足从设备的字节对齐要求。举例而言,在某一场景下从设备的字节对齐要求为4个字节,若此时写传输操作的写传输地址AWADDR=0x5,为使得此次写传输操作的写传输数据的起始地址满足从设备的字节对齐要求,需要将写传输数据的起始地址确定为0x4,即写传输地址AWADDR=0x5的上一个满足所述从设备的字节对齐要求的对齐地址,从而满足从设备的字节对齐要求。
步骤S62:根据所述从设备的字节对齐要求和所述写传输地址确定所述写传输数据经所述字节对齐操作后的传输总长度;
具体而言,于步骤S62中,由于步骤S61已经确定了所述写传输数据的起始地址,在该写传输数据的起始地址已经满足从设备的字节对齐要求的前提下,还需要使得该写传输数据的结束地址满足从设备的字节对齐要求。因此,为满足上述要求,可以根据从设备的字节对齐要求和写传输地址来确定写传输数据经所述字节对齐操作后的传输总长度。举例而言,在某一场景下从设备的字节对齐要求为4个字节,若此时写传输操作的写传输地址AWADDR=0x4,写传输数据为7个字节,为使得此次写传输操作的写传输数据的结束地址满足从设备的字节对齐要求,需要将写传输数据的结束地址确定为0x11,即将写传输数据经所述字节对齐操作后的传输总长度确定为8个字节,以使写传输数据的结束地址满足从设备的字节对齐要求。
步骤S63:将所述写传输数据依照经所述字节对齐操作后的传输总长度发送至所述写传输数据的起始地址,并将所述写传输数据中无效地址对应的数据置零。
具体而言,于步骤S63中,由于步骤S61已经确定了所述写传输数据依照经所述字节对齐操作后的传输总长度,可以将写传输数据依照仅对齐操作后的字节总长度发送至所述写传输数据的起始地址,对于写传输数据中经填充的无效地址,将其对应的数据置为零。举例来说,在某一场景下从设备的字节对齐要求为4个字节,若此时写传输操作的写传输地址AWADDR=0x4,写传输数据为7个字节,为使得此次写传输操作的写传输数据的结束地址满足从设备的字节对齐要求,需要将写传输数据的结束地址确定为0x11,即将写传输数据经所述字节对齐操作后的传输总长度确定为8个字节,以使写传输数据的结束地址满足从设备的字节对齐要求。此时,对于前四个字节的写选通信号WSTRB=4’b1111,对于后四个字节的写选通信号WSTRB=4’b0111,从而实现对有效数据和无效数据的标识。
在本申请的一种实施例中,所述写传输数据经所述字节对齐操作后的传输总长度,基于如下公式得到:
N向上取整
其中,N为所述写传输数据经所述字节对齐操作后的传输总长度,L为所述写传输数据的字节总长度,AWADDR[S-1:0]为所述写传输地址;S表示对齐尺寸;K=2S,表示对齐尺寸的字节数。
具体而言,可以根据上述公式得到写传输数据经所述字节对齐操作后的传输总长度,举例来说,当所述从设备的字节对齐要求的数值为4字节时,写传输地址AWADDR为0x1,写传输数据的字节总长度L为8时,基于如上公式可以得到写传输数据经所述字节对齐操作后的传输总长度N为3。还需说明的是,如果基于如上公式得到的写传输数据经所述字节对齐操作后的传输总长度N小于从设备的最小对齐尺寸字数S(K=2s),则直接令写传输数据经所述字节对齐操作后的传输总长度N为从设备的最小对齐尺寸字数S的值,以满足从设备的最小对齐尺寸字数的要求。举例来说,在某一场景下,写传输地址AWADDR为0x1,写传输长度AWLEN=0x0,写传输尺寸AWSIZE=0x0,从设备的最小对齐尺寸字数S为常用尺寸2字,K为对齐尺寸的字节数4个字节,发起一个字节数据的传输至0x1地址。此时基于上述写传输地址AWADDR为0x1,写传输长度AWLEN=0x0,写传输尺寸AWSIZE=0x0求得的写传输数据经所述字节对齐操作后的传输总长度N为1,由于写传输数据经所述字节对齐操作后的传输总长度N为1,N小于从设备的最小对齐尺寸字数S,在此种情形下令写传输数据经所述字节对齐操作后的传输总长度N=S=2。
上述实施例中虽然将各个步骤按照上述先后次序的方式进行了描述,但是本领域技术人员可以理解,为了实现本实施例的效果,不同的步骤之间不必按照这样的次序执行,其可以同时(并行)执行或以颠倒的次序执行,这些简单的变化都在本发明的保护范围之内。
本发明实施例提供的AXI总线写传输操作的数据处理方法可以采用终端侧或服务器侧实施,就AXI总线写传输操作的数据处理终端的硬件结构而言,请参阅图7,为本发明实施例提供的AXI总线写传输操作的数据处理终端700的一个可选的硬件结构示意图,该终端700可以是移动电话、计算机设备、平板设备、个人数字处理设备、工厂后台处理设备等。AXI总线写传输操作的数据处理终端700包括:至少一个处理器701、存储器702、至少一个网络接口704和用户接口706。装置中的各个组件通过总线系统705耦合在一起。可以理解的是,总线系统705用于实现这些组件之间的连接通信。总线系统705除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统。
其中,用户接口706可以包括显示器、键盘、鼠标、轨迹球、点击枪、按键、按钮、触感板或者触摸屏等。
可以理解,存储器702可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,StaticRandom Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous StaticRandomAccess Memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类别的存储器。
本发明实施例中的存储器702用于存储各种类别的数据以支持AXI总线写传输操作的数据处理70终端700的操作。这些数据的示例包括:用于在AXI总线写传输操作的数据处理70终端700上操作的任何可执行程序,如操作系统7021和应用程序7022;操作系统7021包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序7022可以包含各种应用程序,例如媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例提供的AXI总线写传输操作的数据处理方法可以包含在应用程序7022中。
上述本发明实施例揭示的方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器701可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器701可以是微处理器或者任何常规的处理器等。结合本发明实施例所提供的配件优化方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,AXI总线写传输操作的数据处理终端700可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable LogicDevice),用于执行前述方法。
如图8所示,展示了本发明实施例中的一种AXI总线写传输操作的数据处理装置的结构示意图。本实施例中,AXI总线写传输操作的数据处理装置包括:指令获取模块:用于获取写传输操作的写传输地址、写传输长度以及写传输尺寸;指令解析模块:用于根据所述写传输地址、写传输长度以及写传输尺寸判断所述写传输操作是否符合从设备的字节对齐要求;指令转换模块:用于当所述写传输操作不符合所述从设备的字节对齐要求时,对写传输数据作对齐操作后发送至所述从设备。
需要说明的是:上述实施例提供的AXI总线写传输操作的数据处理装置在进行AXI总线写传输操作的数据处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的AXI总线写传输操作的数据处理装置与AXI总线写传输操作的数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
如图9所示,展示了本发明实施例中的一种AXI总线写传输操作的数据处理系统的结构示意图。本实施例中,AXI总线写传输操作的数据处理系统包括:主设备,用于向从设备发起读写事务;其中,所述主设备包括:指令获取模块:用于获取写传输操作的写传输地址、写传输长度以及写传输尺寸;指令解析模块:用于根据所述写传输地址、写传输长度以及写传输尺寸判断所述写传输操作是否符合从设备的字节对齐要求;指令转换模块:用于当所述写传输操作不符合所述从设备的字节对齐要求时,对写传输数据作对齐操作后发送至所述从设备;从设备,用于响应所述主设备。
需要说明的是:上述实施例提供的AXI总线写传输操作的数据处理系统在进行AXI总线写传输操作的数据处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将系统的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的AXI总线写传输操作的数据处理系统与AXI总线写传输操作的数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
于本申请提供的实施例中,所述计算机可读写存储介质可以包括只读存储器、随机存取存储器、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、U盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读写存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。
综上所述,本申请提供AXI总线写传输操作的数据处理方法、装置、终端及介质,本申请能够在不对主设备的标准参数进行修改的情况下,通过实时检测当前AXI总线写传输情况并解析当前的写传输操作,对符合从设备字节对齐要求的写操作直接发送至从设备,对不符合从设备字节对齐要求的写操作进行对齐转换处理,从而使该写操作适配从设备的字节对齐要求,进而加速标准IP在SOC芯片的集成设计和使用。所以,本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (13)
1.一种AXI总线写传输操作的数据处理方法,其特征在于,包括:
获取写传输操作的写传输地址、写传输长度以及写传输尺寸;
根据所述写传输地址、写传输长度以及写传输尺寸判断所述写传输操作是否符合从设备的字节对齐要求;
当所述写传输操作不符合所述从设备的字节对齐要求时,对写传输数据作对齐操作后发送至所述从设备。
2.根据权利要求1所述的AXI总线写传输操作的数据处理方法,其特征在于,
当所述写传输操作符合所述从设备的字节对齐要求时,将所述写传输数据依照所述写传输地址直接发送至所述从设备。
3.根据权利要求1所述的AXI总线写传输操作的数据处理方法,其特征在于,
根据所述写传输地址、写传输长度以及写传输尺寸判断所述写传输操作是否符合从设备的字节对齐要求的方法,包括:
基于所述写传输地址的最低若干位是否为零,和/或,所述写传输数据的字节总长度,判断所述写传输操作是否符合从设备的字节对齐要求。
4.根据权利要求3所述的AXI总线写传输操作的数据处理方法,其特征在于,
基于所述写传输地址的最低若干位是否为零判断所述写传输操作是否符合从设备的字节对齐要求的方法,包括:
获取所述从设备的字节对齐要求;
根据所述从设备的字节对齐要求确定所述写传输地址最低位中应当为零的位数;
当所述写传输地址中最低位中应当为零的位数存在非零位时,则所述写传输操作不符合从设备的字节对齐要求。
5.根据权利要求4所述的AXI总线写传输操作的数据处理方法,其特征在于,所述方法还包括:
当所述写传输地址中最低位中应当为零的位数均为零时,则计算所述写传输数据的字节总长度;
根据所述写传输数据的字节总长度与所述从设备的字节对齐要求间的数值关系,判断所述写传输操作是否符合从设备的字节对齐要求。
6.根据权利要求5所述的AXI总线写传输操作的数据处理方法,其特征在于,
根据所述写传输数据的字节总长度与所述从设备的字节对齐要求间的数值关系,判断所述写传输操作是否符合从设备的字节对齐要求的方法,包括:
判断所述从设备的字节对齐要求是否能被所述写传输数据的字节总长度整除;
当所述从设备的字节对齐要求能被所述写传输数据的字节总长度整除时,则所述写传输操作符合所述从设备的字节对齐要求;否则,所述写传输操作不符合所述从设备的字节对齐要求。
7.根据权利要求5或6中任意一项所述的AXI总线写传输操作的数据处理方法,其特征在于,
所述写传输数据的字节总长度基于如下公式计算得到:
L=(AWLEN+1)×(2AWSIZE);
其中,L为所述写传输数据的字节总长度,AWLEN为所述写传输长度,AWSIZE为所述写传输尺寸。
8.根据权利要求1所述的AXI总线写传输操作的数据处理方法,其特征在于,
所述对写传输数据作对齐操作后发送至所述从设备的方法,包括如下步骤:
根据所述从设备的字节对齐要求和所述写传输地址确定所述写传输数据的起始地址;其中,所述写传输数据的起始地址为所述写传输地址的上一个满足所述从设备的字节对齐要求的对齐地址;
根据所述从设备的字节对齐要求和所述写传输地址确定所述写传输数据经所述字节对齐操作后的传输总长度;
将所述写传输数据依照经所述字节对齐操作后的传输总长度发送至所述写传输数据的起始地址,并将所述写传输数据中无效地址对应的数据置零。
9.根据权利要求8所述的AXI总线写传输操作的数据处理方法,其特征在于,
所述写传输数据经所述字节对齐操作后的传输总长度,基于如下公式得到:
N向上取整;
其中,N为所述写传输数据经所述字节对齐操作后的传输总长度,L为所述写传输数据的字节总长度,AWADDR[S-1:0]为所述写传输地址;S表示对齐尺寸;K=2S,表示对齐尺寸的字节数。
10.一种AXI总线写传输操作的数据处理装置,其特征在于,包括:
指令获取模块:用于获取写传输操作的写传输地址、写传输长度以及写传输尺寸;
指令解析模块:用于根据所述写传输地址、写传输长度以及写传输尺寸判断所述写传输操作是否符合从设备的字节对齐要求;
指令转换模块:用于当所述写传输操作不符合所述从设备的字节对齐要求时,对写传输数据作对齐操作后发送至所述从设备。
11.一种AXI总线写传输操作的数据处理系统,其特征在于,包括:
主设备,用于向从设备发起读写事务;其中,所述主设备包括:指令获取模块:用于获取写传输操作的写传输地址、写传输长度以及写传输尺寸;指令解析模块:用于根据所述写传输地址、写传输长度以及写传输尺寸判断所述写传输操作是否符合从设备的字节对齐要求;指令转换模块:用于当所述写传输操作不符合所述从设备的字节对齐要求时,对写传输数据作对齐操作后发送至所述从设备;
从设备,用于响应所述主设备。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述方法。
13.一种电子终端,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如权利要求1至9中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310497767.9A CN116701279A (zh) | 2023-05-05 | 2023-05-05 | Axi总线写传输操作的数据处理方法、装置、终端及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310497767.9A CN116701279A (zh) | 2023-05-05 | 2023-05-05 | Axi总线写传输操作的数据处理方法、装置、终端及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116701279A true CN116701279A (zh) | 2023-09-05 |
Family
ID=87834787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310497767.9A Pending CN116701279A (zh) | 2023-05-05 | 2023-05-05 | Axi总线写传输操作的数据处理方法、装置、终端及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116701279A (zh) |
-
2023
- 2023-05-05 CN CN202310497767.9A patent/CN116701279A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11755527B2 (en) | Techniques for command validation for access to a storage device by a remote client | |
US10282192B1 (en) | Updating device code through a bus | |
KR102111741B1 (ko) | 임베디드 멀티미디어 카드 및 이의 동작 방법 | |
US7069350B2 (en) | Data transfer control system, electronic instrument, and data transfer control method | |
US7822903B2 (en) | Single bus command having transfer information for transferring data in a processing system | |
PH12016500339B1 (en) | Ascertaining command completion in flash memories | |
US9489328B2 (en) | System on chip and method for accessing device on bus | |
JP2008059554A (ja) | システム管理バス実装のためのプロトコル埋め込み方法 | |
WO2021120623A1 (zh) | 一种数据传输方法、装置及相关组件 | |
US9690720B2 (en) | Providing command trapping using a request filter circuit in an input/output virtualization (IOV) host controller (HC) (IOV-HC) of a flash-memory-based storage device | |
JP2018523217A (ja) | ペリフェラルコンポーネントインターコネクトエクスプレス(pcie)システムにおけるトランザクション固有属性の伝達 | |
US8107492B2 (en) | Cooperative writes over the address channel of a bus | |
WO2019057005A1 (zh) | 数据校验的方法、装置以及网卡 | |
CN111737564B (zh) | 一种信息查询方法、装置、设备及介质 | |
US8521914B2 (en) | Auxiliary writes over address channel | |
CN116701279A (zh) | Axi总线写传输操作的数据处理方法、装置、终端及介质 | |
US8688867B2 (en) | System and methods for communicating between serial communications protocol enabled devices | |
US8850159B2 (en) | Method and system for latency optimized ATS usage | |
CN116049069A (zh) | 数据读取方法及相关装置 | |
WO2018052718A1 (en) | Method and apparatus for masking and transmitting data | |
TW201005537A (en) | Controller, method, system and program for direct memory access | |
TWI416336B (zh) | 可共享緩衝器的網路介面卡與緩衝器共享方法 | |
US10261700B1 (en) | Method and apparatus for streaming buffering to accelerate reads | |
JP2015115060A (ja) | データの少なくとも一部が処理に利用可能であることの少なくとも1つのインジケーションの少なくとも部分的な提供 | |
CN117539802B (zh) | 一种缓存操作方法、系统以及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |