JPH04117540A - データ処理装置およびデータ処理システム - Google Patents
データ処理装置およびデータ処理システムInfo
- Publication number
- JPH04117540A JPH04117540A JP2237666A JP23766690A JPH04117540A JP H04117540 A JPH04117540 A JP H04117540A JP 2237666 A JP2237666 A JP 2237666A JP 23766690 A JP23766690 A JP 23766690A JP H04117540 A JPH04117540 A JP H04117540A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- processor
- bank
- information
- 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
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はデータ処理装置およびデータ処理システムに係
り、特に、複数のプロセッサとキャッシュメモリとの間
で情報の授受を行うに好適なデータ処理装置およびデー
タ処理システムに関する。
り、特に、複数のプロセッサとキャッシュメモリとの間
で情報の授受を行うに好適なデータ処理装置およびデー
タ処理システムに関する。
従来、複数のマイクロプロセッサを用いてデータの処理
を行うようにしたものとしては、例えば特開昭56−1
27261号公報に記載されているように、各プロセッ
サをバスラインを介して主メモリに接続し、各プロセッ
サにキャッシュメモリを設け、各メモリがメモリアクセ
スを行うときには、まずキャッシュメモリをアクセスし
、キャッシュメモリに指定のデータがないときにのみ主
メモリをアクセスするシステムが採用されている。
を行うようにしたものとしては、例えば特開昭56−1
27261号公報に記載されているように、各プロセッ
サをバスラインを介して主メモリに接続し、各プロセッ
サにキャッシュメモリを設け、各メモリがメモリアクセ
スを行うときには、まずキャッシュメモリをアクセスし
、キャッシュメモリに指定のデータがないときにのみ主
メモリをアクセスするシステムが採用されている。
このシステムによれば、各プロセッサにキャッシュメモ
リが設けられているので、高性能化が図れると共にパス
トラフィックが発生するのを抑制することができる。
リが設けられているので、高性能化が図れると共にパス
トラフィックが発生するのを抑制することができる。
しかし、このようなシステムでは、各キャッシュメモリ
の内容を常に一致させなければならず。
の内容を常に一致させなければならず。
各キャッシュメモリの内容を一致させるための制御とし
て、特開昭56−127261号公報に記載されている
ように、ライトスルーキャッシュ方式が採用されている
。すなわち、主メモリへの書き込みが行われたときに、
その書き込みアドレスを各キャッシュメモリが取り込み
、同一アドレスの内容が各キャッシュメモリに入ってい
るときに無効化するようになっている。
て、特開昭56−127261号公報に記載されている
ように、ライトスルーキャッシュ方式が採用されている
。すなわち、主メモリへの書き込みが行われたときに、
その書き込みアドレスを各キャッシュメモリが取り込み
、同一アドレスの内容が各キャッシュメモリに入ってい
るときに無効化するようになっている。
ところが、このライトスルーキャッシュ方式では、主メ
モリへの書き込み頻度が高くなるため、この書き込み頻
度を低くするようにしたものとして、ライトパックキャ
ッシュ方式やライトワンス等のアルゴリズムが提案され
ている。これらの詳細は、rJames R,Good
man:USING、 CACHE MEMORYTo
REDυCE PROCIESSOR−MEMORY
、 TRAFFIC:The 10thAnnual
International Symposium o
n COMPUTERARCHITECTURE、 V
ol 11.No3. June13−171983.
Jに記載されている。
モリへの書き込み頻度が高くなるため、この書き込み頻
度を低くするようにしたものとして、ライトパックキャ
ッシュ方式やライトワンス等のアルゴリズムが提案され
ている。これらの詳細は、rJames R,Good
man:USING、 CACHE MEMORYTo
REDυCE PROCIESSOR−MEMORY
、 TRAFFIC:The 10thAnnual
International Symposium o
n COMPUTERARCHITECTURE、 V
ol 11.No3. June13−171983.
Jに記載されている。
(発明が解決しようとする課題〕
上記従来技術では、タスク単位の並列処理を行うシステ
ムでは好適であるが、ミクロな並列処理を行うシステム
については配慮されておらず、プロセッサ間で共有する
データが多くなると、キャッシュメモリへ書き込みする
際の無効化が頻繁に生じ、キャッシュのヒツト率が低下
するという問題がある。
ムでは好適であるが、ミクロな並列処理を行うシステム
については配慮されておらず、プロセッサ間で共有する
データが多くなると、キャッシュメモリへ書き込みする
際の無効化が頻繁に生じ、キャッシュのヒツト率が低下
するという問題がある。
本発明の目的は、複数のプロセッサ間で共有データが多
くてもキャッシュのヒツト率を高めることができるデー
タ処理装置およびデータ処理システムを提供することに
ある。
くてもキャッシュのヒツト率を高めることができるデー
タ処理装置およびデータ処理システムを提供することに
ある。
前記目的を達成するために、本発明は、第1の装置とし
て、アドレス情報を出力する複数のプロセッサと、少く
とも複数のリードポートを有し各プロセッサからのアド
レス情報を指定のアドレスに変換するアドレス変換バッ
ファと、データ格納エリアが複数のバンクに分割された
キャッシュメモリと、各プロセッサからのアドレス情報
により指定のバンクを選択するバンク選択手段と、バン
ク選択手段により選択されたバンク内にデータが存在す
るか否かを各プロセッサのアドレス情報とアドレス変換
バッファの出力情報に従って判定する判定手段と、判定
手段により肯定の判定結果が得られたときにバンク選択
手段により選択されたバンク内のデータを指定のプロセ
ッサへ転送するデータ選択手段とを備えているデータ処
理装置を構成したものである。
て、アドレス情報を出力する複数のプロセッサと、少く
とも複数のリードポートを有し各プロセッサからのアド
レス情報を指定のアドレスに変換するアドレス変換バッ
ファと、データ格納エリアが複数のバンクに分割された
キャッシュメモリと、各プロセッサからのアドレス情報
により指定のバンクを選択するバンク選択手段と、バン
ク選択手段により選択されたバンク内にデータが存在す
るか否かを各プロセッサのアドレス情報とアドレス変換
バッファの出力情報に従って判定する判定手段と、判定
手段により肯定の判定結果が得られたときにバンク選択
手段により選択されたバンク内のデータを指定のプロセ
ッサへ転送するデータ選択手段とを備えているデータ処
理装置を構成したものである。
第2の装置として、アドレス情報を出方する複数のプロ
セッサと、少くとも複数のリードポートを有し各プロッ
セサからの命令用アドレス情報を指定の命令用アドレス
に変換する命令用アドレス変換バッファと、少くとも複
数のリードポートを有し各プロセッサからのデータ用ア
ドレス情報を指定のデータ用アドレスに変換するデータ
用アドレス変換バッファと、データ格納エリアが複数の
命令用バンクに分割された命令用キャッシュメモリと、
データ格納、エリアが複数のデータ用バンクに分割され
たデータ用キャッシュメモリと、各プロセッサからの命
令用アドレス情報により指定の命令用バンクを選択する
命令用バンク選択手段と、各プロセッサからのデータ用
アドレス情報により指定のデータ用バンクを選択するデ
ータ用バンク選択手段と、命令用バンク選択手段により
選択されたバンク内にデータが存在するか否かをプロセ
ッサからの命令用アドレス情報と命令用アドレス変換バ
ッファの出力情報に従って判定する命令用判定手段と、
データ用バンク選択手段により選択されたバンク内にデ
ータが存在するか否かをプロセッサからのデータ用アド
レス情報とデータ用アドレス変換バッファの出力情報に
従って判定するデータ用判定手段と、命令用判定手段に
より肯定の判定結果が得られたときに命令用バンク選択
手段により選択されたバンク内のデータを指定のプロセ
ッサへ転送する命令用データ選択手段と、データ用判定
手段により肯定の判定結果が得られたときにデータ用バ
ンク選択手段により選択されたバンク内のデータを指定
のプロセッサへ転送するデータ用データ選択手段とを備
えているデータ処理装置を構成したものである。
セッサと、少くとも複数のリードポートを有し各プロッ
セサからの命令用アドレス情報を指定の命令用アドレス
に変換する命令用アドレス変換バッファと、少くとも複
数のリードポートを有し各プロセッサからのデータ用ア
ドレス情報を指定のデータ用アドレスに変換するデータ
用アドレス変換バッファと、データ格納エリアが複数の
命令用バンクに分割された命令用キャッシュメモリと、
データ格納、エリアが複数のデータ用バンクに分割され
たデータ用キャッシュメモリと、各プロセッサからの命
令用アドレス情報により指定の命令用バンクを選択する
命令用バンク選択手段と、各プロセッサからのデータ用
アドレス情報により指定のデータ用バンクを選択するデ
ータ用バンク選択手段と、命令用バンク選択手段により
選択されたバンク内にデータが存在するか否かをプロセ
ッサからの命令用アドレス情報と命令用アドレス変換バ
ッファの出力情報に従って判定する命令用判定手段と、
データ用バンク選択手段により選択されたバンク内にデ
ータが存在するか否かをプロセッサからのデータ用アド
レス情報とデータ用アドレス変換バッファの出力情報に
従って判定するデータ用判定手段と、命令用判定手段に
より肯定の判定結果が得られたときに命令用バンク選択
手段により選択されたバンク内のデータを指定のプロセ
ッサへ転送する命令用データ選択手段と、データ用判定
手段により肯定の判定結果が得られたときにデータ用バ
ンク選択手段により選択されたバンク内のデータを指定
のプロセッサへ転送するデータ用データ選択手段とを備
えているデータ処理装置を構成したものである。
第1または第2の装置を含む第3の装置としてアドレス
変換バッファのアドレス変換領域は仮想ページと物理ペ
ージに分割され、キャッシュメモリのメモリ領域は物理
ページとデータに分割されており、バンク選択手段は各
プロセッサからのアドレス情報により指定のバンクの物
理ページの情報を選択する第1セレクタで構成され、判
定手段は各プロセッサからのアドレス情報とアドレス変
換バッファの仮想ページの情報とを比較してアドレス変
換が成功したか否かを判定する第1コンパレータと、第
1セレクタの出力情報とアドレス変換バッファの物理ペ
ージの情報とを比較して物理ページのデータがキャッシ
ュ内に存在するか否かを判定する第2コンパレータと、
第1コンパレータと第2コンパレータから共に肯定の判
定結果が得られたか否かを判定する第3コンパレータか
ら構成され、データ選択手段は、各プロセッサからのア
ドレス情報により指定のバンク内のデータを選択する第
2セレクタと、第3コンパレータから肯定の判定結果が
出力されたときに第2セレクタの選択によるデータを指
定のプロセッサへ転送する第3セレクタとから構成され
ているデータ処理装置を構成したものである。
変換バッファのアドレス変換領域は仮想ページと物理ペ
ージに分割され、キャッシュメモリのメモリ領域は物理
ページとデータに分割されており、バンク選択手段は各
プロセッサからのアドレス情報により指定のバンクの物
理ページの情報を選択する第1セレクタで構成され、判
定手段は各プロセッサからのアドレス情報とアドレス変
換バッファの仮想ページの情報とを比較してアドレス変
換が成功したか否かを判定する第1コンパレータと、第
1セレクタの出力情報とアドレス変換バッファの物理ペ
ージの情報とを比較して物理ページのデータがキャッシ
ュ内に存在するか否かを判定する第2コンパレータと、
第1コンパレータと第2コンパレータから共に肯定の判
定結果が得られたか否かを判定する第3コンパレータか
ら構成され、データ選択手段は、各プロセッサからのア
ドレス情報により指定のバンク内のデータを選択する第
2セレクタと、第3コンパレータから肯定の判定結果が
出力されたときに第2セレクタの選択によるデータを指
定のプロセッサへ転送する第3セレクタとから構成され
ているデータ処理装置を構成したものである。
第1、第2または第3の装置を含む第4の装置として、
バンク選択手段は、バンクの指定が複数のプロセッサ間
で重複したときには、指定の優先順位に従ってバンクを
選択してなるデータ処理装置を構成したものである。
バンク選択手段は、バンクの指定が複数のプロセッサ間
で重複したときには、指定の優先順位に従ってバンクを
選択してなるデータ処理装置を構成したものである。
第1、第2.第3または第4の装置を含む第5の装置と
して、アドレス変換バッファは複数のリードポートと少
くとも1つのライトポートを備えているデータ処理装置
を構成したものである。
して、アドレス変換バッファは複数のリードポートと少
くとも1つのライトポートを備えているデータ処理装置
を構成したものである。
第5の装置を含む第6の装置として、キャッシュメモリ
の各バンクは1リードポート1ライトポートメモリで構
成されているデータ処理装置を構成したものである。
の各バンクは1リードポート1ライトポートメモリで構
成されているデータ処理装置を構成したものである。
第2の装置を含む第7の装置として、命令用アドレス変
換バッファと命令用キャッシュメモリは1リードポート
1ライトポートを備え、データ用アドレス変換バッファ
は複数のリードポートと少くとも1つのライトポートを
備えて構成されているデータ処理装置を構成したもので
ある。
換バッファと命令用キャッシュメモリは1リードポート
1ライトポートを備え、データ用アドレス変換バッファ
は複数のリードポートと少くとも1つのライトポートを
備えて構成されているデータ処理装置を構成したもので
ある。
第1〜第7の装置のうちいずれか1つの装置を含む第8
の装置として、各プロセッサは、複数の演算器と、アド
レス線とデータ線に接続された複数の命令デコーダと、
各プロセッサと情報の授受を行う複数ポートのレジスタ
ファイルと、各演算器とレジスタファイルに接続された
複数のメモリアドレスレジスタと、各演算器とレジスタ
ファイルに接続されて複数のメモリデータレジスタとか
ら構成されているデータ処理装置を構成したものである
。
の装置として、各プロセッサは、複数の演算器と、アド
レス線とデータ線に接続された複数の命令デコーダと、
各プロセッサと情報の授受を行う複数ポートのレジスタ
ファイルと、各演算器とレジスタファイルに接続された
複数のメモリアドレスレジスタと、各演算器とレジスタ
ファイルに接続されて複数のメモリデータレジスタとか
ら構成されているデータ処理装置を構成したものである
。
第1〜第8の装置のうちいずれか1つの装置を含む第9
の装置として、各構成要素が単一の半導体集積回路基板
上に実装されているデータ処理装置を構成したものであ
る。
の装置として、各構成要素が単一の半導体集積回路基板
上に実装されているデータ処理装置を構成したものであ
る。
第1のシステムとして、データ処理装置と主メモリとが
アドレス線とデータ線を含むバスラインを介して接続さ
れているデータ処理システムにおいて、請求項1〜9の
うちいずれか1つの項に記載のデータ処理装置にマルチ
プレクサを設け、アドレス変換バッファと主メモリとを
マルチプレクサを介して接続し、キャッシュメモリと主
メモリとをマルチプレクサを介して接続してなるデータ
処理システムを構成したものである。
アドレス線とデータ線を含むバスラインを介して接続さ
れているデータ処理システムにおいて、請求項1〜9の
うちいずれか1つの項に記載のデータ処理装置にマルチ
プレクサを設け、アドレス変換バッファと主メモリとを
マルチプレクサを介して接続し、キャッシュメモリと主
メモリとをマルチプレクサを介して接続してなるデータ
処理システムを構成したものである。
第1のシステムを含む第2のシステムとして、データ選
択手段は、判定手段により否定の判定結果が得られたと
きに主メモリからのデータを特定のプロセッサへ転送し
てなるデータ処理システムを構成したものである。
択手段は、判定手段により否定の判定結果が得られたと
きに主メモリからのデータを特定のプロセッサへ転送し
てなるデータ処理システムを構成したものである。
アドレス変換バッファは読み出しポートが複数ポート有
するマルチポートで構成されており、しかもキャッシュ
メモリが複数のバンクに分割されているため、各プロセ
ッサが同時にアドレス変換バッファをアクセスすること
ができると共に、異なるバンクへのアクセスが可能であ
る。このため、各プロセッサは同一バンクへのアクセス
が同時に発生しない限り、各プロセッサが互いに独立に
バンクを同時にアクセスすることができ、各プロセッサ
間で共有データが多数存在しても、キャッシュのヒツト
率を高めることができ、各プロセッサの並列処理が可能
となる。
するマルチポートで構成されており、しかもキャッシュ
メモリが複数のバンクに分割されているため、各プロセ
ッサが同時にアドレス変換バッファをアクセスすること
ができると共に、異なるバンクへのアクセスが可能であ
る。このため、各プロセッサは同一バンクへのアクセス
が同時に発生しない限り、各プロセッサが互いに独立に
バンクを同時にアクセスすることができ、各プロセッサ
間で共有データが多数存在しても、キャッシュのヒツト
率を高めることができ、各プロセッサの並列処理が可能
となる。
以下、本発明の一実施例を図面に基づいて説明する。
第1図において、データ処理装置22は単一のLSIで
構成されており、アドレス線100とデータ線102を
含むバスラインを介して主メモリ10に接続されている
。データ処理装W22はnリード1ライトボート・アド
レス変換バッファメモリ12、データ格納エリアがm個
のバンクに分割されてキャッシュメモリを構成する1リ
ード1ライトキヤツシユメモリ14−1・・・14−n
、バンク選択回路16、データ選択回路18−1・・・
18−n、複数のプロセッサ20−1−20− nを備
えて構成されており、プロセッサ20iとアドレス変換
バッファメモリ12とバンク選択回路16とがアドレス
線104−1・・・104−nを介して接続され、キャ
ッシュメモリ14−jがデータ線1oe−jを介してバ
ンク選択回路16と接続され、バンク選択回路16とデ
ータ選択回路18−1がデータ線108−iを介して接
続され、データ選択回路18−1とプロセッサ20−1
がデータ線110−iを介して接続されている。
構成されており、アドレス線100とデータ線102を
含むバスラインを介して主メモリ10に接続されている
。データ処理装W22はnリード1ライトボート・アド
レス変換バッファメモリ12、データ格納エリアがm個
のバンクに分割されてキャッシュメモリを構成する1リ
ード1ライトキヤツシユメモリ14−1・・・14−n
、バンク選択回路16、データ選択回路18−1・・・
18−n、複数のプロセッサ20−1−20− nを備
えて構成されており、プロセッサ20iとアドレス変換
バッファメモリ12とバンク選択回路16とがアドレス
線104−1・・・104−nを介して接続され、キャ
ッシュメモリ14−jがデータ線1oe−jを介してバ
ンク選択回路16と接続され、バンク選択回路16とデ
ータ選択回路18−1がデータ線108−iを介して接
続され、データ選択回路18−1とプロセッサ20−1
がデータ線110−iを介して接続されている。
バンク選択回路16は各プロセッサ20iからのアドレ
ス情報により指定のキャッシュメモリ14−iを選択す
るバンク選択手段を構成すると共に、バンク選択手段に
より選択されたキャッシュメモリ14−1内にデータが
存在するか否かをプロセッサ20−1からのアドレス情
報とアドレス変換バッファメモリ12の出力情報に従っ
て判定する判定手段を構成するようになっている。また
データ選択回路18iは判定手段により肯定の判定結果
が得られたときに、バンク選択手段により選択されたキ
ャッシュメモリ14=i内のデータを指定のプロセッサ
20−1へ転送するデータ選択手段として構成されてい
る。
ス情報により指定のキャッシュメモリ14−iを選択す
るバンク選択手段を構成すると共に、バンク選択手段に
より選択されたキャッシュメモリ14−1内にデータが
存在するか否かをプロセッサ20−1からのアドレス情
報とアドレス変換バッファメモリ12の出力情報に従っ
て判定する判定手段を構成するようになっている。また
データ選択回路18iは判定手段により肯定の判定結果
が得られたときに、バンク選択手段により選択されたキ
ャッシュメモリ14=i内のデータを指定のプロセッサ
20−1へ転送するデータ選択手段として構成されてい
る。
上記構成において、各プロセッサ20−iからアドレス
線104−iにアドレス情報が出力されると、このアド
レス情報はアドレス変換バッファメモリ12により指定
の物理アドレスに変換される。すなわちプロセッサから
のパルス情報がバッファメモリ12内に存在するときに
は、そのアドレスに対応した物理アドレスが生成される
。またプロセッサからのアドレス情報に従って指定のキ
ャッシュメモリ14−1が1つだけ選択される。
線104−iにアドレス情報が出力されると、このアド
レス情報はアドレス変換バッファメモリ12により指定
の物理アドレスに変換される。すなわちプロセッサから
のパルス情報がバッファメモリ12内に存在するときに
は、そのアドレスに対応した物理アドレスが生成される
。またプロセッサからのアドレス情報に従って指定のキ
ャッシュメモリ14−1が1つだけ選択される。
そしてメモリ12で生成された物理アドレスに対応する
データが、選択されたキャッシュメモリ14−i内に存
在するときには、選択されたキャッシュメモリ14−1
内のデータがデータ選択回路18−iを介して指定のプ
ロセッサ20−1に伝送される。
データが、選択されたキャッシュメモリ14−i内に存
在するときには、選択されたキャッシュメモリ14−1
内のデータがデータ選択回路18−iを介して指定のプ
ロセッサ20−1に伝送される。
一方、メモリ12で生成された物理アドレスに対応した
データが、選択されたキャッシュメモリ14−1内に存
在しないとき、すなわち、キャッシュメモリへのアクセ
スが失敗したときには、アドレス線100を介して主メ
モリ10をアクセスし、そのデータをデータ線102を
介してキャッシュメモリ14−iに供給すると共に指定
のプロセッサ20−1へ伝送する。
データが、選択されたキャッシュメモリ14−1内に存
在しないとき、すなわち、キャッシュメモリへのアクセ
スが失敗したときには、アドレス線100を介して主メ
モリ10をアクセスし、そのデータをデータ線102を
介してキャッシュメモリ14−iに供給すると共に指定
のプロセッサ20−1へ伝送する。
このように1本実施例によれば、バッファメモリ12を
マルチリードポートで構成すると共にキヤツシュメモリ
を複数のバンクで構成するようにしたため、複数のプロ
セッサ20−1から同時にアクセスが行われても、各プ
ロセッサに指定のキャッシュメモリ14−iからのデー
タを転送することが可能となり、キャッシュのヒツト率
を高め、複数のプロセッサによる同時処理が可能となる
。
マルチリードポートで構成すると共にキヤツシュメモリ
を複数のバンクで構成するようにしたため、複数のプロ
セッサ20−1から同時にアクセスが行われても、各プ
ロセッサに指定のキャッシュメモリ14−iからのデー
タを転送することが可能となり、キャッシュのヒツト率
を高め、複数のプロセッサによる同時処理が可能となる
。
次に、バッファメモリ12として、2リード1ダイトポ
ートメモリで構成した場合の実施例を第2図により説明
する。
ートメモリで構成した場合の実施例を第2図により説明
する。
本実施例におけるバッファメモリはデコーダ24.26
、インバータ28、ゲート30,32゜34.36、メ
モリセル38.センスアンプ40゜42、インバータ4
4を備えて構成されており、デコーダ24.26にアド
レスA、、B、が入力され、インバータ28.44に入
力データD L n、Dいが入力され、出力データ線D
B、−1,DB。
、インバータ28、ゲート30,32゜34.36、メ
モリセル38.センスアンプ40゜42、インバータ4
4を備えて構成されており、デコーダ24.26にアド
レスA、、B、が入力され、インバータ28.44に入
力データD L n、Dいが入力され、出力データ線D
B、−1,DB。
−2からデータが出力されるようになっている。
本実施例におけるメモリは、各プロセッサからは独立し
たメモリとして機能するようになっている。すなわち、
各プロセッサがアドレスA、で指定した番号からデータ
線D1. D工を介してデータの読み出しが可能になっ
ている。具体的には、プロセッサからアドレスA0をア
クセスする場合、アドレス八〇がデコーダ24でデコー
ドされ、ゲート30.34がオンとなったとき、メモリ
セル38の内容がデータ線D1.Dいセンサアンプ42
を介して読み出される。また他のプロセッサがアドレス
B0を指定してアドレスB0がアクセスされると、この
アドレスB、がデコーダ26でデコードされ、ゲート3
2.36がオンとなると、メモリセル38の内容がデー
タ線り、、 D、、センスアンプ40を介して読み出さ
れる。
たメモリとして機能するようになっている。すなわち、
各プロセッサがアドレスA、で指定した番号からデータ
線D1. D工を介してデータの読み出しが可能になっ
ている。具体的には、プロセッサからアドレスA0をア
クセスする場合、アドレス八〇がデコーダ24でデコー
ドされ、ゲート30.34がオンとなったとき、メモリ
セル38の内容がデータ線D1.Dいセンサアンプ42
を介して読み出される。また他のプロセッサがアドレス
B0を指定してアドレスB0がアクセスされると、この
アドレスB、がデコーダ26でデコードされ、ゲート3
2.36がオンとなると、メモリセル38の内容がデー
タ線り、、 D、、センスアンプ40を介して読み出さ
れる。
次に、書き込みの場合には、データがインバータ28.
44から入力され、各データの極性が反転した状態でデ
ータ線I)z*I)、に入力される。そして各データは
ゲート30.34を介してメモリセル38に書き込まれ
る。
44から入力され、各データの極性が反転した状態でデ
ータ線I)z*I)、に入力される。そして各データは
ゲート30.34を介してメモリセル38に書き込まれ
る。
本実施例における書き込みボートは1ボートで構成され
ているが、これは、書き込みが発生するのはアドレス変
換が失敗したときであり、このときには各プロセッサか
らのアクセスを禁止し、内容の入れ換えが終了した後に
アクセスを許可すればよいためである。
ているが、これは、書き込みが発生するのはアドレス変
換が失敗したときであり、このときには各プロセッサか
らのアクセスを禁止し、内容の入れ換えが終了した後に
アクセスを許可すればよいためである。
また本実施例では、書き込みボートと読み出しボートが
共有ボートとなっているため、メモリサイズの小型化に
寄与することができる。
共有ボートとなっているため、メモリサイズの小型化に
寄与することができる。
次に、第3図は、アドレス変換バッファメモリとしてn
リード1ライトポートメモリを用い、キャッシュメモリ
として複数の1リード1ライトポートメモリを使用した
バンク構成のメモリを用い、プロセッサとして2台のプ
ロセッサPL、P2を用い、アドレス変換バッファメモ
リとしてメーデ用アドレス変換バッファITLB、デー
タ用アドレス変換バッファDTLBの2組を有し、キャ
ッシュを3バンクに分割し、命令用キャッシュIC,、
IC,、IC3、データ用キャッシュDC10DC,、
DC,を備え、ダイレクトマツプ方式によってデータの
授受を行うものを示す。
リード1ライトポートメモリを用い、キャッシュメモリ
として複数の1リード1ライトポートメモリを使用した
バンク構成のメモリを用い、プロセッサとして2台のプ
ロセッサPL、P2を用い、アドレス変換バッファメモ
リとしてメーデ用アドレス変換バッファITLB、デー
タ用アドレス変換バッファDTLBの2組を有し、キャ
ッシュを3バンクに分割し、命令用キャッシュIC,、
IC,、IC3、データ用キャッシュDC10DC,、
DC,を備え、ダイレクトマツプ方式によってデータの
授受を行うものを示す。
本実施例においては、プロセッサPユ、P2が実行すべ
゛き命令のアドレスVA1.vA*を命令用アドレス変
換バッファITLBと命令用キャッシュIC1,IC,
、IC,へ出力すると、パッファ工TLBはアドレスV
A、、VA、の一部のアドレスA、、B、を入力として
、アドレス変換の成功の有無を示す信号を信号線Isユ
、Is、を介してデータ選択回路IPS1.IPS、へ
出力する。このとき同時にアドレスVA、のアドレス情
報A1とアドレスVA2のアドレス情報B1がバンクセ
レクタ回路ICBへ出力される。さらに、このときアド
レスVA、のアドレスA2とアドレスVA、のアドレス
B2もバンク選択回路ICBへ出力される。そしてバン
ク選択回路ICBはアドレスA2とB、が同一であるか
のチエツクを行い、同じであればアドレスVA、とVA
、は同一バンクへのアクセスと判断し、アドレスVA1
を優先してアドレスVA。
゛き命令のアドレスVA1.vA*を命令用アドレス変
換バッファITLBと命令用キャッシュIC1,IC,
、IC,へ出力すると、パッファ工TLBはアドレスV
A、、VA、の一部のアドレスA、、B、を入力として
、アドレス変換の成功の有無を示す信号を信号線Isユ
、Is、を介してデータ選択回路IPS1.IPS、へ
出力する。このとき同時にアドレスVA、のアドレス情
報A1とアドレスVA2のアドレス情報B1がバンクセ
レクタ回路ICBへ出力される。さらに、このときアド
レスVA、のアドレスA2とアドレスVA、のアドレス
B2もバンク選択回路ICBへ出力される。そしてバン
ク選択回路ICBはアドレスA2とB、が同一であるか
のチエツクを行い、同じであればアドレスVA、とVA
、は同一バンクへのアクセスと判断し、アドレスVA1
を優先してアドレスVA。
のアドレスを保留する。
一方、アドレス情報A2とB8が異なるときには、異な
るバンクへのアクセスと判断し、アドレス情報A2の値
に対応したアドレス線IC8,、IC8,。
るバンクへのアクセスと判断し、アドレス情報A2の値
に対応したアドレス線IC8,、IC8,。
IC8,のいずれかのアドレス線を選択してアドレス情
報A1を供給する。このとき同様に、アドレス情報B2
についても、アドレス情報B2の値に対応するアドレス
線IC8,、IC8,、IC83のいずれかのアドレス
線にアドレス情報B1を供給する。なお、本実施例では
、キャッシュ2は3バンクに分割されているので、アド
レス情報としてはA2とB2の2ビツトで十分である。
報A1を供給する。このとき同様に、アドレス情報B2
についても、アドレス情報B2の値に対応するアドレス
線IC8,、IC8,、IC83のいずれかのアドレス
線にアドレス情報B1を供給する。なお、本実施例では
、キャッシュ2は3バンクに分割されているので、アド
レス情報としてはA2とB2の2ビツトで十分である。
例えば、アドレス情報A2またはB、の値が零のときは
アドレス情報A1またはB1をアドレス線IC8,へ供
給し、1のときはアドレス線IC8,へ供給し、2のと
きにはアドレス線IC8,へ供給し、3のときにはアド
レス線工C84へ供給すればよいことになる。このよう
に、参照すべきバンクを仮想アドレスの特定ビット(A
t+Bi)を用いて決定し、アドレス情報A1またはB
よを用いてバンク内の対応するデータをデータ線lCD
1.lCD2゜lCD3へ出力することができる。
アドレス情報A1またはB1をアドレス線IC8,へ供
給し、1のときはアドレス線IC8,へ供給し、2のと
きにはアドレス線IC8,へ供給し、3のときにはアド
レス線工C84へ供給すればよいことになる。このよう
に、参照すべきバンクを仮想アドレスの特定ビット(A
t+Bi)を用いて決定し、アドレス情報A1またはB
よを用いてバンク内の対応するデータをデータ線lCD
1.lCD2゜lCD3へ出力することができる。
次に、各プロセッサp、、p2に対応して設けられた命
令用データ選択回路IPS、、IPS、は信号線S、、
S、からのアドレス変換情報とアドレスVA、、VA、
からのバンク情報A2.B、に基づいてデータ線ICD
、、ICD、、lCD3のうちいずれかのデータを取り
込み、入力したデータをデータ線ID、、ID、へ出力
する。このとき、アドレス変換情報はアドレスVA、ま
たはVA2のデータがキャッシュ上に存在するかどうか
を判断するためのものであり、データがキャッシュ上に
存在しないときには、データ選択回路IPS1.IPS
2のゲートを閉じ、プロセッサPi、P、へのデータの
転送を停止する。一方、データがキャッシュ上に存在す
るときには、データ選択回路IPS、。
令用データ選択回路IPS、、IPS、は信号線S、、
S、からのアドレス変換情報とアドレスVA、、VA、
からのバンク情報A2.B、に基づいてデータ線ICD
、、ICD、、lCD3のうちいずれかのデータを取り
込み、入力したデータをデータ線ID、、ID、へ出力
する。このとき、アドレス変換情報はアドレスVA、ま
たはVA2のデータがキャッシュ上に存在するかどうか
を判断するためのものであり、データがキャッシュ上に
存在しないときには、データ選択回路IPS1.IPS
2のゲートを閉じ、プロセッサPi、P、へのデータの
転送を停止する。一方、データがキャッシュ上に存在す
るときには、データ選択回路IPS、。
IPS、が共にオンとなり、データ選択回路IPS、、
IPS、で選択されたデータがデータ線ID、。
IPS、で選択されたデータがデータ線ID、。
ID、を介してプロセッサp1.p2へ供給される。
これによりプロセッサP、、P2は共に並列動作するこ
とができる。
とができる。
次に、データ用アドレス変換バッファメモリDTLB、
データ用キャッシュメモリDC,,DC2゜DC3の動
作について説明する。
データ用キャッシュメモリDC,,DC2゜DC3の動
作について説明する。
まず、プロセッサp、、p、がデータ参照のためのアド
レスVA3とVA、を生成すると、アドレスVA、のア
ドレス情報A、とアドレスVA4のアドレス情報B、が
バッファDTLBへ供給され、同時に、アドレス変換さ
れた結果が信号線D S、。
レスVA3とVA、を生成すると、アドレスVA、のア
ドレス情報A、とアドレスVA4のアドレス情報B、が
バッファDTLBへ供給され、同時に、アドレス変換さ
れた結果が信号線D S、。
DS、を介してデータ用のデータ選択回路DPS10D
PS、へ供給される。また、このとき同時にアドレスV
A、のアドレス情報A4とA、およびアドレスvA4の
アドレス情報B、とB5がデータ用のバンク選択回路D
CBへ供給される。バンク選択回路DCBはバンク選択
情報A、とB、に従ってアドレス情報A9.B、をアド
レス線DO8,〜DC83のいずれかへ供給するバンク
選択手段として構成されている。これにより、キャッシ
ュDC10DC,、DC,のいずれか2つのバンクから
データが読み出され、データ線DC,,DC,,DC,
ヘデータが出力される。この場合、アドレス情報Ast
B、が同一である場合には、バンク競合が発生したこ
とになるため、逐次的にそのバンクへアドレス情報A、
、B4が供給されることになる。 次に、データ用デー
タ選択回路DPS、、DPS、はそれぞれ信号線DSよ
、DS、およびアドレス情報A、、B、の情報に基づい
てデータ線DCD10DCD、、DCD、からのデータ
のうちいずれかのデータをそれぞれデータ線DD、、D
D、を介してプロセッサpi、 p、へデータを転送す
る。これによりプロセッサP、、P、が共に並列動作す
ることが可能となる。
PS、へ供給される。また、このとき同時にアドレスV
A、のアドレス情報A4とA、およびアドレスvA4の
アドレス情報B、とB5がデータ用のバンク選択回路D
CBへ供給される。バンク選択回路DCBはバンク選択
情報A、とB、に従ってアドレス情報A9.B、をアド
レス線DO8,〜DC83のいずれかへ供給するバンク
選択手段として構成されている。これにより、キャッシ
ュDC10DC,、DC,のいずれか2つのバンクから
データが読み出され、データ線DC,,DC,,DC,
ヘデータが出力される。この場合、アドレス情報Ast
B、が同一である場合には、バンク競合が発生したこ
とになるため、逐次的にそのバンクへアドレス情報A、
、B4が供給されることになる。 次に、データ用デー
タ選択回路DPS、、DPS、はそれぞれ信号線DSよ
、DS、およびアドレス情報A、、B、の情報に基づい
てデータ線DCD10DCD、、DCD、からのデータ
のうちいずれかのデータをそれぞれデータ線DD、、D
D、を介してプロセッサpi、 p、へデータを転送す
る。これによりプロセッサP、、P、が共に並列動作す
ることが可能となる。
次に、命令用データ選択回路IPS1.IPS。
の具体的構成を第4図に基づいて説明する。
第4図において、命令用アドレス変換バッファメモリI
TLBは仮想ページVPNと対応する物理ページPPN
から構成されており、3つのバンクに分割されたキャッ
シュIC,、IC,、IC。
TLBは仮想ページVPNと対応する物理ページPPN
から構成されており、3つのバンクに分割されたキャッ
シュIC,、IC,、IC。
は物理ページPPNと対応するデータdataで構成さ
れている。そしてデータ選択回路IPSLはコンパレー
タCMPI、CMP2.CMP3、セレクタAs、、D
S□、pslを備えて構成されており、データ選択回路
IPS、はコンパレータCMP4.CMP、、CMPい
セレクタAS、、DS、。
れている。そしてデータ選択回路IPSLはコンパレー
タCMPI、CMP2.CMP3、セレクタAs、、D
S□、pslを備えて構成されており、データ選択回路
IPS、はコンパレータCMP4.CMP、、CMPい
セレクタAS、、DS、。
DS8を備えて構成されている。
上記構成において、バッファメモリITLBにアドレス
情報A、、B0が入力されると、バッファメモリITL
Bからはアドレス変換情報ISよ。
情報A、、B0が入力されると、バッファメモリITL
Bからはアドレス変換情報ISよ。
IS、が出力される。そして、これらのアドレス情報に
従って各データ選択回路工PSI、IPS。
従って各データ選択回路工PSI、IPS。
が共に並列動作を実行する。すなわち1選択回路IPS
Iでは、アドレス情報IS、の一部である仮想ページV
PNの情報とアドレス情報へ〇がコンパレータCMP1
で比較され、アドレス変換が成功したか否かのチエツク
が行われる。このときキャッシュIC1,IC2,IC
3においては、バンク選択情報IC81,IC82,I
C8,を基に指定のキャッシュから物理ページPPNの
データがデータlCD1.ICD、、ICD、として出
力され、セレクタAS、、DS、・に入力される。セレ
クタDS1ではバンク選択情報A2を用いて当該バンク
の出力PPNをコンパレータCMPにも供給する。コン
パレータCMP、では、バッファメモリITLBの物理
ページPPNとセレクタAS。
Iでは、アドレス情報IS、の一部である仮想ページV
PNの情報とアドレス情報へ〇がコンパレータCMP1
で比較され、アドレス変換が成功したか否かのチエツク
が行われる。このときキャッシュIC1,IC2,IC
3においては、バンク選択情報IC81,IC82,I
C8,を基に指定のキャッシュから物理ページPPNの
データがデータlCD1.ICD、、ICD、として出
力され、セレクタAS、、DS、・に入力される。セレ
クタDS1ではバンク選択情報A2を用いて当該バンク
の出力PPNをコンパレータCMPにも供給する。コン
パレータCMP、では、バッファメモリITLBの物理
ページPPNとセレクタAS。
で選択されたキャッシュの物理ページPPNのデータを
比較し、両者のデータの内容が一致するか否かを判定し
、判定結果をコンパレータCMP3へ出力するようにな
っている。すなわち、コンパレータCMP2ではアドレ
スVA□に対応するデータがキャッシュ上に存在するか
否かを判定する判定手段を構成するようになっている。
比較し、両者のデータの内容が一致するか否かを判定し
、判定結果をコンパレータCMP3へ出力するようにな
っている。すなわち、コンパレータCMP2ではアドレ
スVA□に対応するデータがキャッシュ上に存在するか
否かを判定する判定手段を構成するようになっている。
次に、コンパレータCMP、では、アドレス変換とキャ
ッシュアクセスが共に成功したか否かの判定を行い、共
に成功したときにはセレクタPS1がセレクタDS1の
出力をデータ線ID、に出力し、失敗したときには主メ
モリ10からのデータをデータ線ID1へ出力する。
ッシュアクセスが共に成功したか否かの判定を行い、共
に成功したときにはセレクタPS1がセレクタDS1の
出力をデータ線ID、に出力し、失敗したときには主メ
モリ10からのデータをデータ線ID1へ出力する。
一方、キャッシュIC,〜ICaのデータdataはセ
レクタDS、に入力されており、アドレス情報A2によ
りいずれかのデータが選択されてセレクタPS1に供給
される。これによりセレクタPS。
レクタDS、に入力されており、アドレス情報A2によ
りいずれかのデータが選択されてセレクタPS1に供給
される。これによりセレクタPS。
はアドレスVA、に対応するデータをデータ線ID□へ
供給することができる。すなわちセレクタDS、、PS
、はデータ選択手段として構成されている。
供給することができる。すなわちセレクタDS、、PS
、はデータ選択手段として構成されている。
また、データ選択回路IPS、においても、データ選択
回路IPS1と並行して同様の処理が行われるようにな
っている。まず、アドレス情報IS2の情報が入力され
ると、仮想ページVPNの情報とアドレス情報B0がコ
ンパレータCMP、で比較され、その比較結果がコンパ
レータCMP。
回路IPS1と並行して同様の処理が行われるようにな
っている。まず、アドレス情報IS2の情報が入力され
ると、仮想ページVPNの情報とアドレス情報B0がコ
ンパレータCMP、で比較され、その比較結果がコンパ
レータCMP。
へ入力される。またアドレス変換情報IS、の残りの情
報である物理ページPPNの情報はコンパレータCMP
、へ供給されている。またキャッシュICよ、 I C
2,I C,の出力である物理ページPPNの情報とデ
ータdataの情報はそれぞれセレクタAS、、DS、
へ供給されており、バンク選択情報B2により対応する
物理ページPPNとデータdataがコンパレータCM
P、とセレクタPS、に供給されている。この結果、コ
ンパレータCMP、では、物理ページPPN同士の比較
が行われ、この比較結果がコンパレータCMP、へ出力
されるようになっている。そしてコンパレータCMP6
では、アドレス変換とキャッシュ上にデータが存在する
か否かの判定を行い、この判定結果に従ってセレクタP
S2を制御するようになっている。
報である物理ページPPNの情報はコンパレータCMP
、へ供給されている。またキャッシュICよ、 I C
2,I C,の出力である物理ページPPNの情報とデ
ータdataの情報はそれぞれセレクタAS、、DS、
へ供給されており、バンク選択情報B2により対応する
物理ページPPNとデータdataがコンパレータCM
P、とセレクタPS、に供給されている。この結果、コ
ンパレータCMP、では、物理ページPPN同士の比較
が行われ、この比較結果がコンパレータCMP、へ出力
されるようになっている。そしてコンパレータCMP6
では、アドレス変換とキャッシュ上にデータが存在する
か否かの判定を行い、この判定結果に従ってセレクタP
S2を制御するようになっている。
すなわち、コンパレータCMP、の出力がオンのときに
はセレクタDS、の出力をデータ線ID、へ出力し、オ
フのときには主メモリ10からのデータを読み込み、デ
ータ線ID、へ出力する。
はセレクタDS、の出力をデータ線ID、へ出力し、オ
フのときには主メモリ10からのデータを読み込み、デ
ータ線ID、へ出力する。
次に、データ用データ選択回路DPS1.DPS2の具
体的構成を第5図に示す。
体的構成を第5図に示す。
データ選択回路DPS工はコンパレータCMP、。
CMP、、CMP、、セレクタASa、DS3.PS、
を備えて構成されており、データ選択回路DPS、、コ
ンパレータCMP10、CMP1□、CMPl、、セレ
クタAs、、DS、、PS4を備えて構成されている。
を備えて構成されており、データ選択回路DPS、、コ
ンパレータCMP10、CMP1□、CMPl、、セレ
クタAs、、DS、、PS4を備えて構成されている。
そしてデータ用アドレス変換バッファメモリDTLBは
仮想ページVPNと対応する物理ページPPNから構成
されている。キャッシュは3個のキャッシュDC1,D
C,,DC,に分割されており、各キャッシュDC工〜
DC3は物理ページPPNと対応するデータdataで
構成されている。
仮想ページVPNと対応する物理ページPPNから構成
されている。キャッシュは3個のキャッシュDC1,D
C,,DC,に分割されており、各キャッシュDC工〜
DC3は物理ページPPNと対応するデータdataで
構成されている。
上記構成において、バッファメモリDTLBがアドレス
情報A、、B4を入力すると、メモリDTLBからはア
ドレス変換情報DSユ、DS2が出力される。そして、
これらのアドレス変換情報を基にデータ選択回路DPS
工、DPS2が共に並列動作を実行する。すなわち、デ
ータ選択回路DPS1では、アドレス変換情報DS1の
一部の情報である仮想ベージVPNの情報とアドレス情
報Aaの内容をコンパレータCMP、で比較し、アドレ
ス変換が成功したか否かの判定を行う、またこのときバ
ンク選択情報DO81〜DO8,に従っていずれかのキ
ャッシュから物理ベージPPNとデータdataの情報
が出力され、これらがそれぞれAs、。
情報A、、B4を入力すると、メモリDTLBからはア
ドレス変換情報DSユ、DS2が出力される。そして、
これらのアドレス変換情報を基にデータ選択回路DPS
工、DPS2が共に並列動作を実行する。すなわち、デ
ータ選択回路DPS1では、アドレス変換情報DS1の
一部の情報である仮想ベージVPNの情報とアドレス情
報Aaの内容をコンパレータCMP、で比較し、アドレ
ス変換が成功したか否かの判定を行う、またこのときバ
ンク選択情報DO81〜DO8,に従っていずれかのキ
ャッシュから物理ベージPPNとデータdataの情報
が出力され、これらがそれぞれAs、。
DS3へ入力される。そしてセレクタAS、では、バン
ク選択情報A、を用いて当該バンクの出力PPNをコン
パレータCMP、へ供給する。コンパレータCMP、で
は、バッファメモリDTLBからの情報とセレクタAS
、からの情報を比較し、各物理ページPPNの情報が一
致するか否かの判定を行う。すなわち、コンパレータC
MP、では、アドレスv3に対応するデータがキャッシ
ュ上に存在するか否かをチエツクする判定手断を構成す
るようになっている。
ク選択情報A、を用いて当該バンクの出力PPNをコン
パレータCMP、へ供給する。コンパレータCMP、で
は、バッファメモリDTLBからの情報とセレクタAS
、からの情報を比較し、各物理ページPPNの情報が一
致するか否かの判定を行う。すなわち、コンパレータC
MP、では、アドレスv3に対応するデータがキャッシ
ュ上に存在するか否かをチエツクする判定手断を構成す
るようになっている。
次に、コンパレータCMP、では、コンパレータCMP
、、CMP、の出力を基に、アドレス変換とキャッシュ
アクセスが共に成功したか否かを判定し、この判定結果
をセレクタPS3へ出力する。
、、CMP、の出力を基に、アドレス変換とキャッシュ
アクセスが共に成功したか否かを判定し、この判定結果
をセレクタPS3へ出力する。
そしてセレクタPS、は、コンパレータCMP、の判定
結果が肯定のとき、すなわちアドレス変換とキャッシュ
アクセスが共に成功したときには、セレクタDS、で選
択されたデータをデータ線DD1へ出力し、否定の判定
結果が得られたとき、すなわち、失敗時には、主メモリ
10からのデータを読み込んでデータ線DD、へ出力す
る。
結果が肯定のとき、すなわちアドレス変換とキャッシュ
アクセスが共に成功したときには、セレクタDS、で選
択されたデータをデータ線DD1へ出力し、否定の判定
結果が得られたとき、すなわち、失敗時には、主メモリ
10からのデータを読み込んでデータ線DD、へ出力す
る。
一方、キャッシュDC,〜DC3のいずれかが選択され
たときには、いずれかのキャッシュからのデータがセレ
クタDS□に入力され、アドレス情報A、に従って指定
のデータがセレクタPS、へ供給される。これによりセ
レクタPS3はアドレスVA3に対応するデータをデー
タ線DD1へ供給することができる。
たときには、いずれかのキャッシュからのデータがセレ
クタDS□に入力され、アドレス情報A、に従って指定
のデータがセレクタPS、へ供給される。これによりセ
レクタPS3はアドレスVA3に対応するデータをデー
タ線DD1へ供給することができる。
また、データ選択回路DPS2においても、データ選択
回路DPS1と並行して同様の処理が行われる。まず、
アドレス変換情報DS、の一部の情報である物理ページ
VPNの情報とアドレス情報B、とをコンパレータCM
P1aで比較し、この比較結果をコンパレータCMPよ
、へ出力する。またアドレス変換情報DS、の他の情報
である物理ページPPNの情報がコンパレータCMP1
□へ入力され、セレクタAS4からの情報と比較される
。
回路DPS1と並行して同様の処理が行われる。まず、
アドレス変換情報DS、の一部の情報である物理ページ
VPNの情報とアドレス情報B、とをコンパレータCM
P1aで比較し、この比較結果をコンパレータCMPよ
、へ出力する。またアドレス変換情報DS、の他の情報
である物理ページPPNの情報がコンパレータCMP1
□へ入力され、セレクタAS4からの情報と比較される
。
またキャッシュDC,〜DCaの出力であるPPNとデ
ータdataはそれぞれセレクタAS4.DS、に入力
されており、バンク選択情報B5によって対応する物理
ページPPNの情報とデータdataの情報がコンパレ
ータCMPi、に供給される。そしてコンパレータCM
P11でバッファメモリDTLBの物理ページPPNの
情報とキャッシュの物理ページPPNの情報が一致した
ことが判定されると、セレクタAS4で選択されたデー
タがコンパレータCMP1.へ供給される。コンパレー
タCM P t xでアドレス変換が成功し、キャッシ
ュ上にデータが存在することが判定されたときには、コ
ンパレータCMP1.において両者の内容が一致すると
判定され、この判定結果がセレクタPS4へ供給される
。このセレクタPS、には、セレクタDS、からのデー
タが入力されている。バンク選択情報B、に従ってキャ
ッシュDC1〜DC,のいずれかのデータdataが選
択されると、この選択されたデータがコンパレータCM
P、2がオンになったときにセレクタDS、の選択によ
るデータがデータ線DD、へ出力される。一方、コンパ
レータCMP□、がオフのときには、主メモリ1oから
アドレスVA4に対応するデータが読み込まれデータ線
DD2へ出力される。これにより各プロセッサP10P
tは並列動作が可能となる。
ータdataはそれぞれセレクタAS4.DS、に入力
されており、バンク選択情報B5によって対応する物理
ページPPNの情報とデータdataの情報がコンパレ
ータCMPi、に供給される。そしてコンパレータCM
P11でバッファメモリDTLBの物理ページPPNの
情報とキャッシュの物理ページPPNの情報が一致した
ことが判定されると、セレクタAS4で選択されたデー
タがコンパレータCMP1.へ供給される。コンパレー
タCM P t xでアドレス変換が成功し、キャッシ
ュ上にデータが存在することが判定されたときには、コ
ンパレータCMP1.において両者の内容が一致すると
判定され、この判定結果がセレクタPS4へ供給される
。このセレクタPS、には、セレクタDS、からのデー
タが入力されている。バンク選択情報B、に従ってキャ
ッシュDC1〜DC,のいずれかのデータdataが選
択されると、この選択されたデータがコンパレータCM
P、2がオンになったときにセレクタDS、の選択によ
るデータがデータ線DD、へ出力される。一方、コンパ
レータCMP□、がオフのときには、主メモリ1oから
アドレスVA4に対応するデータが読み込まれデータ線
DD2へ出力される。これにより各プロセッサP10P
tは並列動作が可能となる。
第6図は命令用のアドレス変換バッファとキャッシュを
含むメモリ50−1・・・50−nを1り一ド1ライト
ポートメモリで構成し、データ用のアドレス変換バッフ
ァメモリ12Aをmリード1ライトポートメモリで構成
し、データ用のキャッシュ14A−1・・・14A−m
をm個のバンクに分割し、各バンクを1リード1ライト
メモリで構成し、各メモリ50−1〜50−nをマルチ
プレクサ48に接続し、このマルチプレクサ48の出力
とバッファメモリ12Aとキャッシュメモリ14A−1
・・・14A−mをマルチプレクサ46で接続し。
含むメモリ50−1・・・50−nを1り一ド1ライト
ポートメモリで構成し、データ用のアドレス変換バッフ
ァメモリ12Aをmリード1ライトポートメモリで構成
し、データ用のキャッシュ14A−1・・・14A−m
をm個のバンクに分割し、各バンクを1リード1ライト
メモリで構成し、各メモリ50−1〜50−nをマルチ
プレクサ48に接続し、このマルチプレクサ48の出力
とバッファメモリ12Aとキャッシュメモリ14A−1
・・・14A−mをマルチプレクサ46で接続し。
マルチプレクサ46を主メモリ10に接続したものであ
る。
る。
本実施例によれば、一般に命令用キャッシュメモリは書
き換えることが少いため、命令用キャッシュを高価なマ
ルチポートメモリで構成する必要がないので、部品コス
トの低減に寄与することができる。
き換えることが少いため、命令用キャッシュを高価なマ
ルチポートメモリで構成する必要がないので、部品コス
トの低減に寄与することができる。
第7図は、複数のプロセッサP□・・・Pnをデータ処
理装置22に実装する場合、各プロセッサの入出力側に
マルチプレクサ54.56を配置し、各プロセッサと命
令用キャッシュメモリICとデータ用キャッシュメモリ
DCとをマルチプレクサ54.56を介して接続し、命
令用アドレス変換バッファメモリITLB、命令用キャ
ッシュメモリIC,データ用アドレス変換バッファメモ
リDTLB、データ用キャッシュメモリDCをそれぞれ
マルチプレクサ52を介して主メモリ10と接続する構
成を採用すれば、各プロセッサから各キャッシュメモリ
へのアクセスを並列して行うことができると共に、主メ
モリ10に対するアクセスをマルチ処理に従って行うこ
とができる。
理装置22に実装する場合、各プロセッサの入出力側に
マルチプレクサ54.56を配置し、各プロセッサと命
令用キャッシュメモリICとデータ用キャッシュメモリ
DCとをマルチプレクサ54.56を介して接続し、命
令用アドレス変換バッファメモリITLB、命令用キャ
ッシュメモリIC,データ用アドレス変換バッファメモ
リDTLB、データ用キャッシュメモリDCをそれぞれ
マルチプレクサ52を介して主メモリ10と接続する構
成を採用すれば、各プロセッサから各キャッシュメモリ
へのアクセスを並列して行うことができると共に、主メ
モリ10に対するアクセスをマルチ処理に従って行うこ
とができる。
第8図にはプロセッサiの内部構成が示されている。
本実施例におけるプロセッサは、2つの命令デコーダD
EC1,DEC2,2つの演算器ALtJ、。
EC1,DEC2,2つの演算器ALtJ、。
ALU、、4出力2人カタイプのレジスタファイルRF
、第1メモリアドレスレジスタMAR,、第1メモリデ
ータレジスタMDR1、第2メモリアドレスレジスタM
AR,、第2メモリデータレジスタMDR,、レジスタ
MAR,、MAR2がそれぞれアドレス線A10、A、
1に接続され、レジスタMDR1,MDR2がそれぞれ
データ線D i II IDoに接続され、デコーダD
ECIがIBRlを介してアドレス線A10に接続され
、デコーダDEC2がIBR,を介してデータ線D11
に接続されている。
、第1メモリアドレスレジスタMAR,、第1メモリデ
ータレジスタMDR1、第2メモリアドレスレジスタM
AR,、第2メモリデータレジスタMDR,、レジスタ
MAR,、MAR2がそれぞれアドレス線A10、A、
1に接続され、レジスタMDR1,MDR2がそれぞれ
データ線D i II IDoに接続され、デコーダD
ECIがIBRlを介してアドレス線A10に接続され
、デコーダDEC2がIBR,を介してデータ線D11
に接続されている。
本実施例におけるプロセッサは、内蔵する2つの演算器
ALtJ、、ALU、がレジスタMAR,。
ALtJ、、ALU、がレジスタMAR,。
MAR,を用いて独立にメモリをアクセスすることがで
きる。このため、単一のプロセッサが同時に複数の命令
を処理し、かつ複数のプロセッサが並列処理を実行する
ことができ、データの処理速度の向上に寄与することが
できる。
きる。このため、単一のプロセッサが同時に複数の命令
を処理し、かつ複数のプロセッサが並列処理を実行する
ことができ、データの処理速度の向上に寄与することが
できる。
以上説明したように、本発明によれば、アドレス変換バ
ッファメモリのリードポートをマルチポートで構成する
と共にキャッシュメモリを複数のバンクに分割し、複数
のプロセッサによるアクセスを並列に実行することがで
きるようにしたため、複数のプロセッサ間で共有データ
が多く存在する場合でも、キャッシュメモリのヒツト率
を高めることができ、複数のプロセッサによる並列処理
が可能となり、データの処理速度の向上に寄与すること
ができる。またキャッシュメモリをI U−ド1ライト
ボートメモリで構成すれば、チップサイズを小さくする
ことが可能となる。
ッファメモリのリードポートをマルチポートで構成する
と共にキャッシュメモリを複数のバンクに分割し、複数
のプロセッサによるアクセスを並列に実行することがで
きるようにしたため、複数のプロセッサ間で共有データ
が多く存在する場合でも、キャッシュメモリのヒツト率
を高めることができ、複数のプロセッサによる並列処理
が可能となり、データの処理速度の向上に寄与すること
ができる。またキャッシュメモリをI U−ド1ライト
ボートメモリで構成すれば、チップサイズを小さくする
ことが可能となる。
第1図は本発明の一実施例を示すデータ処理装置の全体
構成図、第2図は2リード1ライトボートメモリの構成
図、第3図はnリード1ライトポートメモリの構成図、
第4図は命令用データ選択回路の具体的構成図、第5図
はデータ選択回路の具体的構成図、第6図はデータ用ア
ドレス変換バッファにマルチポートメモリを使用したと
きの構成図、第7図は普通のプロセッサをマルチプレク
サを介して主メモリに接続する場合の構成図、第8図は
プロセッサの具体的構成図である。 10・・・主メモリ、12・・・アドレス変換バッファ
メモリ、14−1・・・14−n・・・1リード1ライ
トキヤツシユメモリ、16・・・バンク選択回路、18
−1・・・18−n・・・データ選択回路、20−1・
・・20−n・・・プロセッサ、22・・・データ処理
装置。
構成図、第2図は2リード1ライトボートメモリの構成
図、第3図はnリード1ライトポートメモリの構成図、
第4図は命令用データ選択回路の具体的構成図、第5図
はデータ選択回路の具体的構成図、第6図はデータ用ア
ドレス変換バッファにマルチポートメモリを使用したと
きの構成図、第7図は普通のプロセッサをマルチプレク
サを介して主メモリに接続する場合の構成図、第8図は
プロセッサの具体的構成図である。 10・・・主メモリ、12・・・アドレス変換バッファ
メモリ、14−1・・・14−n・・・1リード1ライ
トキヤツシユメモリ、16・・・バンク選択回路、18
−1・・・18−n・・・データ選択回路、20−1・
・・20−n・・・プロセッサ、22・・・データ処理
装置。
Claims (1)
- 【特許請求の範囲】 1、アドレス情報を出力する複数のプロセッサと、少く
とも複数のリードポートを有し各プロセッサからのアド
レス情報を指定のアドレスに変換するアドレス変換バッ
ファと、データ格納エリアが複数のバンクに分割された
キャッシュメモリと、各プロセッサからのアドレス情報
により指定のバンクを選択するバンク選択手段と、バン
ク選択手段により選択されたバンク内にデータが存在す
るか否かを各プロセッサのアドレス情報とアドレス変換
バッファの出力情報に従って判定する判定手段と、判定
手段により肯定の判定結果が得られたときにバンク選択
手段により選択されたバンク内のデータを指定のプロセ
ッサへ転送するデータ選択手段とを備えているデータ処
理装置。 2、アドレス情報を出力する複数のプロセッサと、少く
とも複数のリードポートを有し各プロッセサからの命令
用アドレス情報を指定の命令用アドレスに変換する命令
用アドレス変換バッファと、少くとも複数のリードポー
トを有し各プロセッサからのデータ用アドレス情報を指
定のデータ用アドレスに変換するデータ用アドレス変換
バッファと、データ格納エリアが複数の命令用バンクに
分割された命令用キャッシュメモリと、データ格納エリ
アが複数のデータ用バンクに分割されたデータ用キャッ
シュメモリと、各プロセッサからの命令用アドレス情報
により指定の命令用バンクを選択する命令用バンク選択
手段と、各プロセッサからのデータ用アドレス情報によ
り指定のデータ用バンクを選択するデータ用バンク選択
手段と、命令用バンク選択手段により選択されたバンク
内にデータが存在するか否かをプロセッサからの命令用
アドレス情報と命令用アドレス変換バッファの出力情報
に従って判定する命令用判定手段と、データ用バンク選
択手段により選択されたバンク内にデータが存在するか
否かをプロセッサからのデータ用アドレス情報とデータ
用アドレス変換バッファの出力情報に従って判定するデ
ータ用判定手段と、命令用判定手段により肯定の判定結
果が得られたときに命令用バンク選択手段により選択さ
れたバンク内のデータを指定のプロセッサへ転送する命
令用データ選択手段と、データ用判定手段により肯定の
判定結果が得られたときにデータ用バンク選択手段によ
り選択されたバンク内のデータを指定のプロセッサへ転
送するデータ用データ選択手段とを備えているデータ処
理装置。 3、アドレス変換バッファのアドレス変換領域は仮想ペ
ージと物理ページに分割され、キャッシュメモリのメモ
リ領域は物理ページとデータに分割されており、バンク
選択手段は各プロセッサからのアドレス情報により指定
のバンクの物理ページの情報を選択する第1セレクタで
構成され、判定手段は各プロセッサからのアドレス情報
とアドレス変換バッファの仮想ページの情報とを比較し
てアドレス変換が成功したか否かを判定する第1コンパ
レータと、第1セレクタの出力情報とアドレス変換バッ
ファの物理ページの情報とを比較して物理ページのデー
タがキャッシュ内に存在するか否かを判定する第2コン
パレータと、第1コンパレータと第2コンパレータから
共に肯定の判定結果が得られたか否かを判定する第3コ
ンパレータから構成され、データ選択手段は、各プロセ
ッサからのアドレス情報により指定のバンク内のデータ
を選択する第2セレクタと、第3コンパレータから肯定
の判定結果が出力されたときに第2セレクタの選択によ
るデータを指定のプロセッサへ転送する第3セレクタと
から構成されているデータ処理装置。 4、バンク選択手段は、バンクの指定が複数のプロセッ
サ間で重複したときには、指定の優先順位に従ってバン
クを選択してなる請求項1、2または3記載のデータ処
理装置。 5、アドレス変換バッファは複数のリードポートと少く
とも1つのライトポートを備えている請求項1、2、3
または4記載のデータ処理装置。 6、キャッシュメモリの各バンクは1リードポート1ラ
イトポートメモリで構成されている請求項5記載のデー
タ処理装置。 7、命令用アドレス変換バッファと命令用キャッシュメ
モリは1リードポート1ライトポートを備え、データ用
アドレス変換バッファは複数のリードポートと少くとも
1つのライトポートを備えて構成されている請求項2記
載のデータ処理装置。 8、各プロセッサは、複数の演算器と、アドレス線とデ
ータ線に接続された複数の命令デコーダと、各プロセッ
サと情報の授受を行う複数ポートのレジスタファイルと
、各演算器とレジスタファイルに接続された複数のメモ
リアドレスレジスタと、各演算器とレジスタファイルに
接続された複数のメモリデータレジスタとから構成され
ている請求項1〜7のうちいずれか1つの項に記載のデ
ータ処理装置。 9、各構成要素が単一の半導体集積回路基板上に実装さ
れている請求項1〜8のうちいずれか1つの項に記載の
データ処理装置。 10、データ処理装置と主メモリとがアドレス線とデー
タ線を含むバスラインを介して接続されているデータ処
理システムにおいて、請求項1〜9のうちいずれか1つ
の項に記載のデータ処理装置にマルチプレクサを設け、
アドレス変換バッファと主メモリとをマルチプレクサを
介して接続し、キャッシュメモリと主メモリとをマルチ
プレクサを介して接続してなるデータ処理システム。 11、データ選択手段は、判定手段により否定の判定結
果が得られたときに主メモリからのデータを特定のプロ
セッサへ転送してなる請求項10記載のデータ処理シス
テム。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2237666A JPH04117540A (ja) | 1990-09-07 | 1990-09-07 | データ処理装置およびデータ処理システム |
| DE4129614A DE4129614C2 (de) | 1990-09-07 | 1991-09-06 | System und Verfahren zur Datenverarbeitung |
| KR1019910015611A KR100249148B1 (ko) | 1990-09-07 | 1991-09-07 | 데이터처리 시스템 및 방법 |
| US08/367,928 US5784630A (en) | 1990-09-07 | 1995-01-03 | Method and apparatus for processing data in multiple modes in accordance with parallelism of program by using cache memory |
| US08/923,632 US5968160A (en) | 1990-09-07 | 1997-09-04 | Method and apparatus for processing data in multiple modes in accordance with parallelism of program by using cache memory |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2237666A JPH04117540A (ja) | 1990-09-07 | 1990-09-07 | データ処理装置およびデータ処理システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04117540A true JPH04117540A (ja) | 1992-04-17 |
Family
ID=17018709
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2237666A Pending JPH04117540A (ja) | 1990-09-07 | 1990-09-07 | データ処理装置およびデータ処理システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04117540A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6038647A (en) * | 1995-12-06 | 2000-03-14 | Fujitsu Limited | Cache memory device and method for providing concurrent independent multiple accesses to different subsets within the device |
| US6292870B1 (en) | 1997-08-29 | 2001-09-18 | Fijitsu Limited | Information processing system in which memory devices and copies of tags are accessed in response to access requests issued from plurality of processing units |
-
1990
- 1990-09-07 JP JP2237666A patent/JPH04117540A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6038647A (en) * | 1995-12-06 | 2000-03-14 | Fujitsu Limited | Cache memory device and method for providing concurrent independent multiple accesses to different subsets within the device |
| US6292870B1 (en) | 1997-08-29 | 2001-09-18 | Fijitsu Limited | Information processing system in which memory devices and copies of tags are accessed in response to access requests issued from plurality of processing units |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5784630A (en) | Method and apparatus for processing data in multiple modes in accordance with parallelism of program by using cache memory | |
| US5796605A (en) | Extended symmetrical multiprocessor address mapping | |
| US5953748A (en) | Processor with an efficient translation lookaside buffer which uses previous address computation results | |
| US6738890B2 (en) | Data processor | |
| US5754877A (en) | Extended symmetrical multiprocessor architecture | |
| US5375215A (en) | Multiprocessor system having shared memory divided into a plurality of banks with access queues corresponding to each bank | |
| US6279087B1 (en) | System and method for maintaining coherency and improving performance in a bus bridge supporting write posting operations | |
| US7054985B2 (en) | Multiple hardware partitions under one input/output hub | |
| US6446181B1 (en) | System having a configurable cache/SRAM memory | |
| EP0817095B1 (en) | Extended symmetrical multiprocessor architecture | |
| JPH04117540A (ja) | データ処理装置およびデータ処理システム | |
| US6298355B1 (en) | Computer system | |
| EP0924621A2 (en) | Computer system including bridge logic having a fair arbitration mechanism to support isochronous devices | |
| JP2813182B2 (ja) | マルチプロセッサコンピュータ複合装置 | |
| JPH08153039A (ja) | 半導体メモリ装置、及び、それを用いた情報処理装置 | |
| JP2000148589A (ja) | メモリ管理装置、方法及びプログラムを記憶した記憶媒体 | |
| JPH05158793A (ja) | 並列キャッシュメモリ | |
| EP0924620A2 (en) | Computer system including a bus bridge implementing adaptive speculative read operations | |
| JP2596637B2 (ja) | キャッシュ制御方式 | |
| JPH06324999A (ja) | マルチプロセッサシステム | |
| CA1299293C (en) | Address transform method and apparatus for transferring addresses | |
| JPH04156620A (ja) | 仮想計算機システム | |
| JPH0816477A (ja) | マルチプロセッサシステム | |
| JPH11328013A (ja) | メモリ制御装置 | |
| JPH041373B2 (ja) |