CN115903558A - 集成电路、控制方法和电子设备 - Google Patents
集成电路、控制方法和电子设备 Download PDFInfo
- Publication number
- CN115903558A CN115903558A CN202111164993.2A CN202111164993A CN115903558A CN 115903558 A CN115903558 A CN 115903558A CN 202111164993 A CN202111164993 A CN 202111164993A CN 115903558 A CN115903558 A CN 115903558A
- Authority
- CN
- China
- Prior art keywords
- instruction
- address range
- target instruction
- target
- circuit
- 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
Images
Classifications
-
- 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
- Executing Machine-Instructions (AREA)
Abstract
本发明实施例公开了一种集成电路、控制方法和电子设备。本发明实施例的集成电路包括相关性检测电路和指令控制电路,其中,相关性检测电路被配置为根据目标指令的第一地址范围,确定目标指令与各非目标指令之间的相关性,指令控制电路被配置为响应于所述相关性表征所述第一地址范围与至少一个非目标指令的第二地址范围产生重叠,控制目标指令处于等待状态。本发明实施例可以通过硬件的方式控制当前待执行指令保持等待状态,直至当前待执行指令与其余正在执行或待执行的指令的读/写范围不会产生重叠,从而降低软件的运行负担。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种集成电路、控制方法和电子设备。
背景技术
随着互联网技术的不断发展,电子设备的普及度越来越高。用户可以通过电子设备(例如,手机、个人电脑等)获取各种信息。获取信息的过程也即根据接收到的指令对数据进行读处理和写处理的过程,而指令之间的读/写范围往往会产生重叠,并导致软件运行错误。
为了避免软件运行错误,需要保证当前待执行指令与其余正在执行或待执行的指令的读/写范围不会产生重叠后再执行待执行指令,而现有技术通过软件来自主检测并避免上述重叠情况,这给软件的运行造成了较大负担,降低了软件执行效率。
发明内容
有鉴于此,本发明实施例的目的在于提供一种集成电路、控制方法和电子设备,用于通过硬件的方式控制当前待执行指令保持等待状态,直至当前待执行指令与其余正在执行或待执行的指令的读/写范围不会产生重叠,从而降低软件的运行负担。
根据本发明实施例的第一方面,提供一种集成电路,所述集成电路包括:
相关性检测电路,被配置为根据目标指令的第一地址范围,确定所述目标指令与各非目标指令之间的相关性,所述相关性表征所述第一地址范围与各所述所述非目标指令的第二地址范围是否产生重叠;
指令控制电路,被配置为响应于所述相关性表征所述第一地址范围与至少一个非目标指令的第二地址范围产生重叠,控制所述目标指令处于等待状态。
根据本发明实施例的第二方面,提供一种控制方法,适用于协控制处理器,所述方法包括:
获取目标指令;
确定所述目标指令与各非目标指令之间的相关性,所述相关性表征所述第一地址范围与各所述非目标指令的第二地址范围是否产生重叠;
响应于至少一个所述地址重叠关系表征所述目标指令与对应非目标指令产生重叠,控制所述目标指令处于等待状态。
根据本发明实施例的第三方面,提供一种电子设备,其中,所述电子设备包括至少一个如第一方面所述的集成电路。
根据本发明实施例的第四方面,提供一种计算机可读存储介质,其上存储计算机程序指令,其中,所述计算机程序指令在被处理器执行时实现如第二方面所述的方法。
根据本发明实施例的第五方面,提供一种计算机程序产品,包括计算机程序/指令,其中,该计算机程序/指令被处理器执行以实现如第五方面所述的方法。
本发明实施例的集成电路包括相关性检测电路和指令控制电路,其中,相关性检测电路被配置为根据目标指令的第一地址范围,确定目标指令与各非目标指令之间的相关性,指令控制电路被配置为响应于所述相关性表征所述第一地址范围与至少一个非目标指令的第二地址范围产生重叠,控制目标指令处于等待状态。本发明实施例可以通过硬件的方式控制当前待执行指令保持等待状态,直至当前待执行指令与其余正在执行或待执行的指令的读/写范围不会产生重叠,从而降低软件的运行负担。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是本发明第一实施例的集成电路的示意图;
图2是本发明实施例的集成电路的结构示意图;
图3是本发明第二实施例的控制方法的流程图;
图4是本发明第三实施例的控制方法的流程图;
图5是本发明第五实施例的电子设备的示意图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
同时,应当理解,在以下的描述中,“电路”是指由至少一个元件或子电路通过电气连接或电磁连接构成的导电回路。当称元件或电路“连接到”另一元件,或称元件/电路“连接在”两个节点之间时,它可以是直接耦接或连接到另一元件或者可以存在中间元件,元件之间的连接可以是物理上的、逻辑上的、或者其结合。相反,当称元件“直接耦接到”或“直接连接到”另一元件时,意味着两者不存在中间元件。
除非上下文明确要求,否则在说明书的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅被配置为描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在日常生活中,用户可以通过电子设备获取各种信息。以终端为例,用户可以通过终端向服务器发起数据处理请求(也即,数据处理指令),服务器在接收到数据处理请求后,可以根据数据处理请求对预定地址范围内的数据进行读处理(例如,查询)和写处理(例如,增加、删除、修改),并将处理结果反馈给终端,完成整个数据处理过程。
获取信息的过程也即根据接收到的指令对数据进行读处理和写处理的过程,而指令之间的读/写范围往往会产生重叠,并导致软件运行错误。其中,该重叠不仅包括地址范围完全重叠的情况,还包括地址范围交叉的情况。例如,当前执行指令的写范围(也即,写地址范围)为0x8049320-0x8049350,待执行指令的读范围(也即,读地址范围)为0x8049330-0x8049380,产生重叠的地址范围为0x8049330-0x8049350。若在当前执行指令执行完毕前就执行待执行指令,则待执行指令读取到的0x8049330-0x8049350这部分数据可能为未完成写入(或者更新)的数据,也即,待执行指令读取的部分数据为错误数据,因此会导致软件运行错误。
为了避免软件运行错误,需要保证待执行指令与其余正在执行或待执行的指令的读/写范围不会产生重叠后再执行该待执行指令,而现有技术通过软件来自主检测并避免上述重叠情况,这给软件的运行造成了较大负担。
图1是本发明第一实施例的集成电路的示意图。如图1所示,本实施例的集成电路可以包括相关性检测电路11和指令控制电路12。
其中,相关性检测电路11被配置为根据目标指令的第一地址范围,确定所述目标指令与各非目标指令之间的相关性,所述相关性用于表征所述第一地址范围与各所述所述非目标指令的第二地址范围是否产生重叠。其中,所述非目标指令有可能影响该目标指令执行的指令,例如正在执行的指令,待发射的非正在执行的指令等。指令控制电路12被配置为响应于所述相关性表征所述第一地址范围与至少一个非目标指令的第二地址范围产生重叠,控制所述目标指令处于等待状态。即,在影响该目标指令执行的多个正在执行的指令或者多个待发射的非正在执行的指令中,存在一个指令的地址范围与该目标指令的第一地址范围重叠,则说明所述第一地址范围与至少一个非目标指令的第二地址范围产生重叠。
本实施例的集成电路包括相关性检测电路和指令控制电路,其中,相关性检测电路被配置为根据目标指令的第一地址范围,确定目标指令与各非目标指令之间的相关性,指令控制电路被配置为响应于所述相关性表征所述第一地址范围与至少一个非目标指令的第二地址范围产生重叠,控制目标指令处于等待状态。本实施例可以通过硬件的方式控制当前待执行指令保持等待状态,直至当前待执行指令与其余正在执行或待执行的指令的读/写范围不会产生重叠,从而降低软件的运行负担。
图2是本发明实施例的集成电路的结构示意图,图2所示的箭头方向表征数据(包括指令、指令对应的读地址范围信息、写地址范围信息、指令之间的相关性检测信息)的传输方向。如图2所示,本发明实施例的集成电路包括主控制处理器21、指令发射槽23A、指令发射槽23B、相关性检测电路24A、相关性检测电路24B、相关性检测电路24C、指令控制电路25A、指令控制电路25B、指令执行电路26A以及指令执行电路26B。
在本发明实施例中,主控制处理器21被配置为发送目标指令。相关性检测电路24A、相关性检测电路24B和相关性检测电路24C均被配置为确定目标指令与各非目标指令之间的相关性。其中,相关性用于表征目标指令的第一地址范围与非目标指令的第二地址范围是否产生重叠。指令控制电路25A和指令控制电路25B均被配置为响应于相关性表征第一地址范围与至少一个非目标指令的第二地址范围产生重叠,控制目标指令处于等待状态。
在本发明实施例的一种可选的实现方式中,第一地址范围为目标指令的第一读地址范围和/或第一写地址范围,第二地址范围为非目标指令的第二读地址范围和/或第二写地址范围,相关性检测电路24A、相关性检测电路24B和相关性检测电路24C均包括第一逻辑电路、第二逻辑电路和第三逻辑电路(图2中未示出)。且第一逻辑电路被配置为判断第一读地址范围与第二写地址范围是否产生重叠,第二逻辑电路被配置为判断第一写地址范围与第二写地址范围是否产生重叠,第三逻辑电路被配置为判断第一写地址范围与第二读地址范围是否产生重叠。
指令发射槽23A用于存储发送至指令执行电路26A的指令,相关性检测电路24A为指令发射槽23A对应的相关性检测电路,该相关性检测电路24A用于检测指令发射槽23A中的待发射指令(即目标指令)与非目标指令之间的相关性,其中该非目标指令包括其他发射槽(除了指令发射槽23A以外的发射槽)中的指令、以及所有指令执行电路中正在执行的指令。指令控制电路25A为指令发射槽23A对应的指令控制电路,在相关性检测电路24A确定指令发射槽23A中的待发射指令与非目标指令之间无相关性后,指令控制电路25A控制将该待发射指令发射到指令执行电路26A。同样,指令发射槽23B用于存储发送至指令执行电路26B的指令,相关性检测电路24B为指令发射槽23B对应的相关性检测电路,指令控制电路25B为指令发射槽23B对应的指令控制电路。相关性检测电路24C为主控制处理器21对应的相关性检测电路,相关性检测电路24C用于主控制处理器21中的待执行指令(即目标指令)与非目标指令之间的相关性,其中该非目标指令包括所有发射槽中的指令、以及所有指令执行电路中正在执行的指令。
容易理解,图2所示的集成电路中的不同指令发射槽(包括主控制处理器)均分别对应于一个相关性检测电路,但是在本发明实施例中,相关性检测电路的数量也可以为一个,也即,相关性检测电路24A、相关性检测电路24B、相关性检测电路24C可以为同一相关性检测电路。同时,图2所示的集成电路包括两个指令发射槽(也即,指令发射槽23A和指令发射槽23B)、两个指令控制电路(也即,指令控制电路25A和指令控制电路25B)和两个指令执行电路(也即,指令执行电路26A和指令执行电路26B),但是在本发明实施例中,指令发射槽的数量、指令控制电路的数量和指令执行电路的数量都可以为一个,也可以为多个,本发明实施例不对指令发射槽、指令控制电路和指令执行电路的数量进行限制。
其中,指令发射槽23A、指令发射槽23B、相关性检测电路24A、相关性检测电路24B、相关性检测电路24C、指令控制电路25A、指令控制电路25B、指令执行电路26A以及指令执行电路26B构成了本发明实施例的协控制处理器20。
在本发明实施例中,目标指令可以包括自定义指令以及通用指令中的至少一项,且自定义指令还可以包括向量指令、矩阵指令等多种类型的指令,因此在本实施例的一种可选的实现方式中,图1所示的集成电路还包括解码电路22,解码电路22同样属于协控制处理器20的一部分,且解码电路22被配置为确定目标指令中自定义指令的类别,并根据指令的类别向对应的指令发射槽发送指令和指令的第一地址范围。
在本发明实施例的一种可选的实现方式中,本发明实施例的协控制处理器20具有预定指令接口,并可以通过预定指令接口接收主控制处理器21发送的自定义指令。解码电路22被配置为对自定义指令进行解码,确定自定义指令对应的第一地址范围,通过该解码电路22可预先对自定义指令进行解码,以减少后续处理过程中等待译码的时间。然后,自定义指令均可以以队列形式被存储在指令发射槽23A或指令发射槽23B中。指令控制电路25A和指令控制电路25B具体可以被配置为响应于相关性表征第一地址范围与至少一个非目标指令的第二地址范围产生重叠,控制目标指令在指令发射槽23A或指令发射槽23B中处于等待状态。
指令控制电路25A和指令控制电路25B还被配置为响应于相关性表征第一地址范围与各第二地址范围均未产生重叠,控制目标指令处于执行状态。指令控制电路25A和指令控制电路25B具体可以被配置为控制指令发射槽23A或指令发射槽23B将目标指令发射到指令执行电路26A或指令执行电路26B,以使得指令执行电路26A或指令执行电路26B执行目标指令,此时目标指令处于执行状态。
在本发明实施例的一种可选的实现方式中,目标指令为主控制处理器21发送的通用指令,其中该通用指令不需要通过预定指令接口接收,且不用存储在指令发射槽中。通用指令的指令控制电路也即主控制处理器21。主控制处理器21具体可以被配置为响应于相关性表征第一地址范围与至少一个非目标指令的第二地址范围产生重叠,控制主控制处理器21的目标端口(例如,I/O端口)不释放反馈信号,以使得目标指令保持等待状态。
主控制处理器21还被配置为响应于相关性均表征第一地址范围与各第二地址范围均未产生重叠,控制目标指令处于执行状态,具体可以被配置为控制主控制处理器21的目标端口释放反馈信号,以使得主控制处理器21执行目标指令。
下面通过方法实施例对本发明实施例的集成电路所实现的控制方法进行说明。图3是本发明第二实施例的控制方法的流程图。如图3所示,本实施例的方法包括如下步骤:
步骤S100,获取目标指令。
在本实施例中,目标指令主要由集成电路中的主控制处理器发出,并由协控制处理器接收。
目标指令为通用指令,具体可以为load/store指令。主控制处理器也即主控制器,为在具有多个指令控制器的电子设备中,起主要作用的指令控制器,能够根据一定的逻辑运算要求发出指令,控制电子设备的输入、运算和输出这三部分的协调工作。Load/store指令用于寄存器和内存间数据的传输,具体地,load指令用于将内存中的数据写入寄存器中,store指令用于把寄存器中的数据写入内存中。通用指令可以由主控制处理器直接发送给协控制处理器进行地址相关性检测。
容易理解,若存在多个通用指令,则目标指令为当前待执行的通用指令,也即接收时刻排序在第一位的通用指令。
步骤S200,根据目标指令的第一地址范围,确定目标指令与各非目标指令之间的相关性。
不同指令发射槽/主控制处理器中的指令之间的执行顺序无法确定,因此为了避免指令之间的读/写范围往往产生重叠,导致软件运行错误的情况,协控制处理器可以控制相关性检测电路获取非目标指令的第二地址范围,并根据第一地址范围与各第二地址范围确定目标指令与各非目标指令之间的相关性。
目标指令可以对数据进行读处理,也可以对数据进行写处理,因此在本实施例中,第一地址范围可以为通用指令的读地址范围(也即,第一读地址范围)和写地址范围(也即,第一写地址范围)中的至少一项。与第一地址范围相似,第二地址范围包括非目标指令的读地址范围(也即,第二读地址范围)和写地址范围(也即,第二写地址范围)中的至少一项。
在本实施例中,协控制处理器可以控制相关性检测电路从各指令发射槽中获取其存储的未执行的指令的第二地址范围,并从存储器中获取各指令执行电路正在执行的指令的第二地址范围。也就是说,非目标指令包括各指令发射槽中未执行的指令以及各指令执行电路中正在执行的指令。
通用指令中包括其地址范围信息,所以可直接控制通用指令对应的相关性检测电路,检测该通用指令与非目标指令之间的地址相关性。
以图2所示的集成电路为例进行说明。主控制处理器21将通用指令直接发送至相关性检测电路24C,以及,协控制处理器20可以控制相关性检测电路24C从指令发射槽24A中获取未执行的指令的第二地址范围、从指令发射槽24B中获取未执行的指令的第二地址范围、从存储器中获取指令执行电路26A中正在执行的指令的第二地址范围,并从存储器中获取指令执行电路26B中正在执行的指令的第二地址范围。相关性检测电路24C检测通用指令与从各个指令发射槽、执行电路获取的非目标指令之间的地址相关性。
在确定通用指令与非目标指令之间的相关性后,协控制处理器20可以控制相关性检测电路向主控制处理器发送通用指令与非目标指令之间的相关性。
仍旧以图2所示的集成电路为例进行说明。协控制处理器20可以控制相关性检测电路24C向主控制处理器21发送通用指令与非目标指令之间的相关性。
步骤S300,响应于相关性表征第一地址范围与至少一个非目标指令的第二地址范围产生重叠,控制目标指令处于等待状态。
在本实施例中,若相关性表征通用指令的第一地址范围与对应至少一个非目标指令的第二地址范围产生重叠,表示若立刻执行该通用指令,会对正在执行的指令和/或指令发射槽中未执行的指令的执行产生影响,主控制处理器可以控制通用指令处于等待状态,也即,不执行通用指令。具体地,主控制处理器可以控制目标端口不对反馈信号进行释放。
可选地,本实施例的方法还可以包括如下步骤:
步骤S400,响应于相关性表征第一地址范围与各第二地址范围均未产生重叠,控制目标指令处于执行状态。
若确定相关性表征通用指令的第一地址范围与各非目标指令的第二地址范围均未产生重叠,主控制处理器可以控制目标指令处于执行状态。具体地,主控制处理器可以控制目标端口释放反馈信号,目标端口释放反馈信号后,主控制处理器可以执行通用指令。
本实施例的集成电路包括主控制处理器、相关性检测电路,其中,主控制处理器被配置为发送目标指令,相关性检测电路被配置为确定目标指令与各非目标指令之间的相关性,主控制处理器还被配置为响应于所述相关性表征所述第一地址范围与至少一个非目标指令的第二地址范围产生重叠,控制目标指令处于等待状态。本实施例可以通过硬件的方式控制当前待执行指令保持等待状态,直至当前待执行指令与其余正在执行或待执行的指令的读/写范围不会产生重叠,从而降低软件的运行负担。
图4是本发明第三实施例的控制方法的流程图。如图4所示,本实施例的方法包括如下步骤:
步骤S100’,获取目标指令。
在本实施例中,目标指令可以为自定义指令,具体可以为RISC-V指令。RISC-V指令是一种基于RISC(Reduced Instruction Set Computing,精简指令集计算机)原则的开源指令集架构,被设计成可以根据具体场景自由选择适合的指令集的指令集架构,因此具有较高的灵活性和普适性。可选地,本实施例的自定义指令可以为向量指令、标量指令、矩阵指令等,不同类型的自定义指令对应于不同类型的指令发射槽。RISC-V指令可以由主控制处理器通过协控制处理器的预定指令接口传输给协控制处理器。
步骤S200’,确定目标指令与各非目标指令之间的相关性。
在步骤S200’之前,协控制处理器可以控制解码电路对自定义指令进行解码处理,并确定自定义指令对应的第一地址范围。类似地,本实施例的第一地址范围同样可以为目标指令的读地址范围和写地址范围中的至少一项。
在本实施例中,目标指令的类型为自定义指令,因此在确定自定义指令的第一读地址范围和第一写地址范围后,协控制处理器可以控制解码电路向对应的指令发射槽发送自定义指令的第一读地址范围和第一写地址范围,以使得发射槽指令可以对自定义指令的第一读地址范围和第一写地址范围进行存储,并控制指令发射槽向相关性检测电路发送自定义指令的第一读地址范围和第一写地址范围。同时,协控制处理器可以控制解码电路向对应的指令发射槽发送自定义指令,以使得指令发射槽可以以队列的形式对自定义指令进行存储。
以图2所示的集成电路为例进行说明。主控制处理器21通过协控制处理器20的预定指令接口向协控制处理器20发送自定义指令,协控制处理器20可以控制解码电路22对自定义指令进行解码,确定自定义指令对应的第一读地址范围和第一写地址范围,然后,协控制处理器20可以控制解码电路22向指令发射槽23A或指令发射槽23B发送自定义指令以及自定义指令对应的第一读地址范围和第一写地址范围中的至少一项,并控制指令发射槽23A或指令发射槽23B向相关性检测电路24A或相关性检测电路24B发送自定义指令对应的第一读地址范围和第一写地址范围中的至少一项。
具体地,不同类型的自定义指令存储在不同的指令发射槽中,以指令发射槽23A为向量类型的指令的发射槽为例,协控制处理器20还可以控制解码电路22确定自定义指令的类型。并在自定义指令的类型为向量类型,也即,目标指令为向量指令时,控制解码电路22向指令发射槽23A发送自定义指令以及自定义指令对应的第一读地址范围和第一写地址范围中的至少一项。并且,对于指令发射槽23A中最前面的指令,即为待发送指令,协控制处理器20可控制指令发射槽23A向相关性检测电路24A发送该待发送指令对应的第一读地址范围和第一写地址范围中的至少一项。
容易理解,队列遵循先进先出的原则,也就是说,先进入队列的指令在前执行,后进入队列的指令在后执行,因此若指令发射槽中包括多个指令,则目标指令为指令发射槽的队列中排序在第一位的指令。
在确定自定义指令对应的第一地址范围后,协控制处理器可以控制相关性检测电路从除存储该目标指令的指令发射槽外,其余指令发射槽中获取未执行的指令的第二地址范围,以及从各指令执行电路中正在执行的指令的第二地址范围。也就是说,非目标指令包括其余指令发射槽中未执行的指令以及各指令执行电路中正在执行的指令。
以图2所示的集成电路为例进行说明。协控制处理器20控制相关性检测电路24A检测指令发射槽23A中的自定义指令与非目标指令之间的相关性。协控制处理器20可以控制相关性检测电路24A从指令发射槽23B获取待执行的指令的第二地址范围,并从存储器中获取指令执行电路26A以及指令执行电路26B中正在执行的指令的第二地址范围。
在获取各非目标指令的第二地址范围后,协控制处理器20可以控制相关性检测电路的第一逻辑电路判断目标指令的第一读地址范围与各非目标指令的第二写地址范围是否产生重叠、控制第二逻辑电路判断目标指令的第一写地址范围与各非目标指令的第二写地址范围是否产生重叠、控制第三逻辑电路判断目标指令的第一写地址范围与第二读地址范围是否产生重叠。
在确定自定义指令与非目标指令之间的相关性后,协控制处理器可以控制相关性检测电路向指令控制电路发送自定义指令与非目标指令之间的相关性。
仍旧以图2所示的集成电路为例进行说明。协控制处理器20可以控制相关性检测电路24A向指令控制电路25A发送指令发射槽23A中的自定义指令与各非目标指令之间的相关性。
步骤S300’,响应于相关性表征第一地址范围与对应至少一个非目标指令的第二地址范围产生重叠,控制目标指令处于等待状态。
若至少一个相关性表征自定义指令的第一地址范围与对应非目标指令的第二地址范围产生重叠,指令控制电路可以控制自定义指令处于等待状态。具体地,指令控制电路可以控制自定义指令在对应指令发射槽中保持等待状态,也即,控制对应指令发射槽不发射自定义指令。
容易理解,若指令发射槽中包括多个自定义指令,且目标指令处于等待状态,则其余自定义指令也均处于等待状态,直至目标指令变为执行状态。
可选地,本实施例的方法还可以包括如下步骤:
步骤S400’,响应于相关性表征第一地址范围与各第二地址范围均未产生重叠,控制目标指令处于执行状态。
若相关性表征自定义指令的第一地址范围与各非目标指令的第二地址范围均未产生重叠,指令控制电路可以控制自定义指令处于执行状态。具体地,指令控制电路可以控制指令发射槽向对应指令执行电路发射自定义指令,以使得对应指令执行电路执行自定义指令。
以图2所示的集成电路为例进行说明。若相关性表征指令发射槽23A中的自定义指令的第一地址范围与对应至少一个非目标指令的第二地址范围产生重叠,指令控制电路25A可以控制指令发射槽23A不发射该自定义指令,以使得该自定义指令保持等待状态;若各相关性均表征自定义指令的第一地址范围与对应非目标指令的第二地址范围未产生重叠,指令控制电路25A可以控制指令发射槽23A向指令执行电路26A发射该自定义指令,以使得指令执行电路26B执行自定义指令。
容易理解,若指令发射槽中包括多个自定义指令,且目标指令处于执行状态,则将指令发射槽中当前处于第一位的自定义指令确定为目标指令。
本实施例的集成电路包括主控制处理器、解码电路、相关性检测电路和指令控制电路,其中,主控制处理器被配置为发送目标指令,解码电路被配置为对目标指令进行解码处理,确定目标地址对应的第一地址范围,相关性检测电路被配置为确定目标指令与各非目标指令之间的相关性,指令控制电路被配置为响应于所述相关性表征所述第一地址范围与至少一个非目标指令的第二地址范围产生重叠,控制目标指令处于等待状态。本实施例可以通过硬件的方式控制当前待执行指令保持等待状态,直至当前待执行指令与其余正在执行或待执行的指令的读/写范围不会产生重叠,从而降低软件的运行负担。
图5是本发明第五实施例的电子设备的示意图。图5所示的电子设备为非通用数据处理装置,其至少包括本发明实施例中的集成电路501和存储器502。集成电路501和存储器502通过总线503连接。存储器502适于存储集成电路501可执行的指令或软件。由此,集成电路501通过执行存储器502所存储的命令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其他装置的控制。总线503将上述多个组件连接在一起,同时将上述组件连接到显示控制器504和显示装置以及输入/输出(I/O)装置505。输入/输出(I/O)装置505可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出(I/O)装置505通过输入/输出(I/O)控制器506与系统相连。
其中,存储器502可以存储软件组件,例如操作系统、通信模块、交互模块以及应用。以上所述的每个模块和应用程序都对应于完成一个或多个功能和在发明实施例中描述的方法的一组可执行程序指令。
上述根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应理解,流程图和/或框图的每个块以及流程图图例和/或框图中的块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供至通用计算机、专用计算机或其它可编程数据处理设备的处理器,以产生机器,使得(经由计算机或其它可编程数据处理设备的处理器执行的)指令创建用于实现流程图和/或框图块或块中指定的功能/动作的装置。
同时,如本领域技术人员将意识到的,本公开实施例的各个方面可以被实现为系统、方法或计算机程序产品。因此,本公开实施例的各个方面可以采取如下形式:完全硬件实施方式、完全软件实施方式(包括固件、常驻软件、微代码等)或者在本文中通常可以都称为“电路”、“模块”或“系统”的将软件方面与硬件方面相结合的实施方式。此外,本公开的方面可以采取如下形式:在一个或多个计算机可读介质中实现的计算机程序产品,计算机可读介质具有在其上实现的计算机可读程序代码。
可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是如(但不限于)电子的、磁的、光学的、电磁的、红外的或半导体系统、设备或装置,或者前述的任意适当的组合。计算机可读存储介质的更具体的示例(非穷尽列举)将包括以下各项:具有一根或多根电线的电气连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、光纤、便携式光盘只读存储器(CD-ROM)、光存储装置、磁存储装置或前述的任意适当的组合。在本公开实施例的上下文中,计算机可读存储介质可以为能够包含或存储由指令执行系统、设备或装置使用的程序或结合指令执行系统、设备或装置使用的程序的任意有形介质。
计算机可读信号介质可以包括传播的数据信号,所述传播的数据信号具有在其中如在基带中或作为载波的一部分实现的计算机可读程序代码。这样的传播的信号可以采用多种形式中的任何形式,包括但不限于:电磁的、光学的或其任何适当的组合。计算机可读信号介质可以是以下任意计算机可读介质:不是计算机可读存储介质,并且可以对由指令执行系统、设备或装置使用的或结合指令执行系统、设备或装置使用的程序进行通信、传播或传输。
用于执行针对本公开各方面的操作的计算机程序代码可以以一种或多种编程语言的任意组合来编写,所述编程语言包括:面向对象的编程语言如Java、Smalltalk、C++、PHP、Python等;以及常规过程编程语言如“C”编程语言或类似的编程语言。程序代码可以作为独立软件包完全地在用户计算机上、部分地在用户计算机上执行;部分地在用户计算机上且部分地在远程计算机上执行;或者完全地在远程计算机或服务器上执行。在后一种情况下,可以将远程计算机通过包括局域网(LAN)或广域网(WAN)的任意类型的网络连接至用户计算机,或者可以与外部计算机进行连接(例如通过使用因特网服务供应商的因特网)。
以上所述仅为本公开的优选实施例,并不用于限制本公开,对于本领域技术人员而言,本公开可以有各种改动和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种集成电路,其特征在于,包括:
相关性检测电路,被配置为根据目标指令的第一地址范围,确定所述目标指令与各非目标指令之间的相关性,所述相关性用于表征所述第一地址范围与各所述所述非目标指令的第二地址范围是否产生重叠;
指令控制电路,被配置为响应于所述相关性表征所述第一地址范围与至少一个非目标指令的第二地址范围产生重叠,控制所述目标指令处于等待状态。
2.根据权利要求1所述的集成电路,其特征在于,所述第一地址范围为所述目标指令的第一读地址范围和/或第一写地址范围;
所述第二地址范围为所述非目标指令的第二读地址范围和/或第二写地址范围;
所述相关性检测电路包括第一逻辑电路、第二逻辑电路和第三逻辑电路;
所述第一逻辑电路,被配置为判断所述第一读地址范围与所述第二写地址范围是否产生重叠;
所述第二逻辑电路,被配置为判断所述第一写地址范围与所述第二写地址范围是否产生重叠;
所述第三逻辑电路,被配置为判断所述第一写地址范围与所述第二读地址范围是否产生重叠。
3.根据权利要求1或2所述的集成电路,其特征在于,所述目标指令包括自定义指令以及通用指令中的至少一项,所述自定义指令通过预定指令接口接收。
4.根据权利要求3所述的集成电路,其特征在于,所述目标指令为所述自定义指令;
所述集成电路还包括:
指令发射槽,被配置为以队列形式存储所述目标指令;
解码电路,被配置为对所述自定义指令进行解码处理,确定所述目标指令的第一地址范围;以及,确定所述目标指令的类别,并根据所述类别向对应的指令发射槽发送所述目标指令和所述第一地址范围。
5.根据权利要求4所述的集成电路,其特征在于,所述指令控制电路还被配置为响应于所述相关性表征所述第一地址范围与各所述第二地址范围均未产生重叠,控制所述自定义指令处于执行状态;
所述集成电路还包括:
指令执行电路,被配置为执行所述自定义指令。
6.根据权利要求3所述的集成电路,其特征在于,所述集成电路还包括:
主控制处理器,被配置为发送所述目标指令。
7.根据权利要求6所述的集成电路,其特征在于,所述目标指令为所述通用指令,所述指令控制电路为所述主控制处理器;
所述主控制处理器还被配置为响应于所述相关性表征所述第一地址范围与各所述第二地址范围均未产生重叠,控制所述通用指令处于执行状态。
8.一种控制方法,其特征在于,所述方法包括:
获取目标指令;
根据所述目标指令的第一地址范围,确定所述目标指令与各非目标指令之间的相关性,所述相关性表征所述第一地址范围与各所述非目标指令的第二地址范围是否产生重叠;
响应于所述相关性表征所述第一地址范围与至少一个非目标指令的第二地址范围产生重叠,控制所述目标指令处于等待状态。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
确定所述目标指令的类别;
根据所述类别发送所述第一地址范围和所述目标指令,以确定各所述相关性。
10.一种电子设备,其特征在于,所述电子设备包括至少一个如权利要求1-7中任一项所述的集成电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111164993.2A CN115903558A (zh) | 2021-09-30 | 2021-09-30 | 集成电路、控制方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111164993.2A CN115903558A (zh) | 2021-09-30 | 2021-09-30 | 集成电路、控制方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115903558A true CN115903558A (zh) | 2023-04-04 |
Family
ID=86495366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111164993.2A Pending CN115903558A (zh) | 2021-09-30 | 2021-09-30 | 集成电路、控制方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115903558A (zh) |
-
2021
- 2021-09-30 CN CN202111164993.2A patent/CN115903558A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9262160B2 (en) | Load latency speculation in an out-of-order computer processor | |
CN100533416C (zh) | 控制处理环境的数据传输的方法和系统 | |
KR20050089030A (ko) | 이중 용도 레지스터를 식별하는 어드레스 지정 패턴에기반한 데이터 추측 | |
CA2497807A1 (en) | Vector processing apparatus with overtaking function | |
KR102217749B1 (ko) | 전자 장치 및 이의 기능 실행 방법 | |
CN111208933B (zh) | 数据访问的方法、装置、设备和存储介质 | |
CN107817962B (zh) | 一种远程控制方法、装置、控制服务器及存储介质 | |
JP4334598B1 (ja) | 情報処理装置およびエラー訂正方法 | |
US20120011490A1 (en) | Development system | |
US20140331025A1 (en) | Reconfigurable processor and operation method thereof | |
US20050060690A1 (en) | Microprocessor system with software emulation processed by auxiliary hardware | |
CN115903558A (zh) | 集成电路、控制方法和电子设备 | |
WO2018107331A1 (zh) | 计算机系统及内存访问技术 | |
US10318424B2 (en) | Information processing device | |
CN116243978A (zh) | 分布式训练中的数据规约方法、装置、介质和训练系统 | |
US20210382766A1 (en) | Data processing | |
US10958597B2 (en) | General purpose ring buffer handling in a network controller | |
US9400758B2 (en) | Reset method and network device | |
JP2012128581A (ja) | 通信コード生成装置および関数利用コンピュータおよび関数公開コンピュータおよびコンピュータシステムおよび通信コード生成方法およびプログラム | |
US8839207B2 (en) | Debugging extensible markup language | |
CN105302639B (zh) | PowerPC向量协处理器译码电路中动态调度方法 | |
CN112261072A (zh) | 一种服务调用方法、装置、设备和存储介质 | |
CN115878181A (zh) | 集成电路、控制方法和电子设备 | |
CN115454693B (zh) | 写后读异常的检测方法、装置、控制器、处理器及介质 | |
CN114371826A (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 |