掌桥专利:专业的专利平台
掌桥专利
首页

指令执行方法、装置、设备及存储介质

文献发布时间:2024-04-18 19:58:30


指令执行方法、装置、设备及存储介质

技术领域

本申请涉及微架构技术领域,具体而言,本申请涉及一种指令执行方法、装置、设备及存储介质。

背景技术

微架构又称为微体系结构/微处理器体系结构。是在计算机工程中,将一种给定的指令集架构在处理器中执行的方法。一种给定指令集可以在不同的微架构中执行。实施中可能因应不同的设计目的和技术提升而有所不同。计算机架构是微架构和指令集设计的结合。在微架构中,为了提升指令处理速度和效率,常采用流水线(pipeline)技术,该流水线技术是一种将指令分解为多步,并让不同指令的各步操作重叠,从而实现几条指令并行处理,以加速程序运行过程的技术。指令的每步有各自独立的电路来处理,每完成一步,就进到下一步,而前一步则处理后续指令。

随着技术的发展,计算机架构中CPU(Central Processing Unit,中央处理器)、VPU(Vector Processing Unit、矢量处理器)这些专注于不同数据处理的对象。然而,在使用流水线技术时,采取所有对象共同参与到同一个指令的处理的方式,这未能充分利用不同对象的数据处理特性,且容易造成计算资源的浪费,限制计算性能的提升。

发明内容

本申请实施例提供了一种指令执行方法、装置、设备及存储介质,可以解决计算机机构不能充分利用不同对象的数据处理特性,容易浪费计算资源的问题。为了实现该目的,本申请实施例提供了如下几个方案。

根据本申请实施例的一个方面,提供了一种指令执行方法,该方法包括:

接收到目标指令,获取目标系统中用于执行所述目标指令的目标对象,所述目标对象包括中央处理器、矢量处理器,所述中央处理器与所述矢量处理器之间设有用于数据交互的预设缓存;

利用所述目标对象对应的流水线执行所述目标指令,并将目标指令执行中产生的交互数据写入预设缓存,以在目标指令执行过程中完成所述中央处理器与所述矢量处理器之间的数据交互。

在一个可能的实现方式中,所述获取目标系统中用于执行所述目标指令的目标对象包括:

识别所述目标指令的类型,根据所述类型确定执行所述目标指令的目标对象;

所述类型包括处理器指令、矢量处理器指令、第一指令中的至少一种,所述第一指令被所述中央处理器、所述矢量处理器中的任一个执行。

在一个可能的实现方式中,所述目标系统包括指令拾取单元,所述根据所述类型确定执行所述目标指令的目标对象,包括:

通过所述指令拾取单元对所述目标指令执行指令译码操作;

根据译码结果和所述类型,确定执行所述目标指令的目标对象。

在一个可能的实现方式中,所述利用所述目标对象对应的流水线执行所述目标指令,包括以下至少一项:

若所述目标指令为处理器指令,则通过所述中央处理器的数据处理流水线执行译码后的所述目标指令;

若所述目标指令为矢量处理器指令,且根据译码结果确定译码后的目标指令正常,则将译码后的目标指令发送给矢量处理器以通过所述矢量处理器对应的流水线执行译码后的目标指令;

若所述目标指令为矢量处理器指令,且根据译码结果确定译码后的目标指令异常,则将译码后的目标指令发送给所述中央处理器;

若所述目标指令为第一指令,则获取所述目标指令对应的目标对象,根据所述目标对象对应的流水线执行译码后的目标指令,其中,若所述目标对象为矢量处理器,则通过所述中央处理器的刷新信号刷新异常的目标指令。

在一个可能的实现方式中,所述将译码后的目标指令发送给所述中央处理器,还包括:

在访存阶段,通过所述矢量处理器将目标指令的标识信息发送至预设缓存;

所述利用所述目标对象对应的流水线执行所述目标指令,还包括:

通过所述中央处理器接收所述矢量处理器提交的目标指令的标识信息,并在写回阶段根据所述标识信息以及所述目标指令的类型对所述目标指令进行退休处理。

在一个可能的实现方式中,所述在写回阶段根据所述标识信息以及所述目标指令的类型对所述目标指令进行退休处理,包括:

所述中央处理器在写回阶段保存退休标识信息,在写回阶段或退休阶段将所述标识信息发送给所述矢量处理器,以使所述矢量处理器根据所述退休标识信息进行目标指令的退休检查,其中,所述退休标识信息的更新包括写回阶段的数据清除、执行阶段的分支预测错误中的至少一种。

在一个可能的实现方式中,所述预设缓存包括第一缓存、第二缓存,所述中央处理器通过所述第一缓存将交互数据写入所述矢量处理器,所述矢量处理器通过所述第二缓存将交互数据写入所述中央处理器;

所述将目标指令执行中产生的交互数据写入预设缓存,包括:

根据获取的所述交互数据的写入对象、来源信息确定待写入的预设缓存的分类;

根据所述交互数据的类型将所述交互数据写入相应分类的预设缓存中。

本申请提供一种指令执行装置,所述装置,包括:

目标对象获取模块,用于接收到目标指令,获取目标系统中用于执行所述目标指令的目标对象,所述目标对象包括中央处理器、矢量处理器,所述中央处理器与所述矢量处理器之间设有用于数据交互的预设缓存;

指令执行模块,用于利用所述目标对象对应的流水线执行所述目标指令,并将目标指令执行中产生的交互数据写入预设缓存,以在目标指令执行过程中完成所述中央处理器与所述矢量处理器之间的数据交互。

本申请提供一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现如上所述方法的步骤。

根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。

本申请实施例提供的技术方案带来的有益效果是:

本申请提供的指令执行方法接收到目标指令后,获取目标系统中用于执行该目标指令的目标对象,该目标对象包括中央处理器、矢量处理器,中央处理器与矢量处理器之间设有用于数据交互的预设缓存,利用该目标对象对应的流水线执行目标指令,并将目标指令执行中产生的交互数据写入预设缓存,实现中央处理器与矢量处理器之间的数据交互。本申请实施例获取目标指令后,获取指令该目标指令的目标对象,通过该目标对象对应的流水线进行执行目标指令,解耦中央处理器与矢量处理器的流水线,并通过预设缓存存储交互数据,便于目标指令相关的结构进行数据交互。本申请实施例通过目标指令相关的目标对象执行目标指令的方式,解决需要全部对象参与指令处理的问题,便于利用对应的处理器的数据处理特性,减少计算资源的浪费,并通过预设缓存进行数据交互,实现中央处理器与矢量处理器之间的数据同步和减少二者的相互干扰,提升计算机架构的计算性能。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单的介绍。

图1为本申请实施例提供的指令执行方法的流程图;

图2为本申请提供的指令执行方法中流水线之间的数据交互一实施例的示意图;

图3为本申请指令执行方法中另一实施例的流程图;

图4为本申请实施例提供的指令执行装置的结构图;

图5为本申请提供的电子设备的结构图。

具体实施方式

下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”指示实现为“A”,或者实现为“A”,或者实现为“A和B”。

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式做进一步的详细描述。

下面通过对几个示例性实施方式的描述,对本发明实施例的技术方案以及本发明的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。

本申请提供的指令执行方法、装置、设备以及存储介质,旨在解决现有技术中存在的至少一个技术问题。

本申请实施例中提供了一种指令执行方法,应用该方法的设备可以为手机、电脑、路由器、智能手表、SOC(System on Chip,系统级芯片)以及其他能够使用中央处理器、矢量处理器进行信息处理的设备。如图1所示,该指令执行方法包括步骤S101-S102。

S101:接收到目标指令,获取目标系统中用于执行目标指令的目标对象。

可选地,目标系统为设有目标对象的系统,其可以为设备的控制芯片,也可以为设备上某个器件的数据处理芯片以及其他需要接收目标指令,和根据该目标指令执行相应功能的器件。目标系统中的目标对象包括中央处理器、矢量处理器,中央处理器与矢量处理器之间设有用于数据交互的预设缓存。

可选地,目标对象还可以包括NPU(Neural Processing Unit,神经网络处理器)、TPU(Tensor Processing Unit,张量处理器)以及其他种类的处理器,并且这些处理器之间设有用于数据交互的预设缓存。

可选地,目标指令通过该目标系统的指令输入端口输入目标系统,该指令输入端口可以与有线传输器件(如USB端口模块)或无线传输器件(WiFi模块)连接,以接收目标指令。

可选地,获取目标系统中用于执行目标指令的目标对象包括:识别目标指令的类型,根据类型确定执行目标指令的目标对象;该类型包括处理器指令、矢量处理器指令、第一指令中的至少一种,第一指令被中央处理器、矢量处理器中的任一个执行。其中,处理器指令对应的目标对象为中央处理器、矢量处理器指令对应的目标对象为矢量处理器。

可选地,中央处理器包括DPU(Data Processing Unit,数据处理单元),通过DPU执行处理器指令。

可选地,为了保证目标指令的有效执行,目标系统包括IFU(instruction fetchunit,指令拾取单元),识别目标指令的类型,根据类型确定执行目标指令的目标对象,包括:识别目标指令的类型,通过指令拾取单元对所述目标指令执行指令译码操作;根据译码结果和类型,确定执行目标指令的目标对象。

在一个实施例中,译码结果包括该目标指令是否存在错误的信息,目标指令为矢量处理器指令,通过指令拾取单元对该目标指令进行译码操作,若根据译码结果确定该目标指令存在错误,则确定指令对应的对象为中央处理器。若确定译码指令没有错误,则确定目标指令对应的对象为矢量处理器。其中,该错误包括未定义(undefine)、陷阱(trap)以及其他种类的错误。

S102:利用目标对象对应的流水线执行目标指令,并将目标指令执行中产生的交互数据写入预设缓存。

可选地,利用目标对象对应的流水线执行所述目标指令,包括以下至少一项:若目标指令为处理器指令,则通过中央处理器的数据处理流水线执行译码后的目标指令;若目标指令为矢量处理器指令,且根据译码结果确定译码后的目标指令正常,则将译码后的目标指令发送给矢量处理器以通过矢量处理器对应的流水线执行译码后的目标指令;若目标指令为矢量处理器指令,且根据译码结果确定译码后的目标指令异常,则将译码后的目标指令发送给中央处理器;若目标指令为第一指令,则获取目标指令对应的目标对象,根据目标对象对应的流水线执行译码后的目标指令,其中,若目标对象为矢量处理器,则通过中央处理器的刷新信号刷新异常的目标指令。

在一个实施例中,中央处理器和矢量处理器的流水线同步进行数据处理。其中,在流水线的译码(DE,decode)阶段,通过指令拾取单元对目标指令进行译码操作。并且,在译码阶段,确定目标指令对应的目标对象,通过该目标对象对应的流水线执行目标指令。

可选地,流水线的一个周期除了DE阶段,还包括依次设置的RF(register file,寄存器堆)、EX(Execute,执行)、MM(memory,访存)、WB(Writeback,写回)、RET(retire,退休)等阶段,不同的阶段执行不同的操作。

可选地,为了在目标指令执行中保持中央处理器与矢量处理器之间的数据同步。预设缓存包括第一缓存、第二缓存,中央处理器通过第一缓存将交互数据写入矢量处理器,矢量处理器通过第二缓存将交互数据写入中央处理器;将目标指令执行中产生的交互数据写入预设缓存,包括:根据获取的所述交互数据的写入对象、来源信息确定待写入的预设缓存的分类;根据交互数据的类型将所述交互数据写入相应分类的预设缓存中。

在一个实施例中,第一缓存为C2V,第二缓存为V2C,且第一缓存和第二缓存具有多个,每个缓存存储一种特定类型的数据。

本申请实施例通过目标指令相关的目标对象执行目标指令的方式,解决需要全部对象参与指令处理的问题,便于利用对应的处理器的数据处理特性,减少计算资源的浪费,并通过预设缓存进行数据交互,实现中央处理器与矢量处理器之间的数据同步和减少二者的相互干扰,提升计算机架构的计算性能。

可选地,本申请还提出一种指令执行方法,如图2-图3所示,该方法包括:

S201:接收到目标指令,识别目标指令的类型。

可选地,目标指令的类型包括处理器指令、矢量处理器指令、第一指令中的至少一种,第一指令被中央处理器、矢量处理器中的任一个执行。

在一个实施例中,接收到目标指令后,将目标指令存储到对应的存储器(instruction memory)中,通过指令拾取单元从存储器中获取该目标指令,识别获取到的目标指令的类型。

S202:根据类型确定执行目标指令的目标对象。

可选地,根据类型确定执行目标指令的目标对象,包括:通过指令拾取单元对目标指令执行指令译码操作;根据译码结果和类型,确定执行目标指令的目标对象。

在一个实施例中,在DE阶段,通过指令拾取单元对处理器进行译码操作,并确定该处理器指令对应的目标对象为中央处理器。并且,若指令拾取单元预译码矢量处理器指令时,出现未定义、陷阱等错误,则确定该矢量处理器指令对应的目标对象为中央处理器。若预译码矢量处理器指令,未出现错误,则确定该指令对应的目标对象为矢量处理器。对于第一指令,指令拾取单元获取译码结果,并确定其对应的目标对象。其中,也可以根据中央处理器、矢量处理器当前的工作量分配信息确定第一指令对应的目标对象。

S203:利用目标对象对应的流水线执行目标指令,并将目标指令执行中产生的交互数据写入预设缓存。

可选地,利用目标对象对应的流水线执行目标指令,包括以下至少一项:若目标指令为处理器指令,则通过中央处理器的数据处理流水线执行译码后的目标指令;若目标指令为矢量处理器指令,且根据译码结果确定译码后的目标指令正常,则将译码后的目标指令发送给矢量处理器以通过矢量处理器对应的流水线执行译码后的目标指令;若目标指令为矢量处理器指令,且根据译码结果确定译码后的目标指令异常,则将译码后的目标指令发送给中央处理器;若目标指令为第一指令,则获取目标指令对应的目标对象,根据目标对象对应的流水线执行译码后的目标指令,其中,若目标对象为矢量处理器,则通过中央处理器的刷新信号刷新异常的目标指令。

在一个实施例中,目标指令为第一指令,若该第一指令对应的目标对象为中央处理器,则不论第一指令是否存在异常(如译码时,出现未定义、陷阱等错误),通过中央处理器对应的流水线执行该指令;若第一指令对应的对象为矢量处理器,则即使第一指令异常,矢量处理器对应的流水线仍将该第一指令作为正常的指令执行,并且,矢量处理器根据中央处理器的刷新信号清除异常的第一指令。

可选地,为了便于识别每个目标指令和提高目标指令的处理效率,在流水线上的每个目标指令均设有一个编号,该编号以IID表示。

可选地,预设缓存包括第一缓存、第二缓存,中央处理器通过第一缓存将交互数据写入矢量处理器,矢量处理器通过第二缓存将交互数据写入中央处理器;将目标指令执行中产生的交互数据写入预设缓存,包括:根据获取的交互数据的写入对象、来源信息确定待写入的预设缓存的分类;根据交互数据的类型将交互数据写入相应分类的预设缓存中。其中,写入对象为数据交互中被写入交互数据的目标对象,来源信息为数据交互中生成交互数据的目标对象。

在一个实施例中,第一缓存表示为C2V,用于缓存写入矢量处理器的源操作数(source data),第二缓存表示为V2C,用于缓存写入中央处理器的源操作数、目的操作数(destination data)。其中,第一缓存、第二缓存均设有多个。具体的,第一缓存的信息如表一所示,第二缓存的信息如表二所示,其中表格中的位宽表示缓存的数据的位宽,数量标识该缓存能够缓存的数据的数量:

表一

表二

可选地,所有的第一缓存设置在中央处理器的DPU中,第二缓存中的缓存vpu_core_iid_buffer也设置在中央处理器的DPU中,其他的缓存设置在矢量处理器中。其中,第二缓存中的数据供中央处理器中的DPU使用。

可选地,将译码后的目标指令发送给中央处理器,还包括:在访存阶段,通过矢量处理器将目标指令的标识信息发送至预设缓存;利用目标对象对应的流水线执行目标指令,还包括:通过所述中央处理器接收矢量处理器提交的目标指令的标识信息,并在写回阶段根据标识信息以及目标指令的类型对目标指令进行退休处理。

在一个实施例中,在流水线的写回阶段执行目标指令的退休操作(retire)。在退休操作中,除第一指令的load指令外,其他指令满足退休规则,即可执行退休操作,该load指令需要在load指令相关的操作完成后,才能执行退休操作。如果某个矢量处理器指令一直停滞(stall)在流水线的RF阶段,到达写回阶段的新处理器指令难以在写回阶段退休。对此,矢量处理器在访存阶段提交该矢量处理器指令的IID和双指令执行状态(dual issuestatus)给第二缓存中的vpu_core_iid_buffer。相应的中央处理器中的DPU在写回阶段从预设缓存中获取该矢量处理器的IID,将该IID与当前满足退休规则的目标指令中最古老的IID进行比较,若二者相等,则确定该矢量处理器指令可以退休。

具体的,矢量处理器提交给vpu_core_iid_buffer的数据的格式为:{dual_issue,commit_IID},其中,通过dual_issue开始双指令执行状态,并且commit_IID中的IID为该停滞在流水线的RF阶段的矢量处理器指令的IID。

可选地,对于矢量处理器中执行的目标指令(包括矢量处理器指令以及在矢量处理器中执行的第一指令),需要矢量处理器提交该目标指令的IID到第二缓存中以便于中央处理器发送刷新信号,实现目标指令的退休。

可选地,在执行第一指令时,不会将通用寄存器的数据、条件码寄存器的数据写入中央处理器。

可选地,在写回阶段根据标识信息以及目标指令的类型对目标指令进行退休处理,包括:中央处理器在写回阶段保存退休标识信息,在写回阶段或退休阶段将标识信息发送给矢量处理器,以使矢量处理器根据退休标识信息进行目标指令的退休检查,其中,退休标识信息的更新包括写回阶段的数据清除、执行阶段的分支预测错误中的至少一种。

在一个实施例中,中央处理器对应的流水线有序执行。在WB阶段,中央处理器执行第一指令时,需要根据情况使用矢量处理器执行数据写回操作。同时,预设缓存在每个周期中输出最老的条目(the oldest entry)相关的信息,根据该信息进行第一指令的退休。中央处理器可以确定每个处理器指令的排序,矢量处理器在访存阶段提交第一指令的IID,根据该IID执行矢量处理器指令的退休。但在目标指令的执行过程中,通用寄存器的数据写入可以在写回阶段、退休阶段以及之后的阶段进行。相应的,在VPU上执行的第一指令,中央处理器需要得到第一指令相关的数据后,才能进行第一指令的退休操作,而不是直接根据第一指令的IID进行第一指令的退休。

可选地,第一指令中的存储指令在执行阶段或访存阶段执行该指令相关的数据的写回操作。并且,写回操作中,该数据必须存储在vpu_core_str_buffer,这样才能避免中央处理器获取该存储指令的IID后,清除该数据。

可选地,矢量处理器根据中央处理器的退休操作进行寄存器的刷新,以避免二者的数据不同步。具体的,中央处理器在写回阶段保存一个最古老的可退休的目标指令的IID,利用该IID标识当前最老的未退休目标指令。包括该IID的信号在写回阶段或退休阶段作为刷新信号发送给矢量处理器。矢量处理器根据该刷新信号进行退休检测。在退休检测中,对大于会等于该IID的目标指令做退休处理。

在一个实施例中,中央处理器维护一个矢量处理器刷新方案,该刷新方案包括数据的刷新以及IID的刷新,在IID的刷新中将所有IID大于或等于刷新信号中IID的目标指令。并且,考虑到性能和效率,不仅在写回阶段进行源操作数的清理,还进行IID以及数据的刷新,并且,在执行阶段出现错误预测分支时,也会对该源操作数、IID、数据进行刷新,通过该刷新方式使矢量处理器尽快清楚不必要的目标指令。在接收到刷新信号后,设置在矢量处理器中的预设缓存也相应进行刷新。中央处理器采用分支延迟(branch delay)优化技术,通过该技术保证中央处理器能够获取所需要的数据。

需要说明的是,在本申请的可选实施例中,所涉及到的数据(如目标指令、处理器指令、矢量处理器指令等数据),当本申请以上实施例运用到具体产品或技术中时,需要获得使用对象许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。也就是说,本申请实施例中如果涉及到与对象有关的数据,这些数据需要经由对象授权同意、且符合国家和地区的相关法律法规和标准的情况下获取的。

根据本申请的一个方面,本申请提供一种指令执行装置,如图4所示,指令执行装置300包括目标对象获取模块310、指令执行模块320,其中,架构寄存器地址获取310,用于获取目标系统中用于执行所述目标指令的目标对象,所述目标对象包括中央处理器、矢量处理器,所述中央处理器与所述矢量处理器之间设有用于数据交互的预设缓存;指令执行模块320,用于获取架构寄存器地址对应的物理寄存器地址。

可选地,该包括物理寄存器库构建模块,用于利用所述目标对象对应的流水线执行所述目标指令,并将目标指令执行中产生的交互数据写入预设缓存,以在目标指令执行过程中完成所述中央处理器与所述矢量处理器之间的数据交互。

获取目标系统中用于执行所述目标指令的目标对象包括:

识别所述目标指令的类型,根据所述类型确定执行所述目标指令的目标对象;

所述类型包括处理器指令、矢量处理器指令、第一指令中的至少一种,所述第一指令被所述中央处理器、所述矢量处理器中的任一个执行。

可选地,所述目标系统包括指令拾取单元,所述根据所述类型确定执行所述目标指令的目标对象,包括:

通过所述指令拾取单元对所述目标指令执行指令译码操作;

根据译码结果和所述类型,确定执行所述目标指令的目标对象。

可选地,所述利用所述目标对象对应的流水线执行所述目标指令,包括以下至少一项:

若所述目标指令为处理器指令,则通过所述中央处理器的数据处理流水线执行译码后的所述目标指令;

若所述目标指令为矢量处理器指令,且根据译码结果确定译码后的目标指令正常,则将译码后的目标指令发送给矢量处理器以通过所述矢量处理器对应的流水线执行译码后的目标指令;

若所述目标指令为矢量处理器指令,且根据译码结果确定译码后的目标指令异常,则将译码后的目标指令发送给所述中央处理器;

若所述目标指令为第一指令,则获取所述目标指令对应的目标对象,根据所述目标对象对应的流水线执行译码后的目标指令,其中,若所述目标对象为矢量处理器,则通过所述中央处理器的刷新信号刷新异常的目标指令。

可选地,所述将译码后的目标指令发送给所述中央处理器,还包括:

在访存阶段,通过所述矢量处理器将目标指令的标识信息发送至预设缓存;

所述利用所述目标对象对应的流水线执行所述目标指令,还包括:

通过所述中央处理器接收所述矢量处理器提交的目标指令的标识信息,并在写回阶段根据所述标识信息以及所述目标指令的类型对所述目标指令进行退休处理。

可选地,所述在写回阶段根据所述标识信息以及所述目标指令的类型对所述目标指令进行退休处理,包括:

所述中央处理器在写回阶段保存退休标识信息,在写回阶段或退休阶段将所述标识信息发送给所述矢量处理器,以使所述矢量处理器根据所述退休标识信息进行目标指令的退休检查,其中,所述退休标识信息的更新包括写回阶段的数据清除、执行阶段的分支预测错误中的至少一种。

可选地,所述预设缓存包括第一缓存、第二缓存,所述中央处理器通过所述第一缓存将交互数据写入所述矢量处理器,所述矢量处理器通过所述第二缓存将交互数据写入所述中央处理器;

所述将目标指令执行中产生的交互数据写入预设缓存,包括:

根据获取的所述交互数据的写入对象、来源信息确定待写入的预设缓存的分类;

根据所述交互数据的类型将所述交互数据写入相应分类的预设缓存中。

在一个可选实施例中,提供了一种电子设备,如图5所示,图5所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。

处理器4001可以是CPU(CentralProcessingUnit,中央处理器),通用处理器,DSP(DigitalSignalProcessor,数据信号处理器),ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路),FPGA(FieldProgrammableGateArray,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(PeripheralComponentInterconnect,外设部件互连标准)总线或EISA(ExtendedIndustryStandardArchitecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器4003可以是ROM(ReadOnlyMemory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(RandomAccessMemory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(ElectricallyErasableProgrammableReadOnlyMemory,电可擦可编程只读存储器)、CD-ROM(CompactDiscReadOnlyMemory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。

存储器4003用于存储执行本申请实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。

其中,电子设备可以是任何一种可与对象进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(PersonalDigitalAssistant,PDA)、游戏机、交互式网络电视(InternetProtocolTelevision,IPTV)、智能式穿戴式设备等。

所述电子设备还可以包括网络设备和/或对象设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量主机或网络服务器构成的云。

所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(VirtualPrivateNetwork,VPN)等。

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。

应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。

以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。

相关技术
  • 指令执行方法、指令执行装置及存储介质
  • 动态指令的执行方法、装置、电子设备及存储介质
  • 用户指令匹配方法、装置、计算机设备及存储介质
  • 家电设备操作执行方法、装置、家电设备及可读存储介质
  • 任务执行方法、装置、电子设备及计算机可读存储介质
  • 指令执行方法、指令执行装置、电子设备及存储介质
  • 用于通过增强现实设备来提供信息的方法和装置、用于提供用于控制增强现实设备的显示的信息的方法和装置、用于控制增强现实设备的显示的方法和装置、具有用于执行方法的指令的计算机可读的存储介质
技术分类

06120116502785