[go: up one dir, main page]

CN102760083A - Multiprocessor operation control method and system thereof - Google Patents

Multiprocessor operation control method and system thereof Download PDF

Info

Publication number
CN102760083A
CN102760083A CN2011101124436A CN201110112443A CN102760083A CN 102760083 A CN102760083 A CN 102760083A CN 2011101124436 A CN2011101124436 A CN 2011101124436A CN 201110112443 A CN201110112443 A CN 201110112443A CN 102760083 A CN102760083 A CN 102760083A
Authority
CN
China
Prior art keywords
processor
program
target
processors
monitoring processor
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
Application number
CN2011101124436A
Other languages
Chinese (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.)
Feature Integration Technology Inc
Original Assignee
Feature Integration Technology Inc
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 Feature Integration Technology Inc filed Critical Feature Integration Technology Inc
Priority to CN2011101124436A priority Critical patent/CN102760083A/en
Publication of CN102760083A publication Critical patent/CN102760083A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

The invention discloses an operation control method and system of a multiprocessor, which coordinate the operation sequence of a monitoring processor and a plurality of target processors in executing different operation programs. Obtaining the operation state values of other processors from the buffer block by the monitoring processor; the monitoring processor selects at least one target processor according to the operation state value; the monitoring processor assigns a target processor to execute a corresponding slave operation program and modifies the operation state value of each target processor in the buffer module; the monitoring processor repeats the above-mentioned setting operation status value and assigns other targets to process and execute the corresponding operation programs until the main operation program is completed.

Description

多处理器的运作控制方法及其系统Multiprocessor operation control method and system thereof

技术领域 technical field

本发明公开了一种流程控制方法及其系统,特别有关于一种多处理器的运作控制方法及其系统。The invention discloses a flow control method and its system, in particular to a multi-processor operation control method and its system.

背景技术 Background technique

随着集成电路的制程的精进,使得处理器可以达到更小的体积也同时具有更强的运算效能。处理器的发展从过去的单一处理器提供单一的运算能力,演进为多处理器提供各自的运算能力。接着,变化为单一处理器可以提供多线程(threads)的运算能力。最后,演进为多处理器可以提供多线程的运算。With the refinement of the manufacturing process of the integrated circuit, the processor can achieve a smaller size and have a stronger computing performance at the same time. The development of processors has evolved from a single processor providing single computing capabilities in the past to multi-processors providing their own computing capabilities. Then, the change is that a single processor can provide multi-threaded (threads) computing power. Finally, the evolution to multiprocessors can provide multithreaded operations.

在多处理器的处理过程中,需要对各处理器进行资源的调配处理,藉以确保每一个处理器不会有闲置的情况发生。因此处理器间会透过轮询(polling)或中断(interrupt)等方式来查询其它处理器所掌握的查询与其负载。In the process of multi-processor processing, it is necessary to allocate resources to each processor, so as to ensure that each processor will not be idle. Therefore, the processors will query the queries and loads mastered by other processors through polling or interrupts.

现有的轮询是由发起的处理器不断地询问其它处理器,看看其它处理器是否已经完成前一个命令。如果其它处理器已经完成命令,发起的处理器才能再送出下一个命令。轮询的方式虽然可以确保每一个处理器都有各自的行程与资源可以使用。由于轮询时需要等待处理器响应后,发起的处理器才能发出下一道的命令。因此轮询的等待时间会比运行的时间还要久。Existing polling is initiated by a processor that continually asks other processors to see if the other processors have completed a previous command. The initiating processor can only issue the next command if other processors have completed the command. Although the polling method can ensure that each processor has its own schedule and resources to use. Since the initiating processor needs to wait for the processor to respond during polling, the initiating processor can issue the next command. So the waiting time for polling will be longer than the running time.

为能缩短轮询的等待时间,因此另有人提出中断处理的方式。中断处理只是暂时调用处理器来执行其它装置的工作。一旦中断发生,处理器会储存当时缓存器的状态信息。等到中断事务结束后,便可以根据该状态信息重新启动计算。换言之,处理器需要暂时停止的工作程序并转而处理相关的中断事务,最后处理器也必须提供恢复正常工作的能力,以便处理完中断后,继续之前未完的程序。相较于轮询处理,中断处理可以不需等待其它处理器响应,所以发起的处理器可以对不同的处理器发出中断要求。虽然中断处理可以减少等待时间,但是在处理中断的过程需要使用更多的硬件资源来记录处理器的状态。In order to shorten the waiting time of polling, another method of interrupt processing has been proposed. Interrupt handling is only a temporary call to the processor to perform work on other devices. Once an interrupt occurs, the processor will store the status information of the registers at that time. After the interrupted transaction ends, the calculation can be restarted based on the state information. In other words, the processor needs to temporarily suspend the working program and turn to handle the related interrupt transaction. Finally, the processor must also provide the ability to resume normal work, so as to continue the unfinished program after processing the interrupt. Compared with polling processing, interrupt processing does not need to wait for other processors to respond, so the initiating processor can issue interrupt requests to different processors. Although interrupt processing can reduce the waiting time, more hardware resources are needed to record the state of the processor during interrupt processing.

因此多处理器在调派的处理过程中(例如:轮询处理或中断处理)都会产生等待时间过长与耗费硬件资源等问题。Therefore, problems such as long waiting time and consumption of hardware resources will occur when the multi-processor is dispatched (for example: polling processing or interrupt processing).

发明内容 Contents of the invention

鉴于以上的问题,本发明在于提供一种多处理器的运作控制方法,协调监控处理器与多个目标处理器在执行不同运作程序的运作顺序。In view of the above problems, the present invention provides a multi-processor operation control method to coordinate the operation sequence of the monitoring processor and multiple target processors executing different operation programs.

本发明所公开的多处理器的运作控制方法包括以下步骤:由监控处理器执行主运作程序;监控处理器从缓冲区块中取得其它目标处理器的该运作状态值;监控处理器选择至少一目标处理器;监控处理器重新设定所选出的其它目标处理器的运作状态值,使得其它目标处理器根据新的运作状态值执行相应的从属运作程序;监控处理器重复设定运作状态值的步骤,直至监控处理器完成该主运作程序为止;监控处理器完成主运作程序后,监控处理器将清空缓冲区块中的其它目标处理器的运作状态值。The operation control method of the multiprocessor disclosed by the present invention comprises the following steps: the monitoring processor executes the main operation program; the monitoring processor obtains the operating status values of other target processors from the buffer block; the monitoring processor selects at least one The target processor; the monitoring processor resets the operating status values of other selected target processors, so that other target processors execute corresponding subordinate operating programs according to the new operating status values; the monitoring processor repeatedly sets the operating status values until the monitoring processor completes the main operation program; after the monitoring processor completes the main operation program, the monitoring processor will clear the operation status values of other target processors in the buffer block.

本发明另提出一种多处理器的运作控制系统包括:监控处理器、目标处理器与缓冲区块。监控处理器与目标处理器在执行各自的程序时,处理器会将其状态值写入缓冲区块中。而监控处理器执行主运作程序,并从缓冲区块中取得其它目标处理器的运作状态值;监控处理器选择至少一目标处理器;监控处理器重新设定所选出的其它目标处理器的运作状态值,使得其它目标处理器根据新的运作状态值执行相应的从属运作程序;监控处理器重复设定运作状态值的步骤,直至监控处理器完成该主运作程序为止;监控处理器完成主运作程序后,监控处理器将清空缓冲区块中的其它目标处理器的运作状态值。The present invention further proposes a multi-processor operation control system including: a monitoring processor, a target processor and a buffer block. When the monitoring processor and the target processor are executing their respective programs, the processor will write its state value into the buffer block. The monitoring processor executes the main operation program, and obtains the operating status values of other target processors from the buffer block; the monitoring processor selects at least one target processor; the monitoring processor resets the selected other target processors operation state value, so that other target processors execute corresponding subordinate operation programs according to the new operation state value; the monitoring processor repeats the steps of setting the operation state value until the monitoring processor completes the main operation program; the monitoring processor completes the main operation program After running the program, the monitoring processor will clear the running status values of other target processors in the buffer block.

本发明提出一种多处理器的控制方法及其系统用以协调多个处理器执行不同运作程序的运作顺序。本发明的各处理器不需透过中断、轮询等方式取得其它处理器的使用状态。因此本发明的多处理器的调配过程中可以减少询问所耗费的时间,藉以提高处理器的运作效率。The invention provides a multi-processor control method and its system for coordinating the operation sequence of multiple processors executing different operation programs. Each processor of the present invention does not need to obtain the usage status of other processors through interrupts, polling and other means. Therefore, the multi-processor allocation process of the present invention can reduce the time spent on inquiry, so as to improve the operating efficiency of the processors.

有关本发明的特征与实作,配合附图作最佳实施例详细说明如下。Regarding the features and implementation of the present invention, the preferred embodiment is described in detail as follows in conjunction with the accompanying drawings.

附图说明 Description of drawings

图1为本发明的架构示意图;Fig. 1 is a schematic diagram of the architecture of the present invention;

图2为本发明的运作流程示意图;Fig. 2 is a schematic diagram of the operation process of the present invention;

图3A为本发明的从属运作程序结构示意图;FIG. 3A is a schematic structural diagram of the slave operation program of the present invention;

图3B为本发明的缓冲模块的示意图;3B is a schematic diagram of the buffer module of the present invention;

图3C为本发明的整体架构运作示意图;FIG. 3C is a schematic diagram of the overall architecture of the present invention;

图3D为本发明的目标处理器的程序指针与程序状态值;FIG. 3D is a program pointer and a program state value of the target processor of the present invention;

图3E为本发明的目标处理器的程序指针与程序状态值;FIG. 3E is a program pointer and a program state value of the target processor of the present invention;

图3F为本发明的目标处理器的程序指针与程序状态值;Fig. 3F is the program pointer and program status value of the target processor of the present invention;

图4为本发明的运作时的脉冲信号示意图。FIG. 4 is a schematic diagram of pulse signals during operation of the present invention.

其中,附图标记:Among them, reference signs:

控制系统100control system 100

处理器110processor 110

监控处理器111Monitor Processor 111

目标处理器112target processor 112

缓冲模块120buffer module 120

从属运作程序130Subordinate Operations Procedure 130

Label A从属运作程序131-1Label A subordinate operation procedure 131-1

Label B从属运作程序131-2Label B subordinate operation procedure 131-2

Label C从属运作程序131-3Label C subordinate operation procedure 131-3

具体实施方式 Detailed ways

本发明可以被应用于具有多处理器的集成电路芯片(integratedcircuit,IC)中,例如:平板计算机、个人计算机、智能型手机(Smart Phone)或个人数字助理(Personal digital assistant,PDA)。请参考图1所示,其为本发明的架构示意图。本发明的控制系统100由多个处理器110与缓冲模块120所构成。每一处理器110电性连接至缓冲模块120。The present invention can be applied to an integrated circuit chip (integrated circuit, IC) with multiple processors, such as: tablet computer, personal computer, smart phone (Smart Phone) or personal digital assistant (Personal digital assistant, PDA). Please refer to FIG. 1 , which is a schematic diagram of the architecture of the present invention. The control system 100 of the present invention is composed of a plurality of processors 110 and buffer modules 120 . Each processor 110 is electrically connected to the buffer module 120 .

在此从运作中的处理器110选择其一并将其定义为监控处理器111,而其余被指派的处理器为目标处理器112。监控处理器111用以调派其它目标处理器112运行相应的运作程序。监控处理器111可以根据主运作程序的负载需求或闲置的处理器110进而决定目标处理器112的数量。监控处理器111当前所执行的运作程序将其定义为主运作程序。而被监控处理器111指派的目标处理器112所执行的运作程序则定义为从属运作程序131。Here, one of the operating processors 110 is selected and defined as the monitoring processor 111 , and the other assigned processors are the target processors 112 . The monitoring processor 111 is used for dispatching other target processors 112 to run corresponding operation programs. The monitoring processor 111 can further determine the number of target processors 112 according to the load requirement of the main operating program or the idle processors 110 . The operating program currently executed by the monitoring processor 111 is defined as the main operating program. The operating program executed by the target processor 112 assigned by the monitor processor 111 is defined as the slave operating program 131 .

缓冲模块120用以记录各处理器在执行运作程序的运作状态值,而运作状态值至少包括处理器的辨识码、程序指针(Program Counter,PC)、程序状态值(Program Status,PS)、写入旗标或读取旗标。当处理器在执行运作程序时,处理器会实时的更新相应的运作状态值。因此监控处理器111可以藉由运作状态值来判断处理器是否正被使用中。进一步而言,处理器110的运作状态值就可以作为判断是否被指派成为目标处理器112。若主运作程序在运行期间需要2个以上的目标处理器112,则监控处理器111可以根据处理器110的负载程度来决定是否被指派为目标处理器112。例如:程序指针或程序状态值同时为”0”时则表示该颗处理器110完全闲置,也可以设定为在特定门坎值之下时,将处理器110视为闲置或忙碌。缓冲模块120可以藉由队列(Queue)或堆栈(Stack)等方式实现。The buffer module 120 is used to record the operating status value of each processor executing the operating program, and the operating status value includes at least the identification code of the processor, the program pointer (Program Counter, PC), the program status value (Program Status, PS), write Enter flag or read flag. When the processor is executing the operation program, the processor will update the corresponding operation status value in real time. Therefore, the monitoring processor 111 can determine whether the processor is being used according to the operating state value. Furthermore, the operating state value of the processor 110 can be used to determine whether to be assigned as the target processor 112 . If the main operating program requires more than two target processors 112 during execution, the monitoring processor 111 may determine whether to be assigned as the target processor 112 according to the load level of the processor 110 . For example, when the program pointer and the program status value are "0" at the same time, it means that the processor 110 is completely idle, and it can also be set to treat the processor 110 as idle or busy when it is below a certain threshold. The buffer module 120 can be implemented by a queue (Queue) or a stack (Stack).

本发明的多处理器的控制方法包括以下步骤,还请参考图2所示,其为本发明的运作流程示意图:The multiprocessor control method of the present invention includes the following steps, please also refer to Figure 2, which is a schematic diagram of the operation flow of the present invention:

步骤S210:由监控处理器执行主运作程序;Step S210: Execute the main operation program by the monitoring processor;

步骤S220:监控处理器从缓冲区块中取得其它目标处理器的运作状态值;Step S220: the monitoring processor acquires the operating status values of other target processors from the buffer block;

步骤S230:监控处理器选择至少一目标处理器;Step S230: the monitoring processor selects at least one target processor;

步骤S240:监控处理器指派给所选出的目标处理器执行相应的从属运作程序,并该监控处理器重新设定所选出的该些目标处理器的该运作状态值;Step S240: the monitoring processor assigns the selected target processors to execute corresponding subordinate operating programs, and the monitoring processor resets the operating status values of the selected target processors;

步骤S250:监控处理器重复指派从属运作程序的步骤,直至监控处理器完成主运作程序为止;以及Step S250: the monitoring processor repeats the step of assigning the slave operation program until the monitoring processor completes the main operation program; and

步骤S260:在监控处理器完成主运作程序后,监控处理器将清空(Flush)缓冲区块中的所有目标处理器的运作状态值。Step S260: After the monitoring processor completes the main operation program, the monitoring processor will flush (Flush) the operating status values of all target processors in the buffer block.

首先,监控处理器111执行主运作程序。监控处理器111从缓冲区块中取得其它目标处理器112的运作状态值。监控处理器111根据所取得的运作状态值决定欲指派的目标处理器112。例如,监控处理器111可以选择程序指针或程序状态值为“0”的处理器作为目标处理器112。First, the monitoring processor 111 executes the main operation program. The monitoring processor 111 obtains the operating status values of other target processors 112 from the buffer block. The monitoring processor 111 determines the target processor 112 to be assigned according to the acquired operation state value. For example, the monitor processor 111 may select a processor whose program pointer or program status value is “0” as the target processor 112 .

当监控处理器111选择目标处理器112后,监控处理器111指派给所选出的目标处理器112执行相应的从属运作程序131。于此同时,监控处理器111也会对所选出的目标处理器112的运作状态值进行重新设定,藉以让其它监控处理器111禁止使用这些已经被指派的目标处理器112。监控处理器111根据主运作程序重复的驱动目标处理器112执行相应的从属运作程序131,直至监控处理器111完成主运作程序为止。After the monitoring processor 111 selects the target processor 112 , the monitoring processor 111 assigns the selected target processor 112 to execute the corresponding subordinate operation program 131 . At the same time, the monitoring processor 111 also resets the operating state value of the selected target processor 112 , so that other monitoring processors 111 prohibit the use of these assigned target processors 112 . The monitoring processor 111 repeatedly drives the target processor 112 to execute the corresponding slave operating program 131 according to the main operating program until the monitoring processor 111 completes the main operating program.

最后,当监控处理器111完成主运作程序时,监控处理器111将清空缓冲区块中的所有目标处理器112的运作状态值,藉以释放目标处理器112的使用权。本发明的监控处理器111以透过管线化(Pipeline)的方式将各从属运作程序131发分时的指派给不同的目标处理器112,让每一个目标处理器112可以各自的处理其所属的从属运作程序131。Finally, when the monitoring processor 111 completes the main operation program, the monitoring processor 111 clears all the operating status values of the target processor 112 in the buffer block, so as to release the usage right of the target processor 112 . The monitoring processor 111 of the present invention assigns each slave operation program 131 to different target processors 112 in a pipelined (Pipeline) manner, so that each target processor 112 can process its own Slave operation program 131 .

为清楚说明本发明的整体运作,在此以监控处理器111与一个目标处理器112的运作过程作为说明,但并非目标处理器112的数量仅局限于此。假设由处理器2担任监控处理器111,而处理器1为目标处理器112,并执行Label A、Label B与Label C等从属运作程序131,请参考图3A所示,其为从属运作程序131结构示意图。从软件的角度而言,每一次目标处理器112在完成从属运作程序131后会输出不同的输出值。从硬件的角度而言,每一次目标处理器112在完成从属运作程序131后均会产生不同脉冲信号(Pulse)。而监控处理器111(监控处理器111为下述伪码的PE2,目标处理器112则对应伪码的PE1)则运行以下的主运作程序的伪码:In order to clearly illustrate the overall operation of the present invention, the operation process of the monitoring processor 111 and one target processor 112 is used as an illustration here, but the number of target processors 112 is not limited to this. Assuming that the processor 2 serves as the monitoring processor 111, and the processor 1 is the target processor 112, and executes the subordinate operation programs 131 such as Label A, Label B and Label C, as shown in FIG. 3A, which is the subordinate operation program 131 Schematic. From a software point of view, each time the target processor 112 completes the slave operation program 131 , it will output different output values. From a hardware point of view, every time the target processor 112 completes the slave operation program 131 , it will generate different pulse signals (Pulse). The monitoring processor 111 (the monitoring processor 111 is PE2 of the following pseudo code, and the target processor 112 corresponds to PE1 of the pseudo code) then runs the following pseudo code of the main operating program:

Figure BSA00000487375600051
Figure BSA00000487375600051

首先,主运作程序的执行流程由监控处理器111重复的监控目标处理器112的程序状态值是否异动(在本例中由0变为1)。在本实施态样的伪码中以一循环来控制目标处理器1121对于Label A、Label B与Label C的运作顺序,但并非仅局限于此。在指派目标处理器112的过程中可以透过其它的逻辑控制来决定从属运作程序131的执行顺序。Firstly, the monitoring processor 111 repeatedly monitors whether the program state value of the target processor 112 changes (changed from 0 to 1 in this example) in the execution flow of the main operating program. In the pseudo code of this embodiment, a cycle is used to control the operation sequence of the target processor 1121 for Label A, Label B and Label C, but it is not limited thereto. During the process of assigning the target processor 112 , other logic control can be used to determine the execution order of the slave operation program 131 .

监控处理器111会及时的读取缓冲模块120中A0字段的程序状态值是否变更为1。当A0字段的程序状态值仍为0时,则监控处理器111不指派目标处理器112执行Label B从属运作程序131-2。The monitoring processor 111 will read whether the program state value of the A0 field in the buffer module 120 is changed to 1 in time. When the program status value of the A0 field is still 0, the monitor processor 111 does not assign the target processor 112 to execute the Label B slave operation program 131-2.

当Label A从属运作程序131-1被执行时,则在缓冲模块120中对应的处理器的字段上进行相应的注记,请配合图3B与图3C所示,其分别为缓冲模块与整体运作的示意图。在图3B中目标处理器112的程序指针与程序状态值分别设定为Label A与0,意即监控处理器111将指派目标处理器112执行LabelA从属运作程序131-1,并将目标处理器112的运作状态值设定为0。这样一来,其它监控处理器111可以从缓冲模块120观察到此一目标处理器112(意即原处理器1)已被使用。所以其它监控处理器111则不会调用原处理器1(意即目标处理器112)。在Label A从属运作程序131-1完成后,将会把程序状态值设定为1,请参考图3D所示。当A0字段的程序状态值为1时,则监控处理器111指派目标处理器112执行Label B从属运作程序131-2。When the Label A subordinate operation program 131-1 is executed, corresponding annotations are made on the field of the corresponding processor in the buffer module 120, as shown in Fig. 3B and Fig. 3C, which are respectively the buffer module and the overall operation schematic diagram. In Fig. 3B, the program pointer and the program state value of the target processor 112 are respectively set to Label A and 0, which means that the monitoring processor 111 will assign the target processor 112 to execute the LabelA slave operating program 131-1, and the target processor The operational state value of 112 is set to 0. In this way, other monitoring processors 111 can observe from the buffer module 120 that the target processor 112 (that is, the original processor 1 ) has been used. Therefore, other monitoring processors 111 will not call the original processor 1 (that is, the target processor 112). After the Label A slave operation program 131-1 is completed, the program status value will be set to 1, as shown in FIG. 3D. When the program state value of the A0 field is 1, the monitor processor 111 assigns the target processor 112 to execute the Label B slave operation program 131-2.

接着,监控处理器111会驱动目标处理器112执行Label B从属运作程序131-2。监控处理器111会将缓冲模块120的目标处理器112的程序指针与程序状态值分别设定为Label B与0,请参考图3E。监控处理器111则一直读取缓冲模块120的目标处理器112的运作状态值,并判断其运作状态值是否已经改变。当B0字段的程序状态值为1时,则监控处理器111指派目标处理器112执行Label C从属运作程序131-3。Next, the monitor processor 111 drives the target processor 112 to execute the Label B slave operation program 131-2. The monitor processor 111 sets the program pointer and program status value of the target processor 112 of the buffer module 120 to Label B and 0 respectively, please refer to FIG. 3E . The monitoring processor 111 always reads the operating state value of the target processor 112 of the buffer module 120 and determines whether the operating state value has changed. When the program state value of the B0 field is 1, the monitor processor 111 assigns the target processor 112 to execute the Label C slave operation program 131-3.

同理,监控处理器111会驱动目标处理器112执行Label C从属运作程序131-3。监控处理器111会将缓冲模块120的目标处理器112的程序指针与程序状态值分别设定为Label C与0,请参考图3F。当C0字段的程序状态值为1时,则监控处理器111指派目标处理器112执行Label A从属运作程序131-1。监控处理器111在完成Label C从属运作程序131-3后,监控处理器111会根据主运作程序的循环,再次执行Label A从属运作程序131-1。Similarly, the monitor processor 111 will drive the target processor 112 to execute the Label C slave operation program 131-3. The monitor processor 111 sets the program pointer and program status value of the target processor 112 of the buffer module 120 to Label C and 0 respectively, please refer to FIG. 3F . When the program state value of the C0 field is 1, the monitor processor 111 assigns the target processor 112 to execute the Label A slave operation program 131-1. After the monitoring processor 111 completes the Label C slave operation program 131-3, the monitor processor 111 will execute the Label A slave operation program 131-1 again according to the cycle of the main operation program.

诚如上述所言,本发明的多处理器的控制系统100在执行各从属运作程序131时除了产生相应的输出值外,对于硬件而言也会产生透过不同的从属运作程序输出相应的脉冲信号。假设Label A从属运作程序131-1生成4个脉冲、Label B从属运作程序131-2生成2个脉冲、Label C从属运作程序131-3生成6个脉冲。请配合图4所示,其为本发明的运作时的脉冲信号示意图。As mentioned above, the multiprocessor control system 100 of the present invention not only generates corresponding output values when executing each slave operation program 131, but also generates corresponding pulses output through different slave operation programs for the hardware. Signal. Assume that the Label A slave operating program 131-1 generates 4 pulses, the Label B slave operating program 131-2 generates 2 pulses, and the Label C slave operating program 131-3 generates 6 pulses. Please refer to FIG. 4 , which is a schematic diagram of the pulse signal during operation of the present invention.

除了上述实施态样外,本发明另可以应用于多目标处理器112的控制系统100中。如同前文所述,监控处理器111在进行主运作程序中可以指派不同的目标处理器112进行各自的从属运作程序131。In addition to the above implementation aspects, the present invention can also be applied to the control system 100 of the multi-object processor 112 . As mentioned above, the monitoring processor 111 can assign different target processors 112 to execute respective slave operating programs 131 while executing the main operating program.

本发明提出一种多处理器的控制方法及其系统用以协调多个处理器执行不同运作程序的运作顺序。本发明的各处理器不需透过中断、轮询等方式取得其它处理器的使用状态。因此本发明的多处理器的调配过程中可以减少询问所耗费的时间,藉以提高处理器的运作效率。The invention provides a multi-processor control method and its system for coordinating the operation sequence of multiple processors executing different operation programs. Each processor of the present invention does not need to obtain the usage status of other processors through interrupts, polling and other means. Therefore, the multi-processor allocation process of the present invention can reduce the time spent on inquiry, so as to improve the operating efficiency of the processors.

Claims (10)

1.一种多处理器的运作控制方法,协调一监控处理器与多个目标处理器在执行不同运作程序的运作顺序,其特征在于,该控制方法包括以下步骤:1. A method for controlling the operation of a multiprocessor, coordinating a monitoring processor and a plurality of target processors in the execution of different operating procedures, characterized in that the control method comprises the following steps: 由该监控处理器执行一主运作程序;executing a main operating program by the supervisory processor; 该监控处理器从一缓冲区块中取得该些目标处理器的一运作状态值;The monitoring processor obtains an operation state value of the target processors from a buffer block; 该监控处理器选择至少一该目标处理器;以及the monitor processor selects at least one of the target processors; and 该监控处理器指派给该些目标处理器执行相应的一从属运作程序,并该监控处理器重新设定所选出的该些目标处理器的该运作状态值。The monitoring processor assigns the target processors to execute a corresponding dependent operating program, and the monitoring processor resets the operating status values of the selected target processors. 2.如权利要求1所述的多处理器的运作控制方法,其特征在于,该运作状态值至少包含一辨识码、一程序指针、一程序状态值、一写入旗标或一读取旗标。2. The operation control method of a multiprocessor according to claim 1, wherein the operation status value at least includes an identification code, a program pointer, a program status value, a write flag or a read flag mark. 3.如权利要求2所述的多处理器的运作控制方法,其特征在于,该监控处理器根据该运作状态值选择该些目标处理器。3. The operation control method of a multi-processor according to claim 2, wherein the monitoring processor selects the target processors according to the operation state value. 4.如权利要求1所述的多处理器的运作控制方法,其特征在于,该监控处理器重复指派该从属运作程序的步骤,直至该监控处理器完成该主运作程序为止。4. The operation control method of a multiprocessor as claimed in claim 1, wherein the monitor processor repeats the step of assigning the slave program until the monitor processor completes the master program. 5.如权利要求4所述的多处理器的运作控制方法,其特征在于,该监控处理器完成该主运作程序后,该监控处理器将清空该缓冲区块中的该些目标处理器的该运作状态值。5. The operation control method of a multiprocessor as claimed in claim 4, wherein, after the monitoring processor completes the main operation program, the monitoring processor will clear the memory of the target processors in the buffer block. The operational status value. 6.一种多处理器的控制系统,协调多个处理器执行不同运作程序的运作顺序,其特征在于,该控制系统包括:6. A multi-processor control system that coordinates a plurality of processors to execute the operation sequence of different operation programs, characterized in that the control system includes: 一缓冲区块,用以纪录该些处理器的一运作状态值;a buffer block for recording an operation state value of the processors; 至少一目标处理器,每一该目标处理器执行一从属运作程序时,将该目标处理器的该运作状态值写入该缓冲区块;以及At least one target processor, each of which executes a dependent operation program, writes the operation state value of the target processor into the buffer block; and 一监控处理器,用以执行一主运作程序,该监控处理器从该缓冲区块中取得该些目标处理器的该运作状态值,并选择至少一该目标处理器,该监控处理器重新设定所选出的该些目标处理器的该运作状态值,使得该些目标处理器根据新的该运作状态值执行相应的该从属运作程序。A monitoring processor is used to execute a main operating program, the monitoring processor obtains the operating status values of the target processors from the buffer block, and selects at least one target processor, and the monitoring processor resets The operating state values of the selected target processors are selected, so that the target processors execute the corresponding dependent operating programs according to the new operating state values. 7.如权利要求6所述的多处理器的控制系统,其特征在于,该运作状态值至少包含一辨识码、一程序指针、一程序状态值、一写入旗标或一读取旗标。7. The multiprocessor control system as claimed in claim 6, wherein the operating status value at least includes an identification code, a program pointer, a program status value, a write flag or a read flag . 8.如权利要求6所述的多处理器的控制系统,其特征在于,该监控处理器完成该主运作程序后,该监控处理器将清空该缓冲区块中的该些目标处理器的该运作状态值。8. The multiprocessor control system as claimed in claim 6, wherein after the monitoring processor completes the main operation program, the monitoring processor will clear the buffer blocks of the target processors Operational status value. 9.如权利要求6所述的多处理器的控制系统,其特征在于,该监控处理器重复指派该从属运作程序,直至该监控处理器完成该主运作程序为止。9. The multi-processor control system as claimed in claim 6, wherein the monitor processor repeatedly assigns the slave process until the monitor processor completes the master process. 10.如权利要求6所述的多处理器的控制系统,其特征在于,该监控处理器完成该主运作程序后,该监控处理器将清空该缓冲区块中的该些目标处理器的该运作状态值。10. The multiprocessor control system as claimed in claim 6, wherein after the monitoring processor completes the main operation program, the monitoring processor will clear the buffer blocks of the target processors Operational status value.
CN2011101124436A 2011-04-26 2011-04-26 Multiprocessor operation control method and system thereof Pending CN102760083A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011101124436A CN102760083A (en) 2011-04-26 2011-04-26 Multiprocessor operation control method and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011101124436A CN102760083A (en) 2011-04-26 2011-04-26 Multiprocessor operation control method and system thereof

Publications (1)

Publication Number Publication Date
CN102760083A true CN102760083A (en) 2012-10-31

Family

ID=47054548

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011101124436A Pending CN102760083A (en) 2011-04-26 2011-04-26 Multiprocessor operation control method and system thereof

Country Status (1)

Country Link
CN (1) CN102760083A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5408334A (en) * 1992-11-24 1995-04-18 Hitachi, Ltd. Method and apparatus for having a processor execute a job utilizing an electronic mail system
CN1426023A (en) * 2001-12-04 2003-06-25 松下电器产业株式会社 Moving image encoding device and its method using multiple processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5408334A (en) * 1992-11-24 1995-04-18 Hitachi, Ltd. Method and apparatus for having a processor execute a job utilizing an electronic mail system
CN1426023A (en) * 2001-12-04 2003-06-25 松下电器产业株式会社 Moving image encoding device and its method using multiple processor

Similar Documents

Publication Publication Date Title
US12131186B2 (en) Hardware accelerated dynamic work creation on a graphics processing unit
US9996394B2 (en) Scheduling accelerator tasks on accelerators using graphs
KR102219545B1 (en) Mid-thread pre-emption with software assisted context switch
US11243795B2 (en) CPU overcommit with guest idle polling
US11893390B2 (en) Method of debugging a processor that executes vertices of an application, each vertex being assigned to a programming thread of the processor
CN110659115A (en) Multi-threaded processor core with hardware assisted task scheduling
JP2018534675A (en) Task subgraph acceleration by remapping synchronization
CN113407352A (en) Method, processor, device and readable storage medium for processing task
TWI428755B (en) Method, computer-readable storage medium, and data processing system for allocating dma channel identifiers
CN114895965A (en) Method and apparatus for out-of-order pipeline execution implementing static mapping of workloads
US20140143524A1 (en) Information processing apparatus, information processing apparatus control method, and a computer-readable storage medium storing a control program for controlling an information processing apparatus
US20150268985A1 (en) Low Latency Data Delivery
US11645081B2 (en) Handling exceptions in a multi-tile processing arrangement
JP2024523339A (en) Providing atomicity for composite operations using near-memory computing
CN109840137B (en) Cross-core scheduling method and device
US9268601B2 (en) API for launching work on a processor
CN119248434A (en) Method and system for task processing based on configuration queue data
US20180143828A1 (en) Efficient scheduling for hyper-threaded cpus using memory monitoring
KR20250127328A (en) Dynamic control of job scheduling
JP7589933B2 (en) Initializing and Managing Service Class Attributes at Runtime for Optimizing Deep Learning Training in Distributed Environments
CN102760083A (en) Multiprocessor operation control method and system thereof
US20120272045A1 (en) Control method and system of multiprocessor
US12360804B2 (en) Data dependency-aware scheduling
US20240330036A1 (en) Parallel processing architecture with shadow state
WO2023225991A1 (en) Dynamic establishment of polling periods for virtual machine switching operations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20121031