[go: up one dir, main page]

CN114816566B - 一种指令搬移方法、系统、设备以及介质 - Google Patents

一种指令搬移方法、系统、设备以及介质 Download PDF

Info

Publication number
CN114816566B
CN114816566B CN202210364719.8A CN202210364719A CN114816566B CN 114816566 B CN114816566 B CN 114816566B CN 202210364719 A CN202210364719 A CN 202210364719A CN 114816566 B CN114816566 B CN 114816566B
Authority
CN
China
Prior art keywords
instruction
mark
pointer information
task
response
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.)
Active
Application number
CN202210364719.8A
Other languages
English (en)
Other versions
CN114816566A (zh
Inventor
马孔明
赵璠
马恒
王振
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Computer Technology Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202210364719.8A priority Critical patent/CN114816566B/zh
Publication of CN114816566A publication Critical patent/CN114816566A/zh
Application granted granted Critical
Publication of CN114816566B publication Critical patent/CN114816566B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明公开了一种指令搬移方法,包括以下步骤:响应于接收到主机下发到IO请求,根据所述请求中携带的指令的地址参数更新对应任务中的第一指针信息;检测每一个任务中的第一指针信息是否达到预设值;响应于检测到第一指针信息达到预设值,置位相应任务的第一标记和第二标记;响应于检测到第一标记置位且当前没有其他任务的第二标记处于置位状态,根据所述第一指针信息搬移对应的连续指令;响应于所述连续指令搬移完成,恢复已置位的第一标记和第二标记。本发明还公开了一种系统、计算机设备以及可读存储介质。本发明提出的方案可以实现连续指令的搬移,相较于传统的单指令搬移有着更高的总线效率,在空间局部性好的程序中,性能提升明显。

Description

一种指令搬移方法、系统、设备以及介质
技术领域
本发明涉及数据处理领域,具体涉及一种指令搬移方法、系统、设备以及存储介质。
背景技术
随着云计算与大数据的普及,计算和存储越来越成为制约计算技术发展的关键路径。对于计算系统来说,由于数据计算与搬移都由CPU处理,CPU因此成为中间节点。随着系统应用数据量的提升,CPU的负载越来越高。为了解决这个问题,将数据计算从CPU搬移到专用的处理单元中,使得CPU负载大大减低,效率大大提高。AEM(加速引擎管理)即是将数据计算等操作进行中转的装置,在计算处理完成后送回主机的处理单元。
如图1所示,传统的处理过程由固件进行调度。固件需要获取主机下发的指令,并对指令进行解析,然后传输给相应的计算处理单元进行处理,硬件处理完成通知固件将回复的数据返回主机。
这种处理方式会消耗过多的CPU处理时间,占用CPU的负载。为了缓解CPU的负载,使用硬件加速卡的方式可以将CPU的部分数据处理任务转移到加速卡中进行处理,大大缓解CPU的压力。使用AEM(加速引擎管理)的处理方式如图2所示。AEM(加速引擎管理)需要将主机端下发的指令搬移到本地进行处理。AEM将主机创建的指令依次搬移下来,然后进行处理。这种处理方式一次只能搬移一条指令,总线访问次数多,效率较低。
单指令搬移的方式比较简单易实现,但是效率有限,总线利用率低。主机维护一个buffer以及一组doorbell寄存器。Doorbell寄存器用于标识buffer的指针位置,以及通知主机指令的执行状态。该寄存器组主要由3个寄存器组成:1.尾指针:用于指示指令的下发;2.头指针:用于指示指令的完成。3.处理指针:用于指示硬件指令的处理。具体的执行流程为:
1.主机侧下发指令,将指令放在主机侧的存储空间中,并配置doorbell寄存器用于通知AEM有指令下发。如doorbell寄存器配置为10,表示主机侧有10个指令需要执行。
2.AEM请求PCIE DMA(Direct Memory Access,直接存储器访问)。由于采取单指令的搬移方式,搬移10条指令需要10次操作,并发起10次总线操作。硬件维护一个处理指针,每发起一次总线操作更新一次处理指针。
3.等待主机侧的指令搬移到本地存储空间中。在总线响应并将对应主机侧下发的指令搬移到本地中后更新对应的头指针。最终头尾指针一致表示主机下发的指令已全部被AEM搬移完成。
因此,当主机下发的10条指令需要10次DMA操作,总线访问次数为10次,总线利用率低。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种指令搬移方法,包括以下步骤:
响应于接收到主机下发到IO请求,根据所述请求中携带的指令的地址参数更新对应任务中的第一指针信息;
检测每一个任务中的第一指针信息是否达到预设值;
响应于检测到第一指针信息达到预设值,置位相应任务的第一标记和第二标记;
响应于检测到第一标记置位且当前没有其他任务的第二标记处于置位状态,根据所述第一指针信息搬移对应的连续指令;
响应于所述连续指令搬移完成,恢复已置位的第一标记和第二标记。
在一些实施例中,响应于接收到主机下发到IO请求,根据所述请求中携带的指令的地址参数更新对应任务中的第一指针信息,进一步包括:
判断对应任务的第一指针信息是否为空;
响应于为空,记录所述IO请求下发时间并计时。
在一些实施例中,方法还包括:
响应于每一个任务中的第一指针信息均未达到预设值,判断是否存在超时的任务;
响应于存在超时的任务,置位超时任务的第一标记和第二标记;
响应于检测到第一标记置位且当前没有其他任务的第二标记处于置位状态,根据所述超时任务当前的第一指针信息搬移对应的连续指令;
响应于连续指令搬移完成,恢复所述超时任务已置位的第一标记和第二标记。
在一些实施例中,根据所述第一指针信息搬移对应的连续指令,进一步包括:
根据已搬移的指令更新第二指针信息;
响应于所述第二指针信息与所述第一指针信息相同,确定所述对应的连续指令搬移完成。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种指令搬移系统,包括:
第一更新模块,配置为响应于接收到主机下发到IO请求,根据所述请求中携带的指令的地址参数更新对应任务中的第一指针信息;
检测模块,配置为检测每一个任务中的第一指针信息是否达到预设值;
置位模块,配置为响应于检测到第一指针信息达到预设值,置位相应任务的第一标记和第二标记;
搬移模块,配置为响应于检测到第一标记置位且当前没有其他任务的第二标记处于置位状态,根据所述第一指针信息搬移对应的连续指令;
恢复模块,配置为响应于所述连续指令搬移完成,恢复已置位的第一标记和第二标记。
在一些实施例中,第一更新模块还配置为:
判断对应任务的第一指针信息是否为空;
响应于为空,记录所述IO请求下发时间并计时。
在一些实施例中,还包括判断模块,配置为:
响应于每一个任务中的第一指针信息均未达到预设值,判断是否存在超时的任务;
响应于存在超时的任务,置位超时任务的第一标记和第二标记;
响应于检测到第一标记置位且当前没有其他任务的第二标记处于置位状态,根据所述超时任务当前的第一指针信息搬移对应的连续指令;
响应于连续指令搬移完成,恢复所述超时任务已置位的第一标记和第二标记。
在一些实施例中,搬移模块还配置为:
根据已搬移的指令更新第二指针信息;
响应于所述第二指针信息与所述第一指针信息相同,确定所述对应的连续指令搬移完成。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如上所述的任一种指令搬移方法的步骤。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种指令搬移方法的步骤。
本发明具有以下有益技术效果之一:本发明提出的方案可以实现连续指令的搬移,相较于传统的单指令搬移有着更高的总线效率,在空间局部性好的程序中,性能提升明显。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为传统数据加速处理过程示意图;
图2为使用加速引擎的处理方式示意图;
图3为本发明的实施例提供的指令搬移方法的流程示意图;
图4为本发明的实施例提供的AEM硬件结构图;
图5为本发明的实施例提供总线译码模块示意图;
图6为本发明的实施例提供任务创建模块示意图;
图7为本发明的实施例提供超时处理模块示意图;
图8为本发明的实施例提供取指模块示意图;
图9为本发明的实施例提供指令缓存模块示意图;
图10为本发明的实施例提供的指令搬移系统的结构示意图;
图11为本发明的实施例提供的计算机设备的结构示意图;
图12为本发明的实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
根据本发明的一个方面,本发明的实施例提出一种指令搬移方法,如图3所示,其可以包括步骤:
S1,响应于接收到主机下发到IO请求,根据所述请求中携带的指令的地址参数更新对应任务中的第一指针信息;
S2,检测每一个任务中的第一指针信息是否达到预设值;
S3,响应于检测到第一指针信息达到预设值,置位相应任务的第一标记和第二标记;
S4,响应于检测到第一标记置位且当前没有其他任务的第二标记处于置位状态,根据所述第一指针信息搬移对应的连续指令;
S5,响应于所述连续指令搬移完成,恢复已置位的第一标记和第二标记。
本发明提出的方案可以实现连续指令的搬移,相较于传统的单指令搬移有着更高的总线效率,在空间局部性好的程序中,性能提升明显。
在一些实施例中,如图4所示,AEM(Acceleration Engine Manager,加速引擎管理)可以包括总线译码模块(bus decoder),任务创建模块(task generation),取指模块(instruction fetcher),指令缓存模块(instruction buffer),以及超时处理模块(timeout ctrl)。对比单指令搬移模式,多指令的搬移大小需要一定的条件才能执行。由于主机下发任务的随机性,因此,多指令的搬移需要增加超时处理机制,以防止主机下发的任务迟迟没有满足条件而没有机会执行。
在一些实施例中,如图5所示,总线译码模块的功能是根据主机端下发的任务从总线协议中解析出配置的尾指针及一些用于硬件处理需要的一些配置值。同时将AEM的处理指针,头指针的值更新到寄存器。通知主机指令的处理进度。该模块的结构图如图5所示:AEM需要的配置信息都从总线接口获取,不同的配置信息对应不同的地址,译码逻辑用于配置信息的获取。配置信息如:3类指针信息,队列的配置信息以及其他的一些配置信息等。模式选择信号根据信息的来源以及时机配置总线的读写操作。
在一些实施例中,步骤S1,响应于接收到主机下发到IO请求,根据所述请求中携带的指令的地址参数更新对应任务中的第一指针信息,具体的,如图6所示,任务创建模块用于根据主机下发的配置信息组建任务搬移信息以写入取指模块,等待取指模块处理指令的搬移操作。该模块可以支持多任务的处理,每一行信息代表主机下发的需要搬移的指令,该指令在主机侧必须是连续的,不连续的指令需要拆分成多个连续的指令进行处理,该操作由主机侧完成。其中,任务请求标记表示有待搬移的任务等待执行,其置位有两种方式:1.尾指针更新为预设值;2有任务超时。尾指针和处理指针标识AEM的处理进度。处理标记标识该任务的搬移操作还未完成,需要等待任务完成后才能发起新的处理请求。
需要说明的是,主机下发的IO请求可以通过总线译码模块中的不同通道发送到任务创建模块中相应的任务中,并更新相应任务中的尾指针信息(第一指针信息)。每一个IO代表一个独立的指令,通过更新尾指针参数,可以使得连续指令进行积累,从而达到阈值后,根据尾指针对应的参数确定连续指令的地址,以进行搬移。
多个指令的一次性搬移的好处就是对于空间连续的指令,只需要发起一次总线操作即可完成,对于空间局部性好的程序效率提升明显。同时由于缓存指令的队列由RAM组成,相对于寄存器的实现方式可以很好的节省一部分硬件面积。
在一些实施例中,响应于接收到主机下发到IO请求,根据所述请求中携带的指令的地址参数更新对应任务中的第一指针信息,进一步包括:
判断对应任务的第一指针信息是否为空;
响应于为空,记录所述IO请求下发时间并计时。
具体的,当任务中的第一指针信息为空时,为防止主机下发的任务迟迟没有满足条件而没有机会执行,根据首个接收到请求打下时间戳,开始计时,进入超时判断流程。
在一些实施例中,方法还包括:
响应于每一个任务中的第一指针信息均未达到预设值,判断是否存在超时的任务;
响应于存在超时的任务,置位超时任务的第一标记和第二标记;
响应于检测到第一标记置位且当前没有其他任务的第二标记处于置位状态,根据所述超时任务当前的第一指针信息搬移对应的连续指令;
响应于连续指令搬移完成,恢复所述超时任务已置位的第一标记和第二标记。
具体的,如图7所示,超时处理模块用于处理派发指令的超时请求,由于多指令的搬移操作是主机派发的,而主机派发的指令是随机的。根据具体的场景,当遇到空间局部性好的场景,指令的搬移一直满足搬移条件,搬移可以正常进行。当遇到空间局部性不好的场景,主机派发的任务可能是不连续的,导致每个进程可能都只有零星的一两个指令的搬移操作。在这种情况下,若主机一直不能下发满足搬移条件的新指令,那么零星的任务便不会被处理。这种场景下,就需要有超时处理机制,以保证为满足搬移条件的指令可以被搬移。
超时处理模块由计时器,比较器以及时间戳缓存组成。计数器上电后开始工作,当该模块接收到主机下发的任务请求时,将下发时刻的时间戳进行缓存。通过比较器判断每个任务的时延是否超时,如果超时,则将超时的任务请求派发到任务创建模块进行处理。正常处理完成的任务则退出超时处理流程。
根据请求标记(第一标记)判断是否有待处理的任务,若当前进程有未完成的任务时,根据配置信息计算需要搬移的位置和大小。判断搬移是否满足搬移的最小门限值,若满足,且当前没有其他任务的第二标记(处理标记标识)处于置位状态,即没有其他正在处理的任务,则将搬移信息写入到取指模块,等待搬移,并置位处理标记。若不满足,不做任何操作,直到有新的搬移任务下发,或者任务超时。对于超时的任务,置位请求标记,并且不需要判断是否满足搬移门限值,直接将全部指令一次性搬移。当任务正常执行完成后,将正常处理完成的任务从超时处理流程中退出。
在一些实施例中,S4,响应于检测到第一标记置位且当前没有其他任务的第二标记处于置位状态,根据所述第一指针信息搬移对应的连续指令,具体的,如图8所示,取指模块接收任务创建模块创建的任务,储存搬移信息,如搬移的基地址和搬移长度等,并请求总线,向总线发送这些信息,进行指令搬移操作。该模块由一块RAM和状态机组成,RAM用于储存搬移信息,状态机用于控制产生规定格式的总线数据包,数据包主要包括源地址,目的地址,搬移长度,其他控制信息等。当总线请求发出后,状态机控制逻辑更新处理指针,处理标记,以及删除超时处理模块中的时间戳信息(该操作正常完成,没有超时)。外部控制模块根据数据包解析信息进行DMA搬移操作。
在一些实施例中,根据所述第一指针信息搬移对应的连续指令,进一步包括:
根据已搬移的指令更新第二指针信息;
响应于所述第二指针信息与所述第一指针信息相同,确定所述对应的连续指令搬移完成。
具体的,如图9所示,指令缓存模块主要完成指令的缓存和头指针(第二指针)的更新操作。由RAM和控制状态机组成,控制状态机根据收到的指令个数更新头指针,用于标识AEM的指令处理状态。同时该模块也将收到的指令打包一些控制信息发送给后续的处理引擎进行处理。
本发明针对单指令搬移效率低的问题,提出了一种连续多指令的搬移方式。利用程序的局部性,可以将一段连续指令搬移到本地,在本地进行拆分处理,变成单个指令进行操作。这样做的目的是希望减少总线的配置频次,将原来需要多次配置的传输变成只需要一次就可以完成,以达到减少总线的访问频次,提高总线的利用率的目的。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种指令搬移系统400,如图10所示,包括:
第一更新模块401,配置为响应于接收到主机下发到IO请求,根据所述请求中携带的指令的地址参数更新对应任务中的第一指针信息;
检测模块402,配置为检测每一个任务中的第一指针信息是否达到预设值;
置位模块403,配置为响应于检测到第一指针信息达到预设值,置位相应任务的第一标记和第二标记;
搬移模块404,配置为响应于检测到第一标记置位且当前没有其他任务的第二标记处于置位状态,根据所述第一指针信息搬移对应的连续指令;
恢复模块405,配置为响应于所述连续指令搬移完成,恢复已置位的第一标记和第二标记。
在一些实施例中,第一更新模块401,还配置为:
判断对应任务的第一指针信息是否为空;
响应于为空,记录所述IO请求下发时间并计时。
在一些实施例中,还包括判断模块,配置为:
响应于每一个任务中的第一指针信息均未达到预设值,判断是否存在超时的任务;
响应于存在超时的任务,置位超时任务的第一标记和第二标记;
响应于检测到第一标记置位且当前没有其他任务的第二标记处于置位状态,根据所述超时任务当前的第一指针信息搬移对应的连续指令;
响应于连续指令搬移完成,恢复所述超时任务已置位的第一标记和第二标记。
在一些实施例中,搬移模块404还配置为:
根据已搬移的指令更新第二指针信息;
响应于所述第二指针信息与所述第一指针信息相同,确定所述对应的连续指令搬移完成。
基于同一发明构思,根据本发明的另一个方面,如图11所示,本发明的实施例还提供了一种计算机设备501,包括:
至少一个处理器520;以及
存储器510,存储器510存储有可在处理器上运行的计算机程序511,处理器520执行程序时执行如上的任一种指令搬移方法的步骤。
基于同一发明构思,根据本发明的另一个方面,如图12所示,本发明的实施例还提供了一种计算机可读存储介质601,计算机可读存储介质601存储有计算机程序指令610,计算机程序指令610被处理器执行时执行如上的任一种指令搬移方法的步骤。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (10)

1.一种指令搬移方法,其特征在于,包括以下步骤:
响应于接收到主机下发到IO请求,根据所述请求中携带的指令的地址参数更新对应指令搬移任务中的第一指针信息,其中所述第一指针信息为对应指令搬移任务中连续指令的尾指令信息;
检测每一个指令搬移任务中的第一指针信息是否达到预设值;
响应于检测到第一指针信息达到预设值,置位相应指令搬移任务的第一标记和第二标记,其中所述第一标记的置位状态表示相应指令搬移任务需要待处理,非置位状态表示相应指令搬移任务无需处理,所述第二标记的置位状态表示相应指令搬移任务正在处理,非置位状态表示相应指令搬移任务没有正在处理;
响应于检测到第一标记置位且当前没有其他指令搬移任务的第二标记处于置位状态,根据所述第一指针信息搬移对应的连续指令;
响应于所述连续指令搬移完成,恢复已置位的第一标记和第二标记。
2.如权利要求1所述的方法,其特征在于,响应于接收到主机下发到IO请求,根据所述请求中携带的指令的地址参数更新对应指令搬移任务中的第一指针信息,进一步包括:
判断对应指令搬移任务的第一指针信息是否为空;
响应于为空,记录所述IO请求下发时间并计时。
3.如权利要求2所述的方法,其特征在于,方法还包括:
响应于每一个指令搬移任务中的第一指针信息均未达到预设值,判断是否存在超时的指令搬移任务;
响应于存在超时的指令搬移任务,置位超时指令搬移任务的第一标记和第二标记;
响应于检测到第一标记置位且当前没有其他指令搬移任务的第二标记处于置位状态,根据所述超时指令搬移任务当前的第一指针信息搬移对应的连续指令;
响应于连续指令搬移完成,恢复所述超时指令搬移任务已置位的第一标记和第二标记。
4.如权利要求1所述的方法,其特征在于,根据所述第一指针信息搬移对应的连续指令,进一步包括:
根据已搬移的指令更新第二指针信息,其中所述第二指针信息为已经搬移的指针的信息;
响应于所述第二指针信息与所述第一指针信息相同,确定所述对应的连续指令搬移完成。
5.一种指令搬移系统,其特征在于,包括:
第一更新模块,配置为响应于接收到主机下发到IO请求,根据所述请求中携带的指令的地址参数更新对应指令搬移任务中的第一指针信息,其中所述第一指针信息为对应指令搬移任务中连续指令的尾指令信息;
检测模块,配置为检测每一个指令搬移任务中的第一指针信息是否达到预设值;
置位模块,配置为响应于检测到第一指针信息达到预设值,置位相应指令搬移任务的第一标记和第二标记;
搬移模块,配置为响应于检测到第一标记置位且当前没有其他指令搬移任务的第二标记处于置位状态,根据所述第一指针信息搬移对应的连续指令,其中所述第一标记的置位状态表示相应指令搬移任务需要待处理,非置位状态表示相应指令搬移任务无需处理,所述第二标记的置位状态表示相应指令搬移任务正在处理,非置位状态表示相应指令搬移任务没有正在处理;
恢复模块,配置为响应于所述连续指令搬移完成,恢复已置位的第一标记和第二标记。
6.如权利要求5所述的系统,其特征在于,第一更新模块还配置为:
判断对应指令搬移任务的第一指针信息是否为空;
响应于为空,记录所述IO请求下发时间并计时。
7.如权利要求6所述的系统,其特征在于,还包括判断模块,配置为:
响应于每一个指令搬移任务中的第一指针信息均未达到预设值,判断是否存在超时的指令搬移任务;
响应于存在超时的指令搬移任务,置位超时指令搬移任务的第一标记和第二标记;
响应于检测到第一标记置位且当前没有其他指令搬移任务的第二标记处于置位状态,根据所述超时指令搬移任务当前的第一指针信息搬移对应的连续指令;
响应于连续指令搬移完成,恢复所述超时指令搬移任务已置位的第一标记和第二标记。
8.如权利要求5所述的系统,其特征在于,搬移模块还配置为:
根据已搬移的指令更新第二指针信息,其中所述第二指针信息为已经搬移的指针的信息;
响应于所述第二指针信息与所述第一指针信息相同,确定所述对应的连续指令搬移完成。
9.一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求1-4任意一项所述的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1-4任意一项所述的方法的步骤。
CN202210364719.8A 2022-04-08 2022-04-08 一种指令搬移方法、系统、设备以及介质 Active CN114816566B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210364719.8A CN114816566B (zh) 2022-04-08 2022-04-08 一种指令搬移方法、系统、设备以及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210364719.8A CN114816566B (zh) 2022-04-08 2022-04-08 一种指令搬移方法、系统、设备以及介质

Publications (2)

Publication Number Publication Date
CN114816566A CN114816566A (zh) 2022-07-29
CN114816566B true CN114816566B (zh) 2024-05-24

Family

ID=82534930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210364719.8A Active CN114816566B (zh) 2022-04-08 2022-04-08 一种指令搬移方法、系统、设备以及介质

Country Status (1)

Country Link
CN (1) CN114816566B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115268795B (zh) * 2022-08-11 2025-04-11 湖南长城银河科技有限公司 一种支持大规模连续数据的搬移方法
CN117608468B (zh) * 2023-10-20 2024-12-03 中科驭数(北京)科技有限公司 数据搬移方法、装置、设备及计算机可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9003475D0 (en) * 1989-04-07 1990-04-11 Intel Corp Stack method and circuitry
GB0328503D0 (en) * 2003-12-09 2004-01-14 Advanced Risc Mach Ltd A data processing apparatus and method for moving data between registers and memory
CN101823259A (zh) * 2009-03-04 2010-09-08 光洋热系统株式会社 搬运机器人装置
CN102929474A (zh) * 2012-08-14 2013-02-13 珠海市魅族科技有限公司 一种光标位置的控制方法和系统
CN103713953A (zh) * 2013-12-17 2014-04-09 上海华为技术有限公司 一种内存数据的搬移装置及方法
CN109992541A (zh) * 2017-12-29 2019-07-09 深圳云天励飞技术有限公司 一种数据搬运方法、相关产品及计算机存储介质
CN112631658A (zh) * 2021-01-13 2021-04-09 成都国科微电子有限公司 指令发送方法、芯片和电子设备
CN113407357A (zh) * 2020-03-17 2021-09-17 华为技术有限公司 进程间数据搬移的方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111666044B (zh) * 2016-02-29 2021-11-30 华为技术有限公司 一种访问叠瓦式磁记录smr硬盘的方法及服务器
US20180107823A1 (en) * 2016-10-14 2018-04-19 Qualcomm Incorporated Programmable Hardware Security Counters

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9003475D0 (en) * 1989-04-07 1990-04-11 Intel Corp Stack method and circuitry
GB0328503D0 (en) * 2003-12-09 2004-01-14 Advanced Risc Mach Ltd A data processing apparatus and method for moving data between registers and memory
CN101823259A (zh) * 2009-03-04 2010-09-08 光洋热系统株式会社 搬运机器人装置
CN102929474A (zh) * 2012-08-14 2013-02-13 珠海市魅族科技有限公司 一种光标位置的控制方法和系统
CN103713953A (zh) * 2013-12-17 2014-04-09 上海华为技术有限公司 一种内存数据的搬移装置及方法
CN109992541A (zh) * 2017-12-29 2019-07-09 深圳云天励飞技术有限公司 一种数据搬运方法、相关产品及计算机存储介质
CN113407357A (zh) * 2020-03-17 2021-09-17 华为技术有限公司 进程间数据搬移的方法及装置
CN112631658A (zh) * 2021-01-13 2021-04-09 成都国科微电子有限公司 指令发送方法、芯片和电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
利用EDMA和DSP/BIOS实现高速数据搬移与处理;于凤芹;李江;;仪表技术与传感器;20080215(02);全文 *

Also Published As

Publication number Publication date
CN114816566A (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
US10997093B2 (en) NVME data processing method and NVME device
US5682551A (en) System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto
US10459661B2 (en) Stream identifier based storage system for managing an array of SSDs
US11005970B2 (en) Data storage system with processor scheduling using distributed peek-poller threads
US8521930B1 (en) Method and apparatus for scheduling transactions in a host-controlled packet-based bus environment
JP2557199B2 (ja) インターフェース・システムおよび方法
CN114816566B (zh) 一种指令搬移方法、系统、设备以及介质
US10671453B1 (en) Data storage system employing two-level scheduling of processing cores
US20240143392A1 (en) Task scheduling method, chip, and electronic device
WO2025138722A1 (zh) 访存失效队列处理方法、装置及电子设备
CN119311627B (zh) 基于描述符的PCIe总线DMA高速数据传输方法及设备
CN108920192B (zh) 基于分布式有限目录的缓存数据一致性实现方法及装置
CN109144749B (zh) 一种使用处理器实现多处理器间通信的方法
WO2025148564A1 (zh) 重填数据的处理方法、装置、设备、存储介质及程序
CN114924999B (zh) 一种高速缓存管理方法、装置、系统、设备及介质
WO2024109068A1 (zh) 程序监控方法、装置、电子设备和存储介质
US8719499B2 (en) Cache-line based notification
CN108958903B (zh) 嵌入式多核中央处理器任务调度方法与装置
CN114579480A (zh) 一种缺页处理方法、装置、系统、电子设备及存储介质
CN113296899A (zh) 基于分布式系统的事务主机、事务从机及事务处理方法
CN116755635B (zh) 一种硬盘控制器缓存系统、方法、硬盘设备及电子设备
CN108958905B (zh) 嵌入式多核中央处理器的轻量级操作系统
CN108958904B (zh) 嵌入式多核中央处理器的轻量级操作系统的驱动程序框架
CN117055811A (zh) 一种总线访问命令处理方法、装置、芯片及存储介质
CN117687701A (zh) 一种基于多对多控制的kvm切换器及其控制方法

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240704

Address after: 2324, Building 1, Aosheng Building, No. 1166 Xinluo Street, High tech Zone, Jinan City, Shandong Province, 250000

Patentee after: Inspur Computer Technology Co.,Ltd.

Country or region after: China

Address before: 250000 floor 35, S01 building, Inspur Science Park, 1036 Inspur Road, Jinan area, China (Shandong) pilot Free Trade Zone, Jinan, Shandong Province

Patentee before: Shandong Yunhai guochuang cloud computing equipment industry innovation center Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right