CN109460254A - 一种指令处理方法、cpu交互系统及采用该系统的耗材芯片 - Google Patents
一种指令处理方法、cpu交互系统及采用该系统的耗材芯片 Download PDFInfo
- Publication number
- CN109460254A CN109460254A CN201811113893.5A CN201811113893A CN109460254A CN 109460254 A CN109460254 A CN 109460254A CN 201811113893 A CN201811113893 A CN 201811113893A CN 109460254 A CN109460254 A CN 109460254A
- Authority
- CN
- China
- Prior art keywords
- module
- communication
- instruction
- main
- interactive
- 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.)
- Granted
Links
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 150
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000004891 communication Methods 0.000 claims abstract description 158
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 17
- 239000000523 sample Substances 0.000 claims abstract description 9
- 230000003993 interaction Effects 0.000 claims description 54
- 238000001514 detection method Methods 0.000 claims description 25
- 238000004458 analytical method Methods 0.000 claims description 18
- 238000003780 insertion Methods 0.000 claims description 5
- 230000037431 insertion Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000011897 real-time detection Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009415 formwork Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000029058 respiratory gaseous exchange Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种指令处理方法、CPU交互系统及采用该系统的耗材芯片,属于数据处理技术领域。方法用于CPU交互系统,CPU交互系统包括连接于总线上的主交互模块、从交互模块、任务处理模块。CPU交互系统还包括探测模块;方法包括:当主交互模块访问从交互模块时,探测模块探测指令空隙;指令空隙为相邻指令之间的空闲期;探测模块针对指令空隙匹配主交互模块于指令空隙内可执行的任务指令,并将匹配到任务指令反馈给主交互模块;主交互模块根据探测模块反馈的任务指令分时访问任务处理模块。耗材芯片采用上述CPU交互系统。本发明在不影响常用指令执行过程下充分利用指令空隙执行额外的工作指令,提高总线效率和CPU利用率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种以CPU为基础的MCU应用下的指令处理方法、CPU交互系统及采用该系统的耗材芯片。
背景技术
目前的所有MCU应用领域,全部都是以中央处理器(CPU) 为核心,CPU作为主交互模块,通过CPU机器指令进行运算、操作、控制等一系列操作,来访问从交互模块。在由主交互模块和从交互模块构成的CPU交互系统中,主交互模块进行的上述操作,即CPU指令执行,都是顺序执行。即使加入了流水线操作,也只是增加单个时钟周期内的运算次数,而CPU指令仍是串行执行。
在CPU系统运行期间,各个指令之间或多或少有不同长短的空闲期,如2-5个时钟周期等。如图1,指令1和指令2之间存在一定长度的空闲期,将此空闲期定义为指令空隙,指令2和指令3之间不存在空闲期,指令3和指令4之间存在一定长度的空闲期。在哈弗架构下的CPU系统中,指令和数据分开存储,指令存储于程序指令存储器,数据存储于数据存储器,因此,指令之间的指令空隙很多。一般,这些指令空隙在系统运行期间都是丢弃的,不被利用的,这样大大浪费了CPU资源,降低了CPU系统的性能。
现有耗材芯片与成像设备交互进行打印作业时,耗材芯片需要执行很多指令等操作。现有耗材芯片采用现有按顺序执行的CPU系统,为此,耗材芯片在对信息实时处理方面有待提高。
发明内容
本发明针对现有技术存在的问题,提出了一种充分利用CPU资源,提高系统数据实时处理性能的指令处理方法、CPU交互系统及采用该系统的耗材芯片。
本发明是通过以下技术方案得以实现的:
本发明提供一种指令处理方法,用于CPU交互系统,所述CPU交互系统包括连接于总线上的主交互模块、从交互模块、任务处理模块;所述CPU交互系统还包括探测模块;方法包括:
当所述主交互模块访问所述从交互模块时,所述探测模块探测指令空隙;其中,所述指令空隙为相邻指令之间的空闲期;
所述探测模块针对指令空隙匹配所述主交互模块于指令空隙内可执行的任务指令,并将匹配到任务指令反馈给所述主交互模块;
所述主交互模块根据探测模块反馈的任务指令分时访问所述任务处理模块。
本发明指令处理方法通过设置探测模块实时探测主交互模块与从交互模块访问期间的指令空隙,当探测模块探测到当前为指令空隙所在期间,则分析匹配获得可执行的任务指令反馈给主交互模块,主交互模块根据反馈信息在指令间隙期执行其他指令任务。该方法在不影响常用指令执行过程下执行额外的工作指令,提高总线效率和CPU利用率。
作为优选,所述探测模块为集成于所述主交互模块内的探测模块;或者所述探测模块为一独立模块,连接于所述主交互模块与总线之间。
作为优选,所述任务处理模块为存储模块,所述主交互模块根据探测模块反馈的任务指令,在指令空隙内插入数据复制、存取、移动指令,以分时访问所述存储模块。
作为优选,所述主交互模块包括访问单元和清零单元;所述访问单元用于访问从交互模块;所述清零单元为包含清零指令的单元,能根据探测模块反馈的任务指令将清零指令每隔一定时间在指令空隙期间发送给从交互模块。
作为优选,所述每隔一定时间为所述探测模块监控程序跑飞并反馈任务指令给主交互模块的一个计数周期。
作为优选,所述主交互模块有两个,所述探测模块有两个,所述从交互模块有两个时,第一主交互模块与第一从交互模块通信连接,第二主交互模块与第二从交互模块通信连接;所述第一从交互模块具有待运算的从交互数据一和从交互数据二,所述第二从交互模块具有待运算的从交互数据三和从交互数据四;方法还包括:
当所述第一主交互模块访问所述第一从交互模块时,所述第一探测模块探测第一指令空隙;
所述第一探测模块还针对第一指令空隙匹配所述第一主交互模块于指令空隙内可执行的第一任务指令,并将匹配到第一任务指令反馈给所述第一主交互模块;
所述第一主交互模块根据反馈的第一任务指令分时访问所述第二从交互模块;
当所述第二主交互模块访问所述第二从交互模块时,所述第二探测模块探测第二指令空隙;
所述第二探测模块还针对第二指令空隙匹配所述第二主交互模块于指令空隙内可执行的第二任务指令,并将匹配到第二任务指令反馈给所述第二主交互模块;
所述第二主交互模块根据反馈的第二任务指令分时访问所述第一从交互模块;
其中,所述从交互数据一和所述从交互数据三的运算在所述第一主交互模块访问时进行;所述从交互数据二和所述从交互数据四的运算在所述第二主交互模块访问时进行。
本发明还提供一种CPU交互系统,包括连接于总线上的主交互模块、从交互模块、任务处理模块;还包括用于当所述主交互模块访问所述从交互模块时,探测指令空隙的探测模块;所述探测模块还用于针对指令空隙匹配所述主交互模块于指令空隙内可执行的任务指令,并将匹配到任务指令反馈给所述主交互模块;所述主交互模块根据反馈的任务指令分时访问所述任务处理模块;其中,所述指令空隙为相邻指令之间的空闲期。
本发明在不改变硬件,不提高时钟的情况下,在原有的CPU系统上把指令空隙利用起来,提高CPU系统利用率和整体性能。
作为优选,所述探测模块为集成于所述主交互模块内的探测模块;或者所述探测模块为一独立模块,连接于所述主交互模块与总线之间。
作为优选,所述探测模块为硬件模块。
作为优选,所述任务处理模块为由主交互模块在指令空隙内插入数据复制、存取、移动指令以被分时访问的存储模块。
作为优选,所述主交互模块包括访问单元和清零单元;所述访问单元用于访问从交互模块;所述清零单元为包含清零指令的单元,能根据探测模块反馈的任务指令将清零指令每隔一定时间在指令空隙期间发送给从交互模块。
作为优选,所述主交互模块有两个,所述探测模块有两个,所述从交互模块有两个时,第一主交互模块与第一从交互模块通信连接,所述第二主交互模块与第二从交互模块通信连接;
所述第一从交互模块具有待运算的从交互数据一和从交互数据二,所述第二从交互模块具有待运算的从交互数据三和从交互数据四;所述第一探测模块用于当所述第一主交互模块访问所述第一从交互模块时,探测第一指令空隙;
所述第一探测模块还针对第一指令空隙匹配所述第一主交互模块于指令空隙内可执行的第一任务指令,并将匹配到第一任务指令反馈给所述第一主交互模块;所述第一主交互模块根据反馈的第一任务指令分时访问所述第二从交互模块;
所述第二探测模块用于当所述第二主交互模块访问所述第二交互模块时,探测第二指令空隙;
所述第二探测模块还针对第二指令空隙匹配所述第二主交互模块于指令空隙内可执行的第二任务指令,并将匹配到第二任务指令反馈给所述第二主交互模块;所述第二主交互模块根据反馈的第二任务指令分时访问所述第一从交互模块;
其中,所述从交互数据一和所述从交互数据三的运算在所述第一主交互模块访问时进行;所述从交互数据二和所述从交互数据四的运算在所述第二主交互模块访问时进行。
作为优选,所述探测模块包括反馈检测单元、指令存储单元、反馈分析单元、任务指令反馈单元;
所述反馈检测单元用于探测主交互模块访问从交互模块时,从交互模块反馈给主交互模块的反馈信号;当所述反馈信号为忙碌状态时,所述反馈检测单元将忙碌状态所耗时间记录为所述主交互模块的指令空隙;
指令存储单元用于存储反馈信号和与反馈信号对应存储的指令空隙,并存储指令和指令执行所需时长;
所述反馈分析单元用于分析指令存储单元内的指令是否适合在指令空隙内执行,获得合适指令作为可执行的任务指令;
所述任务指令反馈单元用于将从反馈分析单元分析获得的任务指令反馈给所述主交互模块。
本发明还提供一种耗材芯片,所述耗材芯片采用上述CPU交互系统。
本发明具有以下有益效果:
本发明一种指令处理方法、CPU交互系统及采用该系统的耗材芯片,一方面保持常用指令执行过程,另一方面在指令空隙内插入其他任务指令,在不影响常用指令执行过程下执行额外的工作指令,提高总线效率和CPU利用率。上述指令处理方法、CPU交互系统应用于耗材芯片,能满足耗材芯片对实时性能较高的要求。
附图说明
图1为现有CPU系统运行期间存在指令空隙的示意图;
图2为本发明一种指令处理方法的总流程图;
图3为本发明一种CPU交互系统的系统框图;
图4为本发明一种CPU交互系统的原理时序图;
图5为本发明一种CPU交互系统中的探测模块的结构框图;
图6为本发明一种CPU交互系统实施方式一的系统框图;
图7为本发明一种CPU交互系统实施方式二的系统框图;
图8为本发明一种CPU交互系统实施方式三的系统框图。
具体实施方式
以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
CPU交互系统包括主交互模块、从交互模块、任务处理模块。主交互模块、从交互模块、任务处理模块连接于总线上,主交互模块通过总线分别访问从交互模块和任务处理模块。在访问期间,CPU的指令执行都是按顺序执行的,指令执行期间相邻指令之间存在空闲期,本文定义为指令空隙。在指令执行过程中,这些指令空隙往往不被利用,如果主交互模块对任务处理模块进行额外任务访问时,则需要等待主交互模块访问从交互模块的常规指令执行完毕后,再插入其他任务指令,或增加其他模块辅助完成。这样使得CPU交互系统利用率低,总线效率降低。
为此,本发明提出一种CPU交互系统和指令处理方法,该CPU交互系统在现有CPU交互系统的基础下增加一个探测模块。而指令处理方法依赖于该系统实现。
图3示出了本发明一种CPU交互系统,包括主交互模块、从交互模块、任务处理模块、探测模块。所述探测模块用于当所述主交互模块访问所述从交互模块时,探测主交互模块访问时的指令空隙;所述探测模块还用于针对指令空隙匹配所述主交互模块于指令空隙内可执行的任务指令,并将匹配到任务指令反馈给所述主交互模块。所述主交互模块根据反馈的任务指令分时访问所述任务处理模块。
图2示出了本发明一种指令处理方法。方法包括:
步骤S01,当所述主交互模块访问所述从交互模块时,所述探测模块探测指令空隙。其中,所述指令空隙为相邻指令之间的空闲期。
步骤S02,所述探测模块针对指令空隙匹配所述主交互模块于指令空隙内可执行的任务指令,并将匹配到任务指令反馈给所述主交互模块。
步骤S03,所述主交互模块根据探测模块反馈的任务指令分时访问所述任务处理模块。
如图5,所述探测模块包括反馈检测单元、指令存储单元、反馈分析单元、任务指令反馈单元。所述反馈检测单元用于探测主交互模块访问从交互模块时,从交互模块反馈给主交互模块的反馈信号。当所述反馈信号为忙碌状态时,所述从交互模块的忙碌状态所耗时间为所述主交互模块的指令空隙。所述指令存储单元用于存储反馈信号和与反馈信号对应存储的指令空隙,并存储指令和指令执行所需时长。所述反馈分析单元用于分析指令存储单元内的指令是否适合在指令空隙内执行,获得合适指令作为可执行的任务指令。所述任务指令反馈单元用于将从反馈分析单元分析获得的任务指令反馈给所述主交互模块。
所述探测模块为集成于所述主交互模块内的探测模块。或者所述探测模块为一独立模块,连接于所述主交互模块与总线之间。所述探测模块为硬件模块。
例如,主交互模块发送command指令给从交互模块,从交互模块反馈command_ack指令反馈信号给主交互模块,探测模块的反馈检测单元用于探测从交互模块反馈给主交互模块的反馈信号。因指令反馈信号command_ack中的command指令不同,其反馈信号则为不同类型指令的反馈信号。存储单元内存储有反馈信号和与反馈信号对应存储的指令空隙,如command指令为加密计算命令,command_ack为加密计算命令反馈信号,该加密计算命令反馈信号对应存储400个左右时钟周期的指令空隙;如command指令为存储器擦写命令,command_ack为存储器擦写命令反馈信号,该存储器擦写命令反馈信号对应存储大概1000个时钟周期;如command指令为写命令,command_ack为写命令反馈信号,该写命令反馈信号对应存储200个左右时钟周期;如command指令为外设操作命令,command_ack为外设操作命令反馈信号,该外设操作命令反馈信号对应存储100个左右时钟周期。所述存储单元还存储指令和与指令对应的指令执行所需时长,如写命令反馈信号对应存储200个时钟周期。所述反馈分析单元根据反馈检测单元检测到的反馈信号,对照指令存储单元信息获知指令空隙的长短,并匹配到适合在该指令空隙内执行的指令,如写命令指令。所述任务指令反馈单元将获得的任务指令反馈给所述主交互模块。这样,主交互模块一方面可以正常执行访问从交互模块的指令,另一方面可在指令空隙内对任务处理模块进行额外任务执行。其中,所述探测模块在一探测到反馈信号后,继而所述反馈分析单元、任务指令反馈单元工作,反馈任务指令给主交互模块。这样,该CPU交互系统能实施探测指令空隙,并实时反馈可执行的任务指令给主交互模块,能有效利用指令空隙执行额外工作,提高了CPU交互系统的性能。
图4示出了本发明CPU交互系统的原理时序图。在采用上述探测模块对指令处理时,上述指令处理方法由探测模块工作时的具体过程如下:
首先在主交互模块访问从交互模块时,探测从交互模块反馈给主交互模块的反馈信号。
若所述反馈信号为忙碌时,则此时为主交互模块的指令空隙,若所述反馈信号为空闲时,则此时为主交互模块处于忙碌,即重新发送新的指令给从交互模块,而从交互模块尚未响应。
其次分析反馈信号,并匹配任务指令。
具体地,分析反馈信号,并获知指令空隙的长短;根据指令空隙长短,匹配可在该指令空隙内执行的任务指令,任务指令执行所需时间的长短需不超过指令空隙的长短。可以匹配到多个任务指令,也可以匹配一个合适的任务指令。如,设置任务指令的优先级列表,当有多个任务指令可在指令空隙内执行时,根据优先级列表中排列顺序,选择最优的一个任务指令。
最后,将任务指令反馈给主交互模块。
主交互模块在收到反馈的任务指令后,即刻执行该任务指令。
图6示出了本发明一种CPU交互系统实施方式一的系统框图。所述任务处理模块为存储模块。所述主交互模块根据探测模块反馈的任务指令,在指令空隙内插入数据复制、存取、移动指令,以分时访问所述存储模块。
在通常的设计中,一般都会有大量的存储器(memory)数据存储和搬移操作,而在这些设计中,为了不增加CPU的负载量,几乎都会使用到DMA作为一个独立的主交互模块,通过总线专门用来对存储器数据进行复制,存取,移动的操作。在这些设计中,由于DMA模块的存在,无形增加了芯片的面积,也就增加了芯片的成本;并且由于DMA和CPU都是共用系统总线,DMA的操作会抢占此总线,从而导致CPU性能降低。当采用本发明CPU交互系统时,无需再增加DMA模块,只用探测模块检测指令空隙,在指令空隙内插入数据复制、存取、移动指令就能实现存储器数据存储和搬移操作。这样不会大幅增加芯片面积,降低成本。并且此模块无需挂载系统总线,增加了存储器的操作功能,不会降低CPU工作效率,不会影响CPU性能。
所述任务处理模块不限于存储模块,也可以是其他功能模块。
图7示出了本发明一种CPU交互系统实施方式二的系统框图。所述主交互模块包括访问单元和清零单元。所述访问单元用于访问从交互模块。所述清零单元为包含清零指令的单元,能根据探测模块反馈的任务指令将清零指令每隔一定时间在指令空隙期间发送给从交互模块。其中,所述每隔一定时间为所述探测模块监控程序跑飞并反馈任务指令给主交互模块的一个计数周期。
在许多设计中,都会用到WDT(看门狗计数器),用来监控程序是否跑飞,对跑飞的程序进行相应的操作,如复位(reset)等。通用设计中,看门狗都是作为一个独立的模块,自增计数,每隔一段时间,由程序进行清0操作,如果一直没有清0,计数到一定的数值之后,则认为程序跑飞。在这种设计中,需要增加WDT模块,从而增加芯片面积,并且WDT工作时一直计数,会产生一定的功耗。
而采用了本发明CPU交互系统时,无需增加WDT模块,所有的计数操作均由指令间隙来完成,程序里每隔一定时间插入清零指令操作。也就是说,探测模块一探测到指令空隙,反馈任务指令,如类似看门狗功能的触发指令给主交互模块,主交互模块的清零单元工作,在指令空隙内插入清零指令,从而实现WDT模块的功能。并且,WDT模块工作时不停计数会产生许多功耗,采用本发明CPU交互系统后,由于指令空隙的长度是不定的,出现的间隔也是不定,计数操作并没有单独WDT频繁,降低了功耗。
所述访问单元还用于访问任务处理模块,图7所示CPU系统还可基于图6所示CPU系统实现。也就是说,探测模块在探测指令空隙时,对探测到的反馈信号进行分析,获取合适的任务指令,当发现指令空隙适合执行存储操作时,发送与存储模块相关联的任务指令给主交互模块;当发现指令空隙适合执行看门狗功能时,发送看门狗相关联的任务指令给主交互模块,主交互模块插入清零指令操作在指令空隙。
图8示出了本发明一种CPU交互系统实施方式三的系统框图。所述主交互模块有两个,所述探测模块有两个,所述从交互模块有两个时,第一主交互模块与第一从交互模块通信连接,第二主交互模块与第二从交互模块通信连接。所述第一从交互模块具有待运算的从交互数据一和从交互数据二,所述第二从交互模块具有待运算的从交互数据三和从交互数据四。
当所述第一主交互模块访问所述第一从交互模块时,所述第一探测模块探测第一指令空隙。所述第一探测模块还针对第一指令空隙匹配所述第一主交互模块于指令空隙内可执行的第一任务指令,并将匹配到第一任务指令反馈给所述第一主交互模块。所述第一主交互模块根据反馈的第一任务指令分时访问所述第二从交互模块。这样,所述第一主交互模块在访问第一从交互模块时,进行从交互数据一的运算,所述第一主交互模块在第一指令空隙内访问第二从交互模块,此时进行从交互数据三的运算。
当所述第二主交互模块访问所述第二从交互模块时,所述第二探测模块探测第二指令空隙。所述第二探测模块还针对第二指令空隙匹配所述第二主交互模块于指令空隙内可执行的第二任务指令,并将匹配到第二任务指令反馈给所述第二主交互模块。所述第二主交互模块根据反馈的第二任务指令分时访问所述第一从交互模块。这样,所述第二主交互模块在访问第二从交互模块时,进行从交互数据四的运算,所述第二主交互模块在第二指令空隙内访问第一从交互模块,此时进行从交互数据二的运算。
在一些复杂的多核处理的芯片中,都会有2个以上的CPU,如2个主交互模块,并行参与计算,他们相对独立,并各自产生自己的计算结果,最后同时将结果送于从交互模块。在此种情况下采用图8所示示例,第一主交互模块在执行程序时有第一指令空隙,第二主交互模块在执行程序时有第二指令空隙,第一主交互模块利用第一指令空隙对第二主交互模块进行额外访问,如从交互数据三的运算,第二交互模块利用第二指令空隙对第一主交互模块进行额外访问,如从交互数据二的运算。这样,可同时提高多核的工作效率。
图8所示示例还可基于图7所示示例或图6所示示例实现。也就是说,CPU交互系统应用于多核,如两个主交互模块、两个从交互模块、两个探测模块下,探测模块在探测指令空隙时,对探测到的反馈信号进行分析,获取合适的任务指令,当发现指令空隙适合执行存储操作时,发送与存储模块相关联的任务指令给主交互模块;当发现指令空隙适合执行看门狗功能时,发送看门狗相关联的任务指令给主交互模块,主交互模块插入清零指令操作在指令空隙;当指令空隙适合访问另一从交互模块,执行其他访问指令,主交互模块访问第一从交互模块外还访问第二从交互模块。
本发明一种CPU交互系统可应用于耗材芯片。不管是单核还是多核CPU系统,通过探测模块实时探测反馈信号,并对反馈信号进行分析并实时反馈任务指令给主交互模块,主交互模块能在指令空隙内执行合适的指令,大大提高耗材芯片工作效率,提升耗材芯片的整体工作性能。
本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明。本发明的目的已经完整有效地实现。本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。
Claims (14)
1.一种指令处理方法,用于CPU交互系统,所述CPU交互系统包括连接于总线上的主交互模块、从交互模块、任务处理模块;其特征在于,所述CPU交互系统还包括探测模块;方法包括:
当所述主交互模块访问所述从交互模块时,所述探测模块探测指令空隙;其中,所述指令空隙为相邻指令之间的空闲期;
所述探测模块针对指令空隙匹配所述主交互模块于指令空隙内可执行的任务指令,并将匹配到任务指令反馈给所述主交互模块;
所述主交互模块根据探测模块反馈的任务指令分时访问所述任务处理模块。
2.根据权利要求1所述的一种指令处理方法,其特征在于,所述探测模块为集成于所述主交互模块内的探测模块;或者所述探测模块为一独立模块,连接于所述主交互模块与总线之间。
3.根据权利要求1所述的一种指令处理方法,其特征在于,所述任务处理模块为存储模块,所述主交互模块根据探测模块反馈的任务指令,在指令空隙内插入数据复制、存取、移动指令,以分时访问所述存储模块。
4.根据权利要求1所述的一种指令处理方法,其特征在于,所述主交互模块包括访问单元和清零单元;所述访问单元用于访问从交互模块;所述清零单元为包含清零指令的单元,能根据探测模块反馈的任务指令将清零指令每隔一定时间在指令空隙期间发送给从交互模块。
5.根据权利要求4所述的一种指令处理方法,其特征在于,所述每隔一定时间为所述探测模块监控程序跑飞并反馈任务指令给主交互模块的一个计数周期。
6.根据权利要求1所述的一种指令处理方法,其特征在于,所述主交互模块有两个,所述探测模块有两个,所述从交互模块有两个时,第一主交互模块与第一从交互模块通信连接,第二主交互模块与第二从交互模块通信连接;所述第一从交互模块具有待运算的从交互数据一和从交互数据二,所述第二从交互模块具有待运算的从交互数据三和从交互数据四;方法还包括:
当所述第一主交互模块访问所述第一从交互模块时,所述第一探测模块探测第一指令空隙;
所述第一探测模块还针对第一指令空隙匹配所述第一主交互模块于指令空隙内可执行的第一任务指令,并将匹配到第一任务指令反馈给所述第一主交互模块;
所述第一主交互模块根据反馈的第一任务指令分时访问所述第二从交互模块;
当所述第二主交互模块访问所述第二从交互模块时,所述第二探测模块探测第二指令空隙;
所述第二探测模块还针对第二指令空隙匹配所述第二主交互模块于指令空隙内可执行的第二任务指令,并将匹配到第二任务指令反馈给所述第二主交互模块;
所述第二主交互模块根据反馈的第二任务指令分时访问所述第一从交互模块;
其中,所述从交互数据一和所述从交互数据三的运算在所述第一主交互模块访问时进行;所述从交互数据二和所述从交互数据四的运算在所述第二主交互模块访问时进行。
7.一种CPU交互系统,包括连接于总线上的主交互模块、从交互模块、任务处理模块;其特征在于,还包括用于当所述主交互模块访问所述从交互模块时,探测指令空隙的探测模块;所述探测模块还用于针对指令空隙匹配所述主交互模块于指令空隙内可执行的任务指令,并将匹配到任务指令反馈给所述主交互模块;所述主交互模块根据反馈的任务指令分时访问所述任务处理模块;其中,所述指令空隙为相邻指令之间的空闲期。
8.根据权利要求7所述的一种CPU交互系统,其特征在于,所述探测模块为集成于所述主交互模块内的探测模块;或者所述探测模块为一独立模块,连接于所述主交互模块与总线之间。
9.根据权利要求8所述的一种CPU交互系统,其特征在于,所述探测模块为硬件模块。
10.根据权利要求7所述的一种CPU交互系统,其特征在于,所述任务处理模块为由主交互模块在指令空隙内插入数据复制、存取、移动指令以被分时访问的存储模块。
11.根据权利要求7所述的一种CPU交互系统,其特征在于,所述主交互模块包括访问单元和清零单元;所述访问单元用于访问从交互模块;所述清零单元为包含清零指令的单元,能根据探测模块反馈的任务指令将清零指令每隔一定时间在指令空隙期间发送给从交互模块。
12.根据权利要求7所述的一种CPU交互系统,其特征在于,所述主交互模块有两个,所述探测模块有两个,所述从交互模块有两个时,第一主交互模块与第一从交互模块通信连接,所述第二主交互模块与第二从交互模块通信连接;
所述第一从交互模块具有待运算的从交互数据一和从交互数据二,所述第二从交互模块具有待运算的从交互数据三和从交互数据四;所述第一探测模块用于当所述第一主交互模块访问所述第一从交互模块时,探测第一指令空隙;
所述第一探测模块还针对第一指令空隙匹配所述第一主交互模块于指令空隙内可执行的第一任务指令,并将匹配到第一任务指令反馈给所述第一主交互模块;所述第一主交互模块根据反馈的第一任务指令分时访问所述第二从交互模块;
所述第二探测模块用于当所述第二主交互模块访问所述第二交互模块时,探测第二指令空隙;
所述第二探测模块还针对第二指令空隙匹配所述第二主交互模块于指令空隙内可执行的第二任务指令,并将匹配到第二任务指令反馈给所述第二主交互模块;所述第二主交互模块根据反馈的第二任务指令分时访问所述第一从交互模块;
其中,所述从交互数据一和所述从交互数据三的运算在所述第一主交互模块访问时进行;所述从交互数据二和所述从交互数据四的运算在所述第二主交互模块访问时进行。
13.根据权利要求7所述的一种CPU交互系统,其特征在于,所述探测模块包括反馈检测单元、指令存储单元、反馈分析单元、任务指令反馈单元;
所述反馈检测单元用于探测主交互模块访问从交互模块时,从交互模块反馈给主交互模块的反馈信号;当所述反馈信号为忙碌状态时,所述反馈检测单元将忙碌状态所耗时间记录为所述主交互模块的指令空隙;
指令存储单元用于存储反馈信号和与反馈信号对应存储的指令空隙,并存储指令和指令执行所需时长;
所述反馈分析单元用于分析指令存储单元内的指令是否适合在指令空隙内执行,获得合适指令作为可执行的任务指令;
所述任务指令反馈单元用于将从反馈分析单元分析获得的任务指令反馈给所述主交互模块。
14.一种耗材芯片,其特征在于,所述耗材芯片采用上述权利要求7-13之一的CPU交互系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811113893.5A CN109460254B (zh) | 2018-09-25 | 2018-09-25 | 一种指令处理方法、cpu交互系统及采用该系统的耗材芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811113893.5A CN109460254B (zh) | 2018-09-25 | 2018-09-25 | 一种指令处理方法、cpu交互系统及采用该系统的耗材芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109460254A true CN109460254A (zh) | 2019-03-12 |
CN109460254B CN109460254B (zh) | 2021-03-19 |
Family
ID=65606882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811113893.5A Active CN109460254B (zh) | 2018-09-25 | 2018-09-25 | 一种指令处理方法、cpu交互系统及采用该系统的耗材芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109460254B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1078319A (zh) * | 1992-04-27 | 1993-11-10 | 英特尔公司 | 具有用于访问空闲模式的运行/停止端的微处理器 |
CN1584824A (zh) * | 2003-08-18 | 2005-02-23 | 上海海尔集成电路有限公司 | 一种基于cisc结构的微处理器构架及指令实现方式 |
CN101473307A (zh) * | 2006-06-19 | 2009-07-01 | 帝斯科匹尔公司 | 用于调度计算机微作业以在非干扰时间执行的方法、系统和装置 |
CN102063083A (zh) * | 2010-11-29 | 2011-05-18 | 浙江大学 | 一种多ecu分时下载方法 |
CN102541510A (zh) * | 2011-12-27 | 2012-07-04 | 中山大学 | 一种指令缓存系统及其取指方法 |
CN101639725B (zh) * | 2008-07-31 | 2013-07-17 | 国际商业机器公司 | 指令处理装置、方法及其使用的执行控制装置 |
US20180143828A1 (en) * | 2016-11-18 | 2018-05-24 | Red Hat Israel, Ltd. | Efficient scheduling for hyper-threaded cpus using memory monitoring |
CN108279977A (zh) * | 2017-12-29 | 2018-07-13 | 深圳市德兰明海科技有限公司 | 一种基于rtos的数据处理方法、装置和控制器 |
CN108284672A (zh) * | 2018-01-18 | 2018-07-17 | 杭州旗捷科技有限公司 | 一种耗材状态指示系统、方法及其所用模块和耗材容器 |
CN108292160A (zh) * | 2015-12-17 | 2018-07-17 | 英特尔公司 | 用于待机功率节省的系统、方法和设备 |
-
2018
- 2018-09-25 CN CN201811113893.5A patent/CN109460254B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1078319A (zh) * | 1992-04-27 | 1993-11-10 | 英特尔公司 | 具有用于访问空闲模式的运行/停止端的微处理器 |
CN1584824A (zh) * | 2003-08-18 | 2005-02-23 | 上海海尔集成电路有限公司 | 一种基于cisc结构的微处理器构架及指令实现方式 |
CN101473307A (zh) * | 2006-06-19 | 2009-07-01 | 帝斯科匹尔公司 | 用于调度计算机微作业以在非干扰时间执行的方法、系统和装置 |
CN101639725B (zh) * | 2008-07-31 | 2013-07-17 | 国际商业机器公司 | 指令处理装置、方法及其使用的执行控制装置 |
CN102063083A (zh) * | 2010-11-29 | 2011-05-18 | 浙江大学 | 一种多ecu分时下载方法 |
CN102541510A (zh) * | 2011-12-27 | 2012-07-04 | 中山大学 | 一种指令缓存系统及其取指方法 |
CN108292160A (zh) * | 2015-12-17 | 2018-07-17 | 英特尔公司 | 用于待机功率节省的系统、方法和设备 |
US20180143828A1 (en) * | 2016-11-18 | 2018-05-24 | Red Hat Israel, Ltd. | Efficient scheduling for hyper-threaded cpus using memory monitoring |
CN108279977A (zh) * | 2017-12-29 | 2018-07-13 | 深圳市德兰明海科技有限公司 | 一种基于rtos的数据处理方法、装置和控制器 |
CN108284672A (zh) * | 2018-01-18 | 2018-07-17 | 杭州旗捷科技有限公司 | 一种耗材状态指示系统、方法及其所用模块和耗材容器 |
Also Published As
Publication number | Publication date |
---|---|
CN109460254B (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5888629B2 (ja) | マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための方法、装置、およびシステム | |
US8112559B2 (en) | Increasing available FIFO space to prevent messaging queue deadlocks in a DMA environment | |
US20150199252A1 (en) | Correlation analysis of performance metrices | |
CN103294533A (zh) | 任务流控制方法及系统 | |
CN102508718A (zh) | 一种虚拟机负载均衡方法和装置 | |
CN109284184A (zh) | 一种基于容器化技术的分布式机器学习平台的搭建方法 | |
CN104243617A (zh) | 一种异构集群中面向混合负载的任务调度方法及系统 | |
CN108156181A (zh) | 一种基于协程异步io的漏洞探测方法及其漏洞扫描系统 | |
CN102999317B (zh) | 面向多租户的弹性多进程服务处理方法 | |
US20230351145A1 (en) | Pipelining and parallelizing graph execution method for neural network model computation and apparatus thereof | |
US10083066B2 (en) | Processing data by using simultaneous multithreading | |
CN110891083B (zh) | 一种Gaia中支持多作业并行执行的代理方法 | |
CN117971906A (zh) | 一种多卡协同数据库查询方法、装置、设备及存储介质 | |
US20170286166A1 (en) | Systems and methods for dynamic allocation of compilation machines | |
CN110231931A (zh) | 一种电源实时控制模块和系统 | |
CN103136032B (zh) | 一种多核体系并行仿真系统 | |
CN109460254A (zh) | 一种指令处理方法、cpu交互系统及采用该系统的耗材芯片 | |
CN104597832A (zh) | 一种基于amba总线的plc程序调度器ip核 | |
US8291419B2 (en) | Fault tolerant system for execution of parallel jobs | |
KR100590764B1 (ko) | 멀티프로세서 시스템에서 스케줄러를 이용한 대규모데이터 처리 방법 | |
CN108287753A (zh) | 计算机系统快速调度方法及装置 | |
CN111443898A (zh) | 基于优先级队列与有限状态机的流程式控制软件设计方法 | |
CN105302557A (zh) | 线程建立及处理的方法及装置 | |
CN109753314A (zh) | 一种可配置的流程自动执行方法及系统 | |
CN113254385A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 12th Floor, Huachuang Building, No. 511 Jianye Road, Binjiang District, Hangzhou City, Zhejiang Province, 310052 Patentee after: Hangzhou Qijie Technology Co.,Ltd. Country or region after: China Address before: Room 421, floor 4, building 1, No. 1180 Bin'an Road, Binjiang District, Hangzhou City, Zhejiang Province 310000 Patentee before: HANGZHOU CHIPJET TECHNOLOGY Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |