JP2007122337A - Arithmetic unit - Google Patents
Arithmetic unit Download PDFInfo
- Publication number
- JP2007122337A JP2007122337A JP2005312661A JP2005312661A JP2007122337A JP 2007122337 A JP2007122337 A JP 2007122337A JP 2005312661 A JP2005312661 A JP 2005312661A JP 2005312661 A JP2005312661 A JP 2005312661A JP 2007122337 A JP2007122337 A JP 2007122337A
- Authority
- JP
- Japan
- Prior art keywords
- task
- processing
- bus
- processing unit
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
Description
本発明は、プログラムの実行を行う処理部を複数備えた演算装置に関する。 The present invention relates to an arithmetic device including a plurality of processing units that execute a program.
データの、目的に応じた処理を高速に実行するために、各種方式が提案され実現されている。例えば、非特許文献1には複数のプロセッサを搭載するマルチプロセッサシステムついて記載がされている。図8は、非特許文献1に記載のマルチプロセッサシステムの構成図であり、複数のプロセッサとメモリがバスを介して接続している。非特許文献1によると、複数のプロセッサが1つのオペレーティングシステムとメモリの共有を行い、オペレーティングシステムが、処理目的に応じたプログラム(以下、アプリケーションプログラムと呼ぶ。)をタスク(非特許文献1ではスレッド又はプロセス)に分解して、各プロセッサへの割当てを行っている。
Various methods have been proposed and implemented in order to execute processing according to the purpose of data at high speed. For example, Non-Patent
即ち、各プロセッサは、オペレーティングシステムと、アプリケーションプログラムの各タスクの両方を実行することとなり、プロセッサの実行時間の総てをアプリケーションプログラムの実行に割り当てることはできず、また、メモリを共有するために、アプリケーションプログラムの実行によりオペレーティングシステムの動作に影響を与える可能性もある。 That is, each processor executes both the operating system and each task of the application program, and the entire execution time of the processor cannot be allocated to the execution of the application program, and the memory is shared. There is also a possibility that the operation of the operating system is affected by the execution of the application program.
このため、特許文献1には各プロセッサでのタスク管理やスケジューリングといったオーバーヘッドを少なくする構成が記載されている。図9は特許文献1に記載のマルチプロセッサシステムの構成図であり、図8の構成に加え、状態管理部が複数のプロセッサと接続している。特許文献1によると、状態管理部が各プロセッサの空き状態の管理をして各プロセッサに通知し、新たなタスクが発生したプロセッサは、そのタスクを他の空き状態のプロセッサに実行させることで、新たなタスクを直ちに開始させている。特許文献1によると状態管理部は組合せ回路により実現している。
For this reason,
上述したように、複数のプロセッサへのタスクの割当て処理等をオペレーティングシステムに行わせる構成では、アプリケーションプログラムの実行時間が減少し、また、アプリケーションプログラムの動作がオペレーティングシステムの動作に影響を与え得るという問題がある。例えば、オペレーティングシステムが破壊された場合にはシステムが完全に停止してしまうことになる。 As described above, in the configuration in which the operating system performs task assignment processing to a plurality of processors, the execution time of the application program is reduced, and the operation of the application program can affect the operation of the operating system. There's a problem. For example, when the operating system is destroyed, the system is completely stopped.
一方、特許文献1に記載の構成では、状態管理部がハードウェアブロックであり、複数プロセッサの管理機能の総てを実現できるわけではなく、ハードウェアブロックで実現できない部分についてはプロセッサで実行する必要があり、アプリケーションプログラムの実行時間の減少につながる。例えば、特許文献1において、空き状態のプロセッサに新たなタスクを実行させるのは新たなタスクが発生したプロセサ自身である。また、ハードウェアブロック設計後の、状態管理部の処理内容の変更には対応困難である。
On the other hand, in the configuration described in
従って、本発明は、上述した問題を解決し、アプリケーションプログラムの実行を行う処理部においては、タスク管理といった、アプリケーションプログラム以外の処理を実行する必要がなく、また、設計後の各種処理内容の変更にも柔軟に対応可能な演算装置を提供することを目的とする。 Accordingly, the present invention solves the above-described problems, and the processing unit that executes the application program does not need to execute processing other than the application program such as task management, and changes of various processing contents after the design. It is another object of the present invention to provide an arithmetic device that can flexibly cope with the above.
本発明における演算装置によれば、
制御手段用のプログラムを読み込んで実行することで、状態通知手段が保持する各処理手段の状態に基づき、アプリケーションプログラムを構成するタスクの各処理手段への割当てを行う制御手段と、制御手段に割り当てられたタスクを実行し、タスクの実行に関する状態を出力する、複数の処理手段と、処理手段が出力する状態を保持する状態通知手段とを有することを特徴とする。
According to the arithmetic device of the present invention,
By reading and executing the program for the control means, the control means for allocating the tasks constituting the application program to each processing means based on the state of each processing means held by the status notification means, and the assignment to the control means A plurality of processing means for executing a given task and outputting a state related to the execution of the task, and a state notifying means for holding the state output by the processing means.
本発明の演算装置における他の実施形態によれば、
制御手段のみが使用する第1の記憶手段と、制御手段及び処理手段が使用する第2の記憶手段とを有することも好ましい。
According to another embodiment of the arithmetic device of the present invention,
It is also preferable to have a first storage means used only by the control means and a second storage means used by the control means and the processing means.
また、本発明の演算装置における他の実施形態によれば、
制御手段は、処理手段からの要求に基づき第2の記憶手段の領域及び/又は入出力のためのハードウェア資源を、要求した処理手段に割当て、処理手段は、制御手段から割り当てられた第2の記憶手段の領域及び/又は入出力のためのハードウェア資源のみにアクセスすることも好ましい。
According to another embodiment of the arithmetic device of the present invention,
The control unit allocates the area of the second storage unit and / or hardware resources for input / output to the requested processing unit based on the request from the processing unit, and the processing unit allocates the second resource allocated from the control unit. It is also preferable to access only the storage resource area and / or hardware resources for input / output.
更に、本発明の演算装置における他の実施形態によれば、
制御手段と、第1の記憶手段とは第1のバスに接続し、複数の処理手段と、第2の記憶手段とは第2のバスに接続し、第1のバスと第2のバスを接続し、処理手段から第1の記憶手段へのアクセスを防ぐバス変換手段を有することも好ましい。
Furthermore, according to another embodiment of the arithmetic unit of the present invention,
The control means and the first storage means are connected to the first bus, the plurality of processing means and the second storage means are connected to the second bus, and the first bus and the second bus are connected to each other. It is also preferable to have bus conversion means for connecting and preventing access from the processing means to the first storage means.
更に、本発明の演算装置における他の実施形態によれば、
制御手段と、第1の記憶手段とは第1のバスに接続し、複数の処理手段は第2のバスに接続し、第2の記憶手段は、第1のバスと第2のバスに接続していることも好ましい。
Furthermore, according to another embodiment of the arithmetic unit of the present invention,
The control means and the first storage means are connected to the first bus, the plurality of processing means are connected to the second bus, and the second storage means is connected to the first bus and the second bus It is also preferable.
制御手段の動作をプログラムにより実現することで、制御手段の動作を容易に変更することができ、処理内容の変更等に容易に対応可能となる。また、プログラムによりハードウェアブロックでは難しい複雑な制御動作であっても実現することができる。更に、処理手段ではタスク管理といったアプリケーションプログラムの実行以外の処理を行う必要がなくなり、実行速度が向上する。 By realizing the operation of the control means by a program, it is possible to easily change the operation of the control means, and it is possible to easily cope with a change in processing contents. Further, even complicated control operations that are difficult with hardware blocks can be realized by a program. Further, the processing means does not need to perform processing other than execution of the application program such as task management, and the execution speed is improved.
また、制御手段が、処理手段による記憶手段や入出力ためのハードウェア資源へのアクセスを管理することで、複数の処理手段が同一資源にアクセスすることによる不具合を防ぐことができる。更に、制御手段が使用する第1の記憶手段を、処理手段等がアクセスできる第2の記憶手段と分離することで、処理手段の動作により制御手段の動作に影響を与えることを防止することができる。 Further, the control unit manages the access to the storage unit and the hardware resource for input / output by the processing unit, so that it is possible to prevent problems caused by a plurality of processing units accessing the same resource. Further, by separating the first storage means used by the control means from the second storage means accessible by the processing means, it is possible to prevent the operation of the control means from being affected by the operation of the processing means. it can.
本発明を実施するための最良の実施形態について、以下では図面を用いて詳細に説明する。 The best mode for carrying out the present invention will be described in detail below with reference to the drawings.
図1は、本発明による演算装置の第1実施形態のブロック図である。図1によると、演算装置は、制御部1と、不揮発性メモリ2と、メモリ3と、複数の処理部4と、共有メモリ5と、状態通知部6とを備えている。制御部1と、不揮発性メモリ2と、メモリ3と、各処理部4と、共有メモリ5とはバス8により相互に接続している。また、各処理部4と状態通知部6は、ライン71により接続し、状態通知部6と制御部1はライン72により接続している。
FIG. 1 is a block diagram of a first embodiment of a computing device according to the present invention. According to FIG. 1, the arithmetic device includes a
制御部1は、例えば、RISC(Reduced Insruction Set Computer)コアを有し、不揮発性メモリ2に格納されている制御部用プログラムを実行するプロセッサであり、アプリケーションプログラムのタスクの管理を行い、状態通知部6が保持する各処理部4の状態に基づき各タスクを実行させる処理部4を決定し、決定した処理部4に対して、バス8経由で、タスクを実行させるためのアプリケーションプログラムのロード制御を行う。また、共有メモリの管理及び、図示しない外部との入出力のためのハードウェア資源の管理も行う。
The
処理部4は、アプリケーションプログラムを実行するプロセッサである。ここで、アプリケーションプログラムとは、上述したように、画像データ処理、通信データ処理等の所望の目的を実行するためのプログラムであり、制御部1で実行され、処理部4でアプリケーションプログラムを実行させるための各種制御処理を実現するプログラムである制御部用プログラムと明確に区別される。処理部4に用いられるプロセッサの種別は、RISCコアや、複数のプロセッサエレメントを行列状に配置して、実行するプログラムに応じてプロセッサエレメントでの処理内容及びプロセッサエレメント間の接続構成を変更するアレイ型等、その種別は任意である。処理部4は、例えば、空き状態、処理状態、中断状態といった処理部4での、タスクの実行状態をライン71により状態通知部6に通知する。尚、各状態には詳細識別子が必要に応じて付与され、処理部4は、詳細識別子を状態と共に状態通知部6に通知する。詳細識別子については後述する。
The
不揮発性メモリ2は、制御部用プログラムを格納している不揮発性のメモリであり、処理部4はアクセスしない。不揮発性のメモリとしては、ROM、EEPROM、フラッシュメモリ等があり、フラッシュメモリ等の書換え可能なメモリを使用すれば、制御用プログラムの変更を簡易に行える。
The
メモリ3は、制御部1が制御部用プログラムを実行するときの、各種データ等を保存する領域として使用する読み書き可能なメモリであり、処理部4はアクセスしない。
The
共有メモリ5は、処理部4が実行するアプリケーションプログラムを格納すると共に、アプリケーションプログラムを実行するときの、各種データ等を保存する領域としても使用する読み書き可能なメモリであり、制御部1も使用可能である。
The shared
状態通知部6は、処理部4がライン71に出力する処理部4の状態を、詳細識別子と共に保持する。制御部1は、ライン72により状態通知部6にアクセス可能であり、状態通知部6にアクセスすることで処理部4の状態及び詳細識別子を認識する。また、状態通知部6が処理部4の状態変更時に制御部1に割り込みをかけて通知する構成とすることも可能である。また、状態通知部6もバス8に接続し、制御部1と状態通知部6の信号の送受信をバス8により行う構成とすることも、ライン72で処理部4に割り込み通知のみ行い、制御部1が割り込み発生時にバス8を通して状態通知部6に処理部4の状態確認を行う構成とすることも可能である。
The
図4は、処理部4が実行するアプリケーションプログラムとタスクの関係を示す図である。アプリケーションプログラムの処理の一部をタスクと呼び、アプリケーションプログラムは複数のタスクにより構成される。図4では、タスクAがまず実行され、タスクAの終了結果により、タスクB又はタスクCが選択的に実行される。タスクB又はCの終了後にタスクDが実行され、タスクDの終了後にタスクE、F及びGが実行される。タスクE、F及びGは同時に実行することも、1つずつ実行することも可能である。いずれの方法にしろ、タスクHは、タスクE、F、Gの総てが終了した後にその実行が開始される。
FIG. 4 is a diagram showing the relationship between application programs executed by the
上述したように、アプリケーションプログラムを構成するタスクは、1つのみが実行されている場合も、複数が同時に実行される場合もあり、また、各タスクの処理量もそれぞれ異なる。 As described above, only one task that constitutes the application program may be executed, or a plurality of tasks may be executed simultaneously, and the processing amount of each task is also different.
タスクをどのように設定するかは、コンパイラ又は制御手段による設計事項であるが、1つ以上の基本ブロックを1つのタスクとすることができる。基本ブロックは、制御フローグラフの単位であり、その最初に実行する命令及び最後に実行する命令はただ1つであり、最後に実行する命令を経由することなく他の基本ブロックに分岐したり、停止したりすることがなく、最初に実行する命令から最後に実行する命令まで1直線に実行することができ、コンパイラが通常その処理の中で認識するものである。 How to set the task is a design matter by the compiler or the control means, but one or more basic blocks can be set as one task. A basic block is a unit of the control flow graph, and there is only one instruction to be executed first and one instruction to be executed last, and it branches to another basic block without going through the instruction to be executed last, Without stopping, it can be executed in a straight line from the instruction to be executed first to the instruction to be executed last, and the compiler normally recognizes it in the process.
制御部1は、アプリケーションプログラムを構成するタスクを認識して、認識したタスクをタスクキュー追加する。制御部1におけるタスクのタスクキューへの追加方法としては、例えば、アプリケーションプログラムにタスクテーブルを設けておき、制御部1がアプリケーションプログラムに含まれるタスクテーブルを読み込み、アプリケーションプログラムを構成する全タスクを事前にタスクキューに追加する方法がある。この場合は、全タスクの認識が事前に可能であるため、後述するタスクのスケジューリングを効果的に行うことができる。また、アプリケーションプログラムのエントリタスク、即ち、最初に実行すべきタスクを読み込んで、エントリタスクの次に実行する可能性のあるタスクを認識してタスクキューに追加し、タスクの終了により次に実行するタスクが確定した段階で、確定したタスクの次に実行する可能性のあるタスクをタスクキューに追加すると共に、実行する必要がなくなったタスクをタスクキューから削除することを繰り返す方法もある。この場合には、アプリケーションプログラムは、各タスクの共有メモリでの位置を示す情報を含むといった様に、各タスクを認識できる構造を有している。
The
制御部1は、上記タスクキューへのタスクの追加と並行して、アプリケーションプログラムを複数ある処理部4で実行させるため、タスク管理並びに共有メモリ及び外部との入出力管理を行う。尚、タスク管理は、タスク割当及びタスク切替に分類される。これら各制御は、制御部用プログラムにより実現される。
In parallel with the addition of the task to the task queue, the
タスク割当は、タスクキュー内のタスクの処理量を把握して、タスクを実行する処理部4を決定し、決定した処理部4に対してタスクを実行させる制御処理を意味する。このとき、1つのタスクを1つの処理部4に割り当てること以外に、タスクの処理量が大きい場合には、1つのタスクを分割して複数の処理部4に割り当てることも可能である。例えば、タスクが複数の基本ブロックで構成されている場合であって、タスク内に基本ブロックを示す情報を含めておくことで制御部1は、タスクを容易に分割して複数の処理部4に実行させることができる。制御部1は、決定した処理部4に対して、割り当てたタスクを実行させるために、バス8により決定した処理部4に対して処理すべきタスクを通知する。
Task assignment means control processing for grasping the processing amount of a task in the task queue, determining the
続いて、図4のアプリケーションプログラムを例にして、制御部1でのタスク管理処理を説明する。制御部1は、まず、タスクAを任意の処理部4に割当て実行させる。制御部1は、処理部4に実行すべきタスクAを書き込むことにより実行させることも、処理部4に対してアプリケーションプログラムのタスクAに相当する部分が格納されている共有メモリ5のアドレスを通知し、処理部4に共有メモリ5から必要なアプリケーションプログラムを取得させることにより行うことも可能である。
Next, task management processing in the
タスクAを実行している処理部4は、タスクAの実行を終了した場合、その状態を処理状態から空き状態に変更すると共に、詳細識別子#1又は#2を、処理結果に応じて出力する。制御部1は、状態通知部6を通してタスクAを実行している処理部4での処理終了を認識し、また、詳細識別子の値により次に実行するタスクがタスクBであるかタスクCであるかを認識し、実行すべきタスクを、空き状態である処理部4に割り当てて実行させる。尚、タスクAの次のタスクであるタスクB又はCは、上述したいずれの方法でも既にタスクキューに追加されているため、タスクAを実行しているときに、空き状態である処理部4が存在するときは、予めタスクB及びCを空き状態である処理部4に割当て、また割り当てた処理部4に予めアプリケーションプログラムの該当部分をロードさせておくことも可能である。予めロードさせた場合には、制御部1は、タスクAの実行の終了に伴い、次に実行するタスクをロードしている処理部4に対して実行開始のトリガを与える。
When the
また、タスクDを実行している処理部4の状態が、処理状態から空き状態に変更となった場合であって、そのときに空き状態である処理部4が3つ以上ある場合は、3つの処理部4それぞれにタスクE、F、Gを割当て実行させる。2つ以下である場合には、一部のタスクのみ、例えば、タスクEのみを割り当てて実行させ、処理中である処理部4が空き状態に変化するたびに残りのタスクを実行させる。最後に、タスクE、F、G総ての実行が終了したときに、タスクHを実行させる。
Further, when the state of the
図5は、制御部1におけるタスク管理の処理フロー図である。制御部1は、タスクキューに存在するタスクについて必要なリソースを把握し(S51)、状態通知部6が保持する各処理部4の状態を読み取り(S52)、スケジューリングルールに従いタスクキューに存在するタスクのうち、処理部4への割当てが可能なタスクと割当先の処理部4、即ち、タスク実行のスケジュールを決定する(S53)。続いて、実行先の処理部4が決定されたタスクについて、その実行先の処理部4での実行が可能な状態となった場合には、その処理部1に割り当てたタスクを実行させる(S54)。
FIG. 5 is a process flow diagram of task management in the
制御部1の、処理部4に対するタスクの実行制御は、上述したように、制御部1が、処理部4に実行すべきアプリケーションプログラムのそのタスク部分を書き込むことにより行うことも、処理部4に対して、必要なアプリケーションプログラムが格納されている共有メモリ5のアドレスを通知し、処理部4が共有メモリ5から必要なアプリケーションプログラムを取得することにより行うことも可能である。また、制御部1は、タスクを分割して複数の処理部4に実行させることも可能である。
As described above, the
図6は、制御部1によるタスク切替の処理フロー図である。尚、簡単のため処理部4が出力する各種状態を保持する状態通知部6は図6から省略している。制御部1は、高優先タスクを実行する必要が生じた場合であって、空き状態の処理部4がない場合、優先度の低いタスクを実行している処理部4に中断要求を行う(S61)。中断要求を受けた処理部4は、実行中のタスクを後に再開するために必要な情報であるコンテクストを共有メモリ5に保存し、処理を中断してライン71により状態通知部6へ中断状態を出力する(S62)。
FIG. 6 is a process flow diagram of task switching by the
制御部1は、状態通知部6経由で処理の中断を確認後、中断要求を行った処理部4に、発生した高優先度のタスクの実行を指示する。実行指示された処理部4は、高優先度タスクの処理を開始し、実行終了したときにライン71により状態通知部6へ空き状態を出力する(S63)。制御部1は、状態通知部6経由で処理の終了を確認後、処理部4にタスク再開指示を行い、タスク再開指示を受けた処理部4は、共有メモリ5からコンテクストを読出し、中断したタスクを再開する(S64)。
After confirming the interruption of processing via the
尚、制御部1が行う中断要求に、コンテクストの保存位置を指定する情報を含め、或いは、低優先タスクの処理を中断した処理部4が保存したコンテクストの位置を状態通知部6経由で制御部1に通知し、制御部1が再開指示において保存されているコンテクストの位置を処理部4に通知することで、タスクを中断した処理部4と、中断したタスクを再開する処理部4とを異なるものにすることができる。
The interruption request made by the
制御部1が各タスクの優先度をどのように判断するかには種々の方法があるが、アプリケーションプログラムを読み込んで先に見つかったタスクを、より高い優先度とする方法がある。例えば、図4に示すアプリケーションプログラムにおいて、タスクE、F、Gの順に読み込んだ場合には、タスクE、F、Gの順で優先度の割当を行なう。この場合は、コンパイラがアプリケーションプログラムをコンパイルする際に、演算データ数やループ回数等を認識してコンパイルの段階で優先度の順序付けを行なうことが可能となる。
There are various methods for determining the priority of each task by the
また、タスクの処理量が大きい程、優先度を高くする方法もある。例えば、図4に示すアプリケーションプログラムにおいて、タスクFがタスクE、Gの2倍の処理量であり、処理部4が2つある場合に、まず、タスクFとタスクEを処理部4に割当て実行させ、次にタスクFとタスクGを処理部4に割当て実行させるのではなく、まずタスクFを分割して2つの処理部4に実行させて、その後タスクE及びGを実行させる。
There is also a method of increasing the priority as the processing amount of the task increases. For example, in the application program shown in FIG. 4, when task F has twice the processing amount of tasks E and G and there are two processing
また、本発明による演算装置では、複数の処理部4を使用することで、複数のアプリケーションプログラムを同時に実行することができるが、アプリケーションプログラム単位で優先度を判断することも当然可能である。
Further, in the arithmetic device according to the present invention, a plurality of application programs can be executed simultaneously by using a plurality of
図7は、制御部1における共有メモリ管理の処理フロー図である。尚、入出力管理についてもメモリを入出力のためのハードウェア資源と読み替えるだけで同じものである。メモリ及び入出力管理は、共有メモリ5や、図示しない外部装置との入出力のための、図示しないハードウェア資源へのアクセスを管理して、個々の処理部4が独立して共有メモリ5等にアクセスすることによる弊害、例えば、ある処理部4が他の処理部4が書き込んだデータと同じ位置に他のデータを書き込むことによるデータの消失を防ぐために必要となる。
FIG. 7 is a process flow diagram of shared memory management in the
制御部1は、共有メモリ5の各処理部4への割当領域を管理しており、処理部4から、状態通知部6経由でメモリ要求があった場合には、共有メモリ5の割当状況を確認(S71)し、未割当の領域から要求された領域を、メモリ要求を行った処理部4に割り当てる(S72)。共有メモリ5の領域の割当及び/又は入出力のためのハードウェア資源の割当を受けた処理部4は、その領域又はハードウェア資源のみにアクセスし、その他の領域やハードウェア資源にはアクセスしない。処理部4は、割り当てられたメモリ領域等の使用を終了した場合にはメモリ開放要求を、状態通知部6経由で制御部1に通知する。
The
図2は、本発明による演算装置の第2実施形態のブロック図である。以後の説明においては、第1実施形態で説明したのと同じ構成要素には同じ符号を付与して説明は省略する。図2によると、処理部4及び共有メモリ5はバス81に、制御部1、不揮発性メモリ2及びメモリ3はバス82に接続し、バス81とバス82はバス接続部9により接続されている。
FIG. 2 is a block diagram of a second embodiment of the arithmetic device according to the present invention. In the following description, the same components as those described in the first embodiment are given the same reference numerals, and description thereof is omitted. According to FIG. 2, the
バス接続部9は、処理部4がメモリ3及び不揮発性メモリ2にアクセスすることを制限する機能を有し、処理部4が制御用プログラムを破壊したり、制御部1がメモリ3に保存している制御用データに上書きしたりすることを防ぐ。また、バス81とバス82の変換機能を設けることで、それぞれ異なるバスプロトコルの使用が可能になる。
The
図3は、本発明による演算装置の第3実施形態のブロック図である。図3によると、処理部4はバス81に、制御部1、不揮発性メモリ2及びメモリ3はバス82に接続し、共有メモリ5はバス81及びバス82に接続している。また、制御部1は、ライン73により各処理部4と接続している。
FIG. 3 is a block diagram of a third embodiment of the arithmetic device according to the present invention. According to FIG. 3, the
本実施形態において、制御部1は、処理部4に対する各種制御を、ライン73を用いて処理部4に通知する。また、共有メモリ5を、例えば2ポートメモリとし、バス81及びバス82の両方からアクセス可能とすることで、処理部4が接続するバスを、不揮発性メモリ2及びメモリ3等が接続するバスから完全に分離し、不揮発性メモリ2及びメモリ3に対する、処理部4からのアクセスを完全に防止する。
In the present embodiment, the
1 制御部
2 不揮発性メモリ
3 メモリ
4 処理部
5 共有メモリ
6 状態通知部
71、72、73 ライン
8、81、82 バス
9 バス接続部
DESCRIPTION OF
Claims (5)
制御手段に割り当てられたタスクを実行し、タスクの実行に関する状態を出力する、複数の処理手段と、
処理手段が出力する状態を保持する状態通知手段と、
を有することを特徴とする演算装置。 By reading and executing the program for the control means, the control means for allocating the tasks constituting the application program to each processing means based on the status of each processing means held by the status notification means,
A plurality of processing means for executing a task assigned to the control means and outputting a status related to the execution of the task;
State notification means for holding the state output by the processing means;
An arithmetic device comprising:
制御手段及び処理手段が使用する第2の記憶手段と、
を有することを特徴とする請求項1に記載の演算装置。 First storage means used only by the control means;
Second storage means used by the control means and the processing means;
The arithmetic unit according to claim 1, wherein:
処理手段は、制御手段から割り当てられた第2の記憶手段の領域及び/又は入出力のためのハードウェア資源のみにアクセスすること、
を特徴とする請求項2に記載の演算装置。 The control means allocates the area of the second storage means and / or hardware resources for input / output based on the request from the processing means to the requested processing means,
The processing means accesses only the area of the second storage means allocated from the control means and / or hardware resources for input / output;
The arithmetic unit according to claim 2, wherein:
複数の処理手段と、第2の記憶手段とは第2のバスに接続し、
第1のバスと第2のバスを接続し、処理手段から第1の記憶手段へのアクセスを防ぐバス変換手段を有すること、
を特徴とする請求項1から3のいずれか1項に記載の演算装置。 The control means and the first storage means are connected to the first bus,
The plurality of processing means and the second storage means are connected to the second bus,
Having bus conversion means for connecting the first bus and the second bus and preventing access from the processing means to the first storage means;
The arithmetic unit according to any one of claims 1 to 3, wherein:
複数の処理手段は第2のバスに接続し、
第2の記憶手段は、第1のバスと第2のバスに接続していること、
を特徴とする請求項1から3のいずれか1項に記載の演算装置。 The control means and the first storage means are connected to the first bus,
The plurality of processing means are connected to the second bus,
The second storage means is connected to the first bus and the second bus;
The arithmetic unit according to any one of claims 1 to 3, wherein:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005312661A JP4017005B2 (en) | 2005-10-27 | 2005-10-27 | Arithmetic unit |
PCT/JP2006/321033 WO2007049543A1 (en) | 2005-10-27 | 2006-10-23 | Calculating apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005312661A JP4017005B2 (en) | 2005-10-27 | 2005-10-27 | Arithmetic unit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007122337A true JP2007122337A (en) | 2007-05-17 |
JP4017005B2 JP4017005B2 (en) | 2007-12-05 |
Family
ID=37967655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005312661A Expired - Fee Related JP4017005B2 (en) | 2005-10-27 | 2005-10-27 | Arithmetic unit |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4017005B2 (en) |
WO (1) | WO2007049543A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015015756A1 (en) * | 2013-08-02 | 2015-02-05 | 日本電気株式会社 | Power saving control system for server equipped with non-volatile memory, control device, control method, and control program |
JP2020047140A (en) * | 2018-09-21 | 2020-03-26 | 日本電気株式会社 | Job execution system and job execution method |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5520369B2 (en) * | 2010-05-14 | 2014-06-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Computer system, method and program |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0423159A (en) * | 1990-05-18 | 1992-01-27 | Mitsubishi Electric Corp | Shared memory device |
JPH0512173A (en) * | 1991-07-08 | 1993-01-22 | Canon Inc | Information processor |
US5367695A (en) * | 1991-09-27 | 1994-11-22 | Sun Microsystems, Inc. | Bus-to-bus interface for preventing data incoherence in a multiple processor computer system |
JPH07319840A (en) * | 1994-05-27 | 1995-12-08 | Fuji Xerox Co Ltd | Multi-cpu device |
JP3925105B2 (en) * | 2001-05-16 | 2007-06-06 | 日本電気株式会社 | Multiprocessor system |
JP2004171234A (en) * | 2002-11-19 | 2004-06-17 | Toshiba Corp | Task allocation method in multiprocessor system, task allocation program and multiprocessor system |
JP2004341725A (en) * | 2003-05-14 | 2004-12-02 | Hitachi Ltd | Control method for computer, computer, storage controller, program and recording medium |
-
2005
- 2005-10-27 JP JP2005312661A patent/JP4017005B2/en not_active Expired - Fee Related
-
2006
- 2006-10-23 WO PCT/JP2006/321033 patent/WO2007049543A1/en active Application Filing
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015015756A1 (en) * | 2013-08-02 | 2015-02-05 | 日本電気株式会社 | Power saving control system for server equipped with non-volatile memory, control device, control method, and control program |
JP2020047140A (en) * | 2018-09-21 | 2020-03-26 | 日本電気株式会社 | Job execution system and job execution method |
JP7124592B2 (en) | 2018-09-21 | 2022-08-24 | 日本電気株式会社 | Job execution system and job execution method |
Also Published As
Publication number | Publication date |
---|---|
WO2007049543A1 (en) | 2007-05-03 |
JP4017005B2 (en) | 2007-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4947441B2 (en) | Multiprocessor system, system configuration method in multiprocessor system, and program thereof | |
EP3425502A1 (en) | Task scheduling method and device | |
JP6296678B2 (en) | Method and apparatus for ensuring real-time performance of soft real-time operating system | |
EP1876531A1 (en) | Multi-processor system abd program for causing computer to execute multi-processor system control method | |
JP2012104140A (en) | Sharing processor execution resources in waiting state | |
US20080140896A1 (en) | Processor and interrupt controlling method | |
KR100791296B1 (en) | Apparatus and method for providing cooperative scheduling on multi-core system | |
JP2005056067A (en) | Dma transfer controller | |
CN103329102A (en) | Multiprocessor system | |
JP4017005B2 (en) | Arithmetic unit | |
JP2009175960A (en) | Virtual multiprocessor system | |
JP3893136B2 (en) | Embedded computer control program, recording medium recording the program, and embedded system | |
KR20170060843A (en) | Vliw interface apparatus and controlling method thereof | |
JP2007141155A (en) | Multi-core control method in multi-core processor | |
US9619277B2 (en) | Computer with plurality of processors sharing process queue, and process dispatch processing method | |
JP5540799B2 (en) | Data input / output control method, data input / output control program, and data input / output control device | |
WO2019188177A1 (en) | Information processing device | |
WO2019188175A1 (en) | Deadlock avoidance method and deadlock avoidance device | |
JP6364827B2 (en) | Information processing apparatus, resource access method thereof, and resource access program | |
JP6358330B2 (en) | Information processing apparatus, information processing system, memory management method, and memory management program | |
JP2010026575A (en) | Scheduling method, scheduling device, and multiprocessor system | |
WO2019188180A1 (en) | Scheduling method and scheduling device | |
JP6255721B2 (en) | Process allocation apparatus, process allocation method, and process allocation program | |
JP2009193260A (en) | Storage system, storage device, priority control device, and priority control method | |
JP2008176646A (en) | Multiprocessor system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070529 |
|
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: 20070828 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070910 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100928 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |