JP2007317171A - Multi-thread computer system and multi-thread execution control method - Google Patents

Multi-thread computer system and multi-thread execution control method Download PDF

Info

Publication number
JP2007317171A
JP2007317171A JP2007114791A JP2007114791A JP2007317171A JP 2007317171 A JP2007317171 A JP 2007317171A JP 2007114791 A JP2007114791 A JP 2007114791A JP 2007114791 A JP2007114791 A JP 2007114791A JP 2007317171 A JP2007317171 A JP 2007317171A
Authority
JP
Japan
Prior art keywords
thread
execution
register
processor element
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
JP2007114791A
Other languages
Japanese (ja)
Inventor
Masanori Henmi
正憲 逸見
Original Assignee
Matsushita Electric Ind Co Ltd
松下電器産業株式会社
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
Priority to JP2006123748 priority Critical
Application filed by Matsushita Electric Ind Co Ltd, 松下電器産業株式会社 filed Critical Matsushita Electric Ind Co Ltd
Priority to JP2007114791A priority patent/JP2007317171A/en
Publication of JP2007317171A publication Critical patent/JP2007317171A/en
Application status is Pending legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a multi-thread computer system improving a substantial operation rate in a plurality of processor elements (PEs).
SOLUTION: This multi-thread computer system comprises the plurality of PEs 101-103 and a parallel processor control part 200 for switching the thread of each PE. The parallel processor control part 200 comprises a plurality of execution order registers for holding the execution order of the threads to be executed for every PE; a plurality of counters 230 counting the execution time of the threads under execution by each PE and generating time-out signals when the counted time reaches the allocation time of the threads; and a thread execution scheduler part 210 switching the thread to be executed in each processor element based on the execution order held in the execution order register, and the time-out signals.
COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、並列動作するマルチプロセッサエレメントを備えるマルチスレッド計算機システムに関し、特に、各プロセッサエレメントにおいてプログラムを切り換えマルチスレッド計算機システムおよびマルチスレッド実行制御方法に関する。 The present invention relates to a multi-threaded computer system including a multi-processor elements operating in parallel, in particular, to a multi-threaded computer system and multithread execution control method to switch the program in each processor element.

演算処理性能をより高めるために、複数のプロセッサエレメントを備えるマルチプロセッサ構成をとる並列処理システムがある。 For greater processing performance, there is a parallel processing system taking the multiprocessor configuration comprising a plurality of processor elements.

並列処理システムにおいて、さらに演算処理性能をより高めるために、一つのプロセスを複数のスレッドと呼ばれる制御の流れ(プログラム)に分割し、複数のスレッドを複数のプロセッサで並列に実行する方法が取られることがある。 In parallel processing systems, further to enhance the processing performance, to divide the flow of control called a single process with multiple threads (programs), taken a method of executing in parallel a plurality of threads on multiple processors Sometimes.

マルチプロセッサ構成をとる並列処理システムで、さらにこのように複数のスレッドを並列に実行する従来の方法として、例えば特許文献1に記載された方法がある。 In parallel processing system that takes a multi-processor configuration, further as a conventional method of performing in this manner a plurality of threads in parallel, for example, a method described in Patent Document 1.

この並列処理システムでは、一つのプロセッサに着目したとき、1つのプロセッサエレメント内において、決められた要因によって複数のスレッドを切り換えながら実行する。 In the parallel processing system, when attention is paid to one of the processors, in a single processor element to perform while switching the plurality of threads by a factor that is determined. この制御により、1つのプロセッサエレメントで複数のスレッドを擬似的に並列実行させている。 This control is artificially by parallel execution of multiple threads in a single processor element. このとき、各スレッドは各々が1つのプロセッサをそれぞれ独占して使用するように実行されるため、各々のスレッドが個別に仮想的なプロセッサに割り当てられて実行されていると考えることができる。 In this case, it can be considered that each thread because each is performed to use a monopoly on one processor each, each thread is executing assigned to virtual processors separately.

仮想的なプロセッサのそれぞれは、実際のプロセッサの全機能を持つ必要はなく、スレッドを実行するために必要な情報、すなわちプログラムカウンタ、フラグレジスタ、スタック領域、汎用レジスタなどのスレッド固有の制御情報やデータ情報のみを持てばよい。 Each virtual processor does not need to have the actual full functionality of the processor, the information required to execute the thread, i.e. the program counter, the flag register, Ya thread-specific control information such as the stack region, the general purpose register only a simply needs to have data information. スレッドを実行するために必要なこれらの情報を「コンテキスト」という。 These information necessary to carry out the thread of "context".

1つのプロセッサエレメントで現在実行しているスレッドを別のスレッドに切り換えるときには、コンテキストを切り換えなければならない。 When switching the thread currently running on one processor element to another thread must switch the context. 通常、コンテキストはメモリに格納されているため、コンテキストの切り換えは、現在実行しているスレッドのコンテキストをメモリに書き出し(ここでは「退避」と書く)、次に実行するスレッドのコンテキストをメモリから読み出す(ここでは「復帰」と書く)ことを意味する。 Usually, since the context is stored in the memory, switching the context, writing the context of the thread that is currently running in the memory (here written as "retracted"), you read the context of the thread from the memory to be executed next (here, the writing "return") means that.

さて、特許文献1に記載された方法(特許文献1の第2図)では、オペレーティングシステムではなく、ハードウェアでスレッドのプリエンプション(優先度の高いスレッドへの切り換え)の受け付けを行うものであるが、さらにプリエンプション受け付け後の切り換え処理についてもオペレーティングシステムを介在しない高速なユーザーレベル割り込みを提供することによって、マルチスレッド処理の効率を向上させている。 Now, the method described in Patent Document 1 (FIG. 2 of Patent Document 1), rather than the operating system, but performs a reception thread preemption (switching to a higher priority thread) Hardware , and further by providing a fast user-level interrupt without intervening operating system also switching process after preemption reception, to improve the efficiency of multi-threading. ただし、本方法ではスレッドを切り換えるたびに、ユーザープロセス内部に存在するスレッドスケジューラをプロセッサエレメントで実行することにより、1つのユーザープロセスを構成するすべてのスレッドのスケジューリングを行っている。 However, each time to switch the threads in the process, by executing thread scheduler existing in the user process in the processor element, and performs scheduling of all threads that make up the single user process.
特開平11−282815号公報 JP 11-282815 discloses

しかしながら従来技術によれば次の課題がある。 However there are the following problems according to the prior art. すなわち、従来技術の第1の課題は、 That is, the first problem of the prior art,
スレッドの切り換えを行うたびに、スレッド切り換えのオーバーヘッドが発生することである。 Each of switching threads is that the thread switching overhead is generated. なぜなら、プロセッサが、ユーザープロセス内部に存在するスレッドスケジューラを実行することによって、スレッドを切り換えているからである。 This is because the processor is because by performing the thread scheduler existing in the user process, and switches the thread.

また、従来技術の第2の課題は、1つのユーザープロセス内の複数のスレッドを並列に実行できる場合でも、1つのユーザープロセスについて1つのプロセッサエレメントが割り当てられているため、他のプロセッサエレメントが別のユーザープロセス内のスレッドを実行していない状態であっても、そのプロセッサエレメントにスレッドを実行させることができないことである。 The second problem of the prior art, one even when a plurality of threads in a user process can be executed in parallel, because one of the processor elements for one user process has been assigned, different other processor elements even when not running thread in the user process, it is the inability to execute a thread to the processor element.

このため、並列処理システムの実質的な稼働率を十分に高めることができなくなり、システムのパフォーマンスの低下につながっている。 Therefore, it becomes impossible to sufficiently increase the substantial operating rate of the parallel processing system, it has led to a decrease in system performance.

本発明は、上記課題に鑑み、複数のプロセッサエレメントにおける実質的な稼働率を向上させるマルチスレッド計算機システム、マルチスレッド実行制御方法を提供することを目的とする。 In view of the above problems, a multi-threaded computer system to improve the substantial operating rate in a plurality of processor elements, and an object thereof is to provide a multi-threaded execution control method.

上記目的を達成するために、本発明のマルチスレッド計算機システムは、複数スレッドを含むプロセスを実行するプロセッサエレメントを複数個含むプロセッサエレメント群と、各プロセッサエレメントで実行すべきスレッドを切り換える制御手段とを備え、前記制御手段は、前記複数のプロセッサエレメントに対応して設けられ、対応するプロセッサエレメントで実行すべきスレッドの実行順序を保持する複数の実行順序レジスタと、前記複数のプロセッサエレメントに対応して設けられ、対応するプロセッサエレメントにより実行中のスレッドの実行時間をカウントし、カウントされた時間がスレッドの割り当て時間に達したときタイムアウト信号を発生する複数のカウンタと、前記実行順序レジスタに保持された実行順序および前記タ To achieve the above object, a multi-threaded computer system of the present invention comprises a processor element group including a plurality of processor elements to perform a process including multiple threads, and control means for switching the thread to be executed by each processor element wherein the control means are provided corresponding to said plurality of processor elements, a plurality of execution order register for holding the execution order of the thread to be executed by the corresponding processor element, corresponding to said plurality of processor elements provided, counts the execution time of the running thread by the corresponding processor element, a plurality of counters counted time to generate a time-out signal when reaching the thread allocation time, held in the execution order register execution order and said data ムアウト信号に基づいて、各プロセッサエレメントで実行すべきスレッドを切り換えるスケジュール回路とを備える。 Based on the timeout signal, and a scheduling circuit for switching the thread to be executed by each processor element. この構成によれば、次に実行すべきスレッドの判定もスレッド切り換えもスケジュール回路によって実行されるので、スレッド切り換えのオーバーヘッドを低減することができ、その結果、マルチスレッド計算機システムの実質的は稼働率を向上させることができる。 According to this configuration, since the thread determines to execute next is also executed by the thread switching may schedule circuit, it is possible to reduce the thread switching overhead, so that substantially the operating rate of the multi-threaded computer system it is possible to improve the.

ここで、前記実行順序レジスタは、前記複数スレッドの実行を開始前に対応するプロセッサエレメントによって前記実行順序を書き込まれる構成としてもよい。 Here, the execution order register may be configured to be written to the execution order by the processor elements corresponding to the previous start execution of the multiple threads. この構成によれば、次に実行すべきスレッドの判定は実行順序レジスタに従ってスケジュール回路が高速に行うことができる。 According to this configuration, the thread decision of to be executed next can be carried out scheduling circuit at high speed in accordance with the execution order register.

ここで、前記制御手段は、さらに、前記スケジュール回路をディスエーブルするシングルスレッドモード、前記スケジュール回路をイネーブルするマルチスレッドモードの何れかを示すモード情報を保持するモードレジスタを備え、前記モードレジスタは、プロセッサにより書き込み可能である構成としてもよい。 Here, the control means further single thread mode disabling the schedule circuit comprises a mode register for holding mode information indicating one of the multi-thread mode to enable the schedule circuit, said mode register, it may be configured writable by the processor. この構成によれば、シングルスレッドモードにおいて実行順序レジスタへの実行順序の設定など初期設定をしさえすれば、マルチスレッドモードに移行後に、スケジュール回路によるスレッド切り換えを高速に行うことができる。 According to this configuration, if only the setting initialization such as execution order of the execution order register in the single thread mode, after the transition to the multi-thread mode, it is possible to perform thread switching by schedule circuit at high speed.

ここで、前記制御手段は、さらに、前記複数のプロセッサエレメントに対応して設けられ、対応するプロセッサエレメントへの割り込み信号に対応する優先実行すべきスレッドを示す優先度情報を保持する複数の優先度レジスタを備え、スケジュール回路は、さらに、外部から割り込み信号が入力されたとき、前記割り込み信号に対応するスレッドに切り換えるようにしてもよい。 Here, the control means further said provided corresponding to the plurality of processor elements, a corresponding plurality of priority for holding priority information indicating a thread to the priority execution corresponding to the interrupt signal to the processor element includes a register, schedule circuit further when an interrupt signal is input from the outside, may be switched to the thread corresponding to the interrupt signal. この構成によれば、優先度の高い割り込み処理用スレッドを高速に切り換えることができる。 According to this configuration, it is possible to switch the high priority interrupt processing thread at high speed.

ここで、前記各プロセッサエレメントは、実行中のスレッドのコンテキストと、次に実行すべきコンテキストとを保持する2つのコンテキストレジスタ群を備え、前記スケジュール回路は、さらに、プロセッサエレメントのコンテキストの退避および復帰をするためにコンテキスト転送を行うコンテキスト転送部を備え、前記スケジュール回路は、スレッド切り換え時に、プロセッサエレメントが使用するコンテキストレジスタ群を切り替え、前記コンテキスト転送部は、スレッド切り換え後に、コンテキスト転送を行うようにしてもよい。 Here, each processor element is provided with a thread of execution context, the two context register set for holding the context to be executed next, the scheduling circuit further context of processor elements saving and restoring It includes a context transfer unit for performing context transfer to the said scheduling circuit, when the thread is switched, switching the context register group processor element is used, the context transfer unit, after the thread is switched, to perform the context transfers it may be. この構成によれば、コンテキストの退避および復帰を隠蔽することができるのでマルチスレッド計算機システムの稼働率をさらに向上させることができる。 According to this configuration, the operation rate of the multi-threaded computer system can be further improved since it is possible to conceal the saving and restoring of context.

ここで、前記制御手段は、さらに、各プロセッサエレメントが実行状態であるか停止状態であるかを示す状態レジスタと、スレッドの並列実行の可否に関する可否情報を保持する複数の可否情報保持部とを備え、前記スケジュール回路は、さらに、何れかのプロセッサエレメントが実行状態から停止状態になったとき、前記可否情報に基づいて実行状態のプロセッサエレメントが実行すべきスレッドのうち並列実行可能なスレッドを判別し、判別したスレッドを停止状態のプロセッサに実行させる構成としてもよい。 Here, the control unit further includes a status register indicating whether a stopped state or the processor elements is in a running state, and a plurality of permission information storage unit storing availability information regarding whether parallel execution threads wherein the scheduling circuit further when one processor element is changed from the execution state to the stop state, determine the parallel execution threads of the threaded processor elements in the running state to be executed based on said permission information and it may be configured to execute the discriminated thread processor in the stopped state. この構成によれば、停止状態のプロセッサエレメントを有効活用して、1つのプロセスを1つのプロセッサエレメントだけでなく複数のプロセッサエレメントに実行させることができるので、マルチスレッド計算機システムの稼働率をさらに向上させることができる。 According to this configuration, by effectively utilizing the processor element in the stopped state, since it is possible to perform a single process to a plurality of processor elements not only one processor element, further enhancing the operation rate of the multi-threaded computer system it can be.

ここで、前記可否情報は、同一プロセス内の他のスレッドとの並列実行可否を示す第1情報と、他のプロセッサエレメントによる実行可否を示す第2情報とを含み、前記複数の可否情報保持部のそれぞれは、前記第1情報を保持する第1レジスタと、前記第2情報を保持する第2レジスタとを有するようにしてもよい。 Here, the permission information includes a first information indicating the parallel executability with other threads in the same process, a second information indicating whether to execute by other processor elements, said plurality of permission information holding section each of a first register for holding the first information, may be a second register for holding the second information. また、前記実行順序レジスタ、第1レジスタおよび第2レジスタは、前記複数スレッドの実行開始前に対応するプロセッサエレメントによって実行順序、第1情報および第2情報をそれぞれ設定されるようにしてもよい。 Furthermore, the execution order register, the first register and second register, said multiple threads execution order by the processor element corresponding to before starting execution, the first information and the second information may be set, respectively. この構成によれば、スレッド毎に、処理内容に依存して並列実行可能にするかしないかを柔軟に設定することができる。 According to this configuration, for each thread, it is possible to flexibly set whether or not to permit parallel execution, depending on the processing contents.

ここで、前記マルチスレッド計算機システムは、さらに、停止状態のプロセッサエレメントへのクロック信号の供給を抑制するクロック制御手段を備えてもよい。 Here, the multi-threaded computer system may further comprise a suppressing clock control means supplying a clock signal to the processor element in the stopped state. この構成によれば、停止状態のプロセッサエレメントへのクロック供給を抑制することにより、消費電力を低減することができる。 According to this configuration, by suppressing the clock supply to the processor element in the stopped state, it is possible to reduce power consumption.

ここで、前記制御手段は、さらに、プロセッサエレメント毎にクロック供給の抑制可否を示すクロック制御情報を保持するクロック制御レジスタを備え、前記制御手段は、クロック制御情報に従ってプロセッサエレメント毎に前記クロック制御手段をイネーブルまたはディスエーブルするようにしてもよい。 Here, the control means further includes a clock control register for holding the clock control information indicating suppression whether the clock supply to each processor element, said control means, said clock control means for each processor element in accordance with the clock control information it may be enabled or disabled. この構成によれば、プロセッサエレメント毎に、停止状態のプロセッサエレメントへのクロック供給を抑制することができる。 According to this arrangement, each processor element, it is possible to suppress the clock supply to the processor element in the stopped state.

また、本発明のマルチスレッド実行制御方法は、複数スレッドを含むプロセスを実行する複数のプロセッサエレメントと、各プロセッサエレメントで実行すべきスレッドを切り換える制御部とを備えるマルチスレッド計算機システムにおけるマルチスレッド実行制御方法であって、前記制御部は、前記複数のプロセッサエレメントに対応して設けられ、対応するプロセッサエレメントで実行すべきスレッドの実行順序を保持する複数の実行順序レジスタと、前記複数のプロセッサエレメントに対応して設けられ、対応するプロセッサエレメントにより実行中のスレッドの実行時間をカウントし、カウントされた時間がスレッドの割り当て時間に達したときタイムアウト信号を発生する複数のカウンタと、前記実行順序レジスタに保持された実 Also, multi-thread execution control method of the present invention, a multi-threaded execution control in a multi-threaded computer system including a plurality of processor elements to perform a process including multiple threads, and a control unit for switching the thread to be executed by each processor element a method, wherein the control unit is provided corresponding to the plurality of processor elements, a plurality of execution order register for holding the execution order of the thread to be executed by the corresponding processor element, said plurality of processor elements provided corresponding counts the execution time of the running thread by the corresponding processor element, a plurality of counters for generating a timeout signal when the counted time has reached the thread allocated time, the execution order register retained real 順序および前記タイムアウト信号に基づいて、各プロセッサエレメントで実行すべきスレッドを切り換えるスケジュール回路とを有し、前記マルチスレッド実行制御方法は、各プロセッサエレメントのシングルスレッドモードにおいて前記実行順序レジスタに前記実行順序を設定するステップと、各プロセッサエレメントをマルチスレッドモードに設定するステップと、各プロセッサエレメントのマルチスレッドモードにおいてスレッドを切り換えながら実行するステップとを有する。 Based on the order and the time-out signal, and a scheduling circuit for switching the thread to be executed by each processor element, the multi-thread execution control method, the execution order to the execution order register in the single thread mode of each processor element It has a step of setting, and setting a respective processor elements in multi-thread mode, and performing while switching threads in a multithreaded mode of each processor element of. この構成によれば、シングルスレッドモードにおいて実行順序レジスタへの実行順序の設定など初期設定をしさえすれば、マルチスレッドモードに移行後に、スケジュール回路によるスレッド切り換えを高速に行うことができる。 According to this configuration, if only the setting initialization such as execution order of the execution order register in the single thread mode, after the transition to the multi-thread mode, it is possible to perform thread switching by schedule circuit at high speed.

以上の説明から明らかなように、本発明によれば、粒度の細かいスレッドを切り換えながら実行する並列処理システムにおいて、スレッドの切り換えの時間ロスを大幅に削減することが可能となる。 As apparent from the above description, according to the present invention, in the parallel processing system to perform while switching the fine threads particle size, it is possible to significantly reduce the time loss of thread switching. また、停止状態のプロセッサエレメントを有効活用することができる。 Further, it is possible to effectively utilize the processor element in the stopped state. その結果、マルチスレッド計算機システムの稼働率を向上させることができる。 As a result, it is possible to improve the operation rate of the multi-threaded computer system.

以下、本発明の実施の形態について、図面を用いて詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
図1は、本発明の実施の形態に係るマルチスレッド計算機システムの全体構成を示す機能ブロック図である。 Figure 1 is a functional block diagram illustrating the overall configuration of a multi-threaded computer system according to an embodiment of the present invention.

図1に示されるように、マルチスレッド計算機システム1は、プロセッサエレメント群100と、並列プロセッサ制御部200と、コンテキストメモリ300と、クロック制御部400とを備える。 As shown in FIG. 1, a multi-threaded computer system 1 comprises a processor element group 100, the parallel processor controller 200, a context memory 300, a clock controller 400. なお、同図下側の破線内はメモリに記憶されているオペレーティングシステム2とユーザープロセス3とを模式的に図示してある。 Incidentally, FIG lower in broken lines and operating system 2 and user processes 3 stored in the memory is shown schematically.

プロセッサエレメント群100は、複数のプロセッサエレメントで構成される。 Processor element group 100 includes a plurality of processor elements. ここでは説明の便宜上、3つのプロセッサエレメントで構成されるものとし、それぞれ第1のプロセッサエレメント101、第2のプロセッサエレメント102、第3のプロセッサエレメント103とする。 For convenience of explanation, it shall be composed of three processor elements, first processor element 101, respectively, the second processor element 102, a third processor element 103. 各プロセッサエレメントは、複数のスレッドを含むプロセス内のスレッドを切り換えながら実行する。 Each processor element executes while switching the threads in the process, including a plurality of threads.

並列プロセッサ制御部200は、スレッド実行スケジューラ部210と、プロセッサ実行状態レジスタ220と、複数のプロセッサエレメントに対応して設けられ、対応するプロセッサエレメントにより実行中のスレッドの実行時間をカウントする3つのカウンタ230と、タイムアウト検出部240とを備える。 The parallel processor controller 200, the thread execution scheduler unit 210, a processor execution status register 220 are provided corresponding to the plurality of processor elements, three counters for counting the execution time of the running thread by the corresponding processor element and 230, and a time-out detector 240.

並列プロセッサ制御部200は、各プロセッサエレメントで実行すべきスレッドを切り換える制御手段として機能する。 The parallel processor controller 200 functions as a control means for switching the thread to be executed by each processor element.

スレッド実行スケジューラ部210は、ハードウェアとして構成された回路であり、何れかのカウンタによりカウントされた時間がスレッドの割り当て時間に達したことがタイムアウト検出部240によって検出されたとき、当該カウンタに対応するプロセッサエレメントのスレッドを切り換えるスケジュール回路である。 Thread execution scheduler unit 210 is a circuit configured as hardware, when that time counted by any of the counter has reached a thread allocated time detected by the time-out detector 240, corresponding to the counter it is a schedule circuit to switch the thread of the processor element to be. また、スレッド実行スケジューラ部210は、何れかのプロセッサエレメントが実行状態から停止状態になったとき、他のプロセッサのスレッドのうち並列実行可能なスレッドを判別し、判別したスレッドを停止状態のプロセッサに実行させる。 Further, the thread execution scheduler unit 210, when one of the processor elements is changed from the execution state to the stop state, to determine the parallel execution threads that can among other processor threads, the discriminated thread processor in the stopped state to be executed.

プロセッサ実行状態レジスタ220は、状態レジスタ221〜223を含む。 Processor execution status register 220 includes a status register 221-223. 状態レジスタ221〜223は、第1のプロセッサエレメント101〜第3のプロセッサエレメント103に対応し、対応するプロセッサエレメントのステータスデータを保持する。 Status register 221 to 223 corresponds to the first processor element 101 to the third processor element 103, to hold the status data of the corresponding processor element. このステータスデータは実行状態であるが停止状態であるかを示す情報を含む。 This status data is in a running state includes information indicating whether a stopped state.

カウンタ230は、複数のプロセッサエレメントに対応して設けられ、対応するプロセッサエレメントにより実行中のスレッドの実行時間をカウントする。 Counter 230 is provided corresponding to the plurality of processor elements, for counting the execution time of the running thread by the corresponding processor element.

図2は、スレッド実行スケジューラ部210の機能ブロック図である。 Figure 2 is a functional block diagram of a thread execution scheduler unit 210. スレッド実行スケジューラ部210は、コンフィグレーションレジスタ群2100、スレッドスケジューラ部218と、コンテキスト転送制御部219とを備える。 Thread execution scheduler unit 210 includes configuration register group 2100, a thread scheduler 218, and a context transfer control unit 219.

コンフィグレーションレジスタ群2100は、実行順序レジスタ211a〜211cクォンタムレジスタ212a〜212c、優先度レジスタ213a〜213c、マルチスレッドモードレジスタ214a〜214c、クロック制御レジスタ215a〜215c、並列可否レジスタ216a〜216c、他PE実行可否レジスタ217a〜217cを含む。 Configuration register group 2100, the execution order register 211a~211c quantum register 212a-212c, priority register 213a to 213c, the multi-thread mode register 214a-214c, the clock control register 215A~215c, parallel possibility registers 216A to 216C, the other PE including whether or not to execute register 217a~217c. 符号末尾のa〜cは、第1のプロセッサエレメント101〜第3のプロセッサエレメント103に対応することを意味する。 a~c code tail means that corresponding to the first processor element 101 to the third processor element 103.

図3は、コンフィグレーションレジスタ群2100の具体例を示す図である。 Figure 3 is a diagram showing a specific example of a configuration register group 2100. 同図では、第1のプロセッサエレメント101に対応するレジスタのみ示すが、第2のプロセッサエレメント102、第3のプロセッサエレメント103に対応するレジスタも同様である。 In the figure, but shows only the register corresponding to the first processor element 101, the second processor element 102, is the same register corresponding to the third processor element 103.

実行順序レジスタ211aは、対応するプロセッサエレメントで実行すべきスレッドの実行順序を保持する。 Execution order register 211a holds the execution order of the thread to be executed by the corresponding processor element. 図中のNa1、Na2、Na3・・・は、対応する第1のプロセッサエレメント101において実行すべきスレッドに対応するスレッド番号の列であり、1番目、2番目、3番目・・・に実行すべきスレッドの番号を示す。 Na1, Na2, Na3 ... in the figure, a row of thread number corresponding to the thread to be executed in the first processor element 101 corresponding, first, second, be executed third.. It shows the thread number of should. 一番大きなスレッド番号のスレッドの次に実行されるスレッドはスレッド番号Na1のスレッドである。 Thread thread to be executed next largest thread number is thread thread number Na1. つまり、実行順序レジスタ211aは巡回的な実行順序を示す。 That is, the execution order register 211a indicates the cyclic execution order. なお、実行順序レジスタ211aは、1本のレジスタでなくてもよく、複数本のレジスタで構成してもよい。 Note that the execution order register 211a may not be a single register may be composed of a plurality of registers.

クォンタムレジスタ212aは、対応するプロセッサエレメントで実行すべきスレッド毎の割り当て時間を示す。 Quantum register 212a indicates the allocation time for each thread to be executed by the corresponding processor element. 図中のQa1、Qa2、Qa3・・・は、Na1、Na2、Na3・・・に対応し、それぞれ対応するスレッドの割り当て時間(クォンタム値)を、例えばサイクル数で示す。 Qa1, Qa2, Qa3 · · · in the figure corresponds to the Na1, Na2, Na3 · · ·, respectively corresponding thread allocation time (quantum value), for example, indicated by the number of cycles.

優先度レジスタ213aは、対応するプロセッサエレメントへの割り込み信号に対応する優先実行すべきスレッドを示す優先度情報を保持する。 Priority register 213a holds the priority information indicating a thread to the priority execution corresponding to the interrupt signal to the corresponding processor element. 同図では優先度情報は、優先スレッド番号Paである。 The priority information in the same figure is a priority thread number Pa.

マルチスレッドモードレジスタ214aは、シングルスレッドモードおよびマルチスレッドモードの何れかを示すモード情報を保持する。 Multithread mode register 214a holds mode information indicating which of the single thread mode and MT mode. シングルスレッドモードを示すモード情報は、スレッド実行スケジューラ部210をディスエーブルにする。 Mode information indicating the single thread mode, the thread execution scheduler unit 210 disabled. これにより、対応するプロセッサエレメントを、スレッド切り換えを伴わないシングルスレッドモードで動作させる。 Thus, the corresponding processor element, to operate in single-thread mode without thread switching. マルチスレッドモードを示すモード情報は、スレッド実行スケジューラ部210をイネーブルにする。 Mode information indicating the multi-thread mode, the thread execution scheduler unit 210 enabled. これにより、対応するプロセッサエレメントを、スレッド切り換えを伴うマルチスレッドモードで動作させる。 Thus, the corresponding processor element, to operate in multi-thread mode with thread switching. マルチスレッド計算機システム1のリセット後は、マルチスレッドモードレジスタ214aは、シングルスレッドモードを示すモード情報を保持する。 After the reset multithreaded computer system 1, the multi-thread mode register 214a holds mode information indicating the single thread mode.

クロック制御レジスタ215aは、対応するプロセッサエレメントへのクロック供給の抑制可否(イネーブルまたはディスエーブル)を示すクロック制御情報を保持する。 Clock control register 215a holds clock control information indicating suppression whether the clock supply to the corresponding processor element (enabled or disabled).

並列可否レジスタ216aは、同一プロセス内の他のスレッドとの並列実行可否を示すスレッド毎の並列実行可否情報を保持する。 Parallel possibility registers 216a holds the parallel executability information for each thread showing the parallel executability with other threads in the same process. 並列実行可否情報は、スレッド毎にイネーブルまたはディスエーブルを示す。 Parallel executability information indicates enabled or disabled for each thread.

他PE実行可否レジスタ217aは、他のプロセッサエレメントによる実行可否を示す他PE実行可否情報を保持する。 Other PE executability register 217a holds other PE executability information indicating whether to execute by other processor elements. 他PE実行可否情報は、スレッド毎にイネーブルまたはディスエーブルを示す。 Other PE executability information indicates enabled or disabled for each thread. 上記の並列実行可否情報と他PE実行可否情報とをまとめてスレッドの並列実行の可否に関する可否情報と呼ぶ。 Together and parallel executability information and other PE executability information of the called a possibility information regarding whether parallel execution threads.

図4は、マルチスレッド計算機システム1の起動後の処理を示すフローチャートを示す図である。 Figure 4 is a diagram showing a flowchart illustrating a process after activation of the multi-threaded computer system 1. 以下、コンフィグレーションレジスタ群2100中のレジスタの符号末尾のa〜cを省略している場合は、何れかのプロセッサエレメントに対応する代表を表すものとする。 Hereinafter, if sign is omitted trailing a~c registers in the configuration register group 2100, it is intended to refer to a representative corresponding to any processor element.

同図のように、マルチスレッド計算機システム1の電源投入後またはリセット後は、シングルスレッドモードで起動し、第1のプロセッサエレメント101〜第3のプロセッサエレメント103は、それぞれスレッド切り替えをしないで1つのプロセス(管理プロセスと呼ぶ。)を実行する(S41)。 As shown in the drawing, or after a reset multithreaded computer system power-up 1 is started in a single thread mode, the first processor element 101 to the third processor element 103, one without a thread switching respectively process (referred to as the management process.) is executed (S41). この管理プロセスは、プロセッサエレメントの初期値設定用のプロセスである。 The management process is a process for the initial value setting of the processor elements. 各プロセッサエレメントは、管理プロセスを実行することによってコンフィグレーションレジスタ群2100のマルチスレッドモードレジスタ214以外の各レジスタにマルチスレッドモードで必要となる各レジスタ値を設定し(S42)、さらに、マルチスレッドモードレジスタ214にマルチスレッドモードを設定する(S43)。 Each processor element sets register values ​​required in the multi-thread mode registers other than the multi-thread mode register 214 of configuration register group 2100 by performing a management process (S42), further, the multi-thread mode to set up a multi-thread mode to register 214 (S43). これにより、当該プロセッサエレメントは、マルチスレッドモードの動作が開始する。 Thus, the processor element, the operation of the multi-thread mode is started. すなわち、スレッド実行スケジューラ部210がイネーブルになる。 That is, the thread execution scheduler unit 210 is enabled.

マルチスレッドモードにおいて、スレッド実行スケジューラ部210は、最初に実行すべきスレッドを当該プロセッサエレメントで実行させる。 In the multi-thread mode, the thread execution scheduler unit 210 to execute a thread to first executed in the processor element. さらに、スレッド実行スケジューラ部210は、実行順序レジスタ211から出力される実行順序に従って次に実行すべきスレッドを判別し、判別したスレッドのコンテキストを裏コンテキストレジスタに転送する(S44)。 Further, the thread execution scheduler unit 210 determines the thread to be executed next in accordance with the execution order that is output from the execution order register 211, and transfers the context of the determination thread behind context register (S44). ここで、裏コンテキストレジスタは、コンテキストレジスタ1011a、1011bのうち、現在実行中のスレッドに用いられていない方を意味する。 Here, the back context register context register 1011a, among 1011b, means a direction which is not used for the currently executing thread.

その後、タイムアウト検出部240がタイムアウトを検出したとき(S45)、スレッド実行スケジューラ部210は、タイムアウトに対応するプロセッサエレメントについて、スレッドを切り換える(S46)。 Then, when the time-out detector 240 detects a timeout (S45), the thread execution scheduler unit 210, the processor elements corresponding to the time out, switching the thread (S46). このスレッド切り換えでは、実行中のスレッドのコンテキストを保持しているコンテキストレジスタ(表コンテキストレジスタと呼ぶ。)から、次に実行すべきコンテキストを保持している裏コンテキストレジスタに切り換え、さらに、スレッドを切り換える。 This thread switching, the context register that contains the context of the executing thread (referred to as Table context register.), Then switched to the back context register that holds the context to be executed, further, it switches the thread . スレッド切り換え後に、新たな表コンテキストレジスタと異なる方のコンテキストレジスタからコンテキストをメモリに退避し、現在実行中のスレッドの次のスレッドに対応するコンテキストをメモリから当該コンテキストレジスタに復帰させる(S44)。 After the thread switching, and it evacuates the context of the new table context register different towards context register to the memory, to restore the context corresponding to the next thread of the currently running thread from the memory to the context register (S44).

以上のように、マルチスレッドモードにおけるスレッド切り換えは、ユーザープロセス内のスレッドスケジューラではなく、並列プロセッサ制御部200によってハードウェア的に実行されるので、時間ロスを生じさせることなく高速に行うことができ、マルチスレッド計算機システム1の稼働率を向上させることができる。 As described above, the thread switching in a multi-threaded mode, rather than a thread scheduler in the user process, since it is performed hardware manner by the parallel processor controller 200, can be performed at high speed without causing time loss , it is possible to improve the operation rate of the multi-threaded computer system 1.

図5は、スレッド実行スケジューラ部210における、停止状態のプロセッサエレメントにスレッドを割り当てる処理を示すフローチャート図である。 5, the thread execution scheduler unit 210 is a flowchart showing a process of allocating a thread to a processor element in the stopped state. 同図のように、スレッド実行スケジューラ部210は、何れかのプロセッサエレメントが実行状態から停止状態になったかどうかを判定する(S51)。 As in the figure, the thread execution scheduler unit 210 determines whether the stopped state from either the processor elements execute state (S51). ここで、停止状態はスレッドが他のスレッド処理待ち、外部資源からの応答待ちである状態をいう。 Here, the stop state other threads pending thread refers to a state which is waiting for a response from an external resource. 何れかのプロセッサエレメントが実行状態から停止状態になったとき、スレッド実行スケジューラ部210は、実行状態のプロセッサエレメント毎に次の処理を行う(S52〜S58:ループ1)。 When any of the processor elements is changed from the execution state to the stop state, the thread execution scheduler unit 210 performs the following processing for each processor element in the executing state (S52~S58: Loop 1). ループ1においてスレッド実行スケジューラ部210は、実行状態のプロセッサエレメントにおいて次に実行すべきスレッドを判別し(S53)、当該プロセッサエレメントにおいて実行中のスレッド(現スレッドと呼ぶ。)に対応する並列実行可否情報および他PE実行可否情報を読み出し(S54、S55)、現スレッドと次に実行すべきスレッドとが並列実行可能か否かを判定する(S56)。 Thread execution scheduler unit 210 in the loop 1, it is determined to be executed next thread in the processor element running state (S53), parallel executability corresponding to the thread being executed in the processor element (referred to as a current thread.) It reads the information and other PE executability information (S54, S55), and threads to be executed in the current thread and the next determines whether it is possible to parallel execution (S56). この判定において、スレッド実行スケジューラ部210は、(a)現スレッドの並列実行可否情報がイネーブル、(b)次に実行すべきスレッドの並列実行可否情報がイネーブル、かつ、(c)次に実行すべきスレッドの他PE可否情報がイネーブルである場合に、現スレッドに対して、次のスレッドが停止状態のプロセッサで並列実行可能であると判定し、(a)〜(c)のうち1つ以上がディスエーブルである場合には並列実行不可であると判定する。 In this determination, the thread execution scheduler unit 210, (a) parallel executability information is enabled for the current thread, (b) then parallel executability information thread to be executed is enabled and, executed next (c) If another PE whether information should thread is enabled for the current thread, it determines that the next thread can be executed in parallel by the processor in the stopped state, one or more of (a) ~ (c) There is determined that the case is disabled in parallel unexecutable.

並列実行可能であると判定した場合、スレッド実行スケジューラ部210は、停止状態のプロセッサエレメントに次のスレッドを実行させ(S57)、ループ1を抜ける。 If it is determined to be executed in parallel, the thread execution scheduler unit 210 to execute the next thread in the processor element in the stopped state (S57), leave the loop 1. もちろん、このときスレッド実行スケジューラ部210は、停止状態のプロセッサエレメントに次のスレッドを実行させる前に、停止状態のプロセッサエレメントで停止中のスレッドのコンテキストの退避と、次に実行すべきスレッドのコンテキストの復帰とを行う。 Of course, this time thread execution scheduler unit 210, before executing the next thread in the processor element in the stopped state, the saving of the thread context stopped in the processor element in the stopped state, then the thread context to be executed perform and return. 停止状態のプロセッサエレメントで実行されたスレッドは、当該スレッドの割り当て時間を経過したとき、元のスレッドに切り換えられる。 Executed in the processor element in the stopped state thread when passed the thread allocated time, it is switched to the original thread.

このように、停止状態のプロセッサエレメントを有効活用して、1つのプロセスを1つのプロセッサエレメントだけでなく複数のプロセッサエレメントに実行させることができるので、マルチスレッド計算機システムの稼働率をさらに向上させることができる。 Thus, by effectively utilizing the processor element in the stopped state, since it is possible to perform a single process to a plurality of processor elements not only one processor element, further to improve the operation rate of the multi-threaded computer system can. また、スレッド毎に並列実行可否情報および他PE実行可否情報を設定できるので、各スレッドの処理内容に依存して並列実行可能にするかしないかを柔軟に設定することができる。 Moreover, it can be set parallel executability information and other PE executability information for each thread, whether or not to permit parallel execution, depending on the processing content of each thread can be set flexibly.

なお、図5のフローチャートに示したスレッド実行スケジューラ部210の制御論理の流れを示しているのであって、実行スケジューラ部はハードウェアによりこの制御論理を実現する。 Incidentally, there than show the flow of control logic thread execution scheduler unit 210 shown in the flowchart of FIG. 5, the execution scheduler implements the control logic by hardware.

次に、本発明の実施の形態について、その動作の一例を説明する。 Next, embodiments of the present invention, an example of the operation.
オペレーティングシステム2が第1のプロセッサエレメント101で実行するユーザープロセス3を開始させると、ユーザープロセス3はまずスレッド実行スケジューラ部210に実装された、第1のプロセッサエレメント101に対応する実行順序レジスタ211a、クォンタムレジスタ212a、優先度レジスタ213a、並列可否レジスタ216a、他PE実行可否レジスタ217aに、それぞれ各スレッド31、32、33、34の実行順序、クォンタム値、優先度、並列実行のイネーブル/ディスエーブル、他PE実行のイネーブル/ディスエーブルを示す各情報を格納する。 When the operating system 2 starts the user process 3 running on the first processor element 101, the user process 3 was first implemented in the thread execution scheduler unit 210, the execution order register 211a corresponding to the first processor element 101, quantum register 212a, priority register 213a, a parallel possibility register 216a, the other PE executability register 217a, the order of execution of each thread 31, 32, 33, respectively, the quantum value, priority, parallel execution enable / disable, storing each information indicating enabling / disabling of the other PE execution. また、クロック制御レジスタ215aには、クロック供給抑制の可否を示す情報を格納する。 Further, the clock control register 215a, and stores the information indicating whether the clock supply suppression. 以下の説明では、説明の便宜上、スレッド31、32、33をこの順序で実行するものとする(スレッド34については後述する。)。 In the following description, for convenience of explanation, it is assumed that the executing threads 31, 32 and 33 in this order (for thread 34 will be described later.).

第1のプロセッサエレメント101がマルチスレッドモードに遷移した後、コンテキスト転送制御部219はコンテキストメモリ300からスレッド31のコンテキストを読み出し、第1のプロセッサエレメント101のコンテキストレジスタ1011に格納する。 After the first processor element 101 transitions to the multi-thread mode, the context transfer control unit 219 reads the context of the thread 31 from the context memory 300, and stores the context register 1011 of the first processor element 101. そののち、第1のプロセッサエレメント101はコンテキストレジスタ1011の値を参照し、スレッド31の実行を開始する。 Thereafter, the first processor element 101 refers to the value of the context register 1011 starts execution of the threads 31.

第1のプロセッサエレメント101がスレッド31の実行を開始すると同時に、カウンタ230はスレッド31に対応するクォンタムレジスタ212aの設定値を初期値として1ずつ減算を開始する。 At the same time when the first processor element 101 starts executing the thread 31, the counter 230 starts subtracting the set value of the quantum register 212a corresponding to the thread 31 by 1 as an initial value.

さらに、このとき、スレッド実行スケジューラ部210に実装されたコンテキスト転送制御部219は、次に実行するスレッド32のコンテキストをコンテキストメモリ300から読み出し、プロセッサエレメント群100に実装されたコンテキストレジスタ1011に格納する(「コンテキストの復帰」)。 Further, at this time, the context transfer control unit 219 mounted on the thread execution scheduler unit 210 reads the context of the thread 32 to be executed next from the context memory 300, and stores the context register 1011 implemented in the processor element group 100 ( "return of context").

第1のプロセッサエレメント101がスレッド31の実行を続行し、カウンタ230の値が0になったとき、タイムアウト検出部240がこれを検出して、第1のプロセッサエレメント101にスレッド切り換えを行うための割り込み信号を出力する。 The first processor element 101 to continue the execution of the thread 31, when the value of the counter 230 becomes 0, and detects time-out detector 240 is the same, for performing thread switching to the first processor element 101 It outputs an interrupt signal.

割り込み信号を受理した第1のプロセッサエレメント101は、コンテキスト切り換えのための処理を行ったのち、コンテキストの読み出し先を、既に格納が完了しているスレッド32のコンテキストレジスタ1011に切り換え、スレッド32の実行を開始する。 The first processor element 101 having received the interrupt signal, after performing the process for context switching, the reading destination context switching already context register 1011 threads 32 which store has been completed, execution of the thread 32 the start.

スレッド32の実行を開始した後、コンテキスト転送制御部219は第1のプロセッサエレメント101内に実装されたスレッド31のコンテキストを格納するコンテキストレジスタからコンテキストを読み出し、コンテキストメモリ300に格納する(「コンテキストの退避」)。 After starting execution of the thread 32, the context transfer control unit 219 reads a context from the context register for storing the context of the thread 31 which is mounted on the first processor element 101, stored in the context memory 300 ( "Context evacuation ").

以下、スレッド32とスレッド33の実行、対応するコンテキストの切り換えも同様に行う。 Hereinafter, the execution of the thread 32 and thread 33, as well the switching of the corresponding context performed.

スレッド33の実行を完了すると、次にスレッド31を実行する。 Upon completion of the execution of the thread 33, then executes the thread 31. 以下、スレッド31、スレッド32、スレッド33、スレッド31、(以下同様)の順に実行する。 Hereinafter, the thread 31, the thread 32, the thread 33, the thread 31 is executed in this order (hereinafter the same). なお、この実行順序をあらわす実行順序情報には、図3のように実行順序レジスタ211aに属性としてあらかじめ格納される。 Note that the execution order information representing the order of execution, are previously stored as an attribute in the execution order register 211a as shown in FIG.

次に、スレッドスケジューラ部218に外部割込み信号500が入力された場合の動作について説明する。 Next, the operation when the external interrupt signal 500 is input to the thread scheduler unit 218. 外部割込み信号500が入力されると、スレッドスケジューラ部218は緊急に実行が必要なスレッドを次に実行するようにスケジューリングを行う。 When the external interrupt signal 500 is inputted, the thread scheduler unit 218 performs scheduling so as to then perform an emergency run is required thread. ここではスレッド34がこの緊急に実行が必要なスレッドであるとして説明する。 Here the thread 34 is described as being the urgent execution is required thread. このとき、コンテキスト転送制御部219により、コンテキストメモリ300からスレッド34のコンテキストを読み出して第1のプロセッサエレメント101のコンテキストレジスタ1011に格納し、さらに第1のプロセッサエレメント101にスレッド切り換えを行うための割り込み信号を出力する。 At this time, the context transfer control unit 219, and stores the context memory 300 to the context register 1011 of the first processor element 101 reads the context of the thread 34, further interrupts for performing thread switching to the first processor element 101 and it outputs the signal. そののち、第1のプロセッサエレメント101では次にスレッド34を実行する。 Thereafter, the first processor element 101 then executes the thread 34. なお、スレッド34が「緊急に実行が必要なスレッド」であるか否かの情報は、優先度レジスタ213aに属性としてあらかじめ設定する。 Incidentally, whether information or thread 34 is "urgent execution requires threads" is set in advance as an attribute to the priority register 213a. また、図3のように優先度レジスタ213aには優先的に実行する割り込み処理に対応するスレッド番号を設定してもよいが、スレッド毎に設定してもよい。 Further, it may be set a thread number corresponding to the interrupt processing to be executed preferentially to the priority register 213a as shown in FIG. 3, may be set for each thread. その場合、割り込み処理に対応するスレッドの優先度は最も高く設定される。 In that case, the priority of the thread corresponding to the interrupt process is set highest.

ここまで、第1のプロセッサエレメント101でユーザープロセス3を実行する方法を説明したが、第2のプロセッサエレメント102、第3のプロセッサエレメント103において他のユーザープロセスを実行する場合についても同様である。 So far has been described a method in the first processor element 101 executes user processes 3, the second processor element 102, the same applies for the case of executing the other user process in the third processor element 103.

次にプロセッサ実行状態レジスタ220の機能について説明する。 It will now be described functions of the processor execution state register 220. プロセッサ実行状態レジスタ220には、プロセッサエレメント群100を構成する各プロセッサエレメント101、102、103が、それぞれスレッドを実行している状態であるか否かを表す情報が格納されている。 The processor execution status register 220, each processor element 101, 102, 103 constituting the processor element group 100, information respectively indicating whether or not the state executing the thread is stored. スレッドを実行している状態であるか否かを表す情報は各プロセッサエレメント101、102、103から出力され、プロセッサ実行状態レジスタ220がその情報を保持する。 Information indicating whether or not the state is running a thread is output from each processor element 101, 102, 103, the processor execution state register 220 holds the information.

前述の例を用いて、プロセッサ実行状態レジスタ220の機能についてさらに詳細に説明する。 Using the previous example will be described in more detail features of the processor execution state register 220.

第1のプロセッサエレメント101で実行するユーザープロセス3のスレッド31を第1のプロセッサエレメントで実行している間に、スレッドスケジューラ部218はスレッド31の次に実行するスレッドとして、ここでは32をスケジューリングする。 While the thread 31 of the user process 3 running on the first processor element 101 running on a first processor element, the thread scheduler unit 218 as a thread to be executed next thread 31, wherein the scheduling 32 . このとき、スレッドスケジューラ部218はさらにプロセッサ実行状態レジスタ220の中にある第2のプロセッサエレメント102のスレッド実行状態に関する情報を参照し、第2のプロセッサエレメント102で実行するスレッドが存在しないことを検出すると、スレッド32を第2のプロセッサエレメント102で実行するようにスケジューリングする。 At this time, the thread scheduler unit 218 refers to the further information about the thread execution state of the second processor element 102 located in the processor execution status register 220, detects that a thread that executes the absence in the second processor element 102 Then, scheduled to run the threads 32 in the second processor element 102. コンテキスト転送制御部219はスレッド32のコンテキストをコンテキストメモリから読み出し、第2のプロセッサエレメント102のコンテキストレジスタ(第2のプロセッサエレメントに実装)に格納する。 Context transfer control unit 219 reads the context of the thread 32 from the context memory, and stores the context register of the second processor element 102 (mounted on the second processor element). なお、スレッド32が第1のプロセッサエレメント101以外のプロセッサで実行することが可能であるか否かの情報と、スレッド31およびスレッド32が並列に実行可能であるか否かの情報とは、優先度レジスタ213aに属性としてあらかじめ設定する。 Note that the thread 32 and whether the information or can be executed by the first processor other than the processor element 101, the information indicating whether the thread 31 and the thread 32 can be executed in parallel, the priority pre-set as an attribute to the time register 213a.

さらには、第1のプロセッサエレメント101で実行するようにスケジューリングされているスレッド(スレッドAとする)の優先度情報と、第2のプロセッサで実行するようにスケジューリングされているスレッド(スレッドBとする)の優先度情報(両者の優先度情報はいずれも優先度レジスタ213a、213bにあらかじめ格納する)とを比較し、スレッドAの優先度がスレッドBの優先度より高い場合には、スレッドAを第2のプロセッサエレメント102で、さらにスレッドBよりも先に実行するようにスケジューリングする。 Furthermore, to the priority information of the threads that are scheduled to run (and thread A) in a first processor element 101, the scheduled to have a thread (thread B to run on the second processor priority information (both priority information any priority register 213a of), comparing the pre-stored) and the 213b, if the priority of the thread a is higher than the priority of the thread B, the thread a the second processor element 102, further scheduled to be executed before the thread B. なお、スレッドAが第1のプロセッサ以外のプロセッサで実行することが可能であるか否かの情報は、優先度レジスタ213aに属性としてあらかじめ設定する。 Incidentally, information on whether the thread A can be executed by a processor other than the first processor, preset as an attribute to the priority register 213a.

なお、スレッドを実行している状態であるか否かを表す情報はプロセッサエレメント群100の各プロセッサエレメントから出力される例について説明したが、この情報はスレッド実行スケジューラ部210が設定する構成も考えられる。 Although information indicating whether or not the state running thread been described output from each processor element of the processor element group 100, this information is also considered configured to set the thread execution scheduler unit 210 It is.

次にクロック制御部400の機能について説明する。 It will now be described functions of the clock control unit 400. プロセッサ実行状態レジスタ220はクロック制御部400に接続されている。 Processor execution status register 220 is connected to the clock controller 400. クロック制御部400は、クロック制御レジスタ215の設定値およびプロセッサ実行状態レジスタ220の値を参照し、プロセッサエレメント群100内の各プロセッサエレメントに供給するクロックの制御を行う。 The clock control unit 400, the set value of the clock control register 215 and refers to the value of the processor execution status register 220, controls the clock supplied to each processor element of a processor element group 100. すなわち、クロック制御レジスタ215の設定値が「クロック停止制御を行う」ことを表す情報であるとき、クロック制御部400はプロセッサ実行状態レジスタ220の値を監視し、例えば第1のプロセッサエレメント101で実行するスレッドがないことを検出すると、第1のプロセッサエレメント101へのクロック供給を停止する。 That is, when the set value of the clock control register 215 is information indicating that "perform clock stop control", the clock control unit 400 monitors the value of the processor execution status register 220, for example, executed by the first processor element 101 Upon detecting that there is no thread, stopping the clock supply to the first processor element 101. この機能により、マルチスレッド計算機システムの不要な電力消費を削減するという格別の効果を得ることができる。 This feature can be obtained significant effect of reducing unnecessary power consumption of the multi-threaded computer system.

なお、本実施の形態では、プロセッサエレメントの数やユーザープロセス3を構成するスレッドの数を具体的に決めて説明したが、これらはいずれも説明の便宜上のものであり、これに限るものではない。 In the present embodiment has been described specifically determines the number of threads that make up the number and the user process 3 of the processor elements, these are for convenience of any description, the present invention is not limited thereto .

また、コンフィグレーションレジスタ群2100の構成についても同様に説明の便宜上のものであり、機能的には同等で他の構成も考えられることはいうまでもない。 It is intended for convenience of similarly describe the configuration of the configuration register group 2100, the functional course be contemplated other configurations equivalent to.

本発明にかかるマルチスレッド計算機システムは、携帯電話機等のモバイル機器等における音楽録音再生処理や、映像録音再生処理を複数のプロセッサで並行して実行する音声録音再生機器や、映像録音再生機器として適用できる。 Multithreaded computer system according to the present invention, and recording and reproducing music processing in mobile devices such as mobile phone or the like, and voice recording and playback device for executing in parallel a video recording and playback processing of a plurality of processors, application as a video recording and playback equipment it can.

本発明の実施の形態における、マルチスレッド計算機システムの機能ブロック図である。 In the embodiment of the present invention is a functional block diagram of a multi-threaded computer system. スレッド実行スケジューラ部の機能ブロック図である。 It is a functional block diagram of a thread execution scheduler unit. コンフィグレーションレジスタ群の具体例を示す図である。 It is a diagram showing a specific example of a configuration register group. 起動後の処理を示すフローチャートを示す図である。 It is a diagram illustrating a flowchart illustrating the process after startup. 停止状態のプロセッサエレメントにスレッドを割り当てる処理を示すフローチャート図である。 It is a flowchart showing a process of allocating a thread to a processor element in the stopped state.

符号の説明 DESCRIPTION OF SYMBOLS

1 マルチスレッド計算機システム 2 オペレーティングシステム 3 ユーザープロセス 100 プロセッサエレメント群 101 第1のプロセッサエレメント 102 第2のプロセッサエレメント 103 第3のプロセッサエレメント 200 並列プロセッサ制御部 210 スレッド実行スケジューラ部 211a、211b、211c 実行順序レジスタ 212a、212b、212c クォンタムレジスタ 213a、213b、213c 優先度レジスタ 214a、214b、214c マルチスレッドモードレジスタ 215a、215b、215c クロック制御レジスタ 216a、216b、216c 並列可否レジスタ 217a、217b、217c 他PE実行可否レジスタ 218 スレッドスケジューラ部 219 コンテキスト転送制御部 1 Multithreaded computer system 2 operating system 3 user process 100 processor element group 101 the first processor element 102 second processor element 103 third processor element 200 parallel processor controller 210 thread execution scheduler unit 211a, 211b, 211c execution order register 212a, 212b, 212c quantum register 213a, 213b, 213c priority register 214a, 214b, 214c multithread mode register 215a, 215b, 215c clock control register 216a, 216b, 216c parallel possibility registers 217a, 217b, 217c other PE executability register 218 thread scheduler unit 219 context transfer control unit 20 プロセッサ実行状態レジスタ 230 カウンタ 240 タイムアウト検出部 300 コンテキストメモリ 400 クロック制御部 500 外部割込み信号 1011 コンテキストレジスタ 2100 コンフィグレーションレジスタ群 20 processor execution status register 230 counter 240 times out detector 300 context memory 400 clock controller 500 external interrupt signal 1011 context register 2100 configuration register group

Claims (14)

  1. マルチスレッド計算機システムであって、 A multi-threaded computer system,
    複数スレッドを含むプロセスを実行するプロセッサエレメントを複数個含むプロセッサエレメント群と、 A processor element group including a plurality of processor elements to perform a process including multiple threads,
    各プロセッサエレメントで実行すべきスレッドを切り換える制御手段とを備え、 And control means for switching the thread to be executed by each processor element,
    前記制御手段は、 Wherein,
    前記複数のプロセッサエレメントに対応して設けられ、対応するプロセッサエレメントで実行すべきスレッドの実行順序を保持する複数の実行順序レジスタと、 Provided corresponding to said plurality of processor elements, a plurality of execution order register for holding the execution order of the thread to be executed by the corresponding processor element,
    前記複数のプロセッサエレメントに対応して設けられ、対応するプロセッサエレメントにより実行中のスレッドの実行時間をカウントし、カウントされた時間がスレッドの割り当て時間に達したときタイムアウト信号を発生する複数のカウンタと、 Provided corresponding to said plurality of processor elements, counting the execution time of the running thread by the corresponding processor element, a plurality of counters for generating a timeout signal when the counted time has reached the thread allocated time ,
    前記実行順序レジスタに保持された実行順序および前記タイムアウト信号に基づいて、各プロセッサエレメントで実行すべきスレッドを切り換えるスケジュール回路と を備えることを特徴とするマルチスレッド計算機システム。 Multithreaded computer system, characterized in that on the basis of the execution order register held in the execution order and the time-out signal, and a scheduling circuit for switching the thread to be executed by each processor element.
  2. 前記実行順序レジスタは、前記複数スレッドの実行を開始する前に対応するプロセッサエレメントによって前記実行順序を書き込まれる ことを特徴とする請求項1記載のマルチスレッド計算機システム。 The execution order register, a multi-threaded computer system according to claim 1, wherein the written the execution order by the processor element corresponding before starting the execution of the multiple threads.
  3. 前記制御手段は、さらに、 Said control means further comprises
    前記スケジュール回路をディスエーブルするシングルスレッドモード、前記スケジュール回路をイネーブルするマルチスレッドモードの何れかを示すモード情報を保持するモードレジスタを備え、 Single thread mode disabling the schedule circuit comprises a mode register for holding mode information indicating one of the multi-thread mode to enable the schedule circuit,
    前記モードレジスタは、プロセッサにより書き込み可能である ことを特徴とする請求項2記載のマルチスレッド計算機システム。 The mode register is a multi-threaded computer system according to claim 2, wherein the writable by the processor.
  4. 前記制御手段は、さらに、 Said control means further comprises
    前記複数のプロセッサエレメントに対応して設けられ、対応するプロセッサエレメントへの割り込み信号に対応する優先実行すべきスレッドを示す優先度情報を保持する複数の優先度レジスタを備え、 It said provided corresponding to the plurality of processor elements, comprising a plurality of priority register for holding priority information indicating a thread to the priority execution corresponding to the interrupt signal to the corresponding processor element,
    スケジュール回路は、さらに、外部から割り込み信号が入力されたとき、前記割り込み信号に対応するスレッドに切り換える ことを特徴とする請求項3記載のマルチスレッド計算機システム。 Schedule circuit further when an interrupt signal is input from the outside, a multi-threaded computer system according to claim 3, wherein the switching to the thread corresponding to the interrupt signal.
  5. 前記各プロセッサエレメントは、実行中のスレッドのコンテキストと、次に実行すべきコンテキストとを保持する2つのコンテキストレジスタ群を備え、 Wherein each processor element is provided with a thread of execution context, then the two contexts register group for holding the context to be executed,
    前記スケジュール回路は、さらに、プロセッサエレメントのコンテキストの退避および復帰をするためにコンテキスト転送を行うコンテキスト転送部を備え、 It said schedule circuit further includes a context transfer unit for performing context transfer to the save and restore the context of processor elements,
    前記スケジュール回路は、スレッド切り換え時に、プロセッサエレメントが使用するコンテキストレジスタ群を切り替え、 Said schedule circuit, when the thread is switched, switching the context register group processor element is used,
    前記コンテキスト転送部は、スレッド切り換え後に、コンテキスト転送を行う ことを特徴とする請求項3記載のマルチスレッド計算機システム。 The context transfer unit, after the thread is switched, a multi-threaded computer system according to claim 3, wherein the performing context transfer.
  6. 前記制御手段は、さらに、各プロセッサエレメントが実行状態であるか停止状態であるかを示す状態レジスタと、 It said control means further includes a status register indicating whether a stopped state or the processor elements is in a running state,
    スレッドの並列実行の可否に関する可否情報を保持する複数の可否情報保持部とを備え、 And a plurality of permission information storage unit storing availability information regarding whether parallel execution thread,
    前記スケジュール回路は、さらに、何れかのプロセッサエレメントが実行状態から停止状態になったとき、前記可否情報に基づいて実行状態のプロセッサエレメントが実行すべきスレッドのうち並列実行可能なスレッドを判別し、判別したスレッドを停止状態のプロセッサに実行させる ことを特徴とする請求項1記載のマルチスレッド計算機システム。 Said schedule circuit further when one processor element is changed from the execution state to the stop state, to determine the parallel execution threads that can among threads to be executed a processor element of the execution state based on the permission information, multithreaded computer system according to claim 1, wherein the executing the judgment thread processor in the stopped state.
  7. 前記可否情報は、同一プロセス内の他のスレッドとの並列実行可否を示す第1情報と、他のプロセッサエレメントによる実行可否を示す第2情報とを含み、 The permission information includes first information indicating parallel executability with other threads in the same process, a second information indicating whether to execute by other processor elements,
    前記複数の可否情報保持部のそれぞれは、前記第1情報を保持する第1レジスタと、前記第2情報を保持する第2レジスタとを有する ことを特徴とする請求項6記載のマルチスレッド計算機システム。 Said plurality each of permission information holding section of the a first register for holding the first information, a multi-threaded computer system according to claim 6, wherein the a second register for holding the second information .
  8. 前記実行順序レジスタ、第1レジスタおよび第2レジスタは、前記複数スレッドの実行開始前に対応するプロセッサエレメントによって実行順序、第1情報および第2情報をそれぞれ設定される ことを特徴とする請求項7記載のマルチスレッド計算機システム。 The execution order register, the first register and second register, claim 7, wherein the execution by multiple threads processor elements corresponding to the before start of execution of the order, is set the first information and second information, respectively multi-threaded computer system described.
  9. 前記制御手段は、さらに、 Said control means further comprises
    前記スケジュール回路をディスエーブルするシングルスレッドモード、前記スケジュール回路をイネーブルするマルチスレッドモードの何れかを示すモード情報を保持するモードレジスタを備え、 Single thread mode disabling the schedule circuit comprises a mode register for holding mode information indicating one of the multi-thread mode to enable the schedule circuit,
    前記モードレジスタは、プロセッサにより書き込み可能である ことを特徴とする請求項6、7または8記載のマルチスレッド計算機システム。 The mode register is a multi-threaded computer system according to claim 6, 7 or 8, wherein the writable by the processor.
  10. 前記制御手段は、さらに、 Said control means further comprises
    前記複数のプロセッサエレメントに対応して設けられ、対応するプロセッサエレメントへの割り込み信号に対応する優先実行すべきスレッドを示す優先度情報を保持する複数の優先度レジスタを備え、 It said provided corresponding to the plurality of processor elements, comprising a plurality of priority register for holding priority information indicating a thread to the priority execution corresponding to the interrupt signal to the corresponding processor element,
    スケジュール回路は、さらに、外部から割り込み信号が入力されたとき、前記割り込み信号に対応するスレッドに切り換える ことを特徴とする請求項6から9の何れかに記載のマルチスレッド計算機システム。 Schedule circuit further when an interrupt signal is input from the outside, a multi-threaded computer system according to claim 6 9, characterized in that switching to the thread corresponding to the interrupt signal.
  11. 前記各プロセッサエレメントは、実行中のスレッドのコンテキストと、次に実行すべきコンテキストとを保持する2つのコンテキストレジスタ群を備え、 Wherein each processor element is provided with a thread of execution context, then the two contexts register group for holding the context to be executed,
    前記スケジュール回路は、さらに、プロセッサエレメントのコンテキストのメモリへの退避およびメモリからの復帰を行うコンテキスト転送部を備え、 It said schedule circuit further includes a context transfer unit which performs saving and returning from the memory to the memory context of processor elements,
    前記スケジュール回路は、スレッド切り換え時に、プロセッサエレメントが使用するコンテキストレジスタ群を切り替え、 Said schedule circuit, when the thread is switched, switching the context register group processor element is used,
    前記コンテキスト転送部は、スレッド切り換え後に、プロセッサエレメントが使用していないコンテキストレジスタ群に次に実行すべきスレッドのコンテキストを転送するコンテキスト転送部を備える ことを特徴とする請求項6から10の何れかに記載のマルチスレッド計算機システム。 The context transfer unit, after the thread is switched, either of claims 6, characterized in that it comprises a context transfer section for transferring the context of the thread to be executed next in the context register group processor element does not use 10 multi-threaded computer system according to.
  12. 前記マルチスレッド計算機システムは、さらに、停止状態のプロセッサエレメントへのクロック信号の供給を抑制するクロック制御手段を備える ことを特徴とする請求項6から11の何れかに記載のマルチスレッド計算機システム。 The multi-threaded computer system, further, a multi-threaded computer system according to claim 6 11, characterized in that it comprises a suppressing clock control means supplying a clock signal to the processor element in the stopped state.
  13. 前記制御手段は、さらに、プロセッサエレメント毎にクロック供給の抑制可否を示すクロック制御情報を保持するクロック制御レジスタを備え、 It said control means further includes a clock control register for holding the clock control information indicating suppression whether the clock supply to each processor element,
    前記制御手段は、クロック制御情報に従ってプロセッサエレメント毎に前記クロック制御手段をイネーブルまたはディスエーブルする ことを特徴とする請求項12記載のマルチスレッド計算機システム。 Wherein said control means is a multi-threaded computer system according to claim 12, wherein the enabling or disabling said clock control unit for each processor element in accordance with the clock control information.
  14. 複数スレッドを含むプロセスを実行する複数のプロセッサエレメントと、各プロセッサエレメントで実行すべきスレッドを切り換える制御部とを備えるマルチスレッド計算機システムにおけるマルチスレッド実行制御方法であって、 A plurality of processor elements, multithread execution control method in a multi-threaded computer system including a control unit for switching the thread to be executed by each processor element to execute a process including multiple threads,
    前記制御部は、前記複数のプロセッサエレメントに対応して設けられ、対応するプロセッサエレメントで実行すべきスレッドの実行順序を保持する複数の実行順序レジスタと、前記複数のプロセッサエレメントに対応して設けられ、対応するプロセッサエレメントにより実行中のスレッドの実行時間をカウントし、カウントされた時間がスレッドの割り当て時間に達したときタイムアウト信号を発生する複数のカウンタと、前記実行順序レジスタに保持された実行順序および前記タイムアウト信号に基づいて、各プロセッサエレメントで実行すべきスレッドを切り換えるスケジュール回路とを有し、 Wherein the control unit is provided corresponding to the plurality of processor elements, a corresponding plurality of execution order register for holding the execution order of the thread to be executed by a processor element provided corresponding to said plurality of processor elements counts the execution time of the running thread by the corresponding processor element, counted and a plurality of counters for generating a timeout signal when the time has reached the thread allocated time, the execution order of the held in the execution order register and on the basis of the time-out signal, and a scheduling circuit for switching the thread to be executed by each processor element,
    前記マルチスレッド実行制御方法は、 The multithread execution control method,
    各プロセッサエレメントのシングルスレッドモードにおいて前記実行順序レジスタに前記実行順序を設定するステップと、 And setting the execution order to the execution order register in the single-threaded mode of each processor element,
    各プロセッサエレメントをマルチスレッドモードに設定するステップと、 A step of setting each processor element in multithreaded mode,
    各プロセッサエレメントのマルチスレッドモードにおいてスレッドを切り換えながら実行するステップと を有することを特徴とするマルチスレッド実行制御方法。 Multithread execution control method characterized by a step of performing while switching threads in a multithreaded mode of each processor element.
JP2007114791A 2006-04-27 2007-04-24 Multi-thread computer system and multi-thread execution control method Pending JP2007317171A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006123748 2006-04-27
JP2007114791A JP2007317171A (en) 2006-04-27 2007-04-24 Multi-thread computer system and multi-thread execution control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007114791A JP2007317171A (en) 2006-04-27 2007-04-24 Multi-thread computer system and multi-thread execution control method

Publications (1)

Publication Number Publication Date
JP2007317171A true JP2007317171A (en) 2007-12-06

Family

ID=38850941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007114791A Pending JP2007317171A (en) 2006-04-27 2007-04-24 Multi-thread computer system and multi-thread execution control method

Country Status (1)

Country Link
JP (1) JP2007317171A (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009238024A (en) * 2008-03-27 2009-10-15 Panasonic Corp Virtual multiprocessor, system lsi, cellphone device, and control method for virtual multiprocessor
JP2010086129A (en) * 2008-09-30 2010-04-15 Nec Electronics Corp Multi-thread processor
US7877535B2 (en) 2008-11-04 2011-01-25 Samsung Electronics Co., Ltd. Processor and interrupt handling method
JP2011065528A (en) * 2009-09-18 2011-03-31 Toyota Motor Corp Multiprocessor system
JP2012059195A (en) * 2010-09-13 2012-03-22 Renesas Electronics Corp Multi-thread processor
JP2012146157A (en) * 2011-01-13 2012-08-02 Hitachi Systems Ltd Scheduling method and scheduling system
US8365179B2 (en) 2008-09-30 2013-01-29 Renesas Electronics Corporation Multi-thread processor and its hardware thread scheduling method
JP5155336B2 (en) * 2008-01-15 2013-03-06 カーネロンシリコン株式会社 Task processing device
JP2013522710A (en) * 2010-03-11 2013-06-13 ブル エスエーエス How to configure It system, the computer program and it system
US8607030B2 (en) 2008-09-30 2013-12-10 Renesas Electronics Corporation Scheduling threads instructions in variably selected or predetermined order periods of requested time ratio
JP2014149868A (en) * 2014-04-24 2014-08-21 Renesas Electronics Corp Multi-thread processor
JP2014149867A (en) * 2014-04-24 2014-08-21 Renesas Electronics Corp Multi-thread processor
JP2014211890A (en) * 2014-06-25 2014-11-13 ルネサスエレクトロニクス株式会社 Multi-thread processor and interrupt processing method of the same
JP2015187888A (en) * 2015-06-24 2015-10-29 ルネサスエレクトロニクス株式会社 Scheduling method of hardware thread in multi-thread processor
JP2017513112A (en) * 2014-03-27 2017-05-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Computer system for restoring the thread context in the multithreading computer system, computer implemented method and computer program
JP2017513111A (en) * 2014-03-27 2017-05-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Computer system for the thread context save in a multithreading computer system, computer implemented method and computer program product

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11212809A (en) * 1997-10-31 1999-08-06 Sun Microsyst Inc Processor sharing method and device
JP2003241980A (en) * 2002-02-06 2003-08-29 Internatl Business Mach Corp <Ibm> Thread dispatch mechanism and method for multiprocessor computer systems
JP2003271399A (en) * 2002-01-09 2003-09-26 Matsushita Electric Ind Co Ltd Processor and program executing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11212809A (en) * 1997-10-31 1999-08-06 Sun Microsyst Inc Processor sharing method and device
JP2003271399A (en) * 2002-01-09 2003-09-26 Matsushita Electric Ind Co Ltd Processor and program executing method
JP2003241980A (en) * 2002-02-06 2003-08-29 Internatl Business Mach Corp <Ibm> Thread dispatch mechanism and method for multiprocessor computer systems

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5155336B2 (en) * 2008-01-15 2013-03-06 カーネロンシリコン株式会社 Task processing device
JP2009238024A (en) * 2008-03-27 2009-10-15 Panasonic Corp Virtual multiprocessor, system lsi, cellphone device, and control method for virtual multiprocessor
US8539203B2 (en) 2008-09-30 2013-09-17 Renesas Electronics Corporation Multi-thread processor selecting threads on different schedule pattern for interrupt processing and normal operation
US9529597B2 (en) 2008-09-30 2016-12-27 Renesas Electronics Corporation Multithread processor with different schedule pattern cycle state for handling interrupt processing
US9501320B2 (en) 2008-09-30 2016-11-22 Renesas Electronics Corporation Scheduling threads according to real time bit in predetermined time period or in variable time period of requested time ratio
US9098336B2 (en) 2008-09-30 2015-08-04 Renesas Electronics Corporation Multi-thread processor and its hardware thread scheduling method
US8365179B2 (en) 2008-09-30 2013-01-29 Renesas Electronics Corporation Multi-thread processor and its hardware thread scheduling method
JP2010086129A (en) * 2008-09-30 2010-04-15 Nec Electronics Corp Multi-thread processor
US8607030B2 (en) 2008-09-30 2013-12-10 Renesas Electronics Corporation Scheduling threads instructions in variably selected or predetermined order periods of requested time ratio
US7877535B2 (en) 2008-11-04 2011-01-25 Samsung Electronics Co., Ltd. Processor and interrupt handling method
JP2011065528A (en) * 2009-09-18 2011-03-31 Toyota Motor Corp Multiprocessor system
JP2013522710A (en) * 2010-03-11 2013-06-13 ブル エスエーエス How to configure It system, the computer program and it system
JP2012059195A (en) * 2010-09-13 2012-03-22 Renesas Electronics Corp Multi-thread processor
JP2012146157A (en) * 2011-01-13 2012-08-02 Hitachi Systems Ltd Scheduling method and scheduling system
JP2017513112A (en) * 2014-03-27 2017-05-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Computer system for restoring the thread context in the multithreading computer system, computer implemented method and computer program
JP2017513111A (en) * 2014-03-27 2017-05-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Computer system for the thread context save in a multithreading computer system, computer implemented method and computer program product
JP2014149868A (en) * 2014-04-24 2014-08-21 Renesas Electronics Corp Multi-thread processor
JP2014149867A (en) * 2014-04-24 2014-08-21 Renesas Electronics Corp Multi-thread processor
JP2014211890A (en) * 2014-06-25 2014-11-13 ルネサスエレクトロニクス株式会社 Multi-thread processor and interrupt processing method of the same
JP2015187888A (en) * 2015-06-24 2015-10-29 ルネサスエレクトロニクス株式会社 Scheduling method of hardware thread in multi-thread processor

Similar Documents

Publication Publication Date Title
CN1318968C (en) Method and system for real-time scheduling
EP1730628B1 (en) Resource management in a multicore architecture
JP3169779B2 (en) Multi-thread processor
JP3813930B2 (en) Processor and program execution method
CN101542412B (en) Apparatus and method for multi-threaded processor in a low power mode automatically invoked
CN101702134B (en) Mechanism to schedule threads on os-sequestered without operating system intervention
CN100549943C (en) Multithreading microprocessor with optimized thread scheduler for increasing pepeline utilization efficiency
US8468324B2 (en) Dual thread processor
CN1280714C (en) Independent processing multiple instruction flow, soft controlled every instruction flow processing function multiporogram flav simultaneous processor
CN101069161B (en) Scheduling method, scheduling device, and multiprocessor system
JP6126312B2 (en) Configured virtual machine monitor to support vulnerable virtual machines the effects of latency
CN1295583C (en) Method and system for realizing real-time operation
US10268609B2 (en) Resource management in a multicore architecture
CN101133391B (en) Bifurcated thread scheduler in a multithreading microprocessor
JP4603583B2 (en) Processor, device, and method
US7051329B1 (en) Method and apparatus for managing resources in a multithreaded processor
CN101178646B (en) Multithreaded processor
US7467385B2 (en) Interrupt and exception handling for multi-streaming digital processors
CN101542442B (en) Multiprocessor control unit, its control method, and integrated circuit
KR100934533B1 (en) Calculation processing system, the task control method for a computer system, and a computer a computer-readable recording medium storing the program
US7904704B2 (en) Instruction dispatching method and apparatus
US20020087900A1 (en) System and method for reducing power consumption in a data processor having a clustered architecture
JP4580845B2 (en) Task execution device
JP3760035B2 (en) Multithreaded processor processes multiple instruction streams independently, flexibly control the processing performance instruction stream units
JP3805305B2 (en) Control of priority and command speed of the multithreaded processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20100107

Free format text: JAPANESE INTERMEDIATE CODE: A621

A977 Report on retrieval

Effective date: 20110428

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111025