CN117112025B - 处理部件的指令执行方法、装置、设备及存储介质 - Google Patents

处理部件的指令执行方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117112025B
CN117112025B CN202311351090.4A CN202311351090A CN117112025B CN 117112025 B CN117112025 B CN 117112025B CN 202311351090 A CN202311351090 A CN 202311351090A CN 117112025 B CN117112025 B CN 117112025B
Authority
CN
China
Prior art keywords
instruction sequence
instruction
target
target instruction
sequence
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
CN202311351090.4A
Other languages
English (en)
Other versions
CN117112025A (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.)
Beijing Open Source Chip Research Institute
Original Assignee
Beijing Open Source Chip Research Institute
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 Beijing Open Source Chip Research Institute filed Critical Beijing Open Source Chip Research Institute
Priority to CN202311351090.4A priority Critical patent/CN117112025B/zh
Publication of CN117112025A publication Critical patent/CN117112025A/zh
Application granted granted Critical
Publication of CN117112025B publication Critical patent/CN117112025B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本申请提供了一种处理部件的指令执行方法、系统、装置、电子设备及计算机可读存储介质,包括:响应于至少一个目标功能的执行指令,读取所述处理部件中存储的与每个所述目标功能对应的目标指令序列并串行执行;在执行第一目标指令序列的第一延时时长中,若检测到除当前执行的第一目标指令序列之外的第二目标指令序列触发了指令操作,则切换至执行所述第二目标指令序列的指令操作。本申请基于一个内置部件中存储的多个目标指令序列,即可实现MCU所需的多个目标功能,无需布置多个模块,降低了MCU的生产成本。

Description

处理部件的指令执行方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种处理部件的指令执行方法、装置、电子设备及计算机可读存储介质。
背景技术
在微控制单元(MCU,Microcontroller Unit)的芯片设计中,一般需要MCU能够实现多种功能,从而提升MCU的应用价值。
目前,MCU会基于每个需要实现的功能,对应内置一个实现该功能的部件,当MCU需要实现多个功能时,MCU中可以集成多个功能各自对应的部件,不同部件相互独立运行。
但是,MCU中多个部件的集成,导致MCU的生产成本大幅增加。
发明内容
本申请实施例提供一种处理部件的指令执行方法、装置、电子设备及计算机可读存储介质,以解决相关技术中的问题。
第一方面,本申请实施例提供了一种处理部件的指令执行方法,应用于微控制单元中的处理部件,所述方法包括:
响应于至少一个目标功能的执行指令,读取所述处理部件中存储的与每个所述目标功能对应的目标指令序列并串行执行;所述处理部件中存储有与不同功能分别对应的指令序列;
在执行第一目标指令序列的过程中,确定所述第一目标指令序列的执行过程中所设定的第一延时时长;所述第一延时时长为第一目标指令序列的相邻两次指令操作的间隔时间;所述第一目标指令序列是所有所述目标指令序列中的任一序列;
在所述第一延时时长中,若检测到除当前执行的第一目标指令序列之外的第二目标指令序列触发了指令操作,则切换至执行所述第二目标指令序列的指令操作。
第二方面,本申请实施例提供了一种处理部件的指令执行装置,应用于微控制单元中的处理部件,所述装置包括:
读取模块,用于响应于至少一个目标功能的执行指令,读取所述处理部件中存储的与每个所述目标功能对应的目标指令序列并串行执行;所述处理部件中存储有与不同功能分别对应的指令序列;
确定模块,用于在执行第一目标指令序列的过程中,确定所述第一目标指令序列的执行过程中所设定的第一延时时长;所述第一延时时长为第一目标指令序列的相邻两次指令操作的间隔时间;所述第一目标指令序列是所有所述目标指令序列中的任一序列;
调度模块,用于在所述第一延时时长中,若检测到除当前执行的第一目标指令序列之外的第二目标指令序列触发了指令操作,则切换至执行所述第二目标指令序列的指令操作。
第三方面,本申请实施例还提供了一种电子设备,包括处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现所述第一方面的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行所述第一方面的方法。
本申请实施例的MCU基于一个内置部件,即可通过对MCU当前所启用的目标功能对应的目标指令序列进行读取并串行执行,并利用每个目标指令序列执行时所设定的延时时长,在该延时时长中调度执行其他可执行的目标指令序列的指令操作,在各个目标指令序列相互独立执行的基础上,实现了目标指令序列分时复用调度的执行机制,节省了延时时长等待带来的性能损失,从而本申请实施例基于一个内置部件中存储的多个目标指令序列,即可实现MCU所需的多个目标功能,无需布置多个模块,降低了MCU的生产成本。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种微控制单元的结构框图;
图2是本申请实施例提供的一种处理部件的指令执行方法的步骤流程图;
图3是本申请实施例提供的一种处理部件的指令执行方法的具体步骤流程图;
图4是本申请实施例提供的一种UART指令序列发送数据的波形图;
图5是本申请实施例提供的一种处理部件的指令执行装置的框图;
图6是本发明实施例提供的一种电子设备的框图;
图7是本发明另一个实施例的另一种电子设备的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
参照图1,图1是本申请实施例提供的一种微处理单元的结构示意框图,微处理单元包括:处理部件;处理部件包括处理模块和存储器。
其中,存储器中可以存储有n个指令序列,每个指令序列对应一个功能,指令序列包括多个按次序执行的操作指令,指令序列中操作指令的执行用于实现其对应的功能,存储器中支持多种功能各自对应的指令序列的存储,例如,存储器中可以存储对应通用异步收发器(UART,Universal Asynchronous Receiver-Transmitter)功能的UART指令序列、对应脉冲宽度调制(PWM,Pulse width modulation)功能的PWM指令序列等,UART功能用于实现预设波特率进行数据收发;PWM用于实现PWM波形的输出。
处理模块用于基于MCU当前所启用的目标功能,从存储器中读取与目标功能对应的目标指令序列并串行执行,处理模块可以与MCU的内核进行交互,如获取MCU的内核发送的数据、向MCU的内核传输数据等,具体在处理模块执行目标指令序列的过程中,可以利用每个目标指令序列执行时所设定的延时时长,在该延时时长中调度执行其他可执行的目标指令序列的指令操作,从而在各个目标指令序列相互独立执行的基础上,实现了目标指令序列分时复用调度的执行机制,提升了目标指令序列的执行效率。
由此,本申请实施例的MCU基于一个内置部件,即可通过对MCU当前所启用的目标功能对应的目标指令序列进行读取并串行执行,并利用每个目标指令序列执行时所设定的延时时长,在该延时时长中调度执行其他可执行的目标指令序列的指令操作,在各个目标指令序列相互独立执行的基础上,实现了目标指令序列分时复用调度的执行机制,节省了延时时长等待带来的性能损失,从而本申请实施例基于一个内置部件中存储的多个目标指令序列,即可实现MCU所需的多个目标功能,无需布置多个模块,降低了MCU的生产成本。
图2,是本申请实施例提供的一种处理部件的指令执行方法的步骤流程图,如图2所示,该方法可以包括:
步骤101、响应于至少一个目标功能的执行指令,读取所述处理部件中存储的与每个所述目标功能对应的目标指令序列并串行执行。
其中,所述处理部件中存储有与不同功能分别对应的指令序列。
在本申请实施例中,基于MCU所需要实现的特定功能,可以通过MCU内置的处理部件对该功能所对应的指令序列进行执行所实现,并且在实际应用中,MCU往往需要实现多个目标功能,则本申请实施例可以在MCU内置的一个处理部件中,存储与不同功能分别对应的指令序列,指令序列包括多个按次序执行的操作指令,指令序列中操作指令的执行用于实现其对应的功能。
在后续MCU启用至少一个目标功能时,处理部件可以读取存储的与每个目标功能对应的目标指令序列并串行执行,这样可以在仅配置一个处理部件的基础上,满足MCU实现多个功能的需求,而不必单纯的通过增加处理模块的数量和种类来满足MCU实现多个功能的需求,从而降低MCU的生产成本。
需要说明的是,读取与目标功能对应的目标指令序列并串行执行,意思是处理部件同一时刻只执行一个目标指令序列,执行目标指令序列的过程中,也是串行执行目标指令序列包括的多个依次排列的操作指令。
步骤102、在执行第一目标指令序列的过程中,确定所述第一目标指令序列的执行过程中所设定的第一延时时长。
其中,所述第一延时时长为第一目标指令序列的相邻两次指令操作的间隔时间;所述第一目标指令序列是所有所述目标指令序列中的任一序列。
在本申请实施例中,指令序列中的操作指令的执行过程,可以通过设定延时时长来将相邻两个操作指令进行间隔,即一个操作指令执行完等待延时时长后,再执行下一个操作指令。
例如,UART指令序列可以包括发送数据的操作指令,该操作指令的执行可发送一位数据,则在发送数据的过程中,可以通过固定的延时时长,将数据一位一位的发送出去,相邻两个发送数据的操作指令之间间隔该延时时长,延时时长可以由UART指令序列设定的波特率来控制。
在该步骤中,执行第一目标指令序列的过程中,若处理部件检测到一个指令操作执行完成,并即将进入第一延时时长的等待,则处理部件可以记录该第一延时时长,并进入步骤103的执行过程。
步骤103、在所述第一延时时长中,若检测到除当前执行的第一目标指令序列之外的第二目标指令序列触发了指令操作,则切换至执行所述第二目标指令序列的指令操作。
实际应用中,若执行第一目标指令序列的过程中进入第一延时时长的等待,且该等待过程不进行其他操作,则处理部件在第一延时时长的等待过程中算力处于空闲状态,这是一种算力资源的浪费。
在本申请实施例中,则可以利用第一延时时长去执行其他的第二目标指令序列,保证了不同目标指令序列相互独立执行并互不干扰的前提下,对算力资源的充分利用。该过程具体是在第一延时时长中检测到第二目标指令序列触发了指令操作的情况下,切换至执行第二目标指令序列的指令操作,在第一延时时长结束后可以恢复第一目标指令序列的继续执行。从而本申请实施例在各个目标指令序列相互独立执行的基础上,实现了目标指令序列分时复用调度的执行机制,提升了目标指令序列的执行效率。
综上,本申请实施例的MCU基于一个内置部件,即可通过对MCU当前所启用的目标功能对应的目标指令序列进行读取并串行执行,并利用每个目标指令序列执行时所设定的延时时长,在该延时时长中调度执行其他可执行的目标指令序列的指令操作,在各个目标指令序列相互独立执行的基础上,实现了目标指令序列分时复用调度的执行机制,节省了延时时长等待带来的性能损失,从而本申请实施例基于一个内置部件中存储的多个目标指令序列,即可实现MCU所需的多个目标功能,无需布置多个模块,降低了MCU的生产成本。
图3是本申请实施例提供的一种处理部件的指令执行方法的具体步骤流程图,如图3所示,该方法可以包括:
步骤201、响应于至少一个目标功能的执行指令,读取所述处理部件中存储的与每个所述目标功能对应的目标指令序列并串行执行。
其中,所述处理部件中存储有与不同功能分别对应的指令序列。
该步骤可以参照上述步骤101,此处不做赘述。
步骤202、在执行第一目标指令序列的过程中,确定所述第一目标指令序列的执行过程中所设定的第一延时时长。
其中,所述第一延时时长为第一目标指令序列的相邻两次指令操作的间隔时间;所述第一目标指令序列是所有所述目标指令序列中的任一序列。
该步骤可以参照上述步骤102,此处不做赘述。
步骤203、在所述第一延时时长中,若检测到存在所述计数器的值为预设固定值的第二目标指令序列,则切换至执行所述计数器的值为所述预设固定值的第二目标指令序列的指令操作。
其中,所述指令序列具有对应计数器,所述计数器用于在所述指令序列的执行过程中,记录所述指令序列距触发下一次指令操作所需等待的时间。
在本申请实施例中,每个指令序列可以设定一个对应的计数器,该计数器可以是倒计时计数器,用于记录指令序列距触发下一次指令操作所需等待的时间。因此,优选的,预设固定值可以为0,当然预设固定值也可以为其他数值,本申请实施例对此不做限定。
例如,假设一个指令序列设定的延时时长为2毫秒,即该指令序列的两个指令操作之间间隔2毫秒,则当指令序列执行完一个指令操作时,该计数器开始工作,从2毫秒开始倒计时,倒计时结束时,计数器的值为0,此时一个延时时长已结束,开始执行下一个指令操作,并将计数器复位。
因此,在第一延时时长中,可以检测其他的第二目标指令序列各自对应的计数器的值,若检测到存在计数器的值为预设固定值的第二目标指令序列,则认为该第二目标指令序列当前的延时时长已结束,并切换至执行计数器的值为预设固定值的第二目标指令序列的指令操作。从而本申请实施例可以在第一延时时长中,通过各个目标指令序列的计数器的值,快速判断当前能够触发指令操作的目标指令序列,并切换至该目标指令序列的指令操作的执行,提高了分时复用机制的准确性和响应速度。
可选的,在所述计数器的值为预设固定值的第二目标指令序列的数量为多个的情况下,步骤203具体可以包括子步骤2031-2033:
子步骤2031、记录所述计数器的值变为预设固定值的时刻。
子步骤2032、按照所述时刻由早到晚的顺序,对所述计数器的值为预设固定值的第二目标指令序列进行排序,得到排序结果。
子步骤2033、从所述排序结果中的第一个第二目标指令序列开始,串行执行所述排序结果中的各个第二目标指令序列的指令操作。
在本申请实施例中,针对子步骤2031-2033,在第一延时时长中,可能检测到存在计数器的值为预设固定值的第二目标指令序列的数量为多个,这种情况下,本申请实施例可以记录各个计数器的值为预设固定值的第二目标指令序列的计数器的值变为该预设固定值的时刻,并按照该时刻由早到晚的顺序,优先执行计数器的值变为预设固定值的时刻最早的第二目标指令序列的指令操作,这样做的目的是保障计数器的值变为预设固定值的时刻较早的第二目标指令序列的快速完成,避免计数器的值变为预设固定值的时刻较早的第二目标指令序列等待较长时间,提升了目标指令序列的整体执行效率。
例如,假设预设固定值为0,则在第一延时时长开始时,检测多个计数器的值为0的第二目标指令序列:第二目标指令序列1(计数器的值为0的时刻为10:10)、第二目标指令序列2(计数器的值为0的时刻为10:30)、第二目标指令序列3(计数器的值为0的时刻为11:00),可以看出,这三个第二目标指令序列的计数器的值为0的时刻不同,则按照计数器的值为0的时刻由早到晚的顺序对三个第二目标指令序列排序,得到排序结果[第二目标指令序列1、第二目标指令序列2、第二目标指令序列3],则在第一延时时长中,优先执行第二目标指令序列1的指令操作,之后执行第二目标指令序列2的指令操作,最后执行第二目标指令序列3的指令操作.
可选的,在步骤203之后,还可以包括:
步骤204、在所述第一延时时长结束后,切换至所述第一目标指令序列继续执行指令操作。
在本申请实施例中,由于第一延时时长定义了第一目标指令序列的相邻两次指令操作的间隔时间,因此,第一延时时长结束后,需要切换至第一目标指令序列继续执行后续的指令操作,从而保证了第一目标指令序列的正常执行。
可选的,所述方法还可以包括步骤205-206:
步骤205、在执行所述第二目标指令序列的过程中,确定所述第二目标指令序列的执行过程中所设定的第二延时时长。
步骤206、在所述第二延时时长中,若检测到除当前执行的第二目标指令序列之外的其他第二目标指令序列或所述第一目标指令序列触发了指令操作,则切换至执行所述其他第二目标指令序列或所述第一目标指令序列的指令操作。
在本申请实施例中,针对步骤205-206,执行所述第二目标指令序列的过程中,也可参照上述实施例对执行第一目标指令序列的相关描述,即在执行第二目标指令序列所触发的第二延时时长中,若检测到除当前执行的第二目标指令序列之外的其他第二目标指令序列或第一目标指令序列触发了指令操作,则切换至执行其他第二目标指令序列或第一目标指令序列的指令操作,整体上,目标指令序列的执行沿用了分时复用机制,可以节省了延时时长等待带来的性能损失,提高整体的执行效率。
可选的,所述方法还可以包括:
步骤207、在执行所述数据接收操作获得接收数据的情况下,将所述接收数据存储到可供所述微控制单元的内核调用的FIFO接口;以供所述微控制单元的内核通过调用所述FIFO接口获取所述接收数据进行使用。
在本申请实施例中,一些指令序列还可以具有接收数据的功能,接收数据也可以由指令操作完成,两个相邻的接收数据指令操作之间间隔预设的延时时长,针对指令操作获得的接收数据,可以将接收数据存储到可供MCU的内核调用的先进先出(FIFO,FirstInput First Output)接口,MCU的内核通过调用FIFO接口即可获取接收数据进行使用。其中,FIFO接口具体是一种具有存储功能的数据,其满足数据先进先出的存储逻辑,使用FIFO接口进行接收数据的存储,可以省去中断的处理逻辑(相关技术中,指令序列接收到数据,会产生一个就绪信号给处理部件,处理部件主动读取就绪信号实现接收数据的处理,省去中断处理逻辑可以简化电路),提高整体运行效率。
例如,UART指令序列可以接收外部端口发送的数据,UART指令序列接收数据的过程也类似于发送数据的过程,即将固定的延时时长作为相邻两个接收数据指令操作之间的间隔,依次从外部端口读取一个比特的数据,并存入寄存器,连续读取到8个比特的数据后,即读到了一个完整的字节数据。整个读取过程需要沿用分时复用机制,最后读取到的字节数据可以存入FIFO接口,并设置FIFO接口的数据标志为1,之后MCU可以主动查询FIFO的数据标志,当数据标志为1则MCU的内核读取FIFO接口中的数据进行后续处理。
可选的,所述目标指令序列包括:多个UART指令序列,每个所述UART指令序列用于按照对应的波特率进行数据收发;步骤202具体可以包括:
子步骤2021、在执行第一UART指令序列的过程中,根据所述第一UART指令序列对应的波特率,确定所述第一延时时长;所述第一UART指令序列是所有所述UART指令序列中的任一序列。
针对子步骤2021、步骤203具体可以包括:
子步骤2031、在所述第一延时时长中,若检测到除当前执行的第一UART指令序列之外的第二UART指令序列触发了数据收发操作,则切换至执行所述第二UART指令序列的数据收发操作。
在本申请实施例中,针对子步骤2021和子步骤2031,本申请实施例支持在处理部件中写入UART指令序列,UART指令序列用于实现预设波特率进行数据收发,每个UART指令序列都具有对应的波特率,用于控制数据收发的节奏,具体的,UART指令序列的波特率的大小可以用于决定延时时长的长短。波特率越大,UART指令序列对应的延时时长越短。
具体的,参照图4,其示出了UART指令序列发送数据的波形图,UART指令序列在发送数据时候,通过固定的延时时长,将数据一位一位发送出去,相邻两位之间有一个延时时长由波特率来控制。因此,要通过UART指令序列发送数据,则大致执行如下指令序列:1、端口置0/1;2、延时t时间;3、端口置0/1;4、延时t时间;5、端口置0/1;6、延时t时间… 端口是0还是1取决于实际数据内容,最后一个指令是跳转到第一个指令从头循环执行。
进一步的,本申请实施例支持同时写入多个UART指令序列,多个UART指令序列各自的波特率可以不同,这样在第一UART指令序列对应的第一延时时长中,若检测到除当前执行的第一UART指令序列之外的第二UART指令序列触发了数据收发操作,则切换至执行第二UART指令序列的数据收发操作,这样可以在一个处理部件中实现多个UART指令序列的执行,每个UART指令序列可以按照自己的波特率独立进行数据收发,且多个UART指令序列的执行相互不会干扰。
可选的,所述指令序列具有对应的运行标志;所述方法还可以包括步骤208-209:
步骤208、在识别到所述目标指令序列的运行标志被设置为停止状态的情况下,停止执行当前运行的目标指令序列。
步骤209、在识别到所述目标指令序列的运行标志被设置为运行状态的情况下,串行执行所述目标指令序列。
在本申请实施例中,指令序列可以具有对应的运行标志,运行表征的值可以被配置为停止状态或运行状态,从而用户可以通过配置目标指令序列的运行标志,来控制目标指令序列停止执行或正常运行。
可选的,指令序列包含:UART指令序列、PWM指令序列、I2C指令序列中的一种或多种。
在本申请实施例中,上述内容已描述了UART指令序列的相关内容,对于PWM指令序列,其用于实现PWM波形的输出,PWM指令序列的执行过程,包括先端口置0,延时t1时间,再端口置1,延时t2时间… 最后一个指令是跳转到第一个指令从头循环执行。PWM指令序列中,延时时间t1,t2是不固定的,延时时间t1,t2可通过修改序列指令中延时时长参数来改变。
双向二线制同步串行总线(I2C,Inter-Integrated Circuit)指令序列是一种实现数据通信功能的指令序列,I2C指令序列向外发送各个数据位的时候,有一个固定的时间间隔,也就是对应I2C指令序列中的延时指令。当遇到延时指令,根据延时时间设置倒计时时间,处理模块切换到其他指令序列去执行任务,当其他所有指令序列查询一遍后,将回到这个I2C指令序列,并判断其倒计时状态。如果倒计时还未完成,则继续处理其他指令序列;如果倒计时完成,则取出I2C指令序列的后续指令并继续执行。
综上所述,本申请实施例的MCU基于一个内置部件,即可通过对MCU当前所启用的目标功能对应的目标指令序列进行读取并串行执行,并利用每个目标指令序列执行时所设定的延时时长,在该延时时长中调度执行其他可执行的目标指令序列的指令操作,在各个目标指令序列相互独立执行的基础上,实现了目标指令序列分时复用调度的执行机制,节省了延时时长等待带来的性能损失,从而本申请实施例基于一个内置部件中存储的多个目标指令序列,即可实现MCU所需的多个目标功能,无需布置多个模块,降低了MCU的生产成本。
图5是本申请实施例提供的一种处理部件的指令执行装置的框图,应用于微控制单元中的处理部件,该装置包括:
读取模块301,用于响应于至少一个目标功能的执行指令,读取所述处理部件中存储的与每个所述目标功能对应的目标指令序列并串行执行;所述处理部件中存储有与不同功能分别对应的指令序列;
确定模块302,用于在执行第一目标指令序列的过程中,确定所述第一目标指令序列的执行过程中所设定的第一延时时长;所述第一延时时长为第一目标指令序列的相邻两次指令操作的间隔时间;所述第一目标指令序列是所有所述目标指令序列中的任一序列;
调度模块303,用于在所述第一延时时长中,若检测到除当前执行的第一目标指令序列之外的第二目标指令序列触发了指令操作,则切换至执行所述第二目标指令序列的指令操作。
可选的,所述装置还包括:
延时模块,用于在执行所述第二目标指令序列的过程中,确定所述第二目标指令序列的执行过程中所设定的第二延时时长;
延时调度模块,用于在所述第二延时时长中,若检测到除当前执行的第二目标指令序列之外的其他第二目标指令序列或所述第一目标指令序列触发了指令操作,则切换至执行所述其他第二目标指令序列或所述第一目标指令序列的指令操作。
可选的,所述指令序列具有对应计数器,所述计数器用于在所述指令序列的执行过程中,记录所述指令序列距触发下一次指令操作所需等待的时间;
所述调度模块303,包括:
第一调度子模块,用于在所述第一延时时长中,若检测到存在所述计数器的值为预设固定值的第二目标指令序列,则切换至执行所述计数器的值为所述预设固定值的第二目标指令序列的指令操作。
可选的,在所述计数器的值为所述预设固定值的第二目标指令序列的数量为多个的情况下,所述第一调度子模块,包括:
记录单元,用于记录所述计数器的值变为所述预设固定值的时刻;
排序单元,用于按照所述时刻由早到晚的顺序,对所述计数器的值为所述预设固定值的第二目标指令序列进行排序,得到排序结果;
执行单元,用于从所述排序结果中的第一个第二目标指令序列开始,串行执行所述排序结果中的各个第二目标指令序列的指令操作。
可选的,在所述指令操作为数据接收操作的情况下,所述装置还包括:
接收处理模块,用于在执行所述数据接收操作获得接收数据的情况下,将所述接收数据存储到可供所述微控制单元的内核调用的FIFO接口;以供所述微控制单元的内核通过调用所述FIFO接口获取所述接收数据进行使用。
可选的,所述目标指令序列包括:多个UART指令序列,每个所述UART指令序列用于按照对应的波特率进行数据收发;
所述确定模块302,包括:
确定子模块,用于在执行第一UART指令序列的过程中,根据所述第一UART指令序列对应的波特率,确定所述第一延时时长;所述第一UART指令序列是所有所述UART指令序列中的任一序列;
在调度模块303,包括:
调度子模块,用于在所述第一延时时长中,若检测到除当前执行的第一UART指令序列之外的第二UART指令序列触发了数据收发操作,则切换至执行所述第二UART指令序列的数据收发操作。
可选的,所述指令序列具有对应的运行标志;
所述装置还包括:
第一控制模块,用于在识别到所述目标指令序列的运行标志被设置为停止状态的情况下,停止执行当前运行的目标指令序列;
第二控制模块,用于在识别到所述目标指令序列的运行标志被设置为运行状态的情况下,串行执行所述目标指令序列。
可选的,所述装置还包括:
恢复模块,用于在所述第一延时时长结束后,切换至所述第一目标指令序列继续执行指令操作。
可选的,所述指令序列包含:UART指令序列、PWM指令序列、I2C指令序列中的一种或多种。
综上,本申请实施例的MCU基于一个内置部件,即可通过对MCU当前所启用的目标功能对应的目标指令序列进行读取并串行执行,并利用每个目标指令序列执行时所设定的延时时长,在该延时时长中调度执行其他可执行的目标指令序列的指令操作,在各个目标指令序列相互独立执行的基础上,实现了目标指令序列分时复用调度的执行机制,节省了延时时长等待带来的性能损失,从而本申请实施例基于一个内置部件中存储的多个目标指令序列,即可实现MCU所需的多个目标功能,无需布置多个模块,降低了MCU的生产成本。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例提供了一种处理部件的指令执行装置,包括有存储器,以及一个以上的程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序包含用于进行上述一个或多个实施例中所述的方法。
图6是根据一示例性实施例示出的一种电子设备600的框图。例如,电子设备600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,电子设备600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/ O)的接口612,传感器组件614,以及通信组件616。
处理组件602通常控制电子设备600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604用于存储各种类型的数据以支持在电子设备600的操作。这些数据的示例包括用于在电子设备600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,多媒体等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为电子设备600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为电子设备600生成、管理和分配电力相关联的组件。
多媒体组件608包括在所述电子设备600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的分界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当电子设备600处于操作模式,如拍摄模式或多媒体模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件610用于输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当电子设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/ O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为电子设备600提供各个方面的状态评估。例如,传感器组件614可以检测到电子设备600的打开/关闭状态,组件的相对定位,例如所述组件为电子设备600的显示器和小键盘,传感器组件614还可以检测电子设备600或电子设备600一个组件的位置改变,用户与电子设备600接触的存在或不存在,电子设备600方位或加速/减速和电子设备600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616用于便于电子设备600和其他设备之间有线或无线方式的通信。电子设备600可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于实现本申请实施例提供的方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由电子设备600的处理器620执行以完成上述方法。例如,所述非临时性存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图7是根据一示例性实施例示出的一种电子设备700的框图。例如,电子设备700可以被提供为一服务器。参照图7,电子设备700包括处理组件722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理组件722的执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件722被配置为执行指令,以执行本申请实施例提供的方法。
电子设备700还可以包括一个电源组件726被配置为执行电子设备700的电源管理,一个有线或无线网络接口750被配置为将电子设备700连接到网络,和一个输入输出(I/O)接口758。电子设备700可以操作基于存储在存储器732的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述实施例所述的方法。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (12)

1.一种处理部件的指令执行方法,其特征在于,应用于微控制单元中的处理部件,所述方法包括:
响应于至少一个目标功能的执行指令,读取所述处理部件中存储的与每个所述目标功能对应的目标指令序列并串行执行;所述处理部件中存储有与不同功能分别对应的指令序列;
在执行第一目标指令序列的过程中,确定所述第一目标指令序列的执行过程中所设定的第一延时时长;所述第一延时时长为第一目标指令序列的相邻两次指令操作的间隔时间;所述第一目标指令序列是所有所述目标指令序列中的任一序列;
在所述第一延时时长中,若检测到除当前执行的第一目标指令序列之外的第二目标指令序列触发了指令操作,则切换至执行所述第二目标指令序列的指令操作。
2.根据权利要求1所述的处理部件的指令执行方法,其特征在于,所述方法还包括:
在执行所述第二目标指令序列的过程中,确定所述第二目标指令序列的执行过程中所设定的第二延时时长;
在所述第二延时时长中,若检测到除当前执行的第二目标指令序列之外的其他第二目标指令序列或所述第一目标指令序列触发了指令操作,则切换至执行所述其他第二目标指令序列或所述第一目标指令序列的指令操作。
3.根据权利要求1所述的处理部件的指令执行方法,其特征在于,所述指令序列具有对应计数器,所述计数器用于在所述指令序列的执行过程中,记录所述指令序列距触发下一次指令操作所需等待的时间;
所述在所述第一延时时长中,若检测到除当前执行的第一目标指令序列之外的第二目标指令序列触发了指令操作,则切换至执行所述第二目标指令序列的指令操作,包括:
在所述第一延时时长中,若检测到存在所述计数器的值为预设固定值的第二目标指令序列,则切换至执行所述计数器的值为所述预设固定值的第二目标指令序列的指令操作。
4.根据权利要求3所述的处理部件的指令执行方法,其特征在于,在所述计数器的值为预设固定值的第二目标指令序列的数量为多个的情况下,所述切换至执行所述计数器的值为所述预设固定值的第二目标指令序列的指令操作,包括:
记录所述计数器的值变为所述预设固定值的时刻;
按照所述时刻由早到晚的顺序,对所述计数器的值为所述预设固定值的第二目标指令序列进行排序,得到排序结果;
从所述排序结果中的第一个第二目标指令序列开始,串行执行所述排序结果中的各个第二目标指令序列的指令操作。
5.根据权利要求1所述的处理部件的指令执行方法,其特征在于,在所述指令操作为数据接收操作的情况下,所述方法还包括:
在执行所述数据接收操作获得接收数据的情况下,将所述接收数据存储到可供所述微控制单元的内核调用的FIFO接口;以供所述微控制单元的内核通过调用所述FIFO接口获取所述接收数据进行使用。
6.根据权利要求1所述的处理部件的指令执行方法,其特征在于,所述目标指令序列包括:多个UART指令序列,每个所述UART指令序列用于按照对应的波特率进行数据收发;
所述在执行第一目标指令序列的过程中,确定所述第一目标指令序列的执行过程中所设定的第一延时时长,包括:
在执行第一UART指令序列的过程中,根据所述第一UART指令序列对应的波特率,确定所述第一延时时长;所述第一UART指令序列是所有所述UART指令序列中的任一序列;
在所述第一延时时长中,若检测到除当前执行的第一目标指令序列之外的第二目标指令序列触发了指令操作,则切换至执行所述第二目标指令序列的指令操作,包括:
在所述第一延时时长中,若检测到除当前执行的第一UART指令序列之外的第二UART指令序列触发了数据收发操作,则切换至执行所述第二UART指令序列的数据收发操作。
7.根据权利要求1所述的处理部件的指令执行方法,其特征在于,所述指令序列具有对应的运行标志;
所述方法还包括:
在识别到所述目标指令序列的运行标志被设置为停止状态的情况下,停止执行当前运行的目标指令序列;
在识别到所述目标指令序列的运行标志被设置为运行状态的情况下,串行执行所述目标指令序列。
8.根据权利要求1所述的处理部件的指令执行方法,其特征在于,所述方法还包括:
在所述第一延时时长结束后,切换至所述第一目标指令序列继续执行指令操作。
9.根据权利要求1所述的处理部件的指令执行方法,其特征在于,所述指令序列包含:UART指令序列、PWM指令序列、I2C指令序列中的一种或多种。
10.一种处理部件的指令执行装置,其特征在于,应用于微控制单元中的处理部件,所述装置包括:
读取模块,用于响应于至少一个目标功能的执行指令,读取所述处理部件中存储的与每个所述目标功能对应的目标指令序列并串行执行;所述处理部件中存储有与不同功能分别对应的指令序列;
确定模块,用于在执行第一目标指令序列的过程中,确定所述第一目标指令序列的执行过程中所设定的第一延时时长;所述第一延时时长为第一目标指令序列的相邻两次指令操作的间隔时间;所述第一目标指令序列是所有所述目标指令序列中的任一序列;
调度模块,用于在所述第一延时时长中,若检测到除当前执行的第一目标指令序列之外的第二目标指令序列触发了指令操作,则切换至执行所述第二目标指令序列的指令操作。
11.一种电子设备,其特征在于,包括:处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至9中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至9中任一项所述的方法。
CN202311351090.4A 2023-10-18 2023-10-18 处理部件的指令执行方法、装置、设备及存储介质 Active CN117112025B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311351090.4A CN117112025B (zh) 2023-10-18 2023-10-18 处理部件的指令执行方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311351090.4A CN117112025B (zh) 2023-10-18 2023-10-18 处理部件的指令执行方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN117112025A CN117112025A (zh) 2023-11-24
CN117112025B true CN117112025B (zh) 2023-12-22

Family

ID=88805779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311351090.4A Active CN117112025B (zh) 2023-10-18 2023-10-18 处理部件的指令执行方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117112025B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02110770A (ja) * 1988-10-20 1990-04-23 Fujitsu Ltd 命令実行のシリアライズ制御方式
US5619680A (en) * 1994-11-25 1997-04-08 Berkovich; Semyon Methods and apparatus for concurrent execution of serial computing instructions using combinatorial architecture for program partitioning
CN1250908A (zh) * 1998-10-12 2000-04-19 北京多思科技工业园股份有限公司 指令控制延时方法及其装置
CN114265717A (zh) * 2021-12-30 2022-04-01 上海阵量智能科技有限公司 指令同步装置、芯片和计算机设备,数据处理方法
CN116301880A (zh) * 2022-12-30 2023-06-23 龙芯中科(太原)技术有限公司 微控制单元中的指令响应方法、装置、电子设备及介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5655733B2 (ja) * 2011-07-21 2015-01-21 サンケン電気株式会社 演算処理装置およびマイクロコンピュータ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02110770A (ja) * 1988-10-20 1990-04-23 Fujitsu Ltd 命令実行のシリアライズ制御方式
US5619680A (en) * 1994-11-25 1997-04-08 Berkovich; Semyon Methods and apparatus for concurrent execution of serial computing instructions using combinatorial architecture for program partitioning
CN1250908A (zh) * 1998-10-12 2000-04-19 北京多思科技工业园股份有限公司 指令控制延时方法及其装置
CN114265717A (zh) * 2021-12-30 2022-04-01 上海阵量智能科技有限公司 指令同步装置、芯片和计算机设备,数据处理方法
CN116301880A (zh) * 2022-12-30 2023-06-23 龙芯中科(太原)技术有限公司 微控制单元中的指令响应方法、装置、电子设备及介质

Also Published As

Publication number Publication date
CN117112025A (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
JP6273404B2 (ja) 充電方法、装置、プログラム及び記録媒体
EP3136793B1 (en) Method and apparatus for awakening electronic device
US10031575B2 (en) Method and device for waking up MCU chip
EP3112980B1 (en) Circuit, method and device for waking up master mcu
JP6250844B2 (ja) 消費電力制御方法、装置、プログラム及び記録媒体
EP3107086A1 (en) Method and device for playing a multimedia file
US20170060260A1 (en) Method and device for connecting external equipment
EP3112979B1 (en) Method and device for waking up mcu
JP2017517827A (ja) 素子ウェークアップ方法、装置、プログラム及び記録媒体
US10234924B2 (en) Method and apparatus for displaying time on mobile device
US11968665B2 (en) Resource configuration methods and apparatuses
EP3905804A1 (en) Direct-connection resource configuration method and apparatus
EP3232301B1 (en) Mobile terminal and virtual key processing method
CN107783790B (zh) 终端唤醒方法及装置
CN106357910A (zh) 终端工作模式切换的方法及装置
EP3232325B1 (en) Method and device for starting application interface
CN108182085B (zh) 终端屏幕的唤醒方法、装置、终端及存储介质
JP2018503150A (ja) タッチスクリーンのポイント報告を処理するための方法、装置、プログラム、及び記録媒体
CN117112025B (zh) 处理部件的指令执行方法、装置、设备及存储介质
EP3848780B1 (en) Electronic device
US11910422B2 (en) Methods and apparatuses for self-interference processing
EP3929738A1 (en) Data processing method, apparatus, and medium
US11308197B2 (en) Intelligent device recognition using prompt frequency information
US11402994B2 (en) Method and apparatus for calling shortcut function, and storage medium
US20230345227A1 (en) Switch module, terminal device, method for controlling terminal device

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