JP2004078683A - コンピュータシステムおよび共有メモリ制御方法 - Google Patents
コンピュータシステムおよび共有メモリ制御方法 Download PDFInfo
- Publication number
- JP2004078683A JP2004078683A JP2002239548A JP2002239548A JP2004078683A JP 2004078683 A JP2004078683 A JP 2004078683A JP 2002239548 A JP2002239548 A JP 2002239548A JP 2002239548 A JP2002239548 A JP 2002239548A JP 2004078683 A JP2004078683 A JP 2004078683A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- data
- shared memory
- computer system
- address
- 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
- 238000000034 method Methods 0.000 title claims description 28
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
Abstract
【課題】共有メモリを介した複数のCPU間のデータ授受を効率的に行うことを可能としたコンピュータシステムを提供する。
【解決手段】このコンピュータシステムは、CPU(A)1およびCPU(B)2の2つのCPUを有しており、この2つのCPUの間でデータをやり取りするために、共有メモリ3を設けている。CPU(A)1が共有メモリ3にデータを書き込むと、アドレス判定部4は、その書き込み先のアドレスがCPU(B)2との間で取り決めた領域内かどうかを判定する。また、重要度判定部5は、そのデータがCPU(B)により即時に処理されるべき重要度の高いデータかどうかを判定する。そして、このアドレス判定部4および重要度判定部5により、予め取り決められた領域内であり、かつ、重要度の高いデータであると判定された場合に、割り込みコントローラ21に対して割り込み信号を供給する。
【選択図】 図1
【解決手段】このコンピュータシステムは、CPU(A)1およびCPU(B)2の2つのCPUを有しており、この2つのCPUの間でデータをやり取りするために、共有メモリ3を設けている。CPU(A)1が共有メモリ3にデータを書き込むと、アドレス判定部4は、その書き込み先のアドレスがCPU(B)2との間で取り決めた領域内かどうかを判定する。また、重要度判定部5は、そのデータがCPU(B)により即時に処理されるべき重要度の高いデータかどうかを判定する。そして、このアドレス判定部4および重要度判定部5により、予め取り決められた領域内であり、かつ、重要度の高いデータであると判定された場合に、割り込みコントローラ21に対して割り込み信号を供給する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
この発明は、複数のCPUからアクセスされる共有メモリを備えたコンピュタシステムおよび同システムの共有メモリ制御方法に係り、特に、この共有メモリを介した複数のCPU間のデータ授受を効率的に行うことを可能としたコンピュタシステムおよび同システムの共有メモリ制御方法に関する。
【0002】
【従来の技術】
近年、例えば画像データや音声データ、あるいはネットワークデータなど、複雑な処理や即時性の求められるデータを取り扱うために、複数のCPUを備えるコンピュータシステム(1台のコンピュータが複数のCPUを備える場合であってもよいし、1つのCPUを各々備える複数台のコンピュータが連結される場合であってもよい)が広く普及している。そして、これら複数のCPU間でデータを授受するためのものとして、いわゆる共有メモリ(デュアルポートメモリ)が存在する。
【0003】
この共有メモリを介して複数のCPU間でデータの受け渡しを行う場合、一方のCPUが書き込んだデータを他方のCPUが読み出すために、相手のCPUがデータを書き込んだ旨を検知する仕組みや、あるいはデータを書き込んだ際に相手のCPUにその旨を通知する仕組みが必要である。
【0004】
そのため、従来では、各CPUが相手CPUと取り決めた特定アドレスを所定のタイミングでポーリング(リード)したり、あるいは、例えば特公昭60−20779号などに記載されているように、特定アドレスにデータを書き込んだ場合に、割り込みを発生させることにより相手CPUにその旨を通知するといったことを行うことが一般的であった。
【0005】
【発明が解決しようとする課題】
しかしながら、ポーリングによる方法では、各CPUが所定のタイミングでそのポーリングを行うことになるため、相手CPUが書き込んだ即時性の求められるデータを速やかに読み出すことができないといった問題があった。また、相手CPUによるデータの書き込み有無に関わらず、頻繁にポーリングのためのアクセスを行う必要が生じるため、相手CPUからのアクセスと競合する頻度を高めてしまい、ポーリングのためのアクセスが待たされた結果、レスポンス(アクセスレイテンシ)を低下させるといった問題もあった。
【0006】
一方、割り込みによる方法では、その都度、割り込みハンドラを起動する必要が生じるため、データの書き込みを通知された側のCPUの負担が重くなり、結果的にそのデータの処理の遅延を招いてしまうといった問題があった。
【0007】
この発明は、このような事情を考慮してなされたものであり、アクセス競合や割り込みハンドラに関わるCPU負担を軽減し、共有メモリを介した複数のCPU間のデータ授受を効率的に行うことを可能としたコンピュータシステムおよび同システムの共有メモリ制御方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
前述した目的を達成するために、この発明は、共有メモリと、前記共有メモリに書き込みデータを書き込む第1のCPUと、第2のCPUと、前記書き込みデータの処理を前記第2のCPUに指示するコントローラと、前記第1のCPUから前記書き込みデータの属性を示す属性データを受け取り、この属性データを元に前記書き込みデータを前記コントローラに通知すべきか否かを判定する判定手段とを具備することを特徴とするコンピュータシステムを提供する。
【0009】
このコンピュータシステムにおいては、共有メモリに対するデータの書き込みが第1のCPUによって行われた際、そのデータを第2のCPUに即座に引き渡す必要があるかどうかを判定する手段を設けたことにより、例えば重要度の高いデータの場合は、割り込みによって第2のCPUに速やかに通知し、一方、重要度の低いデータの場合は、第2のCPUがその後に実行するであろうポーリングに委ねるなど、柔軟な対応を実現することができる。
【0010】
これにより、重要度の低いデータによる割り込みを抑止でき、また、(重要度の低いデータのみを対象とした)ポーリングの間隔も比較的長く設定することができるため、必要以上のアクセス競合や割り込みハンドラに起因するCPU負担を軽減することを可能とする。
【0011】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
【0012】
(第1実施形態)
まず、この発明の第1実施形態について説明する。
【0013】
図1は、この発明の第1実施形態に係るコンピュータシステムの共有メモリ制御に関わる構成を示す図である。
【0014】
図1に示すように、このコンピュータシステムは、CPU(A)1およびCPU(B)2の2つのCPUを有している。そして、この2つのCPUの間でデータをやり取りするために、このコンピュータシステムは、CPU(A)1およびCPU(B)2から共有される共有メモリ3を設けている。また、ここでは、例えばCPU(A)1がネットワーク経由で画像データを受信し、この画像データをCPU(B)に転送してその再生処理を行わせる等の動作を想定する。すなわち、即時性が求められる重要度の高いデータを共有メモリ3を介してやり取りする場合を考える。
【0015】
このような場合、CPU(A)1上で動作するプログラムとCPU(B)2上で動作するプログラムとは、共有メモリ3上のどの領域を使ってデータを授受するのかを決定する。そして、CPU(B)2は、ここで決定された領域のアドレス範囲を示すデータをアドレス判定部4のレジスタ41に格納する。
【0016】
このアドレス判定部4は、CPU(A)1が共有メモリ3にデータを書き込んだときに、その書き込み先のアドレスがCPU(B)2との間で取り決めを行った領域内かどうかを判定するものであり、アドレスラインに出力された書き込み先アドレスとレジスタ41に格納されたデータを比較器42で比較する。この比較器42は、この書き込み先のアドレスがCPU(B)2との間で取り決めを行った領域内であるとき、つまりレジスタ41に格納されたデータで示されるアドレス範囲と合致するとき、アクティブ信号を出力するように構成されており、この比較器42から出力されたアクティブ信号は、重要度判定部5のアンド回路51に供給される。
【0017】
この重要度判定部5は、CPU(A)1が共有メモリ3にデータを書き込んだときに、そのデータがCPU(B)により即時に処理されるべき重要度の高いデータかどうかを判定するものであり、アンド回路51は、データラインに出力された書き込みデータの所定ビットが“1”であり、かつ、比較器42がアクティブ信号を出力しているときに、CPU(B)2に内蔵された割り込みコントローラ21に向けて割り込み信号を出力する。
【0018】
CPU(A)1上で動作するプログラムは、例えば画像データなどを共有メモリ3に書き込む際、CPU(B)2上で動作するプログラムとの間で予め取り決められた属性データを当該書き込みデータ上の所定の位置に添付する。また、この属性データの所定ビットには、その書き込みデータの重要度を示す情報を格納する。具体的には、その書き込みデータがCPU(B)により即時に処理されるべき重要度の高いデータである場合、この所定ビットに“1”を格納する。そして、重要度判定部5は、この所定の位置に添付された属性データの所定ビットを取り込んで、アンド回路51に供給する。
【0019】
アドレス判定部4により、書き込み先のアドレスがCPU(B)2との間で取り決めを行った領域内であると判定され、かつ、重要度判定部5により、そのデータがCPU(B)により即時に処理されるべき重要度の高いデータであると判定されると、CPU(B)2の割り込みコントローラ21に割り込み信号が供給されることになる。そして、割り込みコントローラ21は、割り込みを発生させて、CPU(B)2に割り込みハンドラを起動させ、その割り込み要因、つまり共有メモリ3に対するデータの書き込みがCPU(A)1によって実行されたことを認識させる。
【0020】
これにより、CPU(B)2は、CPU(A)1が共有メモリ3にデータを書き込んだことを知り、この割り込み処理が終了して一旦割り込み発生前の処理に復帰した直後に、即時に処理すべき重要度の高い、この共有メモリ3に書き込まれたデータの読み出し処理に移行する。
【0021】
図2は、この第1実施形態のコンピュータシステムの共有メモリ制御に関わる動作手順を表したフローチャートである。
【0022】
CPU(A)1が共有メモリ3にデータを書き込むと(ステップA1)、アドレス判定部4は、この書き込みがCPU(B)に通知すべきアドレスへの書き込みかどうかを判定する(ステップA2)。ここで、通知すべきアドレスだとアドレス判定部4が判定すると(ステップA3)、今度は、重要度判定部5が、この書き込まれたデータは即時にCPU(B)2に引き渡すべき重要度の高いものかどうかを判定する(ステップA4)。そして、重要度の高いデータだと判定すると(ステップA5)、重要度判定部5は、割り込みコントローラ21への通知を実施する(ステップA6)。
【0023】
一方、この通知を受けた割り込みコントローラ21は、CPU(B)2に割り込みイベントの発生を通知する(ステップA7)。これにより、CPU(B)2は、CPU(A)1による共有メモリ3へのデータ書き込みを認識し(ステップA8)、割り込み発生前の処理に復帰した直後、このCPU(A)1により書き込まれた共有メモリ3上のデータの読み出しを実行する(ステップA9)。
【0024】
なお、CPU(A)1により共有メモリ3に書き込まれたデータであって、アドレス判定部4および重要度判定部5の判定により割り込みコントローラ21への通知が見合わせられたデータ、つまり、重要度の低いデータの書き込みは、例えば重要度の高いデータが書き込まれた際、そのデータとともにCPU(B)2に認識され、あるいは、例えばCPU(B)2からの共有メモリ3へのアクセスが一定期間を越えて途切れたときや、CPU(B)2の空き時間などに実施されるポーリング時に、CPU(B)2に認識されて読み出される。
【0025】
このように、この第1実施形態のコンピュータシステムでは、重要度の高いデータのみを割り込みで通知するための判定手段を設けて、重要度の低いデータによる割り込みを抑止し、また、この重要度の低いデータのみを対象としたポーリングの間隔も比較的長く設定することにより、必要以上のアクセス競合や割り込みハンドラに起因するCPU負担を軽減することを可能とする。このポーリングの間隔は、通常、例えばCPU(B)2上で動作するオペレーティングシステムやユーティリティプログラム等でソフトウェア的に設定可能である。
【0026】
(第2実施形態)
次に、この発明の第2実施形態について説明する。
【0027】
図3は、この発明の第2実施形態に係るコンピュータシステムの共有メモリ制御に関わる構成を示す図である。
【0028】
この第2実施形態と前述した第1実施形態との違いは、図3に示すように、重要度判定部5による通知先をDMAコントローラ6とした点にある。DMAコントローラ6は、この通知を受けたとき、CPU(A)1により書き込まれたデータを共有メモリ3から読み出し、CPU(B)2が備えるローカルメモリ7に書き込む。つまり、DMAコントローラ6は、重要度の高いデータの書き込み時のみ、共有メモリ3とローカルメモリ7との間の転送を実行する。そして、この転送完了後、DMAコントローラ6は、このデータ転送をCPU(B)2に割り込み信号により通知する。
【0029】
図4は、この第2実施形態のコンピュータシステムの共有メモリ制御に関わる動作手順を表したフローチャートである。
【0030】
CPU(A)1が共有メモリ3にデータを書き込むと(ステップB1)、アドレス判定部4は、この書き込みがCPU(B)に通知すべきアドレスへの書き込みかどうかを判定する(ステップB2)。ここで、通知すべきアドレスだとアドレス判定部4が判定すると(ステップB3)、今度は、重要度判定部5が、この書き込まれたデータは即時にCPU(B)2に引き渡すべき重要度の高いものかどうかを判定する(ステップB4)。そして、重要度の高いデータだと判定すると(ステップB5)、重要度判定部5は、DMAコントローラ6への通知を実施する(ステップB6)。
【0031】
この通知を受けたDMAコントローラ6は、CPU(A)1により書き込まれた共有メモリ3上のデータをローカルメモリ3に転送し(ステップB7)、その転送完了後に、このデータ転送の実行をCPU(B)2に通知する(ステップB8)。この通知により、CPU(B)2は、CPU(A)1による共有メモリ3へのデータ書き込みを認識し(ステップB9)、ローカルメモリ7に転送されたデータの処理を実行する(ステップB10)。
【0032】
この第2実施形態のコンピュータシステムによれば、第1実施形態のコンピュータシステムと同様、重要度の低いデータによるDMA起動を抑止し、また、この重要度の低いデータのみを対象としたポーリングの間隔も比較的長く設定することにより、必要以上のアクセス競合やDMA起動に起因するCPU負担を軽減することを可能とすることに加え、例えばCPU(A)1とCPU(B)2との間のデータ授受のために共有メモリ3上に確保できる領域が限られる場合であっても、CPU(A)1は、CPU(B)2による処理の完了を待たずに、DMAコントローラ6によるローカルメモリ7への転送が完了した時点で、新たなデータを次々に書き込んでいくことなどが可能となる。
【0033】
(第3実施形態)
次に、この発明の第3実施形態について説明する。
【0034】
図5は、この発明の第3実施形態に係るコンピュータシステムの共有メモリ制御に関わる構成を示す図である。
【0035】
この第3実施形態と前述した第1実施形態との違いは、図5に示すように、書き込み監視部8と書き込みレジスタ9をさらに設けた点にある。書き込み監視部8は、共有メモリ3に対するデータの書き込みをCPU(A)1が実行したかどうかを監視し、データの書き込みの実行を検知したときに、そのアドレスと所定の位置に添付された属性データとを書き込みレジスタ9に格納する。図6に、書き込みレジスタ9に格納されるアドレスおよび属性データの例を示す。図中、D3〜D0は、各データに添付される属性データであり、例えばD0が割り込み要求有無、D1がDMA要求有無、D2〜D3が予めCPU間で取り決められた書き込み内容の通知やステータス情報を示す。この場合、アドレスaに書き込まれたデータについては、CPU(B)2で割り込みが発生することはなく、アドレスbに書き込まれたデータに対してCPU(B)2で割り込みが発生して、この2つのデータの書き込みがCPU(B)2に認識される。
【0036】
また、この第3実施形態のコンピュータシステムでは、アドレス判定部4および重要度判定部5が、この書き込み監視部8が書き込みレジスタ9に書き込むアドレスおよび属性データを利用して、割り込みコントローラ21に割り込み信号を供給するかどうかを判定する。
【0037】
さらに、この第3実施形態のコンピュータシステムでは、割り込みコントローラ21による割り込み発生により、共有メモリ3に対するデータの書き込みがCPU(A)1によって実行されたことを認識した際、CPU(B)2は、この書き込みレジスタ9の参照を行う。そして、この書き込みレジスタ9に格納されたアドレスおよび属性データに基づき、必要最小限の共有メモリ3に対するアクセスを実行する。
【0038】
図7は、この第3実施形態のコンピュータシステムの共有メモリ制御に関わる動作手順を表したフローチャートである。
【0039】
CPU(A)1が共有メモリ3にデータを書き込むと(ステップC1)、書き込み監視部8は、その書き込み先のアドレスと属性データとを書き込みレジスタ9に格納する(ステップC2)。
【0040】
また、アドレス判定部4は、この書き込みがCPU(B)に通知すべきアドレスへの書き込みかどうかを判定する(ステップC3)。ここで、通知すべきアドレスだとアドレス判定部4が判定すると(ステップC4)、今度は、重要度判定部5が、この書き込まれたデータは即時にCPU(B)2に引き渡すべき重要度の高いものかどうかを判定する(ステップC5)。そして、重要度の高いデータだと判定すると(ステップC6)、重要度判定部5は、割り込みコントローラ21への通知を実施する(ステップC7)。
【0041】
一方、この通知を受けた割り込みコントローラ21は、CPU(B)2に割り込みイベントの発生を通知する(ステップC8)。これにより、CPU(B)2は、CPU(A)1による共有メモリ3へのデータ書き込みを認識し(ステップC9)、割り込み発生前の処理に復帰した直後、書き込みレジスタ9の属性データに基づき、このCPU(A)1により書き込まれた共有メモリ3上のデータの読み出しを実行する(ステップC10)。
【0042】
この第3実施形態のコンピュータシステムによれば、第1実施形態のコンピュータシステムと同様、重要度の低いデータによる割り込みを抑止し、割り込みハンドラに起因するCPU負担を軽減することを可能とすることに加えて、書き込みデータの読み出しをレジスタ9に基づいて行うことにより、共有メモリ3へのアクセスを大幅に削減することを可能とし、さらに、重要度の低いデータのみを対象としたポーリングを書き込みレジスタ9に対して行うことにより、アクセス競合をさらに軽減することを可能とする。
【0043】
また、ここでは、割り込みコントローラ21に対する通知の有無を例に説明したが、書き込みレジスタ9に各データの属性データを格納するため、この属性データを利用して、例えばDMAコントローラに対する通知の有無を別途判定するなど、柔軟な制御を実施することも可能である。
【0044】
(第4実施形態)
次に、この発明の第4実施形態について説明する。
【0045】
図8は、この発明の第4実施形態に係るコンピュータシステムの共有メモリ制御に関わる構成を示す図である。
【0046】
この第4実施形態のコンピュータシステムでは、共有メモリ3に対するデータの書き込みがCPU(A)1により行われたことを、CPU(B)2は、すべてポーリングによって認識する。また、このCPU(B)2によるポーリングを効率的に行わせるために、この第4実施形態は、前述した第3実施形態で説明した書き込み監視部8および書き込みレジスタ9を備える。つまり、この第4実施形態では、CPU(B)2によるポーリングを書き込みレジスタ7に対して実行する。また、この第4実施形態では、書き込み監視部8は、アドレスのみを書き込みレジスタ9に格納する。
【0047】
図9は、この第4実施形態のコンピュータシステムの共有メモリ制御に関わる動作手順を表したフローチャートである。
【0048】
CPU(A)1が共有メモリ3にデータを書き込むと(ステップD1)、書き込み監視部8は、その書き込み先のアドレスを書き込みレジスタ9に格納する(ステップD2)。
【0049】
一方、CPU(B)2は、例えば前回のポーリングから所定の期間が経過したかどうかを判定し(ステップD3)、もし、所定の期間経過していれば(ステップD4のYES)、書き込みレジスタ8に対するポーリングを行なう(ステップD5)。そして、CPU(B)2は、この書き込みレジスタ9に基づき、CPU(A)1により書き込まれた共有メモリ3上のデータの読み出しを実行する(ステップD6)。
【0050】
この第4実施形態のコンピュータシステムによれば、書き込みデータの読み出しをレジスタ9に基づいて行うことにより、共有メモリ3へのアクセスを大幅に削減することを可能とする。
【0051】
なお、本願発明は、前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、前記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。たとえば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0052】
【発明の効果】
以上のように、この発明によれば、アクセス競合や割り込みハンドラに関わるCPU負担を軽減し、共有メモリを介した複数のCPU間のデータ授受を効率的に行うことを可能としたコンピュータシステムおよび同システムの共有メモリ制御方法を提供することができる。
【図面の簡単な説明】
【図1】この発明の第1実施形態に係るコンピュータシステムの共有メモリ制御に関わる構成を示す図。
【図2】同第1実施形態のコンピュータシステムの共有メモリ制御に関わる動作手順を表したフローチャート。
【図3】同第2実施形態に係るコンピュータシステムの共有メモリ制御に関わる構成を示す図。
【図4】同第2実施形態のコンピュータシステムの共有メモリ制御に関わる動作手順を表したフローチャート。
【図5】同第3実施形態に係るコンピュータシステムの共有メモリ制御に関わる構成を示す図。
【図6】同第3実施形態に係るコンピュータシステムの書き込みレジスタに格納されるアドレスおよび属性データの例を示す図。
【図7】同第3実施形態のコンピュータシステムの共有メモリ制御に関わる動作手順を表したフローチャート。
【図8】同第4実施形態に係るコンピュータシステムの共有メモリ制御に関わる構成を示す図。
【図9】同第4実施形態のコンピュータシステムの共有メモリ制御に関わる動作手順を表したフローチャート。
【符号の説明】
1,2…CPU
3…共有メモリ
4…アドレス判定部
5…重要度判定部
6…DMAコントローラ
7…ローカルメモリ
8…書き込み監視部
9…書き込みレジスタ
21…割り込みコントローラ
41…レジスタ
42…比較器
51…アンド回路
【発明の属する技術分野】
この発明は、複数のCPUからアクセスされる共有メモリを備えたコンピュタシステムおよび同システムの共有メモリ制御方法に係り、特に、この共有メモリを介した複数のCPU間のデータ授受を効率的に行うことを可能としたコンピュタシステムおよび同システムの共有メモリ制御方法に関する。
【0002】
【従来の技術】
近年、例えば画像データや音声データ、あるいはネットワークデータなど、複雑な処理や即時性の求められるデータを取り扱うために、複数のCPUを備えるコンピュータシステム(1台のコンピュータが複数のCPUを備える場合であってもよいし、1つのCPUを各々備える複数台のコンピュータが連結される場合であってもよい)が広く普及している。そして、これら複数のCPU間でデータを授受するためのものとして、いわゆる共有メモリ(デュアルポートメモリ)が存在する。
【0003】
この共有メモリを介して複数のCPU間でデータの受け渡しを行う場合、一方のCPUが書き込んだデータを他方のCPUが読み出すために、相手のCPUがデータを書き込んだ旨を検知する仕組みや、あるいはデータを書き込んだ際に相手のCPUにその旨を通知する仕組みが必要である。
【0004】
そのため、従来では、各CPUが相手CPUと取り決めた特定アドレスを所定のタイミングでポーリング(リード)したり、あるいは、例えば特公昭60−20779号などに記載されているように、特定アドレスにデータを書き込んだ場合に、割り込みを発生させることにより相手CPUにその旨を通知するといったことを行うことが一般的であった。
【0005】
【発明が解決しようとする課題】
しかしながら、ポーリングによる方法では、各CPUが所定のタイミングでそのポーリングを行うことになるため、相手CPUが書き込んだ即時性の求められるデータを速やかに読み出すことができないといった問題があった。また、相手CPUによるデータの書き込み有無に関わらず、頻繁にポーリングのためのアクセスを行う必要が生じるため、相手CPUからのアクセスと競合する頻度を高めてしまい、ポーリングのためのアクセスが待たされた結果、レスポンス(アクセスレイテンシ)を低下させるといった問題もあった。
【0006】
一方、割り込みによる方法では、その都度、割り込みハンドラを起動する必要が生じるため、データの書き込みを通知された側のCPUの負担が重くなり、結果的にそのデータの処理の遅延を招いてしまうといった問題があった。
【0007】
この発明は、このような事情を考慮してなされたものであり、アクセス競合や割り込みハンドラに関わるCPU負担を軽減し、共有メモリを介した複数のCPU間のデータ授受を効率的に行うことを可能としたコンピュータシステムおよび同システムの共有メモリ制御方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
前述した目的を達成するために、この発明は、共有メモリと、前記共有メモリに書き込みデータを書き込む第1のCPUと、第2のCPUと、前記書き込みデータの処理を前記第2のCPUに指示するコントローラと、前記第1のCPUから前記書き込みデータの属性を示す属性データを受け取り、この属性データを元に前記書き込みデータを前記コントローラに通知すべきか否かを判定する判定手段とを具備することを特徴とするコンピュータシステムを提供する。
【0009】
このコンピュータシステムにおいては、共有メモリに対するデータの書き込みが第1のCPUによって行われた際、そのデータを第2のCPUに即座に引き渡す必要があるかどうかを判定する手段を設けたことにより、例えば重要度の高いデータの場合は、割り込みによって第2のCPUに速やかに通知し、一方、重要度の低いデータの場合は、第2のCPUがその後に実行するであろうポーリングに委ねるなど、柔軟な対応を実現することができる。
【0010】
これにより、重要度の低いデータによる割り込みを抑止でき、また、(重要度の低いデータのみを対象とした)ポーリングの間隔も比較的長く設定することができるため、必要以上のアクセス競合や割り込みハンドラに起因するCPU負担を軽減することを可能とする。
【0011】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
【0012】
(第1実施形態)
まず、この発明の第1実施形態について説明する。
【0013】
図1は、この発明の第1実施形態に係るコンピュータシステムの共有メモリ制御に関わる構成を示す図である。
【0014】
図1に示すように、このコンピュータシステムは、CPU(A)1およびCPU(B)2の2つのCPUを有している。そして、この2つのCPUの間でデータをやり取りするために、このコンピュータシステムは、CPU(A)1およびCPU(B)2から共有される共有メモリ3を設けている。また、ここでは、例えばCPU(A)1がネットワーク経由で画像データを受信し、この画像データをCPU(B)に転送してその再生処理を行わせる等の動作を想定する。すなわち、即時性が求められる重要度の高いデータを共有メモリ3を介してやり取りする場合を考える。
【0015】
このような場合、CPU(A)1上で動作するプログラムとCPU(B)2上で動作するプログラムとは、共有メモリ3上のどの領域を使ってデータを授受するのかを決定する。そして、CPU(B)2は、ここで決定された領域のアドレス範囲を示すデータをアドレス判定部4のレジスタ41に格納する。
【0016】
このアドレス判定部4は、CPU(A)1が共有メモリ3にデータを書き込んだときに、その書き込み先のアドレスがCPU(B)2との間で取り決めを行った領域内かどうかを判定するものであり、アドレスラインに出力された書き込み先アドレスとレジスタ41に格納されたデータを比較器42で比較する。この比較器42は、この書き込み先のアドレスがCPU(B)2との間で取り決めを行った領域内であるとき、つまりレジスタ41に格納されたデータで示されるアドレス範囲と合致するとき、アクティブ信号を出力するように構成されており、この比較器42から出力されたアクティブ信号は、重要度判定部5のアンド回路51に供給される。
【0017】
この重要度判定部5は、CPU(A)1が共有メモリ3にデータを書き込んだときに、そのデータがCPU(B)により即時に処理されるべき重要度の高いデータかどうかを判定するものであり、アンド回路51は、データラインに出力された書き込みデータの所定ビットが“1”であり、かつ、比較器42がアクティブ信号を出力しているときに、CPU(B)2に内蔵された割り込みコントローラ21に向けて割り込み信号を出力する。
【0018】
CPU(A)1上で動作するプログラムは、例えば画像データなどを共有メモリ3に書き込む際、CPU(B)2上で動作するプログラムとの間で予め取り決められた属性データを当該書き込みデータ上の所定の位置に添付する。また、この属性データの所定ビットには、その書き込みデータの重要度を示す情報を格納する。具体的には、その書き込みデータがCPU(B)により即時に処理されるべき重要度の高いデータである場合、この所定ビットに“1”を格納する。そして、重要度判定部5は、この所定の位置に添付された属性データの所定ビットを取り込んで、アンド回路51に供給する。
【0019】
アドレス判定部4により、書き込み先のアドレスがCPU(B)2との間で取り決めを行った領域内であると判定され、かつ、重要度判定部5により、そのデータがCPU(B)により即時に処理されるべき重要度の高いデータであると判定されると、CPU(B)2の割り込みコントローラ21に割り込み信号が供給されることになる。そして、割り込みコントローラ21は、割り込みを発生させて、CPU(B)2に割り込みハンドラを起動させ、その割り込み要因、つまり共有メモリ3に対するデータの書き込みがCPU(A)1によって実行されたことを認識させる。
【0020】
これにより、CPU(B)2は、CPU(A)1が共有メモリ3にデータを書き込んだことを知り、この割り込み処理が終了して一旦割り込み発生前の処理に復帰した直後に、即時に処理すべき重要度の高い、この共有メモリ3に書き込まれたデータの読み出し処理に移行する。
【0021】
図2は、この第1実施形態のコンピュータシステムの共有メモリ制御に関わる動作手順を表したフローチャートである。
【0022】
CPU(A)1が共有メモリ3にデータを書き込むと(ステップA1)、アドレス判定部4は、この書き込みがCPU(B)に通知すべきアドレスへの書き込みかどうかを判定する(ステップA2)。ここで、通知すべきアドレスだとアドレス判定部4が判定すると(ステップA3)、今度は、重要度判定部5が、この書き込まれたデータは即時にCPU(B)2に引き渡すべき重要度の高いものかどうかを判定する(ステップA4)。そして、重要度の高いデータだと判定すると(ステップA5)、重要度判定部5は、割り込みコントローラ21への通知を実施する(ステップA6)。
【0023】
一方、この通知を受けた割り込みコントローラ21は、CPU(B)2に割り込みイベントの発生を通知する(ステップA7)。これにより、CPU(B)2は、CPU(A)1による共有メモリ3へのデータ書き込みを認識し(ステップA8)、割り込み発生前の処理に復帰した直後、このCPU(A)1により書き込まれた共有メモリ3上のデータの読み出しを実行する(ステップA9)。
【0024】
なお、CPU(A)1により共有メモリ3に書き込まれたデータであって、アドレス判定部4および重要度判定部5の判定により割り込みコントローラ21への通知が見合わせられたデータ、つまり、重要度の低いデータの書き込みは、例えば重要度の高いデータが書き込まれた際、そのデータとともにCPU(B)2に認識され、あるいは、例えばCPU(B)2からの共有メモリ3へのアクセスが一定期間を越えて途切れたときや、CPU(B)2の空き時間などに実施されるポーリング時に、CPU(B)2に認識されて読み出される。
【0025】
このように、この第1実施形態のコンピュータシステムでは、重要度の高いデータのみを割り込みで通知するための判定手段を設けて、重要度の低いデータによる割り込みを抑止し、また、この重要度の低いデータのみを対象としたポーリングの間隔も比較的長く設定することにより、必要以上のアクセス競合や割り込みハンドラに起因するCPU負担を軽減することを可能とする。このポーリングの間隔は、通常、例えばCPU(B)2上で動作するオペレーティングシステムやユーティリティプログラム等でソフトウェア的に設定可能である。
【0026】
(第2実施形態)
次に、この発明の第2実施形態について説明する。
【0027】
図3は、この発明の第2実施形態に係るコンピュータシステムの共有メモリ制御に関わる構成を示す図である。
【0028】
この第2実施形態と前述した第1実施形態との違いは、図3に示すように、重要度判定部5による通知先をDMAコントローラ6とした点にある。DMAコントローラ6は、この通知を受けたとき、CPU(A)1により書き込まれたデータを共有メモリ3から読み出し、CPU(B)2が備えるローカルメモリ7に書き込む。つまり、DMAコントローラ6は、重要度の高いデータの書き込み時のみ、共有メモリ3とローカルメモリ7との間の転送を実行する。そして、この転送完了後、DMAコントローラ6は、このデータ転送をCPU(B)2に割り込み信号により通知する。
【0029】
図4は、この第2実施形態のコンピュータシステムの共有メモリ制御に関わる動作手順を表したフローチャートである。
【0030】
CPU(A)1が共有メモリ3にデータを書き込むと(ステップB1)、アドレス判定部4は、この書き込みがCPU(B)に通知すべきアドレスへの書き込みかどうかを判定する(ステップB2)。ここで、通知すべきアドレスだとアドレス判定部4が判定すると(ステップB3)、今度は、重要度判定部5が、この書き込まれたデータは即時にCPU(B)2に引き渡すべき重要度の高いものかどうかを判定する(ステップB4)。そして、重要度の高いデータだと判定すると(ステップB5)、重要度判定部5は、DMAコントローラ6への通知を実施する(ステップB6)。
【0031】
この通知を受けたDMAコントローラ6は、CPU(A)1により書き込まれた共有メモリ3上のデータをローカルメモリ3に転送し(ステップB7)、その転送完了後に、このデータ転送の実行をCPU(B)2に通知する(ステップB8)。この通知により、CPU(B)2は、CPU(A)1による共有メモリ3へのデータ書き込みを認識し(ステップB9)、ローカルメモリ7に転送されたデータの処理を実行する(ステップB10)。
【0032】
この第2実施形態のコンピュータシステムによれば、第1実施形態のコンピュータシステムと同様、重要度の低いデータによるDMA起動を抑止し、また、この重要度の低いデータのみを対象としたポーリングの間隔も比較的長く設定することにより、必要以上のアクセス競合やDMA起動に起因するCPU負担を軽減することを可能とすることに加え、例えばCPU(A)1とCPU(B)2との間のデータ授受のために共有メモリ3上に確保できる領域が限られる場合であっても、CPU(A)1は、CPU(B)2による処理の完了を待たずに、DMAコントローラ6によるローカルメモリ7への転送が完了した時点で、新たなデータを次々に書き込んでいくことなどが可能となる。
【0033】
(第3実施形態)
次に、この発明の第3実施形態について説明する。
【0034】
図5は、この発明の第3実施形態に係るコンピュータシステムの共有メモリ制御に関わる構成を示す図である。
【0035】
この第3実施形態と前述した第1実施形態との違いは、図5に示すように、書き込み監視部8と書き込みレジスタ9をさらに設けた点にある。書き込み監視部8は、共有メモリ3に対するデータの書き込みをCPU(A)1が実行したかどうかを監視し、データの書き込みの実行を検知したときに、そのアドレスと所定の位置に添付された属性データとを書き込みレジスタ9に格納する。図6に、書き込みレジスタ9に格納されるアドレスおよび属性データの例を示す。図中、D3〜D0は、各データに添付される属性データであり、例えばD0が割り込み要求有無、D1がDMA要求有無、D2〜D3が予めCPU間で取り決められた書き込み内容の通知やステータス情報を示す。この場合、アドレスaに書き込まれたデータについては、CPU(B)2で割り込みが発生することはなく、アドレスbに書き込まれたデータに対してCPU(B)2で割り込みが発生して、この2つのデータの書き込みがCPU(B)2に認識される。
【0036】
また、この第3実施形態のコンピュータシステムでは、アドレス判定部4および重要度判定部5が、この書き込み監視部8が書き込みレジスタ9に書き込むアドレスおよび属性データを利用して、割り込みコントローラ21に割り込み信号を供給するかどうかを判定する。
【0037】
さらに、この第3実施形態のコンピュータシステムでは、割り込みコントローラ21による割り込み発生により、共有メモリ3に対するデータの書き込みがCPU(A)1によって実行されたことを認識した際、CPU(B)2は、この書き込みレジスタ9の参照を行う。そして、この書き込みレジスタ9に格納されたアドレスおよび属性データに基づき、必要最小限の共有メモリ3に対するアクセスを実行する。
【0038】
図7は、この第3実施形態のコンピュータシステムの共有メモリ制御に関わる動作手順を表したフローチャートである。
【0039】
CPU(A)1が共有メモリ3にデータを書き込むと(ステップC1)、書き込み監視部8は、その書き込み先のアドレスと属性データとを書き込みレジスタ9に格納する(ステップC2)。
【0040】
また、アドレス判定部4は、この書き込みがCPU(B)に通知すべきアドレスへの書き込みかどうかを判定する(ステップC3)。ここで、通知すべきアドレスだとアドレス判定部4が判定すると(ステップC4)、今度は、重要度判定部5が、この書き込まれたデータは即時にCPU(B)2に引き渡すべき重要度の高いものかどうかを判定する(ステップC5)。そして、重要度の高いデータだと判定すると(ステップC6)、重要度判定部5は、割り込みコントローラ21への通知を実施する(ステップC7)。
【0041】
一方、この通知を受けた割り込みコントローラ21は、CPU(B)2に割り込みイベントの発生を通知する(ステップC8)。これにより、CPU(B)2は、CPU(A)1による共有メモリ3へのデータ書き込みを認識し(ステップC9)、割り込み発生前の処理に復帰した直後、書き込みレジスタ9の属性データに基づき、このCPU(A)1により書き込まれた共有メモリ3上のデータの読み出しを実行する(ステップC10)。
【0042】
この第3実施形態のコンピュータシステムによれば、第1実施形態のコンピュータシステムと同様、重要度の低いデータによる割り込みを抑止し、割り込みハンドラに起因するCPU負担を軽減することを可能とすることに加えて、書き込みデータの読み出しをレジスタ9に基づいて行うことにより、共有メモリ3へのアクセスを大幅に削減することを可能とし、さらに、重要度の低いデータのみを対象としたポーリングを書き込みレジスタ9に対して行うことにより、アクセス競合をさらに軽減することを可能とする。
【0043】
また、ここでは、割り込みコントローラ21に対する通知の有無を例に説明したが、書き込みレジスタ9に各データの属性データを格納するため、この属性データを利用して、例えばDMAコントローラに対する通知の有無を別途判定するなど、柔軟な制御を実施することも可能である。
【0044】
(第4実施形態)
次に、この発明の第4実施形態について説明する。
【0045】
図8は、この発明の第4実施形態に係るコンピュータシステムの共有メモリ制御に関わる構成を示す図である。
【0046】
この第4実施形態のコンピュータシステムでは、共有メモリ3に対するデータの書き込みがCPU(A)1により行われたことを、CPU(B)2は、すべてポーリングによって認識する。また、このCPU(B)2によるポーリングを効率的に行わせるために、この第4実施形態は、前述した第3実施形態で説明した書き込み監視部8および書き込みレジスタ9を備える。つまり、この第4実施形態では、CPU(B)2によるポーリングを書き込みレジスタ7に対して実行する。また、この第4実施形態では、書き込み監視部8は、アドレスのみを書き込みレジスタ9に格納する。
【0047】
図9は、この第4実施形態のコンピュータシステムの共有メモリ制御に関わる動作手順を表したフローチャートである。
【0048】
CPU(A)1が共有メモリ3にデータを書き込むと(ステップD1)、書き込み監視部8は、その書き込み先のアドレスを書き込みレジスタ9に格納する(ステップD2)。
【0049】
一方、CPU(B)2は、例えば前回のポーリングから所定の期間が経過したかどうかを判定し(ステップD3)、もし、所定の期間経過していれば(ステップD4のYES)、書き込みレジスタ8に対するポーリングを行なう(ステップD5)。そして、CPU(B)2は、この書き込みレジスタ9に基づき、CPU(A)1により書き込まれた共有メモリ3上のデータの読み出しを実行する(ステップD6)。
【0050】
この第4実施形態のコンピュータシステムによれば、書き込みデータの読み出しをレジスタ9に基づいて行うことにより、共有メモリ3へのアクセスを大幅に削減することを可能とする。
【0051】
なお、本願発明は、前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、前記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。たとえば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0052】
【発明の効果】
以上のように、この発明によれば、アクセス競合や割り込みハンドラに関わるCPU負担を軽減し、共有メモリを介した複数のCPU間のデータ授受を効率的に行うことを可能としたコンピュータシステムおよび同システムの共有メモリ制御方法を提供することができる。
【図面の簡単な説明】
【図1】この発明の第1実施形態に係るコンピュータシステムの共有メモリ制御に関わる構成を示す図。
【図2】同第1実施形態のコンピュータシステムの共有メモリ制御に関わる動作手順を表したフローチャート。
【図3】同第2実施形態に係るコンピュータシステムの共有メモリ制御に関わる構成を示す図。
【図4】同第2実施形態のコンピュータシステムの共有メモリ制御に関わる動作手順を表したフローチャート。
【図5】同第3実施形態に係るコンピュータシステムの共有メモリ制御に関わる構成を示す図。
【図6】同第3実施形態に係るコンピュータシステムの書き込みレジスタに格納されるアドレスおよび属性データの例を示す図。
【図7】同第3実施形態のコンピュータシステムの共有メモリ制御に関わる動作手順を表したフローチャート。
【図8】同第4実施形態に係るコンピュータシステムの共有メモリ制御に関わる構成を示す図。
【図9】同第4実施形態のコンピュータシステムの共有メモリ制御に関わる動作手順を表したフローチャート。
【符号の説明】
1,2…CPU
3…共有メモリ
4…アドレス判定部
5…重要度判定部
6…DMAコントローラ
7…ローカルメモリ
8…書き込み監視部
9…書き込みレジスタ
21…割り込みコントローラ
41…レジスタ
42…比較器
51…アンド回路
Claims (8)
- 共有メモリと、
前記共有メモリに書き込みデータを書き込む第1のCPUと、
第2のCPUと、
前記書き込みデータの処理を前記第2のCPUに指示するコントローラと、
前記第1のCPUから前記書き込みデータの属性を示す属性データを受け取り、この属性データを元に前記書き込みデータを前記コントローラに通知すべきか否かを判定する判定手段と、
を具備することを特徴とするコンピュータシステム。 - 前記コントローラは、前記第2のCPUに内蔵され、割り込みを発生させる割り込みコントローラであることを特徴とする請求項1記載のコンピュータシステム。
- 前記コントローラは、前記第1のCPUにより前記共有メモリに書き込まれたデータを前記第2のCPUが備えるローカルメモリに転送するとともに、その転送完了後に、その旨を前記第2のCPUに通知するDMAコントローラであることを特徴とする請求項1記載のコンピュータシステム。
- 前記判定手段は、前記第1のCPUによりデータが書き込まれた前記共有メモリ上のアドレスが予め定められた領域内であるか否かを判定するアドレス判定手段を有することを特徴とする請求項1記載のコンピュータシステム。
- 共有メモリと、
前記共有メモリに書き込みデータを書き込む第1のCPUと、
第2のCPUと、
レジスタと、
前記書き込みデータの前記共有メモリ上のアドレスを前記レジスタに格納する書き込み監視手段と、
を具備し、
前記第2のCPUは、前記レジスタに格納されたアドレスに基づき、前記書き込みデータを読み出すことを特徴とするコンピュータシステム。 - 前記書き込みデータの処理を前記第2のCPUに指示するコントローラと、
前記レジスタにアドレスが格納された場合に、その書き込みデータを前記コントローラに通知すべきか否かを判定する判定手段と、
をさらに具備することを特徴とする請求項5記載のコンピュータシステム。 - 共有メモリと、前記共有メモリに書き込みデータを書き込む第1のCPUと、第2のCPUと、前記書き込みデータの処理を前記第2のCPUに指示するコントローラとを備えたコンピュータシステムの共有メモリ制御方法であって、
前記第1のCPUから前記書き込みデータの属性を示す属性データを受け取り、この属性データを元に前記書き込みデータを前記コントローラに通知すべきか否かを判定することを特徴とする共有メモリ制御方法。 - 共有メモリと、前記共有メモリに書き込みデータを書き込む第1のCPUと、第2のCPUと、レジスタと、前記書き込みデータの前記共有メモリ上のアドレスを前記レジスタに格納する書き込み監視手段とを備えたコンピュータシステムの共有メモリ制御方法であって、
前記第2のCPUが、前記レジスタに格納されたアドレスに基づき、前記書き込みデータを読み出すことを特徴とする共有メモリ制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002239548A JP2004078683A (ja) | 2002-08-20 | 2002-08-20 | コンピュータシステムおよび共有メモリ制御方法 |
US10/642,744 US20040107264A1 (en) | 2002-08-20 | 2003-08-19 | Computer system and memory control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002239548A JP2004078683A (ja) | 2002-08-20 | 2002-08-20 | コンピュータシステムおよび共有メモリ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004078683A true JP2004078683A (ja) | 2004-03-11 |
Family
ID=32022629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002239548A Pending JP2004078683A (ja) | 2002-08-20 | 2002-08-20 | コンピュータシステムおよび共有メモリ制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20040107264A1 (ja) |
JP (1) | JP2004078683A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009237980A (ja) * | 2008-03-27 | 2009-10-15 | Hitachi Ltd | マルチポートメモリおよび情報処理システム |
JPWO2015121986A1 (ja) * | 2014-02-14 | 2017-03-30 | 株式会社Murakumo | システム、記憶装置および方法 |
WO2017163302A1 (ja) * | 2016-03-22 | 2017-09-28 | 株式会社東芝 | 制御装置 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7613886B2 (en) * | 2005-02-08 | 2009-11-03 | Sony Computer Entertainment Inc. | Methods and apparatus for synchronizing data access to a local memory in a multi-processor system |
KR100725099B1 (ko) * | 2005-12-22 | 2007-06-04 | 삼성전자주식회사 | 멀티패쓰 억세스블 반도체 메모리 장치에서의 메모리확장구조 |
KR20090032415A (ko) * | 2007-09-28 | 2009-04-01 | 삼성전자주식회사 | 프로세서 웨이크 업 기능을 갖는 멀티포트 반도체 메모리장치 및 이를 채용한 멀티 프로세서 시스템 그리고 멀티프로세서 시스템에서의 프로세서 웨이크 업 방법 |
KR20090095955A (ko) * | 2008-03-07 | 2009-09-10 | 삼성전자주식회사 | 불휘발성 메모리의 공유 구조에서 다이렉트 억세스 기능을제공하는 멀티포트 반도체 메모리 장치 및 그를 채용한멀티 프로세서 시스템 |
EP2795503A4 (en) * | 2011-12-21 | 2015-08-26 | Intel Corp | SECURE DIRECT MEMORY ACCESS |
US10437600B1 (en) | 2017-05-02 | 2019-10-08 | Ambarella, Inc. | Memory hierarchy to transfer vector data for operators of a directed acyclic graph |
GB201721734D0 (en) | 2017-12-22 | 2018-02-07 | Nordic Semiconductor Asa | Inter-processor communication |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4212057A (en) * | 1976-04-22 | 1980-07-08 | General Electric Company | Shared memory multi-microprocessor computer system |
WO1997005550A1 (en) * | 1995-07-27 | 1997-02-13 | Intel Corporation | Protocol for arbitrating access to a shared memory area using historical state information |
US6374323B1 (en) * | 1998-11-16 | 2002-04-16 | Infineon Technologies Ag | Computer memory conflict avoidance using page registers |
US6557084B2 (en) * | 1999-07-13 | 2003-04-29 | International Business Machines Corporation | Apparatus and method to improve performance of reads from and writes to shared memory locations |
-
2002
- 2002-08-20 JP JP2002239548A patent/JP2004078683A/ja active Pending
-
2003
- 2003-08-19 US US10/642,744 patent/US20040107264A1/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009237980A (ja) * | 2008-03-27 | 2009-10-15 | Hitachi Ltd | マルチポートメモリおよび情報処理システム |
JPWO2015121986A1 (ja) * | 2014-02-14 | 2017-03-30 | 株式会社Murakumo | システム、記憶装置および方法 |
WO2017163302A1 (ja) * | 2016-03-22 | 2017-09-28 | 株式会社東芝 | 制御装置 |
Also Published As
Publication number | Publication date |
---|---|
US20040107264A1 (en) | 2004-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4792113B2 (ja) | プロセッサ間割り込み | |
JP2008090375A (ja) | 割込み制御システム、およびこれを利用した記憶制御システム | |
JP2001524707A (ja) | コントローラの機能性を高めるためのファームウェアの使用 | |
JP3055917B2 (ja) | データ転送制御装置 | |
JP4530971B2 (ja) | 起動処理装置、dma転送システム、dma転送方法 | |
JP2004078683A (ja) | コンピュータシステムおよび共有メモリ制御方法 | |
JP2822782B2 (ja) | シングルチップマイクロコンピュータ | |
JP2007058716A (ja) | データ転送バスシステム | |
JP2001067235A (ja) | 割込コントローラ及びマイクロコンピュータ | |
JP2007164421A (ja) | 並列処理装置及び並列処理方法及び並列処理プログラム | |
KR20070080493A (ko) | 하드웨어 폴링 처리기를 포함한 데이터 처리 시스템 | |
JP4487756B2 (ja) | コンピュータシステム及びシステム監視プログラム | |
JP2006268753A (ja) | Dma回路及びコンピュータシステム | |
JP2007310735A (ja) | ダイレクトメモリアクセスコントローラ | |
JP2005258509A (ja) | ストレージ装置 | |
JPH08171528A (ja) | データ処理装置 | |
JP2004334840A (ja) | システムバスの制御方法及び関連装置 | |
JPH11327798A (ja) | データ転送制御装置 | |
JP2005346708A (ja) | データ処理装置およびそのポーリング・ループ管理方法 | |
JP2819705B2 (ja) | データ転送制御装置 | |
JP2004021713A (ja) | 半導体記憶装置 | |
JP3266184B2 (ja) | 入出力制御方法とその装置 | |
JP2003330871A (ja) | データ転送装置 | |
JP2976343B2 (ja) | 起動受け付け方法 | |
JP2006119982A (ja) | コンピュータシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050517 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051004 |