JP2007122337A - Arithmetic unit - Google Patents

Arithmetic unit Download PDF

Info

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
Application number
JP2005312661A
Other languages
Japanese (ja)
Other versions
JP4017005B2 (en
Inventor
Yasutoku Sakakibara
泰徳 榊原
Shinichi Iwamoto
信一 岩本
Takayuki Sugawara
崇之 菅原
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.)
Sonac KK
Original Assignee
Sonac KK
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 Sonac KK filed Critical Sonac KK
Priority to JP2005312661A priority Critical patent/JP4017005B2/en
Priority to PCT/JP2006/321033 priority patent/WO2007049543A1/en
Publication of JP2007122337A publication Critical patent/JP2007122337A/en
Application granted granted Critical
Publication of JP4017005B2 publication Critical patent/JP4017005B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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

<P>PROBLEM TO BE SOLVED: To provide an arithmetic unit in which processing parts for executing an application program need not execute other processing than the application program, such as task management, and which can flexibly accommodate post-design changes in various processing contents. <P>SOLUTION: The arithmetic unit comprises a control means for reading in and executing a control means program to assign tasks forming an application program to each processing means according to the state of each processing means held in a state notification means, a plurality of processing means for executing the tasks assigned by the control means and outputting the states of task execution, and the state notification means for holding the states output by the processing means. <P>COPYRIGHT: (C)2007,JPO&INPIT

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 Document 1 describes a multiprocessor system equipped with a plurality of processors. FIG. 8 is a configuration diagram of the multiprocessor system described in Non-Patent Document 1, in which a plurality of processors and memories are connected via a bus. According to Non-Patent Document 1, a plurality of processors share a memory with one operating system, and the operating system performs a task (hereinafter referred to as an application program) according to a processing purpose as a thread (in Non-Patent Document 1, a thread). Or, it is divided into processes) and assigned to each processor.

即ち、各プロセッサは、オペレーティングシステムと、アプリケーションプログラムの各タスクの両方を実行することとなり、プロセッサの実行時間の総てをアプリケーションプログラムの実行に割り当てることはできず、また、メモリを共有するために、アプリケーションプログラムの実行によりオペレーティングシステムの動作に影響を与える可能性もある。   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, Patent Document 1 describes a configuration that reduces overhead such as task management and scheduling in each processor. FIG. 9 is a configuration diagram of a multiprocessor system described in Patent Document 1. In addition to the configuration of FIG. 8, a state management unit is connected to a plurality of processors. According to Patent Document 1, the state management unit manages the availability of each processor and notifies each processor, and a processor in which a new task has occurred causes the other idle processor to execute the task, A new task is started immediately. According to Patent Document 1, the state management unit is realized by a combinational circuit.

特開2004−86921号公報JP 2004-86921 A “Interface増刊 マイクロプロセッサ・アーキテクチャ入門”、CQ出版社、2004年8月号、p.231‐p.233“Introduction to Interface Microprocessor Architecture”, CQ Publishing Company, August 2004, p. 231-p. 233

上述したように、複数のプロセッサへのタスクの割当て処理等をオペレーティングシステムに行わせる構成では、アプリケーションプログラムの実行時間が減少し、また、アプリケーションプログラムの動作がオペレーティングシステムの動作に影響を与え得るという問題がある。例えば、オペレーティングシステムが破壊された場合にはシステムが完全に停止してしまうことになる。   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 Patent Document 1, the state management unit is a hardware block, and not all of the management functions of a plurality of processors can be realized, and a portion that cannot be realized by the hardware block needs to be executed by the processor. There is a decrease in the execution time of the application program. For example, in Patent Document 1, it is the processor itself that has generated a new task that causes a free processor to execute a new task. In addition, it is difficult to cope with a change in the processing content of the state management unit after the hardware block design.

従って、本発明は、上述した問題を解決し、アプリケーションプログラムの実行を行う処理部においては、タスク管理といった、アプリケーションプログラム以外の処理を実行する必要がなく、また、設計後の各種処理内容の変更にも柔軟に対応可能な演算装置を提供することを目的とする。   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 control unit 1, a nonvolatile memory 2, a memory 3, a plurality of processing units 4, a shared memory 5, and a state notification unit 6. The control unit 1, the nonvolatile memory 2, the memory 3, each processing unit 4, and the shared memory 5 are connected to each other by a bus 8. Each processing unit 4 and the state notification unit 6 are connected by a line 71, and the state notification unit 6 and the control unit 1 are connected by a line 72.

制御部1は、例えば、RISC(Reduced Insruction Set Computer)コアを有し、不揮発性メモリ2に格納されている制御部用プログラムを実行するプロセッサであり、アプリケーションプログラムのタスクの管理を行い、状態通知部6が保持する各処理部4の状態に基づき各タスクを実行させる処理部4を決定し、決定した処理部4に対して、バス8経由で、タスクを実行させるためのアプリケーションプログラムのロード制御を行う。また、共有メモリの管理及び、図示しない外部との入出力のためのハードウェア資源の管理も行う。   The control unit 1 is, for example, a processor that has a Reduced Instruction Set Computer (RISC) core and executes a program for the control unit stored in the nonvolatile memory 2, manages the tasks of the application program, and notifies the status Based on the state of each processing unit 4 held by the unit 6, the processing unit 4 that executes each task is determined, and load control of an application program for causing the determined processing unit 4 to execute the task via the bus 8 I do. It also manages shared memory and hardware resources for external input / output (not shown).

処理部4は、アプリケーションプログラムを実行するプロセッサである。ここで、アプリケーションプログラムとは、上述したように、画像データ処理、通信データ処理等の所望の目的を実行するためのプログラムであり、制御部1で実行され、処理部4でアプリケーションプログラムを実行させるための各種制御処理を実現するプログラムである制御部用プログラムと明確に区別される。処理部4に用いられるプロセッサの種別は、RISCコアや、複数のプロセッサエレメントを行列状に配置して、実行するプログラムに応じてプロセッサエレメントでの処理内容及びプロセッサエレメント間の接続構成を変更するアレイ型等、その種別は任意である。処理部4は、例えば、空き状態、処理状態、中断状態といった処理部4での、タスクの実行状態をライン71により状態通知部6に通知する。尚、各状態には詳細識別子が必要に応じて付与され、処理部4は、詳細識別子を状態と共に状態通知部6に通知する。詳細識別子については後述する。   The processing unit 4 is a processor that executes an application program. Here, as described above, the application program is a program for executing a desired purpose such as image data processing and communication data processing, and is executed by the control unit 1 and causes the processing unit 4 to execute the application program. Therefore, it is clearly distinguished from a control unit program which is a program for realizing various control processes for the purpose. The type of processor used in the processing unit 4 is an array in which a RISC core or a plurality of processor elements are arranged in a matrix and the processing contents in the processor elements and the connection configuration between the processor elements are changed according to the program to be executed. The type, such as the type, is arbitrary. For example, the processing unit 4 notifies the state notification unit 6 of the task execution state in the processing unit 4 such as a vacant state, a processing state, and a suspended state via a line 71. Note that a detailed identifier is assigned to each state as necessary, and the processing unit 4 notifies the state notification unit 6 of the detailed identifier together with the state. The detailed identifier will be described later.

不揮発性メモリ2は、制御部用プログラムを格納している不揮発性のメモリであり、処理部4はアクセスしない。不揮発性のメモリとしては、ROM、EEPROM、フラッシュメモリ等があり、フラッシュメモリ等の書換え可能なメモリを使用すれば、制御用プログラムの変更を簡易に行える。   The non-volatile memory 2 is a non-volatile memory storing a control unit program, and the processing unit 4 does not access it. Non-volatile memories include ROM, EEPROM, flash memory, and the like. If a rewritable memory such as flash memory is used, the control program can be easily changed.

メモリ3は、制御部1が制御部用プログラムを実行するときの、各種データ等を保存する領域として使用する読み書き可能なメモリであり、処理部4はアクセスしない。   The memory 3 is a readable / writable memory used as an area for storing various data when the control unit 1 executes the control unit program, and the processing unit 4 does not access it.

共有メモリ5は、処理部4が実行するアプリケーションプログラムを格納すると共に、アプリケーションプログラムを実行するときの、各種データ等を保存する領域としても使用する読み書き可能なメモリであり、制御部1も使用可能である。   The shared memory 5 is a readable / writable memory that stores an application program executed by the processing unit 4 and is also used as an area for storing various data when the application program is executed. The control unit 1 can also be used. It is.

状態通知部6は、処理部4がライン71に出力する処理部4の状態を、詳細識別子と共に保持する。制御部1は、ライン72により状態通知部6にアクセス可能であり、状態通知部6にアクセスすることで処理部4の状態及び詳細識別子を認識する。また、状態通知部6が処理部4の状態変更時に制御部1に割り込みをかけて通知する構成とすることも可能である。また、状態通知部6もバス8に接続し、制御部1と状態通知部6の信号の送受信をバス8により行う構成とすることも、ライン72で処理部4に割り込み通知のみ行い、制御部1が割り込み発生時にバス8を通して状態通知部6に処理部4の状態確認を行う構成とすることも可能である。   The state notification unit 6 holds the state of the processing unit 4 output to the line 71 by the processing unit 4 together with the detailed identifier. The control unit 1 can access the state notification unit 6 through the line 72, and recognizes the state and detailed identifier of the processing unit 4 by accessing the state notification unit 6. It is also possible to adopt a configuration in which the state notification unit 6 interrupts and notifies the control unit 1 when the state of the processing unit 4 changes. In addition, the status notification unit 6 is also connected to the bus 8, and the signal transmission / reception between the control unit 1 and the status notification unit 6 is performed by the bus 8, or only the interrupt notification to the processing unit 4 is performed on the line 72. 1 may be configured to check the status of the processing unit 4 to the status notification unit 6 through the bus 8 when an interrupt occurs.

図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 processing unit 4 and tasks. A part of the processing of the application program is called a task, and the application program is composed of a plurality of tasks. In FIG. 4, task A is executed first, and task B or task C is selectively executed according to the end result of task A. Task D is executed after completion of task B or C, and tasks E, F, and G are executed after completion of task D. Tasks E, F and G can be executed simultaneously or one by one. In any method, execution of the task H is started after all of the tasks E, F, and G are completed.

上述したように、アプリケーションプログラムを構成するタスクは、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 control unit 1 recognizes the tasks constituting the application program and adds the recognized tasks to the task queue. As a method for adding a task to the task queue in the control unit 1, for example, a task table is provided in the application program, and the control unit 1 reads the task table included in the application program to pre-process all tasks constituting the application program. There is a way to add to the task queue. In this case, since all tasks can be recognized in advance, task scheduling described later can be performed effectively. Also, an entry task of an application program, that is, a task to be executed first is read, a task that may be executed next to the entry task is recognized, added to the task queue, and executed next when the task ends. There is also a method of repeatedly adding a task that may be executed next to the confirmed task to the task queue and deleting a task that is no longer necessary from the task queue when the task is confirmed. In this case, the application program has a structure capable of recognizing each task such as including information indicating the position of each task in the shared memory.

制御部1は、上記タスクキューへのタスクの追加と並行して、アプリケーションプログラムを複数ある処理部4で実行させるため、タスク管理並びに共有メモリ及び外部との入出力管理を行う。尚、タスク管理は、タスク割当及びタスク切替に分類される。これら各制御は、制御部用プログラムにより実現される。   In parallel with the addition of the task to the task queue, the control unit 1 performs task management and input / output management with the shared memory and the outside in order to cause the plurality of processing units 4 to execute the application program. Task management is classified into task assignment and task switching. Each of these controls is realized by a control unit program.

タスク割当は、タスクキュー内のタスクの処理量を把握して、タスクを実行する処理部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 processing unit 4 to execute the task, and causing the determined processing unit 4 to execute the task. At this time, in addition to assigning one task to one processing unit 4, if the task processing amount is large, it is also possible to divide one task and assign it to a plurality of processing units 4. For example, when a task is composed of a plurality of basic blocks, the control unit 1 can easily divide the task into a plurality of processing units 4 by including information indicating the basic block in the task. Can be executed. The control unit 1 notifies the task to be processed to the processing unit 4 determined by the bus 8 in order to cause the determined processing unit 4 to execute the assigned task.

続いて、図4のアプリケーションプログラムを例にして、制御部1でのタスク管理処理を説明する。制御部1は、まず、タスクAを任意の処理部4に割当て実行させる。制御部1は、処理部4に実行すべきタスクAを書き込むことにより実行させることも、処理部4に対してアプリケーションプログラムのタスクAに相当する部分が格納されている共有メモリ5のアドレスを通知し、処理部4に共有メモリ5から必要なアプリケーションプログラムを取得させることにより行うことも可能である。   Next, task management processing in the control unit 1 will be described using the application program of FIG. 4 as an example. The control unit 1 first assigns and executes task A to an arbitrary processing unit 4. The control unit 1 can be executed by writing the task A to be executed in the processing unit 4, or can notify the processing unit 4 of the address of the shared memory 5 in which the portion corresponding to the task A of the application program is stored. However, it is also possible to make the processing unit 4 obtain a necessary application program from the shared memory 5.

タスク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 processing unit 4 executing the task A ends the execution of the task A, the processing unit 4 changes the state from the processing state to the empty state and outputs the detailed identifier # 1 or # 2 according to the processing result. . The control unit 1 recognizes the end of processing in the processing unit 4 executing the task A through the state notification unit 6 and the next task to be executed is the task B or the task C depending on the value of the detailed identifier. And the task to be executed is assigned to the processing unit 4 that is in an empty state and executed. Note that the task B or C, which is the next task after the task A, has already been added to the task queue by any of the above-described methods. When it exists, it is also possible to assign tasks B and C to the processing unit 4 in an empty state in advance, and to load the corresponding part of the application program into the assigned processing unit 4 in advance. When it is loaded in advance, the control unit 1 gives an execution start trigger to the processing unit 4 loading the task to be executed next with the end of the execution of the task A.

また、タスクDを実行している処理部4の状態が、処理状態から空き状態に変更となった場合であって、そのときに空き状態である処理部4が3つ以上ある場合は、3つの処理部4それぞれにタスクE、F、Gを割当て実行させる。2つ以下である場合には、一部のタスクのみ、例えば、タスクEのみを割り当てて実行させ、処理中である処理部4が空き状態に変化するたびに残りのタスクを実行させる。最後に、タスクE、F、G総ての実行が終了したときに、タスクHを実行させる。   Further, when the state of the processing unit 4 executing the task D is changed from the processing state to the free state, and there are three or more processing units 4 in the free state at that time, 3 Tasks E, F, and G are assigned to the respective processing units 4 and executed. If there are two or less, only a part of the tasks, for example, only the task E is assigned and executed, and the remaining tasks are executed each time the processing unit 4 being processed changes to an empty state. Finally, when all the tasks E, F, and G have been executed, the task H is executed.

図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 control unit 1. The control unit 1 grasps necessary resources for tasks existing in the task queue (S51), reads the state of each processing unit 4 held by the state notification unit 6 (S52), and exists in the task queue according to the scheduling rule. Among these, the task that can be assigned to the processing unit 4 and the processing unit 4 that is the assignment destination, that is, the task execution schedule are determined (S53). Subsequently, when the execution-destination processing unit 4 is determined to be ready for execution by the execution-destination processing unit 4, the task assigned to the processing unit 1 is executed (S54). ).

制御部1の、処理部4に対するタスクの実行制御は、上述したように、制御部1が、処理部4に実行すべきアプリケーションプログラムのそのタスク部分を書き込むことにより行うことも、処理部4に対して、必要なアプリケーションプログラムが格納されている共有メモリ5のアドレスを通知し、処理部4が共有メモリ5から必要なアプリケーションプログラムを取得することにより行うことも可能である。また、制御部1は、タスクを分割して複数の処理部4に実行させることも可能である。   As described above, the control unit 1 performs task execution control on the processing unit 4 by writing the task portion of the application program to be executed to the processing unit 4. On the other hand, it is also possible to notify the address of the shared memory 5 where the necessary application program is stored, and the processing unit 4 obtains the necessary application program from the shared memory 5. The control unit 1 can also divide a task and cause a plurality of processing units 4 to execute the task.

図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 control unit 1. For simplicity, the state notification unit 6 that holds various states output by the processing unit 4 is omitted from FIG. When it is necessary to execute a high priority task and there is no idle processing unit 4, the control unit 1 issues an interruption request to the processing unit 4 executing the low priority task (S61). ). Upon receiving the interruption request, the processing unit 4 saves the context, which is information necessary for resuming the task currently being executed, in the shared memory 5, interrupts the processing, and sets the interruption state to the state notification unit 6 via the line 71. Output (S62).

制御部1は、状態通知部6経由で処理の中断を確認後、中断要求を行った処理部4に、発生した高優先度のタスクの実行を指示する。実行指示された処理部4は、高優先度タスクの処理を開始し、実行終了したときにライン71により状態通知部6へ空き状態を出力する(S63)。制御部1は、状態通知部6経由で処理の終了を確認後、処理部4にタスク再開指示を行い、タスク再開指示を受けた処理部4は、共有メモリ5からコンテクストを読出し、中断したタスクを再開する(S64)。   After confirming the interruption of processing via the status notification unit 6, the control unit 1 instructs the processing unit 4 that has issued the interruption request to execute the generated high priority task. The processing unit 4 that has been instructed to execute starts the processing of the high priority task, and outputs a free state to the state notification unit 6 through the line 71 when the execution is completed (S63). The control unit 1 confirms the end of processing via the status notification unit 6 and then instructs the processing unit 4 to resume the task. The processing unit 4 that has received the task resumption instruction reads the context from the shared memory 5 and interrupts the task. Is resumed (S64).

尚、制御部1が行う中断要求に、コンテクストの保存位置を指定する情報を含め、或いは、低優先タスクの処理を中断した処理部4が保存したコンテクストの位置を状態通知部6経由で制御部1に通知し、制御部1が再開指示において保存されているコンテクストの位置を処理部4に通知することで、タスクを中断した処理部4と、中断したタスクを再開する処理部4とを異なるものにすることができる。   The interruption request made by the control unit 1 includes information specifying the storage position of the context, or the position of the context stored by the processing unit 4 that interrupted the processing of the low priority task is transmitted via the state notification unit 6 to the control unit. 1, and the control unit 1 notifies the processing unit 4 of the position of the context stored in the restart instruction, so that the processing unit 4 that interrupts the task is different from the processing unit 4 that restarts the interrupted task. Can be a thing.

制御部1が各タスクの優先度をどのように判断するかには種々の方法があるが、アプリケーションプログラムを読み込んで先に見つかったタスクを、より高い優先度とする方法がある。例えば、図4に示すアプリケーションプログラムにおいて、タスクE、F、Gの順に読み込んだ場合には、タスクE、F、Gの順で優先度の割当を行なう。この場合は、コンパイラがアプリケーションプログラムをコンパイルする際に、演算データ数やループ回数等を認識してコンパイルの段階で優先度の順序付けを行なうことが可能となる。   There are various methods for determining the priority of each task by the control unit 1, but there is a method of setting a higher priority to a task found earlier by reading an application program. For example, in the application program shown in FIG. 4, when tasks E, F, and G are read in the order, priority is assigned in the order of tasks E, F, and G. In this case, when the compiler compiles the application program, it is possible to recognize the number of operation data, the number of loops, and the like, and to prioritize at the compilation stage.

また、タスクの処理量が大きい程、優先度を高くする方法もある。例えば、図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 units 4, first, task F and task E are assigned to processing unit 4 and executed. Then, instead of assigning and executing the task F and the task G to the processing unit 4, the task F is first divided and executed by the two processing units 4, and then the tasks E and G are executed.

また、本発明による演算装置では、複数の処理部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 processing units 4, but it is naturally possible to determine the priority for each application program.

図7は、制御部1における共有メモリ管理の処理フロー図である。尚、入出力管理についてもメモリを入出力のためのハードウェア資源と読み替えるだけで同じものである。メモリ及び入出力管理は、共有メモリ5や、図示しない外部装置との入出力のための、図示しないハードウェア資源へのアクセスを管理して、個々の処理部4が独立して共有メモリ5等にアクセスすることによる弊害、例えば、ある処理部4が他の処理部4が書き込んだデータと同じ位置に他のデータを書き込むことによるデータの消失を防ぐために必要となる。   FIG. 7 is a process flow diagram of shared memory management in the control unit 1. The input / output management is the same by simply replacing the memory with hardware resources for input / output. Memory and input / output management manages access to hardware resources (not shown) for input / output to / from the shared memory 5 and an external device (not shown), and the individual processing units 4 are independent of the shared memory 5 and the like. This is necessary to prevent the loss of data due to the adverse effects of accessing the data, for example, when one processing unit 4 writes other data at the same position as the data written by another processing unit 4.

制御部1は、共有メモリ5の各処理部4への割当領域を管理しており、処理部4から、状態通知部6経由でメモリ要求があった場合には、共有メモリ5の割当状況を確認(S71)し、未割当の領域から要求された領域を、メモリ要求を行った処理部4に割り当てる(S72)。共有メモリ5の領域の割当及び/又は入出力のためのハードウェア資源の割当を受けた処理部4は、その領域又はハードウェア資源のみにアクセスし、その他の領域やハードウェア資源にはアクセスしない。処理部4は、割り当てられたメモリ領域等の使用を終了した場合にはメモリ開放要求を、状態通知部6経由で制御部1に通知する。   The control unit 1 manages the allocation area of the shared memory 5 to each processing unit 4. When a memory request is received from the processing unit 4 via the status notification unit 6, the allocation status of the shared memory 5 is displayed. After confirming (S71), the area requested from the unallocated area is allocated to the processing unit 4 that has requested the memory (S72). The processing unit 4 having received the allocation of the area of the shared memory 5 and / or the allocation of the hardware resource for input / output accesses only the area or the hardware resource and does not access the other area or the hardware resource. . When the use of the allocated memory area or the like is finished, the processing unit 4 notifies the control unit 1 of a memory release request via the state notification unit 6.

図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 processing unit 4 and the shared memory 5 are connected to the bus 81, the control unit 1, the nonvolatile memory 2 and the memory 3 are connected to the bus 82, and the bus 81 and the bus 82 are connected by the bus connection unit 9. .

バス接続部9は、処理部4がメモリ3及び不揮発性メモリ2にアクセスすることを制限する機能を有し、処理部4が制御用プログラムを破壊したり、制御部1がメモリ3に保存している制御用データに上書きしたりすることを防ぐ。また、バス81とバス82の変換機能を設けることで、それぞれ異なるバスプロトコルの使用が可能になる。   The bus connection unit 9 has a function of restricting the processing unit 4 from accessing the memory 3 and the nonvolatile memory 2, and the processing unit 4 destroys the control program or the control unit 1 stores the memory in the memory 3. Prevent overwriting of existing control data. Further, by providing a conversion function between the bus 81 and the bus 82, different bus protocols can be used.

図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 processing unit 4 is connected to the bus 81, the control unit 1, the nonvolatile memory 2 and the memory 3 are connected to the bus 82, and the shared memory 5 is connected to the bus 81 and the bus 82. The control unit 1 is connected to each processing unit 4 by a line 73.

本実施形態において、制御部1は、処理部4に対する各種制御を、ライン73を用いて処理部4に通知する。また、共有メモリ5を、例えば2ポートメモリとし、バス81及びバス82の両方からアクセス可能とすることで、処理部4が接続するバスを、不揮発性メモリ2及びメモリ3等が接続するバスから完全に分離し、不揮発性メモリ2及びメモリ3に対する、処理部4からのアクセスを完全に防止する。   In the present embodiment, the control unit 1 notifies the processing unit 4 of various controls for the processing unit 4 using a line 73. Further, the shared memory 5 is, for example, a two-port memory, and can be accessed from both the bus 81 and the bus 82, so that the bus connected to the processing unit 4 can be connected to the bus connected to the nonvolatile memory 2 and the memory 3. It is completely separated, and access from the processing unit 4 to the nonvolatile memory 2 and the memory 3 is completely prevented.

本発明による演算装置の第1実施形態のブロック図である。It is a block diagram of 1st Embodiment of the arithmetic unit by this invention. 本発明による演算装置の第2実施形態のブロック図である。It is a block diagram of 2nd Embodiment of the arithmetic unit by this invention. 本発明による演算装置の第3実施形態のブロック図である。It is a block diagram of 3rd Embodiment of the arithmetic unit by this invention. 処理部が実行するアプリケーションプログラムとタスクの関係を示す図である。It is a figure which shows the relationship between the application program and task which a process part performs. 制御部におけるタスク管理の処理フロー図である。It is a processing flow figure of the task management in a control part. 制御部によるタスク切替の処理フロー図である。It is a processing flow figure of the task switching by a control part. 制御部におけるメモリ管理の処理フロー図である。It is a processing flow figure of memory management in a control part. 従来技術によるマルチプロセッサシステムの構成図である。1 is a configuration diagram of a multiprocessor system according to a conventional technique. FIG. 従来技術によるマルチプロセッサシステムの他の構成図である。It is another block diagram of the multiprocessor system by a prior art.

符号の説明Explanation of symbols

1 制御部
2 不揮発性メモリ
3 メモリ
4 処理部
5 共有メモリ
6 状態通知部
71、72、73 ライン
8、81、82 バス
9 バス接続部
DESCRIPTION OF SYMBOLS 1 Control part 2 Non-volatile memory 3 Memory 4 Processing part 5 Shared memory 6 Status notification part 71, 72, 73 Line 8, 81, 82 Bus 9 Bus connection part

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:
制御手段のみが使用する第1の記憶手段と、
制御手段及び処理手段が使用する第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の記憶手段の領域及び/又は入出力のためのハードウェア資源のみにアクセスすること、
を特徴とする請求項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:
制御手段と、第1の記憶手段とは第1のバスに接続し、
複数の処理手段と、第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:
制御手段と、第1の記憶手段とは第1のバスに接続し、
複数の処理手段は第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:
JP2005312661A 2005-10-27 2005-10-27 Arithmetic unit Expired - Fee Related JP4017005B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2495417B (en) * 2010-05-14 2017-11-29 Ibm A method for dynamically changing the configuration of a system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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
JP4017005B2 (en) 2007-12-05
WO2007049543A1 (en) 2007-05-03

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
KR100791296B1 (en) Apparatus and method for providing cooperative scheduling on multi-core system
JP2005056067A (en) Dma transfer controller
JP2008123157A (en) Processor and interruption control method
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
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
JP6358330B2 (en) Information processing apparatus, information processing system, memory management method, and memory management program
WO2019188182A1 (en) Pre-fetch controller

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