CN110799938A - 令牌管理方法、装置、芯片及可移动平台 - Google Patents
令牌管理方法、装置、芯片及可移动平台 Download PDFInfo
- Publication number
- CN110799938A CN110799938A CN201880042195.2A CN201880042195A CN110799938A CN 110799938 A CN110799938 A CN 110799938A CN 201880042195 A CN201880042195 A CN 201880042195A CN 110799938 A CN110799938 A CN 110799938A
- Authority
- CN
- China
- Prior art keywords
- token
- instruction
- storage
- information
- indication
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 42
- 239000012634 fragment Substances 0.000 claims abstract description 66
- 238000000034 method Methods 0.000 claims description 48
- 230000015654 memory Effects 0.000 claims description 25
- 238000003384 imaging method Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 5
- 239000002699 waste material Substances 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 15
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/22—Pc multi processor system
- G05B2219/2207—Microcontroller combined with state sequencer
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种令牌管理方法,通过在将指令分割为多个指令片段后,依次分配多个令牌后,并依次存储令牌还生成令牌的存储信息,每个令牌的存储信息用于指示:该令牌是否为所述指令的最后一个令牌、该令牌是否为所述指令所属指令标识对应的最后一个令牌以及所述指令中该令牌的下一个令牌的存储地址。通过该存储信息,可以根据令牌的分配顺序获取到该指令下的所有令牌,从而保证同一指令下的数据不会出错。无需按照令牌的分配顺序以FIFO的形式存储令牌,节省了存储资源,避免资源浪费。
Description
技术领域
本发明实施例涉及芯片技术领域,尤其涉及一种令牌管理方法、装置、芯片及可移动平台。
背景技术
系统级芯片(System on Chip,SoC)是指以嵌入式系统为核心,集软、硬件于一体,并追求产品系统最大包容的集成芯片,可以应用于手机,图像处理,电视游戏等领域。针对需要大容量内存的软件应用场景,SoC通常会集成一个双倍数据速率(Double Data Rate,DDR)控制器来连接DDR器件,以提供系统内存空间。一般提高DDR控制器的访问效率,就可提高整个SoC的处理性能。为了提高DDR控制器的访问效率,会为DDR控制器配置多个访问端口,这些访问端口遵循一定的总线标准,如先进微控制器总线体系结构(AdvancedMicrocontroller Bus Architecture,AMBA)的高级可扩展接口(Advanced eXtensibleInterface,AXI),高级高性能总线(the Advanced High-performance Bus,AHB)总线接口标准。DDR控制器作为访问SLAVE,外部存在多个访问MASTER,这些访问MASTER可以来源于例如应用处理器,数字信号处理器,图形处理单元,多媒体等。
其中,若DDR控制器与访问端口之间的总线标准为AMBA的AXI,则同一个访问MASTER发出的具有相同ID的指令与读数据的顺序保持一致,即先发出的读指令对应的读数据先返回。但是,DDR器件不是AXI总线标准接口,所以需要DDR控制器将AXI总线传输的读指令和时序转换为DDR器件的读指令和时序。具体如下:DDR控制器通过AXI总线接收到读指令后,将每条读指令分割为多个指令片段,并为每个指令片段分配令牌,以记录读指令的顺序。DDR控制器再根据当前DDR器件的状态,将这些指令片段重新调整顺序,将重新调整后的指令片段发送给DDR器件,DDR器件根据接收到的指令片段的顺序依次返回读数据,并为各个读数据添加对应的指令片段的令牌,其中,令牌一般存储在先入先出(First InputFirst Output,FIFO)存储器中,先产生的令牌所对应的读数据先读出,后产生的令牌所对应的读数据后读出,所以对同一读指令的读数据按照顺序组合,从而获得排序后的读数据,其中,排序后的读数据与对应的读指令的顺序一致,然后将排序后的读数据依次发送给访问MASTER。
现有技术中,一般是根据访问MASTER可能的ID的最大个数N以及DDR器件指令CAM深度(一般用2M来表示)来确定FIFO存储器的个数和深度,其中,FIFO存储器的个数等于MASTER可能的ID的最大个数。为了覆盖读指令都来自同一ID的极限情况,所以每个FIFO存储器的深度等于上述DDR器件指令CAM深度,即FIFO存储器的宽度为M。由此可知,FIFO存储器的存储总和是CAM深度的N倍,从而造成FIFO的存储资源远远大于实际所需的令牌存储资源,造成资源浪费。
发明内容
本发明实施例提供一种令牌管理方法、装置、芯片及可移动平台,用于节省存储令牌所需的资源,节省资源开销。
第一方面,本发明实施例提供一种令牌管理方法,包括:
将接收的指令分割为K个指令片段,并为每个指令片段依次分配令牌;
按照分配顺序存储K个令牌,并生成每个令牌的存储信息;
对所述K个指令片段重新排序,并发送重新排序后的K个指令片段;
其中,每个令牌的存储信息用于指示:该令牌是否为所述指令的最后一个令牌、该令牌是否为所述指令所属指令标识对应的最后一个令牌以及所述指令中该令牌的下一个令牌的存储地址。
第二方面,本发明实施例提供一种令牌管理方法,包括:
接收多个指令片段中每个指令片段所读取的数据,所述多个指令片段包括K个指令片段,所述K个指令片段为一个指令的重新排序后的所有指令片段;
确定各个指令片段所读取的数据所对应的令牌;
根据所述指令所属指令标识的令牌读取信息,将所述令牌读取信息指示的存储地址确定为所述指令的第一个令牌的存储地址,并根据所述第一个令牌的存储地址,获取所述第一个令牌;
根据所述第一个令牌的存储信息,依次获取所述指令的其它K-1个令牌的存储信息;
依次根据所述K-1个令牌的存储信息,获取其它K-1个令牌;
根据获取所述指令的K个令牌的顺序,以及各个指令片段所读取的数据所对应的令牌,对所述K个令牌对应的数据进行重组,获得所述指令所读取的数据;
其中,每个令牌的存储信息用于指示:该令牌是否为所述指令的最后一个令牌、该令牌是否为所述指令所属指令标识对应的最后一个令牌以及所述指令中该令牌的下一个令牌的存储地址;
所述令牌读取信息用于指示所述指令所属指令标识对应的当前存储的第一个令牌的存储地址。
第三方面,本发明实施例提供一种令牌管理装置,包括:存储器和处理器;
所述存储器,用于存储程序代码;
所述处理器,用于调用所述存储器中存储的所述代码,执行如第一方面本发明实施例所述的令牌管理方法,或者,如第二方面本发明实施例所述的令牌管理方法。
第四方面,本发明实施例提供一种芯片,包括:DDR控制器和DDR器件;
所述DDR控制器,用于执行如第一方面本发明实施例所述的令牌管理方法,以及,如第二方面本发明实施例所述的令牌管理方法;
所述DDR器件,用于接收所述DDR器件发送的重新排序后的多个指令片段,并向所述DDR控制器发送每个指令片段所读取的数据。
第五方面,本发明实施例一种可移动平台,包括:机身、云台以及成像装置,所述成像装置通过所述云台与所述机身连接,所述机身内包括如第四方面本发明实施例所述的芯片;
所述芯片还与所述成像装置连接,所述芯片还用于处理所述成像装置采集的图像数据。
第六方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包含至少一段代码,所述至少一段代码可由计算机执行,以控制所述计算机执行本发明实施例第一方面和/或第二方面所述的令牌管理方法。
第七方面,本发明实施例提供一种计算机程序,当所述计算机程序被计算机执行时,用于实现本发明实施例第一方面和/或第二方面所述的令牌管理方法。
本发明实施例提供的令牌管理方法、装置、芯片及可移动平台,通过在将指令分割为多个指令片段后,依次分配多个令牌后,并依次存储令牌还生成令牌的存储信息,每个令牌的存储信息用于指示:该令牌是否为所述指令的最后一个令牌、该令牌是否为所述指令所属指令标识对应的最后一个令牌以及所述指令中该令牌的下一个令牌的存储地址。通过该存储信息,可以根据令牌的分配顺序获取到该指令下的所有令牌,从而保证同一指令下的数据不会出错。无需按照令牌的分配顺序以FIFO的形式存储令牌,节省了存储资源,避免资源浪费。
附图说明
图1是根据本发明的实施例的无人飞行系统的示意性架构图;
图2为本发明一实施例提供的令牌管理方法的流程图;
图3为本发明实施例提供的令牌存储结构、ID读指针存储结构、ID写指针存储结构的示意图;
图4为本发明实施例提供的初始化时令牌存储结构、ID读指针存储结构、ID写指针存储结构的示意图;
图5为本发明一实施例提供的指令分割及分配令牌的示意图;
图6为本发明实施例提供的存储指令0的4个令牌的示意图;
图7为本发明实施例提供的存储指令1的3个令牌的示意图;
图8为本发明实施例提供的存储指令2的5个令牌的示意图;
图9为本发明一实施例提供的令牌读取顺序的示意图;
图10为本发明实施例提供的读取指令0的4个令牌的示意图;
图11为本发明实施例提供的读取指令1的3个令牌的示意图;
图12为本发明实施例提供的读取指令2的5个令牌的示意图;
图13为本发明一实施例提供的令牌管理装置的结构示意图;
图14为本发明另一实施例提供的令牌管理装置的结构示意图;
图15为本发明一实施例提供的芯片的结构示意图;
图16为本发明一实施例提供的可移动平台的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
本发明的实施例提供了令牌管理方法、装置、芯片及可移动平台。该可移动平台例如可以是无人机、无人船、无人汽车、机器人等。其中无人机例如可以是旋翼飞行器(rotorcraft),例如,由多个推动装置通过空气推动的多旋翼飞行器,本发明的实施例并不限于此。
图1是根据本发明的实施例的无人飞行系统的示意性架构图。本实施例以旋翼无人机为例进行说明。
无人飞行系统100可以包括无人机110、显示设备130和控制终端140。其中,无人机110可以包括动力系统150、飞行控制系统160、机架和承载在机架上的云台120。无人机110可以与控制终端140和显示设备130进行无线通信。
机架可以包括机身和脚架(也称为起落架)。机身可以包括中心架以及与中心架连接的一个或多个机臂,一个或多个机臂呈辐射状从中心架延伸出。脚架与机身连接,用于在无人机110着陆时起支撑作用。
动力系统150可以包括一个或多个电子调速器(简称为电调)151、一个或多个螺旋桨153以及与一个或多个螺旋桨153相对应的一个或多个电机152,其中电机152连接在电子调速器151与螺旋桨153之间,电机152和螺旋桨153设置在无人机110的机臂上;电子调速器151用于接收飞行控制系统160产生的驱动信号,并根据驱动信号提供驱动电流给电机152,以控制电机152的转速。电机152用于驱动螺旋桨旋转,从而为无人机110的飞行提供动力,该动力使得无人机110能够实现一个或多个自由度的运动。在某些实施例中,无人机110可以围绕一个或多个旋转轴旋转。例如,上述旋转轴可以包括横滚轴(Roll)、偏航轴(Yaw)和俯仰轴(pitch)。应理解,电机152可以是直流电机,也可以交流电机。另外,电机152可以是无刷电机,也可以是有刷电机。
飞行控制系统160可以包括飞行控制器161和传感系统162。传感系统162用于测量无人机的姿态信息,即无人机110在空间的位置信息和状态信息,例如,三维位置、三维角度、三维速度、三维加速度和三维角速度等。传感系统162例如可以包括陀螺仪、超声传感器、电子罗盘、惯性测量单元(Inertial Measurement Unit,IMU)、视觉传感器、全球导航卫星系统和气压计等传感器中的至少一种。例如,全球导航卫星系统可以是全球定位系统(Global Positioning System,GPS)。飞行控制器161用于控制无人机110的飞行,例如,可以根据传感系统162测量的姿态信息控制无人机110的飞行。应理解,飞行控制器161可以按照预先编好的程序指令对无人机110进行控制,也可以通过响应来自控制终端140的一个或多个控制指令对无人机110进行控制。
云台120可以包括电机122。云台用于携带拍摄装置123或麦克风(图中未示出)。飞行控制器161可以通过电机122控制云台120的运动。可选地,作为另一实施例,云台120还可以包括控制器,用于通过控制电机122来控制云台120的运动。应理解,云台120可以独立于无人机110,也可以为无人机110的一部分。应理解,电机122可以是直流电机,也可以是交流电机。另外,电机122可以是无刷电机,也可以是有刷电机。还应理解,云台可以位于无人机的顶部,也可以位于无人机的底部。
拍摄装置123例如可以是照相机或摄像机等用于捕获图像的设备,拍摄装置123可以与飞行控制器通信,并在飞行控制器的控制下进行拍摄。本实施例的拍摄装置123至少包括感光元件,该感光元件例如为互补金属氧化物半导体(Complementary Metal OxideSemiconductor,CMOS)传感器或电荷耦合元件(Charge-coupled Device,CCD)传感器。可以理解,拍摄装置123也可直接固定于无人机110上,从而云台120可以省略。
显示设备130位于无人飞行系统100的地面端,可以通过无线方式与无人机110进行通信,并且可以用于显示无人机110的姿态信息。另外,还可以在显示设备130上显示成像装置拍摄的图像。应理解,显示设备130可以是独立的设备,也可以集成在控制终端140中。
控制终端140位于无人飞行系统100的地面端,可以通过无线方式与无人机110进行通信,用于对无人机110进行远程操纵。
另外,无人机110还可以机载有扬声器(图中未示出),该扬声器用于播放音频文件,扬声器可直接固定于无人机110上,也可搭载在云台120上。
应理解,上述对于无人飞行系统各组成部分的命名仅是出于标识的目的,并不应理解为对本发明的实施例的限制。
其中,上述的飞行控制器161中可以包括芯片,该芯片中的DDR控制器可以用于执行如下所述的方案,下述各实施例中提及的数据例如是拍摄装置123拍摄获得的图像数据。
图2为本发明一实施例提供的令牌管理方法的流程图,如图2所示,本实施例的方法可以应用于芯片(例如系统级芯片,本实施例也不限于此)中,例如芯片的DDR控制器中,本实施例的方法可以包括:
S201、将接收的指令分割为K个指令片段,并为每个指令片段依次分配令牌。
S202、按照分配顺序存储K个令牌,并生成每个令牌的存储信息。
S203、对所述K个指令片段重新排序,并发送重新排序后的K个指令片段。
本实施例中,DDR控制器可以通过例如AXI总线接收至少一个指令,针对每个指令,将接收的指令分割为K个指令片段,其中,每个指令分割成的指令片段的个数可以不相同。本实施例还对每个指令片段依次分配令牌,例如将一个指令依次分割为指令片段1、指令片段2和指令片段3,则依次为指令片段1分配令牌、指令片段2分配令牌、指令片段3分配令牌。
本实施例再按照令牌的分配顺序存储令牌,即先分配的令牌先存储,后分配的令牌后存储,以保证存储的令牌的顺序与指令片段的分割顺序相同。并且在每存储一个令牌后,生成该令牌的存储信息。其中,每个令牌的存储信息用于指示:该令牌是否为所述指令的最后一个令牌、该令牌是否为所述指令所属指令标识对应的最后一个令牌以及所述指令中该令牌的下一个令牌的存储地址。其中,需要说明的是,多个不同的指令可能所属同一指令标识。
在一些实施例中,若所述指令为所属指令标识对应的当前存储的第一个指令,则生成所述指令标识的令牌读取信息。所述令牌读取信息用于指示所述指令所属指令标识对应的当前存储的第一个令牌的存储地址。其中,有关令牌读取信息可以参见S206中的相关描述。
本实施例中,在存储指令的所有令牌后,DDR控制器根据当前DDR器件的状态,将这些指令片段重新排序,例如重新排序后的指令片段为:指令片段2、指令片段3、指令片段1,然后将重新排序后的指令片段发送给DDR器件。
可选地,本实施例还保存重新排序的指令片段的相对顺序,例如:可以将指示重新排序的指令片段的相对顺序存储在CAM中,在一实施方式中,可以将重新排序的指令片段的令牌按照先入先出的规则依次存储在CAM中。
S204、接收多个指令片段中每个指令片段所读取的数据,所述多个指令片段包括K个指令片段,所述K个指令片段为一个指令的重新排序后的所有指令片段。
S205、确定各个指令片段所读取的数据所对应的令牌。
本实施例中,DDR控制器会接收DDR器件根据接收的指令片段的顺序发送的数据。这些数据中可以是多个指令片段所读取的数据,其中,该多个指令片段可以包括至少一个指令的所有指令片段,本实施例以一个指令为例,该指令包括K个指令片段,并且该K个指令片段为该指令的重新排序后的所有指令片段,其它指令类似处理。然后可以确定各个指令片段所读取的数据所对应的令牌。可选地,本实施例还保存有重新排序的指令片段的相对顺序,因此,根据接收数据的相对顺序,可以确定各个数据所对应的指令片段的相对顺序,从而获得各个数据所对应的令牌。例如:可以将重新排序的指令片段的令牌按照先入先出的规则依次存储在CAM中,因此,本实施例可以根据数据的接收顺序从CAM中获取与该数据对应的令牌。
S206、根据所述指令所属指令标识的令牌读取信息,将所述令牌读取信息指示的存储地址确定为所述指令的第一个令牌的存储地址,并根据所述第一个令牌的存储地址,获取所述第一个令牌。
本实施例中,以其中一个指令为例,根据该指令所属指令标识的令牌读取信息,获取该令牌读取信息指示的存储地址,并将该存储地址确定为该指令的第一个令牌的存储地址,然后根据该存储地址,获取存储在该存储地址的令牌,该令牌即为该指令的第一个令牌。
S207、根据所述第一个令牌的存储信息,依次获取所述指令的其它K-1个令牌的存储信息;依次根据所述K-1个令牌的存储信息,获取其它K-1个令牌。
本实施例中,由于在存储每个令牌时,生成了该令牌的存储信息,因此,本实施例可以获取该第一个令牌的存储信息,由于每个令牌的存储信息用于指示:该令牌的下一个令牌的存储地址。因此根据该第一个令牌的存储信息,可以获取第二个令牌的存储信息,并根据该第二个令牌的存储信息,获取第二个令牌;再根据第二个令牌的存储信息,获取第三个令牌的存储信息,并根据第三个令牌的存储信息,获取第三个令牌,以此类推,此处不再赘述。需要说明的是,由于本实施例中,每个令牌的存储信息还用于指示:该令牌是否为所述指令的最后一个令牌。因此,当获取到其中一个令牌的存储信息指示该令牌不是所述指令的最后一个令牌,则继续获取该令牌的下一个令牌的存储信息。当获取到其中一个令牌的存储信息指示该令牌是所述指令的最后一个令牌,则说明该指令下的所有令牌的存储信息都获取完,该令牌即为第K个令牌。
另外,每个令牌的存储信息还用于指示:该令牌是否为所述指令所属指令标识的最后一个令牌。若是,则说明该指令标识下的所有令牌均获取完,若否,则说明该指令标识下仍有其它指令的令牌没有获取完。
S208、根据获取所述指令的K个令牌的顺序,以及各个指令片段所读取的数据所对应的令牌,对所述K个令牌对应的数据进行重组,获得所述指令所读取的数据。
本实施例中,指令的指令片段的分割顺序决定了该指令的数据的重组顺序。在获取指令的K个令牌后,根据获取该K个令牌的顺序(即该指令的K个令牌的相对分配顺序),以及各个数据所对应的令牌,对该令牌对应的数据按照获取K个令牌的顺序进行重组,获得重组的数据,该重组的数据即为该指令所读取的正确数据。
本实施例中,通过在将指令分割为多个指令片段后,依次分配多个令牌后,并依次存储令牌还生成令牌的存储信息,每个令牌的存储信息用于指示:该令牌是否为所述指令的最后一个令牌、该令牌是否为所述指令所属指令标识对应的最后一个令牌以及所述指令中该令牌的下一个令牌的存储地址。通过该存储信息,可以根据令牌的分配顺序获取到该指令下的所有令牌,从而保证同一指令下的数据不会出错。无需按照令牌的分配顺序以FIFO的形式存储令牌,节省了存储资源,避免资源浪费。
在一些实施例中,所述每个令牌的存储信息为第一链表结构的存储信息;所述第一链表结构包括:第一存储指示、第二存储指示和第三存储指示;所述第一存储指示用于指示令牌是否为指令的最后一个令牌,所述第二存储指令用于指示令牌是否为所述指令所属指令标识对应的最后一个令牌,所述第三存储指令用于指示下一个令牌的存储地址。
可选地,所述第一链表结构还包括:第四存储指示,所述第四存储指示用于指示对应的存储资源是否已存储令牌。
在一些实施例中,上述S202的一种可能的实现方式可以包括如下所示S2021-S2023。
S2021、针对所述K个令牌中任意两个相邻的令牌,将K个令牌中的第i-1个令牌存储在空闲的第一存储资源中,并生成所述第i-1个令牌的存储信息,所述第i-1个令牌的存储信息中的第四存储指示用于指示对应的存储资源已存储令牌,第一存储指示用于指示所述第i-1个令牌不是所述指令的最后一个令牌,所述第二存储指令用于指示所述第i-1个令牌为指令所属指令标识对应的最后一个令牌,所述第三存储指示用于指示下一令牌的存储地址为预设存储地址;其中,i为大于等于2且小于等于K的整数。
S2022、将第i个令牌存储在空闲的第二存储资源中,并生成所述第i个令牌的存储信息,所述第i个令牌的存储信息中的第四存储指示用于指示对应的存储资源已存储令牌,所述第二存储指令用于指示所述第i个令牌为指令所属指令标识对应的最后一个令牌,所述第三存储指示用于下一个令牌的存储地址为预设存储地址,当i等于K时,第一存储指示用于指示所述第i个令牌为所述指令的最后一个令牌,当i不等于K时,第一存储指示用于指示所述第i个令牌不是所述指令的最后一个令牌;
S2023、将所述第i-1个令牌的存储信息中第二存储指示更改为指示所述第i-1个令牌不是指令所属指令标识对应的最后一个令牌,第三存储指示更改为指示下一令牌的存储地址为所述第二存储资源的地址。
可选地,空闲的第一存储资源与空闲的第二存储资源为空闲的相邻的存储资源。
相应地,在获取每个令牌之后,将该令牌的存储信息中的所述第三存储指示更改为预设存储地址。
可选地,在获取到该令牌之后,若该令牌的存储信息中的所述第一存储指示该令牌为指令的最后一个令牌,则将所述第一存储指令更改为指示该令牌不是指令的最后一个令牌。
可选地,在获取到该令牌之后,若将该令牌的存储信息中的所述第四存储指示由指示已存储令牌更改为指示未存储令牌。
可选地,在获取到该令牌之后,若该令牌的存储信息中的所述第二存储指示该令牌为指令标识对应的最后一个令牌,则将所述第二存储指令更改为指示该令牌不是指令标识对应的最后一个令牌。
因此,本实施例采用链表的形式来保存令牌的存储信息,可以显著减少现有技术中所需的令牌存储资源。
在一些实施例中,所述令牌读取信息为第二链表结构的令牌读取信息,所述第二链表结构包括第一读取指示,所述第一读取指示用于指示所述指令所属指令标识对应的第一个令牌的存储地址。
可选地,所述第二链表结构还包括:第二读取指示,所述第二读取指示用于指示是否已存储所述指令所属指令标识对应的令牌。
可选地,所述生成所述指令的令牌读取信息的一种可能的实现方式为:在存储所述指令的第一个令牌之后,生成所述指令标识的令牌读取信息;其中,所述令牌读取信息中的第二读取指示用于指示已存储所述指令的令牌,所述第一读取指示用于指示所述第一个令牌的存储地址。若该指令为所属指令标识对应的当前存储的第一个指令,在存储该指令的第一令牌之后,还生成上述指令标识的令牌读取信息,而在存储指令的其它令牌后,保持该指令标识的令牌读取信息不变。
相应地,在读取K个令牌时,若所述K个令牌中一个令牌的存储信息中第二存储指示指示该令牌为所述指令标识对应的最后一个令牌,则将所述第一读取指示更改为指示预设存储地址;若所述K个令牌中每个令牌的存储信息中第二存储指示该令牌不是所述指令标识对应的最后一个令牌,则将所述第一读取指示更改为指示第一存储地址;所述第一存储地址为:与指示令牌为指令的最后一个令牌的第一存储指示属于同一存储信息的第三存储指示,所指示的存储地址。
可选地,若所述K个令牌中一个令牌的存储信息中第二存储指示指示该令牌为所述指令标识对应的最后一个令牌,则将所述第二读取指示更改为指示未存储所述指令的令牌。
因此,本实施例采用链表的形式来保存指令标识的令牌读取信息,可以显著减少现有技术中所需的令牌存储资源。
在一些实施例中,在上述将K个令牌中的第i-1个令牌存储在空闲的第一存储资源中之后,还生成所述指令所属指令标识的令牌写入信息,所述令牌写入信息用于指示所述指令标识对应最近存储的令牌的存储地址为所述第一存储资源的地址。相应地,所述将第i个令牌存储在空闲的第二存储资源中的一种实现方式为:根据所述令牌写入信息,确定空闲的第二存储资源;并将所述第i个令牌存储在空闲的第二存储资源中。
而且,将第i个令牌存储在空闲的第二存储资源中之后,还更新所述令牌写入信息,更新后的令牌写入信息用于指示所述指令标识对应最近存储的令牌的存储地址为所述第二存储资源的地址。
可选地,所述令牌写入信息为第三链表结构的令牌写入信息,所述第三链表结构包括写入指示,所述写入指示用于指示所述指令标识对应最近存储的令牌的存储地址。
相应地,在读取K个令牌时,若所述K个令牌中一个令牌的存储信息中第二存储指示指示该令牌为所述指令标识的最后一个令牌,则将所述指令标识的令牌写入信息更改为指示所述指令标识对应的最近存储的令牌的存储地址为预设存储地址。
因此,本实施例采用链表的形式来保存指令标识的令牌写入信息,可以显著减少现有技术中所需的令牌存储资源。
需要说明的是,第一链表结构、第二链表结构、第三链表结构可以保存在同一链表中,也可以保存在不同的链表中。
下面举例分别对存储指令的令牌,以及获取指令的令牌的过程进行描述。下面以第一链表结构的令牌的存储信息为令牌存储结构、第二链表结构的指令标识的令牌读取信息为ID读指针存储结构、第三链表结构的指令标识的令牌写入信息为ID写指针存储结构为例进行示意。下面所述的ID表示的是指令所属指令标识。
图3为本发明实施例提供的令牌存储结构、ID读指针存储结构、ID写指针存储结构的示意图,如图3所示,在令牌存储结构中,令牌存储结构包括:flag、ind、last、token、next_ptr,其中,flag用于表示同一行中的token是否已存储令牌,例如:flag等于1表示已存储,flag等于0表示未存储。ind表示同一行中的token存储的令牌是否为某个ID的最后一个令牌,例如:ind等于0表示不是,ind等于1表示是。last表示同一行中的token存储的令牌是否为一个指令的最后一个令牌。token用于存储令牌。next_ptr表示相对相同ID的本令牌的下一个令牌的存储位置指针。
在ID读指针存储结构中,以ID作为寻址,即ID=0对应0地址,ID=1对应1地址,ID=2对应2地址,ID=3对应3地址,依次类推。ID读指针存储结构包括:flag、rd_ptr。flag表示本ID之前是否存在有效令牌,flag等于1表示存在,flag等于0表示不存在。rd_ptr用于指向本ID下次要读的令牌的存储地址。
在ID写指针存储结构中,以ID作为寻址,即ID=0对应0地址,ID=1对应1地址,ID=2对应2地址,ID=3对应3地址,依次类推。ID写指针存储结构包括:wr_ptr。wr_ptr用于指向本ID最新令牌的存储地址。
需要说明的是,虽然图3中以不同的链表来示出令牌存储结构、ID读指针存储结构、ID写指针存储结构,但本实施例并不限于此。在一些实施例中,令牌存储结构、ID读指针存储结构、ID写指针存储结构中的至少一个可以保存在同一链表中。
其中,ID的可能个数是可以根据系统架构和方案预先确定的,但是ID的取值是不可以加以控制的,所以当ID个数为N个,但是其取值不固定是0~N-1,所以可以将N个不同的ID值映射到0~N-1编号上,后续用此编号作为内部ID,在恢复AXI读数据通道的RID信号时,需要将ID编号映射成相应的ID取值。下文提到的ID值都是指0~N-1中的编号信息。
图4为本发明实施例提供的初始化时令牌存储结构、ID读指针存储结构、ID写指针存储结构的示意图,如图4所示,上述的各参数均为0。
下面基于初始化为图4所示,对令牌的存储过程进行描述。
S301、接收到5个读指令,分别为指令0-4,对每个指令进行分割。指令0分割为4个指令片段,对应产生4个令牌,分别为60-63。指令1分割为3个指令片段,对应产生3个令牌,分别为57-59。指令2分割为5个指令片段,对应产生5个令牌,分别为52-56。指令3分割为3个指令片段,对应产生3个令牌,分别为49-51。指令4分割为4个指令片段,对应产生4个令牌,分别为45-48,例如如图5所示。
S302、存储指令0的4个令牌,指令0的ID例如为0。如图6所示,图6为本发明实施例提供的存储指令0的4个令牌的示意图。其中,指令0分割为4个DDR器件指令,所分配的令牌分别为63,62,61,60。
S3021、存储令牌63:根据令牌存储结构中的flag,找到flag等于0,将令牌63写入这一行的令牌存储结构中的token,并将这行的flag置为1,由于ID为0暂时只写入这一个令牌,该令牌63可以认为是存储的该ID的最后一个令牌,并将该int置为1。并且该令牌63并不是指令的最后一个令牌,所以将last置为0。再根据ID=0所指向的读指针存储结构中flag=0,将该flag置为1,并将这一行的rd_ptr更新为令牌63所存储的指针位置,即是0。由于令牌63的位置指针为0,所以将ID=0所指向的写指针存储结构中的wr_ptr更新为0;执行后示意结果见图6中的步骤A。
S3022、存储令牌62:找到令牌63的位置指针为0的下一个位置指针(即位置指针为1),并且这个位置指针对应的flag为0,因此,可以找到第二行的令牌存储结构,然后将令牌62写入第二行的令牌存储结构中,并将该令牌存储结构中的flag由0置为1,并将第二行中的ind置为1。并且该令牌62并不是指令的最后一个令牌,所以将last置为0。根据ID=0所指向的写指针存储结构中wr_ptr为0,说明正在存储ID=0对应的令牌,而且第一行中的令牌也是ID=0的令牌,并且第二行中的令牌是ID=0的最新的令牌,所以将第一行中的ind置为0。另外第二行中的令牌是第一行中的令牌的下一个令牌,而且第二行的位置指针为1,所以将第一行中的next_ptr更新为1。另外,ID=0所指向的读指针存储结构中flag=1,则不更新读指针存储结构。由于现在存储的是ID=0的令牌,并且令牌的位置指针为1,所以ID=0所指向的写指针存储结构中的wr_ptr更新为1,执行后如步骤B。
S3023、存储令牌61:找到令牌62的位置指针为1的下一个位置指针(即位置指针为2),并且这个位置指针对应的flag为0,因此,可以找到第三行的令牌存储结构,然后将令牌61写入第三行的令牌存储结构中,并将该令牌存储结构中的flag由0置为1,并将第三行中的ind置为1。并且该令牌61并不是指令的最后一个令牌,所以将last置为0。根据ID=0所指向的写指针存储结构中wr_ptr为0,说明正在存储ID=0对应的令牌,而且第二行中的令牌也是ID=0的令牌,并且第三行中的令牌是ID=0的最新的令牌,所以将第二行中的ind置为0。另外第三行中的令牌是第二行中的令牌的下一个令牌,而且第三行的指针为2,所以将第二行中的next_ptr更新为2。另外,ID=0所指向的读指针存储结构中flag=1,则不更新读指针存储结构。由于现在存储的是ID=0的令牌,并且令牌的位置指针为2,所以ID=0所指向的写指针存储结构中的wr_ptr更新为2,执行后如步骤C。
S3024、存储令牌60:找到令牌61的位置指针为1的下一个位置指针(即位置指针为3),并且这个位置指针对应的flag为0,因此,可以找到第四行的令牌存储结构,然后将令牌60写入第四行的令牌存储结构中,并将该令牌存储结构中的flag由0置为1,并将第四行中的ind置为1。并且该令牌60是指令的最后一个令牌,所以将last置为1。根据ID=0所指向的写指针存储结构中wr_ptr为0,说明正在存储ID=0对应的令牌,而且第三行中的令牌也是ID=0的令牌,并且第四行中的令牌是ID=0的最新的令牌,所以将第三行中的ind置为0。另外第四行中的令牌是第三行中的令牌的下一个令牌,而且第四行的指针为3,所以将第三行中的next_ptr更新为3。另外,ID=0所指向的读指针存储结构中flag=1,则不更新读指针存储结构。由于现在存储的是ID=0的令牌,并且令牌的位置指针为3,所以ID=0所指向的写指针存储结构中的wr_ptr更新为3,执行后如步骤D。
S303、存储指令1的3个令牌,指令1的ID例如为1。如图7所示,图7为本发明实施例提供的存储指令1的3个令牌的示意图。其中,指令1分割为3个指令片段,所分配的令牌分别为59,58,57。
S3031、存储令牌59:根据令牌存储结构中的flag,找到空闲的位置指针为4,将令牌59写入这一行的令牌存储结构中的token,并将这行的flag置为1,由于ID为1暂时只写入这一个令牌,该令牌59可以认为是存储的该ID的最后一个令牌,并将该int置为1。并且该令牌59并不是指令的最后一个令牌,所以将last置为0。再根据ID=1所指向的读指针存储结构中flag=0,将该flag置为1,并将这一行的rd_ptr更新为令牌59所存储的指针位置,即是4。将ID=1所指向的写指针存储结构中的wr_ptr更新为4;执行后示意结果见图7中的步骤A。
S3032、存储令牌58:找到令牌59的位置指针为4的下一个位置指针(即位置指针为5),并且这个位置指针对应的flag为0,因此,可以找到第六行的令牌存储结构,然后将令牌58写入第六行的令牌存储结构中,并将该令牌存储结构中的flag由0置为1,并将第六行中的ind置为1。并且该令牌58并不是指令的最后一个令牌,所以将last置为0。根据ID=1所指向的写指针存储结构中wr_ptr为4,说明上一次在位置指针为4的位置写入了令牌,所以将第五行中的ind置为0。另外第六行中的令牌是第五行中的令牌的下一个令牌,而且第六行的位置指针为5,所以将第五行中的next_ptr更新为5。另外,ID=1所指向的读指针存储结构中flag=1,则不更新读指针存储结构。由于现在存储的是ID=1的令牌,并且令牌的位置指针为5,所以ID=1所指向的写指针存储结构中的wr_ptr更新为5,执行后如步骤B。
S3033、存储令牌57:找到令牌58的位置指针为5的下一个位置指针(即位置指针为6),并且这个位置指针对应的flag为0,因此,可以找到第七行的令牌存储结构,然后将令牌57写入第七行的令牌存储结构中,并将该令牌存储结构中的flag由0置为1,并将第七行中的ind置为1。并且该令牌57是指令的最后一个令牌,所以将last置为1。根据ID=1所指向的写指针存储结构中wr_ptr为5,将第六行中的ind置为0。另外第七行中的令牌是第六行中的令牌的下一个令牌,而且第七行的指针为6,所以将第六行中的next_ptr更新为6。另外,ID=1所指向的读指针存储结构中flag=1,则不更新读指针存储结构。由于现在存储的是ID=1的令牌,并且令牌的位置指针为6,所以ID=1所指向的写指针存储结构中的wr_ptr更新为6,执行后如步骤C。
S304、存储指令2的5个令牌,指令2的ID例如为0。如图8所示,图8为本发明实施例提供的存储指令2的5个令牌的示意图。其中,指令2分割为5个指令片段,所分配的令牌分别为56,55,54,53,52。
S3041、存储令牌56:根据令牌存储结构中的flag,找到空闲的位置指针为7,将令牌56写入这一行的令牌存储结构中的token,并将这行的flag置为1,由于ID为1暂时只写入这一个令牌,该令牌56可以认为是存储的该ID的最后一个令牌,并将该int置为1。并且该令牌56并不是指令的最后一个令牌,所以将last置为0。根据ID=0所指向的写指针存储结构中wr_ptr为3,说明上一次在位置指针为3的位置写入了该ID的令牌,所以将第4行中的ind置为0。另外第八行中的令牌是第四行中的令牌的下一个令牌,而且第八行的位置指针为7,所以将第四行中的next_ptr更新为7。另外,ID=0所指向的读指针存储结构中flag=1,则不更新读指针存储结构。由于现在存储的是ID=0的令牌,并且令牌的位置指针为7,所以ID=0所指向的写指针存储结构中的wr_ptr更新为7,执行后如步骤A。
S3042、存储令牌55:找到令牌56的位置指针为7的下一个位置指针(即位置指针为8),并且这个位置指针对应的flag为0,因此,可以找到第九行的令牌存储结构,然后将令牌55写入第九行的令牌存储结构中,并将该令牌存储结构中的flag由0置为1,并将第九行中的ind置为1。并且该令牌55并不是指令的最后一个令牌,所以将last置为0。根据ID=0所指向的写指针存储结构中wr_ptr为7,将第八行中的ind置为0。另外第九行中的令牌是第八行中的令牌的下一个令牌,而且第九行的位置指针为8,所以将第八行中的next_ptr更新为8。另外,ID=0所指向的读指针存储结构中flag=1,则不更新读指针存储结构。由于现在存储的是ID=0的令牌,并且令牌的位置指针为8,所以ID=0所指向的写指针存储结构中的wr_ptr更新为8,执行后如步骤B。
S3043、存储令牌54:找到令牌55的位置指针为8的下一个位置指针(即位置指针为9),并且这个位置指针对应的flag为0,因此,可以找到第十行的令牌存储结构,然后将令牌54写入第十行的令牌存储结构中,并将该令牌存储结构中的flag由0置为1,并将第十行中的ind置为1。并且该令牌54并不是指令的最后一个令牌,所以将last置为0。根据ID=0所指向的写指针存储结构中wr_ptr为8,将第九行中的ind置为0。另外第十行中的令牌是第九行中的令牌的下一个令牌,而且第十行的位置指针为9,所以将第九行中的next_ptr更新为9。另外,ID=0所指向的读指针存储结构中flag=1,则不更新读指针存储结构。由于现在存储的是ID=0的令牌,并且令牌的位置指针为9,所以ID=0所指向的写指针存储结构中的wr_ptr更新为9,执行后如步骤C。
S3044、存储令牌53:找到令牌54的位置指针为9的下一个位置指针(即位置指针为10),并且这个位置指针对应的flag为0,因此,可以找到第十一行的令牌存储结构,然后将令牌53写入第十一行的令牌存储结构中,并将该令牌存储结构中的flag由0置为1,并将第十一行中的ind置为1。并且该令牌53并不是指令的最后一个令牌,所以将last置为0。根据ID=0所指向的写指针存储结构中wr_ptr为9,将第十行中的ind置为0。另外第十一行中的令牌是第十行中的令牌的下一个令牌,而且第十一行的位置指针为10,所以将第十行中的next_ptr更新为10。另外,ID=0所指向的读指针存储结构中flag=1,则不更新读指针存储结构。由于现在存储的是ID=0的令牌,并且令牌的位置指针为10,所以ID=0所指向的写指针存储结构中的wr_ptr更新为10,执行后如步骤D。
S3045、存储令牌52:找到令牌53的位置指针为10的下一个位置指针(即位置指针为11),并且这个位置指针对应的flag为0,因此,可以找到第十二行的令牌存储结构,然后将令牌52写入第十二行的令牌存储结构中,并将该令牌存储结构中的flag由0置为1,并将第十二行中的ind置为1。并且该令牌52是指令的最后一个令牌,所以将last置为1。根据ID=0所指向的写指针存储结构中wr_ptr为10,将第十一行中的ind置为0。另外第十二行中的令牌是第十一行中的令牌的下一个令牌,而且第十二行的位置指针为11,所以将第十一行中的next_ptr更新为11。另外,ID=0所指向的读指针存储结构中flag=1,则不更新读指针存储结构。由于现在存储的是ID=0的令牌,并且令牌的位置指针为11,所以ID=0所指向的写指针存储结构中的wr_ptr更新为11,执行后如步骤D。
其它的指令的令牌存储类似处理,此处不再赘述。
DDR控制器在保存令牌后,对指令进行优化发送给DDR器件,当DDR器件按DDR控制器优化后指令执行顺序返回读数据时,此时令牌顺序同样在DDR控制器内进行了调整,DDR控制器为每个返回数据恢复对应的令牌信息。
将返回的读数据先写入Read Reorder Buff中,并将写地址信息使用令牌信息进行保存,供后续读数据使用,并为返回的令牌做好标记信息,例如如图9所示。
下面对DDR控制器在接收上述指令0-2后,分割为指令片段并发送给DDR器件后,再接收DDR器件返回数据的过程进行描述。
S401、接收指令0对应的返回数据,如图10所示。
由于指令0的ID为0,所以查询读指针存储结构,确定初始读指针为0(即读指针存储结构中第一行中的rd_ptr)。由于ID=0的初始读指针为0,指向令牌存储结构中位置指针=0,即第一行中的令牌存储结构,可以得到相应的令牌为63,DDR控制器判断令牌63相关的令牌(令牌63-60,即属于同一指令的令牌)对应的数据已经返回,然后开始读Read ReorderBuff,根据令牌存储结构以及ID=0的读指针信息为0,以及第四行中的last为1,可以推断出需要读令牌存储结构的位置指针为0,1,2,3,从而读取令牌63,62,61,60,然后将令牌存储结构中位置指针0,1,2,3对应的flag置为0,即将第一、二、三、四行中的flag置为0,释放令牌存储结构,然后再用令牌63,62,61,60查询得到Read Reorder Buff的读地址,从而可以得到正确的指令0的数据。由于令牌63,62,61,60对应的令牌存储结构中int不为1,说明ID=0的令牌还没有释放完,所以ID读指针存储结构中对应ID=0的flag不能清零。当读完令牌63,62,61,60对应的数据后,需要将ID读指针存储结构中对应ID=0的rd_ptr更新为7,用于指向本ID在令牌存储结构中的下次读操作的初始指针位置。
S402、接收指令1对应的返回数据,如图11所示。
由于指令1的ID为1,所以查询读指针存储结构,确定初始读指针为4(即读指针存储结构中第二行中的rd_ptr)。由于ID=1的初始读指针为4,指向令牌存储结构中位置指针=4,即第五行中的令牌存储结构,可以得到相应的令牌为59,DDR控制器判断令牌59相关的令牌(令牌59-57,即属于同一指令的令牌)对应的数据已经返回,然后开始读Read ReorderBuff,根据令牌存储结构以及ID=1的读指针信息为4,以及第七行中的last为1,可以推断出需要读令牌存储结构的位置指针为4,5,6,从而读取令牌59,58,57,然后将令牌存储结构中位置指针4,5,6对应的flag置为0,即将第五、六、七行中的flag置为0,释放令牌存储结构,然后再用令牌59,58,57查询得到Read Reorder Buff的读地址,从而可以得到正确的指令1的数据。由于令牌59,58,57对应的令牌存储结构中令牌57对应的int为1,说明ID=1的令牌全部释放完,所以ID读指针存储结构中对应ID=1的flag需要清零,并将rd_ptr改为0。另外,还要将ID写指针存储结构中ID=1的wr_ptr清零。
S403、接收指令2对应的返回数据,如图12所示。
由于指令2的ID为0,所以查询读指针存储结构,确定初始读指针为7(即读指针存储结构中第八行中的rd_ptr)。由于ID=0的初始读指针为7,指向令牌存储结构中位置指针=7,即第八行中的令牌存储结构,可以得到相应的令牌为56,DDR控制器判断令牌56相关的令牌(令牌56-52,即属于同一指令的令牌)对应的数据已经返回,然后开始读Read ReorderBuff,根据令牌存储结构以及ID=0的读指针信息为7,以及第十二行中的last为1,可以推断出需要读令牌存储结构的位置指针为7,8,9,10,11从而读取令牌56,55,54,53,52,然后将令牌存储结构中位置指针7,8,9,10,11对应的flag置为0,即将第八、九、十、十一、十二行中的flag置为0,释放令牌存储结构,然后再用令牌56,55,54,53,52查询得到Read ReorderBuff的读地址,从而可以得到正确的指令2的数据。由于令牌56,55,54,53,52对应的令牌存储结构中52对应的int为1,说明ID=0的令牌全部释放完,所以ID读指针存储结构中对应ID=0的flag需要清零并将rd_ptr置为0。当读完令牌56,55,54,53,52对应的数据后,需要将ID读指针存储结构中对应ID=0的rd_ptr清零。
可选地,如果发生在令牌读取释放过程又有新的ID或者已有ID有新的令牌需要保存,那么就需要同时修改对应ID的读、写指针信息,并更新指针指向的令牌存储资源中的flag、ind以及next_ptr信息。
通过上述方案,本发明实施例需要用于存储上述令牌存储结构、ID读指针存储结构、ID写指针存储结构的存储资源分别如下所示:
令牌存储资源:2M*(1+1+1+M+M)bit
ID读指针存储资源:N*M bit
ID写指针存储资源:N*M bit
而采用背景技术中所提成的现有技术需要的存储资源为:N*2M*M bit。
其中,N为上述指令的ID的个数,2M为DDR器件的指令CAM深度。
下表中数值为本提案相对现有技术节省的存储资源:
N/M | 4 | 5 | 6 | 7 |
4 | 48bit | 184bit | 528bit | 1352bit |
8 | 272bit | 784bit | 2016bit | 4880bit |
16 | 720bit | 1984bit | 4992bit | 11936bit |
32 | 1616bit | 4384bit | 10994bit | 26048bit |
本发明实施例相对于现有技术具有如下改进:多个ID共享令牌存储资源,相对现有技术按ID独自存储令牌,大大减少了逻辑存储资源。
图13为本发明一实施例提供的令牌管理装置的结构示意图,如图13所示,本实施例的令牌管理装置1300可以包括:存储器1301和处理器1302。
所述存储器1301,用于存储程序代码;
所述处理器1302,用于调用所述存储器1301中存储的所述代码,执行:
将接收的指令分割为K个指令片段,并为每个指令片段依次分配令牌;
按照分配顺序存储K个令牌,并生成每个令牌的存储信息;
对所述K个指令片段重新排序,并发送重新排序后的K个指令片段;
其中,每个令牌的存储信息用于指示:该令牌是否为所述指令的最后一个令牌、该令牌是否为所述指令所属指令标识对应的最后一个令牌以及所述指令中该令牌的下一个令牌的存储地址。
在一些实施例中,所述处理器1302,还用于:
若所述指令为所属指令标识对应的当前存储的第一个指令,则生成所述指令标识的令牌读取信息;
所述令牌读取信息用于指示所述指令所属指令标识对应的当前存储的第一个令牌的存储地址。
在一些实施例中,所述每个令牌的存储信息为第一链表结构的存储信息;所述第一链表结构包括:第一存储指示、第二存储指示和第三存储指示;所述第一存储指示用于指示令牌是否为指令的最后一个令牌,所述第二存储指令用于指示令牌是否为所述指令所属指令标识对应的最后一个令牌,所述第三存储指令用于指示下一个令牌的存储地址。
在一些实施例中,所述第一链表结构还包括:第四存储指示,所述第四存储指示用于指示对应的存储资源是否已存储令牌。
在一些实施例中,所述处理器1302,具体用于:
针对所述K个令牌中任意两个相邻的令牌,将K个令牌中的第i-1个令牌存储在空闲的第一存储资源中,并生成所述第i-1个令牌的存储信息,所述第i-1个令牌的存储信息中的第四存储指示用于指示对应的存储资源已存储令牌,第一存储指示用于指示所述第i-1个令牌不是所述指令的最后一个令牌,所述第二存储指令用于指示所述第i-1个令牌为指令所属指令标识对应的最后一个令牌,所述第三存储指示用于指示下一令牌的存储地址为预设存储地址;
将第i个令牌存储在空闲的第二存储资源中,并生成所述第i个令牌的存储信息,所述第i个令牌的存储信息中的第四存储指示用于指示对应的存储资源已存储令牌,所述第二存储指令用于指示所述第i个令牌为指令所属指令标识对应的最后一个令牌,所述第三存储指示用于下一个令牌的存储地址为预设存储地址,当i等于K时,第一存储指示用于指示所述第i个令牌为所述指令的最后一个令牌,当i不等于K时,第一存储指示用于指示所述第i个令牌不是所述指令的最后一个令牌;
将所述第i-1个令牌的存储信息中第二存储指示更改为指示所述第i-1个令牌不是指令所属指令标识对应的最后一个令牌,第三存储指示更改为指示下一令牌的存储地址为所述第二存储资源的地址;
其中,i为大于等于2且小于等于K的整数。
在一些实施例中,空闲的第一存储资源与空闲的第二存储资源为空闲的相邻的存储资源。
在一些实施例中,所述令牌读取信息为第二链表结构的令牌读取信息,所述第二链表结构包括第一读取指示,所述第一读取指示用于指示所述指令所属指令标识对应的第一个令牌的存储地址。
在一些实施例中,所述第二链表结构还包括:第二读取指示,所述第二读取指示用于指示是否已存储所述指令所属指令标识对应的令牌。
在一些实施例中,所述处理器1302,具体用于:
在存储所述指令的第一个令牌之后,生成所述指令标识的令牌读取信息;
其中,所述令牌读取信息中的第二读取指示用于指示已存储所述指令的令牌,所述第一读取指示用于指示所述第一个令牌的存储地址。
在一些实施例中,所述处理器1302,在将K个令牌中的第i-1个令牌存储在空闲的第一存储资源中之后,还用于:生成所述指令所属指令标识的令牌写入信息,所述令牌写入信息用于指示所述指令标识对应最近存储的令牌的存储地址为所述第一存储资源的地址;
所述处理器1302在将第i个令牌存储在空闲的第二存储资源中时,具体用于:根据所述令牌写入信息,确定空闲的第二存储资源;并将所述第i个令牌存储在空闲的第二存储资源中;
所述处理器1302,还用于将第i个令牌存储在空闲的第二存储资源中之后,更新所述令牌写入信息,更新后的令牌写入信息用于指示所述指令标识对应最近存储的令牌的存储地址为所述第二存储资源的地址。
在一些实施例中,所述令牌写入信息为第三链表结构的令牌写入信息,所述第三链表结构包括写入指示,所述写入指示用于指示所述指令标识对应最近存储的令牌的存储地址。
本实施例的令牌管理装置,可以用于执行本发明上述方法实施例的有关存储令牌的技术方案,其实现原理和技术效果类似,此处不再赘述。
图14为本发明另一实施例提供的令牌管理装置的结构示意图,如图14所示,本实施例的令牌管理装置1400可以包括:存储器1401和处理器1402。
所述存储器1401,用于存储程序代码;
所述处理器1402,用于调用所述存储器1401中存储的所述代码,执行:
接收多个指令片段中每个指令片段所读取的数据,所述多个指令片段包括K个指令片段,所述K个指令片段为一个指令的重新排序后的所有指令片段;
确定各个指令片段所读取的数据所对应的令牌;
根据所述指令所属指令标识的令牌读取信息,将所述令牌读取信息指示的存储地址确定为所述指令的第一个令牌的存储地址,并根据所述第一个令牌的存储地址,获取所述第一个令牌;
根据所述第一个令牌的存储信息,依次获取所述指令的其它K-1个令牌的存储信息;
依次根据所述K-1个令牌的存储信息,获取其它K-1个令牌;
根据获取所述指令的K个令牌的顺序,以及各个指令片段所读取的数据所对应的令牌,对所述K个令牌对应的数据进行重组,获得所述指令所读取的数据;
其中,每个令牌的存储信息用于指示:该令牌是否为所述指令的最后一个令牌、该令牌是否为所述指令所属指令标识对应的最后一个令牌以及所述指令中该令牌的下一个令牌的存储地址;
所述令牌读取信息用于指示所述指令所属指令标识对应的当前存储的第一个令牌的存储地址。
在一些实施例中,所述每个令牌的存储信息为第一链表结构的存储信息;所述第一链表结构包括:第一存储指示、第二存储指示和第三存储指示;所述第一存储指示用于指示令牌是否为指令的最后一个令牌,所述第二存储指示用于指示令牌是否为所述指令所属指令标识对应的最后一个令牌,所述第三存储指令用于指示下一个令牌的存储地址。
在一些实施例中,所述处理器1402还用于:针对每个令牌的存储信息,在获取到该令牌之后,将该令牌的存储信息中的所述第三存储指示更改为预设存储地址。
在一些实施例中,所述处理器1402还用于:针对每个令牌的存储信息,在获取到该令牌之后,若该令牌的存储信息中的所述第一存储指示该令牌为指令的最后一个令牌,则将所述第一存储指令更改为指示该令牌不是指令的最后一个令牌。
在一些实施例中,所述第一链表结构还包括:第四存储指示,所述第四存储指示用于指示对应的存储资源是否已存储令牌。
在一些实施例中,所述处理器1402还用于:针对每个令牌的存储信息,在获取到该令牌之后,若将该令牌的存储信息中的所述第四存储指示由指示已存储令牌更改为指示未存储令牌。
在一些实施例中,所述处理器1402还用于:针对每个令牌的存储信息,在获取到该令牌之后,若该令牌的存储信息中的所述第二存储指示该令牌为指令标识对应的最后一个令牌,则将所述第二存储指令更改为指示该令牌不是指令标识对应的最后一个令牌。
在一些实施例中,所述令牌读取信息为第二链表结构的令牌读取信息,所述第二链表结构包括第一读取指示,所述第一读取指示用于指示所述指令的第一个令牌的存储地址。
在一些实施例中,所述处理器1402还用于:
若所述K个令牌中一个令牌的存储信息中第二存储指示指示该令牌为所述指令标识对应的最后一个令牌,则将所述第一读取指示更改为指示预设存储地址;
若所述K个令牌中每个令牌的存储信息中第二存储指示该令牌不是所述指令标识对应的最后一个令牌,则将所述第一读取指示更改为指示第一存储地址;所述第一存储地址为:与指示令牌为指令的最后一个令牌的第一存储指示属于同一存储信息的第三存储指示,所指示的存储地址。
在一些实施例中,所述第二链表结构还包括:第二读取指示,所述第二读取指示用于指示是否已存储所述指令的令牌。
在一些实施例中,所述处理器1402还用于:若所述K个令牌中一个令牌的存储信息中第二存储指示指示该令牌为所述指令标识对应的最后一个令牌,则将所述第二读取指示更改为指示未存储所述指令的令牌。
在一些实施例中,所述处理器1402还用于:若所述K个令牌中一个令牌的存储信息中第二存储指示指示该令牌为所述指令标识的最后一个令牌,则将所述指令标识的令牌写入信息更改为指示所述指令标识对应的最近存储的令牌的存储地址为预设存储地址。
在一些实施例中,所述令牌写入信息为第三链表结构的令牌写入信息,所述第三链表结构包括写入指示,所述写入指示用于指示所述指令标识对应的最近存储的令牌的存储地址。
本实施例的令牌管理装置,可以用于执行本发明上述方法实施例的有关读取令牌的技术方案,其实现原理和技术效果类似,此处不再赘述。
图15为本发明一实施例提供的芯片的结构示意图,如图15所示,本实施例的芯片1500可以包括:DDR控制器1501和DDR器件1502。
其中,所述DDR控制器1501,用于执行上述各方法实施例中的令牌管理方法;
其中,所述DDR器件1502,用于接收所述DDR器件发送的重新排序后的多个指令片段,并向所述DDR控制器发送每个指令片段所读取的数据。
本实施例的芯片,可以用于执行本发明上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图16为本发明一实施例提供的可移动平台的结构示意图,如图16所示,本实施例的可移动平台1600可以包括:机身1601、云台1602以及成像装置1603,所述成像装置1603通过所述云台1602与所述机身1601连接。
其中,所述机身1601内包括芯片1604,其中,芯片可以采用图15所示实施例的结构,对应可执行本发明上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
其中,所述芯片1604还与所述成像装置1603连接,所述芯片1604还用于处理所述成像装置1603采集的图像数据。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:只读内存(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (27)
1.一种令牌管理方法,其特征在于,包括:
将接收的指令分割为K个指令片段,并为每个指令片段依次分配令牌;
按照分配顺序存储K个令牌,并生成每个令牌的存储信息;
对所述K个指令片段重新排序,并发送重新排序后的K个指令片段;
其中,每个令牌的存储信息用于指示:该令牌是否为所述指令的最后一个令牌、该令牌是否为所述指令所属指令标识对应的最后一个令牌以及所述指令中该令牌的下一个令牌的存储地址。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述指令为所属指令标识对应的当前存储的第一个指令,则生成所述指令标识的令牌读取信息;
所述令牌读取信息用于指示所述指令所属指令标识对应的当前存储的第一个令牌的存储地址。
3.根据权利要求1或2所述的方法,其特征在于,所述每个令牌的存储信息为第一链表结构的存储信息;所述第一链表结构包括:第一存储指示、第二存储指示和第三存储指示;所述第一存储指示用于指示令牌是否为指令的最后一个令牌,所述第二存储指令用于指示令牌是否为所述指令所属指令标识对应的最后一个令牌,所述第三存储指令用于指示下一个令牌的存储地址。
4.根据权利要求3所述的方法,其特征在于,所述第一链表结构还包括:第四存储指示,所述第四存储指示用于指示对应的存储资源是否已存储令牌。
5.根据权利要求4所述的方法,其特征在于,所述按照分配顺序存储K个令牌,并生成每个令牌的存储信息,包括:
针对所述K个令牌中任意两个相邻的令牌,将K个令牌中的第i-1个令牌存储在空闲的第一存储资源中,并生成所述第i-1个令牌的存储信息,所述第i-1个令牌的存储信息中的第四存储指示用于指示对应的存储资源已存储令牌,第一存储指示用于指示所述第i-1个令牌不是所述指令的最后一个令牌,所述第二存储指令用于指示所述第i-1个令牌为指令所属指令标识对应的最后一个令牌,所述第三存储指示用于指示下一令牌的存储地址为预设存储地址;
将第i个令牌存储在空闲的第二存储资源中,并生成所述第i个令牌的存储信息,所述第i个令牌的存储信息中的第四存储指示用于指示对应的存储资源已存储令牌,所述第二存储指令用于指示所述第i个令牌为指令所属指令标识对应的最后一个令牌,所述第三存储指示用于下一个令牌的存储地址为预设存储地址,当i等于K时,第一存储指示用于指示所述第i个令牌为所述指令的最后一个令牌,当i不等于K时,第一存储指示用于指示所述第i个令牌不是所述指令的最后一个令牌;
将所述第i-1个令牌的存储信息中第二存储指示更改为指示所述第i-1个令牌不是指令所属指令标识对应的最后一个令牌,第三存储指示更改为指示下一令牌的存储地址为所述第二存储资源的地址;
其中,i为大于等于2且小于等于K的整数。
6.根据权利要求5所述的方法,其特征在于,空闲的第一存储资源与空闲的第二存储资源为空闲的相邻的存储资源。
7.根据权利要求2所述的方法,其特征在于,所述令牌读取信息为第二链表结构的令牌读取信息,所述第二链表结构包括第一读取指示,所述第一读取指示用于指示所述指令所属指令标识对应的第一个令牌的存储地址。
8.根据权利要求7所述的方法,其特征在于,所述第二链表结构还包括:第二读取指示,所述第二读取指示用于指示是否已存储所述指令所属指令标识对应的令牌。
9.根据权利要求8所述的方法,其特征在于,生成所述指令标识的令牌读取信息,包括:
在存储所述指令的第一个令牌之后,生成所述指令标识的令牌读取信息;
其中,所述令牌读取信息中的第二读取指示用于指示已存储所述指令的令牌,所述第一读取指示用于指示所述第一个令牌的存储地址。
10.根据权利要求6所述的方法,其特征在于,所述将K个令牌中的第i-1个令牌存储在空闲的第一存储资源中之后,还包括:
生成所述指令所属指令标识的令牌写入信息,所述令牌写入信息用于指示所述指令标识对应最近存储的令牌的存储地址为所述第一存储资源的地址;
所述将第i个令牌存储在空闲的第二存储资源中,包括:根据所述令牌写入信息,确定空闲的第二存储资源;并将所述第i个令牌存储在空闲的第二存储资源中;
所述将第i个令牌存储在空闲的第二存储资源中之后,还包括:更新所述令牌写入信息,更新后的令牌写入信息用于指示所述指令标识对应最近存储的令牌的存储地址为所述第二存储资源的地址。
11.根据权利要求10所述的方法,其特征在于,所述令牌写入信息为第三链表结构的令牌写入信息,所述第三链表结构包括写入指示,所述写入指示用于指示所述指令标识对应最近存储的令牌的存储地址。
12.一种令牌管理方法,其特征在于,包括:
接收多个指令片段中每个指令片段所读取的数据,所述多个指令片段包括K个指令片段,所述K个指令片段为一个指令的重新排序后的所有指令片段;
确定各个指令片段所读取的数据所对应的令牌;
根据所述指令所属指令标识的令牌读取信息,将所述令牌读取信息指示的存储地址确定为所述指令的第一个令牌的存储地址,并根据所述第一个令牌的存储地址,获取所述第一个令牌;
根据所述第一个令牌的存储信息,依次获取所述指令的其它K-1个令牌的存储信息;
依次根据所述K-1个令牌的存储信息,获取其它K-1个令牌;
根据获取所述指令的K个令牌的顺序,以及各个指令片段所读取的数据所对应的令牌,对所述K个令牌对应的数据进行重组,获得所述指令所读取的数据;
其中,每个令牌的存储信息用于指示:该令牌是否为所述指令的最后一个令牌、该令牌是否为所述指令所属指令标识对应的最后一个令牌以及所述指令中该令牌的下一个令牌的存储地址;
所述令牌读取信息用于指示所述指令所属指令标识对应的当前存储的第一个令牌的存储地址。
13.根据权利要求12所述的方法,其特征在于,所述每个令牌的存储信息为第一链表结构的存储信息;所述第一链表结构包括:第一存储指示、第二存储指示和第三存储指示;所述第一存储指示用于指示令牌是否为指令的最后一个令牌,所述第二存储指示用于指示令牌是否为所述指令所属指令标识对应的最后一个令牌,所述第三存储指令用于指示下一个令牌的存储地址。
14.根据权利要求13所述的方法,其特征在于,还包括:
针对每个令牌的存储信息,在获取到该令牌之后,将该令牌的存储信息中的所述第三存储指示更改为预设存储地址。
15.根据权利要求13或14所述的方法,其特征在于,还包括:
针对每个令牌的存储信息,在获取到该令牌之后,若该令牌的存储信息中的所述第一存储指示该令牌为指令的最后一个令牌,则将所述第一存储指令更改为指示该令牌不是指令的最后一个令牌。
16.根据权利要求13-15任一项所述的方法,其特征在于,所述第一链表结构还包括:第四存储指示,所述第四存储指示用于指示对应的存储资源是否已存储令牌。
17.根据权利要求16所述的方法,其特征在于,还包括:
针对每个令牌的存储信息,在获取到该令牌之后,若将该令牌的存储信息中的所述第四存储指示由指示已存储令牌更改为指示未存储令牌。
18.根据权利要求13-17任一项所述的方法,其特征在于,还包括:
针对每个令牌的存储信息,在获取到该令牌之后,若该令牌的存储信息中的所述第二存储指示该令牌为指令标识对应的最后一个令牌,则将所述第二存储指令更改为指示该令牌不是指令标识对应的最后一个令牌。
19.根据权利要求13-18任一项所述的方法,其特征在于,所述令牌读取信息为第二链表结构的令牌读取信息,所述第二链表结构包括第一读取指示,所述第一读取指示用于指示所述指令的第一个令牌的存储地址。
20.根据权利要求19所述的方法,其特征在于,还包括:
若所述K个令牌中一个令牌的存储信息中第二存储指示指示该令牌为所述指令标识对应的最后一个令牌,则将所述第一读取指示更改为指示预设存储地址;
若所述K个令牌中每个令牌的存储信息中第二存储指示该令牌不是所述指令标识对应的最后一个令牌,则将所述第一读取指示更改为指示第一存储地址;所述第一存储地址为:与指示令牌为指令的最后一个令牌的第一存储指示属于同一存储信息的第三存储指示,所指示的存储地址。
21.根据权利要求19或20所述的方法,其特征在于,所述第二链表结构还包括:第二读取指示,所述第二读取指示用于指示是否已存储所述指令的令牌。
22.根据权利要求21所述的方法,其特征在于,还包括:
若所述K个令牌中一个令牌的存储信息中第二存储指示指示该令牌为所述指令标识对应的最后一个令牌,则将所述第二读取指示更改为指示未存储所述指令的令牌。
23.根据权利要求13-22任一项所述的方法,其特征在于,还包括:
若所述K个令牌中一个令牌的存储信息中第二存储指示指示该令牌为所述指令标识的最后一个令牌,则将所述指令标识的令牌写入信息更改为指示所述指令标识对应的最近存储的令牌的存储地址为预设存储地址。
24.根据权利要求23所述的方法,其特征在于,所述令牌写入信息为第三链表结构的令牌写入信息,所述第三链表结构包括写入指示,所述写入指示用于指示所述指令标识对应的最近存储的令牌的存储地址。
25.一种令牌管理装置,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序代码;
所述处理器,用于调用所述存储器中存储的所述代码,执行如权利要求1-11任一项所述的令牌管理方法,或者,如权利要求12-24任一项所述的令牌管理方法。
26.一种芯片,其特征在于,包括:双倍数据速率DDR控制器和DDR器件;
所述DDR控制器,用于执行如权利要求1-11任一项所述的令牌管理方法,以及,如权利要求12-24任一项所述的令牌管理方法;
所述DDR器件,用于接收所述DDR器件发送的重新排序后的多个指令片段,并向所述DDR控制器发送每个指令片段所读取的数据。
27.一种可移动平台,其特征在于,机身、云台以及成像装置,所述成像装置通过所述云台与所述机身连接,所述机身内包括如权利要求26所述的芯片;
所述芯片还与所述成像装置连接,所述芯片还用于处理所述成像装置采集的图像数据。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/109206 WO2020062297A1 (zh) | 2018-09-30 | 2018-09-30 | 令牌管理方法、装置、芯片及可移动平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110799938A true CN110799938A (zh) | 2020-02-14 |
Family
ID=69438541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880042195.2A Pending CN110799938A (zh) | 2018-09-30 | 2018-09-30 | 令牌管理方法、装置、芯片及可移动平台 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110799938A (zh) |
WO (1) | WO2020062297A1 (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060098594A1 (en) * | 2004-10-27 | 2006-05-11 | Honeywell International Inc. | Machine architecture for event management in a wireless sensor network |
US20150074378A1 (en) * | 2013-09-06 | 2015-03-12 | Futurewei Technologies, Inc. | System and Method for an Asynchronous Processor with Heterogeneous Processors |
CN104995895A (zh) * | 2012-12-14 | 2015-10-21 | 微软技术许可有限责任公司 | 兼容扩展卸载令牌大小 |
CN105659274A (zh) * | 2013-10-01 | 2016-06-08 | 艾尼克斯股份有限公司 | 用于在可重构平台中解码数据流的方法和设备 |
CN106375270A (zh) * | 2015-07-24 | 2017-02-01 | 华为技术有限公司 | 令牌生成并认证的方法及认证服务器 |
CN106796505A (zh) * | 2014-08-29 | 2017-05-31 | 华为技术有限公司 | 指令执行的方法及处理器 |
CN106843170A (zh) * | 2016-11-30 | 2017-06-13 | 浙江中控软件技术有限公司 | 基于令牌的任务调度方法 |
CN107276827A (zh) * | 2017-07-25 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种分布式存储系统中Qos的实现方法及装置 |
CN107450888A (zh) * | 2016-05-30 | 2017-12-08 | 世意法(北京)半导体研发有限责任公司 | 嵌入式数字信号处理器中的零开销循环 |
-
2018
- 2018-09-30 CN CN201880042195.2A patent/CN110799938A/zh active Pending
- 2018-09-30 WO PCT/CN2018/109206 patent/WO2020062297A1/zh active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060098594A1 (en) * | 2004-10-27 | 2006-05-11 | Honeywell International Inc. | Machine architecture for event management in a wireless sensor network |
CN104995895A (zh) * | 2012-12-14 | 2015-10-21 | 微软技术许可有限责任公司 | 兼容扩展卸载令牌大小 |
US20150074378A1 (en) * | 2013-09-06 | 2015-03-12 | Futurewei Technologies, Inc. | System and Method for an Asynchronous Processor with Heterogeneous Processors |
CN105659274A (zh) * | 2013-10-01 | 2016-06-08 | 艾尼克斯股份有限公司 | 用于在可重构平台中解码数据流的方法和设备 |
CN106796505A (zh) * | 2014-08-29 | 2017-05-31 | 华为技术有限公司 | 指令执行的方法及处理器 |
CN106375270A (zh) * | 2015-07-24 | 2017-02-01 | 华为技术有限公司 | 令牌生成并认证的方法及认证服务器 |
WO2017016252A1 (zh) * | 2015-07-24 | 2017-02-02 | 华为技术有限公司 | 令牌生成并认证的方法及认证服务器 |
CN107450888A (zh) * | 2016-05-30 | 2017-12-08 | 世意法(北京)半导体研发有限责任公司 | 嵌入式数字信号处理器中的零开销循环 |
CN106843170A (zh) * | 2016-11-30 | 2017-06-13 | 浙江中控软件技术有限公司 | 基于令牌的任务调度方法 |
CN107276827A (zh) * | 2017-07-25 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种分布式存储系统中Qos的实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020062297A1 (zh) | 2020-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11044318B2 (en) | Efficient communications amongst computing nodes for operating autonomous vehicles | |
US20180095463A1 (en) | Remote controlled object macro and autopilot system | |
CN109074087A (zh) | 偏航姿态控制方法、无人机、计算机可读存储介质 | |
US20200039524A1 (en) | Apparatus and method of sharing a sensor in a multiple system on chip environment | |
WO2019113885A1 (zh) | 核间通信方法、处理器和多处理器通信系统 | |
US20200059435A1 (en) | Data flow scheduling between processors | |
US20240045722A1 (en) | Accelerating table lookups using a decoupled lookup table accelerator in a system on a chip | |
CN111679923B (zh) | 实时通信方法和系统 | |
JP6384000B1 (ja) | 制御装置、撮像装置、撮像システム、移動体、制御方法、及びプログラム | |
CN111712687B (zh) | 航测方法、飞行器及存储介质 | |
US10635633B2 (en) | Systems and methods for memory architecture | |
WO2022113933A1 (ja) | 送信装置、受信装置、送信方法、受信方法及び移動体 | |
EP4300298A1 (en) | Vehicular display device | |
CN110799938A (zh) | 令牌管理方法、装置、芯片及可移动平台 | |
CN110770699A (zh) | 数据指令处理方法、存储芯片、存储系统和可移动平台 | |
JP2019191428A (ja) | 制御装置、撮像装置、移動体、制御方法、及びプログラム | |
CN111316643A (zh) | 视频编码方法、设备和可移动平台 | |
JP2023157917A (ja) | 撮影方法 | |
US20200068128A1 (en) | Control device, imaging device, imaging system, movable object, control method, and program | |
JP6627117B1 (ja) | 画像処理装置、撮像装置、移動体、画像処理方法、及びプログラム | |
WO2020042186A1 (zh) | 可移动平台的控制方法、可移动平台、终端设备和系统 | |
US20200334192A1 (en) | Communication method, device, and system | |
WO2022030037A1 (ja) | ニューラルネットワーク回路およびニューラルネットワーク回路の制御方法 | |
JP6730764B1 (ja) | 飛行体の飛行経路表示方法及び情報処理装置 | |
WO2021081806A1 (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200214 |
|
WD01 | Invention patent application deemed withdrawn after publication |