JPH064401A - メモリアクセス回路 - Google Patents
メモリアクセス回路Info
- Publication number
- JPH064401A JPH064401A JP4161495A JP16149592A JPH064401A JP H064401 A JPH064401 A JP H064401A JP 4161495 A JP4161495 A JP 4161495A JP 16149592 A JP16149592 A JP 16149592A JP H064401 A JPH064401 A JP H064401A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- bus
- control
- address
- 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.)
- Withdrawn
Links
Landscapes
- Memory System (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
(57)【要約】
【目的】 計算機システムで、任意のマスタデバイが任
意のメモリデバイスを高速にアクセスできる機能を、単
純な回路構成で実現することを目的とする。 【構成】 N×K個のマスタデバイス101のうち任意
のものから、M個の分割メモリ102のうち任意のもの
へのアクセスを行うメモリアクセス回路が、それぞれN
個のマスタデバイス101とM個の分割メモリ102と
の間でスイッチングを行うK個のメモリ制御モジュール
103により構成される。各メモリ制御モジュール10
3は、各マスタデバイス101からのメモリアクセス要
求の競合の調停制御などを行う。各メモリ制御モジュー
ル103における各分割メモリ102と対向するインタ
フェースは、分割メモリ102毎に設けられる選択手段
104により、順次分割メモリ102と接続されるよう
に選択される。
意のメモリデバイスを高速にアクセスできる機能を、単
純な回路構成で実現することを目的とする。 【構成】 N×K個のマスタデバイス101のうち任意
のものから、M個の分割メモリ102のうち任意のもの
へのアクセスを行うメモリアクセス回路が、それぞれN
個のマスタデバイス101とM個の分割メモリ102と
の間でスイッチングを行うK個のメモリ制御モジュール
103により構成される。各メモリ制御モジュール10
3は、各マスタデバイス101からのメモリアクセス要
求の競合の調停制御などを行う。各メモリ制御モジュー
ル103における各分割メモリ102と対向するインタ
フェースは、分割メモリ102毎に設けられる選択手段
104により、順次分割メモリ102と接続されるよう
に選択される。
Description
【0001】
【産業上の利用分野】本発明は、計算機システムにおい
て、複数のメモリデバイスとそれらにアクセスを行うプ
ロセッサ、DMAチャネルなどの複数のマスタデバイス
とを結合し、任意のマスタデバイスによる任意のメモリ
デバイスのアクセスを可能とするメモリアクセス回路に
関する。
て、複数のメモリデバイスとそれらにアクセスを行うプ
ロセッサ、DMAチャネルなどの複数のマスタデバイス
とを結合し、任意のマスタデバイスによる任意のメモリ
デバイスのアクセスを可能とするメモリアクセス回路に
関する。
【0002】
【従来の技術】計算機システムでは、プロセッサやI/
0装置がメモリシステムへアクセスするが、プロセッサ
の高速化、マイクロプロセッサ化、I/O装置の高速
化、及びそれらの数の増加により、複数のマスタデバイ
スからメモリシステムに対するアクセスパスの多チャネ
ル化、高速化が課題となっている。
0装置がメモリシステムへアクセスするが、プロセッサ
の高速化、マイクロプロセッサ化、I/O装置の高速
化、及びそれらの数の増加により、複数のマスタデバイ
スからメモリシステムに対するアクセスパスの多チャネ
ル化、高速化が課題となっている。
【0003】例えば、プロセッサとI/O装置の合計が
N個、それぞれXバイト/秒の速度でメモリアクセスを
行うと仮定する。この場合、メモリシステムは、合計N
×Xバイト/秒の速度でアクセスできる必要がある。
N個、それぞれXバイト/秒の速度でメモリアクセスを
行うと仮定する。この場合、メモリシステムは、合計N
×Xバイト/秒の速度でアクセスできる必要がある。
【0004】この速度が非常に高速な場合には、この速
度を実現できるメモリデバイスがないか、あっても非常
に高価であったり、チップ当たりのメモリ容量が少ない
ため要求される容量・速度ののメモリシステムを実現で
きない場合があり得る。
度を実現できるメモリデバイスがないか、あっても非常
に高価であったり、チップ当たりのメモリ容量が少ない
ため要求される容量・速度ののメモリシステムを実現で
きない場合があり得る。
【0005】上述の問題を解決する従来技術としては、
図9に示されるように、メモリを複数の分割メモリ90
2に分割し、プロセッサなどのマスタデバイス群901
と分割メモリ群902をスイッチ903で結合する方式
がある。
図9に示されるように、メモリを複数の分割メモリ90
2に分割し、プロセッサなどのマスタデバイス群901
と分割メモリ群902をスイッチ903で結合する方式
がある。
【0006】この方式では、各マスタデバイス901が
異なる分割メモリにアクセスする時は互いに衝突なくア
クセスできるため、個々の分割メモリ902に対する要
求速度はXバイト/秒程度であっても、メモリシステム
全体でみればそれより速い速度を実現可能となる。もち
ろん、同じ分割メモリ902にアクセスが集中するとメ
モリシステム全体のアクセス速度は低下するが、アクセ
スの集中がそれほど発生しない場合には実用上十分な性
能を実現できる。
異なる分割メモリにアクセスする時は互いに衝突なくア
クセスできるため、個々の分割メモリ902に対する要
求速度はXバイト/秒程度であっても、メモリシステム
全体でみればそれより速い速度を実現可能となる。もち
ろん、同じ分割メモリ902にアクセスが集中するとメ
モリシステム全体のアクセス速度は低下するが、アクセ
スの集中がそれほど発生しない場合には実用上十分な性
能を実現できる。
【0007】
【発明が解決しようとする課題】しかし、上述の従来技
術では、任意のマスタデバイス901と任意の分割メモ
リ902を少ない遅延で接続できる必要があり、かつ、
メモリシステム全体の最大アクセス速度で処理を行う能
力が要求される。
術では、任意のマスタデバイス901と任意の分割メモ
リ902を少ない遅延で接続できる必要があり、かつ、
メモリシステム全体の最大アクセス速度で処理を行う能
力が要求される。
【0008】また、マスタデバイス901の数をN、分
割メモリ902の数をM、スイッチ903とマスタデバ
イス901の接続信号線数をCd 、スイッチ903と分
割メモリ902の接続信号線数をCm とすると、合計の
接続信号線数は(N×Cd )+(M×Cm )となる。
割メモリ902の数をM、スイッチ903とマスタデバ
イス901の接続信号線数をCd 、スイッチ903と分
割メモリ902の接続信号線数をCm とすると、合計の
接続信号線数は(N×Cd )+(M×Cm )となる。
【0009】例えば、N=M=2とし、スイッチ903
とマスタデバイス901間及びスイッチ903と分割メ
モリ間のデータ幅を共に36(32データ+4パリテ
ィ、双方向)、スイッチ903とマスタデバイス901
間のアドレス幅を36、スイッチ903と分割メモリ9
02間のアドレス幅を24とすれば、接続信号線の合計
数は、{2×(36+36)}+{2×(36+2
4)}=264本(うち144本は双方向)となる。
とマスタデバイス901間及びスイッチ903と分割メ
モリ間のデータ幅を共に36(32データ+4パリテ
ィ、双方向)、スイッチ903とマスタデバイス901
間のアドレス幅を36、スイッチ903と分割メモリ9
02間のアドレス幅を24とすれば、接続信号線の合計
数は、{2×(36+36)}+{2×(36+2
4)}=264本(うち144本は双方向)となる。
【0010】これを1個のゲートアレイなどのLSIで
実現するのは、ピン数、内部入出力線数の制限から困難
であるという問題点を有している。そして、上述のよう
に速い処理能力が要求される場合には、なおさらであ
る。
実現するのは、ピン数、内部入出力線数の制限から困難
であるという問題点を有している。そして、上述のよう
に速い処理能力が要求される場合には、なおさらであ
る。
【0011】本発明は、任意のマスタデバイスが任意の
メモリデバイスを高速にアクセスできる機能を、単純な
回路構成で実現することを目的とする。
メモリデバイスを高速にアクセスできる機能を、単純な
回路構成で実現することを目的とする。
【0012】
【課題を解決するための手段】図1は、本発明のブロッ
ク図である。本発明は、#1〜#N×K のN×K個(第1の
所定数)のマスタデバイス101のうち任意のものか
ら、#1〜#MのM個(第2の所定数)の分割メモリ102
のうち任意のものへのアクセスを行うメモリアクセス回
路を前提とする。
ク図である。本発明は、#1〜#N×K のN×K個(第1の
所定数)のマスタデバイス101のうち任意のものか
ら、#1〜#MのM個(第2の所定数)の分割メモリ102
のうち任意のものへのアクセスを行うメモリアクセス回
路を前提とする。
【0013】まず、それぞれ、以下のような機能を有す
る#1〜#KのK個(第4の所定数)のメモリ制御モジュー
ル103を有する。即ち、まず、メモリ制御モジュール
103は、N×K個のマスタデバイス101のうちN個
ずつのマスタデバイス101に対するインタフェースと
M個の分割メモリ102に対向するインタフェースとを
有する。
る#1〜#KのK個(第4の所定数)のメモリ制御モジュー
ル103を有する。即ち、まず、メモリ制御モジュール
103は、N×K個のマスタデバイス101のうちN個
ずつのマスタデバイス101に対するインタフェースと
M個の分割メモリ102に対向するインタフェースとを
有する。
【0014】次に、メモリ制御モジュール103は、所
定の動作クロックBCLKと所定のモード信号MODE
に基づいて動作する。続いて、メモリ制御モジュール1
03は、動作クロックBCLKの同じ位相において複数
のマスタデバイス101から同一の分割メモリ102へ
のメモリアクセス要求がなされている場合には、所定の
規則によって決定された優先順位に従って選択されるマ
スタデバイス101からのメモリアクセス要求に基づい
て、動作クロックBCLKのモード信号MODE(#1〜
#Kのそれぞれ)に基づいて指定される位相で、メモリア
クセス要求に対応する分割メモリ102をアクセスす
る。
定の動作クロックBCLKと所定のモード信号MODE
に基づいて動作する。続いて、メモリ制御モジュール1
03は、動作クロックBCLKの同じ位相において複数
のマスタデバイス101から同一の分割メモリ102へ
のメモリアクセス要求がなされている場合には、所定の
規則によって決定された優先順位に従って選択されるマ
スタデバイス101からのメモリアクセス要求に基づい
て、動作クロックBCLKのモード信号MODE(#1〜
#Kのそれぞれ)に基づいて指定される位相で、メモリア
クセス要求に対応する分割メモリ102をアクセスす
る。
【0015】更に、メモリ制御モジュール103は、動
作クロックBCLKの同じ位相において複数のマスタデ
バイス101から異なる分割メモリ102へのメモリア
クセス要求がなされている場合には、それらの複数のマ
スタデバイス101からのそれぞれのメモリアクセス要
求に基づいて、動作クロックBCLKのモード信号MO
DE(#1〜#Kのそれぞれ)に基づいて指定される位相
で、各メモリアクセス要求に対応する異なる分割メモリ
102を同時にアクセスする。
作クロックBCLKの同じ位相において複数のマスタデ
バイス101から異なる分割メモリ102へのメモリア
クセス要求がなされている場合には、それらの複数のマ
スタデバイス101からのそれぞれのメモリアクセス要
求に基づいて、動作クロックBCLKのモード信号MO
DE(#1〜#Kのそれぞれ)に基づいて指定される位相
で、各メモリアクセス要求に対応する異なる分割メモリ
102を同時にアクセスする。
【0016】そして、分割メモリ102毎に設けられ、
その分割メモリ102とK個のメモリ制御モジュール1
03のそれぞれにおけるその分割メモリ102に対向す
るインタフェースとを、そのインタフェースに対応する
メモリ制御モジュール103がその分割メモリ102を
アクセスする動作クロックBCLKの位相において選択
的に接続する、#1〜#MのM個の選択手段104を有す
る。
その分割メモリ102とK個のメモリ制御モジュール1
03のそれぞれにおけるその分割メモリ102に対向す
るインタフェースとを、そのインタフェースに対応する
メモリ制御モジュール103がその分割メモリ102を
アクセスする動作クロックBCLKの位相において選択
的に接続する、#1〜#MのM個の選択手段104を有す
る。
【0017】
【作用】本発明では、N×K個のマスタデバイス101
のうち任意のものから、M個の分割メモリ102のうち
任意のものへのアクセスを行うメモリアクセス回路が、
それぞれN個のマスタデバイス101とM個の分割メモ
リ102との間でスイッチングを行うK個のメモリ制御
モジュール103により構成され、それらにおける各分
割メモリ102と対向するインタフェースが、分割メモ
リ102毎に設けられる選択手段104により、順次分
割メモリ102と接続されるように選択される点が特徴
である。
のうち任意のものから、M個の分割メモリ102のうち
任意のものへのアクセスを行うメモリアクセス回路が、
それぞれN個のマスタデバイス101とM個の分割メモ
リ102との間でスイッチングを行うK個のメモリ制御
モジュール103により構成され、それらにおける各分
割メモリ102と対向するインタフェースが、分割メモ
リ102毎に設けられる選択手段104により、順次分
割メモリ102と接続されるように選択される点が特徴
である。
【0018】この構成により、各メモリ制御モジュール
103をゲートアレイチップなどで容易に構成すること
が可能となり、しかも、複数のマスタデバイス101間
の競合の調停制御は各メモリ制御モジュール103が行
い、選択手段104は、各メモリ制御モジュール103
における各分割メモリ102と対向するインタフェース
を単純に順次選択するだけなので、全体のメモリアクセ
ス制御を簡易に実現することができる。
103をゲートアレイチップなどで容易に構成すること
が可能となり、しかも、複数のマスタデバイス101間
の競合の調停制御は各メモリ制御モジュール103が行
い、選択手段104は、各メモリ制御モジュール103
における各分割メモリ102と対向するインタフェース
を単純に順次選択するだけなので、全体のメモリアクセ
ス制御を簡易に実現することができる。
【0019】
【実施例】以下、図面を参照しながら本発明の実施例に
つき詳細に説明する。以下の実施例において、後述する
図3のメッセージ通信装置103内の実メモリ307と
制御メモリ308が分割メモリとして構成され、バーチ
ャルメモリコントローラ209がスイッチ機能を有する
ように構成される点が本発明に最も関連する。 <本発明の実施例の構成>全体構成 図2は、本発明の実施例が適用されるネットワークの構
成図である。
つき詳細に説明する。以下の実施例において、後述する
図3のメッセージ通信装置103内の実メモリ307と
制御メモリ308が分割メモリとして構成され、バーチ
ャルメモリコントローラ209がスイッチ機能を有する
ように構成される点が本発明に最も関連する。 <本発明の実施例の構成>全体構成 図2は、本発明の実施例が適用されるネットワークの構
成図である。
【0020】光ファイバリング206を中心に構成され
るネットワーク201には、複数のノード202(図2
では、#000、#***、#%%%、などの番号で示されている)
が接続される。
るネットワーク201には、複数のノード202(図2
では、#000、#***、#%%%、などの番号で示されている)
が接続される。
【0021】ノード202において、プロセッサバス2
05には複数のプロセッサ204が接続され、プロセッ
サバス205はメッセージ通信装置203に収容され
る。メッセージ通信装置203は、プロセッサバス20
5を介してプロセッサ204が送信又は受信するメッセ
ージデータを処理し、また、光ファイバリング206に
対して入力又は出力されるメッセージデータが格納され
たフレームを処理する。このメッセージ通信装置203
内のバスの構成が、本発明に最も関連する。メッセージ通信装置103の構成 次に、図3は、本発明の実施例における図2のノード2
02内のメッセージ通信装置203の構成図である。
05には複数のプロセッサ204が接続され、プロセッ
サバス205はメッセージ通信装置203に収容され
る。メッセージ通信装置203は、プロセッサバス20
5を介してプロセッサ204が送信又は受信するメッセ
ージデータを処理し、また、光ファイバリング206に
対して入力又は出力されるメッセージデータが格納され
たフレームを処理する。このメッセージ通信装置203
内のバスの構成が、本発明に最も関連する。メッセージ通信装置103の構成 次に、図3は、本発明の実施例における図2のノード2
02内のメッセージ通信装置203の構成図である。
【0022】実メモリ307は、メッセージデータを一
時保持する通信バッファとして機能する。制御メモリ3
08は、メッセージの通信に使用される仮想記憶空間上
の各仮想ページアドレス毎に、その仮想ページアドレス
が実メモリ307内の実ページアドレスに割り付けられ
ている場合にはその実ページアドレスと、その仮想ペー
ジアドレスのページ状態(通信状態)を示すデータを記
憶する。
時保持する通信バッファとして機能する。制御メモリ3
08は、メッセージの通信に使用される仮想記憶空間上
の各仮想ページアドレス毎に、その仮想ページアドレス
が実メモリ307内の実ページアドレスに割り付けられ
ている場合にはその実ページアドレスと、その仮想ペー
ジアドレスのページ状態(通信状態)を示すデータを記
憶する。
【0023】このように、本発明の実施例におけるメッ
セージ通信装置103において、データを記憶するため
のメモリは、1つのメモリデバイスとして構成されるの
ではなく、実メモリ307と制御メモリ308という分
割メモリとして構成される点が特徴である。
セージ通信装置103において、データを記憶するため
のメモリは、1つのメモリデバイスとして構成されるの
ではなく、実メモリ307と制御メモリ308という分
割メモリとして構成される点が特徴である。
【0024】プロセッサバスインタフェース312は、
図2のプロセッサバス205を収容すると共に外部バス
301に接続され、図2のプロセッサ204からプロセ
ッサバス205を介して入力されるメッセージデータ等
を、外部バス301及びバーチャルメモリコントローラ
309を介して実メモリ307に出力し、逆に、実メモ
リ307からバーチャルメモリコントローラ309及び
外部バス301を介して入力されるメッセージデータ等
を、プロセッサバス205を介してプロセッサ204に
出力する。
図2のプロセッサバス205を収容すると共に外部バス
301に接続され、図2のプロセッサ204からプロセ
ッサバス205を介して入力されるメッセージデータ等
を、外部バス301及びバーチャルメモリコントローラ
309を介して実メモリ307に出力し、逆に、実メモ
リ307からバーチャルメモリコントローラ309及び
外部バス301を介して入力されるメッセージデータ等
を、プロセッサバス205を介してプロセッサ204に
出力する。
【0025】また、プロセッサバスインタフェース31
2は、外部バス301、バス結合部311及びCPUバ
ス302を介して、CPU313との間で、通信制御デ
ータの授受を行う。
2は、外部バス301、バス結合部311及びCPUバ
ス302を介して、CPU313との間で、通信制御デ
ータの授受を行う。
【0026】図2には明示してないが、図3では、プロ
セッサバス205は、1ノードあたり2本設けられてい
る。従って、プロセッサバスインタフェース312も、
各プロセッサバス205に対応して、#0と#1の2つが設
けられている。そして、#0のプロセッサバスインタフェ
ース312は、制御線319を用いて、#0と#1の各プロ
セッサバスインタフェース312が外部バス301をア
クセスする場合の競合制御を行う。更に、#0のプロセッ
サバスインタフェース312は、制御線321、322
を介して、後述するCPUバスアービタ314及びI/
Oコントローラ315との間でバスの使用に関する制御
データを授受しながら、外部バス301の競合制御を行
って、必要なときには制御線320を介してバス結合部
311の開閉制御を行う。
セッサバス205は、1ノードあたり2本設けられてい
る。従って、プロセッサバスインタフェース312も、
各プロセッサバス205に対応して、#0と#1の2つが設
けられている。そして、#0のプロセッサバスインタフェ
ース312は、制御線319を用いて、#0と#1の各プロ
セッサバスインタフェース312が外部バス301をア
クセスする場合の競合制御を行う。更に、#0のプロセッ
サバスインタフェース312は、制御線321、322
を介して、後述するCPUバスアービタ314及びI/
Oコントローラ315との間でバスの使用に関する制御
データを授受しながら、外部バス301の競合制御を行
って、必要なときには制御線320を介してバス結合部
311の開閉制御を行う。
【0027】ネットワーク制御回路310は、フレーム
の送信時には、CPU313からCPUバス302、I
/Oコントローラ315、及びネットワーク命令/結果
バス303を介して入力される送信命令に基づいて、制
御メモリアクセスバス306を介して制御メモリ308
をアクセスしながら、実メモリ307からバーチャルメ
モリコントローラ309及びネットワークデータ送信バ
ス305を介して送信されるべきメッセージデータを読
み出し、それを含む送信フレームを構築し、それを光フ
ァイバリング206に送出し、その送信結果を、ネット
ワーク命令/結果バス303、I/Oコントローラ31
5、及びCPUバス302を介してCPU313に通知
する。
の送信時には、CPU313からCPUバス302、I
/Oコントローラ315、及びネットワーク命令/結果
バス303を介して入力される送信命令に基づいて、制
御メモリアクセスバス306を介して制御メモリ308
をアクセスしながら、実メモリ307からバーチャルメ
モリコントローラ309及びネットワークデータ送信バ
ス305を介して送信されるべきメッセージデータを読
み出し、それを含む送信フレームを構築し、それを光フ
ァイバリング206に送出し、その送信結果を、ネット
ワーク命令/結果バス303、I/Oコントローラ31
5、及びCPUバス302を介してCPU313に通知
する。
【0028】また、ネットワーク制御回路310は、光
ファイバリング206からのフレームの受信時には、制
御メモリアクセスバス306を介して制御メモリ308
をアクセスしながら、その受信フレームを他のノード2
02へ中継する。又は、その受信フレーム内のメッセー
ジデータを取り出し、ネットワークデータ受信バス30
4からバーチャルメモリコントローラ309を介して実
メモリ307に格納し、その受信結果を、ネットワーク
命令/結果バス303、I/Oコントローラ315、及
びCPUバス302を介してCPU313に通知する。
ファイバリング206からのフレームの受信時には、制
御メモリアクセスバス306を介して制御メモリ308
をアクセスしながら、その受信フレームを他のノード2
02へ中継する。又は、その受信フレーム内のメッセー
ジデータを取り出し、ネットワークデータ受信バス30
4からバーチャルメモリコントローラ309を介して実
メモリ307に格納し、その受信結果を、ネットワーク
命令/結果バス303、I/Oコントローラ315、及
びCPUバス302を介してCPU313に通知する。
【0029】CPU313は、CPUバス302に接続
され、動作開始時に、CPUバス302に接続されるE
PROM316からCPUバス302に接続されるプロ
グラムRAM317に書き込まれる制御プログラムに従
って動作する。
され、動作開始時に、CPUバス302に接続されるE
PROM316からCPUバス302に接続されるプロ
グラムRAM317に書き込まれる制御プログラムに従
って動作する。
【0030】このCPU313は、CPUバス302、
バス結合部311、及び外部バス301を介して、プロ
セッサバスインタフェース312との間で、通信制御デ
ータの授受を行う。
バス結合部311、及び外部バス301を介して、プロ
セッサバスインタフェース312との間で、通信制御デ
ータの授受を行う。
【0031】また、CPU313は、フレームの送信時
には、CPUバス302、I/Oコントローラ315、
及びネットワーク命令/結果バス303を介して、送信
命令をネットワーク制御回路310へ出力し、その後、
ネットワーク制御回路310から、ネットワーク命令/
結果バス303、I/Oコントローラ315、及びCP
Uバス302を介して、送信結果通知を受け取る。逆
に、CPU313は、フレームの受信時には、ネットワ
ーク制御回路310から、ネットワーク命令/結果バス
303、I/Oコントローラ315、及びCPUバス3
02を介して、受信結果通知を受け取る。
には、CPUバス302、I/Oコントローラ315、
及びネットワーク命令/結果バス303を介して、送信
命令をネットワーク制御回路310へ出力し、その後、
ネットワーク制御回路310から、ネットワーク命令/
結果バス303、I/Oコントローラ315、及びCP
Uバス302を介して、送信結果通知を受け取る。逆
に、CPU313は、フレームの受信時には、ネットワ
ーク制御回路310から、ネットワーク命令/結果バス
303、I/Oコントローラ315、及びCPUバス3
02を介して、受信結果通知を受け取る。
【0032】更に、CPU313は、CPUバス302
を介して制御メモリ308内の各仮想ページアドレスの
ページ状態データ(通信状態を示すデータ)をアクセス
すると共に、CPUバス302及びバーチャルメモリコ
ントローラ309を介して制御メモリ308内の各仮想
ページアドレスの実ページアドレスデータ及び実メモリ
307をアクセスする。
を介して制御メモリ308内の各仮想ページアドレスの
ページ状態データ(通信状態を示すデータ)をアクセス
すると共に、CPUバス302及びバーチャルメモリコ
ントローラ309を介して制御メモリ308内の各仮想
ページアドレスの実ページアドレスデータ及び実メモリ
307をアクセスする。
【0033】I/Oコントローラ315は、CPUバス
302に接続され、外部の周辺装置が接続される周辺装
置バス318を収容する。また、I/Oコントローラ3
15は、前述したように、CPUバス302及びネット
ワーク命令/結果バス303を介して、CPU313と
ネットワーク制御回路310との間で授受される送信命
令、送信結果通知又は受信結果通知を中継する。
302に接続され、外部の周辺装置が接続される周辺装
置バス318を収容する。また、I/Oコントローラ3
15は、前述したように、CPUバス302及びネット
ワーク命令/結果バス303を介して、CPU313と
ネットワーク制御回路310との間で授受される送信命
令、送信結果通知又は受信結果通知を中継する。
【0034】更に、I/Oコントローラ315は、CP
U313が外部バス301をアクセスするアドレスをC
PUバス302に対して指定した場合に、制御線322
を介して#0のプロセッサバスインタフェース312に、
外部バスアクセス要求を出力する。
U313が外部バス301をアクセスするアドレスをC
PUバス302に対して指定した場合に、制御線322
を介して#0のプロセッサバスインタフェース312に、
外部バスアクセス要求を出力する。
【0035】CPUバスアービタ314は、プロセッサ
バスインタフェース312から制御線321を介してC
PUバスアクセス要求(バスグラント要求)を受け取っ
た場合に、CPU313に対して制御線323を介して
バス使用要求(バスグラント要求)を出力し、CPU3
13から制御線323を介してバス使用許可(バスグラ
ントアクノリッジ)を受け取り、それに基づいてCPU
バスアクセス許可(バスグラントアクノリッジ)を制御
線321を介して#0のプロセッサバスインタフェース3
12に返す。
バスインタフェース312から制御線321を介してC
PUバスアクセス要求(バスグラント要求)を受け取っ
た場合に、CPU313に対して制御線323を介して
バス使用要求(バスグラント要求)を出力し、CPU3
13から制御線323を介してバス使用許可(バスグラ
ントアクノリッジ)を受け取り、それに基づいてCPU
バスアクセス許可(バスグラントアクノリッジ)を制御
線321を介して#0のプロセッサバスインタフェース3
12に返す。
【0036】バーチャルメモリコントローラ309は、
プロセッサバスインタフェース312と実メモリ307
との間で外部バス301を介して授受されるデータ、C
PU313と実メモリ307又は制御メモリ308との
間でCPUバス302を介して授受されるデータ、ネッ
トワーク制御回路310と実メモリ307との間でネッ
トワークデータ受信バス304又はネットワークデータ
送信バス305を介して授受されるデータのスイッチン
グ制御及び競合制御を行う。バーチャルメモリコントローラ309の周辺の構成 図4は、図3のバーチャルメモリコントローラ309の
周辺の更に詳細な構成図である。
プロセッサバスインタフェース312と実メモリ307
との間で外部バス301を介して授受されるデータ、C
PU313と実メモリ307又は制御メモリ308との
間でCPUバス302を介して授受されるデータ、ネッ
トワーク制御回路310と実メモリ307との間でネッ
トワークデータ受信バス304又はネットワークデータ
送信バス305を介して授受されるデータのスイッチン
グ制御及び競合制御を行う。バーチャルメモリコントローラ309の周辺の構成 図4は、図3のバーチャルメモリコントローラ309の
周辺の更に詳細な構成図である。
【0037】バーチャルメモリコントローラ309は、
#0と#1の2つのバーチャルメモリコントロールモジュー
ル(VMC)401から構成される。#0のVMC401
は、CPUバス302とネットワークデータ送信バス3
05が実メモリ307又は制御メモリ308内の実ペー
ジアドレスをアクセスする場合のスイッチング制御及び
競合の調停制御を行い、アドレスバス407及びデータ
バス403によって実メモリ307と接続され、データ
バス404を介して制御メモリ308の実ページアドレ
ス入出力端子と接続される。
#0と#1の2つのバーチャルメモリコントロールモジュー
ル(VMC)401から構成される。#0のVMC401
は、CPUバス302とネットワークデータ送信バス3
05が実メモリ307又は制御メモリ308内の実ペー
ジアドレスをアクセスする場合のスイッチング制御及び
競合の調停制御を行い、アドレスバス407及びデータ
バス403によって実メモリ307と接続され、データ
バス404を介して制御メモリ308の実ページアドレ
ス入出力端子と接続される。
【0038】#1のVMC401は、外部バス301とネ
ットワークデータ受信バス304が実メモリ307又は
制御メモリ308内の実ページアドレスをアクセスする
場合のスイッチング制御及び競合の調停制御を行い、ア
ドレスバス408及びデータバス403によって実メモ
リ307と接続され、データバス404を介して制御メ
モリ308の実ページアドレスデータ入出力端子と接続
される。
ットワークデータ受信バス304が実メモリ307又は
制御メモリ308内の実ページアドレスをアクセスする
場合のスイッチング制御及び競合の調停制御を行い、ア
ドレスバス408及びデータバス403によって実メモ
リ307と接続され、データバス404を介して制御メ
モリ308の実ページアドレスデータ入出力端子と接続
される。
【0039】#0と#1のVMC401は、クロックBCL
Kとそれに同期するクロックB2CLKに同期して動作
する。#0のVMC401にはMODE信号が入力され、
#1のVMC401にはMODE信号をインバータで反転
した信号が入力される。
Kとそれに同期するクロックB2CLKに同期して動作
する。#0のVMC401にはMODE信号が入力され、
#1のVMC401にはMODE信号をインバータで反転
した信号が入力される。
【0040】実メモリ307内に設けられるアドレスセ
レクタ411は、#0のVMC401からアドレスバス4
07を介して指定されるアドレスと#1のVMC401か
らアドレスバス408を介して指定されるアドレスと
を、クロックBCLK、B2CLKに基づいて交互に選
択する。
レクタ411は、#0のVMC401からアドレスバス4
07を介して指定されるアドレスと#1のVMC401か
らアドレスバス408を介して指定されるアドレスと
を、クロックBCLK、B2CLKに基づいて交互に選
択する。
【0041】CPUバス302のデータバス部分405
と制御メモリアクセスバス306のデータバス部分40
6は、バッファ402(図3では特には図示していな
い)を介して制御メモリ308のページ状態データ入出
力端子と接続される。
と制御メモリアクセスバス306のデータバス部分40
6は、バッファ402(図3では特には図示していな
い)を介して制御メモリ308のページ状態データ入出
力端子と接続される。
【0042】また、制御メモリ308内に設けられるア
ドレスセレクタ412は、CPUバス302のアドレス
バス部分409を介して指定されるアドレスと制御メモ
リアクセスバス306のアドレスバス部分410を介し
て指定されるアドレスとを、クロックBCLK、B2C
LKに基づいて交互に選択する。バーチャルメモリコントロールモジュール401の構成 図5は、図4の#0及び#1のバーチャルメモリコントロー
ルモジュール401の共通の構成図である。
ドレスセレクタ412は、CPUバス302のアドレス
バス部分409を介して指定されるアドレスと制御メモ
リアクセスバス306のアドレスバス部分410を介し
て指定されるアドレスとを、クロックBCLK、B2C
LKに基づいて交互に選択する。バーチャルメモリコントロールモジュール401の構成 図5は、図4の#0及び#1のバーチャルメモリコントロー
ルモジュール401の共通の構成図である。
【0043】ローカルバスインタフェース501にはC
PUバス302又は外部バス301が収容され、ネット
ワークデータバスインタフェース502には、ネットワ
ークデータ送信バス305又はネットワークデータ受信
バス304が収容される。
PUバス302又は外部バス301が収容され、ネット
ワークデータバスインタフェース502には、ネットワ
ークデータ送信バス305又はネットワークデータ受信
バス304が収容される。
【0044】実メモリインタフェース506は、それぞ
れ実メモリ307と接続されるデータバス403、アド
レスバス407又は408を収容する。制御メモリイン
タフェース507は、制御メモリ308と接続されるデ
ータバス404を収容する。
れ実メモリ307と接続されるデータバス403、アド
レスバス407又は408を収容する。制御メモリイン
タフェース507は、制御メモリ308と接続されるデ
ータバス404を収容する。
【0045】ローカルバスインタフェース501と実メ
モリインタフェース506、ネットワークデータバスイ
ンタフェース502と実メモリインタフェース506
は、データバスとアドレスバスを含むバスによって接続
され、ローカルバスインタフェース501と制御メモリ
インタフェース507、ネットワーク201データバス
と制御メモリインタフェース507は、データバスによ
って接続される。
モリインタフェース506、ネットワークデータバスイ
ンタフェース502と実メモリインタフェース506
は、データバスとアドレスバスを含むバスによって接続
され、ローカルバスインタフェース501と制御メモリ
インタフェース507、ネットワーク201データバス
と制御メモリインタフェース507は、データバスによ
って接続される。
【0046】制御回路503は、クロックBCLK、B
2CLK、MODE信号又はそれを反転した(MODE
−)信号に基づいて動作し、制御線504によってロー
カルバスインタフェース501又はネットワークデータ
バスインタフェース502を制御し、制御線505を介
して実メモリインタフェース506及び制御メモリイン
タフェース507を制御しながら、CPUバス302又
は外部バス301とネットワークデータ送信バス305
又はネットワークデータ受信バス304が、実メモリ3
07又は制御メモリ308を別々にアクセスするときの
スイッチング制御と、これらが実メモリ307又は制御
メモリ308を同時にアクセスするときの競合の調停制
御を行う。
2CLK、MODE信号又はそれを反転した(MODE
−)信号に基づいて動作し、制御線504によってロー
カルバスインタフェース501又はネットワークデータ
バスインタフェース502を制御し、制御線505を介
して実メモリインタフェース506及び制御メモリイン
タフェース507を制御しながら、CPUバス302又
は外部バス301とネットワークデータ送信バス305
又はネットワークデータ受信バス304が、実メモリ3
07又は制御メモリ308を別々にアクセスするときの
スイッチング制御と、これらが実メモリ307又は制御
メモリ308を同時にアクセスするときの競合の調停制
御を行う。
【0047】以上の構成を有する本発明の実施例の動作
について説明する。 <プロセッサ間通信の全体動作>今、図2及び図3にお
いて、例えば#000のノード202内の1つのプロセッサ
204から、#***のノード202内の他の1つのプロセ
ッサ204にメッセージデータを送信する場合の全体動
作について説明する。
について説明する。 <プロセッサ間通信の全体動作>今、図2及び図3にお
いて、例えば#000のノード202内の1つのプロセッサ
204から、#***のノード202内の他の1つのプロセ
ッサ204にメッセージデータを送信する場合の全体動
作について説明する。
【0048】この場合に、#000のノード202内の1つ
のプロセッサ204から送信されるメッセージデータ
は、プロセッサバス205を介してそのノード内のメッ
セージ通信装置203(以下、#000のメッセージ通信装
置203と呼ぶ)の実メモリ307に転送された後に、
#***のノード202内のメッセージ通信装置203(以
下、#***のメッセージ通信装置203と呼ぶ)の実メモ
リ307に送られ、その後、その実メモリ307からプ
ロセッサバス205を介して宛て先のプロセッサ204
に転送される。即ち、各メッセージ通信装置203の実
メモリ307は、通信バッファとして機能する。メッセージ通信装置203間の通信方式 ここで、メッセージ通信装置203間のメッセージデー
タの通信には、ネットワーク仮想記憶方式という特別な
方式が適用される。
のプロセッサ204から送信されるメッセージデータ
は、プロセッサバス205を介してそのノード内のメッ
セージ通信装置203(以下、#000のメッセージ通信装
置203と呼ぶ)の実メモリ307に転送された後に、
#***のノード202内のメッセージ通信装置203(以
下、#***のメッセージ通信装置203と呼ぶ)の実メモ
リ307に送られ、その後、その実メモリ307からプ
ロセッサバス205を介して宛て先のプロセッサ204
に転送される。即ち、各メッセージ通信装置203の実
メモリ307は、通信バッファとして機能する。メッセージ通信装置203間の通信方式 ここで、メッセージ通信装置203間のメッセージデー
タの通信には、ネットワーク仮想記憶方式という特別な
方式が適用される。
【0049】まず、図2のネットワーク201全体で、
仮想記憶空間が定義される。この仮想記憶空間は、複数
の仮想ページに分割され、メッセージデータの通信はこ
の仮想ページを介して行われる。例えば、仮想記憶空間
は、0000〜FFFFページ(16進数)までの仮想ページア
ドレスに分割される。1つの仮想ページは、メッセージ
データの1単位であるパケットを十分に収容可能な固定
長(例えば8キロバイト長)のデータ長を有する。な
お、以下特に言及しないときは、仮想ページアドレス及
び口述する実ページアドレスは、16進数で表現する。
仮想記憶空間が定義される。この仮想記憶空間は、複数
の仮想ページに分割され、メッセージデータの通信はこ
の仮想ページを介して行われる。例えば、仮想記憶空間
は、0000〜FFFFページ(16進数)までの仮想ページア
ドレスに分割される。1つの仮想ページは、メッセージ
データの1単位であるパケットを十分に収容可能な固定
長(例えば8キロバイト長)のデータ長を有する。な
お、以下特に言及しないときは、仮想ページアドレス及
び口述する実ページアドレスは、16進数で表現する。
【0050】次に、この仮想記憶空間の所定ページ数毎
例えば16ページ毎に、ネットワーク201に接続され
る各ノード202のメッセージ通信装置203が割り当
てられる。例えば、0000〜000Fページには#000番目のノ
ード202のメッセージ通信装置203が割り当てら
れ、0010〜001Fページには#001番目のノード202のメ
ッセージ通信装置203が割り当てられ、以下同様にし
て、***0〜***Fページ及び%%%0〜%%%Fページ(3桁の *
及び %はそれぞれ0〜 Fの16進数のうち任意の数)に
は、それぞれ#***番目及び#%%%番目の各ノード202の
メッセージ通信装置203が割り当てられる。
例えば16ページ毎に、ネットワーク201に接続され
る各ノード202のメッセージ通信装置203が割り当
てられる。例えば、0000〜000Fページには#000番目のノ
ード202のメッセージ通信装置203が割り当てら
れ、0010〜001Fページには#001番目のノード202のメ
ッセージ通信装置203が割り当てられ、以下同様にし
て、***0〜***Fページ及び%%%0〜%%%Fページ(3桁の *
及び %はそれぞれ0〜 Fの16進数のうち任意の数)に
は、それぞれ#***番目及び#%%%番目の各ノード202の
メッセージ通信装置203が割り当てられる。
【0051】従って、上述の例では、ネットワーク20
1には、#000〜#FFFまでの最大で3096台のメッセー
ジ通信装置203が接続可能である。一方、各メッセー
ジ通信装置203内の実メモリ307は、それぞれが上
述の仮想ページと同じデータ長を有する複数の実ページ
に分割される。実メモリ307のページ容量は、仮想記
憶空間のページ容量よりはるかに小さくてよく、例えば
64〜256ページ程度でよい。
1には、#000〜#FFFまでの最大で3096台のメッセー
ジ通信装置203が接続可能である。一方、各メッセー
ジ通信装置203内の実メモリ307は、それぞれが上
述の仮想ページと同じデータ長を有する複数の実ページ
に分割される。実メモリ307のページ容量は、仮想記
憶空間のページ容量よりはるかに小さくてよく、例えば
64〜256ページ程度でよい。
【0052】次に、各メッセージ通信装置203の制御
メモリ308にはそれぞれ、図6に示されるように、全
仮想ページアドレス分の制御データが記憶される。各仮
想ページアドレスの制御データは、図6に示されるよう
に、その仮想ページアドレスに対応付けられる自メッセ
ージ通信装置203内の実メモリ307の実ページアド
レスデータと、その仮想ページアドレスの通信状態を示
すページ状態データとから構成されている。
メモリ308にはそれぞれ、図6に示されるように、全
仮想ページアドレス分の制御データが記憶される。各仮
想ページアドレスの制御データは、図6に示されるよう
に、その仮想ページアドレスに対応付けられる自メッセ
ージ通信装置203内の実メモリ307の実ページアド
レスデータと、その仮想ページアドレスの通信状態を示
すページ状態データとから構成されている。
【0053】そして、初期状態として、各ノード202
内のメッセージ通信装置203の制御メモリ308にお
いて、そのノード202に割り当てられている仮想ペー
ジアドレスには、CPU313のネットワーク用受信制
御機能によって、自メッセージ通信装置203の実メモ
リ307内の任意の空きページに設けられるネットワー
ク用受信バッファの実ページアドレスと、ページ状態と
して受信バッファ割付状態VPが、それぞれ予め書き込ま
れている。なお、ネットワーク用受信制御機能は、CP
U313がプログラムRAM317に記憶された制御プ
ログラムを実行することにより実現される。
内のメッセージ通信装置203の制御メモリ308にお
いて、そのノード202に割り当てられている仮想ペー
ジアドレスには、CPU313のネットワーク用受信制
御機能によって、自メッセージ通信装置203の実メモ
リ307内の任意の空きページに設けられるネットワー
ク用受信バッファの実ページアドレスと、ページ状態と
して受信バッファ割付状態VPが、それぞれ予め書き込ま
れている。なお、ネットワーク用受信制御機能は、CP
U313がプログラムRAM317に記憶された制御プ
ログラムを実行することにより実現される。
【0054】例えば、#000のメッセージ通信装置203
の制御メモリ308において、自メッセージ通信装置2
03に割り当てられている0000,0001,・・・ ,000Fペー
ジの各仮想ページアドレスには、図6に示されるよう
に、実メモリ307内のs,q,・・・,pの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
の制御メモリ308において、自メッセージ通信装置2
03に割り当てられている0000,0001,・・・ ,000Fペー
ジの各仮想ページアドレスには、図6に示されるよう
に、実メモリ307内のs,q,・・・,pの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
【0055】また、#***のメッセージ通信装置203の
制御メモリ308において、自メッセージ通信装置20
3に割り当てられている***0,***1,・・・ ,***Fページ
の各仮想ページアドレスには、図6に示されるように、
実メモリ307内のv,u,・・・,tの各実ページアドレス
が書き込まれ、受信バッファ割付状態を示すページ状態
VPが書き込まれている。
制御メモリ308において、自メッセージ通信装置20
3に割り当てられている***0,***1,・・・ ,***Fページ
の各仮想ページアドレスには、図6に示されるように、
実メモリ307内のv,u,・・・,tの各実ページアドレス
が書き込まれ、受信バッファ割付状態を示すページ状態
VPが書き込まれている。
【0056】同様に、#%%%のメッセージ通信装置203
の制御メモリ308において、自メッセージ通信装置2
03に割り当てられている%%%0,%%%1,・・・ ,%%%Fペー
ジの各仮想ページアドレスには、図6に示されるよう
に、実メモリ307内のy,w,・・・,xの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
の制御メモリ308において、自メッセージ通信装置2
03に割り当てられている%%%0,%%%1,・・・ ,%%%Fペー
ジの各仮想ページアドレスには、図6に示されるよう
に、実メモリ307内のy,w,・・・,xの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
【0057】今、後述する転送動作により、例えば#000
のメッセージ通信装置203の実メモリ307内の、実
ページアドレスがr であるネットワーク用送信バッファ
(後述する)に、#000のノード202内の1つのプロセ
ッサ204からメッセージデータが転送されているもの
とする。
のメッセージ通信装置203の実メモリ307内の、実
ページアドレスがr であるネットワーク用送信バッファ
(後述する)に、#000のノード202内の1つのプロセ
ッサ204からメッセージデータが転送されているもの
とする。
【0058】CPU313のネットワーク用送信制御機
能は、CPUバス302及びバーチャルメモリコントロ
ーラ309を介して実メモリ307内のネットワーク用
送信バッファに格納されているメッセージデータのヘッ
ダ内の宛て先アドレス部を解析することによって、その
宛て先アドレスに対応するプロセッサ204が収容され
るノード202に割り当てられている仮想ページアドレ
スのうち、ページ状態がバッファ未割付状態NAとなって
いるものを決定する。図6の例では、例えば仮想ページ
アドレス***2が決定される。なお、ネットワーク用送信
制御機能は、CPU313がプログラムRAM317に
記憶された制御プログラムを実行することにより実現さ
れる。
能は、CPUバス302及びバーチャルメモリコントロ
ーラ309を介して実メモリ307内のネットワーク用
送信バッファに格納されているメッセージデータのヘッ
ダ内の宛て先アドレス部を解析することによって、その
宛て先アドレスに対応するプロセッサ204が収容され
るノード202に割り当てられている仮想ページアドレ
スのうち、ページ状態がバッファ未割付状態NAとなって
いるものを決定する。図6の例では、例えば仮想ページ
アドレス***2が決定される。なお、ネットワーク用送信
制御機能は、CPU313がプログラムRAM317に
記憶された制御プログラムを実行することにより実現さ
れる。
【0059】次に、CPU313のネットワーク用送信
制御機能は、制御メモリ308内の上述の決定した仮想
ページアドレスに、上述のメッセージデータが格納され
ているネットワーク用送信バッファの実ページアドレス
を書き込み、ページ状態を、バッファ未割付状態NAから
送信状態SDに変更する。図6の例では、例えば仮想ペー
ジアドレス***2に実ページアドレスr と送信状態SDが設
定される。
制御機能は、制御メモリ308内の上述の決定した仮想
ページアドレスに、上述のメッセージデータが格納され
ているネットワーク用送信バッファの実ページアドレス
を書き込み、ページ状態を、バッファ未割付状態NAから
送信状態SDに変更する。図6の例では、例えば仮想ペー
ジアドレス***2に実ページアドレスr と送信状態SDが設
定される。
【0060】そして、CPU313のネットワーク用送
信制御機能は、I/Oコントローラ315内の送信用F
IFOに、CPUバス302を介して、送信命令と共
に、上述の仮想ページアドレスと、上述のメッセージデ
ータの転送長を書き込む。
信制御機能は、I/Oコントローラ315内の送信用F
IFOに、CPUバス302を介して、送信命令と共
に、上述の仮想ページアドレスと、上述のメッセージデ
ータの転送長を書き込む。
【0061】ネットワーク制御回路310は、I/Oコ
ントローラ315内の送信用FIFOから、ネットワー
ク命令/結果バス303を介して、上述の送信命令等を
読み出すと、その送信命令に付加されている仮想ページ
アドレスを、制御メモリアクセスバス306を介して制
御メモリ308に指定し、制御メモリ308から上述の
仮想ページアドレスに設定されている実ページアドレス
を読み出してバーチャルメモリコントローラ309内の
特には図示しないDMA転送用レジスタに設定する。
ントローラ315内の送信用FIFOから、ネットワー
ク命令/結果バス303を介して、上述の送信命令等を
読み出すと、その送信命令に付加されている仮想ページ
アドレスを、制御メモリアクセスバス306を介して制
御メモリ308に指定し、制御メモリ308から上述の
仮想ページアドレスに設定されている実ページアドレス
を読み出してバーチャルメモリコントローラ309内の
特には図示しないDMA転送用レジスタに設定する。
【0062】そして、ネットワーク制御回路310は、
バーチャルメモリコントローラ309に、送信されるべ
きメッセージデータが含まれる実メモリ307内の上記
実ページアドレスのページデータを、ネットワークデー
タ送信バス305を介してネットワーク制御回路310
にDMA転送させる。
バーチャルメモリコントローラ309に、送信されるべ
きメッセージデータが含まれる実メモリ307内の上記
実ページアドレスのページデータを、ネットワークデー
タ送信バス305を介してネットワーク制御回路310
にDMA転送させる。
【0063】ネットワーク制御回路310は、上述のペ
ージデータから送信命令に付加されているメッセージデ
ータの転送長に対応する分のメッセージデータを取り出
し、そのメッセージデータと送信命令に付加されている
仮想ページアドレス及びメッセージデータの転送長を含
む送信フレームを生成し、それを光ファイバリング20
6に送出する。なお、光ファイバリング206のフレー
ム伝送方式としては、トークンリングネットワーク方式
が採用され、ネットワーク制御回路310は、光ファイ
バリング206上を周回するフリートークンを獲得した
場合のみ送信フレームを送出することができる。
ージデータから送信命令に付加されているメッセージデ
ータの転送長に対応する分のメッセージデータを取り出
し、そのメッセージデータと送信命令に付加されている
仮想ページアドレス及びメッセージデータの転送長を含
む送信フレームを生成し、それを光ファイバリング20
6に送出する。なお、光ファイバリング206のフレー
ム伝送方式としては、トークンリングネットワーク方式
が採用され、ネットワーク制御回路310は、光ファイ
バリング206上を周回するフリートークンを獲得した
場合のみ送信フレームを送出することができる。
【0064】図6の例においては、#000のメッセージ通
信装置203から、仮想ページアドレス***2と実メモリ
307内の実ページアドレスr に格納されているメッセ
ージデータとを含む送信フレームが、光ファイバリング
206に送出される。
信装置203から、仮想ページアドレス***2と実メモリ
307内の実ページアドレスr に格納されているメッセ
ージデータとを含む送信フレームが、光ファイバリング
206に送出される。
【0065】上述の送信フレームは、光ファイバリング
206に接続されている他のノード202(図2参照)
に順次転送される。各ノード202内のメッセージ通信
装置203のネットワーク制御回路310は、光ファイ
バリング206から上記送信フレームを取り込むと、そ
の送信フレームに格納されている仮想ページアドレスに
対応するページ状態を制御メモリアクセスバス306を
介して制御メモリ308から読み出し、そのページ状態
が受信バッファ割付状態VPであるか否か、即ち、その仮
想ページアドレスが自ノード202のメッセージ通信装
置203に割り当てられているか否か、又はそのページ
状態が送信状態SDであるか否か、即ち、その送信フレー
ムが自ネットワーク制御回路310が送出したものであ
るか否かを判別する。
206に接続されている他のノード202(図2参照)
に順次転送される。各ノード202内のメッセージ通信
装置203のネットワーク制御回路310は、光ファイ
バリング206から上記送信フレームを取り込むと、そ
の送信フレームに格納されている仮想ページアドレスに
対応するページ状態を制御メモリアクセスバス306を
介して制御メモリ308から読み出し、そのページ状態
が受信バッファ割付状態VPであるか否か、即ち、その仮
想ページアドレスが自ノード202のメッセージ通信装
置203に割り当てられているか否か、又はそのページ
状態が送信状態SDであるか否か、即ち、その送信フレー
ムが自ネットワーク制御回路310が送出したものであ
るか否かを判別する。
【0066】ネットワーク制御回路310は、送信フレ
ームに格納されている仮想ページアドレスのページ状態
が受信バッファ割付状態VPであると判別した場合には、
送信フレームに格納されているメッセージデータを、以
下のようにして実メモリ307に取り込む。
ームに格納されている仮想ページアドレスのページ状態
が受信バッファ割付状態VPであると判別した場合には、
送信フレームに格納されているメッセージデータを、以
下のようにして実メモリ307に取り込む。
【0067】即ち、ネットワーク制御回路310は、ま
ず、送信フレームに格納されている仮想ページアドレス
を、制御メモリアクセスバス306を介して制御メモリ
308に指定し、制御メモリ308から上述の仮想ペー
ジアドレスに設定されている実ページアドレスを読み出
してバーチャルメモリコントローラ309内の特には図
示しないDMA転送用レジスタに設定する。そして、ネ
ットワーク制御回路310は、バーチャルメモリコント
ローラ309に、送信フレームに含まれるメッセージデ
ータを、ネットワークデータ受信バス304を介して実
メモリ307内の上述の実ページアドレスにDMA転送
させる。
ず、送信フレームに格納されている仮想ページアドレス
を、制御メモリアクセスバス306を介して制御メモリ
308に指定し、制御メモリ308から上述の仮想ペー
ジアドレスに設定されている実ページアドレスを読み出
してバーチャルメモリコントローラ309内の特には図
示しないDMA転送用レジスタに設定する。そして、ネ
ットワーク制御回路310は、バーチャルメモリコント
ローラ309に、送信フレームに含まれるメッセージデ
ータを、ネットワークデータ受信バス304を介して実
メモリ307内の上述の実ページアドレスにDMA転送
させる。
【0068】その後、ネットワーク制御回路310は、
送信フレームに格納されている仮想ページアドレスを、
制御メモリアクセスバス306を介して制御メモリ30
8に指定し、その仮想ページアドレスのページ状態を受
信バッファ割付状態VPから受信完了状態RDに変更する。
送信フレームに格納されている仮想ページアドレスを、
制御メモリアクセスバス306を介して制御メモリ30
8に指定し、その仮想ページアドレスのページ状態を受
信バッファ割付状態VPから受信完了状態RDに変更する。
【0069】更に、ネットワーク制御回路310は、I
/Oコントローラ315内の受信用FIFOに、ネット
ワーク命令/結果バス303を介して、受信の成否を示
す結果コードと共に、送信フレームから抽出した仮想ペ
ージアドレスとメッセージデータの転送長を書き込む。
/Oコントローラ315内の受信用FIFOに、ネット
ワーク命令/結果バス303を介して、受信の成否を示
す結果コードと共に、送信フレームから抽出した仮想ペ
ージアドレスとメッセージデータの転送長を書き込む。
【0070】最後に、ネットワーク制御回路310は、
光ファイバリング206から受信した上述の送信フレー
ム中の応答領域に受信成功通知を書き込んだ後、その送
信フレームを再び光ファイバリング206に送出する。
光ファイバリング206から受信した上述の送信フレー
ム中の応答領域に受信成功通知を書き込んだ後、その送
信フレームを再び光ファイバリング206に送出する。
【0071】例えば、図6の例では、#***のメッセージ
通信装置203のネットワーク制御回路310は、#000
のノード202からの送信フレームに格納されている仮
想ページアドレス***2の制御メモリ308上のページ状
態が受信バッファ割付状態VPであると判別することによ
り、その送信フレームに格納されているメッセージデー
タを、制御メモリ308の仮想ページアドレス***2に設
定されている実ページアドレスu を有する実メモリ30
7内のネットワーク用受信バッファに取り込んだ後、制
御メモリ308の仮想ページアドレス***2のページ状態
を受信バッファ割付状態VPから受信完了状態RDに変更す
る。
通信装置203のネットワーク制御回路310は、#000
のノード202からの送信フレームに格納されている仮
想ページアドレス***2の制御メモリ308上のページ状
態が受信バッファ割付状態VPであると判別することによ
り、その送信フレームに格納されているメッセージデー
タを、制御メモリ308の仮想ページアドレス***2に設
定されている実ページアドレスu を有する実メモリ30
7内のネットワーク用受信バッファに取り込んだ後、制
御メモリ308の仮想ページアドレス***2のページ状態
を受信バッファ割付状態VPから受信完了状態RDに変更す
る。
【0072】上述の受信結果通知は、CPU313によ
り、CPUバス302を介して受信される。即ち、CP
U313のネットワーク用受信制御機能は、CPUバス
302を介してI/Oコントローラ315内の受信用F
IFOから上述の受信結果通知を受け取ると、結果コー
ドが受信成功であるならば、受信結果通知の一部である
仮想ページアドレスをCPUバス302を介して制御メ
モリ308に指定し、そのページ状態と実ページアドレ
スを読み出す。
り、CPUバス302を介して受信される。即ち、CP
U313のネットワーク用受信制御機能は、CPUバス
302を介してI/Oコントローラ315内の受信用F
IFOから上述の受信結果通知を受け取ると、結果コー
ドが受信成功であるならば、受信結果通知の一部である
仮想ページアドレスをCPUバス302を介して制御メ
モリ308に指定し、そのページ状態と実ページアドレ
スを読み出す。
【0073】上述のページ状態が受信完了状態RDである
ならば、CPU313のネットワーク用受信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の実ページアドレスで指定される実ページをネットワ
ーク用受信バッファから切り離しプロセッサ用送信待ち
バッファキューに接続する。
ならば、CPU313のネットワーク用受信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の実ページアドレスで指定される実ページをネットワ
ーク用受信バッファから切り離しプロセッサ用送信待ち
バッファキューに接続する。
【0074】その後、CPU313のネットワーク用受
信制御機能は、CPUバス302及びバーチャルメモリ
コントローラ309を介して実メモリ307を制御し
て、任意の空きページをネットワーク用受信バッファに
接続し、更に、上述の受信結果通知の一部である仮想ペ
ージアドレスでCPUバス302を介して制御メモリ3
08をアクセスし、その仮想ページアドレスに、上述の
空きページの実ページアドレスと、ページ状態として受
信バッファ割付状態VPを、それぞれ書き込む。
信制御機能は、CPUバス302及びバーチャルメモリ
コントローラ309を介して実メモリ307を制御し
て、任意の空きページをネットワーク用受信バッファに
接続し、更に、上述の受信結果通知の一部である仮想ペ
ージアドレスでCPUバス302を介して制御メモリ3
08をアクセスし、その仮想ページアドレスに、上述の
空きページの実ページアドレスと、ページ状態として受
信バッファ割付状態VPを、それぞれ書き込む。
【0075】これ以後、実メモリ307内のプロセッサ
用送信待ちバッファキューに対する処理は、CPU31
3のネットワーク用受信制御機能から後述するプロセッ
サ用送信制御機能に引き渡される。
用送信待ちバッファキューに対する処理は、CPU31
3のネットワーク用受信制御機能から後述するプロセッ
サ用送信制御機能に引き渡される。
【0076】一方、ネットワーク制御回路310は、送
信フレームに格納されている仮想ページアドレスに対応
するページ状態を制御メモリ308から読み出した結
果、そのページ状態が受信バッファ割付状態VPでも送信
状態SDでもないと判別した場合には、その送信フレーム
をそのまま光ファイバリング206に送出する。
信フレームに格納されている仮想ページアドレスに対応
するページ状態を制御メモリ308から読み出した結
果、そのページ状態が受信バッファ割付状態VPでも送信
状態SDでもないと判別した場合には、その送信フレーム
をそのまま光ファイバリング206に送出する。
【0077】例えば、図6の例では、#%%%のメッセージ
通信装置203のネットワーク制御回路310は、#000
のノード202からの送信フレームに格納されている仮
想ページアドレス***2の制御メモリ308上のページ状
態が受信バッファ割付状態VPでも送信状態SDでもないと
判別することにより、その送信フレームをそのまま光フ
ァイバリング206に送出する。
通信装置203のネットワーク制御回路310は、#000
のノード202からの送信フレームに格納されている仮
想ページアドレス***2の制御メモリ308上のページ状
態が受信バッファ割付状態VPでも送信状態SDでもないと
判別することにより、その送信フレームをそのまま光フ
ァイバリング206に送出する。
【0078】上述のようにして光ファイバリング206
上を順次転送された送信フレームは、最後に送信元のノ
ード202内のメッセージ通信装置203のネットワー
ク制御回路310に戻る。
上を順次転送された送信フレームは、最後に送信元のノ
ード202内のメッセージ通信装置203のネットワー
ク制御回路310に戻る。
【0079】送信元のネットワーク制御回路310は、
送信フレームに格納されている仮想ページアドレスに対
応するページ状態を制御メモリ308から読み出した結
果、それが送信状態SDであると判別することによって、
その送信フレームが自ネットワーク制御回路310が送
出した送信フレームであることを判別する。
送信フレームに格納されている仮想ページアドレスに対
応するページ状態を制御メモリ308から読み出した結
果、それが送信状態SDであると判別することによって、
その送信フレームが自ネットワーク制御回路310が送
出した送信フレームであることを判別する。
【0080】この場合に、ネットワーク制御回路310
は、受信した送信フレームの応答領域に受信成功通知が
書き込まれていることを確認した後に、制御メモリアク
セスバス306を介して、送信フレームに格納されてい
る仮想ページアドレスに対応する制御メモリ308のペ
ージ状態を、送信状態SDから送信完了状態SCに変更す
る。
は、受信した送信フレームの応答領域に受信成功通知が
書き込まれていることを確認した後に、制御メモリアク
セスバス306を介して、送信フレームに格納されてい
る仮想ページアドレスに対応する制御メモリ308のペ
ージ状態を、送信状態SDから送信完了状態SCに変更す
る。
【0081】そして、ネットワーク制御回路310は、
I/Oコントローラ315内の受信用FIFOに、ネッ
トワーク命令/結果バス303を介し、送信の成否を示
す結果コードと共に、送信フレームから抽出した仮想ペ
ージアドレスを書き込む。
I/Oコントローラ315内の受信用FIFOに、ネッ
トワーク命令/結果バス303を介し、送信の成否を示
す結果コードと共に、送信フレームから抽出した仮想ペ
ージアドレスを書き込む。
【0082】上述の送信結果通知は、CPU313によ
り、CPUバス302を介して受信される。即ち、CP
U313のネットワーク用送信制御機能は、CPUバス
302を介してI/Oコントローラ315内の受信用F
IFOから上述の送信結果通知を受け取ると、結果コー
ドが送信成功であるならば、送信結果通知の一部である
仮想ページアドレスをCPUバス302を介して制御メ
モリ308に指定し、そのページ状態と実ページアドレ
スを読み出す。
り、CPUバス302を介して受信される。即ち、CP
U313のネットワーク用送信制御機能は、CPUバス
302を介してI/Oコントローラ315内の受信用F
IFOから上述の送信結果通知を受け取ると、結果コー
ドが送信成功であるならば、送信結果通知の一部である
仮想ページアドレスをCPUバス302を介して制御メ
モリ308に指定し、そのページ状態と実ページアドレ
スを読み出す。
【0083】上述のページ状態が送信完了状態SCである
ならば、CPU313のネットワーク用送信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の実ページアドレスで指定される実ページをネットワ
ーク用送信バッファから切り離し空きページとする。
ならば、CPU313のネットワーク用送信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の実ページアドレスで指定される実ページをネットワ
ーク用送信バッファから切り離し空きページとする。
【0084】その後、CPU313のネットワーク用送
信制御機能は、上述の送信結果通知の一部である仮想ペ
ージアドレスでCPUバス302を介して制御メモリ3
08をアクセスし、その仮想ページアドレスのページ状
態として、バッファ未割付状態NAを書き込む。
信制御機能は、上述の送信結果通知の一部である仮想ペ
ージアドレスでCPUバス302を介して制御メモリ3
08をアクセスし、その仮想ページアドレスのページ状
態として、バッファ未割付状態NAを書き込む。
【0085】以上のように、ネットワーク201(図2
参照)上において、1つの仮想記憶空間が定義され、こ
の空間を構成する固定長のデータ長を有する仮想ページ
が各メッセージ通信装置203に割り当てられる。そし
て、メッセージ通信装置203間のメッセージデータの
通信は、この仮想ページを使用して行われる。この結
果、通常のパケット通信で行われているブロック化制
御、順序制御が不要となる。
参照)上において、1つの仮想記憶空間が定義され、こ
の空間を構成する固定長のデータ長を有する仮想ページ
が各メッセージ通信装置203に割り当てられる。そし
て、メッセージ通信装置203間のメッセージデータの
通信は、この仮想ページを使用して行われる。この結
果、通常のパケット通信で行われているブロック化制
御、順序制御が不要となる。
【0086】また、光ファイバリング206上の各ノー
ド202内のメッセージ通信装置203のネットワーク
制御回路310は、送信フレームを受信すると、その送
信フレームに格納されている仮想ページアドレスで制御
メモリ308上のページ状態をアクセスすることによっ
て、受信した送信フレームを高速に処理することができ
る。
ド202内のメッセージ通信装置203のネットワーク
制御回路310は、送信フレームを受信すると、その送
信フレームに格納されている仮想ページアドレスで制御
メモリ308上のページ状態をアクセスすることによっ
て、受信した送信フレームを高速に処理することができ
る。
【0087】加えて、光ファイバリング206上を転送
される送信フレームには応答領域が設けられ、受信側の
ノード202内のメッセージ通信装置203のネットワ
ーク制御回路310は、送信フレームの受信結果を送信
フレームの応答領域に書き込み、それを再び光ファイバ
リング206に送出する。従って、この送信フレームが
光ファイバリング206上を転送され送信元に戻ってく
るまでに、メッセージデータの送信処理が完了すること
になり、受信側から送信元への応答を別のフレームを用
いて通知する必要がない。この結果、通信プロトコルを
簡略なものにすることができ、高速な応答処理が可能と
なる。
される送信フレームには応答領域が設けられ、受信側の
ノード202内のメッセージ通信装置203のネットワ
ーク制御回路310は、送信フレームの受信結果を送信
フレームの応答領域に書き込み、それを再び光ファイバ
リング206に送出する。従って、この送信フレームが
光ファイバリング206上を転送され送信元に戻ってく
るまでに、メッセージデータの送信処理が完了すること
になり、受信側から送信元への応答を別のフレームを用
いて通知する必要がない。この結果、通信プロトコルを
簡略なものにすることができ、高速な応答処理が可能と
なる。
【0088】更に、メッセージ通信装置203間のメッ
セージデータの通信は、メッセージ通信装置203内の
ネットワーク制御回路310が制御メモリ308をアク
セスしながら実メモリ307を使用して行い、プロセッ
サ204とメッセージ通信装置203間のメッセージデ
ータの通信は、後述するように、メッセージ通信装置2
03内のプロセッサバスインタフェース312が、上述
のネットワーク制御回路310の動作とは独立して、実
メモリ307を使用して行う。更に、実メモリ307上
の実ページアドレスに格納されたメッセージデータと仮
想記憶空間上の仮想ページアドレスとの対応付けは、後
述するように、CPU313がメッセージデータに付加
されたヘッダ内の宛て先アドレスに基づいて行う。従っ
て、プロセッサ204とメッセージ通信装置203間、
メッセージ通信装置203とメッセージ通信装置203
間の処理を効率良く高速に実行することが可能となる。送信元におけるプロセッサ204からメッセージ通信装
置203へのメッセージデータの転送動作 次に、送信元のノード202(図6の例では#000のノー
ド202)内の1つのプロセッサ204からそのノード
内のメッセージ通信装置203の実メモリ307に、メ
ッセージデータが転送される場合の動作について説明す
る。
セージデータの通信は、メッセージ通信装置203内の
ネットワーク制御回路310が制御メモリ308をアク
セスしながら実メモリ307を使用して行い、プロセッ
サ204とメッセージ通信装置203間のメッセージデ
ータの通信は、後述するように、メッセージ通信装置2
03内のプロセッサバスインタフェース312が、上述
のネットワーク制御回路310の動作とは独立して、実
メモリ307を使用して行う。更に、実メモリ307上
の実ページアドレスに格納されたメッセージデータと仮
想記憶空間上の仮想ページアドレスとの対応付けは、後
述するように、CPU313がメッセージデータに付加
されたヘッダ内の宛て先アドレスに基づいて行う。従っ
て、プロセッサ204とメッセージ通信装置203間、
メッセージ通信装置203とメッセージ通信装置203
間の処理を効率良く高速に実行することが可能となる。送信元におけるプロセッサ204からメッセージ通信装
置203へのメッセージデータの転送動作 次に、送信元のノード202(図6の例では#000のノー
ド202)内の1つのプロセッサ204からそのノード
内のメッセージ通信装置203の実メモリ307に、メ
ッセージデータが転送される場合の動作について説明す
る。
【0089】まず、CPU313のプロセッサ用受信制
御機能は、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307をアクセスする
ことにより、実メモリ307において、プロセッサ用受
信バッファキューに空きバッファキューに接続されてい
る空きバッファを接続する。なお、プロセッサ用受信制
御機能は、CPU313がプログラムRAM317に記
憶された制御プログラムを実行することにより実現され
る機能である。
御機能は、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307をアクセスする
ことにより、実メモリ307において、プロセッサ用受
信バッファキューに空きバッファキューに接続されてい
る空きバッファを接続する。なお、プロセッサ用受信制
御機能は、CPU313がプログラムRAM317に記
憶された制御プログラムを実行することにより実現され
る機能である。
【0090】そして、CPU313のプロセッサ用受信
制御機能は、CPUバス302、バス結合部311、及
び外部バス301を介して、例えば#0のプロセッサバス
インタフェース312を起動すると共に、そのインタフ
ェース312に対して上述のプロセッサ用受信バッファ
キューの先頭アドレスを通知する。
制御機能は、CPUバス302、バス結合部311、及
び外部バス301を介して、例えば#0のプロセッサバス
インタフェース312を起動すると共に、そのインタフ
ェース312に対して上述のプロセッサ用受信バッファ
キューの先頭アドレスを通知する。
【0091】プロセッサバスインタフェース312は、
プロセッサ204からプロセッサバス205を介して転
送されてきたメッセージデータを受信し、上記先頭アド
レスを受信開始アドレスとしてバッファアドレスを順次
更新しながら、上述の受信されたメッセージデータを、
外部バス301及びバーチャルメモリコントローラ30
9を介して、実メモリ307内のプロセッサ用受信バッ
ファキューに接続された空きバッファに、順次転送す
る。
プロセッサ204からプロセッサバス205を介して転
送されてきたメッセージデータを受信し、上記先頭アド
レスを受信開始アドレスとしてバッファアドレスを順次
更新しながら、上述の受信されたメッセージデータを、
外部バス301及びバーチャルメモリコントローラ30
9を介して、実メモリ307内のプロセッサ用受信バッ
ファキューに接続された空きバッファに、順次転送す
る。
【0092】プロセッサバスインタフェース312は、
プロセッサ用受信バッファキューに接続される空きバッ
ファがなくなると、自動的に停止し、その旨を外部バス
301、バス結合部311、及びCPUバス302を介
してCPU313に通知する。
プロセッサ用受信バッファキューに接続される空きバッ
ファがなくなると、自動的に停止し、その旨を外部バス
301、バス結合部311、及びCPUバス302を介
してCPU313に通知する。
【0093】CPU313のプロセッサ用受信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の受信済のバッファをプロセッサ用受信バッファキュ
ーから切り離しネットワーク用送信バッファに接続す
る。これ以後、実メモリ307内のネットワーク用送信
バッファに対する処理は、CPU313のプロセッサ用
受信制御機能から前述したネットワーク用送信制御機能
に引き渡され、前述したメッセージ通信装置203間の
通信方式に従って、送信元のノード202のメッセージ
通信装置203(図6の例では#000のメッセージ通信装
置203)内の実メモリ307から、宛て先のプロセッ
サ204が収容されるノード202のメッセージ通信装
置203(図6の例では#***のメッセージ通信装置20
3)内の実メモリ307への、メッセージデータの転送
動作が実行される。受信側におけるメッセージ通信装置203からプロセッ
サ204へのメッセージデータの転送動作 次に、受信側のノード202(図6の例では#***のノー
ド202)内のメッセージ通信装置203の実メモリ3
07からそのノード202内の1つのプロセッサ204
に、メッセージデータが転送される場合の動作について
説明する。
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の受信済のバッファをプロセッサ用受信バッファキュ
ーから切り離しネットワーク用送信バッファに接続す
る。これ以後、実メモリ307内のネットワーク用送信
バッファに対する処理は、CPU313のプロセッサ用
受信制御機能から前述したネットワーク用送信制御機能
に引き渡され、前述したメッセージ通信装置203間の
通信方式に従って、送信元のノード202のメッセージ
通信装置203(図6の例では#000のメッセージ通信装
置203)内の実メモリ307から、宛て先のプロセッ
サ204が収容されるノード202のメッセージ通信装
置203(図6の例では#***のメッセージ通信装置20
3)内の実メモリ307への、メッセージデータの転送
動作が実行される。受信側におけるメッセージ通信装置203からプロセッ
サ204へのメッセージデータの転送動作 次に、受信側のノード202(図6の例では#***のノー
ド202)内のメッセージ通信装置203の実メモリ3
07からそのノード202内の1つのプロセッサ204
に、メッセージデータが転送される場合の動作について
説明する。
【0094】ネットワーク制御回路310が送信フレー
ムの受信に成功すると、前述したように、CPU313
のネットワーク用受信制御機能が、受信されたメッセー
ジデータを実メモリ307内のプロセッサ用送信待ちバ
ッファキューに接続する。
ムの受信に成功すると、前述したように、CPU313
のネットワーク用受信制御機能が、受信されたメッセー
ジデータを実メモリ307内のプロセッサ用送信待ちバ
ッファキューに接続する。
【0095】これに対して、CPU313のプロセッサ
用送信制御機能は、CPUバス302、バス結合部31
1、及び外部バス301を介して、例えば#0のプロセッ
サバスインタフェース312を起動すると共に、そのイ
ンタフェース312に対して上述のプロセッサ用送信待
ちバッファキューの先頭アドレスを通知する。
用送信制御機能は、CPUバス302、バス結合部31
1、及び外部バス301を介して、例えば#0のプロセッ
サバスインタフェース312を起動すると共に、そのイ
ンタフェース312に対して上述のプロセッサ用送信待
ちバッファキューの先頭アドレスを通知する。
【0096】プロセッサバスインタフェース312は、
上記先頭アドレスを送信開始アドレスとしてバッファア
ドレスを順次更新しながら、外部バス301及びバーチ
ャルメモリコントローラ309を介して、実メモリ30
7内のプロセッサ用送信待ちバッファキューに接続され
たバッファに格納されているメッセージデータを順次読
み出して、そのメッセージデータのヘッダ内の宛て先ア
ドレス部を解析しながら、そのメッセージデータをプロ
セッサバス205を介して宛て先のプロセッサ204に
転送する。 <バーチャルメモリコントローラ309を中心とする動
作>前述したように、本発明の実施例では、メッセージ
通信装置203間のメッセージデータの通信は、メッセ
ージ通信装置203内のネットワーク制御回路310が
制御メモリ308をアクセスしながら実メモリ307を
使用して行い、プロセッサ204とメッセージ通信装置
203間のメッセージデータの通信は、メッセージ通信
装置203内のプロセッサバスインタフェース312
が、上述のネットワーク制御回路310の動作とは独立
して、実メモリ307を使用して行う。更に、実メモリ
307上の実ページアドレスに格納されたメッセージデ
ータと仮想記憶空間上の仮想ページアドレスとの対応付
けは、CPU313が制御メモリ308と実メモリ30
7を使用して行う。
上記先頭アドレスを送信開始アドレスとしてバッファア
ドレスを順次更新しながら、外部バス301及びバーチ
ャルメモリコントローラ309を介して、実メモリ30
7内のプロセッサ用送信待ちバッファキューに接続され
たバッファに格納されているメッセージデータを順次読
み出して、そのメッセージデータのヘッダ内の宛て先ア
ドレス部を解析しながら、そのメッセージデータをプロ
セッサバス205を介して宛て先のプロセッサ204に
転送する。 <バーチャルメモリコントローラ309を中心とする動
作>前述したように、本発明の実施例では、メッセージ
通信装置203間のメッセージデータの通信は、メッセ
ージ通信装置203内のネットワーク制御回路310が
制御メモリ308をアクセスしながら実メモリ307を
使用して行い、プロセッサ204とメッセージ通信装置
203間のメッセージデータの通信は、メッセージ通信
装置203内のプロセッサバスインタフェース312
が、上述のネットワーク制御回路310の動作とは独立
して、実メモリ307を使用して行う。更に、実メモリ
307上の実ページアドレスに格納されたメッセージデ
ータと仮想記憶空間上の仮想ページアドレスとの対応付
けは、CPU313が制御メモリ308と実メモリ30
7を使用して行う。
【0097】上述したようなネットワーク制御回路31
0、プロセッサバスインタフェース312、及びCPU
313による制御メモリ308又は実メモリ307への
アクセスを効率的に行うため、図3のメッセージ通信装
置103において、まず、実メモリ307と制御メモリ
308は物理的に分割されたメモリとして構成され、バ
ーチャルメモリコントローラ309が実メモリ307及
び制御メモリ308へのアクセスを制御する。
0、プロセッサバスインタフェース312、及びCPU
313による制御メモリ308又は実メモリ307への
アクセスを効率的に行うため、図3のメッセージ通信装
置103において、まず、実メモリ307と制御メモリ
308は物理的に分割されたメモリとして構成され、バ
ーチャルメモリコントローラ309が実メモリ307及
び制御メモリ308へのアクセスを制御する。
【0098】即ち、バーチャルメモリコントローラ30
9は、プロセッサバスインタフェース312と実メモリ
307との間で外部バス301を介して授受されるデー
タ、CPU313と実メモリ307又は制御メモリ30
8との間でCPUバス302を介して授受されるデー
タ、ネットワーク制御回路310と実メモリ307との
間でネットワークデータ受信バス304又はネットワー
クデータ送信バス305を介して授受されるデータのス
イッチング制御及び競合制御を行う。
9は、プロセッサバスインタフェース312と実メモリ
307との間で外部バス301を介して授受されるデー
タ、CPU313と実メモリ307又は制御メモリ30
8との間でCPUバス302を介して授受されるデー
タ、ネットワーク制御回路310と実メモリ307との
間でネットワークデータ受信バス304又はネットワー
クデータ送信バス305を介して授受されるデータのス
イッチング制御及び競合制御を行う。
【0099】更に、本発明の実施例では、バーチャルメ
モリコントローラ309を、1つのLSIチップで構成
するのではなく、#0と#1の2つのバーチャルメモリコン
トロールモジュール(VMC)401により構成し、実
メモリ307内のアドレスセレクタ411及び制御メモ
リ308内のアドレスセレクタ412が#0と#1のVMC
401の各アドレス出力を交互に選択することにより、
単純な構成と単純な制御でシステムのスループットを向
上させるようにしている点が特徴である。#0のVMC401の動作 まず、#0のVMC401は、CPUバス302を介した
CPU313、又はネットワークデータ送信バス305
を介したネットワーク制御回路310からの要求に従
い、実メモリ307内のデータ又は制御メモリ308内
の実ページアドレスデータのアクセス制御を行う。
モリコントローラ309を、1つのLSIチップで構成
するのではなく、#0と#1の2つのバーチャルメモリコン
トロールモジュール(VMC)401により構成し、実
メモリ307内のアドレスセレクタ411及び制御メモ
リ308内のアドレスセレクタ412が#0と#1のVMC
401の各アドレス出力を交互に選択することにより、
単純な構成と単純な制御でシステムのスループットを向
上させるようにしている点が特徴である。#0のVMC401の動作 まず、#0のVMC401は、CPUバス302を介した
CPU313、又はネットワークデータ送信バス305
を介したネットワーク制御回路310からの要求に従
い、実メモリ307内のデータ又は制御メモリ308内
の実ページアドレスデータのアクセス制御を行う。
【0100】まず、CPU313がCPUバス302及
び#0のVMC401を介して実メモリ307内のデータ
をアクセスする場合には、例えば前述したように、 1)CPU313が、実メモリ307上のプロセッサ用受
信バッファキュー、ネットワーク用送信バッファ、ネッ
トワーク用受信バッファ、プロセッサ用送信待ちバッフ
ァキュー、又は空きバッファキューを、それぞれ制御す
る場合、 2)CPU313が、実メモリ307内のネットワーク用
送信バッファに格納されているメッセージデータのヘッ
ダ内の宛て先アドレス部を解析する場合、などがある。
び#0のVMC401を介して実メモリ307内のデータ
をアクセスする場合には、例えば前述したように、 1)CPU313が、実メモリ307上のプロセッサ用受
信バッファキュー、ネットワーク用送信バッファ、ネッ
トワーク用受信バッファ、プロセッサ用送信待ちバッフ
ァキュー、又は空きバッファキューを、それぞれ制御す
る場合、 2)CPU313が、実メモリ307内のネットワーク用
送信バッファに格納されているメッセージデータのヘッ
ダ内の宛て先アドレス部を解析する場合、などがある。
【0101】この場合には、#0のVMC401からアド
レスバス407を介して指定されたアドレスがアドレス
セレクタ411を介して実メモリ307に指定され、デ
ータバス403を介して、#0のVMC401と実メモリ
307の間でメッセージデータ等が授受される。
レスバス407を介して指定されたアドレスがアドレス
セレクタ411を介して実メモリ307に指定され、デ
ータバス403を介して、#0のVMC401と実メモリ
307の間でメッセージデータ等が授受される。
【0102】また、CPU313がCPUバス302及
び#0のVMC401を介して制御メモリ308内の実ペ
ージアドレスデータをアクセスする場合には、例えば前
述したように、 1)CPU313のネットワーク用受信制御機能が、初期
状態において、自CPU313が含まれるノード202
に割り当てられている制御メモリ308上の仮想ページ
アドレス(図6参照)に、実メモリ307内の任意の空
きページに設けられるネットワーク用受信バッファの実
ページアドレスを予め書き込む場合、 2)CPU313のネットワーク用送信制御機能が、送信
されるべきメッセージデータを送信状態とするため、制
御メモリ308上の所定の仮想ページアドレスに送信さ
れるべきメッセージデータが格納されているネットワー
ク用送信バッファの実ページアドレスを書き込むことに
より通信バッファを割り当てる場合、 3)CPU313のネットワーク用受信制御機能が、受信
に成功したメモリデータをネットワーク用受信バッファ
から切り離しプロセッサ用送信待ちバッファキューに接
続するために、制御メモリ308上の所定の仮想ページ
アドレスから実ページアドレスを読み出す場合、などが
ある。
び#0のVMC401を介して制御メモリ308内の実ペ
ージアドレスデータをアクセスする場合には、例えば前
述したように、 1)CPU313のネットワーク用受信制御機能が、初期
状態において、自CPU313が含まれるノード202
に割り当てられている制御メモリ308上の仮想ページ
アドレス(図6参照)に、実メモリ307内の任意の空
きページに設けられるネットワーク用受信バッファの実
ページアドレスを予め書き込む場合、 2)CPU313のネットワーク用送信制御機能が、送信
されるべきメッセージデータを送信状態とするため、制
御メモリ308上の所定の仮想ページアドレスに送信さ
れるべきメッセージデータが格納されているネットワー
ク用送信バッファの実ページアドレスを書き込むことに
より通信バッファを割り当てる場合、 3)CPU313のネットワーク用受信制御機能が、受信
に成功したメモリデータをネットワーク用受信バッファ
から切り離しプロセッサ用送信待ちバッファキューに接
続するために、制御メモリ308上の所定の仮想ページ
アドレスから実ページアドレスを読み出す場合、などが
ある。
【0103】この場合には、CPUバス302のアドレ
スバス部分409から直接指定されたアドレスがアドレ
スセレクタ412を介して制御メモリ308に指定さ
れ、データバス404を介して、#0のVMC401と実
メモリ307の間で実ページアドレスデータが授受され
る。
スバス部分409から直接指定されたアドレスがアドレ
スセレクタ412を介して制御メモリ308に指定さ
れ、データバス404を介して、#0のVMC401と実
メモリ307の間で実ページアドレスデータが授受され
る。
【0104】一方、ネットワーク制御回路310がネッ
トワークデータ送信バス305及び#0のVMC401を
介して実メモリ307内のデータをアクセスする場合に
は、前述したように、ネットワーク制御回路310が、
実メモリ307内の送信されるべきメッセージデータを
DMA転送により受け取る場合がある。
トワークデータ送信バス305及び#0のVMC401を
介して実メモリ307内のデータをアクセスする場合に
は、前述したように、ネットワーク制御回路310が、
実メモリ307内の送信されるべきメッセージデータを
DMA転送により受け取る場合がある。
【0105】この場合には、#0のVMC401からアド
レスバス407を介して指定されたアドレスがアドレス
セレクタ411を介して実メモリ307に指定され、デ
ータバス403を介して、実メモリ307から#0のVM
C401へメッセージデータが転送される。
レスバス407を介して指定されたアドレスがアドレス
セレクタ411を介して実メモリ307に指定され、デ
ータバス403を介して、実メモリ307から#0のVM
C401へメッセージデータが転送される。
【0106】また、ネットワーク制御回路310がネッ
トワークデータ送信バス305及び#0のVMC401を
介して制御メモリ308内の実ページアドレスデータを
アクセスする場合には、前述したように、ネットワーク
制御回路310が、上述の送信メッセージデータのDM
A転送前に、送信命令に付加されている仮想ページアド
レスを、制御メモリアクセスバス306を介して制御メ
モリ308に指定し、制御メモリ308から上述の仮想
ページアドレスに設定されている実ページアドレスを読
み出して#0のVMC401内の特には図示しないDMA
転送用レジスタに設定する場合がある。
トワークデータ送信バス305及び#0のVMC401を
介して制御メモリ308内の実ページアドレスデータを
アクセスする場合には、前述したように、ネットワーク
制御回路310が、上述の送信メッセージデータのDM
A転送前に、送信命令に付加されている仮想ページアド
レスを、制御メモリアクセスバス306を介して制御メ
モリ308に指定し、制御メモリ308から上述の仮想
ページアドレスに設定されている実ページアドレスを読
み出して#0のVMC401内の特には図示しないDMA
転送用レジスタに設定する場合がある。
【0107】この場合には、制御メモリアクセスバス3
06のアドレスバス部分410から直接指定されたアド
レスがアドレスセレクタ412を介して制御メモリ30
8に指定され、データバス404を介して、実メモリ3
07から#0のVMC401へ実ページアドレスデータが
転送される。#1のVMC401の動作 次に、#1のVMC401は、外部バス301を介したプ
ロセッサバスインタフェース312、又はネットワーク
データ受信バス304を介したネットワーク制御回路3
10からの要求に従い、実メモリ307内のデータ又は
制御メモリ308内の実ページアドレスデータのアクセ
ス制御を行う。
06のアドレスバス部分410から直接指定されたアド
レスがアドレスセレクタ412を介して制御メモリ30
8に指定され、データバス404を介して、実メモリ3
07から#0のVMC401へ実ページアドレスデータが
転送される。#1のVMC401の動作 次に、#1のVMC401は、外部バス301を介したプ
ロセッサバスインタフェース312、又はネットワーク
データ受信バス304を介したネットワーク制御回路3
10からの要求に従い、実メモリ307内のデータ又は
制御メモリ308内の実ページアドレスデータのアクセ
ス制御を行う。
【0108】プロセッサバスインタフェース312が外
部バス301及び#1のVMC401を介して実メモリ3
07内のデータをアクセスする場合には、例えば前述し
たように、 1)プロセッサバスインタフェース312が、プロセッサ
204から受信したメッセージデータを、実メモリ30
7内のプロセッサ用受信バッファキューに接続された空
きバッファに順次転送する場合、 2)プロセッサバスインタフェース312が、実メモリ3
07内のプロセッサ用送信待ちバッファキューに接続さ
れたバッファに格納されているメッセージデータを順次
読み出して、それをプロセッサ204に転送する場合、
などがある。
部バス301及び#1のVMC401を介して実メモリ3
07内のデータをアクセスする場合には、例えば前述し
たように、 1)プロセッサバスインタフェース312が、プロセッサ
204から受信したメッセージデータを、実メモリ30
7内のプロセッサ用受信バッファキューに接続された空
きバッファに順次転送する場合、 2)プロセッサバスインタフェース312が、実メモリ3
07内のプロセッサ用送信待ちバッファキューに接続さ
れたバッファに格納されているメッセージデータを順次
読み出して、それをプロセッサ204に転送する場合、
などがある。
【0109】この場合には、#1のVMC401からアド
レスバス408を介して指定されたアドレスがアドレス
セレクタ411を介して実メモリ307に指定され、デ
ータバス403を介して、#1のVMC401と実メモリ
307の間でメッセージデータ等が授受される。
レスバス408を介して指定されたアドレスがアドレス
セレクタ411を介して実メモリ307に指定され、デ
ータバス403を介して、#1のVMC401と実メモリ
307の間でメッセージデータ等が授受される。
【0110】また、プロセッサバスインタフェース31
2が外部バス301及び#1のVMC401を介して制御
メモリ308内の実ページアドレスデータをアクセスす
る場合は、本発明の実施例では規定されない。
2が外部バス301及び#1のVMC401を介して制御
メモリ308内の実ページアドレスデータをアクセスす
る場合は、本発明の実施例では規定されない。
【0111】一方、ネットワーク制御回路310がネッ
トワークデータ受信バス304及び#1のVMC401を
介して実メモリ307をアクセスする場合には、前述し
たように、ネットワーク制御回路310が、光ファイバ
リング206(図2参照)から受信した送信フレームに
含まれる自ノード202宛のメッセージデータを、実メ
モリ307にDMA転送する場合がある。
トワークデータ受信バス304及び#1のVMC401を
介して実メモリ307をアクセスする場合には、前述し
たように、ネットワーク制御回路310が、光ファイバ
リング206(図2参照)から受信した送信フレームに
含まれる自ノード202宛のメッセージデータを、実メ
モリ307にDMA転送する場合がある。
【0112】この場合には、#1のVMC401からアド
レスバス408を介して指定されたアドレスがアドレス
セレクタ411を介して実メモリ307に指定され、デ
ータバス403を介して、#1のVMC401から実メモ
リ307へメッセージデータが転送される。
レスバス408を介して指定されたアドレスがアドレス
セレクタ411を介して実メモリ307に指定され、デ
ータバス403を介して、#1のVMC401から実メモ
リ307へメッセージデータが転送される。
【0113】また、ネットワーク制御回路310がネッ
トワークデータ受信バス304及び#1のVMC401を
介して制御メモリ308をアクセスする場合には、前述
したように、ネットワーク制御回路310が、受信メッ
セージデータのDMA転送前に、そのメッセージデータ
が含まれていた送信フレームに格納されている仮想ペー
ジアドレスを、制御メモリアクセスバス306を介して
制御メモリ308に指定し、制御メモリ308から上述
の仮想ページアドレスに設定されている実ページアドレ
スを読み出して#1のVMC401内の特には図示しない
DMA転送用レジスタに設定する場合がある。
トワークデータ受信バス304及び#1のVMC401を
介して制御メモリ308をアクセスする場合には、前述
したように、ネットワーク制御回路310が、受信メッ
セージデータのDMA転送前に、そのメッセージデータ
が含まれていた送信フレームに格納されている仮想ペー
ジアドレスを、制御メモリアクセスバス306を介して
制御メモリ308に指定し、制御メモリ308から上述
の仮想ページアドレスに設定されている実ページアドレ
スを読み出して#1のVMC401内の特には図示しない
DMA転送用レジスタに設定する場合がある。
【0114】この場合には、制御メモリアクセスバス3
06のアドレスバス部分410から直接指定されたアド
レスがアドレスセレクタ412を介して制御メモリ30
8に指定され、データバス404を介して、実メモリ3
07から#1のVMC401へ実ページアドレスデータが
転送される。制御メモリ308内のページ状態データのアクセス動作 CPU313がCPUバス302を介して、また、ネッ
トワーク制御回路310が制御メモリアクセスバス30
6を介して、それぞれ制御メモリ308内のページ状態
データをアクセスする場合は、前述したように、非常に
多くの場合がある。
06のアドレスバス部分410から直接指定されたアド
レスがアドレスセレクタ412を介して制御メモリ30
8に指定され、データバス404を介して、実メモリ3
07から#1のVMC401へ実ページアドレスデータが
転送される。制御メモリ308内のページ状態データのアクセス動作 CPU313がCPUバス302を介して、また、ネッ
トワーク制御回路310が制御メモリアクセスバス30
6を介して、それぞれ制御メモリ308内のページ状態
データをアクセスする場合は、前述したように、非常に
多くの場合がある。
【0115】本発明の実施例では、まず、CPU313
が制御メモリ308内のページ状態データをアクセスす
る場合には、CPUバス302のアドレスバス部分40
9から直接指定されたアドレスがアドレスセレクタ41
2を介して制御メモリ308に指定され、CPUバス3
02のデータバス部分405及びバッファ402を介し
て、CPU313と制御メモリ308の間でページ状態
データが直接授受される。
が制御メモリ308内のページ状態データをアクセスす
る場合には、CPUバス302のアドレスバス部分40
9から直接指定されたアドレスがアドレスセレクタ41
2を介して制御メモリ308に指定され、CPUバス3
02のデータバス部分405及びバッファ402を介し
て、CPU313と制御メモリ308の間でページ状態
データが直接授受される。
【0116】また、ネットワーク制御回路310が制御
メモリ308内のページ状態データをアクセスする場合
には、制御メモリアクセスバス306のアドレスバス部
分410から直接指定されたアドレスがアドレスセレク
タ412を介して制御メモリ308に指定され、制御メ
モリアクセスバス306のデータバス部分406及びバ
ッファ402を介して、ネットワーク制御回路310と
制御メモリ308の間でページ状態データが直接授受さ
れる。#0のVMC401と#1のVMC401間の実メモリアク
セスサイクルの関係 次に、#0のVMC401と#1のVMC401は、クロッ
クBCLK、B2CLKに同期して動作する。
メモリ308内のページ状態データをアクセスする場合
には、制御メモリアクセスバス306のアドレスバス部
分410から直接指定されたアドレスがアドレスセレク
タ412を介して制御メモリ308に指定され、制御メ
モリアクセスバス306のデータバス部分406及びバ
ッファ402を介して、ネットワーク制御回路310と
制御メモリ308の間でページ状態データが直接授受さ
れる。#0のVMC401と#1のVMC401間の実メモリアク
セスサイクルの関係 次に、#0のVMC401と#1のVMC401は、クロッ
クBCLK、B2CLKに同期して動作する。
【0117】この場合の、#0のVMC401と#1のVM
C401間の実メモリアクセスサイクルのタイミング関
係を、図7のタイミングチャートを使用して説明する。
図7(a) はシステムクロックCLK(φ1、φ2)を示
し、図7(b) はCLKに基づいて生成されるクロックB
CLKを示す。バスアクセス制御のための各制御信号は
このクロックBCLKに同期して出力される。このクロ
ックBCLKにおいて、「↑」で挟まれた各区間がバス
サイクルを示す。図7(c) はクロックBCLKを2分周
したクロックB2CLKを示す。
C401間の実メモリアクセスサイクルのタイミング関
係を、図7のタイミングチャートを使用して説明する。
図7(a) はシステムクロックCLK(φ1、φ2)を示
し、図7(b) はCLKに基づいて生成されるクロックB
CLKを示す。バスアクセス制御のための各制御信号は
このクロックBCLKに同期して出力される。このクロ
ックBCLKにおいて、「↑」で挟まれた各区間がバス
サイクルを示す。図7(c) はクロックBCLKを2分周
したクロックB2CLKを示す。
【0118】#0と#1のVMC401は、両方とも同じ構
成を有するが、外部から入力するMODE信号又は(M
ODE−)信号の論理状態により、クロックBCLKの
タイミングとB2CLのタイミングの異なった組合せに
基づいて動作する。
成を有するが、外部から入力するMODE信号又は(M
ODE−)信号の論理状態により、クロックBCLKの
タイミングとB2CLのタイミングの異なった組合せに
基づいて動作する。
【0119】即ち、まず、#0のVMC401の制御回路
503(図5参照)には、例えばMODE信号として論
理“0”が入力されている。この場合、#0のVMC40
1の制御回路503は、図7(b),(c),(d) に示されるよ
うに、クロックB2CLKがハイレベルである期間内の
クロックBCLKの立上りタイミング「↑」から始める
バスサイクルにおいて、制御線505を介して実メモリ
インタフェース506を制御し、それに対してアドレス
バス407に実メモリアドレス(実ページアドレス)を
出力させる。
503(図5参照)には、例えばMODE信号として論
理“0”が入力されている。この場合、#0のVMC40
1の制御回路503は、図7(b),(c),(d) に示されるよ
うに、クロックB2CLKがハイレベルである期間内の
クロックBCLKの立上りタイミング「↑」から始める
バスサイクルにおいて、制御線505を介して実メモリ
インタフェース506を制御し、それに対してアドレス
バス407に実メモリアドレス(実ページアドレス)を
出力させる。
【0120】これに同期して、図4の実メモリ307内
のアドレスセレクタ411は、クロックB2CLKがロ
ーレベルである期間内のクロックBCLKの立上りタイ
ミング「↑」から始まるバスサイクルにおいて、その直
前のバスサイクルにおいて#0のVMC401からアドレ
スバス407に出力されている実メモリアドレスを実メ
モリ307内の特には図示しないアドレスレジスタにラ
ッチする。
のアドレスセレクタ411は、クロックB2CLKがロ
ーレベルである期間内のクロックBCLKの立上りタイ
ミング「↑」から始まるバスサイクルにおいて、その直
前のバスサイクルにおいて#0のVMC401からアドレ
スバス407に出力されている実メモリアドレスを実メ
モリ307内の特には図示しないアドレスレジスタにラ
ッチする。
【0121】上述の実メモリアドレスがラッチされたバ
スサイクルと同じバスサイクルにおいて、#0のVMC4
01の制御回路503は、図7(b),(c),(d) に示される
ように、制御線505を介して実メモリインタフェース
506を制御し、それに対してデータバス403を使用
させて実メモリ307との間で実メモリデータ(メッセ
ージデータ等)を授受させる。
スサイクルと同じバスサイクルにおいて、#0のVMC4
01の制御回路503は、図7(b),(c),(d) に示される
ように、制御線505を介して実メモリインタフェース
506を制御し、それに対してデータバス403を使用
させて実メモリ307との間で実メモリデータ(メッセ
ージデータ等)を授受させる。
【0122】一方、#1のVMC401の制御回路503
(図5参照)には、例えばMODE信号の論理がインバ
ータ(図4参照)で反転された(MODE−)信号とし
て論理“1”が入力されている。
(図5参照)には、例えばMODE信号の論理がインバ
ータ(図4参照)で反転された(MODE−)信号とし
て論理“1”が入力されている。
【0123】この場合、#1のVMC401の制御回路5
03は、図7(b),(e),(f) に示されるように、クロック
B2CLKがローレベルである期間内のクロックBCL
Kの立上りタイミング「↑」から始めるバスサイクルに
おいて、制御線505を介して実メモリインタフェース
506を制御し、それに対してアドレスバス407に実
メモリアドレスを出力させる。
03は、図7(b),(e),(f) に示されるように、クロック
B2CLKがローレベルである期間内のクロックBCL
Kの立上りタイミング「↑」から始めるバスサイクルに
おいて、制御線505を介して実メモリインタフェース
506を制御し、それに対してアドレスバス407に実
メモリアドレスを出力させる。
【0124】これに同期して、図4の実メモリ307内
のアドレスセレクタ411は、クロックB2CLKがハ
イレベルである期間内のクロックBCLKの立上りタイ
ミング「↑」から始まるバスサイクルにおいて、その直
前のバスサイクルにおいて#1のVMC401からアドレ
スバス408に出力されている実メモリアドレスを実メ
モリ307内の特には図示しないアドレスレジスタにラ
ッチする。
のアドレスセレクタ411は、クロックB2CLKがハ
イレベルである期間内のクロックBCLKの立上りタイ
ミング「↑」から始まるバスサイクルにおいて、その直
前のバスサイクルにおいて#1のVMC401からアドレ
スバス408に出力されている実メモリアドレスを実メ
モリ307内の特には図示しないアドレスレジスタにラ
ッチする。
【0125】上述の実メモリアドレスがラッチされたバ
スサイクルと同じバスサイクルにおいて、#1のVMC4
01の制御回路503は、図7(b),(e),(f) に示される
ように、制御線505を介して実メモリインタフェース
506を制御し、それに対してデータバス403を使用
させて実メモリ307との間で実メモリデータを授受さ
せる。
スサイクルと同じバスサイクルにおいて、#1のVMC4
01の制御回路503は、図7(b),(e),(f) に示される
ように、制御線505を介して実メモリインタフェース
506を制御し、それに対してデータバス403を使用
させて実メモリ307との間で実メモリデータを授受さ
せる。
【0126】以上の動作からわかるように、#0及び#1の
VMC401は、最短で2バスサイクルで実メモリ30
7をアクセスできる。アクセスが複数バスサイクルに渡
る場合は、#0及び#1のVMC401がそれぞれ1バスサ
イクルおきに交互に実メモリ307をアクセスできる。#0のVMC401と#1のVMC401間の制御メモリア
クセスサイクルの関係 次に、#0のVMC401と#1のVMC401間の制御メ
モリアクセスサイクルのタイミング関係について説明す
る。
VMC401は、最短で2バスサイクルで実メモリ30
7をアクセスできる。アクセスが複数バスサイクルに渡
る場合は、#0及び#1のVMC401がそれぞれ1バスサ
イクルおきに交互に実メモリ307をアクセスできる。#0のVMC401と#1のVMC401間の制御メモリア
クセスサイクルの関係 次に、#0のVMC401と#1のVMC401間の制御メ
モリアクセスサイクルのタイミング関係について説明す
る。
【0127】VMC401を介して制御メモリ308が
アクセスされる場合は、前述したように、制御メモリ3
08内の実ページアドレスデータがアクセスされる場合
である。
アクセスされる場合は、前述したように、制御メモリ3
08内の実ページアドレスデータがアクセスされる場合
である。
【0128】この場合のタイミング関係については、特
には図示しないが、制御メモリ308は、図4のアドレ
スセレクタ412を介してアドレスが指定された場合
に、そのアドレスが指定されたバスサイクルと同じバス
サイクル内で実ページアドレスデータの授受を行うこと
ができる。
には図示しないが、制御メモリ308は、図4のアドレ
スセレクタ412を介してアドレスが指定された場合
に、そのアドレスが指定されたバスサイクルと同じバス
サイクル内で実ページアドレスデータの授受を行うこと
ができる。
【0129】そして、まず、制御メモリ308内のアド
レスセレクタ412は、例えばクロックB2CLKがハ
イレベルである期間内のクロックBCLKの立上りタイ
ミングから始まるバスサイクルにおいて、それと同じバ
スサイクルで例えばCPUバス302のアドレスバス部
分409に指定されている制御メモリアドレス(仮想ペ
ージアドレス)を制御メモリ308内の特には図示しな
いアドレスレジスタにラッチする。
レスセレクタ412は、例えばクロックB2CLKがハ
イレベルである期間内のクロックBCLKの立上りタイ
ミングから始まるバスサイクルにおいて、それと同じバ
スサイクルで例えばCPUバス302のアドレスバス部
分409に指定されている制御メモリアドレス(仮想ペ
ージアドレス)を制御メモリ308内の特には図示しな
いアドレスレジスタにラッチする。
【0130】上述の制御メモリアドレスがラッチされた
バスサイクルと同じバスサイクルにおいて、#0のVMC
401の制御回路503は、制御線505を介して制御
メモリインタフェース507を制御し、それに対してデ
ータバス404を使用させて制御メモリ308との間で
実ページアドレスデータを授受させる。
バスサイクルと同じバスサイクルにおいて、#0のVMC
401の制御回路503は、制御線505を介して制御
メモリインタフェース507を制御し、それに対してデ
ータバス404を使用させて制御メモリ308との間で
実ページアドレスデータを授受させる。
【0131】一方、制御メモリ308内のアドレスセレ
クタ412は、例えばクロックB2CLKがローレベル
である期間内のクロックBCLKの立上りタイミングか
ら始まるバスサイクルにおいて、それと同じバスサイク
ルで例えば制御メモリアクセスバス306のアドレスバ
ス部分410に指定されている制御メモリアドレス(仮
想ページアドレス)を制御メモリ308内の特には図示
しないアドレスレジスタにラッチする。
クタ412は、例えばクロックB2CLKがローレベル
である期間内のクロックBCLKの立上りタイミングか
ら始まるバスサイクルにおいて、それと同じバスサイク
ルで例えば制御メモリアクセスバス306のアドレスバ
ス部分410に指定されている制御メモリアドレス(仮
想ページアドレス)を制御メモリ308内の特には図示
しないアドレスレジスタにラッチする。
【0132】上述の制御メモリアドレスがラッチされた
バスサイクルと同じバスサイクルにおいて、#1のVMC
401の制御回路503は、制御線505を介して制御
メモリインタフェース507を制御し、それに対してデ
ータバス404を使用させて制御メモリ308から実ペ
ージアドレスデータを転送させる。
バスサイクルと同じバスサイクルにおいて、#1のVMC
401の制御回路503は、制御線505を介して制御
メモリインタフェース507を制御し、それに対してデ
ータバス404を使用させて制御メモリ308から実ペ
ージアドレスデータを転送させる。
【0133】以上の動作からわかるように、実ページア
ドレスデータに関して、#0及び#1のVMC401は、最
短で1バスサイクルで制御メモリ308をアクセスでき
る。アクセスが複数バスサイクルに渡る場合は、#0及び
#1のVMC401がそれぞれ1バスサイクルおきに交互
に制御メモリ308をアクセスできる。CPUバス302と制御メモリアクセスバス306間の
バッファ402を介した制御メモリアクセスサイクルの
関係 次に、CPUバス302と制御メモリアクセスバス30
6間のバッファ402を介した制御メモリアクセスサイ
クルのタイミング関係について説明する。
ドレスデータに関して、#0及び#1のVMC401は、最
短で1バスサイクルで制御メモリ308をアクセスでき
る。アクセスが複数バスサイクルに渡る場合は、#0及び
#1のVMC401がそれぞれ1バスサイクルおきに交互
に制御メモリ308をアクセスできる。CPUバス302と制御メモリアクセスバス306間の
バッファ402を介した制御メモリアクセスサイクルの
関係 次に、CPUバス302と制御メモリアクセスバス30
6間のバッファ402を介した制御メモリアクセスサイ
クルのタイミング関係について説明する。
【0134】バッファ402を介して制御メモリ308
がアクセスされる場合は、前述したように制御メモリ3
08内のページ状態データがアクセスされる場合であ
る。この場合のタイミング関係については、特には図示
しないが、実ページアドレスデータのアクセスの場合と
同様、制御メモリ308は、図4のアドレスセレクタ4
12を介してアドレスが指定された場合に、そのアドレ
スが指定されたバスサイクルと同じバスサイクル内でペ
ージ状態データの授受を行うことが可能となる。
がアクセスされる場合は、前述したように制御メモリ3
08内のページ状態データがアクセスされる場合であ
る。この場合のタイミング関係については、特には図示
しないが、実ページアドレスデータのアクセスの場合と
同様、制御メモリ308は、図4のアドレスセレクタ4
12を介してアドレスが指定された場合に、そのアドレ
スが指定されたバスサイクルと同じバスサイクル内でペ
ージ状態データの授受を行うことが可能となる。
【0135】そして、まず、制御メモリ308内のアド
レスセレクタ412は、実ページアドレスデータのアク
セスの場合と同様、例えばクロックB2CLKがハイレ
ベルである期間内のクロックBCLKの立上りタイミン
グから始まるバスサイクルにおいて、それと同じバスサ
イクルで例えばCPUバス302のアドレスバス部分4
09に指定されている制御メモリアドレス(仮想ページ
アドレス)を制御メモリ308内の特には図示しないア
ドレスレジスタにラッチする。
レスセレクタ412は、実ページアドレスデータのアク
セスの場合と同様、例えばクロックB2CLKがハイレ
ベルである期間内のクロックBCLKの立上りタイミン
グから始まるバスサイクルにおいて、それと同じバスサ
イクルで例えばCPUバス302のアドレスバス部分4
09に指定されている制御メモリアドレス(仮想ページ
アドレス)を制御メモリ308内の特には図示しないア
ドレスレジスタにラッチする。
【0136】上述の制御メモリアドレスがラッチされた
バスサイクルと同じバスサイクルにおいて、#0のVMC
401の制御回路503は、特には図示しない制御線を
介してバッファ402を制御し、それに対してCPUバ
ス302のデータバス部分405との間でページ状態デ
ータを授受させる。
バスサイクルと同じバスサイクルにおいて、#0のVMC
401の制御回路503は、特には図示しない制御線を
介してバッファ402を制御し、それに対してCPUバ
ス302のデータバス部分405との間でページ状態デ
ータを授受させる。
【0137】一方、制御メモリ308内のアドレスセレ
クタ412は、実ページアドレスデータのアクセスの場
合と同様、例えばクロックB2CLKがローレベルであ
る期間内のクロックBCLKの立上りタイミングから始
まるバスサイクルにおいて、それと同じバスサイクルで
例えば制御メモリアクセスバス306のアドレスバス部
分410に指定されている制御メモリアドレス(仮想ペ
ージアドレス)を制御メモリ308内の特には図示しな
いアドレスレジスタにラッチする。
クタ412は、実ページアドレスデータのアクセスの場
合と同様、例えばクロックB2CLKがローレベルであ
る期間内のクロックBCLKの立上りタイミングから始
まるバスサイクルにおいて、それと同じバスサイクルで
例えば制御メモリアクセスバス306のアドレスバス部
分410に指定されている制御メモリアドレス(仮想ペ
ージアドレス)を制御メモリ308内の特には図示しな
いアドレスレジスタにラッチする。
【0138】上述の制御メモリアドレスがラッチされた
バスサイクルと同じバスサイクルにおいて、#0のVMC
401の制御回路503は、特には図示しない制御線を
介してバッファ402を制御し、それに対して制御メモ
リアクセスバス306のデータバス部分406との間で
ページ状態データを授受させる。
バスサイクルと同じバスサイクルにおいて、#0のVMC
401の制御回路503は、特には図示しない制御線を
介してバッファ402を制御し、それに対して制御メモ
リアクセスバス306のデータバス部分406との間で
ページ状態データを授受させる。
【0139】以上の動作からわかるように、ページ状態
でに関して、CPUバス302及び制御メモリアクセス
バス306は、実ページアドレスデータのアクセスの場
合と同様、最短で1バスサイクルで制御メモリ308を
アクセスできる。アクセスが複数バスサイクルに渡る場
合、#0及び#1のVMC401がそれぞれ1バスサイクル
おきに交互に制御メモリ308をアクセスできる。#0又は#1のVMC401内のアクセスの競合の調停制御 例えば、CPU313が実メモリ307をアクセスする
と同時に、ネットワーク制御回路310が制御メモリ3
08内の実ページアドレスデータをアクセスする場合に
は、#0のVMC401内の制御回路503は、ローカル
バスインタフェース501を実メモリインタフェース5
06に接続し、ネットワークデータバスインタフェース
502を制御メモリインタフェース507に接続するこ
とによって、CPU313による実メモリ307のアク
セスとネットワーク制御回路310による制御メモリ3
08のアクセスを同時に行わせることができる。
でに関して、CPUバス302及び制御メモリアクセス
バス306は、実ページアドレスデータのアクセスの場
合と同様、最短で1バスサイクルで制御メモリ308を
アクセスできる。アクセスが複数バスサイクルに渡る場
合、#0及び#1のVMC401がそれぞれ1バスサイクル
おきに交互に制御メモリ308をアクセスできる。#0又は#1のVMC401内のアクセスの競合の調停制御 例えば、CPU313が実メモリ307をアクセスする
と同時に、ネットワーク制御回路310が制御メモリ3
08内の実ページアドレスデータをアクセスする場合に
は、#0のVMC401内の制御回路503は、ローカル
バスインタフェース501を実メモリインタフェース5
06に接続し、ネットワークデータバスインタフェース
502を制御メモリインタフェース507に接続するこ
とによって、CPU313による実メモリ307のアク
セスとネットワーク制御回路310による制御メモリ3
08のアクセスを同時に行わせることができる。
【0140】同様にして、CPU313による制御メモ
リ308のアクセスとネットワーク制御回路310によ
る実メモリ307のアクセス、プロセッサバスインタフ
ェース312による実メモリ307のアクセスとネット
ワーク制御回路310による制御メモリ308のアクセ
スも同時に行わせることができる。
リ308のアクセスとネットワーク制御回路310によ
る実メモリ307のアクセス、プロセッサバスインタフ
ェース312による実メモリ307のアクセスとネット
ワーク制御回路310による制御メモリ308のアクセ
スも同時に行わせることができる。
【0141】一方、#0のVMC401内で、CPUバス
302とネットワークデータ送信バス305との間で、
実メモリ307に対して同時にアクセスの競合が発生し
た場合、又は#1のVMC401内で、外部バス301と
ネットワークデータ受信バス304との間で、実メモリ
307に対して同時にアクセスの競合が発生した場合に
は、図5の制御回路503は、所定の調停アルゴリズム
に従って競合の調停制御を行い、制御線504を介して
ローカルバスインタフェース501又はネットワークデ
ータバスインタフェース502の何れか一方の動作を優
先させる。
302とネットワークデータ送信バス305との間で、
実メモリ307に対して同時にアクセスの競合が発生し
た場合、又は#1のVMC401内で、外部バス301と
ネットワークデータ受信バス304との間で、実メモリ
307に対して同時にアクセスの競合が発生した場合に
は、図5の制御回路503は、所定の調停アルゴリズム
に従って競合の調停制御を行い、制御線504を介して
ローカルバスインタフェース501又はネットワークデ
ータバスインタフェース502の何れか一方の動作を優
先させる。
【0142】また、#0のVMC401内で、CPUバス
302とネットワークデータ送信バス305との間で、
制御メモリ308に対して同時にアクセスの競合が発生
した場合、又は#1のVMC401内で、外部バス301
とネットワークデータ受信バス304との間で、制御メ
モリ308に対して同時にアクセスの競合が発生した場
合には、制御回路503は、前述したようにクロックB
2CLKに基づいて、制御線504を介してローカルバ
スインタフェース501又はネットワークデータバスイ
ンタフェース502の何れか一方の動作を交互に優先さ
せる。実メモリアクセスの具体例 最後に、CPU313が実メモリ307から実メモリデ
ータを取得する場合のタイミング例を、図8のタイミン
グチャートを使用して説明する。
302とネットワークデータ送信バス305との間で、
制御メモリ308に対して同時にアクセスの競合が発生
した場合、又は#1のVMC401内で、外部バス301
とネットワークデータ受信バス304との間で、制御メ
モリ308に対して同時にアクセスの競合が発生した場
合には、制御回路503は、前述したようにクロックB
2CLKに基づいて、制御線504を介してローカルバ
スインタフェース501又はネットワークデータバスイ
ンタフェース502の何れか一方の動作を交互に優先さ
せる。実メモリアクセスの具体例 最後に、CPU313が実メモリ307から実メモリデ
ータを取得する場合のタイミング例を、図8のタイミン
グチャートを使用して説明する。
【0143】図8において、斜線が付された期間は、信
号のなまり又はバス遅延などに基づいて信号の変化が変
動し得る範囲である。また、図6(d),(i),(j) に示され
る各信号は、ローレベルになったときにアクティブにな
るものとする。
号のなまり又はバス遅延などに基づいて信号の変化が変
動し得る範囲である。また、図6(d),(i),(j) に示され
る各信号は、ローレベルになったときにアクティブにな
るものとする。
【0144】図8(a) は、図7(a) と同様、システムク
ロックCLK(φ1、φ2)を示し、図8(b) は、図8
(b) と同様、CLKに基づいて生成されるクロックBC
LKを示し、「↑」で挟まれた各区間がバスサイクルを
示す。
ロックCLK(φ1、φ2)を示し、図8(b) は、図8
(b) と同様、CLKに基づいて生成されるクロックBC
LKを示し、「↑」で挟まれた各区間がバスサイクルを
示す。
【0145】まず、CPUバス302のアドレスバスに
おいてCPU313によって指定されたアドレスが図8
(c) に示されるように確定する。その直後、CPUバス
302のアドレスストローブ信号AS- が図8(d) に示さ
れるようにアクティブになり、また、適当な遅延時間の
後に、CPUバス302のデータストローブ信号DS-が
図8(i)に示されるようにアクティブになる。
おいてCPU313によって指定されたアドレスが図8
(c) に示されるように確定する。その直後、CPUバス
302のアドレスストローブ信号AS- が図8(d) に示さ
れるようにアクティブになり、また、適当な遅延時間の
後に、CPUバス302のデータストローブ信号DS-が
図8(i)に示されるようにアクティブになる。
【0146】アドレスストローブ信号AS- がアクティブ
となっている第n番目のバスサイクルにおいて、上述の
CPUバス302に指定されたアドレスが#0のVMC4
01内のローカルバスインタフェース501(図5参
照)に取り込まれた後、同じバスサイクルにおいて、図
8(e) に示されるように、#0のVMC401内の実メモ
リインタフェース506からアドレスバス407に出力
される。そして、同じバスサイクル内の後半期間で、図
8(e) に示されるように、アドレスバス407上の上述
のアドレスが確定する。
となっている第n番目のバスサイクルにおいて、上述の
CPUバス302に指定されたアドレスが#0のVMC4
01内のローカルバスインタフェース501(図5参
照)に取り込まれた後、同じバスサイクルにおいて、図
8(e) に示されるように、#0のVMC401内の実メモ
リインタフェース506からアドレスバス407に出力
される。そして、同じバスサイクル内の後半期間で、図
8(e) に示されるように、アドレスバス407上の上述
のアドレスが確定する。
【0147】これに同期して、図4の実メモリ307内
のアドレスセレクタ411は、アドレスバス407に第
n番目のバスサイクルのアドレスが出力されたバスサイ
クルの次のバスサイクルの先頭タイミングで、図8(f)
に示されるように、アドレスバス407上の第n番目の
バスサイクルのアドレスをラッチし、適当な遅延時間の
後に、そのラッチ内容が確定する。
のアドレスセレクタ411は、アドレスバス407に第
n番目のバスサイクルのアドレスが出力されたバスサイ
クルの次のバスサイクルの先頭タイミングで、図8(f)
に示されるように、アドレスバス407上の第n番目の
バスサイクルのアドレスをラッチし、適当な遅延時間の
後に、そのラッチ内容が確定する。
【0148】そして、上述のアドレスラッチ動作が行わ
れたバスサイクルと同じバスサイクルにおいて、図8
(g) に示されるように、実メモリ307から前述した第
n番目のバスサイクルのアドレスに対応する実メモリデ
ータがデータバス403に出力され、そのバスサイクル
の後半期間でその内容が確定する。
れたバスサイクルと同じバスサイクルにおいて、図8
(g) に示されるように、実メモリ307から前述した第
n番目のバスサイクルのアドレスに対応する実メモリデ
ータがデータバス403に出力され、そのバスサイクル
の後半期間でその内容が確定する。
【0149】#0のVMC401の制御回路503(図5
参照)は、制御線505を介して実メモリインタフェー
ス506を制御し、それに対してデータバス403上の
実メモリデータを取り込ませ、更に、制御回路503
は、制御線504を介してローカルバスインタフェース
501を制御し、それに対して実メモリインタフェース
506から上述の実メモリデータを転送させる。
参照)は、制御線505を介して実メモリインタフェー
ス506を制御し、それに対してデータバス403上の
実メモリデータを取り込ませ、更に、制御回路503
は、制御線504を介してローカルバスインタフェース
501を制御し、それに対して実メモリインタフェース
506から上述の実メモリデータを転送させる。
【0150】この結果、ローカルバスインタフェース5
01は、図8(j) に示されるように、適当な遅延時間の
後に、CPUバス302上のデータコンプリート信号DS
- をアクティブにし、CPUバス302上のデータバス
に、図8(h) に示されるように、適当な遅延時間の後
に、第n番目のバスサイクルのアドレスに対応する実メ
モリデータを出力する。
01は、図8(j) に示されるように、適当な遅延時間の
後に、CPUバス302上のデータコンプリート信号DS
- をアクティブにし、CPUバス302上のデータバス
に、図8(h) に示されるように、適当な遅延時間の後
に、第n番目のバスサイクルのアドレスに対応する実メ
モリデータを出力する。
【0151】CPU313は、CPUバス302上のデ
ータコンプリート信号DS- がアクティブになってから適
当な遅延時間の後、CPUバス302上のデータバスに
出力された第n番目のバスサイクルのアドレスに対応す
る実メモリデータを処理し、図8(i) に示されるよう
に、適当な遅延時間の後に、データストローブ信号DS-
をインアクティブに戻す。
ータコンプリート信号DS- がアクティブになってから適
当な遅延時間の後、CPUバス302上のデータバスに
出力された第n番目のバスサイクルのアドレスに対応す
る実メモリデータを処理し、図8(i) に示されるよう
に、適当な遅延時間の後に、データストローブ信号DS-
をインアクティブに戻す。
【0152】ここで、第n番目のバスサイクルのアドレ
スによって図8(f),(g) に示されるように実メモリ30
7がアクセスされるバスサイクルにおいて、図8(e) に
示されるようにアドレスバス408上には#1のVMC4
01から第n+1番目のバスサイクルのアドレスが出力
されており、その次のバスサイクルにおいて、上述の第
n+1番目のバスサイクルのアドレスによって図8(f),
(g) に示されるように実メモリ307がアクセスされ
る。
スによって図8(f),(g) に示されるように実メモリ30
7がアクセスされるバスサイクルにおいて、図8(e) に
示されるようにアドレスバス408上には#1のVMC4
01から第n+1番目のバスサイクルのアドレスが出力
されており、その次のバスサイクルにおいて、上述の第
n+1番目のバスサイクルのアドレスによって図8(f),
(g) に示されるように実メモリ307がアクセスされ
る。
【0153】このように、#0と#1のVMC401は、そ
れぞれ1バスサイクルおきに交互に実メモリ307をア
クセスできる。
れぞれ1バスサイクルおきに交互に実メモリ307をア
クセスできる。
【0154】
【発明の効果】本発明によれば、複数のマスタデバイス
と複数の分割メモリとの間でスイッチングを行うための
メモリアクセス回路を、複数のメモリ制御モジュールと
複数の選択手段により構成することが可能となる。
と複数の分割メモリとの間でスイッチングを行うための
メモリアクセス回路を、複数のメモリ制御モジュールと
複数の選択手段により構成することが可能となる。
【0155】この結果、各メモリ制御モジュールをゲー
トアレイチップなどで容易に構成することが可能とな
り、しかも、複数のマスタデバイス間の競合の調停制御
は各メモリ制御モジュールが行い、選択手段は、各メモ
リ制御モジュールにおける各分割メモリと対向するイン
タフェースを単純に順次選択するだけなので、全体のメ
モリアクセス制御を簡易に実現することが可能となる。
トアレイチップなどで容易に構成することが可能とな
り、しかも、複数のマスタデバイス間の競合の調停制御
は各メモリ制御モジュールが行い、選択手段は、各メモ
リ制御モジュールにおける各分割メモリと対向するイン
タフェースを単純に順次選択するだけなので、全体のメ
モリアクセス制御を簡易に実現することが可能となる。
【0156】従って、任意のマスタデバイスが任意のメ
モリデバイスを高速にアクセスできる機能を、単純な回
路構成かつ単純な制御で実現することが可能となる。更
に、複数のマスタデバイスと複数の分割メモリを、シス
テムの要求に応じて最適な形態で接続することが可能と
なる。
モリデバイスを高速にアクセスできる機能を、単純な回
路構成かつ単純な制御で実現することが可能となる。更
に、複数のマスタデバイスと複数の分割メモリを、シス
テムの要求に応じて最適な形態で接続することが可能と
なる。
【図面の簡単な説明】
【図1】本発明のブロック図である。
【図2】本発明の実施例が適用されるネットワークの構
成図である。
成図である。
【図3】本発明の実施例におけるメッセージ通信装置の
構成図である。
構成図である。
【図4】バーチャルメモリコントローラ周辺の構成図で
ある。
ある。
【図5】バーチャルメモリコントロールモジュールの構
成図である。
成図である。
【図6】メッセージ通信の説明図である。
【図7】実メモリアクセスのタイミングチャート例(そ
の1)を示した図である。
の1)を示した図である。
【図8】実メモリアクセスのタイミングチャート例(そ
の2)を示した図である。
の2)を示した図である。
【図9】従来技術の構成図である。
101 マスタデバイス 102 分割メモリ 103 メモリ制御モジュール 104 選択手段 BCLK 動作クロック MODE モード信号
Claims (1)
- 【請求項1】 第1の所定数(N×K)のマスタデバイ
ス(101)のうち任意のものから第2の所定数(M)
の分割メモリ(102)のうち任意のものへのアクセス
を行うメモリアクセス回路であって、 それぞれ、 前記第1の所定数(N×K)のマスタデバイス(10
1)のうち前記第1の所定数(N×K)より少ない第3
の所定数(N)ずつの前記マスタデバイス(101)に
対するインタフェースと前記第2の所定数の分割メモリ
(102)に対向するインタフェースとを有し、 所定の動作クロック(BCLK)と所定のモード信号
(MODE)に基づいて動作し、 前記動作クロック(BCLK)の同じ位相において複数
の前記マスタデバイス(101)から同一の前記分割メ
モリ(102)へのメモリアクセス要求がなされている
場合には、所定の規則によって決定された優先順位に従
って選択される前記マスタデバイス(101)からの前
記メモリアクセス要求に基づいて、前記動作クロック
(BCLK)の前記モード信号(MODE)に基づいて
指定される位相で、前記メモリアクセス要求に対応する
前記分割メモリ(102)をアクセスし、 前記動作クロック(BCLK)の同じ位相において複数
の前記マスタデバイス(101)から異なる前記分割メ
モリ(102)へのメモリアクセス要求がなされている
場合には、該複数のマスタデバイス(101)からのそ
れぞれのメモリアクセス要求に基づいて、前記動作クロ
ック(BCLK)の前記モード信号(MODE)に基づ
いて指定される位相で、前記各メモリアクセス要求に対
応する前記異なる分割メモリ(102)を同時にアクセ
スする、 前記第1の所定数(N×K)より少ない第4の所定数
(K)のメモリ制御モジュール(103)と、 前記分割メモリ(102)毎に設けられ、それぞれ、該
分割メモリ(102)と前記第4の所定数(K)のメモ
リ制御モジュール(103)のそれぞれにおける該分割
メモリ(102)に対向するインタフェースとを、該イ
ンタフェースに対応する前記メモリ制御モジュール(1
03)が該分割メモリ(102)をアクセスする前記動
作クロック(BCLK)の位相において選択的に接続す
る、前記第2の所定数(M)の選択手段(104)と、 を有することを特徴とするメモリアクセス回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4161495A JPH064401A (ja) | 1992-06-19 | 1992-06-19 | メモリアクセス回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4161495A JPH064401A (ja) | 1992-06-19 | 1992-06-19 | メモリアクセス回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH064401A true JPH064401A (ja) | 1994-01-14 |
Family
ID=15736159
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4161495A Withdrawn JPH064401A (ja) | 1992-06-19 | 1992-06-19 | メモリアクセス回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH064401A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100327953B1 (ko) * | 1998-01-22 | 2002-03-16 | 마츠시타 덴끼 산교 가부시키가이샤 | 메모리 액세스 제어기 |
| JP2005529407A (ja) * | 2002-06-07 | 2005-09-29 | マイクロン テクノロジー,インコーポレイティド | 内部キャッシュおよび/またはメモリアクセス予測を持つメモリハブ |
| JP2005285037A (ja) * | 2004-03-31 | 2005-10-13 | Nec Corp | データ処理装置およびその処理方法ならびにプログラムおよび携帯電話装置 |
| JP2013511081A (ja) * | 2010-02-01 | 2013-03-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | デバイス・アダプタを介して、データをキャッシュから複数のストレージ・デバイスの各々にデステージするための方法、システム及びコンピュータ・プログラム |
-
1992
- 1992-06-19 JP JP4161495A patent/JPH064401A/ja not_active Withdrawn
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100327953B1 (ko) * | 1998-01-22 | 2002-03-16 | 마츠시타 덴끼 산교 가부시키가이샤 | 메모리 액세스 제어기 |
| JP2005529407A (ja) * | 2002-06-07 | 2005-09-29 | マイクロン テクノロジー,インコーポレイティド | 内部キャッシュおよび/またはメモリアクセス予測を持つメモリハブ |
| JP2005285037A (ja) * | 2004-03-31 | 2005-10-13 | Nec Corp | データ処理装置およびその処理方法ならびにプログラムおよび携帯電話装置 |
| JP2013511081A (ja) * | 2010-02-01 | 2013-03-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | デバイス・アダプタを介して、データをキャッシュから複数のストレージ・デバイスの各々にデステージするための方法、システム及びコンピュータ・プログラム |
| US8478945B2 (en) | 2010-02-01 | 2013-07-02 | International Business Machines Corporation | Dynamic management of destage tasks in a storage controller |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4024875B2 (ja) | 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置 | |
| US4481572A (en) | Multiconfigural computers utilizing a time-shared bus | |
| EP0608663B1 (en) | A multi-processor system with shared memory | |
| CS287491A3 (en) | Dynamic bus bus decision making with permission of joint use of each cycle | |
| JPH10507023A (ja) | 共用メモリシステム | |
| JPH077374B2 (ja) | インタフェース回路 | |
| JPH03131945A (ja) | スタッガード・アクセス・メモリ | |
| JPH07105146A (ja) | 共有メモリ装置 | |
| US6131114A (en) | System for interchanging data between data processor units having processors interconnected by a common bus | |
| JP2644185B2 (ja) | データ処理装置 | |
| JPH064401A (ja) | メモリアクセス回路 | |
| US5983266A (en) | Control method for message communication in network supporting software emulated modules and hardware implemented modules | |
| JP3639651B2 (ja) | 少なくとも2台のプロセッサからなる情報処理装置 | |
| KR100487218B1 (ko) | 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법 | |
| JP3240863B2 (ja) | 調停回路 | |
| JPH0619855A (ja) | メッセージのキューイング方法とその装置 | |
| JP2002342295A (ja) | マルチプロセッサシステム | |
| JPH07271654A (ja) | コントローラ | |
| JPH064464A (ja) | 周辺装置アクセス装置 | |
| EP0602916A2 (en) | Cross-bar interconnect apparatus | |
| JPH056333A (ja) | マルチプロセサシステム | |
| EP1459191B1 (en) | Communication bus system | |
| JPH064462A (ja) | バス結合方式 | |
| JP3317150B2 (ja) | 情報処理装置 | |
| JP2913930B2 (ja) | 拡張記憶データ転送方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19990831 |