JPH07200488A - 共用メモリアクセス調整方法およびその方法を用いた共用メモリアクセス調整回路 - Google Patents
共用メモリアクセス調整方法およびその方法を用いた共用メモリアクセス調整回路Info
- Publication number
- JPH07200488A JPH07200488A JP33632093A JP33632093A JPH07200488A JP H07200488 A JPH07200488 A JP H07200488A JP 33632093 A JP33632093 A JP 33632093A JP 33632093 A JP33632093 A JP 33632093A JP H07200488 A JPH07200488 A JP H07200488A
- Authority
- JP
- Japan
- Prior art keywords
- access
- processor
- shared memory
- memory
- data
- 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
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】各プロセッサの読み出し/書き込み処理のメモ
リアクセス時間を短縮し、マルチプロセッサシステムの
処理速度を向上させる。 【構成】アクセス要求が競合する場合は、優先順位によ
り定められる順番に従ってアクセスが許可される。書込
み要求では、最優先のプロセッサのデータをメモリへ直
接転送し、他はメモリバッファに格納し、先のアクセス
が終わるとメモリバッファからメモリへ転送される。読
出し要求では、最優先のプロセッサのアクセスデータを
共用メモリへ直接転送し、アクセスが終了すると、次の
データを、共用メモリへ直接転送する。メモリから出力
されたデータは、出力の開始からカウント回路によるカ
ウント後、ラッチ回路に取り込まれ、プロセッサはラッ
チ回路からデータを読み出す。書込み要求と読出し要求
とが競合するときは書込みを優先する。
リアクセス時間を短縮し、マルチプロセッサシステムの
処理速度を向上させる。 【構成】アクセス要求が競合する場合は、優先順位によ
り定められる順番に従ってアクセスが許可される。書込
み要求では、最優先のプロセッサのデータをメモリへ直
接転送し、他はメモリバッファに格納し、先のアクセス
が終わるとメモリバッファからメモリへ転送される。読
出し要求では、最優先のプロセッサのアクセスデータを
共用メモリへ直接転送し、アクセスが終了すると、次の
データを、共用メモリへ直接転送する。メモリから出力
されたデータは、出力の開始からカウント回路によるカ
ウント後、ラッチ回路に取り込まれ、プロセッサはラッ
チ回路からデータを読み出す。書込み要求と読出し要求
とが競合するときは書込みを優先する。
Description
【0001】
【産業上の利用分野】本発明は、2以上のプロセッサ
が、共用メモリを任意にアクセスする場合の、共用メモ
リアクセス調整方法および共用メモリアクセス調整回路
に関する。
が、共用メモリを任意にアクセスする場合の、共用メモ
リアクセス調整方法および共用メモリアクセス調整回路
に関する。
【0002】
【従来の技術】これまで、複数のプロセッサが共用メモ
リをアクセスする方法としては、DMA(Direct Memor
y Access)転送方式によるものが主に知られている。図
2に示すように、プロセッサ1〜4からのアクセス要求
が6〜9をアクセスする際しては、プロセッサ1〜4か
らのアクセス要求は転送開始アドレス、転送語数ととも
にDMA制御回路5に転送された上、DMA制御回路
(DMAC:Direct Memory Access Controller)5に
よる制御下にアクセスアドレスが連続的に転送語数分更
新される。これによって、プロセッサ1〜4と共用メモ
リ6〜9との間では、DMA転送形式でアクセスが行わ
れているものである。
リをアクセスする方法としては、DMA(Direct Memor
y Access)転送方式によるものが主に知られている。図
2に示すように、プロセッサ1〜4からのアクセス要求
が6〜9をアクセスする際しては、プロセッサ1〜4か
らのアクセス要求は転送開始アドレス、転送語数ととも
にDMA制御回路5に転送された上、DMA制御回路
(DMAC:Direct Memory Access Controller)5に
よる制御下にアクセスアドレスが連続的に転送語数分更
新される。これによって、プロセッサ1〜4と共用メモ
リ6〜9との間では、DMA転送形式でアクセスが行わ
れているものである。
【0003】DMA転送による場合には、DMA転送の
度に、プロセッサから転送開始アドレス及び転送語数が
DMA制御回路に転送設定される必要がある。しかし、
連続アドレスに係るデータを大量にアクセスする場合に
は、転送語数等を転送設定するのに要される時間は無視
されることから、それなりに有効なものとなっている。
度に、プロセッサから転送開始アドレス及び転送語数が
DMA制御回路に転送設定される必要がある。しかし、
連続アドレスに係るデータを大量にアクセスする場合に
は、転送語数等を転送設定するのに要される時間は無視
されることから、それなりに有効なものとなっている。
【0004】一方、散発的なアドレスに係る少量のデー
タをDMA転送によりアクセスする場合は、転送語数等
を転送設定するのに要される時間が、実際のDMA転送
に要される時間よりも大きくなる場合がる。ゆえに、D
MA転送は少量データをアクセスする上で不利であると
いえる。また、DMA転送が行われている間は、DMA
転送に現に係っている1つのプロセッサにょって共通バ
スが占有されてしまい、それ以外のプロセッサは他の共
用メモリに対しアクセスが不可能となる。
タをDMA転送によりアクセスする場合は、転送語数等
を転送設定するのに要される時間が、実際のDMA転送
に要される時間よりも大きくなる場合がる。ゆえに、D
MA転送は少量データをアクセスする上で不利であると
いえる。また、DMA転送が行われている間は、DMA
転送に現に係っている1つのプロセッサにょって共通バ
スが占有されてしまい、それ以外のプロセッサは他の共
用メモリに対しアクセスが不可能となる。
【0005】ここで、プロセッサのリードサイクルタイ
ミングを説明しておく。モトローラ系のCPU68000を
例としたリードサイクルタイミングを、図4に示す。な
お、図4は、喜田祐三他著「マイクロコンピュータシリ
ーズ14 6800マイクロコンピュータ」(昭和58
年 丸善(株)発行)28〜35ページより引用した。
図4は、リードサイクルはプロセッサが外部デバイスか
らデータを読み取るオペレーションにおけるタイミング
チャートである。
ミングを説明しておく。モトローラ系のCPU68000を
例としたリードサイクルタイミングを、図4に示す。な
お、図4は、喜田祐三他著「マイクロコンピュータシリ
ーズ14 6800マイクロコンピュータ」(昭和58
年 丸善(株)発行)28〜35ページより引用した。
図4は、リードサイクルはプロセッサが外部デバイスか
らデータを読み取るオペレーションにおけるタイミング
チャートである。
【0006】各信号について説明する。CLK(クロッ
ク信号)は、プロセッサを動作させるための信号で、他
の信号は全てこのCLKに同期して変化する。アドレス
バス(A1〜A23)は、23ビットで構成され、8メ
ガワード(16MByte)のデータを直接アドレッシン
グすることができる。アドレスストローブはアドレスバ
スに有効なアドレスが出力されていることを示す信号で
ある。データストローブはデータバス上のデータを読み
取るタイミングを示す信号である。リード/ライト信号
はデータバス上のデータ転送がリードサイクルなのかラ
イトサイクルなのかを示す。この信号がHighのときリー
ドサイクル、Lowのときライトサイクルである。なお、
図4に示した例はリードサイクルなので、リード/ライ
ト信号はHighのままである。データバス(D0〜D15)は
16ビットの双方向のバスで、プロセッサが外部のデバ
イス(メモリや周辺装置)とデータの送受を行うための
汎用のデータ通信路である。データ転送アクノリッジ信
号(DTACK)は、外部デバイスがデータをリードま
たはライトすることが可能になったタイミングをプロセ
ッサに知らせるための信号である。アクセス速度の遅い
外部デバイスも、アクセス速度に応じてこの信号を遅ら
すことでプロセッサとのデータ送受を確実に行うことが
できる。よって、外部デバイスとプロセッサ間の非同期
のデータ転送を可能にしているのは、この信号である。
ク信号)は、プロセッサを動作させるための信号で、他
の信号は全てこのCLKに同期して変化する。アドレス
バス(A1〜A23)は、23ビットで構成され、8メ
ガワード(16MByte)のデータを直接アドレッシン
グすることができる。アドレスストローブはアドレスバ
スに有効なアドレスが出力されていることを示す信号で
ある。データストローブはデータバス上のデータを読み
取るタイミングを示す信号である。リード/ライト信号
はデータバス上のデータ転送がリードサイクルなのかラ
イトサイクルなのかを示す。この信号がHighのときリー
ドサイクル、Lowのときライトサイクルである。なお、
図4に示した例はリードサイクルなので、リード/ライ
ト信号はHighのままである。データバス(D0〜D15)は
16ビットの双方向のバスで、プロセッサが外部のデバ
イス(メモリや周辺装置)とデータの送受を行うための
汎用のデータ通信路である。データ転送アクノリッジ信
号(DTACK)は、外部デバイスがデータをリードま
たはライトすることが可能になったタイミングをプロセ
ッサに知らせるための信号である。アクセス速度の遅い
外部デバイスも、アクセス速度に応じてこの信号を遅ら
すことでプロセッサとのデータ送受を確実に行うことが
できる。よって、外部デバイスとプロセッサ間の非同期
のデータ転送を可能にしているのは、この信号である。
【0007】図4に示したリードサイクルタイミングに
おける処理の流れを図5に示す。これらの図からわかる
ように、プロセッサのアクセス時間は一般にデータバス
上のデータが確定するのに要する時間よりかなり長い。
プロセッサのアクセス時間はS13までであり、データ
バス上のデータが確定するのはS7までである。また、
データバス上のデータが確定するのに要する時間は、メ
モリ素子のアクセス速度によるので、アクセス速度が早
いメモリであれば、さらに早くすることが可能となる。
おける処理の流れを図5に示す。これらの図からわかる
ように、プロセッサのアクセス時間は一般にデータバス
上のデータが確定するのに要する時間よりかなり長い。
プロセッサのアクセス時間はS13までであり、データ
バス上のデータが確定するのはS7までである。また、
データバス上のデータが確定するのに要する時間は、メ
モリ素子のアクセス速度によるので、アクセス速度が早
いメモリであれば、さらに早くすることが可能となる。
【0008】
【発明が解決しようとする課題】この問題を解決するた
めに、本発明者等、は共用メモリアクセス制御方法を提
案した(特願平5−102169号)。この発明の構成
図を図3に示す。図3に示した例では、2つのプロセッ
サ10a,10bそれぞれが2つの共用メモリ50a,
50bを任意にアクセスする場合が想定している。プロ
セッサ10a,10bが共用メモリ50a,50bを任
意にアクセスする場合、優先順位機能付き調停回路40
は、そのアクセス対象を判定した上、アクセス要求に係
るプロセッサの制御バス、アドレスバスおよびデータバ
スを、そのアクセス対象の共用メモリに選択的に接続す
る。なお、アクセスが競合した場合は、プロセッサごと
に定められた優先順位に従って、優先順位の高いプロセ
ッサについてバスを接続し、他のプロセッサは、待たさ
れることになる。
めに、本発明者等、は共用メモリアクセス制御方法を提
案した(特願平5−102169号)。この発明の構成
図を図3に示す。図3に示した例では、2つのプロセッ
サ10a,10bそれぞれが2つの共用メモリ50a,
50bを任意にアクセスする場合が想定している。プロ
セッサ10a,10bが共用メモリ50a,50bを任
意にアクセスする場合、優先順位機能付き調停回路40
は、そのアクセス対象を判定した上、アクセス要求に係
るプロセッサの制御バス、アドレスバスおよびデータバ
スを、そのアクセス対象の共用メモリに選択的に接続す
る。なお、アクセスが競合した場合は、プロセッサごと
に定められた優先順位に従って、優先順位の高いプロセ
ッサについてバスを接続し、他のプロセッサは、待たさ
れることになる。
【0009】詳細に説明すると、プロセッサ10a,1
0bのそれぞれからメモリアクセス要求が、アクセスメ
モリ判定部41を介してアクセス調停部42に入力され
た、プロセッサ10a,10bのそれぞれからのメモリ
アクセス要求が、競合していない場合には、それぞれの
プロセッサが待たされることなく共用メモリにアクセス
する。すなわち、アクセス調停部42は、要求が入力さ
れるたびに、アクセス対象を認識し、その結果に基づい
て、制御バス、アドレスバスおよびデータバスを、アク
セス対象の共用メモリに選択的に接続する。なお、この
接続は、アドレスバス切替部45、データバス切替部4
6、制御バス切替部47を介して行なわれる。プロセッ
サ10a,10bそれぞれから、同時に、同一の共用メ
モリに対してアクセスが要求されると、プロセッサ10
a,10bそれぞれに対し予め定めれている優先順位に
従って、順番に、各バスが接続され、アクセスが実行さ
れる。先にメモリアクセスが行われる優先順位の高いプ
ロセッサのメモリアクセスが終了するまで、優先順位の
低いプロセッサは待機状態となる。
0bのそれぞれからメモリアクセス要求が、アクセスメ
モリ判定部41を介してアクセス調停部42に入力され
た、プロセッサ10a,10bのそれぞれからのメモリ
アクセス要求が、競合していない場合には、それぞれの
プロセッサが待たされることなく共用メモリにアクセス
する。すなわち、アクセス調停部42は、要求が入力さ
れるたびに、アクセス対象を認識し、その結果に基づい
て、制御バス、アドレスバスおよびデータバスを、アク
セス対象の共用メモリに選択的に接続する。なお、この
接続は、アドレスバス切替部45、データバス切替部4
6、制御バス切替部47を介して行なわれる。プロセッ
サ10a,10bそれぞれから、同時に、同一の共用メ
モリに対してアクセスが要求されると、プロセッサ10
a,10bそれぞれに対し予め定めれている優先順位に
従って、順番に、各バスが接続され、アクセスが実行さ
れる。先にメモリアクセスが行われる優先順位の高いプ
ロセッサのメモリアクセスが終了するまで、優先順位の
低いプロセッサは待機状態となる。
【0010】以上に説明した共用メモリアクセス制御方
法においては、アクセス対象が競合しない場合、各プロ
セッサがそれぞれ並行してメモリにアクセスすることが
できる。また、競合が発生した場合、すなわち、同時あ
るいは僅かな時間差をおいて、2以上のプロセッサが同
一の共用メモリにアクセスを要求した場合、優先順位の
高いプロセッサから順にアクセスを可能にする。
法においては、アクセス対象が競合しない場合、各プロ
セッサがそれぞれ並行してメモリにアクセスすることが
できる。また、競合が発生した場合、すなわち、同時あ
るいは僅かな時間差をおいて、2以上のプロセッサが同
一の共用メモリにアクセスを要求した場合、優先順位の
高いプロセッサから順にアクセスを可能にする。
【0011】しかし、この制御方法では、競合が発生し
た場合、優先順位の低いプロセッサは、優先順位の高い
プロセッサのアクセスが終了するまで待機状態となる。
よって、待ち時間中は優先順位の低いプロセッサの処理
が中止されるため、アクセスの競合が発生すると、アク
セス処理時間が長くなってしまう。また、優先順位の低
いプロセッサが共用メモリをアクセスできる時間が減少
するという問題もある。従って、競合の多発するシステ
ムにおいては、この共用メモリアクセス制御方法を用い
ると、優先順位の低いプロセッサの処理能力が非常に低
下してしまうという問題があった。さらに、従来のプロ
セッサの共用メモリへのアクセス方法では、メモリから
読みだされたデータを取り込むまでに、データがバス上
で確定するまでの時間に加えて、若干の予備時間を必要
とした。また、データを取り込んだ後に、終了処理のた
めにメモリにアクセスしていたため、実際の読み込みに
要する時間よりも、長くメモリを占有することになって
いた。
た場合、優先順位の低いプロセッサは、優先順位の高い
プロセッサのアクセスが終了するまで待機状態となる。
よって、待ち時間中は優先順位の低いプロセッサの処理
が中止されるため、アクセスの競合が発生すると、アク
セス処理時間が長くなってしまう。また、優先順位の低
いプロセッサが共用メモリをアクセスできる時間が減少
するという問題もある。従って、競合の多発するシステ
ムにおいては、この共用メモリアクセス制御方法を用い
ると、優先順位の低いプロセッサの処理能力が非常に低
下してしまうという問題があった。さらに、従来のプロ
セッサの共用メモリへのアクセス方法では、メモリから
読みだされたデータを取り込むまでに、データがバス上
で確定するまでの時間に加えて、若干の予備時間を必要
とした。また、データを取り込んだ後に、終了処理のた
めにメモリにアクセスしていたため、実際の読み込みに
要する時間よりも、長くメモリを占有することになって
いた。
【0012】また、アクセス要求の競合による処理時間
の増大を防ぐために特開昭63−298555号公報に
記載されている発明や、特開平3−33966号公報に
記載されている発明が提案されている。しかし、これら
の発明では、最も高い優先順位を有するプロセッサであ
っても、そのアクセスデータは一旦バッファに格納され
ることになる。すなわち、緊急に処理する必要のあるプ
ロセッサの読み出し/書き込み処理であるにもかかわら
ず、バッファ格納のために無駄な時間が費やされてしま
うことになる。さらに、特開昭63−298555号公
報に記載されている発明では、データアクセスの時間を
短縮できない。
の増大を防ぐために特開昭63−298555号公報に
記載されている発明や、特開平3−33966号公報に
記載されている発明が提案されている。しかし、これら
の発明では、最も高い優先順位を有するプロセッサであ
っても、そのアクセスデータは一旦バッファに格納され
ることになる。すなわち、緊急に処理する必要のあるプ
ロセッサの読み出し/書き込み処理であるにもかかわら
ず、バッファ格納のために無駄な時間が費やされてしま
うことになる。さらに、特開昭63−298555号公
報に記載されている発明では、データアクセスの時間を
短縮できない。
【0013】そこで、本発明は、上記のような無駄な時
間をなくし、マルチプロセッサシステムにおいて、各プ
ロセッサの行なう読み出し/書き込みのメモリアクセス
時間を短縮することができ、マルチプロセッサシステム
の処理速度を向上させることのできる共用メモリアクセ
ス調整方法、および共用メモリアクセス調整回路を提供
することを目的とする。
間をなくし、マルチプロセッサシステムにおいて、各プ
ロセッサの行なう読み出し/書き込みのメモリアクセス
時間を短縮することができ、マルチプロセッサシステム
の処理速度を向上させることのできる共用メモリアクセ
ス調整方法、および共用メモリアクセス調整回路を提供
することを目的とする。
【0014】
【課題を解決するための手段】上記目的を達成するた
め、本発明では、2以上のプロセッサが、共用メモリを
それぞれアクセスするマルチプロセッサシステムにおけ
る共用メモリアクセス調整方法において、2以上のプロ
セッサからの書き込みアクセス要求が競合する場合に
は、上記プロセッサごとにあらかじめ定められている優
先順位に基づき、アクセスの順番を定めるプロセスと、
競合する書き込みアクセス要求のうち、最も高い優先順
位を有する上記プロセッサのアクセス要求に係るアクセ
スデータを上記共用メモリへ直接転送し、他の優先順位
の低いプロセッサのアクセス要求にかかるアクセスデー
タは、メモリバッファに格納するプロセスと、上記共用
メモリへのアクセスが終了すると、メモリバッファに保
持されたデータのうち、最も高い優先順位を有する上記
プロセッサの書き込みアクセス要求に係るデータを、共
用メモリへ転送するプロセスとを備えることを特徴とす
る共用メモリアクセス調整方法が提供される。
め、本発明では、2以上のプロセッサが、共用メモリを
それぞれアクセスするマルチプロセッサシステムにおけ
る共用メモリアクセス調整方法において、2以上のプロ
セッサからの書き込みアクセス要求が競合する場合に
は、上記プロセッサごとにあらかじめ定められている優
先順位に基づき、アクセスの順番を定めるプロセスと、
競合する書き込みアクセス要求のうち、最も高い優先順
位を有する上記プロセッサのアクセス要求に係るアクセ
スデータを上記共用メモリへ直接転送し、他の優先順位
の低いプロセッサのアクセス要求にかかるアクセスデー
タは、メモリバッファに格納するプロセスと、上記共用
メモリへのアクセスが終了すると、メモリバッファに保
持されたデータのうち、最も高い優先順位を有する上記
プロセッサの書き込みアクセス要求に係るデータを、共
用メモリへ転送するプロセスとを備えることを特徴とす
る共用メモリアクセス調整方法が提供される。
【0015】また、2以上のプロセッサが、共用メモリ
をそれぞれアクセスするマルチプロセッサシステムにお
ける共用メモリアクセス調整方法において、2以上のプ
ロセッサからの読み出しアクセス要求が競合する場合に
は、上記プロセッサごとにあらかじめ定められている優
先順位に基づき、アクセスの順番を定めるプロセスと、
競合する読み出しアクセス要求のうち、最も高い優先順
位を有する上記プロセッサのアクセス要求に係るアクセ
スデータを上記共用メモリへ直接転送するプロセスと、
共用メモリへのアクセスが終了すると、次に優先順位の
高いプロセッサの読み出し要求に係るアクセスデータ
を、上記共用メモリへ直接転送するプロセスと、上記ア
クセスデータの転送を受けた上記共用メモリが、要求さ
れたデータを出力するプロセスと、上記共用メモリから
出力されたデータを、出力の開始からあらかじめ定めら
れた一定時間が経過したのちに、ラッチ回路に取り込む
プロセスと、上記プロセッサが、上記ラッチ回路からデ
ータを読み出すプロセスとを備えることを特徴とする共
用メモリアクセス調整方法が提供される。
をそれぞれアクセスするマルチプロセッサシステムにお
ける共用メモリアクセス調整方法において、2以上のプ
ロセッサからの読み出しアクセス要求が競合する場合に
は、上記プロセッサごとにあらかじめ定められている優
先順位に基づき、アクセスの順番を定めるプロセスと、
競合する読み出しアクセス要求のうち、最も高い優先順
位を有する上記プロセッサのアクセス要求に係るアクセ
スデータを上記共用メモリへ直接転送するプロセスと、
共用メモリへのアクセスが終了すると、次に優先順位の
高いプロセッサの読み出し要求に係るアクセスデータ
を、上記共用メモリへ直接転送するプロセスと、上記ア
クセスデータの転送を受けた上記共用メモリが、要求さ
れたデータを出力するプロセスと、上記共用メモリから
出力されたデータを、出力の開始からあらかじめ定めら
れた一定時間が経過したのちに、ラッチ回路に取り込む
プロセスと、上記プロセッサが、上記ラッチ回路からデ
ータを読み出すプロセスとを備えることを特徴とする共
用メモリアクセス調整方法が提供される。
【0016】さらに、2以上のプロセッサが、共用メモ
リをそれぞれアクセスするマルチプロセッサシステムに
おける共用メモリアクセス調整方法において、2以上の
プロセッサからの書き込みアクセス要求と読み出しアク
セス要求とが競合する場合には、読み出しアクセス要求
を優先的に処理することを特徴とする共用メモリアクセ
ス調整方法が提供される。
リをそれぞれアクセスするマルチプロセッサシステムに
おける共用メモリアクセス調整方法において、2以上の
プロセッサからの書き込みアクセス要求と読み出しアク
セス要求とが競合する場合には、読み出しアクセス要求
を優先的に処理することを特徴とする共用メモリアクセ
ス調整方法が提供される。
【0017】また、外部のプロセッサからの信号の入出
力を受け付ける複数のプロセッサ側端子と、該バス切替
部とをそれぞれ接続するプロセッサ側バスと、該バス切
替部と共用メモリに接続するためのメモリ側端子とを接
続するメモリ側バスと、プロセッサ側バスのうちの任意
のいずれかと、メモリ側バスとを接続および切断する手
段を有するバス切替部と、該バス切替部に対して、バス
の接続または切断を指示する手段を有するアクセス調停
部とを備える、共用メモリアクセス調整回路において、
上記アクセス調停部からの競合するプロセッサの通知を
受けて、該プロセッサの優先順位を判定し、判定結果を
上記アクセス調停部に通知する優先順位判定部と、上記
プロセッサからのアクセスデータを保持する手段を有す
るメモリバッファと、上記アクセス調停部からの信号に
応じてあらかじめ定められた時間をカウントし、上記ア
クセス調停部に通知するカウント回路と、上記共用メモ
リから出力されたデータを保持し、上記プロセッサに出
力する手段を有するラッチ回路とを備え、上記アクセス
調停部は、上記プロセッサ側端子から入力されたアクセ
ス要求が競合するかどうか判定する手段と、アクセス要
求が競合する場合には、上記優先順位判定手段に競合す
る要求を出したプロセッサを通知し、上記優先順位判定
手段から、優先順位の判定結果を受け取る手段と、上記
優先順位の判定結果に応じて、最も高い優先順位を有す
る上記プロセッサに接続されている上記プロセッサ側バ
スを、上記メモリ側バスに接続して、アクセスデータを
上記共用メモリに転送させる手段と、他の優先順位の低
いプロセッサの書き込みアクセス要求にかかるアクセス
データを、メモリバッファに転送させる手段と、上記共
用メモリへの書き込みアクセスが終了すると、メモリバ
ッファに保持されたデータのうち、最も高い優先順位を
有する上記プロセッサの書き込みアクセス要求に係るア
クセスデータを、該アクセスデータを保持するメモリバ
ッファを共用メモリに接続し、該アクセスデータを共用
メモリへ転送する手段と、共用メモリからのアクセスが
終了すると、次に優先順位の高い、読み出し要求をした
上記プロセッサに接続されている上記プロセッサ側バス
を、上記メモリ側バスに接続して、読み出しアクセス要
求に係るアクセスデータを上記共用メモリに転送させ、
さらに、上記カウント回路にカウントの開始を指示する
手段と、上記カウント回路からの、あらかじめ定められ
た時間の経過の通知に応じて、上記ラッチ回路に、上記
共用メモリから出力されたデータを取り込ませる手段
と、上記プロセッサ側バスに、アクセス終了信号を出力
する手段とを、さらに有することを特徴とする共用メモ
リアクセス調整回路が提供される。
力を受け付ける複数のプロセッサ側端子と、該バス切替
部とをそれぞれ接続するプロセッサ側バスと、該バス切
替部と共用メモリに接続するためのメモリ側端子とを接
続するメモリ側バスと、プロセッサ側バスのうちの任意
のいずれかと、メモリ側バスとを接続および切断する手
段を有するバス切替部と、該バス切替部に対して、バス
の接続または切断を指示する手段を有するアクセス調停
部とを備える、共用メモリアクセス調整回路において、
上記アクセス調停部からの競合するプロセッサの通知を
受けて、該プロセッサの優先順位を判定し、判定結果を
上記アクセス調停部に通知する優先順位判定部と、上記
プロセッサからのアクセスデータを保持する手段を有す
るメモリバッファと、上記アクセス調停部からの信号に
応じてあらかじめ定められた時間をカウントし、上記ア
クセス調停部に通知するカウント回路と、上記共用メモ
リから出力されたデータを保持し、上記プロセッサに出
力する手段を有するラッチ回路とを備え、上記アクセス
調停部は、上記プロセッサ側端子から入力されたアクセ
ス要求が競合するかどうか判定する手段と、アクセス要
求が競合する場合には、上記優先順位判定手段に競合す
る要求を出したプロセッサを通知し、上記優先順位判定
手段から、優先順位の判定結果を受け取る手段と、上記
優先順位の判定結果に応じて、最も高い優先順位を有す
る上記プロセッサに接続されている上記プロセッサ側バ
スを、上記メモリ側バスに接続して、アクセスデータを
上記共用メモリに転送させる手段と、他の優先順位の低
いプロセッサの書き込みアクセス要求にかかるアクセス
データを、メモリバッファに転送させる手段と、上記共
用メモリへの書き込みアクセスが終了すると、メモリバ
ッファに保持されたデータのうち、最も高い優先順位を
有する上記プロセッサの書き込みアクセス要求に係るア
クセスデータを、該アクセスデータを保持するメモリバ
ッファを共用メモリに接続し、該アクセスデータを共用
メモリへ転送する手段と、共用メモリからのアクセスが
終了すると、次に優先順位の高い、読み出し要求をした
上記プロセッサに接続されている上記プロセッサ側バス
を、上記メモリ側バスに接続して、読み出しアクセス要
求に係るアクセスデータを上記共用メモリに転送させ、
さらに、上記カウント回路にカウントの開始を指示する
手段と、上記カウント回路からの、あらかじめ定められ
た時間の経過の通知に応じて、上記ラッチ回路に、上記
共用メモリから出力されたデータを取り込ませる手段
と、上記プロセッサ側バスに、アクセス終了信号を出力
する手段とを、さらに有することを特徴とする共用メモ
リアクセス調整回路が提供される。
【0018】なお、上記優先順位判定部は、読み出しア
クセス要求を行なったプロセッサの優先順位を、書き込
みアクセス要求を行なったプロセッサの優先順位より高
くする手段を有するようにすることが望ましい。また、
プロセッサ側端子から入力されたアクセス要求から、該
要求を出した前記プロセッサと該要求の対象である前記
共用メモリとを判定し、判定結果を前記アクセス調停部
に通知する手段を有するアクセスメモリ判定部をさらに
備えるようにすることもできる。
クセス要求を行なったプロセッサの優先順位を、書き込
みアクセス要求を行なったプロセッサの優先順位より高
くする手段を有するようにすることが望ましい。また、
プロセッサ側端子から入力されたアクセス要求から、該
要求を出した前記プロセッサと該要求の対象である前記
共用メモリとを判定し、判定結果を前記アクセス調停部
に通知する手段を有するアクセスメモリ判定部をさらに
備えるようにすることもできる。
【0019】
【作用】本発明の共用メモリアクセス調整回路は、アク
セス調停部と、ラッチ回路と、メモリバッファと、カウ
ント回路と、優先順位判定部と、バス切替部とを備えて
いる。メモリバッファとラッチ回路とは、少なくともプ
ロセッサの数だけ備えられる。また、バス切り替え部と
カウント回路とは、少なくとも共用メモリの数だけ備え
られる。
セス調停部と、ラッチ回路と、メモリバッファと、カウ
ント回路と、優先順位判定部と、バス切替部とを備えて
いる。メモリバッファとラッチ回路とは、少なくともプ
ロセッサの数だけ備えられる。また、バス切り替え部と
カウント回路とは、少なくとも共用メモリの数だけ備え
られる。
【0020】第1に、本発明では、2以上のプロセッサ
からの書き込み要求が競合した場合、プロセッサごとに
あらかじめ設定されている優先順位に基づき、メモリア
クセスの順序が制御される。優先順位の一番高いプロセ
ッサについては、直ちにバスを接続し、メモリアクセス
を可能として、データを共用メモリに格納する。優先順
位の低いプロセッサについては、それぞれ、アクセス要
求に係るアクセスデータをメモリバッファに格納する。
実行中のアクセスが終了すると、本発明の共用メモリア
クセス調整回路は、そのアクセスデータをメモリバッフ
ァから共用メモリへ移す。このようにすることにより、
優先順位の低いプロセッサにおいても待ち時間をなくす
ことができる。
からの書き込み要求が競合した場合、プロセッサごとに
あらかじめ設定されている優先順位に基づき、メモリア
クセスの順序が制御される。優先順位の一番高いプロセ
ッサについては、直ちにバスを接続し、メモリアクセス
を可能として、データを共用メモリに格納する。優先順
位の低いプロセッサについては、それぞれ、アクセス要
求に係るアクセスデータをメモリバッファに格納する。
実行中のアクセスが終了すると、本発明の共用メモリア
クセス調整回路は、そのアクセスデータをメモリバッフ
ァから共用メモリへ移す。このようにすることにより、
優先順位の低いプロセッサにおいても待ち時間をなくす
ことができる。
【0021】まず、アクセス調停部は、プロセッサと処
理対象のメモリとを認識する。メモリアクセスを要求し
たプロセッサの認識は、例えば、データ幅の異なるプロ
セッサの場合には、各プロセッサのデータ幅を示す制御
信号を認識することによって行なうことができる。書き
込み対象の共用メモリの識別は、例えば、アクセスアド
レスから連続アドレス空間での位置を判定することによ
り行なうことができる。なお、アクセスメモリ判定部を
設け、このプロセッサとメモリの判定を、アクセスメモ
リ判定部が行ない、判定結果をアクセス調停部に通知す
るようにしてもよい。アクセス調停部は、このメモリの
識別結果に基づいて、共用メモリへの書き込みが競合す
ることを確認すると、プロセッサの認識結果をもとに、
優先順位判定部に、優先順位を問い合わせ、プロセッサ
のメモリアクセス順位を決定する。
理対象のメモリとを認識する。メモリアクセスを要求し
たプロセッサの認識は、例えば、データ幅の異なるプロ
セッサの場合には、各プロセッサのデータ幅を示す制御
信号を認識することによって行なうことができる。書き
込み対象の共用メモリの識別は、例えば、アクセスアド
レスから連続アドレス空間での位置を判定することによ
り行なうことができる。なお、アクセスメモリ判定部を
設け、このプロセッサとメモリの判定を、アクセスメモ
リ判定部が行ない、判定結果をアクセス調停部に通知す
るようにしてもよい。アクセス調停部は、このメモリの
識別結果に基づいて、共用メモリへの書き込みが競合す
ることを確認すると、プロセッサの認識結果をもとに、
優先順位判定部に、優先順位を問い合わせ、プロセッサ
のメモリアクセス順位を決定する。
【0022】優先順位の最も高いプロセッサの書き込み
要求については、バス切り替え部によりバスが接続さ
れ、メモリに直接データが書き込まれる。しかし、優先
順位の低いプロセッサについてはアクセス要求後直ちに
共用メモリにアクセスできないので、データのメモリ機
能を持つメモリバッファへ、一時的にアドレス情報とデ
ータ情報とを格納する。プロセッサにおける書き込み処
理は、これで終了する。
要求については、バス切り替え部によりバスが接続さ
れ、メモリに直接データが書き込まれる。しかし、優先
順位の低いプロセッサについてはアクセス要求後直ちに
共用メモリにアクセスできないので、データのメモリ機
能を持つメモリバッファへ、一時的にアドレス情報とデ
ータ情報とを格納する。プロセッサにおける書き込み処
理は、これで終了する。
【0023】メモリバッファはプロセッサごとに一個ず
つ接続されており、複数のプロセッサが1個のメモリバ
ッファを同時にアクセスすることはない。アクセス調停
部は、先に共用メモリへアクセスしたプロセッサのアク
セスが終了したことを認識後、次に高い優先順位を有す
るプロセッサに接続されたメモリバッファ内の情報を共
用メモリへ格納する。
つ接続されており、複数のプロセッサが1個のメモリバ
ッファを同時にアクセスすることはない。アクセス調停
部は、先に共用メモリへアクセスしたプロセッサのアク
セスが終了したことを認識後、次に高い優先順位を有す
るプロセッサに接続されたメモリバッファ内の情報を共
用メモリへ格納する。
【0024】本発明では、各プロセッサは、直接、共用
メモリへデータを書き込むか、あるいは一時的にメモリ
バッファへデータを格納する。いずれの場合も、待機す
ることなく、プロセッサの書き込み処理は終了するた
め、競合の発生した場合のメモリへの書き込み処理時間
を短縮することができる。
メモリへデータを書き込むか、あるいは一時的にメモリ
バッファへデータを格納する。いずれの場合も、待機す
ることなく、プロセッサの書き込み処理は終了するた
め、競合の発生した場合のメモリへの書き込み処理時間
を短縮することができる。
【0025】第2に、本発明においては、各プロセッサ
のメモリ読み出しアクセスにおいて、プロセッサが直接
メモリからデータを読み込むのではなく、各プロセッサ
ごとに接続されているラッチ回路に、メモリからのデー
タを取り込み、プロセッサは、ラッチ回路からデータを
受け取るようにすることができる。ラッチ回路は、カウ
ント回路によりカウントされた時間(バス上のデータが
確定するのに要する時間として、あらかじめ定められて
いる時間)が経過すると、ラッチを開始する。このた
め、ラッチ回路を介する本発明では、プロセッサが直接
アクセスするときに必要となるデータ確定の予備時間が
不要となるため、メモリの占有時間がこの予備時間の分
だけ短くなる。さらに、データの読み込みの終了に伴う
制御信号の授受が、メモリとプロセッサとの間ではな
く、アクセス調停部とプロセッサとの間で行なわれるた
め、この終了処理によるメモリの占有がなく、さらにメ
モリの占有時間が短くなる。
のメモリ読み出しアクセスにおいて、プロセッサが直接
メモリからデータを読み込むのではなく、各プロセッサ
ごとに接続されているラッチ回路に、メモリからのデー
タを取り込み、プロセッサは、ラッチ回路からデータを
受け取るようにすることができる。ラッチ回路は、カウ
ント回路によりカウントされた時間(バス上のデータが
確定するのに要する時間として、あらかじめ定められて
いる時間)が経過すると、ラッチを開始する。このた
め、ラッチ回路を介する本発明では、プロセッサが直接
アクセスするときに必要となるデータ確定の予備時間が
不要となるため、メモリの占有時間がこの予備時間の分
だけ短くなる。さらに、データの読み込みの終了に伴う
制御信号の授受が、メモリとプロセッサとの間ではな
く、アクセス調停部とプロセッサとの間で行なわれるた
め、この終了処理によるメモリの占有がなく、さらにメ
モリの占有時間が短くなる。
【0026】読み出し処理においても、アクセス調停部
は、アクセス要求を行なったプロセッサとアクセス対象
のメモリとを認識する。なお、アクセス調停部を備え、
アクセス調停部に判定させて、判定結果をアクセス調停
部へ通知させるようにしてもよい。読み出し処理におい
ても、アクセス調停部は、アクセス要求が競合すると、
優先順位判定部により判定された結果に応じて、優先順
位によりプロセッサのメモリアクセス順序を決定する。
は、アクセス要求を行なったプロセッサとアクセス対象
のメモリとを認識する。なお、アクセス調停部を備え、
アクセス調停部に判定させて、判定結果をアクセス調停
部へ通知させるようにしてもよい。読み出し処理におい
ても、アクセス調停部は、アクセス要求が競合すると、
優先順位判定部により判定された結果に応じて、優先順
位によりプロセッサのメモリアクセス順序を決定する。
【0027】メモリの読み出しアクセスは、一時的に共
用メモリからラッチ回路へデータを取り込んだ時点で、
ラッチ回路と共用メモリ間のバスを切断し、他のプロセ
ッサのラッチ回路を経由したアクセスを開始する。ラッ
チ回路は共用メモリから読んだデータを一時的に記憶す
る素子であり、プロセッサがラッチ回路のデータを読む
まで、記憶する。
用メモリからラッチ回路へデータを取り込んだ時点で、
ラッチ回路と共用メモリ間のバスを切断し、他のプロセ
ッサのラッチ回路を経由したアクセスを開始する。ラッ
チ回路は共用メモリから読んだデータを一時的に記憶す
る素子であり、プロセッサがラッチ回路のデータを読む
まで、記憶する。
【0028】本発明において、ラッチ回路によるデータ
の取り込みは、次のようにして行なわれる。まず、カウ
ンタ回路が、アクセスを開始してからデータバス上のデ
ータが確定するのに要する時間(図4のS7まで)をカ
ウントし、所定時間が経過すると、ラッチ回路へ制御信
号を送り、ラッチ回路はその制御信号を受けることによ
り、データを取り込む。これにより、通常のプロセッサ
のリードアクセス時間より速い時間で共用メモリからの
読み出しデータをラッチ回路へ格納することが可能とな
る。また、プロセッサのメモリアクセス時間よりラッチ
回路へ格納する時間が速いため、アクセスのためのメモ
リ占有時間を短縮でき、アクセスを高速化できる。さら
に、カウンタ回路は、クロック信号に同期していなくて
もよいので、ラッチ回路の駆動をクロックに同期させる
必要がない。
の取り込みは、次のようにして行なわれる。まず、カウ
ンタ回路が、アクセスを開始してからデータバス上のデ
ータが確定するのに要する時間(図4のS7まで)をカ
ウントし、所定時間が経過すると、ラッチ回路へ制御信
号を送り、ラッチ回路はその制御信号を受けることによ
り、データを取り込む。これにより、通常のプロセッサ
のリードアクセス時間より速い時間で共用メモリからの
読み出しデータをラッチ回路へ格納することが可能とな
る。また、プロセッサのメモリアクセス時間よりラッチ
回路へ格納する時間が速いため、アクセスのためのメモ
リ占有時間を短縮でき、アクセスを高速化できる。さら
に、カウンタ回路は、クロック信号に同期していなくて
もよいので、ラッチ回路の駆動をクロックに同期させる
必要がない。
【0029】なお、本発明におけるリードサイクルのタ
イミングチャートを図8に示す。カウント部のカウント
時間81が経過すると、ラッチ回路がバス上のデータを
取り込む。取り込み82が終了すると、アクセス調停部
はラッチ回路とメモリとの間のデータバスを切り離し、
メモリを開放する。また、プロセッサのラッチ回路から
のデータ取り込み83が終了すると、メモリからではな
く、アクセス調停部からプロセッサへの終了信号(DT
ACK)が出力される。よって、プロセッサが占有され
る時間はs0〜s8の間だけであり、従来の場合(s0
〜s13)より大幅に短縮されていることがわかる。
イミングチャートを図8に示す。カウント部のカウント
時間81が経過すると、ラッチ回路がバス上のデータを
取り込む。取り込み82が終了すると、アクセス調停部
はラッチ回路とメモリとの間のデータバスを切り離し、
メモリを開放する。また、プロセッサのラッチ回路から
のデータ取り込み83が終了すると、メモリからではな
く、アクセス調停部からプロセッサへの終了信号(DT
ACK)が出力される。よって、プロセッサが占有され
る時間はs0〜s8の間だけであり、従来の場合(s0
〜s13)より大幅に短縮されていることがわかる。
【0030】第3に、本発明では、メモリ読み出し要求
とメモリ書き込み要求とが競合した場合は、メモリ読み
出し要求を優先するようにすることができる。このよう
にした場合、メモリ読み出しを要求をしたプロセッサが
複数の場合や、メモリ書き込みの要求をしたプロセッサ
が複数の場合は、それぞれ、あらかじめ設定した優先順
位により、メモリアクセスの順番が定められるが、読み
出し要求は、書き込み要求よりも先に実行される。メモ
リ書き込み要求に比べ、メモリ読み出し要求は、メモリ
の占有時間が短く、単位時間当たりにアクセスできるプ
ロセッサの数が多いので、本発明のように読み出し要求
を優先すると、優先順位の低いプロセッサの待ち時間を
短縮することができる。
とメモリ書き込み要求とが競合した場合は、メモリ読み
出し要求を優先するようにすることができる。このよう
にした場合、メモリ読み出しを要求をしたプロセッサが
複数の場合や、メモリ書き込みの要求をしたプロセッサ
が複数の場合は、それぞれ、あらかじめ設定した優先順
位により、メモリアクセスの順番が定められるが、読み
出し要求は、書き込み要求よりも先に実行される。メモ
リ書き込み要求に比べ、メモリ読み出し要求は、メモリ
の占有時間が短く、単位時間当たりにアクセスできるプ
ロセッサの数が多いので、本発明のように読み出し要求
を優先すると、優先順位の低いプロセッサの待ち時間を
短縮することができる。
【0031】アクセス調停部は、各プロセッサのリード
ライト信号より、読み出し要求なのか書き込み要求なの
かを判定し、それが競合する場合、優先順位判定部にプ
ロセッサの識別結果と、読み書きのいずれであるかを通
知して、優先順位を問い合わせる。問い合わせを受けた
優先順位判定部は、読み出しを優先するよう応答する。
これにより、同時に読み書き両方の要求が発生した場合
は、常に読み出し要求を優先するようにできる。なお、
読み出しのアクセスが行なわれている間に、書き込み要
求のプロセッサから出力されたデータの、メモリバッフ
ァへの格納が並行して行なわれる。読み出しアクセスが
終了すると、書き込みアクセス要求をしたプロセッサの
データが格納されているメモリバッファから、共用メモ
リへデータが転送される。
ライト信号より、読み出し要求なのか書き込み要求なの
かを判定し、それが競合する場合、優先順位判定部にプ
ロセッサの識別結果と、読み書きのいずれであるかを通
知して、優先順位を問い合わせる。問い合わせを受けた
優先順位判定部は、読み出しを優先するよう応答する。
これにより、同時に読み書き両方の要求が発生した場合
は、常に読み出し要求を優先するようにできる。なお、
読み出しのアクセスが行なわれている間に、書き込み要
求のプロセッサから出力されたデータの、メモリバッフ
ァへの格納が並行して行なわれる。読み出しアクセスが
終了すると、書き込みアクセス要求をしたプロセッサの
データが格納されているメモリバッファから、共用メモ
リへデータが転送される。
【0032】読み出しアクセスは、通常のプロセッサの
リードアクセス時間より速い時間で共用メモリからの読
み出しを実現するので、書き込みアクセスに比べアクセ
ス効率が高く、また、アクセス時間も短い。従って、同
時にメモリ読み出し要求とメモリ書き込み要求が同一共
用メモリにあった場合、常に読み出し要求を優先するこ
とにより、プロセッサの待ち時間をさらに短縮すること
ができる。
リードアクセス時間より速い時間で共用メモリからの読
み出しを実現するので、書き込みアクセスに比べアクセ
ス効率が高く、また、アクセス時間も短い。従って、同
時にメモリ読み出し要求とメモリ書き込み要求が同一共
用メモリにあった場合、常に読み出し要求を優先するこ
とにより、プロセッサの待ち時間をさらに短縮すること
ができる。
【0033】また、本発明の共用メモリアクセス調整方
法では、最も高い優先順位を有するプロセッサは、読み
出し、書き込みのいずれの場合も、アクセスデータを、
バッファに格納することなく、ただちに直接共用メモリ
に転送する。このため、最も先に処理されるアクセスの
アクセスデータをバッファに格納するという無駄な処理
が行なわれない。これは、緊急性のある処理を行なう場
合などには、特に有効である。
法では、最も高い優先順位を有するプロセッサは、読み
出し、書き込みのいずれの場合も、アクセスデータを、
バッファに格納することなく、ただちに直接共用メモリ
に転送する。このため、最も先に処理されるアクセスの
アクセスデータをバッファに格納するという無駄な処理
が行なわれない。これは、緊急性のある処理を行なう場
合などには、特に有効である。
【0034】
【実施例】以下、本発明の実施例を図面を用いて説明す
る。本実施例のマルチプロセッサシステムの構成図を図
1に示す。本実施例では、例として、2つのプロセッサ
10a,10bが2つの共用メモリ50a,50bを任
意にアクセスする場合を想定するが、プロセッサの数お
よび共用メモリの数は、これに限られず、いくつであっ
てもよい。また、図1に示す各バスR1a〜R18bに
より伝達される信号を、表1に示す。なお、表1におい
て、B1はデータ信号を、B2はアドレス信号を、B3
は制御信号を、A1はラッチ信号を、A2はメモリコー
ド信号を、A3はアクセスイネーブル信号を、A4はプ
ロセッサコード信号を、A5は優先順位判定信号を、A
6はアクセスディゼーブル信号を、A7はバッファイネ
ーブル信号を、それぞれ伝達する信号線であることを表
わしている。
る。本実施例のマルチプロセッサシステムの構成図を図
1に示す。本実施例では、例として、2つのプロセッサ
10a,10bが2つの共用メモリ50a,50bを任
意にアクセスする場合を想定するが、プロセッサの数お
よび共用メモリの数は、これに限られず、いくつであっ
てもよい。また、図1に示す各バスR1a〜R18bに
より伝達される信号を、表1に示す。なお、表1におい
て、B1はデータ信号を、B2はアドレス信号を、B3
は制御信号を、A1はラッチ信号を、A2はメモリコー
ド信号を、A3はアクセスイネーブル信号を、A4はプ
ロセッサコード信号を、A5は優先順位判定信号を、A
6はアクセスディゼーブル信号を、A7はバッファイネ
ーブル信号を、それぞれ伝達する信号線であることを表
わしている。
【0035】
【表1】
【0036】本実施例のシステムでは、2つのプロセッ
サ10a,10bと、2つの共用メモリ50a,50b
とが、共用メモリアクセス調整回路60を介して接続さ
れている。各プロセッサ10a,10bおよび共用メモ
リ50a,50bは、それぞれデータの授受を行なうデ
ータバス101a〜dと、アクセス対象のアドレスの授
受を行なうアドレスバス102a〜dと、書き込みか読
み出しかなどの制御信号の授受を行なう制御バス103
a〜dとを有している。
サ10a,10bと、2つの共用メモリ50a,50b
とが、共用メモリアクセス調整回路60を介して接続さ
れている。各プロセッサ10a,10bおよび共用メモ
リ50a,50bは、それぞれデータの授受を行なうデ
ータバス101a〜dと、アクセス対象のアドレスの授
受を行なうアドレスバス102a〜dと、書き込みか読
み出しかなどの制御信号の授受を行なう制御バス103
a〜dとを有している。
【0037】本実施例の共用メモリアクセス調整回路6
0は、ラッチ回路32a,bと、メモリバッファ31
a,bと、アクセスメモリ判定部41a,bと、アクセ
ス調停部42と、カウント回路33a,bと、優先順位
判定部43と、バス切替部48a,bとを備えている。
0は、ラッチ回路32a,bと、メモリバッファ31
a,bと、アクセスメモリ判定部41a,bと、アクセ
ス調停部42と、カウント回路33a,bと、優先順位
判定部43と、バス切替部48a,bとを備えている。
【0038】なお、ラッチ回路32a,bと、メモリバ
ッファ31a,bと、アクセスメモリ判定部41a,b
とは、接続されるプロセッサの数だけ用意され、各プロ
セッサにそれぞれバスを介して接続される。図1におい
て、ラッチ回路32a,bとプロセッサ10a,bとを
接続するバスは、それぞれR1a,bとして図示されて
いる。また、メモリバッファ31a,bと、プロセッサ
10a,bとを接続するバスは、それぞれR2a,bと
して図示されている。アクセスメモリ判定部41a,b
と、プロセッサ10a,bとを接続するバスは、それぞ
れR3a,bとして図示されている。
ッファ31a,bと、アクセスメモリ判定部41a,b
とは、接続されるプロセッサの数だけ用意され、各プロ
セッサにそれぞれバスを介して接続される。図1におい
て、ラッチ回路32a,bとプロセッサ10a,bとを
接続するバスは、それぞれR1a,bとして図示されて
いる。また、メモリバッファ31a,bと、プロセッサ
10a,bとを接続するバスは、それぞれR2a,bと
して図示されている。アクセスメモリ判定部41a,b
と、プロセッサ10a,bとを接続するバスは、それぞ
れR3a,bとして図示されている。
【0039】カウント回路33a,bと、バス切替部4
8a,bとは、接続される共用メモリの数だけ用意され
る。2つのカウント回路33a,bは、それぞれ、バス
R7aおよびR7bを介してアクセス調停部42に接続
される。バス切替部48aは、それぞれ、バスR16
a,R17a,R18aを介して、共用メモリ50aの
データバス101c,アドレスバス102c,制御バス
103cに接続されている。バス切替部48bは、それ
ぞれ、バスR16b,R17b,R18bを介して、共
用メモリ50bのデータバス101d,アドレスバス1
02d,制御バス103dに接続されている。
8a,bとは、接続される共用メモリの数だけ用意され
る。2つのカウント回路33a,bは、それぞれ、バス
R7aおよびR7bを介してアクセス調停部42に接続
される。バス切替部48aは、それぞれ、バスR16
a,R17a,R18aを介して、共用メモリ50aの
データバス101c,アドレスバス102c,制御バス
103cに接続されている。バス切替部48bは、それ
ぞれ、バスR16b,R17b,R18bを介して、共
用メモリ50bのデータバス101d,アドレスバス1
02d,制御バス103dに接続されている。
【0040】カウント回路33a,bは、あらかじめ共
用メモリ50a,bと対応付けられており、アクセスイ
ネーブル信号A3を検出して、あらかじめ定められてい
る一定時間(対応する共用メモリ50a,bが、読み出
し信号を受けてから結果の信号を出力するまでの時間に
対応する)が経過すると、ラッチ信号A1を出力する回
路である。なお、本実施例ではカウント回路33aは共
用メモリ50aに対応し、カウント回路33bは共用メ
モリ50bに対応している。
用メモリ50a,bと対応付けられており、アクセスイ
ネーブル信号A3を検出して、あらかじめ定められてい
る一定時間(対応する共用メモリ50a,bが、読み出
し信号を受けてから結果の信号を出力するまでの時間に
対応する)が経過すると、ラッチ信号A1を出力する回
路である。なお、本実施例ではカウント回路33aは共
用メモリ50aに対応し、カウント回路33bは共用メ
モリ50bに対応している。
【0041】ラッチ回路32a,bは、データバスであ
るバスR10a,b上にデータ信号(メモリから読み込
まれたデータ)が流れると、該データ信号を、一時的に
保持する回路である。プロセッサの読み込みサイクルで
は、データ信号を読み込んだ後も、各制御信号を使っ
て、データ転送の終了確認を行なう時間が必要になるた
め、メモリにプロセッサが直接アクセスする場合は、こ
の終了確認等のための時間も、該メモリは該プロセッサ
に独占されてしまうことになる。一方、本実施例におい
ては、終了確認の制御信号はアクセス調停部に送られ、
アクセス調停部から終了確認の応答がプロセッサに返さ
れるため、終了確認のための時間、メモリをプロセッサ
が独占する必要がない。本実施例では、プロセッサは、
カウント回路33a,bによりカウントされる一定時
間、およびラッチ回路がデータ信号を読み込む時間のみ
メモリにアクセスするため、メモリの占有時間が直接ア
クセスするよりも短くなる。
るバスR10a,b上にデータ信号(メモリから読み込
まれたデータ)が流れると、該データ信号を、一時的に
保持する回路である。プロセッサの読み込みサイクルで
は、データ信号を読み込んだ後も、各制御信号を使っ
て、データ転送の終了確認を行なう時間が必要になるた
め、メモリにプロセッサが直接アクセスする場合は、こ
の終了確認等のための時間も、該メモリは該プロセッサ
に独占されてしまうことになる。一方、本実施例におい
ては、終了確認の制御信号はアクセス調停部に送られ、
アクセス調停部から終了確認の応答がプロセッサに返さ
れるため、終了確認のための時間、メモリをプロセッサ
が独占する必要がない。本実施例では、プロセッサは、
カウント回路33a,bによりカウントされる一定時
間、およびラッチ回路がデータ信号を読み込む時間のみ
メモリにアクセスするため、メモリの占有時間が直接ア
クセスするよりも短くなる。
【0042】共用メモリ50a,bからのデータ信号
は、常にラッチ回路32a,bを経由する。ラッチ回路
32a,bはそれぞれ、データバスR10a,b上のデ
ータが確定するまでの時間を、アクセスするメモリに対
応してカウントするカウント回路33aまたはbが出力
するラッチ信号A1により、データをラッチするよう制
御される。
は、常にラッチ回路32a,bを経由する。ラッチ回路
32a,bはそれぞれ、データバスR10a,b上のデ
ータが確定するまでの時間を、アクセスするメモリに対
応してカウントするカウント回路33aまたはbが出力
するラッチ信号A1により、データをラッチするよう制
御される。
【0043】例えば、プロセッサ10aによる共用メモ
リ50aからの読み込みを考えると、データバスR10
a上のデータが確定するまでの時間が200nsである
場合、カウント回路33aは読み出しアクセス開始後、
200nsでラッチ信号(信号線A1)をラッチ回路3
2aに出力し、ラッチ回路32aはその時点からデータ
バスB1(R10a)のデータのラッチを始める。その
後、アクセスメモリ判定部41aは、共用メモリ50a
のバスを切断し、他のプロセッサの読み出しアクセスを
可能にする。
リ50aからの読み込みを考えると、データバスR10
a上のデータが確定するまでの時間が200nsである
場合、カウント回路33aは読み出しアクセス開始後、
200nsでラッチ信号(信号線A1)をラッチ回路3
2aに出力し、ラッチ回路32aはその時点からデータ
バスB1(R10a)のデータのラッチを始める。その
後、アクセスメモリ判定部41aは、共用メモリ50a
のバスを切断し、他のプロセッサの読み出しアクセスを
可能にする。
【0044】この方法は、プロセッサ10a,10bの
通常のリードアクセス時間より速い時間でラッチ回路3
2が共用メモリ50a,50bからデータを読み出すの
で、プロセッサ10a,10bが共用メモリ50a,5
0bに接続する各バスを占有する時間を短くすることが
可能となり、競合するプロセッサの待ち時間の短縮を実
現できる。
通常のリードアクセス時間より速い時間でラッチ回路3
2が共用メモリ50a,50bからデータを読み出すの
で、プロセッサ10a,10bが共用メモリ50a,5
0bに接続する各バスを占有する時間を短くすることが
可能となり、競合するプロセッサの待ち時間の短縮を実
現できる。
【0045】メモリバッファ31a,bは、プロセッサ
10a,bのアクセス要求に係るアクセスデータ(アド
レスおよび書き込むデータ)が、それぞれ書き込まれる
バッファである。また、アクセスメモリ判定部41a,
bは、アドレス信号B2を基に、アクセスする対象の共
用メモリを判定し、アクセス調停部42に通知する。ア
クセス調停部42は、アクセスが競合するかどうか判定
し、競合する場合は調停を行なう。優先順位判定部43
は、比較回路を備え、アクセス調停部42からの問い合
わせに応じて、各プロセッサ10a,bの優先順位の優
劣を判定し、優先順位判定信号A5を出力する。バス切
替部48a,bは、アクセス調停部42からの指示に応
じて、それぞれ、共用メモリ50a,bに接続するバス
を切り替える。
10a,bのアクセス要求に係るアクセスデータ(アド
レスおよび書き込むデータ)が、それぞれ書き込まれる
バッファである。また、アクセスメモリ判定部41a,
bは、アドレス信号B2を基に、アクセスする対象の共
用メモリを判定し、アクセス調停部42に通知する。ア
クセス調停部42は、アクセスが競合するかどうか判定
し、競合する場合は調停を行なう。優先順位判定部43
は、比較回路を備え、アクセス調停部42からの問い合
わせに応じて、各プロセッサ10a,bの優先順位の優
劣を判定し、優先順位判定信号A5を出力する。バス切
替部48a,bは、アクセス調停部42からの指示に応
じて、それぞれ、共用メモリ50a,bに接続するバス
を切り替える。
【0046】A.書き込み要求の競合するとき ここで、2以上の異なるデータ幅を持つ個々のプロセッ
サ10a,10bが、同時にメモリ書き込み要求を行
い、かつメモリアクセス要求する共用メモリ50a,5
0bが同一である場合について説明する。なお、「同
時」とは、厳密な同時でなくてもよい。アクセス調停部
42は、一定の時間内に受け付けたアクセス要求は、す
べて同時とみなして処理を行なう。ここでは、アクセス
調停部42が同時とみなす時間内であれば、「同時」と
表現する。
サ10a,10bが、同時にメモリ書き込み要求を行
い、かつメモリアクセス要求する共用メモリ50a,5
0bが同一である場合について説明する。なお、「同
時」とは、厳密な同時でなくてもよい。アクセス調停部
42は、一定の時間内に受け付けたアクセス要求は、す
べて同時とみなして処理を行なう。ここでは、アクセス
調停部42が同時とみなす時間内であれば、「同時」と
表現する。
【0047】プロセッサ10a,10bがメモリ書き込
み要求を行うと、アクセスメモリ判定部41は、アドレ
スバスB2であるバスR2a,R2bを介して入力され
たアドレス信号と、制御バスB3であるバスR3a,R
3bを介して入力された制御信号とをデコードし、結果
をアクセス調停部42に出力する。例えば、アクセスメ
モリ判定部41は、アドレスバス102a,102bの
信号(B2)と制御バス103a,103bの信号(B
3)のデータストローブ信号等の制御信号を論理回路で
デコードすることで、アクセス要求した共用メモリとデ
ータ幅を判定した結果を、メモリコード信号(A2)と
してアクセス調停部42に出力する。
み要求を行うと、アクセスメモリ判定部41は、アドレ
スバスB2であるバスR2a,R2bを介して入力され
たアドレス信号と、制御バスB3であるバスR3a,R
3bを介して入力された制御信号とをデコードし、結果
をアクセス調停部42に出力する。例えば、アクセスメ
モリ判定部41は、アドレスバス102a,102bの
信号(B2)と制御バス103a,103bの信号(B
3)のデータストローブ信号等の制御信号を論理回路で
デコードすることで、アクセス要求した共用メモリとデ
ータ幅を判定した結果を、メモリコード信号(A2)と
してアクセス調停部42に出力する。
【0048】アクセス調停部42は,バスR6a,R6
bを介して入力されたメモリコード信号(信号線A2上
の信号)が同一か否かを比較することにより、2以上の
プロセッサ10a,10bが同一の共用メモリにアクセ
ス要求を出したか否かを確認する。
bを介して入力されたメモリコード信号(信号線A2上
の信号)が同一か否かを比較することにより、2以上の
プロセッサ10a,10bが同一の共用メモリにアクセ
ス要求を出したか否かを確認する。
【0049】この結果、アクセス要求する共用メモリが
同一でない場合、アクセス調停部42はアクセスメモリ
判定部41a,bと各バス切替部48a,bへアクセス
可能であることを示すアクセスイネーブル信号(A3)
を出力する。バスR8を介して入力されたアクセスイネ
ーブル信号(A3)により、バス切替部48a,48b
は、データバス、アドレスバス、および制御バスのゲー
トをそれぞれ開放する。バスR6a,R6bを介して入
力されたアクセスイネーブル信号により、アクセスメモ
リ判定部41a,bも、データバス、アドレスバス、お
よび制御バスのゲートを開放する。これにより、プロセ
ッサ10a,10bは、それぞれ要求する共用メモリ5
0aまたは50bとアクセスすることができるようにな
る。
同一でない場合、アクセス調停部42はアクセスメモリ
判定部41a,bと各バス切替部48a,bへアクセス
可能であることを示すアクセスイネーブル信号(A3)
を出力する。バスR8を介して入力されたアクセスイネ
ーブル信号(A3)により、バス切替部48a,48b
は、データバス、アドレスバス、および制御バスのゲー
トをそれぞれ開放する。バスR6a,R6bを介して入
力されたアクセスイネーブル信号により、アクセスメモ
リ判定部41a,bも、データバス、アドレスバス、お
よび制御バスのゲートを開放する。これにより、プロセ
ッサ10a,10bは、それぞれ要求する共用メモリ5
0aまたは50bとアクセスすることができるようにな
る。
【0050】アクセス要求する共用メモリが同一の場合
は、アクセス調停部42は、バスR9を介して優先順位
判定部43へ、アクセス要求したプロセッサ10a,1
0bをコードしたプロセッサコード信号(A4)を出力
する。ここでは、共用メモリ50aに対するアクセスが
競合した場合を考える。優先順位判定部43はプロセッ
サコード信号より、アクセス要求したプロセッサの優先
順位を比較回路で確認する。この結果を、優先順位判定
部43は優先順位判定信号(A5)とし、バスR9を介
してアクセス調停部42へ返答する。この返答を受け
て、アクセス調停部42は、アクセスイネーブル信号を
出力することにより、バス切り替え部48aおよびアク
セスメモリ判定部41aのゲートを開放して、プロセッ
サのうち優先順位の最も高いものがアクセスできるよう
にする。例えば、プロセッサ10aの優先順位が1番
で、プロセッサ10bが2番の場合は、プロセッサ10
aが、上記に示したアクセス要求する共用メモリが同一
でない場合と同様に、共用メモリ50aに対するメモリ
アクセスを行う。この場合の、プロセッサ10bのメモ
リアクセスについてを、以下に述べる。
は、アクセス調停部42は、バスR9を介して優先順位
判定部43へ、アクセス要求したプロセッサ10a,1
0bをコードしたプロセッサコード信号(A4)を出力
する。ここでは、共用メモリ50aに対するアクセスが
競合した場合を考える。優先順位判定部43はプロセッ
サコード信号より、アクセス要求したプロセッサの優先
順位を比較回路で確認する。この結果を、優先順位判定
部43は優先順位判定信号(A5)とし、バスR9を介
してアクセス調停部42へ返答する。この返答を受け
て、アクセス調停部42は、アクセスイネーブル信号を
出力することにより、バス切り替え部48aおよびアク
セスメモリ判定部41aのゲートを開放して、プロセッ
サのうち優先順位の最も高いものがアクセスできるよう
にする。例えば、プロセッサ10aの優先順位が1番
で、プロセッサ10bが2番の場合は、プロセッサ10
aが、上記に示したアクセス要求する共用メモリが同一
でない場合と同様に、共用メモリ50aに対するメモリ
アクセスを行う。この場合の、プロセッサ10bのメモ
リアクセスについてを、以下に述べる。
【0051】アクセス調停部42は、バスR6bを介し
てアクセスメモリ判定部41bに対して、直ちに共用メ
モリ50aへアクセスできないことを示すアクセスディ
ゼーブル信号A6送る。また、アクセス調停部42は、
バスR5bを介して、メモリバッファ31bにプロセッ
サ10bからのアクセスがあることを示すバッファイネ
ーブル信号(A7)を出力する。これにより、アクセス
メモリ判定部41bはアクセスメモリ判定部41b内の
内部ゲートを開放せず、メモリバッファ31bはプロセ
ッサ10bからメモリ書き込みを受ける。メモリバッフ
ァ31bへの書き込みを終了したプロセッサ10bは、
その時点で書き込み処理を終了する。このように、アク
セスの競合により、実際の共用メモリへの書き込みを行
なうことができない場合も、プロセッサは、待たされる
ことなく処理を続けることができる。
てアクセスメモリ判定部41bに対して、直ちに共用メ
モリ50aへアクセスできないことを示すアクセスディ
ゼーブル信号A6送る。また、アクセス調停部42は、
バスR5bを介して、メモリバッファ31bにプロセッ
サ10bからのアクセスがあることを示すバッファイネ
ーブル信号(A7)を出力する。これにより、アクセス
メモリ判定部41bはアクセスメモリ判定部41b内の
内部ゲートを開放せず、メモリバッファ31bはプロセ
ッサ10bからメモリ書き込みを受ける。メモリバッフ
ァ31bへの書き込みを終了したプロセッサ10bは、
その時点で書き込み処理を終了する。このように、アク
セスの競合により、実際の共用メモリへの書き込みを行
なうことができない場合も、プロセッサは、待たされる
ことなく処理を続けることができる。
【0052】プロセッサ10aに接続するアクセスメモ
リ判定部41aへのアクセスイネーブル信号A3が無く
なると、すなわち、プロセッサ10aの書き込みアクセ
スが終了すると、アクセス調停部42は、バスR5bを
介してメモリバッファ31bにアクセスイネーブル信号
(A3)を出力する。この信号(A3)に応じて、メモ
リバッファ31bは、先程書き込まれたデータを共用メ
モリ50aへ書き込む。この方法では、各プロセッサ1
0a,10bの書き込みアクセスの競合が発生しても、
優先順位の高いプロセッサ10aが先に共用メモリ50
a,50bに書き込みを行なっている間に、並行して優
先順位の低いプロセッサ10bはメモリバッファ31b
に書き込みを行う。このため、本実施例によれば、各プ
ロセッサの待ち時間を減少させることができる。
リ判定部41aへのアクセスイネーブル信号A3が無く
なると、すなわち、プロセッサ10aの書き込みアクセ
スが終了すると、アクセス調停部42は、バスR5bを
介してメモリバッファ31bにアクセスイネーブル信号
(A3)を出力する。この信号(A3)に応じて、メモ
リバッファ31bは、先程書き込まれたデータを共用メ
モリ50aへ書き込む。この方法では、各プロセッサ1
0a,10bの書き込みアクセスの競合が発生しても、
優先順位の高いプロセッサ10aが先に共用メモリ50
a,50bに書き込みを行なっている間に、並行して優
先順位の低いプロセッサ10bはメモリバッファ31b
に書き込みを行う。このため、本実施例によれば、各プ
ロセッサの待ち時間を減少させることができる。
【0053】なお、本実施例のアクセス調停部42は、
アクセスのためのデータをメモリバッファに格納する
と、計時を開始し、あらかじめ定められた一定時間(以
下、待機時間という)たってもアクセスが許可されず、
メモリへの実更新が行なわれない場合には、そのアクセ
スを要求したプロセッサの優先順位にかかわりなく、優
先してアクセスを許可し、メモリバッファの保持するデ
ータをメモリへ格納させる。このようにすれば、優先順
位の低いプロセッサの更新要求であっても、不当に長く
待たされることがなく、メモリの内容が古くなってしま
うことを防ぐことができる。なお、待機時間が経過した
アクセス要求が複数あった場合には、その待機時間が経
過したアクセス要求の中で、プロセッサの優先順位によ
りアクセスの順番が定められる。
アクセスのためのデータをメモリバッファに格納する
と、計時を開始し、あらかじめ定められた一定時間(以
下、待機時間という)たってもアクセスが許可されず、
メモリへの実更新が行なわれない場合には、そのアクセ
スを要求したプロセッサの優先順位にかかわりなく、優
先してアクセスを許可し、メモリバッファの保持するデ
ータをメモリへ格納させる。このようにすれば、優先順
位の低いプロセッサの更新要求であっても、不当に長く
待たされることがなく、メモリの内容が古くなってしま
うことを防ぐことができる。なお、待機時間が経過した
アクセス要求が複数あった場合には、その待機時間が経
過したアクセス要求の中で、プロセッサの優先順位によ
りアクセスの順番が定められる。
【0054】また、本実施例では、メモリバッファにア
クセスデータが保持されている状態で、待機時間内に、
他のプロセッサが書き込み要求をした場合には、メモリ
バッファに保持され待たされているアクセス要求をした
プロセッサと、新たにアクセス要求をしたプロセッサと
の優先順位に従って、優先順位順にアクセスが許可され
る。従って、先に発生したアクセス要求であっても、そ
の待機時間内に、より優先順位の高いプロセッサのアク
セス要求が発生すると、この後から発生したアクセス要
求によるアクセスを待たされることになる。
クセスデータが保持されている状態で、待機時間内に、
他のプロセッサが書き込み要求をした場合には、メモリ
バッファに保持され待たされているアクセス要求をした
プロセッサと、新たにアクセス要求をしたプロセッサと
の優先順位に従って、優先順位順にアクセスが許可され
る。従って、先に発生したアクセス要求であっても、そ
の待機時間内に、より優先順位の高いプロセッサのアク
セス要求が発生すると、この後から発生したアクセス要
求によるアクセスを待たされることになる。
【0055】なお、上述の待機時間は、保持される書き
込み要求のアクセスデータが多すぎて、メモリバッファ
がオーバフローすることがないように、書き込み要求の
頻度、メモリバッファの容量を考慮して定めることが望
ましい。また、待機時間が余りにも短いと、待機中の要
求のすべてについて待機時間が経過してしまい、待機時
間そのものの意味が失われるということになりかねな
い。このため、同時に発生するアクセス要求を優先順位
順に処理するのに十分な時間、すなわち、アクセス要求
の競合が発生する可能性のあるプロセッサの数に一回の
アクセス時間を掛けて得られる時間を考慮して、待機時
間を定めることが望ましい。
込み要求のアクセスデータが多すぎて、メモリバッファ
がオーバフローすることがないように、書き込み要求の
頻度、メモリバッファの容量を考慮して定めることが望
ましい。また、待機時間が余りにも短いと、待機中の要
求のすべてについて待機時間が経過してしまい、待機時
間そのものの意味が失われるということになりかねな
い。このため、同時に発生するアクセス要求を優先順位
順に処理するのに十分な時間、すなわち、アクセス要求
の競合が発生する可能性のあるプロセッサの数に一回の
アクセス時間を掛けて得られる時間を考慮して、待機時
間を定めることが望ましい。
【0056】さらに、本実施例では、メモリバッファに
は複数のアクセス要求に係るアクセスデータを保持する
ことができる十分な容量が確保されている。上記待機時
間内に、同一プロセッサから再度書き込み要求がなされ
た場合は、この書き込み要求に係るアクセスデータも、
メモリバッファに保持され、アクセスが許可されると、
メモリバッファにためられているすべてのアクセス要求
が、順次実行されることになる。
は複数のアクセス要求に係るアクセスデータを保持する
ことができる十分な容量が確保されている。上記待機時
間内に、同一プロセッサから再度書き込み要求がなされ
た場合は、この書き込み要求に係るアクセスデータも、
メモリバッファに保持され、アクセスが許可されると、
メモリバッファにためられているすべてのアクセス要求
が、順次実行されることになる。
【0057】なお、本実施例では、一回分のアクセス要
求の実行が終了するごとに、アクセス調停部42は、次
にアクセスを許可するメモリバッファを改めて決定する
が、一回分のアクセス要求ごとにこのような決定を行な
わず、一度アクセスが許可されたら、アクセスの許可さ
れたメモリバッファに保持されているすべてのアクセス
要求の実行が終了するまで、他のメモリバッファにアク
セスの許可が移されないようにしてもよい。
求の実行が終了するごとに、アクセス調停部42は、次
にアクセスを許可するメモリバッファを改めて決定する
が、一回分のアクセス要求ごとにこのような決定を行な
わず、一度アクセスが許可されたら、アクセスの許可さ
れたメモリバッファに保持されているすべてのアクセス
要求の実行が終了するまで、他のメモリバッファにアク
セスの許可が移されないようにしてもよい。
【0058】以上に述べた本実施例の共用メモリアクセ
ス調整回路60における、書き込みアクセス要求に基づ
く共用メモリアクセス調整制御処理の流れを図6に示
す。異なるデータ幅を持つプロセッサからのメモリアク
セス要求を受け付けると(ステップ61)、共用メモリ
アクセス調整回路60は、つぎの処理を行なう。2以上
のプロセッサからの書き込みアクセス要求が散発的にあ
る場合は(ステップ62)、直ちにメモリアクセスを可
能とする(ステップ69)。また、共用メモリアクセス
調整回路60が、複数のプロセッサからの競合するメモ
リアクセス要求を受け付けた場合であっても、アクセス
対象の共用メモリが同一でないときは(ステップ6
3)、共用メモリアクセス調整回路60は、競合するメ
モリアクセス要求も直ちにメモリアクセスを可能とする
(ステップ69)。同一共用メモリに対し2以上のプロ
セッサの書き込みアクセス要求があった場合は(ステッ
プ64)、共用メモリアクセス調整回路60は、アクセ
ス調停部42や優先順位判定部43などによって決定さ
れた順序に従って、優先順位が一番高いプロセッサは直
ちにメモリアクセスを可能とする(ステップ67)。ま
た、共用メモリアクセス調整回路60は、優先順位が最
も高いもの以外のプロセッサのアクセス要求について
は、メモリバッファにデータを格納する(ステップ6
5)。このメモリバッファへのデータの格納により、当
該プロセッサは、メモリアクセス処理を終了する。優先
順位の最も高いプロセッサのアクセスが終了すると(ス
テップ66)、次の優先順位のプロセッサの、メモリバ
ッファに格納されたデータの、共用メモリへ格納が開始
される(ステップ68)。なお、ステップ66〜68
は、すべてのアクセス要求が実行されるまで、共用メモ
リへのアクセスが終了する毎に、未実行のアクセス要求
のうち、該要求を出したプロセッサの優先順位が最も高
いものについて、実行される。
ス調整回路60における、書き込みアクセス要求に基づ
く共用メモリアクセス調整制御処理の流れを図6に示
す。異なるデータ幅を持つプロセッサからのメモリアク
セス要求を受け付けると(ステップ61)、共用メモリ
アクセス調整回路60は、つぎの処理を行なう。2以上
のプロセッサからの書き込みアクセス要求が散発的にあ
る場合は(ステップ62)、直ちにメモリアクセスを可
能とする(ステップ69)。また、共用メモリアクセス
調整回路60が、複数のプロセッサからの競合するメモ
リアクセス要求を受け付けた場合であっても、アクセス
対象の共用メモリが同一でないときは(ステップ6
3)、共用メモリアクセス調整回路60は、競合するメ
モリアクセス要求も直ちにメモリアクセスを可能とする
(ステップ69)。同一共用メモリに対し2以上のプロ
セッサの書き込みアクセス要求があった場合は(ステッ
プ64)、共用メモリアクセス調整回路60は、アクセ
ス調停部42や優先順位判定部43などによって決定さ
れた順序に従って、優先順位が一番高いプロセッサは直
ちにメモリアクセスを可能とする(ステップ67)。ま
た、共用メモリアクセス調整回路60は、優先順位が最
も高いもの以外のプロセッサのアクセス要求について
は、メモリバッファにデータを格納する(ステップ6
5)。このメモリバッファへのデータの格納により、当
該プロセッサは、メモリアクセス処理を終了する。優先
順位の最も高いプロセッサのアクセスが終了すると(ス
テップ66)、次の優先順位のプロセッサの、メモリバ
ッファに格納されたデータの、共用メモリへ格納が開始
される(ステップ68)。なお、ステップ66〜68
は、すべてのアクセス要求が実行されるまで、共用メモ
リへのアクセスが終了する毎に、未実行のアクセス要求
のうち、該要求を出したプロセッサの優先順位が最も高
いものについて、実行される。
【0059】図7は、3つのプロセッサから、同一共用
メモリへの書き込みアクセス要求が競合する場合の、そ
れらメモリアクセス調停状態を示したものである。
メモリへの書き込みアクセス要求が競合する場合の、そ
れらメモリアクセス調停状態を示したものである。
【0060】まず、(a)にアクセスが競合しない場合
を示す。競合が発生していない場合は、プロセッサの優
先順位にかかわらず、メモリアクセス要求が発生する
と、メモリアクセスが実行され、メモリアクセス終了処
理が行なわれる。
を示す。競合が発生していない場合は、プロセッサの優
先順位にかかわらず、メモリアクセス要求が発生する
と、メモリアクセスが実行され、メモリアクセス終了処
理が行なわれる。
【0061】(b)には、3つのプロセッサからのアク
セス要求が競合した場合を示す。本例では、図示したよ
うに、Aプロセッサ、Bプロセッサ、Cプロセッサによ
る、競合するメモリアクセス要求が発生した場合を想定
し、メモリアクセスの頻度や緊急性などを考慮の上、A
プロセッサの優先順位が最も高く、また、Cプロセッサ
のそれが最も低いものあらかじめ定められているものと
する。
セス要求が競合した場合を示す。本例では、図示したよ
うに、Aプロセッサ、Bプロセッサ、Cプロセッサによ
る、競合するメモリアクセス要求が発生した場合を想定
し、メモリアクセスの頻度や緊急性などを考慮の上、A
プロセッサの優先順位が最も高く、また、Cプロセッサ
のそれが最も低いものあらかじめ定められているものと
する。
【0062】この場合、優先順位判定部43によって、
メモリアクセス要求順とは無関係に、アクセス順序はA
プロセッサ、Bプロセッサ、Cプロセッサの順として決
定されるものである。従って、同一共用メモリに対しな
んらアクセスが行われていない状態では、優先順位判定
部43により、実際のアクセス順序が、あらかじめ定め
られた優先順位に従って、Aプロセッサ、Bプロセッ
サ、Cプロセッサの順として決定されるため、Aプロセ
ッサは直ちに共用メモリとアクセスできる。一方、Bプ
ロセッサ、Cプロセッサはそれが不可能なため、一時的
にメモリバッファにデータを格納する。その後、Aプロ
セッサのメモリアクセスが終了すると、次にBプロセッ
サのデータがメモリバッファから共用メモリへ書き込ま
れる。Cプロセッサのメモリアクセス要求に係るメモリ
アクセスは、Bプロセッサのアクセス終了後、開始され
る。
メモリアクセス要求順とは無関係に、アクセス順序はA
プロセッサ、Bプロセッサ、Cプロセッサの順として決
定されるものである。従って、同一共用メモリに対しな
んらアクセスが行われていない状態では、優先順位判定
部43により、実際のアクセス順序が、あらかじめ定め
られた優先順位に従って、Aプロセッサ、Bプロセッ
サ、Cプロセッサの順として決定されるため、Aプロセ
ッサは直ちに共用メモリとアクセスできる。一方、Bプ
ロセッサ、Cプロセッサはそれが不可能なため、一時的
にメモリバッファにデータを格納する。その後、Aプロ
セッサのメモリアクセスが終了すると、次にBプロセッ
サのデータがメモリバッファから共用メモリへ書き込ま
れる。Cプロセッサのメモリアクセス要求に係るメモリ
アクセスは、Bプロセッサのアクセス終了後、開始され
る。
【0063】つぎに、3つのプロセッサの共用メモリへ
の書き込みが競合した場合の、各プロセッサの待ち時間
を、図9を用いて説明する。3つのプロセッサA、B、
Cのアクセス要求をそれぞれ保持した3つのメモリバッ
ファが、一つの共用メモリへ書き込みを行なう場合の、
待ち時間と待機時間の関係を図9に示す。なお、各プロ
セッサの優先順位はA>B>Cの順であるとする。
の書き込みが競合した場合の、各プロセッサの待ち時間
を、図9を用いて説明する。3つのプロセッサA、B、
Cのアクセス要求をそれぞれ保持した3つのメモリバッ
ファが、一つの共用メモリへ書き込みを行なう場合の、
待ち時間と待機時間の関係を図9に示す。なお、各プロ
セッサの優先順位はA>B>Cの順であるとする。
【0064】この例では、待機時間は700nsと、あ
らかじめ定められている。なお、本実施例では、T1−
T2×(プロセッサ数−1)により求められる値を待機
時間とする。ここで、プロセッサが連続してメモリバッ
ファへアクセスデータを書き込み、その間共用メモリへ
の実更新ができなかったとすると、メモリバッファがオ
ーバーフローするまでの時間をT1とする。また、メモ
リバッファと共用メモリとのアクセスに要する時間をT
2とする。メモリバッファと共用メモリとのアクセスの
ための制御信号の授受に要する時間をT3とし、メモリ
バッファが共用メモリにアクセスデータを転送するのに
要する時間をT4とすると、T2は、T3とT4とを足
しあわせることにより求められる。本実施例では、T1
=1000ns、T3=50ns、T4=100nsで
あり、プロセッサ数は3であるから、(待機時間)=1
000−(50+100)×(3−1)となり、待機時
間は700nsということになる。
らかじめ定められている。なお、本実施例では、T1−
T2×(プロセッサ数−1)により求められる値を待機
時間とする。ここで、プロセッサが連続してメモリバッ
ファへアクセスデータを書き込み、その間共用メモリへ
の実更新ができなかったとすると、メモリバッファがオ
ーバーフローするまでの時間をT1とする。また、メモ
リバッファと共用メモリとのアクセスに要する時間をT
2とする。メモリバッファと共用メモリとのアクセスの
ための制御信号の授受に要する時間をT3とし、メモリ
バッファが共用メモリにアクセスデータを転送するのに
要する時間をT4とすると、T2は、T3とT4とを足
しあわせることにより求められる。本実施例では、T1
=1000ns、T3=50ns、T4=100nsで
あり、プロセッサ数は3であるから、(待機時間)=1
000−(50+100)×(3−1)となり、待機時
間は700nsということになる。
【0065】図9に示した例では、まず、3つのプロセ
ッサA、B、Cから同時にアクセス要求が行なわれてい
る(T91)。3つのプロセッサのうち、プロセッサA
の優先順位が最も高いので、プロセッサAのアクセス要
求は直接共用メモリへ転送され、プロセッサBおよびC
のアクセス要求はメモリバッファに格納されては待ち時
間に入ることになる。
ッサA、B、Cから同時にアクセス要求が行なわれてい
る(T91)。3つのプロセッサのうち、プロセッサA
の優先順位が最も高いので、プロセッサAのアクセス要
求は直接共用メモリへ転送され、プロセッサBおよびC
のアクセス要求はメモリバッファに格納されては待ち時
間に入ることになる。
【0066】また、プロセッサBとCとでは、プロセッ
サBの方が優先順位が高いので、プロセッサAによるア
クセス要求の実行が終了した時点(T92)で、アクセ
ス調停部42は、アクセス要求行なっているプロセッサ
BとCとの優先順位を比較し、優先順位の高いプロセッ
サBのアクセス要求をメモリバッファから共用メモリへ
転送させる。このため、プロセッサCの待ち時間はさら
に継続されることになる。
サBの方が優先順位が高いので、プロセッサAによるア
クセス要求の実行が終了した時点(T92)で、アクセ
ス調停部42は、アクセス要求行なっているプロセッサ
BとCとの優先順位を比較し、優先順位の高いプロセッ
サBのアクセス要求をメモリバッファから共用メモリへ
転送させる。このため、プロセッサCの待ち時間はさら
に継続されることになる。
【0067】さらに、プロセッサBによるアクセスが終
了する前に、最も優先順位の高いプロセッサAからのア
クセス要求がなされたため、プロセッサBによるアクセ
スが終了した時点(T93)で、アクセス調停部42
は、プロセッサAのアクセスを許可し、プロセッサCの
アクセス要求の実行をさらに待たせる。なお、この時、
プロセッサAは2回連続してアクセス要求を出した。プ
ロセッサAは、最も高い優先順位を割り当てられている
ため、プロセッサAによる2回の連続した共用メモリへ
の書き込みが実行される。
了する前に、最も優先順位の高いプロセッサAからのア
クセス要求がなされたため、プロセッサBによるアクセ
スが終了した時点(T93)で、アクセス調停部42
は、プロセッサAのアクセスを許可し、プロセッサCの
アクセス要求の実行をさらに待たせる。なお、この時、
プロセッサAは2回連続してアクセス要求を出した。プ
ロセッサAは、最も高い優先順位を割り当てられている
ため、プロセッサAによる2回の連続した共用メモリへ
の書き込みが実行される。
【0068】このプロセッサAによるアクセス要求の実
行中(T94)に、プロセッサBによるアクセス要求が
あると、プロセッサBのアクセス要求は、メモリバッフ
ァに保持され、プロセッサAのアクセスの終了時(T9
5)まで、その実行を待たされることになる。プロセッ
サAのアクセスが終了すると、メモリバッファに保持さ
れて実行を待っているアクセス要求のうち、より優先順
位の高いプロセッサBのアクセス要求が実行され、プロ
セッサCは、さらに待つことになる。
行中(T94)に、プロセッサBによるアクセス要求が
あると、プロセッサBのアクセス要求は、メモリバッフ
ァに保持され、プロセッサAのアクセスの終了時(T9
5)まで、その実行を待たされることになる。プロセッ
サAのアクセスが終了すると、メモリバッファに保持さ
れて実行を待っているアクセス要求のうち、より優先順
位の高いプロセッサBのアクセス要求が実行され、プロ
セッサCは、さらに待つことになる。
【0069】ところが、プロセッサBの要求によるアク
セスの実行中に、プロセッサCのアクセス要求の待ち時
間は、待機時間としてあらかじめ定められている時間で
ある700nsを超えてしまう。このため、プロセッサ
Bの要求によるアクセスの終了時(T96)に、プロセ
ッサCよりも優先順位の高いプロセッサAがアクセス要
求を行なっても、プロセッサCのアクセス要求が最優先
で実行される。このため、プロセッサAのアクセス要求
はメモリバッファに格納されて、プロセッサCの要求に
よるアクセスの実行が終了する時点(T97)まで、そ
の実行を待たされることになる。
セスの実行中に、プロセッサCのアクセス要求の待ち時
間は、待機時間としてあらかじめ定められている時間で
ある700nsを超えてしまう。このため、プロセッサ
Bの要求によるアクセスの終了時(T96)に、プロセ
ッサCよりも優先順位の高いプロセッサAがアクセス要
求を行なっても、プロセッサCのアクセス要求が最優先
で実行される。このため、プロセッサAのアクセス要求
はメモリバッファに格納されて、プロセッサCの要求に
よるアクセスの実行が終了する時点(T97)まで、そ
の実行を待たされることになる。
【0070】なお、T96の時点で、プロセッサBに接
続されたメモリバッファ内に、まだ実行されていないプ
ロセッサBのアクセス要求が残っていた場合であって
も、まずプロセッサCの要求によるアクセスが終了する
と(T97)、プロセッサAの要求によるアクセスが行
なわれ、プロセッサAのさらなるアクセス要求がなけれ
ば、このアクセスの終了時点で、プロセッサBの残りの
アクセス要求が実行に移されることになる。
続されたメモリバッファ内に、まだ実行されていないプ
ロセッサBのアクセス要求が残っていた場合であって
も、まずプロセッサCの要求によるアクセスが終了する
と(T97)、プロセッサAの要求によるアクセスが行
なわれ、プロセッサAのさらなるアクセス要求がなけれ
ば、このアクセスの終了時点で、プロセッサBの残りの
アクセス要求が実行に移されることになる。
【0071】B.読み出し要求の競合するとき つぎに、2以上の異なるデータ幅を持つ個々のプロセッ
サが、同時にメモリ読み出し要求を行い、かつメモリア
クセス要求する共用メモリが同一である場合について説
明する。
サが、同時にメモリ読み出し要求を行い、かつメモリア
クセス要求する共用メモリが同一である場合について説
明する。
【0072】プロセッサ10a,10bがメモリ読み出
し要求を行うと、アクセス調停部42は、優先順位判定
部43へ、プロセッサコード信号(信号線A4上の信
号)を出力する。優先順位判定部43は、その信号か
ら、比較回路によりアクセス要求したプロセッサの優先
順位を確認する。この結果を優先順位判定部43は優先
順位判定信号A5とし、アクセス調停部42へ返答す
る。ここでは、プロセッサ10aの優先順位が1番で、
プロセッサ10bが2番であり、両方のプロセッサが共
用メモリ50aに対する読み出し要求を同時に行なった
場合を例として説明する。
し要求を行うと、アクセス調停部42は、優先順位判定
部43へ、プロセッサコード信号(信号線A4上の信
号)を出力する。優先順位判定部43は、その信号か
ら、比較回路によりアクセス要求したプロセッサの優先
順位を確認する。この結果を優先順位判定部43は優先
順位判定信号A5とし、アクセス調停部42へ返答す
る。ここでは、プロセッサ10aの優先順位が1番で、
プロセッサ10bが2番であり、両方のプロセッサが共
用メモリ50aに対する読み出し要求を同時に行なった
場合を例として説明する。
【0073】まず、アクセス調停部42は、アクセスイ
ネーブル信号を出力することにより、バス切替部48a
およびアクセスメモリ判定部41aのゲートを開放し
て、プロセッサ10aのアクセスを許可する。さらに、
アクセス調停部42は、ラッチ回路32aとカウント回
路33aに対し、信号線A3を介してアクセスイネーブ
ル信号を出力する。この信号により、プロセッサ10a
からの読み出し制御信号が、制御バスB3を介して共用
メモリ50aに伝わる。また、上記アクセスイネーブル
信号により、カウント回路33aは、カウントを開始
し、あらかじめ定められた時間(データバス上のデータ
が確定するまでのデータ確定時間)経過すると、ラッチ
信号(信号線A1の信号)をラッチ回路32へ出力す
る。
ネーブル信号を出力することにより、バス切替部48a
およびアクセスメモリ判定部41aのゲートを開放し
て、プロセッサ10aのアクセスを許可する。さらに、
アクセス調停部42は、ラッチ回路32aとカウント回
路33aに対し、信号線A3を介してアクセスイネーブ
ル信号を出力する。この信号により、プロセッサ10a
からの読み出し制御信号が、制御バスB3を介して共用
メモリ50aに伝わる。また、上記アクセスイネーブル
信号により、カウント回路33aは、カウントを開始
し、あらかじめ定められた時間(データバス上のデータ
が確定するまでのデータ確定時間)経過すると、ラッチ
信号(信号線A1の信号)をラッチ回路32へ出力す
る。
【0074】ラッチ回路32aは、このラッチ信号によ
りデータのラッチ動作を始める。その後,プロセッサ1
0aは、ラッチ回路32からデータの読み出しを行い、
メモリアクセス処理を終了する。アクセス調停部42
は、ラッチ回路32aがラッチ動作を始めると、ラッチ
回路32aと共用メモリ50aとの間のデータバスを切
断し、続いてプロセッサ10bの読み出しアクセスを行
う。プロセッサ10bの読み出しアクセスについては、
上記プロセッサ10aのアクセス方法と同じである。
りデータのラッチ動作を始める。その後,プロセッサ1
0aは、ラッチ回路32からデータの読み出しを行い、
メモリアクセス処理を終了する。アクセス調停部42
は、ラッチ回路32aがラッチ動作を始めると、ラッチ
回路32aと共用メモリ50aとの間のデータバスを切
断し、続いてプロセッサ10bの読み出しアクセスを行
う。プロセッサ10bの読み出しアクセスについては、
上記プロセッサ10aのアクセス方法と同じである。
【0075】この方法によれば、データバス上にデータ
が確定するまでの時間をカウントすることで、プロセッ
サの通常のメモリアクセス処理時間より速い時間で、メ
モリからのデータの取り込みが可能となる。例えば、読
み出すデータが確定するまでの時間が52nsで、プロ
セッサのメモリアクセス処理時間が128nsの場合
は、通常のプロセッサの読み出しアクセスを1回する時
間内に、実際はプロセッサ10a,10b双方の読み出
しアクセスが可能となる。これは、従来技術によるプロ
セッサのデータの読み出しでは、データの取り込みまで
に、上記のデータ確定までの時間(52ns)に加え
て、さらに予備時間を要するのに対し、本実施例におけ
る読み出しでは、この予備時間なしにデータを読み込む
ことができ、さらに、本実施例では、読み出しの終了処
理におけるメモリに対するアクセスがないためである。
ゆえに、アクセス効率が極めて高く、プロセッサの待ち
時間を短縮でき、アクセス効率が極めて高い。
が確定するまでの時間をカウントすることで、プロセッ
サの通常のメモリアクセス処理時間より速い時間で、メ
モリからのデータの取り込みが可能となる。例えば、読
み出すデータが確定するまでの時間が52nsで、プロ
セッサのメモリアクセス処理時間が128nsの場合
は、通常のプロセッサの読み出しアクセスを1回する時
間内に、実際はプロセッサ10a,10b双方の読み出
しアクセスが可能となる。これは、従来技術によるプロ
セッサのデータの読み出しでは、データの取り込みまで
に、上記のデータ確定までの時間(52ns)に加え
て、さらに予備時間を要するのに対し、本実施例におけ
る読み出しでは、この予備時間なしにデータを読み込む
ことができ、さらに、本実施例では、読み出しの終了処
理におけるメモリに対するアクセスがないためである。
ゆえに、アクセス効率が極めて高く、プロセッサの待ち
時間を短縮でき、アクセス効率が極めて高い。
【0076】C.書き込み要求と読み出し要求とが競合
するとき つぎに、2以上の異なるデータ幅を持つ個々のプロセッ
サのうち、メモリ読み出し要求とメモリ書き込み要求が
競合する場合について説明する。アクセス調停部42は
各プロセッサ10a,10bからのリードライト信号よ
り、読み出し要求なのか書き込み要求なのかを判定し、
それらの要求が競合する場合、優先順位判定部43に、
プロセッサの識別結果と、読み書きのいずれであるかを
通知して、優先順位を問い合わせる。問い合わせを受け
た優先順位判定部は、読み出しアクセスを優先するよう
応答する。なお、読み出しのアクセスが行なわれている
間に、書き込み要求のプロセッサから出力されたデータ
の、メモリバッファへの格納が並行して行なわれる。書
き込みアクセスが終了すると、メモリバッファから共用
メモリへ、データが転送される。
するとき つぎに、2以上の異なるデータ幅を持つ個々のプロセッ
サのうち、メモリ読み出し要求とメモリ書き込み要求が
競合する場合について説明する。アクセス調停部42は
各プロセッサ10a,10bからのリードライト信号よ
り、読み出し要求なのか書き込み要求なのかを判定し、
それらの要求が競合する場合、優先順位判定部43に、
プロセッサの識別結果と、読み書きのいずれであるかを
通知して、優先順位を問い合わせる。問い合わせを受け
た優先順位判定部は、読み出しアクセスを優先するよう
応答する。なお、読み出しのアクセスが行なわれている
間に、書き込み要求のプロセッサから出力されたデータ
の、メモリバッファへの格納が並行して行なわれる。書
き込みアクセスが終了すると、メモリバッファから共用
メモリへ、データが転送される。
【0077】なお、本実施例では、アドレスバスとし
て、23本の信号線(A1〜A23)よりなるバスを用
い、データバスとして、16本の信号線(D0〜D1
5)のバスを用いているが、信号線の数は、この本数に
限定するものではなく、その他の数の信号線を用いても
よい。また、本実施例では、共用メモリとしてシングル
ポートメモリを用いているが、これ以外のデュアルポー
トあるいはマルチポートのメモリについても、本発明を
用いることができる。さらに、本実施例では、各プロセ
ッサのアクセス優先順位はあらかじめ定められている
が、スイッチ等で任意に変換することができるような優
先順位判定部を用いてもよい。
て、23本の信号線(A1〜A23)よりなるバスを用
い、データバスとして、16本の信号線(D0〜D1
5)のバスを用いているが、信号線の数は、この本数に
限定するものではなく、その他の数の信号線を用いても
よい。また、本実施例では、共用メモリとしてシングル
ポートメモリを用いているが、これ以外のデュアルポー
トあるいはマルチポートのメモリについても、本発明を
用いることができる。さらに、本実施例では、各プロセ
ッサのアクセス優先順位はあらかじめ定められている
が、スイッチ等で任意に変換することができるような優
先順位判定部を用いてもよい。
【0078】上記の実施例によれば、共用メモリに対し
て2以上のデータ幅の異なるプロセッサが同時にアクセ
ス要求した場合については、優先順位の高いプロセッサ
にメモリへの各バスを占有されてしまい、優先順位の低
いプロセッサは共用メモリにアクセスできず待機状態と
なり、その間プロセッサの処理が中止するという従来の
欠点に対し、メモリ書き込みアクセスにおいては、共用
メモリにアクセスできないプロセッサは、一時的にメモ
リバッファにデータ格納されるため、プロセッサのメモ
リアクセス処理において待機状態は起こらず、また、メ
モリ読み出しアクセスにおいては、プロセッサとメモリ
間にラッチ回路を設けることにより、メモリに接続する
バスの占有時間を短縮でき、かつ、見掛け上一つのプロ
セッサがアクセスしている際中にも他のプロセッサのア
クセスが実現されているかのような処理を可能とする。
よって、各プロセッサの待ち時間が少なく、また、個々
プロセッサの処理能力を著しく低下することなく共用メ
モリにアクセスすることができる。本発明は処理能力が
厳しく要求されるチャネルを複数有するシステムの共用
メモリアクセス制御に非常に有効である。
て2以上のデータ幅の異なるプロセッサが同時にアクセ
ス要求した場合については、優先順位の高いプロセッサ
にメモリへの各バスを占有されてしまい、優先順位の低
いプロセッサは共用メモリにアクセスできず待機状態と
なり、その間プロセッサの処理が中止するという従来の
欠点に対し、メモリ書き込みアクセスにおいては、共用
メモリにアクセスできないプロセッサは、一時的にメモ
リバッファにデータ格納されるため、プロセッサのメモ
リアクセス処理において待機状態は起こらず、また、メ
モリ読み出しアクセスにおいては、プロセッサとメモリ
間にラッチ回路を設けることにより、メモリに接続する
バスの占有時間を短縮でき、かつ、見掛け上一つのプロ
セッサがアクセスしている際中にも他のプロセッサのア
クセスが実現されているかのような処理を可能とする。
よって、各プロセッサの待ち時間が少なく、また、個々
プロセッサの処理能力を著しく低下することなく共用メ
モリにアクセスすることができる。本発明は処理能力が
厳しく要求されるチャネルを複数有するシステムの共用
メモリアクセス制御に非常に有効である。
【0079】さらに、本発明の共用メモリアクセス調整
方法では、最も高い優先順位を有するプロセッサは、読
み出し、書き込みのいずれの場合も、アドレスデータ
を、バッファに格納することなく、ただちに直接共用メ
モリに転送する。このため、最も先に処理されるアクセ
スのアドレスデータをバッファに格納するという無駄な
処理が行なわれない。これは、緊急性のある処理を行な
う場合などには、特に有効である。
方法では、最も高い優先順位を有するプロセッサは、読
み出し、書き込みのいずれの場合も、アドレスデータ
を、バッファに格納することなく、ただちに直接共用メ
モリに転送する。このため、最も先に処理されるアクセ
スのアドレスデータをバッファに格納するという無駄な
処理が行なわれない。これは、緊急性のある処理を行な
う場合などには、特に有効である。
【0080】また、本発明はデータ幅が小さいプロセッ
サとそれに比べデータ幅が大きいプロセッサが1以上の
メモリに記憶されるデータを共用する場合や、1つのプ
ロセッサが2種以上の異なるデータ幅を使用してメモリ
アクセスをする場合において適用できる。この場合、既
存装置を新たに再設計する必要がなく、新旧のプロセッ
サを混合した装置の構成等が容易に実現でき、かつ、装
置を構成する為の設計期間の短縮も図れる。また、今後
プロセッサ素子の発達に伴いプロセッサのデータ幅が更
に広がった場合においても、本発明を用いることにより
他のプロセッサとデータの共用が可能である。
サとそれに比べデータ幅が大きいプロセッサが1以上の
メモリに記憶されるデータを共用する場合や、1つのプ
ロセッサが2種以上の異なるデータ幅を使用してメモリ
アクセスをする場合において適用できる。この場合、既
存装置を新たに再設計する必要がなく、新旧のプロセッ
サを混合した装置の構成等が容易に実現でき、かつ、装
置を構成する為の設計期間の短縮も図れる。また、今後
プロセッサ素子の発達に伴いプロセッサのデータ幅が更
に広がった場合においても、本発明を用いることにより
他のプロセッサとデータの共用が可能である。
【0081】
【発明の効果】本発明によれば、マルチプロセッサシス
テムにおいて、各プロセッサの行なう読み出し/書き込
みのメモリアクセス時間を短縮することができ、マルチ
プロセッサシステムの処理速度を向上させることのでき
る共用メモリアクセス調整方法、および共用メモリアク
セス調整回路が提供される。
テムにおいて、各プロセッサの行なう読み出し/書き込
みのメモリアクセス時間を短縮することができ、マルチ
プロセッサシステムの処理速度を向上させることのでき
る共用メモリアクセス調整方法、および共用メモリアク
セス調整回路が提供される。
【図1】図1は、本発明に係るマルチプロセッサシステ
ムの一例でのシステム構成を示す構成図である。
ムの一例でのシステム構成を示す構成図である。
【図2】図2は、従来技術に係る共用メモリアクセス制
御方法を説明するための説明図である。
御方法を説明するための説明図である。
【図3】図3は、前回発明した共用メモリアクセス制御
方法を説明するための説明図である。
方法を説明するための説明図である。
【図4】図4は、プロセッサのリードサイクルタイミン
グを説明するための説明図である。
グを説明するための説明図である。
【図5】図5は、プロセッサのリードサイクル処理のフ
ローを示すフローチャートである。
ローを示すフローチャートである。
【図6】図6は、メモリへの書き込み要求にもとづく共
用メモリアクセス調整制御処理のフローを示すフローチ
ャートである。
用メモリアクセス調整制御処理のフローを示すフローチ
ャートである。
【図7】図7は、3つのプロセッサから、同一共用メモ
リへのメモリアクセス要求が同時にあった場合の、メモ
リアクセスの手順を示す説明図である。
リへのメモリアクセス要求が同時にあった場合の、メモ
リアクセスの手順を示す説明図である。
【図8】図8は、本発明におけるプロセッサのリードサ
イクルタイミングを説明するための説明図である。
イクルタイミングを説明するための説明図である。
【図9】図9は、3つのプロセッサから、同一共用メモ
リへのメモリアクセス要求があった場合の、待機時間と
待ち時間とを示す説明図である。
リへのメモリアクセス要求があった場合の、待機時間と
待ち時間とを示す説明図である。
10a,10b…プロセッサ、 60…共用メモリアク
セス調整回路、 50a,50b…共用メモリ、 31
a,31b…メモリバッファ、 32a,32b…ラッ
チ回路、 33a,33b…カウント回路、 41a,
41b…アクセスメモリ判定部、 42…アクセス調停
部、 43…優先順位判定部、 48a,48b…バス
切替部。
セス調整回路、 50a,50b…共用メモリ、 31
a,31b…メモリバッファ、 32a,32b…ラッ
チ回路、 33a,33b…カウント回路、 41a,
41b…アクセスメモリ判定部、 42…アクセス調停
部、 43…優先順位判定部、 48a,48b…バス
切替部。
Claims (9)
- 【請求項1】2以上のプロセッサが、共用メモリをそれ
ぞれアクセスするマルチプロセッサシステムにおける共
用メモリアクセス調整方法において、 2以上のプロセッサからの書き込みアクセス要求が競合
する場合には、上記プロセッサごとにあらかじめ定めら
れている優先順位に基づき、アクセスの順番を定めるプ
ロセスと、 競合する書き込みアクセス要求のうち、最も高い優先順
位を有する上記プロセッサのアクセス要求に係るアクセ
スデータを上記共用メモリへ直接転送し、他の優先順位
の低いプロセッサのアクセス要求にかかるアクセスデー
タは、メモリバッファに格納する、第1の転送プロセス
と、 上記共用メモリへのアクセスが終了すると、メモリバッ
ファに保持されたデータのうち、最も高い優先順位を有
する上記プロセッサの書き込みアクセス要求に係るデー
タを、共用メモリへ転送する、第2の転送プロセスとを
備えることを特徴とする共用メモリアクセス調整方法。 - 【請求項2】2以上のプロセッサが、共用メモリをそれ
ぞれアクセスするマルチプロセッサシステムにおける共
用メモリアクセス調整方法において、 2以上のプロセッサからの読み出しアクセス要求が競合
する場合には、上記プロセッサごとにあらかじめ定めら
れている優先順位に基づき、アクセスの順番を定めるプ
ロセスと、 競合する読み出しアクセス要求のうち、最も高い優先順
位を有する上記プロセッサのアクセス要求に係るアクセ
スデータを上記共用メモリへ直接転送するプロセスと、 共用メモリへのアクセスが終了すると、次に優先順位の
高いプロセッサの読み出し要求に係るアクセスデータ
を、上記共用メモリへ直接転送するプロセスと、 上記アクセスデータの転送を受けた上記共用メモリが、
要求されたデータを出力するプロセスと、 上記共用メモリから出力されたデータを、出力の開始か
らあらかじめ定められた一定時間が経過したのちに、ラ
ッチ回路に取り込むプロセスと、 上記プロセッサが、上記ラッチ回路からデータを読み出
すプロセスとを備えることを特徴とする共用メモリアク
セス調整方法。 - 【請求項3】2以上のプロセッサが、共用メモリをそれ
ぞれアクセスするマルチプロセッサシステムにおける共
用メモリアクセス調整方法において、 2以上のプロセッサからの書き込みアクセス要求と読み
出しアクセス要求とが競合する場合には、読み出しアク
セス要求を優先的に処理することを特徴とする共用メモ
リアクセス調整方法。 - 【請求項4】外部のプロセッサからの信号の入出力を受
け付ける複数のプロセッサ側端子と、該バス切替部とを
それぞれ接続するプロセッサ側バスと、該バス切替部と
共用メモリに接続するためのメモリ側端子とを接続する
メモリ側バスと、プロセッサ側バスのうちの任意のいず
れかと、メモリ側バスとを接続および切断する手段を有
するバス切替部と、該バス切替部に対して、バスの接続
または切断を指示する手段を有するアクセス調停部とを
備える、共用メモリアクセス調整回路において、 上記アクセス調停部からの競合するプロセッサの通知を
受けて、該プロセッサの優先順位を判定し、判定結果を
上記アクセス調停部に通知する優先順位判定部と、 上記プロセッサからのアクセスデータを保持する手段を
有するメモリバッファと、 上記アクセス調停部からの信号に応じてあらかじめ定め
られた時間をカウントし、上記アクセス調停部に通知す
るカウント回路と、 上記共用メモリから出力されたデータを保持し、上記プ
ロセッサに出力する手段を有するラッチ回路とを備え、 上記アクセス調停部は、 上記プロセッサ側端子から入力されたアクセス要求が競
合するかどうか判定する手段と、 アクセス要求が競合する場合には、上記優先順位判定手
段に競合する要求を出したプロセッサを通知し、上記優
先順位判定手段から、優先順位の判定結果を受け取る手
段と、 上記優先順位の判定結果に応じて、最も高い優先順位を
有する上記プロセッサに接続されている上記プロセッサ
側バスを、上記メモリ側バスに接続して、アクセスデー
タを上記共用メモリに転送させる手段と、 他の優先順位の低いプロセッサの書き込みアクセス要求
にかかるアクセスデータを、メモリバッファに転送させ
る手段と、 上記共用メモリへの書き込みアクセスが終了すると、メ
モリバッファに保持されたデータのうち、最も高い優先
順位を有する上記プロセッサの書き込みアクセス要求に
係るアクセスデータを、該アクセスデータを保持するメ
モリバッファを共用メモリに接続し、該アクセスデータ
を共用メモリへ転送する手段と、 共用メモリからのアクセスが終了すると、次に優先順位
の高い、読み出し要求をした上記プロセッサに接続され
ている上記プロセッサ側バスを、上記メモリ側バスに接
続して、読み出しアクセス要求に係るアクセスデータを
上記共用メモリに転送させ、さらに、上記カウント回路
にカウントの開始を指示する手段と、 上記カウント回路からの、あらかじめ定められた時間の
経過の通知に応じて、上記ラッチ回路に、上記共用メモ
リから出力されたデータを取り込ませる手段と、 上記プロセッサ側バスに、アクセス終了信号を出力する
手段とを、さらに有することを特徴とする共用メモリア
クセス調整回路。 - 【請求項5】請求項4において、 前記優先順位判定部は、読み出しアクセス要求を行なっ
たプロセッサの優先順位を、書き込みアクセス要求を行
なったプロセッサの優先順位より高くする手段を有する
ことを特徴とする共用メモリアクセス調整回路。 - 【請求項6】請求項4において、 前記プロセッサ側端子から入力されたアクセス要求か
ら、該要求を出した前記プロセッサと該要求の対象であ
る前記共用メモリとを判定し、判定結果を前記アクセス
調停部に通知する手段を有するアクセスメモリ判定部を
さらに備えることを特徴とする共用メモリアクセス調整
回路。 - 【請求項7】請求項1において、 前記第2の転送プロセスは、 前記アクセスデータが前記メモリバッファに格納されて
から、あらかじめ定められた待機時間が前記アクセス要
求に、あらかじめ定められた優先順位を与えることを特
徴とする共用メモリアクセス調整方法。 - 【請求項8】請求項7において、 前記あらかじめ定められた優先順位は、最も高い優先順
位であることを特徴とする共用メモリアクセス調整方
法。 - 【請求項9】請求項7において、 前記待機時間は、 前記共用メモリごとに定められ、式 T=T1−T2×(P−1) により求められる値であることを特徴とする共用メモリ
アクセス調整方法。ただし、Tは上記待機時間であり、 T1は前記プロセッサが連続して前記メモリバッファへ
前記アクセスデータを書き込み、その間、該アクセスデ
ータがいずれも上記共用メモリへ転送されなかったとす
ると、該メモリバッファがオーバーフローするまでに要
する時間であり、 T2はメモリバッファと共用メモリとのアクセスに要す
る時間であり、 Pは、該共用メモリに対して同時にアクセスを要求する
可能性のあるプロセッサの数である。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33632093A JPH07200488A (ja) | 1993-12-28 | 1993-12-28 | 共用メモリアクセス調整方法およびその方法を用いた共用メモリアクセス調整回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33632093A JPH07200488A (ja) | 1993-12-28 | 1993-12-28 | 共用メモリアクセス調整方法およびその方法を用いた共用メモリアクセス調整回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07200488A true JPH07200488A (ja) | 1995-08-04 |
Family
ID=18297906
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP33632093A Pending JPH07200488A (ja) | 1993-12-28 | 1993-12-28 | 共用メモリアクセス調整方法およびその方法を用いた共用メモリアクセス調整回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07200488A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6043862A (en) * | 1997-07-02 | 2000-03-28 | Ishiyama; Yutaka | Wet-type plate-making machine for producing printing negatives |
| KR100342497B1 (ko) * | 2000-09-09 | 2002-06-28 | 윤종용 | 차세대 이동 통신 단말기 모뎀용 비터비/터보 디코더의부분 공유 출력 버퍼 |
| KR100716947B1 (ko) * | 2000-07-21 | 2007-05-10 | 삼성전자주식회사 | 커맨드 실행 조정방법 및 그 장치 |
| DE102008021348A1 (de) | 2007-05-02 | 2008-11-27 | Elpida Memory, Inc. | Halbleiterspeicher, Speicherzugriffs-Steuersystem und Datenlese-Verfahren |
| WO2025009086A1 (ja) * | 2023-07-05 | 2025-01-09 | 株式会社日立製作所 | 計算機装置、エレベーター装置、及び、プログラム |
-
1993
- 1993-12-28 JP JP33632093A patent/JPH07200488A/ja active Pending
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6043862A (en) * | 1997-07-02 | 2000-03-28 | Ishiyama; Yutaka | Wet-type plate-making machine for producing printing negatives |
| KR100716947B1 (ko) * | 2000-07-21 | 2007-05-10 | 삼성전자주식회사 | 커맨드 실행 조정방법 및 그 장치 |
| KR100342497B1 (ko) * | 2000-09-09 | 2002-06-28 | 윤종용 | 차세대 이동 통신 단말기 모뎀용 비터비/터보 디코더의부분 공유 출력 버퍼 |
| DE102008021348A1 (de) | 2007-05-02 | 2008-11-27 | Elpida Memory, Inc. | Halbleiterspeicher, Speicherzugriffs-Steuersystem und Datenlese-Verfahren |
| US8145853B2 (en) | 2007-05-02 | 2012-03-27 | Elpida Memory, Inc. | Semiconductor memory apparatus, memory access control system and data reading method |
| WO2025009086A1 (ja) * | 2023-07-05 | 2025-01-09 | 株式会社日立製作所 | 計算機装置、エレベーター装置、及び、プログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2002530744A (ja) | 多重レベル接続識別を備えた通信のシステムおよび方法 | |
| KR100644596B1 (ko) | 버스 시스템 및 그 버스 중재방법 | |
| US9984014B2 (en) | Semiconductor device | |
| JP4861339B2 (ja) | スイッチマトリックス経由のデータ転送を改善するフロー制御方法 | |
| JP4184614B2 (ja) | バスシステム及びその実行順序の調整方法 | |
| EP1112539A2 (en) | Computer system comprising latency tolerant and intolerant modules | |
| JPH07200488A (ja) | 共用メモリアクセス調整方法およびその方法を用いた共用メモリアクセス調整回路 | |
| JP3466214B2 (ja) | 情報処理装置 | |
| JPH0816454A (ja) | 共用メモリアクセス制御回路 | |
| US7634602B2 (en) | Bus system with few control lines | |
| JPH11232213A (ja) | 入出力装置におけるデータ転送方式 | |
| US20070101032A1 (en) | Bus arbitration circuit and bus arbitration method | |
| JP4633290B2 (ja) | データ処理装置及びその装置におけるアクセス調停方法 | |
| JP2006119724A (ja) | Cpuシステム、バスブリッジ、その制御方法、及びコンピュータシステム | |
| JPH1118122A (ja) | データ転送方式 | |
| JP3317150B2 (ja) | 情報処理装置 | |
| JPH064401A (ja) | メモリアクセス回路 | |
| JPH03139751A (ja) | 優先度判定機能を有する通信用dmaコントローラ | |
| JPH11252150A (ja) | ネットワーク接続装置、及びネットワーク接続制御方法 | |
| JP2000029823A (ja) | バスアクセス制御回路 | |
| GB2341771A (en) | Address decoding | |
| JPH02113358A (ja) | ローカルバス式 | |
| JP2004062333A (ja) | 画像処理装置 | |
| JPH01180049A (ja) | 調停回路 | |
| JP2008509470A (ja) | プロセッサと外部周辺装置との間の通信を制御するコントローラおよび方法 |