CN116643641A - 指令处理方法及装置、计算机可读介质、处理器 - Google Patents
指令处理方法及装置、计算机可读介质、处理器 Download PDFInfo
- Publication number
- CN116643641A CN116643641A CN202210138306.8A CN202210138306A CN116643641A CN 116643641 A CN116643641 A CN 116643641A CN 202210138306 A CN202210138306 A CN 202210138306A CN 116643641 A CN116643641 A CN 116643641A
- Authority
- CN
- China
- Prior art keywords
- task
- attribute information
- module
- register
- current task
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 17
- 230000002618 waking effect Effects 0.000 claims abstract description 15
- 238000004364 calculation method Methods 0.000 claims description 41
- 230000007958 sleep Effects 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 6
- 230000005059 dormancy Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 38
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 8
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
Abstract
本公开具体涉及计算机技术领域,具体涉及一种指令处理方法、一种指令处理装置、一种计算机可读介质以及一种处理器。所述方法包括:通过任务触发模块接收业务系统对当前任务的调用请求,并存储所述当前任务对应的任务属性信息;以及唤醒微控制单元,并向所述任务触发模块读取调用请求和任务属性信息,以用于根据所述调用请求和任务属性信息确定所述当前任务对应的目标计算引擎;唤醒所述目标计算引擎,以执行所述当前任务。本公开的技术方案能够实现对NPU功耗的精细化管理。
Description
技术领域
本公开涉及计算机技术领域,具体涉及一种指令处理方法、一种指令处理装置、一种计算机可读介质以及一种处理器。
背景技术
随着人工智能应用场景的普及,人工智能处理器部署到了越来越多的终端设备上,对于性能和功耗的要求也越来越高,如何在保证运行性能的前提下降低功耗成为了一个需要重点研究的方向。对于神经网络处理器(Neural-Network Processing Unit,NPU)而言,与传统的处理器不同,其数据处理的粒度通常是多维数据张量,需要大量的运算单元进行处理;此外,大量数据在传输过程也是功耗消耗的一个原因。然而,目前对于NPU系统的功耗管理策略一般采用大颗粒度的通电和掉电的操作;例如,当NPU处于空闲时,可以让NPU进行掉电操作,以节省功耗。然而,这样的功耗管理并不能实现精细化的管理。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供一种指令处理方法、一种指令处理装置、一种计算机可读介质以及一种处理器,能够实现对NPU功耗的精细化管理。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种指令处理方法,应用于处理器,所述方法包括:
通过任务触发模块接收业务系统对当前任务的调用请求,并存储所述当前任务对应的任务属性信息;以及
唤醒微控制单元,并向所述任务触发模块读取调用请求和任务属性信息,以用于根据所述调用请求和任务属性信息确定所述当前任务对应的目标计算引擎;
唤醒所述目标计算引擎,以执行所述当前任务。
根据本公开的第二方面,提供一种指令处理装置,应用于处理器,所述装置包括:
触发模块,用于通过任务触发模块接收业务系统对当前任务的调用请求,并存储所述当前任务对应的任务属性信息;以及
第一唤醒控制模块,用于唤醒微控制单元,并向所述任务触发模块读取调用请求和任务属性信息,以用于根据所述调用请求和任务属性信息确定所述当前任务对应的目标计算引擎;
第二唤醒控制模块,用于唤醒所述目标计算引擎,以执行所述当前任务。
根据本公开的第三方面,提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的指令处理方法。
根据本公开的第四方面,提供一种处理器,包括:
任务触发模块,用于接收业务系统对当前任务的调用请求,并存储所述当前任务对应的任务属性信息;
微控制单元,用于被唤醒后向所述任务触发模块读取调用请求和任务属性信息,以用于根据所述调用请求和任务属性信息确定所述当前任务对应的目标计算引擎;
计算引擎,用于被唤醒后执行所述当前任务。
本公开的一种实施例所提供的指令处理方法,通过在神经网络处理器中配置任务触发模块,并利用该任务触发模块来接收外部业务系统的调用请求,并存储对应的任务属性信息;再通过电源管理模块唤醒微控制单元,是微控制单元向任务触发模块中读取调用请求和任务属性信息,并以此确定当前任务所需的目标计算引擎;再通过电源管理模块唤醒目标计算引擎来执行当前任务以获取当前任务的结果数据。实现了对微控制单元、计算引擎的逐步、分批唤醒,实现细粒度的管理机制,继而实现了更精细的功耗管理。并且,通过根据任务属性信息确定并仅唤醒必要数量的计算引擎,可以最大化的降低功耗。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开示例性实施例中一种神经网络处理器的构成的示意图;
图2示意性示出本公开示例性实施例中一种指令处理方法的示意图;
图3示意性示出本公开示例性实施例中一种指令处理方法的示意图;
图4示意性示出本公开示例性实施例中一种指令处理方法的示意图;
图5示意性示出本公开示例性实施例中一种微控制单元进入保持模式的方法的示意图;
图6示意性示出本公开示例性实施例中一种指令处理装置的组成示意图;
图7示意性示出本公开示例性实施例中一种处理器的组成示意图;
图8示意性示出本公开示例性实施例中一种处理器的组成示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在相关技术中,对于NPU而言,一般的功耗管理策略往往是大颗粒度的通电和掉电的操作。例如,当NPU处于空闲时,可以让NPU进行掉电操作,以节省功耗。虽然在芯片的设计上较为简单,但是对于整个系统来说,对于整体性能上可能会有一定的影响,举例来说,NPU从完全断电到通电,硬件上大概需要100us的时间,此外,软件上需要大概几百us的时间对NPU进行初始化配置,此外,把NPU从休眠模式唤醒也需要消耗一定的功耗,所以,这种NPU唤醒的管理策略并没有做到精细化的管理。
针对上述的现有技术的缺点和不足,本示例实施方式中提供了一种指令处理方法,以及一种指令处理方法。参考图2中所示,上述的指令处理方法可以包括:
步骤S11,通过任务触发模块接收业务系统对当前任务的调用请求,并存储所述当前任务对应的任务属性信息;以及
步骤S12,唤醒微控制单元,并向所述任务触发模块读取调用请求和任务属性信息,以用于根据所述调用请求和任务属性信息确定所述当前任务对应的目标计算引擎;
步骤S13,唤醒所述目标计算引擎,以执行所述当前任务。
本示例实施方式所提供的指令处理方法,通过在神经网络处理器中配置任务触发模块,并利用该任务触发模块来接收外部业务系统的调用请求,并存储对应的任务属性信息;再通过电源管理模块唤醒微控制单元,是微控制单元向任务触发模块中读取调用请求和任务属性信息,并以此确定当前任务所需的目标计算引擎;再通过电源管理模块唤醒目标计算引擎来执行当前任务以获取当前任务的结果数据。实现了对微控制单元、计算引擎的逐步、分批唤醒,实现细粒度的管理机制,继而实现了更精细的功耗管理。并且,通过根据任务属性信息确定并仅唤醒必要数量的计算引擎,可以最大化的降低功耗。
下面,将结合附图及实施例对本示例实施方式中的指令处理方法的各个步骤进行更详细的说明。
本示例实施方式中,上述的指令处理方法可以应用于神经网络处理器NPU。参考图1所示,神经网络处理器12的基本结构可以包括微控制单元124、中断控制模块125、数字信号计算引擎123、张量向量计算引擎122、任务触发模块126、内部总线128;以及电源管理模块121。其中,微控制单元MCU可以用于负责协调NPU内部整体的工作,并分配每一个计算引擎的工作。张量向量计算引擎(Tensor&Vector Engine)可以多核结构,负责人工智能算法网络中适合使用专用电路进行加速的部分,比如卷积算子,池化算子,缩放算子等。而对于一些不适合使用专用电路进行加速的算子,MCU可以将其分配至数字信号(DSP)计算引擎执行。其中,数字信号计算引擎123与张量向量计算引擎122之间配置有一个数据通路131、便于两个计算引擎之间进行数据交互。在NPU内部总线128的slave端(从属设备端),配置有一个片上存储器(on chip memory)127,可以用于计算引擎进行源数据的读取和结果数据的写回。任务触发模块126可以包括两个寄存器组;其中,第一寄存器1261可以是投票寄存器(voting register),用于接收并存储来自于其他模块、外部业务系统的调用请求;例如,接收外部的音频(Audio)子系统111、视频(Video)子系统112、显示系统113的调用请求。上述的第二寄存器1262可以是任务(Task)寄存器组,用于写入任务的属性数据。
在步骤S11中,通过任务触发模块接收业务系统对当前任务的调用请求,并存储所述当前任务对应的任务属性信息。
本示例实施方式中,参考图1所示,所述任务触发模块126包括第一寄存器1261、第二寄存器1262。上述的步骤S11具体可以包括:通过任务触发模块的第一寄存器接收所述当前任务的调用请求;以及,将所述当前任务对应的任务属性信息写入所述任务触发模块的第二寄存器。
具体而言,在初始状态下,除任务触发模块外,NPU内各部分处于休眠状态。当业务系统需要调用神经网络处理器执行算法进行计算时来获取一计算任务的结果数据时,可以首先将需要NPU处理的元数据保存在如图1中所示的系统内存114或者系统缓存(SystemCache)115中。其中,系统内容例如可以是DDR(Double Data Rate,双倍数据速率)存储器。举例而言,若当前任务为图像识别过程的特征图计算过程,则源数据可以是对应的特征图像数据。
同时,业务系统可以利用与第一寄存器之间的直通通路通知需要调用NPU的需求;即,将当前计算任务的调用请求发送至第一寄存器中。以及,将该当前计算任务的任务属性信息写入第二寄存器。其中,任务属性信息可以包括:任务的大小,任务的源数据地址,处理完毕后结果数据的存放地址等信息。此外,还可以包括数据计算的类型,以及数据计算所需的计算引擎类型;即,当前的任务计算需要的张量向量计算引擎和/或数字信号计算引擎。
在一些示例性实施方式中,各外部业务系统与任务触发模块之间可以设置有数据通路,便于业务系统将数据写入第一寄存器和第二寄存器。或者,也可以是所述第一寄存机与所述业务系统之间设置有直通通路;所述业务系统通过所述直通通路将所述调用请求发送至所述任务触发模块的第一寄存器。
在步骤S12中,唤醒微控制单元,并向所述任务触发模块读取调用请求和任务属性信息,以用于根据所述调用请求和任务属性信息确定所述当前任务对应的目标计算引擎。
本示例实施方式中,参考图1所示,电源管理模块121可以是NPU内部的电源管理模块,用于为NPU内部各模块提供电能。或者,在本公开的其他示例性实施例中,该电源管理模块121也可以是NPU外部的电源管理模块,用于为各业务子系统、NPU提供电能。各业务子系统可以与电源管理模块121连接,并进行数据交互和指令的传输。
具体而言,业务系统在向第一寄存器、第二寄存器写入数据时,还可以向电源管理模块发送NPU唤醒的控制/启动指令。电源管理模块在接收到NPU唤醒指令时,便可以对微控制单元124进行上电操作。此外,如图1所示,微控制单元124与电源管理模块121之间还可以设置有一中断控制模块125;电源管理模块对微控制的单元的上电、掉电操作可以首先通过中断控制模块,避免微控制单元因为频繁的电源控制操作而意外损坏。例如,在微控制单元为工作状态时,中断控制模块在接收到电源控制模块的上电操作时,阻截该上电操作。或者,在微控制单元在休眠状态时,若中断控制模块接收到电源控制模块的掉电操作,则阻截该掉电操作。即,中断控制模块可以在上电、掉电前对微控制单元的状态进行检查。
微控制单元在被唤醒后,首先向第一寄存器中读取调用请求,以确定当前调用请求的发起对象;同时,向第二寄存器中读取任务属性数据,根据任务数据的大小,需要的计算引擎类型来确定具体使用哪些计算引擎,以及对应的计算引擎的数量,即确定目标计算引擎。上述的目标计算引擎可以是一个或多个,也可以是一种或多种类型的计算引擎。
在步骤S13中,唤醒所述目标计算引擎,以执行所述当前任务。
本示例实施方式中,具体而言,上述的唤醒所述目标计算引擎可以包括:微控制单元向电源管理模块发送唤醒指令,以使所述电源管理模块执行所述唤醒指令并唤醒所述目标计算引擎。
举例来说,上述的唤醒指令为计算引擎唤醒指令,可以包括计算引擎的标识信息。电源管理模块在接收到该计算引擎唤醒指令时,便可以唤醒指定的目标计算引擎。
具体而言,上述的执行所述当前任务可以包括:所述目标引擎向所述任务触发模块的第二寄存器中读取任务属性信息,根据所述任务属性信息向系统缓存中读取所述当前任务对应的源数据,并将所述源数据写入所述片上存储器,以用根据所述源数据进行计算;以及所述目标计算引擎将所述当前任务的结果数据写回所述片上存储器。
举例来说,计算引擎被唤醒后,便可以向第二寄存器中读取任务属性信息,确定具体的计算内容,读取源数据并进行计算。在NPU的外侧,可以通过系统总线116访问系统总线slave端的DDR内存或者系统缓存。举例来说,数字信号处理计算引擎和所述张量向量计算引擎之间设置有用于数据交互的数据通路;例如,计算过程中,卷积层使用张量引擎进行计算,激活函数使用DSP计算引擎完成,当卷积层数据处理完成之后,中间结果数据课可以通过数据通路直接送到DSP计算引擎进行处理。这样,中间结果数据就不需要送回OCM(onchip memory,片上存储器),避免了中间数据在OCM上的频繁写入和读取,有效的节约了计算时间。
在生成结果数据后,将其写回片上存储器;再将结果数据从片上存储器写入指定的结果数据存放地址。
此外,在本公开的其他示例性实施方式上,基于上述内容,参考图3所示,上述的方法还可以包括:
步骤S14,在所述当前任务完成后,微控制单元读取所述任务触发模块并确定当前所述任务触发模块为空时,向电源管理模块发送计算引擎休眠控制指令,以使电源管理模块切断所述目标计算引擎的电源。
具体而言,在当前任务的计算结果写入指定的结果数据存放地址后,MCU便可以再次读取第一寄存器;若第一寄存器中包含未执行的计算任务,则执行上述的方法来完成该计算任务。或者,若第一寄存器和/或第二寄存器为空,则生成计算引擎休眠控制指令并发送至电源控制模块;电源控制模块在接收到该指令后,将已启动的计算引擎进行掉电操作,使计算引擎进入休眠模式。
此外,在本公开的一些示例性实施方式中,参考图4所示,上述的方法还可以包括:
步骤S15,微控制单元读取所述任务触发模块并在预设时长内所述任务触发模块为空时,向电源管理模块发送微控单元管理指令,以使电源管理模块切断所述微控制单元的电源,使所述微控制单元进入休眠模式或保持模式。
具体而言,如果在一段时长内没有新的计算任务,则MCU会通知电源管理模块让MCU自己进入休眠模式或者保持模式。如MCU需要进入休眠模式,则电源管理模块需要切断MCU的供电,再次启动时,MCU需要重新上电。
在一些示例性实施方式中,参考图5所示,所述微控制单元进入保持模式时,所述方法还包括:
步骤S151,将所述微控制单元的唤醒数据保存至备份寄存器中;
步骤S152,在保持模式下唤醒所述微控制单元时,利用所述备份寄存器和工作寄存器之间的数据通路将所述唤醒数据写入所述工作寄存器,以唤醒所述微控制单元;其中,所述备份寄存器使用低电压。
具体而言,若MCU进入休眠模式,再次启动时,MCU需要重新上电,并且需要软件进行初始化序列的配置,时间上较长。因此,在一些情况下,MCU可以选择进入保持模式。
具体的,可以为MCU配置一备份寄存器,备份寄存器与MCU原有的工作寄存器之间存在一个数据通路,工作寄存器使用正常的工作电压,备份寄存器使用更低的电压进行数据的保持。当MCU选择进入保持状态时,需要首先把工作寄存器中的数据存储到备份寄存器中,并提供更低的电压进行数据维持,与此同时,切断工作电压,这样,唤醒MCU所需要的基本的唤醒数据就被备份到了备份寄存器中,当MCU需要从保持模式切换到正常工作模式的时候,只需要上电之后,把数据从备份寄存器搬运到工作寄存器,然后切断低电压即可。其中,上述的唤醒数据可以是MCU的配置数据。
另外,在本示例性实施方式中,对于片上存储器127而言,也可以对SRAM(StaticRandom-Access Memory,静态随机存取存储器)进行区域划分,一部分区域是可以用于进入保持模式;另一分部区域只能有通电和断电两种模式,即用于休眠模式。如果有一些MCU唤醒所需要的必要的数据信息存储到在SRAM中,那么如果进入休眠状态完全断电会影响唤醒时的时间,那么可以把这些数据放入到可以进入保持模式的存储空间中。
本公开实施例所提供的指令处理方法,外部业务系统在将当前任务的调用请求写入任务触发模块后,可以首先唤醒NPU内部的MCU,使MCU可以向第一寄存器、第二寄存器分别读取调用请求和任务属性数据,以确定目标计算引擎并唤醒该些技术引擎;从而实现对NPU内部模块的分批唤醒,实现更精细的功耗管理策略。此外,在没有计算任务时,可以将计算引擎进入休眠状态,使MCU有选择的进入休眠或保持状态,在性能上影响最小,且最大化的降低功耗。通过根据计算任务有选择性的唤醒计算引擎,避免粗粒度管理带来的性能上的损失。
需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
进一步的,参考图6所示,本示例的实施方式中还提供一种指令处理装置60,应用于处理器,所述装置包括:触发模块601、第一唤醒控制模块602、第二唤醒控制模块603。其中,
所述触发模块601可以用于通过任务触发模块接收业务系统对当前任务的调用请求,并存储所述当前任务对应的任务属性信息。
所述第一唤醒控制模块602可以用于唤醒微控制单元,并向所述任务触发模块读取调用请求和任务属性信息,以用于根据所述调用请求和任务属性信息确定所述当前任务对应的目标计算引擎。
所述第二唤醒控制模块603可以用于唤醒所述目标计算引擎,以执行所述当前任务。
进一步的,参考图7所示,本示例的实施方式中还提供一种处理器70,包括:任务触发模块701、微控制单元702、目标计算引擎703。其中,
所述任务触发模块701可以用于接收业务系统对当前任务的调用请求,并存储所述当前任务对应的任务属性信息。
所述微控制单元702可以用于被唤醒后向所述任务触发模块读取调用请求和任务属性信息,以用于根据所述调用请求和任务属性信息确定所述当前任务对应的目标计算引擎。
所述计算引擎703可以用于被唤醒后执行所述当前任务。
在一些示例性实施方式中,参考图8所示,对应于上述的图1中所示的处理器构成,处理器70还可以包括:电源管理模块704、中断控制模块705、片上存储器706。
其中,任务触发模块701可以包括投票寄存器(voting register),用于接收并存储来自于其他模块、外部业务系统的调用请求;以及,任务(Task)寄存器组,用于写入任务的属性数据。上述的计算引擎703可以包括数字信号计算引擎、张量向量计算引擎,数字信号计算引擎、张量向量计算引擎之间可以设置有用于数据交互的数据通路。微控制单元与电源管理模块之间还可以设置有一中断控制模块,用于对微控制单元的电源管控。处理器内部各模块之间可以通过内部总线进行数据交互。
上述的指令处理装置60、处理器70中各模块的具体细节已经在对应的指令处理方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
需要说明的是,作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图2所示的各个步骤。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (12)
1.一种指令处理方法,其特征在于,应用于处理器,所述方法包括:
通过任务触发模块接收业务系统对当前任务的调用请求,并存储所述当前任务对应的任务属性信息;以及
唤醒微控制单元,并向所述任务触发模块读取调用请求和任务属性信息,以用于根据所述调用请求和任务属性信息确定所述当前任务对应的目标计算引擎;
唤醒所述目标计算引擎,以执行所述当前任务。
2.根据权利要求1所述的指令处理方法,其特征在于,所述任务触发模块包括第一寄存器、第二寄存器;所述通过任务触发模块接收业务系统对当前任务的调用请求,并存储所述当前任务对应的任务属性信息,包括:
通过任务触发模块的第一寄存器接收所述当前任务的调用请求;以及,将所述当前任务对应的任务属性信息写入所述任务触发模块的第二寄存器。
3.根据权利要求2所述的指令处理方法,其特征在于,所述第一寄存机与所述业务系统之间设置有直通通路;
所述通过任务触发模块的第一寄存器接收所述当前任务的调用请求,包括:
所述业务系统通过所述直通通路将所述调用请求发送至所述任务触发模块的第一寄存器。
4.根据权利要求1所述的指令处理方法,其特征在于,所述唤醒所述目标计算引擎,包括:
微控制单元向电源管理模块发送唤醒指令,以使所述电源管理模块执行所述唤醒指令并唤醒所述目标计算引擎。
5.根据权利要求1或4所述的指令处理方法,其特征在于,所述执行所述当前任务,包括:
所述目标引擎向所述任务触发模块的第二寄存器中读取任务属性信息,根据所述任务属性信息向系统缓存中读取所述当前任务对应的源数据,并将所述源数据写入所述片上存储器,以用根据所述源数据进行计算;以及
所述目标计算引擎将所述当前任务的结果数据写回所述片上存储器。
6.根据权利要求1所述的指令处理方法,其特征在于,所述方法还包括:
在所述当前任务完成后,微控制单元读取所述任务触发模块并确定当前所述任务触发模块为空时,向电源管理模块发送计算引擎休眠控制指令,以使电源管理模块切断所述目标计算引擎的电源。
7.根据权利要求1或6所述的指令处理方法,其特征在于,所述方法还包括:
微控制单元读取所述任务触发模块并在预设时长内所述任务触发模块为空时,向电源管理模块发送微控单元管理指令,以使电源管理模块切断所述微控制单元的电源,使所述微控制单元进入休眠模式或保持模式。
8.根据权利要求7所述的方法,其特征在于,所述微控制单元进入保持模式时,所述方法还包括:
将所述微控制单元的唤醒数据保存至备份寄存器中;
在保持模式下唤醒所述微控制单元时,利用所述备份寄存器和工作寄存器之间的数据通路将所述唤醒数据写入所述工作寄存器,以唤醒所述微控制单元;其中,所述备份寄存器使用低电压。
9.根据权利要求1所述的方法,其特征在于,所述目标计算引擎包括:数字信号处理计算引擎、张量向量计算引擎;所述数字信号处理计算引擎和所述张量向量计算引擎之间设置有用于数据交互的数据通路。
10.一种指令处理装置,其特征在于,应用于处理器,所述装置包括:
触发模块,用于通过任务触发模块接收业务系统对当前任务的调用请求,并存储所述当前任务对应的任务属性信息;以及
第一唤醒控制模块,用于唤醒微控制单元,并向所述任务触发模块读取调用请求和任务属性信息,以用于根据所述调用请求和任务属性信息确定所述当前任务对应的目标计算引擎;
第二唤醒控制模块,用于唤醒所述目标计算引擎,以执行所述当前任务。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的指令处理方法。
12.一种处理器,其特征在于,包括:
任务触发模块,用于接收业务系统对当前任务的调用请求,并存储所述当前任务对应的任务属性信息;
微控制单元,用于被唤醒后向所述任务触发模块读取调用请求和任务属性信息,以用于根据所述调用请求和任务属性信息确定所述当前任务对应的目标计算引擎;
计算引擎,用于被唤醒后执行所述当前任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210138306.8A CN116643641A (zh) | 2022-02-15 | 2022-02-15 | 指令处理方法及装置、计算机可读介质、处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210138306.8A CN116643641A (zh) | 2022-02-15 | 2022-02-15 | 指令处理方法及装置、计算机可读介质、处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116643641A true CN116643641A (zh) | 2023-08-25 |
Family
ID=87617544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210138306.8A Pending CN116643641A (zh) | 2022-02-15 | 2022-02-15 | 指令处理方法及装置、计算机可读介质、处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116643641A (zh) |
-
2022
- 2022-02-15 CN CN202210138306.8A patent/CN116643641A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9436251B2 (en) | Fast platform hibernation and resumption of computing systems | |
US7869835B1 (en) | Method and system for pre-loading and executing computer instructions within the cache memory | |
US8732504B2 (en) | Conserving power by reducing voltage supplied to an instruction-processing portion of a processor | |
US9317299B2 (en) | Method and device for cold starting android mobile terminal | |
JP2011521365A (ja) | 電力消費低減のためのスリープ状態を提供する補助メモリ制御器を有する集積回路及びそのための方法 | |
JP4175838B2 (ja) | 待機モード付情報処理装置およびその待機モード開始方法と待機モード解除方法 | |
US7581129B2 (en) | Dynamic power control for reduced voltage level of graphics controller component of memory controller based on its degree of idleness | |
US20110296095A1 (en) | Data movement engine and memory control methods thereof | |
TWI436199B (zh) | 電源管理控制器與方法 | |
US20090201082A1 (en) | Integrated circuit device having power domains and partitions based on use case power optimization | |
US20140189198A1 (en) | Memory allocation for fast platform hibernation and resumption of computing systems | |
US20030070065A1 (en) | Suspending to nonvolatile storage | |
TWI224728B (en) | Method and related apparatus for maintaining stored data of a dynamic random access memory | |
WO2005069148A2 (en) | Memory management method and related system | |
US20020103984A1 (en) | Information processing system, information processing method and readable-by-computer recording medium | |
CN116643641A (zh) | 指令处理方法及装置、计算机可读介质、处理器 | |
JP4235884B2 (ja) | ノイズ低減装置、ノイズ低減方法及びプログラム | |
CN115993996B (zh) | 一种基于rtos实现休眠模式的方法和系统 | |
WO2023206693A1 (zh) | 系统休眠方法及装置、系统唤醒方法及装置 | |
WO2024036452A1 (zh) | 一种处理装置及相关低功耗待机控制方法 | |
US20230376381A1 (en) | Checkpoint-progress status | |
CN116643642A (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 |