JP4559958B2 - Multi-core control method in multi-core processor - Google Patents

Multi-core control method in multi-core processor Download PDF

Info

Publication number
JP4559958B2
JP4559958B2 JP2005337271A JP2005337271A JP4559958B2 JP 4559958 B2 JP4559958 B2 JP 4559958B2 JP 2005337271 A JP2005337271 A JP 2005337271A JP 2005337271 A JP2005337271 A JP 2005337271A JP 4559958 B2 JP4559958 B2 JP 4559958B2
Authority
JP
Japan
Prior art keywords
core
exclusive control
core processor
processor
control target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005337271A
Other languages
Japanese (ja)
Other versions
JP2007141155A (en
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.)
Hitachi Kokusai Electric Inc
Original Assignee
Hitachi Kokusai Electric 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 Hitachi Kokusai Electric Inc filed Critical Hitachi Kokusai Electric Inc
Priority to JP2005337271A priority Critical patent/JP4559958B2/en
Publication of JP2007141155A publication Critical patent/JP2007141155A/en
Application granted granted Critical
Publication of JP4559958B2 publication Critical patent/JP4559958B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、マルチコアプロセッサの制御方法に関し、特に各マルチコアプロセッサ間の排他制御機能を備えたマルチコアプロセッサにおけるマルチコア制御方法に関する。   The present invention relates to a control method for a multi-core processor, and more particularly to a multi-core control method in a multi-core processor having an exclusive control function between the multi-core processors.

一般的なマイクロプロセッサ、即ちシングルコアプロセッサでは、パッケージの中に命令発行器や演算器などを組み合わせた1つの部品として動作するプロセッサコアが1セット入っている。これに対しマルチコアプロセッサには、上記プロセッサコアが複数個入っており、マイクロプロセッサを複数個搭載しているような状態になる。   In a general microprocessor, that is, a single core processor, a set of processor cores that operate as one component in which an instruction issuer, an arithmetic unit, and the like are combined is included in a package. On the other hand, a multi-core processor has a plurality of processor cores and a state in which a plurality of microprocessors are mounted.

従来、シングルコアプロセッサでは、マルチタスクOSを搭載することによってマルチタスク動作を実現し、動作周波数を高くすることによって処理能力を高め、リアルタイム性能を向上してきた。   Conventionally, in a single core processor, a multitasking operation is realized by installing a multitasking OS, and a processing capability is increased by increasing an operating frequency, thereby improving real-time performance.

上記のように動作周波数を高くしてプロセッサの能力を高める方法は、熱、消費電力の面で限界に近付きつつある。
これに対し、マルチコアプロセッサの構成をとれば、動作周波数を高くすることなく処理能力を向上でき、熱、消費電力の面でシングルコアプロセッサより有利である(例えば、特許文献1参照。)。
特開平5−342026号公報
As described above, the method of increasing the operating frequency by increasing the operating frequency is approaching the limit in terms of heat and power consumption.
On the other hand, the configuration of the multi-core processor can improve the processing capability without increasing the operating frequency, and is more advantageous than the single-core processor in terms of heat and power consumption (see, for example, Patent Document 1).
JP-A-5-342026

上記のようにシングルコアプロセッサに代えてマルチコアプロセッサを使用することにより、動作周波数を高くすることなく処理能力を向上でき、熱、消費電力の面で有利であるが、メモリの排他、入出力リソースの排他、データの同一性保持が複雑になるというデメリットがある。   By using a multi-core processor instead of a single-core processor as described above, the processing capability can be improved without increasing the operating frequency, which is advantageous in terms of heat and power consumption. There is a demerit that the exclusion of data and maintaining the identity of data become complicated.

このためマルチコアプロセッサを最適な状態でマルチタスク動作させ、信号処理システムなどのリアルタイム要求に応えるよう動作させる技術が要望されている。   For this reason, there is a demand for a technique for operating a multi-core processor in an optimal state to perform a multitask operation so as to meet a real-time request of a signal processing system or the like.

本発明は上記の課題を解決するためになされたもので、マルチコアプロセッサを用いて効率的なマルチタスク動作を行なわせることができ、時間応答性能の厳しい信号処理システムに等に適用することができるマルチコアプロセッサにおけるマルチコア制御方法を提供することを目的とする。   The present invention has been made to solve the above-described problems, and can perform an efficient multitask operation using a multicore processor, and can be applied to a signal processing system having a strict time response performance. An object of the present invention is to provide a multi-core control method in a multi-core processor.

本発明は、複数のコアプロセッサからなるマルチコアプロセッサにおいて、前記複数のコアプロセッサに内部バスにより複数のメモリを空間的に多重接続して任意のメモリをアクセスできるように構成し、前記メモリに前記複数のコアプロセッサが排他制御対象を制御することに使用されていることの使用状態を示すセマフォ管理テーブルを設け、各コアプロセッサ内における排他制御と複数のコアプロセッサ間における排他制御と、全コアプロセッサ間における排他制御のそれぞれにセマフォIDを付与し、前記各コアプロセッサは前記セマフォIDにより識別した排他制御に切替えて前記セマフォ管理テーブルを監視し、排他制御対象へのアクセス割込みを排他することを特徴とする。 The present invention provides a multi-core processor composed of a plurality of core processors, wherein a plurality of memories are spatially multiplexed by an internal bus to the plurality of core processors so that an arbitrary memory can be accessed. core processor is provided a semaphore management table showing the use state of what is used to control the exclusive control object, and exclusive control in each core processor, and exclusive control among a plurality of core processors, all core processor A semaphore ID is assigned to each exclusive control, and each core processor switches to the exclusive control identified by the semaphore ID, monitors the semaphore management table, and excludes an access interrupt to the exclusive control target. And

本発明によれば、各コアプロセッサ内、各コアプロセッサ間、全コアプロセッサ間の排他制御にそれぞれセマフォIDを付与し、このセマフォIDにより識別した排他制御に切替えて排他制御対象へのアクセス割込みを排他することにより、マルチタスク処理を効率的に行なわせることができ、時間応答性能の厳しい信号処理システムに等に適用することが可能になる。   According to the present invention, a semaphore ID is assigned to exclusive control within each core processor, between each core processor, and between all core processors, and the exclusive control identified by this semaphore ID is switched to interrupt access to the exclusive control target. By exclusion, multitask processing can be performed efficiently, and it can be applied to a signal processing system with strict time response performance.

以下、図面を参照して本発明の一実施形態を説明する。
図1は、本発明の一実施形態に係るマルチコアプロセッサの構成を示すブロック図である。図1において、11は第1のコアプロセッサ(コア0)、12は第2のコアプロセッサ(コア1)、13は第3のコアプロセッサ(コア2)で、L1メモリ21〜23がそれぞれ付属している。このL1メモリ21〜23の一部には、キャッシュメモリが配置される。また、上記コアプロセッサ11〜13は、シングルスタックのOSで動作するもので、その優先度は例えば「コア0<コア1<コア2」に設定される。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a configuration of a multi-core processor according to an embodiment of the present invention. In FIG. 1, 11 is a first core processor (core 0), 12 is a second core processor (core 1), 13 is a third core processor (core 2), and L1 memories 21 to 23 are attached. ing. A cache memory is arranged in a part of the L1 memories 21 to 23. The core processors 11 to 13 operate on a single stack OS, and the priority is set to, for example, “core 0 <core 1 <core 2”.

そして、上記コアプロセッサ11〜13は、内部バス14及び外部バス15に接続される。
上記内部バス14には、複数個例えば4個のL2メモリ(0)31、L2メモリ(1)32、L2メモリ(2)33、L2メモリ(3)34が接続される。また、上記L2メモリ31〜34には、セマフォ管理テーブルが設けられる。この場合、セマフォ管理テーブルは、L2メモリ31〜34の何れに配置しても良い。
The core processors 11 to 13 are connected to the internal bus 14 and the external bus 15.
A plurality of, for example, four L2 memories (0) 31, an L2 memory (1) 32, an L2 memory (2) 33, and an L2 memory (3) 34 are connected to the internal bus. The L2 memories 31 to 34 are provided with semaphore management tables. In this case, the semaphore management table may be arranged in any of the L2 memories 31 to 34.

上記コアプロセッサ11〜13とL2メモリ31〜34は、内部バス14を空間的に多重接続しており、例えばコアプロセッサ11がL2メモリ31にアクセス中に、コアプロセッサ12がL2メモリ32に、コアプロセッサ(コア2)13がL2メモリ(3)34に同時にアクセス可能に接続されている。例えばL2メモリ31〜34のそれぞれにデータバスを32本ずつ接続し、アドレスバスの上位ビットをチップセレクト信号に割り当ててアクセス対象を選択するように構成する。従って、コアプロセッサ11〜13は、L2メモリ31〜34の何れにもアクセス可能となっている。   The core processors 11 to 13 and the L2 memories 31 to 34 spatially multiplexly connect the internal bus 14. For example, while the core processor 11 is accessing the L2 memory 31, the core processor 12 is connected to the L2 memory 32. The processor (core 2) 13 is connected to the L2 memory (3) 34 so as to be simultaneously accessible. For example, 32 data buses are connected to each of the L2 memories 31 to 34, and the upper bits of the address bus are assigned to the chip select signal to select an access target. Therefore, the core processors 11 to 13 can access any of the L2 memories 31 to 34.

また、上記外部バス15には、ホスト(HOST)プロセッサ41,SDRAM(Synchronous DRAM)42及び通信デバイス43が接続される。
図2は、上記実施形態におけるマルチタスク構成例を示したものである。上記各コアプロセッサ11〜13は、それぞれ1つのタスク(Task 0、Task 1、Task 2)と、複数のソフトウェア割込(SWI 0、SWI 1)と、複数のハードウェア割込(HWI)を備えると共に共通部50としてライブラリ(Library)51、IPL(Initial Program Loader)52、OS(Operating System)53、ドライバ(Driver)54を備えている。一般に1つのコアプロセッサでマルチタスクを実行する場合、タスクを切替える際にタスクコンテキスト(レジスタやスタック)を切替える必要がある。この実施形態では、上記したように各コアプロセッサ11〜13にそれぞれ1つのタスク(Task 0、Task 1、Task 2)を割り当てることにより、同一のコアプロセッサ内ではタスクコンテキストの切替えを不要にしている。
The external bus 15 is connected to a host (HOST) processor 41, an SDRAM (Synchronous DRAM) 42, and a communication device 43.
FIG. 2 shows an example of a multitask configuration in the embodiment. Each of the core processors 11 to 13 includes one task (Task 0, Task 1, Task 2), a plurality of software interrupts (SWI 0, SWI 1), and a plurality of hardware interrupts (HWI). A common unit 50 includes a library 51, an IPL (Initial Program Loader) 52, an OS (Operating System) 53, and a driver 54. In general, when multitasking is executed by one core processor, it is necessary to switch task contexts (registers and stacks) when switching tasks. In this embodiment, as described above, by assigning one task (Task 0, Task 1, Task 2) to each of the core processors 11 to 13, it is not necessary to switch task contexts within the same core processor. .

上記共通部50は、L2メモリ31〜34に格納され、L1メモリ21〜23の一部に配置するキャッシュメモリを介在してコアプロセッサ11〜13からアクセスされる。共通部50をL2メモリ31〜34に配置することにより、容量の少ないL1メモリ21〜23を補っている。   The common unit 50 is stored in the L2 memories 31 to 34 and is accessed from the core processors 11 to 13 via a cache memory arranged in a part of the L1 memories 21 to 23. By arranging the common unit 50 in the L2 memories 31 to 34, the L1 memories 21 to 23 having a small capacity are supplemented.

上記コアプロセッサ11〜13は、コア内、コア間、全コア間の排他制御にセマフォIDを付与し、このセマフォIDを識別して排他制御処理を切替えている。   The core processors 11 to 13 assign a semaphore ID to exclusive control within the core, between the cores, and between all the cores, identify the semaphore ID, and switch the exclusive control processing.

以下、上記コアプロセッサ11〜13におけるコア内、コア間、全コア間の排他制御処理について説明する。
[コア内排他制御処理]
例えば関数の引数で各コアプロセッサ11〜13内のセマフォを指定するIDが付与されている場合は、図3に示すように排他制御対象61へのアクセスを割込み禁止処理と割込み禁止解除処理で挟むことにより、排他制御対象61へのアクセスを排他する。図3はコアプロセッサ11内における排他制御処理を示したもので、ソフトウェア割込SWI 0がソフトウェア割込SWI 1の起動の禁止/解除を管理している。
Hereinafter, exclusive control processing within the core, between the cores, and between all the cores in the core processors 11 to 13 will be described.
[In-core exclusive control processing]
For example, when an ID specifying a semaphore in each of the core processors 11 to 13 is given as an argument of the function, access to the exclusive control target 61 is sandwiched between interrupt prohibition processing and interrupt prohibition cancellation processing as shown in FIG. As a result, access to the exclusive control target 61 is exclusive. FIG. 3 shows exclusive control processing in the core processor 11, and the software interrupt SWI 0 manages prohibition / release of activation of the software interrupt SWI 1.

図3において、例えばタスクTask 0が排他制御対象61をアクセスする場合、タスクTask 0は、先ずソフトウェア割込SWI 0に対して割込み禁止を指示し(ステップA1)、その応答を待って排他制御対象61にアクセスする(ステップA2)。このアクセス中にハードウェア割込みHWIからソフトウェア割込みSWI 0にSWI 1割込み要求が発生すると、この時点ではソフトウェア割込みSWI 0が割込み禁止状態にあるので、ハードウェア割込みHWIによる割込み要求は受け付けられない。   In FIG. 3, for example, when the task Task 0 accesses the exclusive control target 61, the task Task 0 first instructs the software interrupt SWI 0 to disable interrupts (step A1), and waits for a response to the exclusive control target. 61 is accessed (step A2). If an SWI 1 interrupt request is generated from the hardware interrupt HWI to the software interrupt SWI 0 during this access, the interrupt request by the hardware interrupt HWI is not accepted because the software interrupt SWI 0 is in the interrupt disabled state at this time.

その後、タスクTask 0が排他制御対象61に対するアクセスを終了すると、タスクTask 0からソフトウェア割込SWI 0に割込み禁止解除通知が送られ(ステップA3)、ソフトウェア割込SWI 0の割込み禁止が解除される。これによりソフトウェア割込SWI 0は、上記ハードウェア割込みHWIからのSWI 1割込み要求を受付け、ソフトウェア割込SWI 1に起動指令を出力する(ステップA4)。   Thereafter, when the task Task 0 finishes accessing the exclusive control target 61, the task Task 0 sends a notification of interrupt prohibition cancellation to the software interrupt SWI 0 (step A3), and the interrupt prohibition of the software interrupt SWI 0 is cancelled. . As a result, the software interrupt SWI 0 receives the SWI 1 interrupt request from the hardware interrupt HWI and outputs a start command to the software interrupt SWI 1 (step A4).

ソフトウェア割込SWI 1は、上記起動指令によって起動し、排他制御対象61に割込み禁止を指示し(ステップA5)、その応答を待って排他制御対象61をアクセスする(ステップA6)。そして、ソフトウェア割込SWI 1は、排他制御対象61に対するアクセスを終了すると、排他制御対象61に割込み禁止解除を通知し(ステップA7)、その応答を待って排他制御対象61に処理終了を通知する(ステップA8)。排他制御対象61は、ソフトウェア割込SWI 1によるアクセスが終了したことをタスクTask 0に通知する(ステップA9)。
上記のように各コアプロセッサ11〜13内において、排他制御対象61に対するアクセスの排他制御処理が行なわれる。
The software interrupt SWI 1 is activated by the activation command, instructs the exclusive control target 61 to prohibit interruption (step A5), and waits for a response to access the exclusive control target 61 (step A6). When the access to the exclusive control target 61 is completed, the software interrupt SWI 1 notifies the exclusive control target 61 of the interrupt prohibition release (step A7), and waits for a response to notify the exclusive control target 61 of the end of processing. (Step A8). The exclusive control target 61 notifies the task Task 0 that the access by the software interrupt SWI 1 has been completed (step A9).
As described above, the exclusive control processing for access to the exclusive control target 61 is performed in each of the core processors 11 to 13.

[コア間排他制御処理]
また、コアプロセッサ11〜13において、2つのコア間のセマフォを指定するIDが指定されたときは、図4に示すようにL2メモリ31〜34に配置するセマフォ管理テーブル62を各コアプロセッサ11〜13で監視することによって排他制御を実現する。図4は、コアプロセッサ11、12間における排他制御対象61に対する排他制御を行なう場合について示したもので、セマフォ管理テーブル62にはコア0状態エリア62a、コア1状態エリア62bが設けられている。
[Inter-core exclusive control processing]
In addition, when an ID for designating a semaphore between two cores is designated in the core processors 11 to 13, the semaphore management tables 62 arranged in the L2 memories 31 to 34 as shown in FIG. The exclusive control is realized by monitoring at 13. FIG. 4 shows a case where exclusive control is performed on the exclusive control target 61 between the core processors 11 and 12, and the semaphore management table 62 is provided with a core 0 state area 62a and a core 1 state area 62b.

セマフォ管理テーブル62のコア0状態エリア62aには、コアプロセッサ(コア0)11が「使用中」であるか「空き」となっているかを書込み、コア1状態エリア62bにはコアプロセッサ(コア1)12が「使用中」であるか「空き」となっているかを書込んで管理する。   In the core 0 state area 62a of the semaphore management table 62, it is written whether the core processor (core 0) 11 is “in use” or “empty”, and the core processor (core 1) is written in the core 1 state area 62b. ) Write and manage whether 12 is “in use” or “empty”.

[コアプロセッサ11の動作手順]
先ず、コアプロセッサ11の動作手順について図5のフローチャートを参照して説明する。
コアプロセッサ11は、セマフォ管理テーブル62のコア1状態エリア62bからコアプロセッサ12の使用状態を読出し(ステップB1)、「空き」であるか使用中であるかを判断する(ステップB2)。コアプロセッサ12が空いている場合は、コア0状態エリア62aに「使用中」を書込み(ステップB3)、排他制御対象61をアクセスする(ステップB4)。ステップB5では、上記排他制御対象61に対する処理が終了したかどうかを判断し、排他制御対象61へのアクセスが終了すると、コア0状態エリア62aに「空き」を書込み(ステップB6)、処理を終了する。
[Operation procedure of core processor 11]
First, the operation procedure of the core processor 11 will be described with reference to the flowchart of FIG.
The core processor 11 reads the use state of the core processor 12 from the core 1 state area 62b of the semaphore management table 62 (step B1), and determines whether it is “free” or in use (step B2). When the core processor 12 is free, “in use” is written in the core 0 state area 62a (step B3), and the exclusive control target 61 is accessed (step B4). In step B5, it is determined whether or not the processing for the exclusive control target 61 has been completed. When access to the exclusive control target 61 is completed, “empty” is written in the core 0 state area 62a (step B6), and the processing is terminated. To do.

また、上記ステップB2で、コアプロセッサ12が使用中であると判断された場合は、コアプロセッサ12、即ち「コア1状態」が「空き」なるまでスピンロック(spin lock)で待つ(ステップB7)。そして、コアプロセッサ12が「空き」になると、排他制御対象61をアクセスする(ステップB8)。ステップB9では、上記排他制御対象61に対する処理が終了したかどうかを判断し、排他制御対象61へのアクセスが終了すると、コア0状態エリア62aに「空き」を書込み(ステップB10)、処理を終了する。   If it is determined in step B2 that the core processor 12 is in use, the core processor 12, that is, the "core 1 state", waits for a spin lock until the "core 1 state" becomes "free" (step B7). . When the core processor 12 becomes “empty”, the exclusive control target 61 is accessed (step B8). In step B9, it is determined whether or not the processing for the exclusive control target 61 has been completed. When access to the exclusive control target 61 is completed, “empty” is written in the core 0 state area 62a (step B10), and the processing is terminated. To do.

[コアプロセッサ12の動作手順]
次に、コアプロセッサ12の動作手順について図6のフローチャートを参照して説明する。
コアプロセッサ12は、セマフォ管理テーブル62のコア0状態エリア62aからコアプロセッサ11の使用状態、即ち「コア0状態」を読出し(ステップC1)、「空き」であるか使用中であるかを判断する(ステップC2)。コアプロセッサ11が空いている場合は、コア1状態エリア62bに「使用中」を書込み(ステップC3)、排他制御対象61をアクセスする(ステップC4)。ステップC5では、上記排他制御対象61に対する処理が終了したかどうかを判断し、排他制御対象61へのアクセスが終了すると、コア1状態エリア62bに「空き」を書込み(ステップC6)、処理を終了する。
[Operation procedure of core processor 12]
Next, the operation procedure of the core processor 12 will be described with reference to the flowchart of FIG.
The core processor 12 reads the use state of the core processor 11, that is, the “core 0 state” from the core 0 state area 62a of the semaphore management table 62 (step C1), and determines whether it is “free” or in use. (Step C2). If the core processor 11 is free, “in use” is written in the core 1 state area 62b (step C3), and the exclusive control target 61 is accessed (step C4). In step C5, it is determined whether or not the processing for the exclusive control target 61 has been completed. When access to the exclusive control target 61 is completed, “empty” is written in the core 1 state area 62b (step C6), and the processing is terminated. To do.

また、上記ステップC2で、コアプロセッサ11が使用中であると判断された場合は、コアプロセッサ11、即ち「コア0状態」が「空き」なるまでスピンロック(spin lock)で待つ(ステップC7)。そして、コアプロセッサ11が「空き」になると、排他制御対象61をアクセスする(ステップC8)。ステップC9では、上記排他制御対象61に対する処理が終了したかどうかを判断し、排他制御対象61へのアクセスが終了すると、コア1状態エリア62bに「空き」を書込み(ステップC10)、処理を終了する。   If it is determined in step C2 that the core processor 11 is in use, the core processor 11, that is, the "core 0 state", is waited in a spin lock until "free" (step C7). . When the core processor 11 becomes “empty”, the exclusive control target 61 is accessed (step C8). In step C9, it is determined whether or not the processing for the exclusive control target 61 has been completed. When access to the exclusive control target 61 is completed, “empty” is written in the core 1 state area 62b (step C10), and the processing ends. To do.

[全コア間排他制御処理]
次に全コア間の排他制御処理について説明する。
コアプロセッサ11〜13において、全コア間のセマフォを指定するIDが指定されたときは、L2メモリ31〜34に配置する図7に示すセマフォ管理テーブル63を各コアプロセッサ11〜13で監視することによって排他制御を実現する。ここで、上記したように各コアプロセッサ11〜13に
コア0<コア1<コア2
の優先度を与えることによって、優先度の高いコアの処理を優先的に短いオーバヘッドで行なう。
[Exclusive control between all cores]
Next, exclusive control processing between all cores will be described.
When the core processor 11 to 13 specifies an ID for specifying a semaphore between all cores, the core processors 11 to 13 monitor the semaphore management table 63 shown in FIG. 7 arranged in the L2 memories 31 to 34. Exclusive control is realized by. Here, as described above, each of the core processors 11 to 13 has a core 0 <core 1 <core 2
By giving this priority, the processing of the core with the higher priority is preferentially performed with a short overhead.

上記セマフォ管理テーブル63は、図7に示すように排他制御対象状態エリア63a、コア0状態エリア63b、コア1状態エリア63c、コア2状態エリア63dを備えている。上記排他制御対象状態エリア63aには、「コア0/コア1/コア2/空き」の状態が選択的に書込まれる。コア0状態エリア63bには、コア0(コアプロセッサ11)に関する「使用中/空き/待ち」の状態が選択的に書込まれる。コア1状態エリア63cには、コア1(コアプロセッサ12)に関する「使用中/空き/待ち」の状態が選択的に書込まれる。コア2状態エリア63dには、コア2(コアプロセッサ13)に関する「使用中/空き/待ち」の状態が選択的に書込まれる。   As shown in FIG. 7, the semaphore management table 63 includes an exclusive control target state area 63a, a core 0 state area 63b, a core 1 state area 63c, and a core 2 state area 63d. In the exclusive control target state area 63a, the state of “core 0 / core 1 / core 2 / free” is selectively written. In the core 0 state area 63b, the state of “in use / free / waiting” regarding the core 0 (core processor 11) is selectively written. In the core 1 state area 63c, a state of “in use / free / waiting” regarding the core 1 (core processor 12) is selectively written. In the core 2 state area 63d, the state of “in use / free / waiting” regarding the core 2 (core processor 13) is selectively written.

[コアプロセッサ11(優先度“低”)の動作手順]
先ず、コアプロセッサ(コア0)11の動作手順について図8のフローチャートを参照して説明する。
コアプロセッサ11は、セマフォ管理テーブル63のコア0状態エリア63bに「待ち」を書込み(ステップD1)、次いでコア1状態エリア63c及びコア2状態エリア63dからコア1とコア2の状態を読み込んで、両方が「空き」となっているかどうかを判断する(ステップD2、D3)。上記コア1とコア2の状態が両方とも「空き」であれば、排他制御対象状態エリア63aにおける排他制御対象状態が「空き」になるまで、スピンロックで待つ(ステップD4)。
[Operation Procedure of Core Processor 11 (Priority “Low”)]
First, the operation procedure of the core processor (core 0) 11 will be described with reference to the flowchart of FIG.
The core processor 11 writes “wait” in the core 0 state area 63b of the semaphore management table 63 (step D1), and then reads the states of the core 1 and the core 2 from the core 1 state area 63c and the core 2 state area 63d. It is determined whether or not both are “vacant” (steps D2 and D3). If the states of the core 1 and the core 2 are both “empty”, the process waits with a spin lock until the exclusive control target state in the exclusive control target state area 63a becomes “free” (step D4).

そして、上記排他制御対象状態が「空き」になると、排他制御対象状態エリア63aに「コア0」を書込み(ステップD5)、コア0状態エリア63bに「使用中」を書込む(ステップD6)。その後、コアプロセッサ11は、排他制御対象を使用する(ステップD7)。次に上記排他制御対象の使用が終了したかどうかを判断し(ステップD8)、排他制御対象の使用が終了すると、コア0状態エリア63bに「空き」を書込むと共に排他制御対象状態エリア63aに「空き」を書込み(ステップD9、D10)、コアプロセッサ11の処理を終了する。   When the exclusive control target state becomes “vacant”, “core 0” is written in the exclusive control target state area 63a (step D5), and “in use” is written in the core 0 state area 63b (step D6). Thereafter, the core processor 11 uses the exclusive control target (step D7). Next, it is determined whether or not the use of the exclusive control target is finished (step D8). When the use of the exclusive control target is finished, “empty” is written in the core 0 state area 63b and the exclusive control target state area 63a is written. “Free” is written (steps D9 and D10), and the processing of the core processor 11 is terminated.

また、上記ステップD3で、コア1とコア2の何れか一方でも「空き」以外の状態になっていると判断された場合は、排他制御対象状態エリア63aにおける排他制御対象状態が「空き」になるまで、スピンロックで待つ(ステップD11)。そして、上記排他制御対象状態が「空き」になるとステップD2に戻り、上記した処理を繰り返して実行する。   If it is determined in step D3 that either one of the cores 1 and 2 is in a state other than “free”, the exclusive control target state in the exclusive control target state area 63a is set to “free”. Until it becomes, it waits with a spin lock (step D11). Then, when the exclusive control target state becomes “empty”, the process returns to step D2, and the above-described processing is repeated.

[コアプロセッサ12(優先度“中”)の動作手順]
次にコアプロセッサ(コア1)12の動作手順について図9のフローチャートを参照して説明する。
コアプロセッサ12は、セマフォ管理テーブル63のコア1状態エリア63cに「待ち」を書込み(ステップE1)、次いでコア2状態エリア63dからコア2の状態を読み込んで、「空き」となっているかどうかを判断する(ステップE2、E3)。上記コア2の状態が「空き」であれば、排他制御対象状態エリア63aにおける排他制御対象状態が「空き」になるまで、スピンロックで待つ(ステップE4)。
[Operation Procedure of Core Processor 12 (Priority “Medium”)]
Next, the operation procedure of the core processor (core 1) 12 will be described with reference to the flowchart of FIG.
The core processor 12 writes “wait” in the core 1 state area 63c of the semaphore management table 63 (step E1), and then reads the state of the core 2 from the core 2 state area 63d to determine whether it is “free”. Judgment is made (steps E2, E3). If the state of the core 2 is “empty”, it waits with a spin lock until the exclusive control target state in the exclusive control target state area 63a becomes “free” (step E4).

そして、上記排他制御対象状態が「空き」になると、コアプロセッサ12は、排他制御対象状態エリア63aに「コア1」、コア1状態エリア63cに「使用中」を書込み(ステップE5、E6)、排他制御対象を使用する(ステップE7)。   When the exclusive control target state becomes “vacant”, the core processor 12 writes “core 1” in the exclusive control target state area 63a and “in use” in the core 1 state area 63c (steps E5 and E6). The exclusive control target is used (step E7).

次に上記排他制御対象の使用が終了したかどうかを判断し(ステップE8)、排他制御対象の使用が終了すると、コア1状態エリア63cに「空き」を書込むと共に排他制御対象状態エリア63aに「空き」を書込み(ステップE9、E10)、コアプロセッサ12の処理を終了する。   Next, it is determined whether or not the use of the exclusive control target is finished (step E8). When the use of the exclusive control target is finished, “empty” is written in the core 1 state area 63c and the exclusive control target state area 63a is written. “Free” is written (steps E9 and E10), and the processing of the core processor 12 is terminated.

また、上記ステップE3で、コア2が「空き」以外の状態になっていると判断された場合は、排他制御対象状態エリア63aにおける排他制御対象状態が「空き」になるまで、スピンロックで待つ(ステップE11)。そして、上記排他制御対象状態が「空き」になるとステップE2に戻り、上記した処理を繰り返して実行する。   If it is determined in step E3 that the core 2 is in a state other than “free”, the process waits with a spin lock until the exclusive control target state in the exclusive control target state area 63a becomes “free”. (Step E11). Then, when the exclusive control target state becomes “empty”, the process returns to step E2, and the above-described processing is repeatedly executed.

[コアプロセッサ13(優先度“高”)の動作手順]
次にコアプロセッサ(コア2)13の動作手順について図10のフローチャートを参照して説明する。
コアプロセッサ13は、セマフォ管理テーブル63のコア2状態エリア63dに「待ち」を書込み(ステップF1)、その後、排他制御対象状態エリア63aにおける排他制御対象状態が「空き」になるまで、スピンロックで待つ(ステップF2)。
[Operation Procedure of Core Processor 13 (Priority “High”)]
Next, the operation procedure of the core processor (core 2) 13 will be described with reference to the flowchart of FIG.
The core processor 13 writes “wait” in the core 2 state area 63d of the semaphore management table 63 (step F1), and then spin-locks until the exclusive control target state in the exclusive control target state area 63a becomes “free”. Wait (step F2).

そして、上記排他制御対象状態が「空き」になると、コアプロセッサ13は、排他制御対象状態エリア63aに「コア1」、コア2状態エリア63dに「使用中」を書込み(ステップF3、F4)、その後、排他制御対象を使用する(ステップF5)。   When the exclusive control target state becomes “free”, the core processor 13 writes “core 1” in the exclusive control target state area 63a and “in use” in the core 2 state area 63d (steps F3 and F4). Thereafter, the exclusive control target is used (step F5).

次に上記排他制御対象の使用が終了したかどうかを判断し(ステップF6)、排他制御対象の使用が終了すると、コア2状態エリア63dに「空き」を書込むと共に排他制御対象状態エリア63aに「空き」を書込み(ステップF7、F8)、コアプロセッサ13の処理を終了する。   Next, it is determined whether or not the use of the exclusive control target is finished (step F6). When the use of the exclusive control target is finished, “empty” is written in the core 2 state area 63d and the exclusive control target state area 63a is written. “Free” is written (steps F7 and F8), and the processing of the core processor 13 is terminated.

上記のように各コアプロセッサ11〜13に「コア0<コア1<コア2」の優先度を与えると共に、図7に示すセマフォ管理テーブル63を各コアプロセッサ11〜13で監視することによって全コア間の排他制御を実現でき、また、優先度の高いコアの処理を優先的に短いオーバヘッドで行なうことができる。   As described above, the priority of “core 0 <core 1 <core 2” is given to each of the core processors 11 to 13, and the semaphore management table 63 shown in FIG. In addition, it is possible to realize exclusive control between the high-priority cores, and it is possible to preferentially perform core processing with a short overhead.

また、上記実施形態において、図11に示すようなリングバッファ型の共有メモリ64をL2メモリ31〜34又は外部バス15に接続されるSDRAM42に配置することにより、コアプロセッサ11〜13間のデータ通信を行なうことも可能である。この場合、各コアプロセッサ11〜13からL2メモリ31〜34又はSDRAM42へのアクセスは、ソフトウェア処理の負荷を軽減するためにアトミックなハードウェアによって保証する。すなわち、コアプロセッサ11〜13からL2メモリ31〜34又はSDRAM42へのアクセスは、ある時間に何れか1つだけアクセスすることを可能にしている。   In the above embodiment, the ring buffer type shared memory 64 as shown in FIG. 11 is arranged in the L2 memories 31 to 34 or the SDRAM 42 connected to the external bus 15, thereby allowing data communication between the core processors 11 to 13. It is also possible to perform. In this case, access from the core processors 11 to 13 to the L2 memories 31 to 34 or the SDRAM 42 is guaranteed by atomic hardware in order to reduce the load of software processing. That is, only one of the core processors 11 to 13 can access the L2 memories 31 to 34 or the SDRAM 42 at a certain time.

図11は、コアプロセッサ11とコアプロセッサ12間でデータの書込み及び読出しを行なう場合の例を示したもので、共有メモリ64は、例えばコア0ライトポインタ64a、コア1リードポインタ64b、及びリングバッファを構成する0〜Nの固定長データエリア65a〜65nを備えている。   FIG. 11 shows an example in which data is written and read between the core processor 11 and the core processor 12, and the shared memory 64 includes, for example, a core 0 write pointer 64a, a core 1 read pointer 64b, and a ring buffer. Are provided with 0 to N fixed length data areas 65a to 65n.

次に、書込み側のコアプロセッサ(コア0)11及び読出し側のコアプロセッサ(コア1)12の動作手順について図12及び図13のフローチャートを参照して説明する。   Next, operation procedures of the write-side core processor (core 0) 11 and the read-side core processor (core 1) 12 will be described with reference to the flowcharts of FIGS.

[書込み側のコアプロセッサ(コア0)11の動作手順]
図12のフローチャートに示すように、コアプロセッサ11は、コア0ライトポインタ64a及びコア1リードポインタ64bを読出し(ステップG1)、コア0ライトポインタ64aが1周回ってコア1リードポインタ64bに追いついたかどうかを判断する(ステップG2)。コア0ライトポインタ64aがコア1リードポインタ64bに追いついていなければ、コア0ライトポインタ64aが指す固定長データの次のエリアにデータを書込み(ステップG3)、コア0ライトポインタ64aを次のエリアを指すように更新し(ステップG4)、データの書込み処理を終了する。
[Operation Procedure of Core Processor (Core 0) 11 on Writing Side]
As shown in the flowchart of FIG. 12, the core processor 11 reads the core 0 write pointer 64a and the core 1 read pointer 64b (step G1), and has the core 0 write pointer 64a make one round to catch up with the core 1 read pointer 64b? Judgment is made (step G2). If the core 0 write pointer 64a does not catch up with the core 1 read pointer 64b, the data is written to the next area of the fixed length data pointed to by the core 0 write pointer 64a (step G3), and the core 0 write pointer 64a is moved to the next area. The data is updated to point (step G4), and the data writing process is terminated.

また、上記ステップG2で、コア0ライトポインタ64aがコア1リードポインタ64bに追いついたと判断された場合は、書込みデータを破棄し(ステップG5)、エラー終了する。   If it is determined in step G2 that the core 0 write pointer 64a has caught up with the core 1 read pointer 64b, the write data is discarded (step G5) and the process ends with an error.

[読出し側のコアプロセッサ(コア1)12の動作手順]
図13のフローチャートに示すように、コアプロセッサ12は、コア0ライトポインタ64a及びコア1リードポインタ64bを読出し(ステップH1)、コア1リードポインタ64bが1周回ってコア0ライトポインタ64aに追いついたかどうかを判断する(ステップH2)。コア1リードポインタ64bがコア0ライトポインタ64aに追いついていなければ、コア1リードポインタ64bが指す固定長データエリアを読出し(ステップH3)、コア1リードポインタ64bを次のエリアを採用に更新する(ステップH4)、その後、ステップH1に戻り、上記した処理を繰り返して実行する。
[Operation Procedure of Core Processor (Core 1) 12 on Reading Side]
As shown in the flowchart of FIG. 13, the core processor 12 reads the core 0 write pointer 64a and the core 1 read pointer 64b (step H1), and has the core 1 read pointer 64b go around once and catch up with the core 0 write pointer 64a? Judgment is made (step H2). If the core 1 read pointer 64b does not catch up with the core 0 write pointer 64a, the fixed length data area pointed to by the core 1 read pointer 64b is read (step H3), and the core 1 read pointer 64b is updated to adopt the next area ( Step H4) After that, the process returns to Step H1 to repeat the above-described processing.

そして、上記ステップH2で、コア1リードポインタ64bがコア0ライトポインタ64aに追いついたと判断された場合は、ステップH5に進んで読出しデータなしで終了する。   If it is determined in step H2 that the core 1 read pointer 64b has caught up with the core 0 write pointer 64a, the process proceeds to step H5 and ends without reading data.

上記実施形態によれば、マルチコアプロセッサでマルチタスクを実行する場合、1つのコアプロセッサには1つのタスクだけを割り当てることにより、タスクコンテキスト(レジスタやスタック)を切替えることなくマルチタスク処理を実行することができる。   According to the above embodiment, when multitasking is executed by a multicore processor, only one task is assigned to one core processor, thereby executing multitask processing without switching task context (registers and stacks). Can do.

また、コアプロセッサ11〜13とL2メモリ31〜34は、内部バス14を空間的に多重接続して各L2メモリ31〜34に同時にアクセスできるように構成し、上記L2メモリ31〜34にセマフォ管理テーブルを配置することにより、スピンロック時にバスアクセスが増大する事によるビジーロックを緩和することができる。   The core processors 11 to 13 and the L2 memories 31 to 34 are configured so that the internal bus 14 can be spatially multiplexed to access each of the L2 memories 31 to 34 at the same time, and the L2 memories 31 to 34 are managed as semaphores. By arranging the table, it is possible to alleviate busy lock caused by increased bus access during spin lock.

また、各コアプロセッサ11〜13内、各コアプロセッサ11〜13間、及び全コアプロセッサ11〜13間の排他制御にそれぞれセマフォIDを付与し、このセマフォIDにより識別した排他制御処理を切替え、排他制御対象へのアクセス割込みを排他することにより、マルチタスク処理を効率的に行なわせることができる。   In addition, each semaphore ID is assigned to the exclusive control within each core processor 11-13, between each core processor 11-13, and between all core processors 11-13, and the exclusive control process identified by this semaphore ID is switched and exclusive. By excluding access interrupts to controlled objects, multitask processing can be performed efficiently.

また、上記全コアプロセッサ11〜13間の排他制御において、各コアプロセッサ11〜13に優先度を与える事によって、高い優先度の処理を優先的に短いオーバヘッドで行なわせることができる。   In the exclusive control among all the core processors 11 to 13, by giving priority to the core processors 11 to 13, high priority processing can be preferentially performed with short overhead.

また、リングバッファ型の共有メモリ64をアトミックな領域、例えばL2メモリ31〜34又は外部バス15に接続されるSDRAM42に配置することにより、コアプロセッサ11〜13間のデータ通信を行なうことが可能となる。この場合、共有メモリ64をアトミックな領域に配置することにより、ソフトウェア処理の負荷を軽減することができる。   In addition, by arranging the ring buffer type shared memory 64 in an atomic area, for example, the L2 memories 31 to 34 or the SDRAM 42 connected to the external bus 15, data communication between the core processors 11 to 13 can be performed. Become. In this case, the load of software processing can be reduced by arranging the shared memory 64 in an atomic area.

なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できるものである。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying constituent elements without departing from the scope of the invention in the implementation stage.

本発明の一実施形態に係るマルチコアプロセッサの構成を示すブロック図である。It is a block diagram which shows the structure of the multi-core processor which concerns on one Embodiment of this invention. 同実施形態におけるマルチタスクの構成例を示すブロック図である。It is a block diagram which shows the structural example of the multitask in the same embodiment. 同実施形態におけるコア内排他制御の動作説明図である。It is operation | movement explanatory drawing of the exclusive control in a core in the same embodiment. コア間排他制御における排他制御対象及びセマフォ管理テーブルの構成例を示す図である。It is a figure which shows the structural example of the exclusive control object and semaphore management table in inter-core exclusive control. コア間排他制御におけるコアプロセッサ(コア0)の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of the core processor (core 0) in the inter-core exclusive control. コア間排他制御におけるコアプロセッサ(コア1)の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of the core processor (core 1) in inter-core exclusive control. 全コア間排他制御におけるセマフォ管理テーブルの構成例を示す図である。It is a figure which shows the structural example of the semaphore management table in all the cores exclusive control. 全コア間排他制御におけるコアプロセッサ(コア0、優先度:低)の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of the core processor (core 0, priority: low) in all the inter-core exclusive control. 全コア間排他制御におけるコアプロセッサ(コア1、優先度:中)の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of the core processor (core 1, priority: medium) in all core exclusive control. 全コア間排他制御におけるコアプロセッサ(コア2、優先度:高)の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of the core processor (core 2, priority: high) in all the inter-core exclusive control. 各コアプロセッサ間でデータのやり取りを行なう場合に使用される共有メモリの構成例を示す図である。It is a figure which shows the structural example of the shared memory used when exchanging data between each core processor. 各コアプロセッサ間でデータのやり取りを行なう場合のデータ書込み側のコアプロセッサ(コア0)の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of the core processor (core 0) by the side of data writing in the case of exchanging data between each core processor. 各コアプロセッサ間でデータのやり取りを行なう場合のデータ読出し側のコアプロセッサ(コア1)の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of the core processor (core 1) by the side of data reading in the case of exchanging data between each core processor.

符号の説明Explanation of symbols

11〜13…コアプロセッサ、14…内部バス、15…外部バス、21〜23…L1メモリ、31〜34…L2メモリ、41…ホストプロセッサ、42…SDRAM、43…通信デバイス、50…共通部、51…ライブラリ(Library)、52…IPL、53…OS、54…ドライバ(Driver)、61…排他制御対象、62…セマフォ管理テーブル、62a…コア0状態エリア、62b…コア1状態エリア、63…セマフォ管理テーブル、63a…排他制御対象状態エリア、63b…コア0状態エリア、63c…コア1状態エリア、63d…コア2状態エリア、64…共有メモリ、64a…ライトポインタ、64b…リードポインタ、65a〜65n…固定長データエリア。   DESCRIPTION OF SYMBOLS 11-13 ... Core processor, 14 ... Internal bus, 15 ... External bus, 21-23 ... L1 memory, 31-34 ... L2 memory, 41 ... Host processor, 42 ... SDRAM, 43 ... Communication device, 50 ... Common part, 51 ... Library, 52 ... IPL, 53 ... OS, 54 ... Driver, 61 ... Exclusive control target, 62 ... Semaphore management table, 62a ... Core 0 state area, 62b ... Core 1 state area, 63 ... Semaphore management table, 63a ... exclusive control target status area, 63b ... core 0 status area, 63c ... core 1 status area, 63d ... core 2 status area, 64 ... shared memory, 64a ... write pointer, 64b ... read pointer, 65a- 65n: Fixed length data area.

Claims (1)

複数のコアプロセッサからなるマルチコアプロセッサにおいて、前記複数のコアプロセッサに内部バスにより複数のメモリを空間的に多重接続して任意のメモリをアクセスできるように構成し、前記メモリに前記複数のコアプロセッサが排他制御対象を制御することに使用されていることの使用状態を示すセマフォ管理テーブルを設け、各コアプロセッサ内における排他制御と複数のコアプロセッサ間における排他制御と、全コアプロセッサ間における排他制御のそれぞれにセマフォIDを付与し、前記各コアプロセッサは前記セマフォIDにより識別した排他制御に切替えて前記セマフォ管理テーブルを監視し、排他制御対象へのアクセス割込みを排他することを特徴とするマルチコアプロセッサにおけるマルチコア制御方法。 In a multi-core processor composed of a plurality of core processors, a plurality of memories are spatially connected to the plurality of core processors by an internal bus so that an arbitrary memory can be accessed, and the plurality of core processors are connected to the memory. It provided the semaphore management table showing the use state of what is used to control the exclusive control object, and exclusive control in each core processor, and exclusive control among a plurality of core processors, exclusive control between the total core processor A multi-core processor, wherein each core processor switches to exclusive control identified by the semaphore ID, monitors the semaphore management table, and excludes an access interrupt to the exclusive control target. Multi-core control method.
JP2005337271A 2005-11-22 2005-11-22 Multi-core control method in multi-core processor Active JP4559958B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005337271A JP4559958B2 (en) 2005-11-22 2005-11-22 Multi-core control method in multi-core processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005337271A JP4559958B2 (en) 2005-11-22 2005-11-22 Multi-core control method in multi-core processor

Publications (2)

Publication Number Publication Date
JP2007141155A JP2007141155A (en) 2007-06-07
JP4559958B2 true JP4559958B2 (en) 2010-10-13

Family

ID=38203904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005337271A Active JP4559958B2 (en) 2005-11-22 2005-11-22 Multi-core control method in multi-core processor

Country Status (1)

Country Link
JP (1) JP4559958B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5146954B2 (en) * 2007-09-12 2013-02-20 独立行政法人産業技術総合研究所 Multitask processing apparatus, multitask processing method, and program
JP2010039582A (en) 2008-07-31 2010-02-18 Panasonic Corp Resource exclusive control system, device, method and program
JP5673672B2 (en) * 2010-03-30 2015-02-18 富士通株式会社 Multi-core processor system, control program, and control method
JP5745868B2 (en) * 2011-01-18 2015-07-08 トヨタ自動車株式会社 Multiprocessor system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348661A (en) * 1993-06-11 1994-12-22 Fujitsu Ltd Inter-multiprocessor exclusive control system
JP2004506981A (en) * 2000-08-15 2004-03-04 エス・アール・シィ・コンピューターズ・インコーポレイテッド System and method for managing semaphore and atomic operations in a multiprocessor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348661A (en) * 1993-06-11 1994-12-22 Fujitsu Ltd Inter-multiprocessor exclusive control system
JP2004506981A (en) * 2000-08-15 2004-03-04 エス・アール・シィ・コンピューターズ・インコーポレイテッド System and method for managing semaphore and atomic operations in a multiprocessor

Also Published As

Publication number Publication date
JP2007141155A (en) 2007-06-07

Similar Documents

Publication Publication Date Title
US6820187B2 (en) Multiprocessor system and control method thereof
TWI537831B (en) Multi-core processor,method to perform process switching,method to secure a memory block, apparatus to enable transactional processing using a multi core device and method to perform memory transactional processing
CN108920267B (en) Task processing device
JP5214537B2 (en) Multiprocessor system
US20110265093A1 (en) Computer System and Program Product
US20030177288A1 (en) Multiprocessor system
JP4559958B2 (en) Multi-core control method in multi-core processor
JP4026667B2 (en) Multi-OS configuration method
WO2009098737A1 (en) External device access apparatus, its controlling method and system lsi
JP2002297556A (en) Multiprocessor system, control method and program for multiprocessor, and computer readable recording medium with the program recorded thereon
JP4734348B2 (en) Asynchronous remote procedure call method, asynchronous remote procedure call program and recording medium in shared memory multiprocessor
JP3893136B2 (en) Embedded computer control program, recording medium recording the program, and embedded system
US11734051B1 (en) RTOS/OS architecture for context switching that solves the diminishing bandwidth problem and the RTOS response time problem using unsorted ready lists
JP4017005B2 (en) Arithmetic unit
JP4727480B2 (en) Information processing method, information processing system, information processing apparatus, multiprocessor, information processing program, and computer-readable storage medium storing information processing program
JP4631442B2 (en) Processor
JP2010044703A (en) Method and program for switching task in multi task os
JP2007087244A (en) Co-processor and computer system
JP2010026575A (en) Scheduling method, scheduling device, and multiprocessor system
JPS62177653A (en) Control system for shared memory
JPH1021203A (en) Access method for i/o device and multiprocessor system for the same
JP2003030051A (en) Data processor and data access method
JP4122212B2 (en) Multiprocessor system
JP2008217659A (en) Dma transfer activation method
CA1306311C (en) I/o system for off-loading operating system functions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080922

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100609

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100706

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100723

R150 Certificate of patent or registration of utility model

Ref document number: 4559958

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140730

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250