JP2013250696A - Processor system and processor control device - Google Patents
Processor system and processor control device Download PDFInfo
- Publication number
- JP2013250696A JP2013250696A JP2012123950A JP2012123950A JP2013250696A JP 2013250696 A JP2013250696 A JP 2013250696A JP 2012123950 A JP2012123950 A JP 2012123950A JP 2012123950 A JP2012123950 A JP 2012123950A JP 2013250696 A JP2013250696 A JP 2013250696A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- stage
- post
- clock
- upstream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Abstract
Description
本発明は、プロセッサシステムおよびプロセッサ制御装置に関する。 The present invention relates to a processor system and a processor control device.
近年の組み込み機器では、複数のプロセッサ(CPU)を備えたハードウェア構成が少なくない。このような構成において、複数のプロセッサが実行順序に制約があるプログラムを同時並列的に処理する場合、プロセッサ同士が互いの処理状況を監視してプログラムの実行タイミングの同期を行う必要がある。 Recent embedded devices often have a hardware configuration including a plurality of processors (CPUs). In such a configuration, when a plurality of processors process a program whose execution order is restricted in parallel, it is necessary for the processors to monitor each other's processing status and synchronize the execution timing of the program.
一般的には、OS(Operating System、オペレーティングシステム)など、ソフトウェアによりプロセッサの同期を行うことが多い。ソフトウェアによってプロセッサの同期を行う場合、プログラムの実行時間によってプロセッサの動作時間が長くなり、消費電力が増大するという問題がある。 In general, the processor is often synchronized by software such as an OS (Operating System). When the processors are synchronized by software, there is a problem that the operating time of the processor becomes longer due to the execution time of the program, and the power consumption increases.
また、ハードウェアを用いてプロセッサの同期を行う方法も知られている(例えば、特許文献1参照)。特許文献1に記載の方法は、プロセッサの外部にプログラムカウンタ監視部を追加し、プロセッサの内部に実行部を追加することにより、複数のプロセッサの同期を行っている。ハードウェアを用いてプロセッサの同期を行う方法は、ソフトウェアを用いてプロセッサの同期を行う方法と比較してプログラムの実行時間が短いため消費電力を抑えることができる。
A method of synchronizing processors using hardware is also known (see, for example, Patent Document 1). The method described in
しかしながら、特許文献1に記載の技術では、プロセッサの内部にハードウェア(実行部)を追加する必要があるため、プロセッサの設計および検証のコストが増大するという問題がある。また、プロセッサが第3者により開発されている場合、プロセッサ内部にハードウェアを追加できない可能性がある。
However, the technique described in
また、特許文献1に記載の技術では、プロセッサの同期が必要になった場合、同期元のプロセッサの内部に追加された実行部は、プロセッサの外部に追加されたプログラムカウンタ監視部に問い合わせる。プログラムカウンタ監視部は、同期の問い合わせがあった場合、同期先のプロセッサの処理状況に応じて、同期元のプロセッサの処理を開始してよいか否かを判定し、判定結果を同期元のプロセッサに対して出力する。同期元のプロセッサは、プログラムカウンタ監視部の判定結果に基づいて、処理の開始または処理を待機する。従って、特許文献1に記載の技術ではプロセッサの同期が必要になってから同期の判定結果を得るまでに時間がかかり、その時間分だけプロセッサが動作するため電力をより消費するという問題がある。
Further, in the technique described in
本発明は、上記の問題を解決するためになされたものであり、プロセッサの内部にハードウェアを追加することなく、より消費電力を抑えつつ複数のプロセッサの同期を制御することができるプロセッサシステムおよびプロセッサ制御装置を提供することを目的とする。 The present invention has been made to solve the above-described problem, and a processor system capable of controlling synchronization of a plurality of processors while further reducing power consumption without adding hardware inside the processor. An object is to provide a processor control device.
本発明は、供給されるクロックに基づいて動作し、実行する命令が記憶されている位置を示すプログラムカウンタを出力する複数のプロセッサと、前記プロセッサ間で共有するデータを記憶する共有メモリと、前記プロセッサの制御条件を示す制御情報を記憶するレジスタと、前記プログラムカウンタと前記制御情報とに基づいて、前記プロセッサに前記クロックを供給するクロック制御部と、を備えることを特徴とするプロセッサシステムである。 The present invention includes a plurality of processors that operate based on a supplied clock and output a program counter indicating a position where an instruction to be executed is stored; a shared memory that stores data shared between the processors; A processor system comprising: a register that stores control information indicating a control condition of a processor; and a clock control unit that supplies the clock to the processor based on the program counter and the control information. .
また、本発明のプロセッサシステムにおいて、前記クロック制御部は、前記共有メモリの同一領域に複数の前記プロセッサが同時にアクセスしないように、前記プロセッサに前記クロックを供給することを特徴とする。 In the processor system of the present invention, the clock control unit supplies the clock to the processors so that a plurality of the processors do not access the same area of the shared memory at the same time.
また、本発明のプロセッサシステムにおいて、前記制御情報は、前記プロセッサに前記クロックを供給するタイミングと、前記プロセッサに供給している前記クロックを停止するタイミングとを示す情報を含むことを特徴とする。 In the processor system of the present invention, the control information includes information indicating a timing for supplying the clock to the processor and a timing for stopping the clock supplied to the processor.
また、本発明のプロセッサシステムにおいて、前記制御情報は、前記クロックを供給する前記プロセッサを特定する情報を含むことを特徴とする。 In the processor system of the present invention, the control information includes information for specifying the processor that supplies the clock.
また、本発明は、複数のプロセッサの制御条件を示す制御情報を記憶するレジスタと、前記プロセッサが実行する命令を示すプログラムカウンタと前記制御情報とに基づいて、前記プロセッサにクロックを供給し、当該プロセッサの駆動を制御するクロック制御部と、を備えることを特徴とするプロセッサ制御装置である。 Further, the present invention supplies a clock to the processor based on a register that stores control information indicating control conditions of a plurality of processors, a program counter that indicates an instruction to be executed by the processor, and the control information. And a clock control unit that controls driving of the processor.
本発明によれば、レジスタはプロセッサの制御条件を示す制御情報を記憶する。また、クロック制御部は、プログラムカウンタと制御情報とに基づいて前記プロセッサに前記クロックを供給する。これにより、プロセッサの内部にハードウェアを追加することなく、より消費電力を抑えつつ複数のプロセッサの同期を制御することができる。 According to the present invention, the register stores control information indicating a control condition of the processor. The clock controller supplies the clock to the processor based on the program counter and control information. As a result, it is possible to control the synchronization of a plurality of processors while further reducing power consumption without adding hardware inside the processors.
以下、本発明の一実施形態について図を参照しながら説明する。図1は、本実施形態におけるプロセッサシステムの構成を示したブロック図である。図示する例では、プロセッサシステム1は、メインプロセッサ11と、プロセッサ制御装置12と、共有メモリ13と、前段プロセッサ14(プロセッサ)と、後段プロセッサ15(プロセッサ)とを備える。
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 processor system in the present embodiment. In the illustrated example, the
メインプロセッサ11は、前段プロセッサ14と後段プロセッサ15との制御条件を示す制御情報をプロセッサ制御装置12に対して出力する。プロセッサ制御装置12は、メインプロセッサ11から入力される制御情報に基づいて前段プロセッサ14と後段プロセッサ15との同期を制御する。共有メモリ13は、前段プロセッサ14と後段プロセッサ15とが処理に用いるデータを記憶する。前段プロセッサ14は、プロセッサシステム1が実行する処理の前段部分の処理を実行する。後段プロセッサ15は、前段プロセッサ14が実行した結果を用いて、プロセッサシステム1が実行する処理の後段部分の処理を実行する。そのため、前段プロセッサ14の処理が完了した後に、後段プロセッサ15の処理を開始する必要がある。また、前段プロセッサ14と、後段プロセッサ15とは、実行する命令が記憶された位置を示すプログラムカウンタを出力する。
The
次に、プロセッサ制御装置12の構成について説明する。図2は、本実施形態におけるプロセッサ制御装置12の構成を示したブロック図である。図示する例では、プロセッサ制御装置12は、レジスタ121と、前段クロック制御部122(クロック制御部)と、後段クロック制御部123(クロック制御部)とを備える。レジスタ121は、メインプロセッサ11から入力される制御情報を記憶する。
Next, the configuration of the
前段クロック制御部122は、レジスタ121が記憶する制御情報と、前段プロセッサ14が出力するプログラムカウンタと、後段プロセッサ15が出力するプログラムカウンタとに基づいて、前段プロセッサ14の動作を制御する。具体的には、前段クロック制御部122は、前段プロセッサ14にクロックを供給することで前段プロセッサ14を動作させ、前段プロセッサ14に供給するクロックを停止することで前段プロセッサ14の動作を停止させる。
The pre-stage
後段クロック制御部123は、レジスタ121が記憶する制御情報と、前段プロセッサ14が出力するプログラムカウンタと、後段プロセッサ15が出力するプログラムカウンタとに基づいて、後段プロセッサ15の動作を制御する。具体的には、後段クロック制御部123は、後段プロセッサ15にクロックを供給することで後段プロセッサ15を動作させ、後段プロセッサ15に供給するクロックを停止することで後段プロセッサ15の動作を停止させる。
The post-stage
次に、プロセッサ制御装置12による前段プロセッサ14と後段プロセッサ15との同期処理について説明する。図3は、本実施形態におけるプロセッサ制御装置12による前段プロセッサ14と後段プロセッサ15との同期処理の動作の概念を示した概略図である。
Next, synchronization processing between the
以下、プロセッサシステム1が処理[0]と処理[1]とを交互に2回ずつ実行する場合の例を用いて説明する。プロセッサ制御装置12は、処理[0]を実行するために、前段プロセッサ14に前段処理[0]を実行させ、その後、後段プロセッサ15に後段処理[0]を実行させる。また、プロセッサ制御装置12は、処理[1]を実行するために、前段プロセッサ14に前段処理[1]を実行させ、その後、後段プロセッサ15に後段処理[1]を実行させる。
Hereinafter, an example in which the
前段プロセッサ14が前段処理[0]を行う際に出力するプログラムカウンタは前段PC[0][0]〜[0][1]である。また、前段プロセッサ14が前段処理[1]を行う際に出力するプログラムカウンタは前段PC[1][0]〜[1][1]である。また、後段プロセッサ15が後段処理[0]を行う際に出力するプログラムカウンタは後段PC[0][0]〜[0][1]である。また、後段プロセッサ15が後段処理[1]を行う際に出力するプログラムカウンタは後段PC[1][0]〜[1][1]である。
The program counters output when the
また、この場合においてレジスタ121が記憶するプロセッサの制御情報で示される条件は以下の(1)〜(8)である。
(1)後段プロセッサ15が共有メモリ13のメモリ領域[0]にアクセスしていない場合、共有メモリ13のメモリ領域[0]にアクセスする処理(前段処理[0])を前段プロセッサ14に実行させる。
(2)後段プロセッサ15が共有メモリ13のメモリ領域[0]にアクセスしている場合、前段プロセッサ14が共有メモリ13のメモリ領域[0]にアクセスする処理(前段処理[0])を実行する直前に前段プロセッサ14の動作を停止させる。
(3)前段プロセッサ14が共有メモリ13のメモリ領域[0]にアクセスしていない場合、共有メモリ13のメモリ領域[0]にアクセスする処理(後段処理[0])を後段プロセッサ15に実行させる。
(4)前段プロセッサ14が共有メモリ13のメモリ領域[0]にアクセスしている場合、後段プロセッサ15が共有メモリ13のメモリ領域[0]にアクセスする処理(後段処理[0])を実行する直前に後段プロセッサ15の動作を停止させる。
In this case, the conditions indicated by the processor control information stored in the
(1) When the
(2) When the
(3) When the
(4) When the
(5)後段プロセッサ15が共有メモリ13のメモリ領域[1]にアクセスしていない場合、共有メモリ13のメモリ領域[1]にアクセスする処理(前段処理[1])を前段プロセッサ14に実行させる。
(6)後段プロセッサ15が共有メモリ13のメモリ領域[1]にアクセスしている場合、前段プロセッサ14が共有メモリ13のメモリ領域[1]にアクセスする処理(前段処理[1])を実行する直前に前段プロセッサ14の動作を停止させる。
(7)前段プロセッサ14が共有メモリ13のメモリ領域[1]にアクセスしていない場合、共有メモリ13のメモリ領域[1]にアクセスする処理(後段処理[1])を後段プロセッサ15に実行させる。
(8)前段プロセッサ14が共有メモリ13のメモリ領域[1]にアクセスしている場合、後段プロセッサ15が共有メモリ13のメモリ領域[1]にアクセスする処理(後段処理[1])を実行する直前に後段プロセッサ15の動作を停止させる。
(5) When the
(6) When the
(7) When the
(8) When the
従って、前段クロック制御部122は、前段プロセッサ14が出力するプログラムカウンタが前段PC[0][0]〜[0][1](前段処理[0])であり、後段プロセッサ15が出力するプログラムカウンタが後段PC[1][0]〜[1][1](後段処理[1])である場合には、前段プロセッサ14に前段処理[0]を実行させるために、前段プロセッサ14にクロックを供給する。また、前段クロック制御部122は、前段プロセッサ14が出力するプログラムカウンタが前段PC[0][0]〜[0][1](前段処理[0])であり、後段プロセッサ15が出力するプログラムカウンタが後段PC[0][0]〜[0][1](後段処理[0])である場合には、前段プロセッサ14に前段処理[0]の実行を待機させるために、前段プロセッサ14に供給するクロックを停止する。
Accordingly, the pre-stage
また、前段クロック制御部122は、前段プロセッサ14が出力するプログラムカウンタが前段PC[1][0]〜[1][1](前段処理[1])であり、後段プロセッサ15が出力するプログラムカウンタが後段PC[0][0]〜[0][1](後段処理[0])である場合には、前段プロセッサ14に前段処理[1]を実行させるために、前段プロセッサ14にクロックを供給する。また、前段クロック制御部122は、前段プロセッサ14が出力するプログラムカウンタが前段PC[1][0]〜[1][1](前段処理[1])であり、後段プロセッサ15が出力するプログラムカウンタが後段PC[1][0]〜[1][1](後段処理[1])である場合には、前段プロセッサ14に前段処理[1]の実行を待機させるために、前段プロセッサ14に供給するクロックを停止する。
Further, the pre-stage
また、後段クロック制御部123は、後段プロセッサ15が出力するプログラムカウンタが後段PC[0][0]〜[0][1](後段処理[0])であり、前段プロセッサ14が出力するプログラムカウンタが前段PC[1][0]〜[1][1](前段処理[1])である場合には、後段プロセッサ15に後段処理[0]を実行させるために、後段プロセッサ15にクロックを供給する。また、後段クロック制御部123は、後段プロセッサ15が出力するプログラムカウンタが後段PC[0][0]〜[0][1](後段処理[0])であり、前段プロセッサ14が出力するプログラムカウンタが前段PC[0][0]〜[0][1](前段処理[0])である場合には、後段プロセッサ15に後段処理[0]の実行を待機させるために、後段プロセッサ15に供給するクロックを停止する。
Further, in the post-stage
また、後段クロック制御部123は、後段プロセッサ15が出力するプログラムカウンタが後段PC[1][0]〜[1][1](後段処理[1])であり、前段プロセッサ14が出力するプログラムカウンタが前段PC[0][0]〜[0][1](前段処理[0])である場合には、後段プロセッサ15に後段処理[1]を実行させるために、後段プロセッサ15にクロックを供給する。また、後段クロック制御部123は、後段プロセッサ15が出力するプログラムカウンタが後段PC[1][0]〜[1][1](後段処理[1])であり、前段プロセッサ14が出力するプログラムカウンタが前段PC[1][0]〜[1][1](前段処理[1])である場合には、後段プロセッサ15に後段処理[1]の実行を待機させるために、後段プロセッサ15に供給するクロックを停止する。
Further, the post-stage
なお、プロセッサシステム1の起動時など、処理[0]を初めて実行する場合には、前段プロセッサ14が出力するプログラムカウンタは前段PC[0][0]であり、後段プロセッサ15が出力するプログラムカウンタは後段PC[0][0]である。この場合、レジスタ121が記憶するプロセッサの制御情報で示される条件(1)〜(8)のうち、どの条件にも当てはまらない。従って、処理[0]を初めて実行する場合には、例外的に、前段クロック制御部122は、前段プロセッサ14が前段処理[0]を完了するまで(前段プロセッサ14が出力するプログラムカウンタが前段PC[1][0]となるまで)前段プロセッサ14にクロックを供給する。
When processing [0] is executed for the first time, such as when the
図4は、本実施形態におけるプロセッサ制御装置12による前段プロセッサ14と後段プロセッサ15との同期処理の動作のタイミングを示したタイミングチャートである。なお、図示する例では、前段プロセッサ14の動作時間が後段プロセッサ15の動作時間よりも長い場合の例を示している。
FIG. 4 is a timing chart showing the operation timing of the synchronization processing between the
処理[0]を初めて実行する場合には、プロセッサ制御装置12は、前段プロセッサ14にクロックを供給する。これにより、前段プロセッサ14は、前段処理[0]を実行する(時間a)。
When the process [0] is executed for the first time, the
続いて、プロセッサ制御装置12は、前段プロセッサ14が前段処理[0]を終了し、後段プロセッサ15が後段処理[0]の実行を待機しているため、後段プロセッサ15にクロックを供給する。これにより、後段プロセッサ15は、後段処理[0]を実行する。また、プロセッサ制御装置12は、後段プロセッサ15が後段処理[0]を実行し、前段プロセッサ14が前段処理[1]の実行を待機しているため、前段プロセッサ14にクロックを供給する。これにより、前段プロセッサ14は、前段処理[1]を実行する(時間b)。
Subsequently, the
続いて、プロセッサ制御装置12は、後段プロセッサ15が後段処理[0]を終了しても、前段プロセッサ14が前段処理[1]を実行しているため、後段プロセッサ15に供給しているクロックを停止する。これにより、後段プロセッサ15は、後段処理[1]の実行を待機する。なお、プロセッサ制御装置12は、前段プロセッサ14が前段処理[1]を完了していないため、前段プロセッサ14にクロックを供給する。これにより、前段プロセッサ14は、前段処理[1]の実行を続ける(時間c)。
Subsequently, the
続いて、プロセッサ制御装置12は、前段プロセッサ14が前段処理[1]を終了し、後段プロセッサ15が後段処理[1]の実行を待機しているため、後段プロセッサ15にクロックを供給する。これにより、後段プロセッサ15は、後段処理[1]を実行する。また、プロセッサ制御装置12は、後段プロセッサ15が後段処理[1]を実行し、前段プロセッサ14が前段処理[0]の実行を待機しているため、前段プロセッサ14にクロックを供給する。これにより、前段プロセッサ14は、前段処理[0]を実行する(時間d)。
Subsequently, the
続いて、プロセッサ制御装置12は、後段プロセッサ15が後段処理[1]を終了しても、前段プロセッサ14が前段処理[0]を実行しているため、後段プロセッサ15に供給しているクロックを停止する。これにより、後段プロセッサ15は、後段処理[0]の実行を待機する。なお、プロセッサ制御装置12は、前段プロセッサ14が前段処理[0]を完了していないため、前段プロセッサ14にクロックを供給する。これにより、前段プロセッサ14は、前段処理[0]の実行を続ける(時間e)。時間f〜gについては、時間b〜cと同様である。
Subsequently, the
続いて、プロセッサ制御装置12は、前段プロセッサ14が前段処理[1]を終了し、後段プロセッサ15が後段処理[1]の実行を待機しているため、後段プロセッサ15にクロックを供給する。これにより、後段プロセッサ15は、後段処理[1]を実行する。なお、前段処理[0]および前段処理[1]を2回ずつ実行したため、プロセッサ制御装置12は、前段プロセッサ14にクロックの供給を行わない。これにより、前段プロセッサ14は、処理を停止する。また、後段プロセッサ15が後段処理[1]を終了した場合、後段処理[0]および後段処理[1]を2回ずつ実行したため、プロセッサ制御装置12は、後段プロセッサ15に供給しているクロックを停止する。これにより、後段プロセッサ15は、処理を停止する(時間h)。
Subsequently, the
図5は、本実施形態におけるプロセッサ制御装置12による前段プロセッサ14と後段プロセッサ15との同期処理の動作のタイミングを示したタイミングチャートである。なお、図示する例では、前段プロセッサ14の動作時間が後段プロセッサ15の動作時間よりも短い場合の例を示している。
FIG. 5 is a timing chart showing the operation timing of the synchronization processing between the
処理[0]を初めて実行する場合には、プロセッサ制御装置12は、前段プロセッサ14にクロックを供給する。これにより、前段プロセッサ14は、前段処理[0]を実行する(時間A)。
When the process [0] is executed for the first time, the
続いて、プロセッサ制御装置12は、前段プロセッサ14が前段処理[0]を終了し、後段プロセッサ15が後段処理[0]の実行を待機しているため、後段プロセッサ15にクロックを供給する。これにより、後段プロセッサ15は、後段処理[0]を実行する。また、プロセッサ制御装置12は、後段プロセッサ15が後段処理[0]を実行し、前段プロセッサ14が前段処理[1]の実行を待機しているため、前段プロセッサ14にクロックを供給する。これにより、前段プロセッサ14は、前段処理[1]を実行する(時間B)。
Subsequently, the
続いて、プロセッサ制御装置12は、前段プロセッサ14が前段処理[1]を終了しても、後段プロセッサ15が後段処理[0]を実行しているため、前段プロセッサ14に供給しているクロックを停止する。これにより、前段プロセッサ14は、前段処理[0]の実行を待機する。なお、プロセッサ制御装置12は、後段プロセッサ15が後段処理[0]を完了していないため、後段プロセッサ15にクロックを供給する。これにより、後段プロセッサ15は、後段処理[0]の実行を続ける(時間C)。
Subsequently, the
続いて、プロセッサ制御装置12は、後段プロセッサ15が後段処理[0]を終了し、前段プロセッサ14が前段処理[0]の実行を待機しているため、前段プロセッサ14にクロックを供給する。これにより、前段プロセッサ14は、前段処理[0]を実行する。また、プロセッサ制御装置12は、前段プロセッサ14が前段処理[0]を実行し、後段プロセッサ15が後段処理[1]の実行を待機しているため、後段プロセッサ15にクロックを供給する。これにより、後段プロセッサ15は、後段処理[1]を実行する(時間D)。
Subsequently, the
続いて、プロセッサ制御装置12は、前段プロセッサ14が前段処理[0]を終了しても、後段プロセッサ15が後段処理[1]を実行しているため、前段プロセッサ14に供給しているクロックを停止する。これにより、前段プロセッサ14は、前段処理[1]の実行を待機する。なお、プロセッサ制御装置12は、後段プロセッサ15が後段処理[1]を完了していないため、後段プロセッサ15にクロックを供給する。これにより、後段プロセッサ15は、後段処理[1]の実行を続ける(時間E)。時間Fについては、時間Bと同様である。
Subsequently, the
続いて、プロセッサ制御装置12は、前段プロセッサ14が前段処理[1]を終了し、前段処理[0]および前段処理[1]を2回ずつ実行したため、前段プロセッサ14へのクロックの供給を停止する。これにより、前段プロセッサ14は、処理を停止する。なお、プロセッサ制御装置12は、後段プロセッサ15が後段処理[0]の処理を完了していないため、後段プロセッサ15にクロックを供給する。これにより、後段プロセッサ15は、後段処理[0]の実行を続ける(時間G)。
Subsequently, the
続いて、プロセッサ制御装置12は、後段プロセッサ15が後段処理[0]を終了し、前段プロセッサ14が前段処理[0]の実行を待機しているため、後段プロセッサ15にクロックを供給する。これにより、後段プロセッサ15は、後段処理[1]を実行する。また、後段プロセッサ15が後段処理[1]を終了した場合、後段処理[0]および後段処理[1]を2回ずつ実行したため、プロセッサ制御装置12は、後段プロセッサ15に供給しているクロックを停止する。これにより、後段プロセッサ15は、処理を停止する(時間H)。
Subsequently, the
上述したように、前段クロック制御部122と後段クロック制御部123とは、前段プロセッサ14が出力するプログラムカウンタと、後段プロセッサ15が出力するプログラムカウンタと、レジスタ121が記憶する制御情報とに基づいて、前段プロセッサ14と後段プロセッサ15とに供給するクロックを制御することで、前段プロセッサ14と後段プロセッサ15との同期を制御することができる。
As described above, the pre-stage
従って、プロセッサシステム1およびプロセッサ制御装置12は、前段プロセッサ14および後段プロセッサ15の内部にハードウェアを追加することなく、より消費電力を抑えつつ前段プロセッサ14と後段プロセッサ15との同期を制御することができる。
Therefore, the
以上、この発明の一実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、上述した実施形態においては、プロセッサ制御装置12は前段プロセッサ14と後段プロセッサ15との2つのプロセッサの同期を制御しているが、これに限らず、3つ以上のプロセッサの同期を制御するようにしてもよい。なお、3つ以上のプロセッサの同期を制御する場合においても、2つのプロセッサの同期を制御する処理と同様に、プロセッサ制御装置12は、各プロセッサが出力するプログラムカウンタとレジスタ121が記憶する制御情報とに基づいて、3つ以上のプロセッサの同期を制御する。
Although one embodiment of the present invention has been described in detail with reference to the drawings, the specific configuration is not limited to this embodiment, and includes design and the like within a scope not departing from the gist of the present invention. For example, in the above-described embodiment, the
1・・・プロセッサシステム、11・・・メインプロセッサ、12・・・プロセッサ制御装置、13・・・共有メモリ、14・・・前段プロセッサ、15・・・後段プロセッサ、121・・・レジスタ、122・・・前段クロック制御部、123・・・後段クロック制御部
DESCRIPTION OF
Claims (5)
前記プロセッサ間で共有するデータを記憶する共有メモリと、
前記プロセッサの制御条件を示す制御情報を記憶するレジスタと、
前記プログラムカウンタと前記制御情報とに基づいて、前記プロセッサに前記クロックを供給するクロック制御部と、
を備えることを特徴とするプロセッサシステム。 A plurality of processors which operate based on a supplied clock and output a program counter indicating a position where an instruction to be executed is stored;
A shared memory for storing data shared between the processors;
A register for storing control information indicating a control condition of the processor;
A clock control unit for supplying the clock to the processor based on the program counter and the control information;
A processor system comprising:
ことを特徴とする請求項1に記載のプロセッサシステム。 The processor system according to claim 1, wherein the clock control unit supplies the clock to the processors so that the plurality of processors do not access the same area of the shared memory simultaneously.
ことを特徴とする請求項1または請求項2に記載のプロセッサシステム。 The said control information contains the information which shows the timing which supplies the said clock to the said processor, and the timing which stops the said clock supplied to the said processor. The Claim 1 or Claim 2 characterized by the above-mentioned. Processor system.
ことを特徴とする請求項3に記載のプロセッサシステム。 The processor system according to claim 3, wherein the control information includes information for specifying the processor that supplies the clock.
前記プロセッサが実行する命令を示すプログラムカウンタと前記制御情報とに基づいて、前記プロセッサにクロックを供給し、当該プロセッサの駆動を制御するクロック制御部と、
を備えることを特徴とするプロセッサ制御装置。 A register for storing control information indicating control conditions of a plurality of processors;
A clock control unit that supplies a clock to the processor based on a program counter indicating the instruction to be executed by the processor and the control information, and controls driving of the processor;
A processor control device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012123950A JP2013250696A (en) | 2012-05-31 | 2012-05-31 | Processor system and processor control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012123950A JP2013250696A (en) | 2012-05-31 | 2012-05-31 | Processor system and processor control device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013250696A true JP2013250696A (en) | 2013-12-12 |
Family
ID=49849339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012123950A Pending JP2013250696A (en) | 2012-05-31 | 2012-05-31 | Processor system and processor control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013250696A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015091417A (en) * | 2015-02-03 | 2015-05-14 | 富士フイルム株式会社 | Endoscope apparatus |
JP2016187630A (en) * | 2016-07-29 | 2016-11-04 | 富士フイルム株式会社 | Endoscope apparatus |
-
2012
- 2012-05-31 JP JP2012123950A patent/JP2013250696A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015091417A (en) * | 2015-02-03 | 2015-05-14 | 富士フイルム株式会社 | Endoscope apparatus |
JP2016187630A (en) * | 2016-07-29 | 2016-11-04 | 富士フイルム株式会社 | Endoscope apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100153761A1 (en) | Multiprocessor control unit, control method performed by the same, and integrated circuit | |
US10437593B2 (en) | Techniques for comprehensively synchronizing execution threads | |
JPWO2008087779A1 (en) | Array type processor and data processing system | |
JP4749431B2 (en) | Method and apparatus for promoting pipeline throughput | |
JP2016173836A (en) | Synchronization mechanism between central processing unit and graphics processing unit | |
WO2013029513A1 (en) | Method and system, scheduler for parallel simulating processors | |
US10528685B2 (en) | Efficient mechanism in hardware and software co-simulation system | |
WO2011118012A1 (en) | Multi-core processor system, control program, and control method | |
JP2013250696A (en) | Processor system and processor control device | |
US9652299B2 (en) | Controlling the state of a process between a running and a stopped state by comparing identification information sent prior to execution | |
JP2006146758A (en) | Computer system | |
JP2009075948A (en) | Multicore processor | |
JP2010152733A (en) | Multi-core system | |
US20150186113A1 (en) | Data transfer between clock domains | |
JP2017016250A (en) | Barrier synchronization device, barrier synchronization method, and program | |
JP5630798B1 (en) | Processor and method | |
JP2010140319A (en) | Semiconductor device | |
JP2008197943A (en) | Computer system | |
JP2015158751A (en) | Plotting method, plotting device, and program | |
JP2010211596A (en) | System starting method in multitask system | |
US20240176616A1 (en) | Processor and method of controlling processor | |
JP2014038502A (en) | Information processing device, information processing method, and program | |
JP5724772B2 (en) | Test condition setting method, current fluctuation test method, and information processing apparatus | |
US20150195342A1 (en) | Remote configuration of data processing devices in a cluster computing system | |
CN108255587B (en) | Synchronous multi-thread processor |