JPH08227381A - メモリシステムおよびこのシステムにアクセスする方法 - Google Patents
メモリシステムおよびこのシステムにアクセスする方法Info
- Publication number
- JPH08227381A JPH08227381A JP7288842A JP28884295A JPH08227381A JP H08227381 A JPH08227381 A JP H08227381A JP 7288842 A JP7288842 A JP 7288842A JP 28884295 A JP28884295 A JP 28884295A JP H08227381 A JPH08227381 A JP H08227381A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- identification
- bus
- coupled
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Abstract
(57)【要約】 (修正有)
【課題】 複数キャッシュメモリアクセスの効率を改善
する。 【解決手段】 CPUからメモリアドレスおよびメモリ
リクエストが発生されると、各キャッシュメモリデバイ
ス内に配置された各コントローラ回路は各々に固有な識
別番号を受信するように結合される。コントローラ回路
は、固有な識別番号と所定のアドレスビットとを比較
し、両者が一致した場合、コントローラ回路は制御信号
を発生し、そのキャッシュメモリをイネーブルし、メイ
ンメモリアドレスに対応するキャッシュメモリロケーシ
ョンでメモリオペレーションを実行させる。識別番号と
アドレスビットが一致しない場合、コントローラ回路
は、メモリをイネーブルする制御信号は発生せず、キャ
ッシュメモリ内の出力ドライバ回路をディスエーブルす
る。
する。 【解決手段】 CPUからメモリアドレスおよびメモリ
リクエストが発生されると、各キャッシュメモリデバイ
ス内に配置された各コントローラ回路は各々に固有な識
別番号を受信するように結合される。コントローラ回路
は、固有な識別番号と所定のアドレスビットとを比較
し、両者が一致した場合、コントローラ回路は制御信号
を発生し、そのキャッシュメモリをイネーブルし、メイ
ンメモリアドレスに対応するキャッシュメモリロケーシ
ョンでメモリオペレーションを実行させる。識別番号と
アドレスビットが一致しない場合、コントローラ回路
は、メモリをイネーブルする制御信号は発生せず、キャ
ッシュメモリ内の出力ドライバ回路をディスエーブルす
る。
Description
【0001】
【発明の属する技術分野】本発明は、メモリシステムに
関し、より詳細にはコンピュータシステムその他の電子
デバイスで使用され得るキャッシュメモリ内の情報をア
ドレス指定し、この情報にアクセスするための方法およ
び装置に関する。
関し、より詳細にはコンピュータシステムその他の電子
デバイスで使用され得るキャッシュメモリ内の情報をア
ドレス指定し、この情報にアクセスするための方法およ
び装置に関する。
【0002】
【従来技術】中央処理ユニット(CPU)に対するメモ
リアクセス平均時間を改善するため、このプロセッサに
結合された「キャッシュメモリ」と称される高速バッフ
ァメモリを利用することは、データ処理システムの多く
で行われている一般的なやり方である。キャッシュメモ
リの利用は、データ処理システムがある時間中にメモリ
の所定の局部的エリアに頻繁にアクセスするという前提
に基づくものである。このキャッシュメモリは一般に、
メインメモリに配置された全データセットのうちのサブ
(部分)セットを含み、このキャッシュメモリはメイン
メモリにアクセスすることなくCPUによって極めて高
速にアクセスできる。データおよびインストラクション
がプログラムによって使用される際、メインメモリから
検索され、キャッシュメモリに入れられる場合、および
システムがまずキャッシュメモリを見て必要な情報がそ
こで入手できるかどうかを判断する場合、システムはキ
ャッシュメモリ内で所望する情報を探すことが多く、よ
って、より高速で作動することとなる。統計的には、プ
ロセスのうちの特定部分で使用されたばかりの情報の方
が、近い時点で使用されていない他の情報よりもすぐに
必要となる可能性が高いので、性能上の利点が得られ
る。
リアクセス平均時間を改善するため、このプロセッサに
結合された「キャッシュメモリ」と称される高速バッフ
ァメモリを利用することは、データ処理システムの多く
で行われている一般的なやり方である。キャッシュメモ
リの利用は、データ処理システムがある時間中にメモリ
の所定の局部的エリアに頻繁にアクセスするという前提
に基づくものである。このキャッシュメモリは一般に、
メインメモリに配置された全データセットのうちのサブ
(部分)セットを含み、このキャッシュメモリはメイン
メモリにアクセスすることなくCPUによって極めて高
速にアクセスできる。データおよびインストラクション
がプログラムによって使用される際、メインメモリから
検索され、キャッシュメモリに入れられる場合、および
システムがまずキャッシュメモリを見て必要な情報がそ
こで入手できるかどうかを判断する場合、システムはキ
ャッシュメモリ内で所望する情報を探すことが多く、よ
って、より高速で作動することとなる。統計的には、プ
ロセスのうちの特定部分で使用されたばかりの情報の方
が、近い時点で使用されていない他の情報よりもすぐに
必要となる可能性が高いので、性能上の利点が得られ
る。
【0003】従来技術は種々のキャッシング(高速バッ
ファ)システムを教示しており、あるタイプのキャッシ
ングシステムでは、キャッシュメモリデバイスとCPU
の双方がシステムバスに結合されている。CPUは、シ
ステムバスを通してキャッシュメモリにメモリリクエス
トを発生する。リクエストされたデータおよび/または
インストラクションがキャッシュメモリ内で見つかるよ
うな「ヒット」(当たり)がある場合、情報はキャッシ
ュメモリから取出され、システムバスを通してCPUへ
送られる。キャッシュメモリ内で所望の情報が見つから
ない場合、この情報はメインメモリから得なければなら
ない。当技術分野では、メインメモリにアクセスする手
順は周知であるので、本明細書ではこれ以上説明しな
い。他のシステムでは、CPUとキャッシュメモリとを
単一の半導体デバイス(チップ)に設けるような同様の
方法が利用されている。
ファ)システムを教示しており、あるタイプのキャッシ
ングシステムでは、キャッシュメモリデバイスとCPU
の双方がシステムバスに結合されている。CPUは、シ
ステムバスを通してキャッシュメモリにメモリリクエス
トを発生する。リクエストされたデータおよび/または
インストラクションがキャッシュメモリ内で見つかるよ
うな「ヒット」(当たり)がある場合、情報はキャッシ
ュメモリから取出され、システムバスを通してCPUへ
送られる。キャッシュメモリ内で所望の情報が見つから
ない場合、この情報はメインメモリから得なければなら
ない。当技術分野では、メインメモリにアクセスする手
順は周知であるので、本明細書ではこれ以上説明しな
い。他のシステムでは、CPUとキャッシュメモリとを
単一の半導体デバイス(チップ)に設けるような同様の
方法が利用されている。
【0004】図1には、1つの代表的な従来技術のシス
テムが示されている。図示するように、複数のキャッシ
ュメモリ14、16、18および20と通信するための
バス12にCPUが結合されている。キャッシュメモリ
の各々はバス12に結合され、キャッシュメモリがCP
U10からのメモリオペレーションリクエストを受信で
きるようになっている。図に示すように、システムバス
12およびキャッシュメモリの各々にも論理制御回路2
2が結合されている。この論理制御回路22はキャッシ
ュメモリの各々からのデータ出力ライン26、28、3
0および32と同じように、出力選択マルチプレクサ2
4にも結合されている。作動中、CPU10はメモリア
ドレスと組み合わされたメモリリクエスト、例えば読み
出しリクエストまたは書き込みリクエストを発生する
が、この手順は従来技術では周知である。しかしなが
ら、図1に示したシステムを混乱を生じることなく明瞭
に理解できるように説明すると、論理制御回路22はメ
モリリクエストが送られる特定のキャッシュメモリデバ
イスに対しチップ選択信号(CS)を与えなければなら
ない。キャッシュメモリ14、16、18および20の
各々はバス12に結合されているので、各々のメモリは
CPUから送られるメモリリクエストおよびアドレスを
検出する。論理制御回路はメモリリクエストを検出し、
リクエストのアドレスに応じ、選択されたメモリデバイ
スにチップ選択信号を発生することにより、適当なキャ
ッシュメモリをイネーブルしなければならない。従っ
て、論理制御回路22は、CPU10が発生した特定の
メモリリクエストにキャッシュメモリのうちのどのメモ
リが応答すべきかを決定する。論理制御回路22は、出
力選択マルチプレクサ24に、応答するキャッシュメモ
リの出力をバス12に結合させ、CPU10によって受
信できるようにする。
テムが示されている。図示するように、複数のキャッシ
ュメモリ14、16、18および20と通信するための
バス12にCPUが結合されている。キャッシュメモリ
の各々はバス12に結合され、キャッシュメモリがCP
U10からのメモリオペレーションリクエストを受信で
きるようになっている。図に示すように、システムバス
12およびキャッシュメモリの各々にも論理制御回路2
2が結合されている。この論理制御回路22はキャッシ
ュメモリの各々からのデータ出力ライン26、28、3
0および32と同じように、出力選択マルチプレクサ2
4にも結合されている。作動中、CPU10はメモリア
ドレスと組み合わされたメモリリクエスト、例えば読み
出しリクエストまたは書き込みリクエストを発生する
が、この手順は従来技術では周知である。しかしなが
ら、図1に示したシステムを混乱を生じることなく明瞭
に理解できるように説明すると、論理制御回路22はメ
モリリクエストが送られる特定のキャッシュメモリデバ
イスに対しチップ選択信号(CS)を与えなければなら
ない。キャッシュメモリ14、16、18および20の
各々はバス12に結合されているので、各々のメモリは
CPUから送られるメモリリクエストおよびアドレスを
検出する。論理制御回路はメモリリクエストを検出し、
リクエストのアドレスに応じ、選択されたメモリデバイ
スにチップ選択信号を発生することにより、適当なキャ
ッシュメモリをイネーブルしなければならない。従っ
て、論理制御回路22は、CPU10が発生した特定の
メモリリクエストにキャッシュメモリのうちのどのメモ
リが応答すべきかを決定する。論理制御回路22は、出
力選択マルチプレクサ24に、応答するキャッシュメモ
リの出力をバス12に結合させ、CPU10によって受
信できるようにする。
【0005】
【発明が解決しようとする課題】論理制御回路22及び
出力選択マルチプレクサ24を一緒にして、一般にグル
ー(glue)論理回路という。このグルー論理回路
は、システムにおける信号の遅延時間を長くすることで
システムの性能を低下させ、別の半導体部品を必要とす
ることでメモリシステムのコストを増している。
出力選択マルチプレクサ24を一緒にして、一般にグル
ー(glue)論理回路という。このグルー論理回路
は、システムにおける信号の遅延時間を長くすることで
システムの性能を低下させ、別の半導体部品を必要とす
ることでメモリシステムのコストを増している。
【0006】本発明の課題は、上記従来技術のシステム
の限界を克服するキャッシュメモリシステムおよび方法
を提供することである。本発明は、従来技術の方法でこ
れまで必要であった外部のグルー論理回路によって生じ
た性能の低下を引き起こすことなく、カスケード接続さ
れたキャッシュメモリデバイスを使用することにより、
キャッシュメモリサイズをもっと大きくするものであ
る。
の限界を克服するキャッシュメモリシステムおよび方法
を提供することである。本発明は、従来技術の方法でこ
れまで必要であった外部のグルー論理回路によって生じ
た性能の低下を引き起こすことなく、カスケード接続さ
れたキャッシュメモリデバイスを使用することにより、
キャッシュメモリサイズをもっと大きくするものであ
る。
【0007】
【課題を解決するための手段】本発明は、キャッシュメ
モリサイズをより大きくするのに、キャッシュメモリデ
バイスをカスケード接続した、データ処理システム内で
使用するための特定の用途を有する改良されたキャッシ
ュメモリを提供するものである。本発明は、バスに結合
された中央処理ユニット(CPU)を含み、CPUから
のメモリリクエストを受信するため、このバスには複数
のキャッシュメモリデバイスが結合されている。キャッ
シュメモリデバイスの各々は、コントローラ回路に結合
されたキャッシュメモリを含む。コントローラ回路は、
CPUによってリクエストされたメモリオペレーション
をキャッシュメモリが実行できるようにする制御信号を
発生する。このコントローラ回路は、CPUが発生した
メモリアドレスおよびメモリリクエストを含む所定のア
ドレスビットを受信するように結合されている。各キャ
ッシュメモリデバイス内に配置されたコントローラ回路
の各々は、更にバスに結合されてキャッシュメモリデバ
イスの各々に固有の識別番号を受信するようになってい
る。キャッシュメモリデバイスの各々に配置されたコン
トローラ回路は、固有の識別番号と所定のアドレスビッ
トとを比較し、この識別番号と所定のアドレスビットと
が一致すれば、コントローラ回路は、メインメモリアド
レスに対応するキャッシュメモリロケーション(記憶位
置)でCPUがリクエストしたメモリオペレーションを
実行するように、そのキャッシュメモリをイネーブル状
態とする制御信号を発生する。
モリサイズをより大きくするのに、キャッシュメモリデ
バイスをカスケード接続した、データ処理システム内で
使用するための特定の用途を有する改良されたキャッシ
ュメモリを提供するものである。本発明は、バスに結合
された中央処理ユニット(CPU)を含み、CPUから
のメモリリクエストを受信するため、このバスには複数
のキャッシュメモリデバイスが結合されている。キャッ
シュメモリデバイスの各々は、コントローラ回路に結合
されたキャッシュメモリを含む。コントローラ回路は、
CPUによってリクエストされたメモリオペレーション
をキャッシュメモリが実行できるようにする制御信号を
発生する。このコントローラ回路は、CPUが発生した
メモリアドレスおよびメモリリクエストを含む所定のア
ドレスビットを受信するように結合されている。各キャ
ッシュメモリデバイス内に配置されたコントローラ回路
の各々は、更にバスに結合されてキャッシュメモリデバ
イスの各々に固有の識別番号を受信するようになってい
る。キャッシュメモリデバイスの各々に配置されたコン
トローラ回路は、固有の識別番号と所定のアドレスビッ
トとを比較し、この識別番号と所定のアドレスビットと
が一致すれば、コントローラ回路は、メインメモリアド
レスに対応するキャッシュメモリロケーション(記憶位
置)でCPUがリクエストしたメモリオペレーションを
実行するように、そのキャッシュメモリをイネーブル状
態とする制御信号を発生する。
【0008】識別番号が所定のアドレスビットと一致し
なければ、メモリコントローラ回路は、メモリオペレー
ションを実行するようにメモリをイネーブル状態とする
制御信号を発生せず、キャッシュメモリデバイス内に配
置された出力ドライバ回路をディスエーブル(不能化)
し、この結果、選択されていないキャッシュメモリデバ
イスがバスに出力を発生しないように効果的に働く。従
って、キャッシュメモリデバイスの各々は、それぞれの
キャッシュメモリ内に配置されたメモリロケーションに
特定のメモリリクエストが向けられているかどうかを別
々に判断する。CPUは、メモリリクエストがどのキャ
ッシュメモリデバイスに向けられるかを識別する必要は
なく、更に、選択されないキャッシュメモリデバイスの
すべては、それらのそれぞれのコントローラ回路によっ
てディスエーブル状態とされるので、CPUが受信して
不正確に解釈する可能性がある疑似信号をこれらメモリ
デバイスがバスに発生しないことが保証される。
なければ、メモリコントローラ回路は、メモリオペレー
ションを実行するようにメモリをイネーブル状態とする
制御信号を発生せず、キャッシュメモリデバイス内に配
置された出力ドライバ回路をディスエーブル(不能化)
し、この結果、選択されていないキャッシュメモリデバ
イスがバスに出力を発生しないように効果的に働く。従
って、キャッシュメモリデバイスの各々は、それぞれの
キャッシュメモリ内に配置されたメモリロケーションに
特定のメモリリクエストが向けられているかどうかを別
々に判断する。CPUは、メモリリクエストがどのキャ
ッシュメモリデバイスに向けられるかを識別する必要は
なく、更に、選択されないキャッシュメモリデバイスの
すべては、それらのそれぞれのコントローラ回路によっ
てディスエーブル状態とされるので、CPUが受信して
不正確に解釈する可能性がある疑似信号をこれらメモリ
デバイスがバスに発生しないことが保証される。
【0009】
【発明の実施の形態】これより、メモリアクセスの効率
を改善するための、コンピュータシステムに使用する特
定の用途を有する改良されたキャッシュメモリ方法およ
び装置を開示する。次の説明では、本発明を完全に理解
するよう、特定のメモリ、組み合わせ、アーキテクチャ
(構造)、データライン、アドレスライン等を記載して
いるが、これら特定の細目がなくても本発明を実施でき
ることは、当業者には明らかであろう。他の場合では、
本発明を不明瞭としないように周知の回路はブロック図
として示した。
を改善するための、コンピュータシステムに使用する特
定の用途を有する改良されたキャッシュメモリ方法およ
び装置を開示する。次の説明では、本発明を完全に理解
するよう、特定のメモリ、組み合わせ、アーキテクチャ
(構造)、データライン、アドレスライン等を記載して
いるが、これら特定の細目がなくても本発明を実施でき
ることは、当業者には明らかであろう。他の場合では、
本発明を不明瞭としないように周知の回路はブロック図
として示した。
【0010】図2に、本発明のシステムの一般化された
ブロック図が示されている。ここに示されているよう
に、中央処理ユニット(CPU)40はバス42に結合
されている。このバス42は、システムバスでもよい
し、またこれと異なりCPU40とキャッシュメモリと
の間の高速データ転送を処理するように設計されたロー
カルバスでもよい。他の種々のシステムリソース、例え
ばシステムデバイス44も、CPU40との通信のため
バス42に結合されている。この説明では、理解を容易
とするため、バス42のみならずCPU40も簡略化さ
れたブロック図として示されている。また、バス42、
CPU40、システムデバイス44および図面に示され
た他の部品以外に更に別の部品が多数あることは、当業
者には理解できよう。本明細書では、本発明を不必要に
不明瞭としないように、これら部品については詳しく説
明しない。図2に示すように本発明のキャッシュメモリ
は、キャッシュメモリデバイス46、48、50および
52(以下、キャッシュメモリチップと称す。)を含
む。バス42に結合された4個の別々のキャッシュメモ
リチップを参照して本発明を説明するが、本発明の要旨
は、図面に示したキャッシュメモリの数よりも少ないメ
モリチップまたはこの数よりも多いメモリチップを有す
るキャッシュメモリシステムでも使用できることは、当
業者に理解できよう。
ブロック図が示されている。ここに示されているよう
に、中央処理ユニット(CPU)40はバス42に結合
されている。このバス42は、システムバスでもよい
し、またこれと異なりCPU40とキャッシュメモリと
の間の高速データ転送を処理するように設計されたロー
カルバスでもよい。他の種々のシステムリソース、例え
ばシステムデバイス44も、CPU40との通信のため
バス42に結合されている。この説明では、理解を容易
とするため、バス42のみならずCPU40も簡略化さ
れたブロック図として示されている。また、バス42、
CPU40、システムデバイス44および図面に示され
た他の部品以外に更に別の部品が多数あることは、当業
者には理解できよう。本明細書では、本発明を不必要に
不明瞭としないように、これら部品については詳しく説
明しない。図2に示すように本発明のキャッシュメモリ
は、キャッシュメモリデバイス46、48、50および
52(以下、キャッシュメモリチップと称す。)を含
む。バス42に結合された4個の別々のキャッシュメモ
リチップを参照して本発明を説明するが、本発明の要旨
は、図面に示したキャッシュメモリの数よりも少ないメ
モリチップまたはこの数よりも多いメモリチップを有す
るキャッシュメモリシステムでも使用できることは、当
業者に理解できよう。
【0011】図2に示すように、キャッシュメモリチッ
プの各々は構造が同じである。例えば、キャッシュメモ
リチップ46はコントローラ60を含み、このコントロ
ーラ60は、後に説明するようにキャッシュメモリ62
および出力ドライバ64および66に結合されている。
コントローラ60は識別番号(ID#)を受信するよう
にも結合されており、この識別番号は、この好ましい実
施例では、2ビットの二進数から成る。同様に、キャッ
シュメモリ48は、キャッシュメモリ70および出力ド
ライバ72および74に結合されたメモリコントローラ
68を含む。キャッシュチップ50はキャッシュコント
ローラ80を含み、このキャッシュコントローラ80
は、キャッシュメモリ82および2つの出力ドライバ8
4および86に結合されている。最後に、キャッシュチ
ップ52はコントローラ88を含み、このコントローラ
88は、キャッシュメモリ90および2つの出力ドライ
バ92および94に結合されている。
プの各々は構造が同じである。例えば、キャッシュメモ
リチップ46はコントローラ60を含み、このコントロ
ーラ60は、後に説明するようにキャッシュメモリ62
および出力ドライバ64および66に結合されている。
コントローラ60は識別番号(ID#)を受信するよう
にも結合されており、この識別番号は、この好ましい実
施例では、2ビットの二進数から成る。同様に、キャッ
シュメモリ48は、キャッシュメモリ70および出力ド
ライバ72および74に結合されたメモリコントローラ
68を含む。キャッシュチップ50はキャッシュコント
ローラ80を含み、このキャッシュコントローラ80
は、キャッシュメモリ82および2つの出力ドライバ8
4および86に結合されている。最後に、キャッシュチ
ップ52はコントローラ88を含み、このコントローラ
88は、キャッシュメモリ90および2つの出力ドライ
バ92および94に結合されている。
【0012】続けて図2を参照すれば、キャッシュメモ
リチップ46、48、50および52の各々は、CPU
40と通信するようバス42に結合されている。一般に
行われているように、CPU40は、メモリアドレスと
組み合わせてメモリ(アクセス)リクエストを発生す
る。このメモリリクエストおよびアドレス信号の特定の
タイミングおよび性質は、本発明で使用される特定のバ
スに応じて決まる。インテル社のマルチバス(商標)、
IEEE−488バスまたはサンマイクロシステムズ社
所有のMバスのような幾つかのバスは、標準バス仕様に
合致するものである。しかしながら、本発明は、特定の
いかなるバス構造に依存するものではなく、種々の異な
るバス構造が利用されるようになっている。従って、本
明細書には特定のタイミングや信号化条件については記
載しない。
リチップ46、48、50および52の各々は、CPU
40と通信するようバス42に結合されている。一般に
行われているように、CPU40は、メモリアドレスと
組み合わせてメモリ(アクセス)リクエストを発生す
る。このメモリリクエストおよびアドレス信号の特定の
タイミングおよび性質は、本発明で使用される特定のバ
スに応じて決まる。インテル社のマルチバス(商標)、
IEEE−488バスまたはサンマイクロシステムズ社
所有のMバスのような幾つかのバスは、標準バス仕様に
合致するものである。しかしながら、本発明は、特定の
いかなるバス構造に依存するものではなく、種々の異な
るバス構造が利用されるようになっている。従って、本
明細書には特定のタイミングや信号化条件については記
載しない。
【0013】CPU40はメモリリクエストを発生し、
このリクエストは、本発明の要旨に従い、図2に示され
たキャッシュメモリチップの各々内のコントローラ(例
えばコントローラ60)の各々によって受信されるもの
と見なす。上記のように、本発明で使用されるキャッシ
ュメモリチップの各々には、バス42上でその位置を識
別するための、固有の識別番号が与えられている。後に
説明するように、キャッシュメモリチップ内に配置され
たコントローラの各々は、メモリリクエストのみなら
ず、CPU40によって開始されたメモリオペレーショ
ンのためにアクセスすべきメインメモリの全アドレスを
含む所定のアドレスビットを受信する。
このリクエストは、本発明の要旨に従い、図2に示され
たキャッシュメモリチップの各々内のコントローラ(例
えばコントローラ60)の各々によって受信されるもの
と見なす。上記のように、本発明で使用されるキャッシ
ュメモリチップの各々には、バス42上でその位置を識
別するための、固有の識別番号が与えられている。後に
説明するように、キャッシュメモリチップ内に配置され
たコントローラの各々は、メモリリクエストのみなら
ず、CPU40によって開始されたメモリオペレーショ
ンのためにアクセスすべきメインメモリの全アドレスを
含む所定のアドレスビットを受信する。
【0014】図示するように、メモリチップ内に配置さ
れた各メモリコントローラは、制御ライン(例えば制御
ライン100、102、104および105)を通して
キャッシュメモリに結合されており、それぞれのキャッ
シュメモリの各々には、メモリ読み出しおよび書き込み
プロセスを制御するのに必要なイネーブル信号および附
勢信号が与えられるようになっている。
れた各メモリコントローラは、制御ライン(例えば制御
ライン100、102、104および105)を通して
キャッシュメモリに結合されており、それぞれのキャッ
シュメモリの各々には、メモリ読み出しおよび書き込み
プロセスを制御するのに必要なイネーブル信号および附
勢信号が与えられるようになっている。
【0015】本発明は、図1に示されるような論理制御
回路および出力選択マルチプレクサを含む外部のグルー
論理回路を不要にすることにより、従来技術の限界、特
に図1に示された従来システムの限界を克服するもので
ある。特定のキャッシュチップの各々内のメモリアドレ
スロケーションに対応する、幾つかの所定のアドレスビ
ットの選択と組み合わせて、キャッシュチップの各々の
ための識別番号を本発明により使用することにより、こ
れまで従来技術で知られていなかった高性能のキャッシ
ュメモリへのアクセスが可能となった。
回路および出力選択マルチプレクサを含む外部のグルー
論理回路を不要にすることにより、従来技術の限界、特
に図1に示された従来システムの限界を克服するもので
ある。特定のキャッシュチップの各々内のメモリアドレ
スロケーションに対応する、幾つかの所定のアドレスビ
ットの選択と組み合わせて、キャッシュチップの各々の
ための識別番号を本発明により使用することにより、こ
れまで従来技術で知られていなかった高性能のキャッシ
ュメモリへのアクセスが可能となった。
【0016】本発明は、特定のキャッシュメモリ内のメ
モリアドレスロケーションに向けられたメモリリクエス
トを識別し、バス42に結合されたその他のキャッシュ
メモリに向けられたメモリリクエストを無視できる能力
を、図2に示されたキャッシュメモリの各々に与えるも
のである。本発明の要旨によれば、キャッシュメモリチ
ップの各々には、これらキャッシュメモリチップ内のコ
ントローラの各々に割り当てられた2ビットの二進数で
ある固有の識別番号が与えられている。例えば、キャッ
シュメモリチップ46のコントローラ60には論理0の
二進識別番号が割り当てられ、同様に、図2に示すよう
に、キャッシュメモリチップ48のコントローラ68に
は二進の1が割り当てられ、キャッシュメモリチップ5
0のコントローラ80には二進の2が割り当てられ、キ
ャッシュメモリチップ52のコントローラ88には二進
の3が割り当てられている。この好ましい実施例では、
識別番号の各々は、コントローラ60内での静的な配線
による入力信号から成る。従って、各キャッシュメモリ
チップには静的な識別番号が与えられ、この番号は、特
定のキャッシュメモリチップを識別するのに使用される
と共に、CPU40によって発生されるメモリリクエス
トに対するメモリ選択プロセスへの入力信号となる。
モリアドレスロケーションに向けられたメモリリクエス
トを識別し、バス42に結合されたその他のキャッシュ
メモリに向けられたメモリリクエストを無視できる能力
を、図2に示されたキャッシュメモリの各々に与えるも
のである。本発明の要旨によれば、キャッシュメモリチ
ップの各々には、これらキャッシュメモリチップ内のコ
ントローラの各々に割り当てられた2ビットの二進数で
ある固有の識別番号が与えられている。例えば、キャッ
シュメモリチップ46のコントローラ60には論理0の
二進識別番号が割り当てられ、同様に、図2に示すよう
に、キャッシュメモリチップ48のコントローラ68に
は二進の1が割り当てられ、キャッシュメモリチップ5
0のコントローラ80には二進の2が割り当てられ、キ
ャッシュメモリチップ52のコントローラ88には二進
の3が割り当てられている。この好ましい実施例では、
識別番号の各々は、コントローラ60内での静的な配線
による入力信号から成る。従って、各キャッシュメモリ
チップには静的な識別番号が与えられ、この番号は、特
定のキャッシュメモリチップを識別するのに使用される
と共に、CPU40によって発生されるメモリリクエス
トに対するメモリ選択プロセスへの入力信号となる。
【0017】本発明では、キャッシュメモリチップの選
択は、CPU40によって与えられるメインメモリアド
レスを含む所定のアドレスビットの値および識別番号に
応じて決まる。本発明の一実施例では、CPU40のメ
インメモリアドレスのメモリスペースは4つの領域に分
割されており、図2に示される4つのキャッシュメモリ
チップの1つに各領域があらかじめ割り当てられてい
る。これらの領域は、連続していてもよいし、または飛
び越し状になっていてもよい。
択は、CPU40によって与えられるメインメモリアド
レスを含む所定のアドレスビットの値および識別番号に
応じて決まる。本発明の一実施例では、CPU40のメ
インメモリアドレスのメモリスペースは4つの領域に分
割されており、図2に示される4つのキャッシュメモリ
チップの1つに各領域があらかじめ割り当てられてい
る。これらの領域は、連続していてもよいし、または飛
び越し状になっていてもよい。
【0018】本発明の作動は、CPU40が発生するメ
モリリクエストにより開始すると言ってよい。メモリリ
クエストおよびアクセスすべきメインメモリロケーショ
ンのアドレスは、バス42を通して与えられ、キャッシ
ュメモリチップ46、キャッシュメモリチップ48、キ
ャッシュメモリチップ50およびキャッシュメモリチッ
プ52によって受信される。メモリリクエストは、CP
Uによって与えられるアドレスと同じように、それぞれ
のキャッシュメモリチップ内に配置されたコントローラ
の各々によって受信される。所定のアドレスビットも、
例えばライン120(図2参照)を通してコントローラ
60へ与えられる。同様に、キャッシュメモリチップ4
8に対するメモリリクエストは、コントローラ68によ
り受信され、所定のアドレスビットがライン122を通
してコントローラ68へ送られる。キャッシュメモリチ
ップ50の場合、所定のアドレスビットがライン125
を通してコントローラ80へ送られる。キャッシュメモ
リチップ52の場合、所定のアドレスビットがライン1
30を通してコントローラ88へ送られる。
モリリクエストにより開始すると言ってよい。メモリリ
クエストおよびアクセスすべきメインメモリロケーショ
ンのアドレスは、バス42を通して与えられ、キャッシ
ュメモリチップ46、キャッシュメモリチップ48、キ
ャッシュメモリチップ50およびキャッシュメモリチッ
プ52によって受信される。メモリリクエストは、CP
Uによって与えられるアドレスと同じように、それぞれ
のキャッシュメモリチップ内に配置されたコントローラ
の各々によって受信される。所定のアドレスビットも、
例えばライン120(図2参照)を通してコントローラ
60へ与えられる。同様に、キャッシュメモリチップ4
8に対するメモリリクエストは、コントローラ68によ
り受信され、所定のアドレスビットがライン122を通
してコントローラ68へ送られる。キャッシュメモリチ
ップ50の場合、所定のアドレスビットがライン125
を通してコントローラ80へ送られる。キャッシュメモ
リチップ52の場合、所定のアドレスビットがライン1
30を通してコントローラ88へ送られる。
【0019】図3を参照してより詳細に説明するよう
に、それぞれのキャッシュメモリチップ内のコントロー
ラの各々は、識別番号と与えられたアドレスビットとを
比較し、これらビットが一致していればキャッシュメモ
リチップ内のコントローラは所望のメモリオペレーショ
ンを開始させる制御信号を発生し、キャッシュチップ上
のキャッシュメモリにアクセスし、キャッシュメモリの
出力をバス42へ与え、CPU40によって受信できる
ようにする。識別番号とアドレスビットとの比較の結果
一致していないことが判れば、特定のキャッシュメモリ
チップ上の出力ドライバがコントローラによってディス
エーブルされる。
に、それぞれのキャッシュメモリチップ内のコントロー
ラの各々は、識別番号と与えられたアドレスビットとを
比較し、これらビットが一致していればキャッシュメモ
リチップ内のコントローラは所望のメモリオペレーショ
ンを開始させる制御信号を発生し、キャッシュチップ上
のキャッシュメモリにアクセスし、キャッシュメモリの
出力をバス42へ与え、CPU40によって受信できる
ようにする。識別番号とアドレスビットとの比較の結果
一致していないことが判れば、特定のキャッシュメモリ
チップ上の出力ドライバがコントローラによってディス
エーブルされる。
【0020】例として、キャッシュメモリチップ48に
既に割り当てられているアドレススペースに対し、CP
U40がメモリリクエストを発生したものと仮定する。
メモリリクエストおよびアドレスはバス42を通して送
られ、図2に示されたキャッシュメモリチップの各々に
よって受信される。このメモリリクエストは、キャッシ
ュチップ48のコントローラ68だけでなく、キャッシ
ュチップの各々にも送られる。識別番号(本例では二進
数の1)とアドレスビットの比較の結果が一致していれ
ば、コントローラ68は、ライン102を通してキャッ
シュメモリ70へ適当なメモリ制御コマンドを発生し、
メモリオペレーションを開始させる。更に、コントロー
ラ68は、出力ドライバ74をイネーブルし、キャッシ
ュメモリ70からのリクエストされたデータまたはこれ
より取出されたインストラクションをバス42へ送り、
CPU40によって受信できるようにする。同様に、コ
ントローラ68は、出力ドライバ72をイネーブルし、
本発明が使用しているバスの特定のプロトコルに従って
適当な受信確認信号を発生する。キャッシュメモリ50
のコントローラ80は、CPUによって与えられた所定
のアドレスビットと特定の識別番号とが一致していない
と判断する。従って、コントローラ80は、キャッシュ
メモリチップ50からバス42に出力が供給されないよ
う、出力ドライバ84および出力ドライバ86をディス
エーブルする。
既に割り当てられているアドレススペースに対し、CP
U40がメモリリクエストを発生したものと仮定する。
メモリリクエストおよびアドレスはバス42を通して送
られ、図2に示されたキャッシュメモリチップの各々に
よって受信される。このメモリリクエストは、キャッシ
ュチップ48のコントローラ68だけでなく、キャッシ
ュチップの各々にも送られる。識別番号(本例では二進
数の1)とアドレスビットの比較の結果が一致していれ
ば、コントローラ68は、ライン102を通してキャッ
シュメモリ70へ適当なメモリ制御コマンドを発生し、
メモリオペレーションを開始させる。更に、コントロー
ラ68は、出力ドライバ74をイネーブルし、キャッシ
ュメモリ70からのリクエストされたデータまたはこれ
より取出されたインストラクションをバス42へ送り、
CPU40によって受信できるようにする。同様に、コ
ントローラ68は、出力ドライバ72をイネーブルし、
本発明が使用しているバスの特定のプロトコルに従って
適当な受信確認信号を発生する。キャッシュメモリ50
のコントローラ80は、CPUによって与えられた所定
のアドレスビットと特定の識別番号とが一致していない
と判断する。従って、コントローラ80は、キャッシュ
メモリチップ50からバス42に出力が供給されないよ
う、出力ドライバ84および出力ドライバ86をディス
エーブルする。
【0021】同じように、CPUによって与えられたア
ドレスとコントローラによって与えられた識別番号(二
進の3)は一致しないので、キャッシュメモリチップ5
2のコントローラ88は、出力ドライバ92および出力
ドライバ94をディスエーブルする。従って、バス42
に結合されているキャッシュメモリチップの各々は、外
部グルー論理回路を使用することなく、CPU40によ
って与えられたメモリリクエストがその特定のキャッシ
ュメモリを宛て先とするものであるかどうかを独自に判
断する。メモリアドレスがその特定のキャッシュメモリ
に割り当てられたメモリスペースに対応している場合、
キャッシュメモリチップのコントローラは、そのキャッ
シュメモリをイネーブルし、バス42を通してCPU4
0へリクエストされたデータを送る。しかしながら、メ
モリリクエストがそのキャッシュメモリ宛てのものでは
ないとコントローラが判断した場合、コントローラはそ
のキャッシュメモリチップの出力ドライバをディスエー
ブルするので、そのチップは、休止状態に留まりCPU
のメモリリクエストに応答しない。
ドレスとコントローラによって与えられた識別番号(二
進の3)は一致しないので、キャッシュメモリチップ5
2のコントローラ88は、出力ドライバ92および出力
ドライバ94をディスエーブルする。従って、バス42
に結合されているキャッシュメモリチップの各々は、外
部グルー論理回路を使用することなく、CPU40によ
って与えられたメモリリクエストがその特定のキャッシ
ュメモリを宛て先とするものであるかどうかを独自に判
断する。メモリアドレスがその特定のキャッシュメモリ
に割り当てられたメモリスペースに対応している場合、
キャッシュメモリチップのコントローラは、そのキャッ
シュメモリをイネーブルし、バス42を通してCPU4
0へリクエストされたデータを送る。しかしながら、メ
モリリクエストがそのキャッシュメモリ宛てのものでは
ないとコントローラが判断した場合、コントローラはそ
のキャッシュメモリチップの出力ドライバをディスエー
ブルするので、そのチップは、休止状態に留まりCPU
のメモリリクエストに応答しない。
【0022】CPUおよびキャッシュメモリの各々は独
立して作動するので、どれだけ多くのキャッシュメモリ
デバイスがバス42に結合されているかを、何らかの信
号化方法によりCPU40へ知らせる必要がないこと
を、当業者は理解するであろう。CPUは、必要なアド
レス情報と共にメモリリクエストを発生するだけであ
り、キャッシュメモリチップの各々は、別々に作動して
リクエストされたデータを発生したり、またはバス42
に出力を発生しないように自らをディスエーブルする。
立して作動するので、どれだけ多くのキャッシュメモリ
デバイスがバス42に結合されているかを、何らかの信
号化方法によりCPU40へ知らせる必要がないこと
を、当業者は理解するであろう。CPUは、必要なアド
レス情報と共にメモリリクエストを発生するだけであ
り、キャッシュメモリチップの各々は、別々に作動して
リクエストされたデータを発生したり、またはバス42
に出力を発生しないように自らをディスエーブルする。
【0023】図3および4と共に再度図2を参照して、
キャッシュメモリチップの各々内のコントローラの動作
を、より詳細に説明する。図2に示されたシステムはバ
ス42に結合された4個のキャッシュメモリチップを含
むが、本発明は3個以下のキャッシュメモリチップを使
用するシステムでも実施可能である。従って、本発明
は、バス42に1個または2個のキャッシュメモリチッ
プしか結合されていないシステムでも使用できるもので
ある。更に、本発明を4個までのキャッシュメモリチッ
プを有するシステムを参照して説明するが、本発明はそ
れ以上の数のキャッシュメモリチップを有するシステム
でも実施可能であることが分かるであろう。図3には、
キャッシュメモリチップの各々に配置されたそれぞれの
コントローラの各々のブロック図が示されている。説明
上、キャッシュメモリチップ46のコントローラ60を
参照して、図3に示されたコントローラおよびその動作
について説明する。しかしながら、このコントローラ6
0の動作は、図2に示された他のコントローラ68、8
0および88の動作に類似するものである。
キャッシュメモリチップの各々内のコントローラの動作
を、より詳細に説明する。図2に示されたシステムはバ
ス42に結合された4個のキャッシュメモリチップを含
むが、本発明は3個以下のキャッシュメモリチップを使
用するシステムでも実施可能である。従って、本発明
は、バス42に1個または2個のキャッシュメモリチッ
プしか結合されていないシステムでも使用できるもので
ある。更に、本発明を4個までのキャッシュメモリチッ
プを有するシステムを参照して説明するが、本発明はそ
れ以上の数のキャッシュメモリチップを有するシステム
でも実施可能であることが分かるであろう。図3には、
キャッシュメモリチップの各々に配置されたそれぞれの
コントローラの各々のブロック図が示されている。説明
上、キャッシュメモリチップ46のコントローラ60を
参照して、図3に示されたコントローラおよびその動作
について説明する。しかしながら、このコントローラ6
0の動作は、図2に示された他のコントローラ68、8
0および88の動作に類似するものである。
【0024】図3にはコントローラ60のブロック図が
示されており、識別番号として比較回路200に結合さ
れた2ビットの静的入力(本例では二進数00)が与え
られている。図から理解できるように、2ビット識別番
号の値と2ビットのアドレス値が一致すれば、比較回路
200は、ライン202を通してマルチプレクサ204
へ一致信号を発生する。本発明のコントローラは、2個
のキャッシュメモリチップしかバス42に結合されてい
ないようなケースにも適合するようになっている。かか
る場合、1つの識別ビットを検出し、単一のアドレスビ
ットと比較するだけでよい。一般に、図3内のライン2
08によって識別される識別番号の最下位ビットに比較
回路206が結合されており、同様に、比較回路206
は、本発明のシステムによって与えられる2ビットのア
ドレスビットの単一ライン210にしか結合されていな
い。ライン210を通して送られたアドレスビットがラ
イン208を通して送られた識別ビットに一致する場
合、比較回路206は、ライン212上に一致信号を発
生し、これをマルチプレクサ204へ送る。マルチプレ
クサ204は、2キャッシュチップ選択ライン214が
附勢された際にライン212を選択するように構成され
ている。
示されており、識別番号として比較回路200に結合さ
れた2ビットの静的入力(本例では二進数00)が与え
られている。図から理解できるように、2ビット識別番
号の値と2ビットのアドレス値が一致すれば、比較回路
200は、ライン202を通してマルチプレクサ204
へ一致信号を発生する。本発明のコントローラは、2個
のキャッシュメモリチップしかバス42に結合されてい
ないようなケースにも適合するようになっている。かか
る場合、1つの識別ビットを検出し、単一のアドレスビ
ットと比較するだけでよい。一般に、図3内のライン2
08によって識別される識別番号の最下位ビットに比較
回路206が結合されており、同様に、比較回路206
は、本発明のシステムによって与えられる2ビットのア
ドレスビットの単一ライン210にしか結合されていな
い。ライン210を通して送られたアドレスビットがラ
イン208を通して送られた識別ビットに一致する場
合、比較回路206は、ライン212上に一致信号を発
生し、これをマルチプレクサ204へ送る。マルチプレ
クサ204は、2キャッシュチップ選択ライン214が
附勢された際にライン212を選択するように構成され
ている。
【0025】このシステムの設計者は、例えばプリント
基板上のジャンパー構造により、この2キャッシュチッ
プ選択信号を発生するためのメカニズムを設けようとし
ているが、将来のシステムではソフトウェア制御により
この信号を発生することも可能である。一般に、特定の
システム環境内で単一キャッシュチップしか使用しない
場合、単一チップ選択ライン220が設けられ、図3に
示されるようなORゲート225の入力端に結合され
る。マルチプレクサ204の出力端は、ライン230を
通してORゲート225へ結合されている。この好まし
い実施例では、単一のキャッシュメモリチップしか使用
しない場合、単一チップ選択ライン220が高レベルに
駆動され、よって、ライン235上にチップ選択(C
S)信号が常に発生することになる。
基板上のジャンパー構造により、この2キャッシュチッ
プ選択信号を発生するためのメカニズムを設けようとし
ているが、将来のシステムではソフトウェア制御により
この信号を発生することも可能である。一般に、特定の
システム環境内で単一キャッシュチップしか使用しない
場合、単一チップ選択ライン220が設けられ、図3に
示されるようなORゲート225の入力端に結合され
る。マルチプレクサ204の出力端は、ライン230を
通してORゲート225へ結合されている。この好まし
い実施例では、単一のキャッシュメモリチップしか使用
しない場合、単一チップ選択ライン220が高レベルに
駆動され、よって、ライン235上にチップ選択(C
S)信号が常に発生することになる。
【0026】図3に示されるように、チップ選択ライン
235はコントローラ論理デバイス240に結合されて
いる。このコントローラ論理デバイス240は、CPU
40によって発生されバス42を通して送られるメモリ
リクエストを受信する。コントローラ論理デバイス24
0が、CPUメモリリクエストおよびライン235を通
してチップ選択信号を受信する場合、コントローラ論理
デバイス240は、ライン100を通してキャッシュメ
モリ62にメモリ制御信号を送る。更にコントローラ論
理デバイス240は、出力ドライバ66および64をイ
ネーブルして、必要な受信確認信号およびその他のプロ
トコル信号の双方をバス42を通してCPU40へ与え
ると共に、CPU40からのリクエストに従ってキャッ
シュメモリ62からリクエストされたデータを発生させ
る。
235はコントローラ論理デバイス240に結合されて
いる。このコントローラ論理デバイス240は、CPU
40によって発生されバス42を通して送られるメモリ
リクエストを受信する。コントローラ論理デバイス24
0が、CPUメモリリクエストおよびライン235を通
してチップ選択信号を受信する場合、コントローラ論理
デバイス240は、ライン100を通してキャッシュメ
モリ62にメモリ制御信号を送る。更にコントローラ論
理デバイス240は、出力ドライバ66および64をイ
ネーブルして、必要な受信確認信号およびその他のプロ
トコル信号の双方をバス42を通してCPU40へ与え
ると共に、CPU40からのリクエストに従ってキャッ
シュメモリ62からリクエストされたデータを発生させ
る。
【0027】メモリ、特にキャッシュメモリの動作は当
該技術分野では周知であるので、コントローラ論理デバ
イス240によりキャッシュメモリ62に対して発生さ
れる特定の信号、および出力ドライバ64により発生さ
れ駆動される信号の性質については、本明細書ではこれ
以上詳細には説明しない。更に当業者であれば、コント
ローラ論理デバイス240およびキャッシュメモリ62
と組み合わされた出力ドライバの特定の構成は、種々の
バスプロトコルおよびアーキテクチャに合わせるように
変えることができる。
該技術分野では周知であるので、コントローラ論理デバ
イス240によりキャッシュメモリ62に対して発生さ
れる特定の信号、および出力ドライバ64により発生さ
れ駆動される信号の性質については、本明細書ではこれ
以上詳細には説明しない。更に当業者であれば、コント
ローラ論理デバイス240およびキャッシュメモリ62
と組み合わされた出力ドライバの特定の構成は、種々の
バスプロトコルおよびアーキテクチャに合わせるように
変えることができる。
【0028】コントローラ論理デバイス240がCPU
40からのメモリリクエストを受信するが、ライン23
5を通してチップ選択信号を受信しない場合は、コント
ローラ論理デバイス240は、ライン100を通してメ
モリ制御信号を発生せず、出力ドライバ66および64
をディスエーブルする。従って、かかる場合、キャッシ
ュメモリチップは選択されないので、非アクティブモー
ドとなっていると見なされる。このキャッシュメモリチ
ップは、バス42を通して次のメモリリクエストが受信
され、且つライン235を通してチップ選択信号が受信
されるまで、この非アクティブモードに留まる。
40からのメモリリクエストを受信するが、ライン23
5を通してチップ選択信号を受信しない場合は、コント
ローラ論理デバイス240は、ライン100を通してメ
モリ制御信号を発生せず、出力ドライバ66および64
をディスエーブルする。従って、かかる場合、キャッシ
ュメモリチップは選択されないので、非アクティブモー
ドとなっていると見なされる。このキャッシュメモリチ
ップは、バス42を通して次のメモリリクエストが受信
され、且つライン235を通してチップ選択信号が受信
されるまで、この非アクティブモードに留まる。
【0029】次に、図3と共に図4を参照し、図示され
ているような本発明の好ましい実施例のための符号化方
法について説明する。本発明の4ビットの識別番号(I
D[3:0])は、4つのビットが0である場合、この
システムは1つのキャッシュメモリチップしか利用せ
ず、単一チップ選択ライン220が高レベルになるとい
う取決めを使用している。図に示すように、ID番号が
二進数0100から成る場合、4キャッシュメモリチッ
プシステムを使用する。このシステムでは、最後の2つ
のビット00がキャッシュメモリチップの識別番号、す
なわちチップ0に対応する。同様に、図4に示すよう
に、二進数0101は本発明にかかわるシステムが(図
2に示すように)4つのキャッシュメモリチップを使用
していることを示し、最後の2つの二進数01はキャッ
シュメモリチップ48の識別番号に対応する。図4で
は、理解を容易にするため、キャッシュメモリチップの
各々に対する静的二進数として与えられる識別ビットに
対応する最後の2つのビットを、長方形のブロックで囲
むように描いている。
ているような本発明の好ましい実施例のための符号化方
法について説明する。本発明の4ビットの識別番号(I
D[3:0])は、4つのビットが0である場合、この
システムは1つのキャッシュメモリチップしか利用せ
ず、単一チップ選択ライン220が高レベルになるとい
う取決めを使用している。図に示すように、ID番号が
二進数0100から成る場合、4キャッシュメモリチッ
プシステムを使用する。このシステムでは、最後の2つ
のビット00がキャッシュメモリチップの識別番号、す
なわちチップ0に対応する。同様に、図4に示すよう
に、二進数0101は本発明にかかわるシステムが(図
2に示すように)4つのキャッシュメモリチップを使用
していることを示し、最後の2つの二進数01はキャッ
シュメモリチップ48の識別番号に対応する。図4で
は、理解を容易にするため、キャッシュメモリチップの
各々に対する静的二進数として与えられる識別ビットに
対応する最後の2つのビットを、長方形のブロックで囲
むように描いている。
【0030】図4に示すように、1100のID番号
は、図3の2キャッシュチップ選択ライン214が附勢
され、ライン230上のマルチプレクサ204の出力と
してライン212を選択するようにした2キャッシュメ
モリチップ構造を識別(特定)している。数字1100
のうちの最後の2つのビット00は、図2に示されたキ
ャッシュメモリチップ46に対する識別番号0に対応
し、最後の識別ビット数1101は、ライン214を選
択するようにこのシステムを2キャッシュチップシステ
ムとして識別し、この場合、最後の2つのビット01は
図2内のキャッシュメモリチップ48に対する識別番号
1を識別している。
は、図3の2キャッシュチップ選択ライン214が附勢
され、ライン230上のマルチプレクサ204の出力と
してライン212を選択するようにした2キャッシュメ
モリチップ構造を識別(特定)している。数字1100
のうちの最後の2つのビット00は、図2に示されたキ
ャッシュメモリチップ46に対する識別番号0に対応
し、最後の識別ビット数1101は、ライン214を選
択するようにこのシステムを2キャッシュチップシステ
ムとして識別し、この場合、最後の2つのビット01は
図2内のキャッシュメモリチップ48に対する識別番号
1を識別している。
【0031】当業者であれば、図2〜4を参照して説明
した特定の符号化構造が設計時の選択事項にすぎず、本
発明の要旨に従えば、符号化構造の多数の組み合わせお
よび変形が可能であることは理解できるであろう。
した特定の符号化構造が設計時の選択事項にすぎず、本
発明の要旨に従えば、符号化構造の多数の組み合わせお
よび変形が可能であることは理解できるであろう。
【0032】図には所定の回路および電子ブロック図が
示されているが、回路素子が作動するためには他の多数
のデータ通路、電気ブロック等も必要であることは当業
者には理解できよう。しかしながら、本発明の構成を不
必要な細部を示すことなく本発明の動作を示すよう簡単
に図示した。例えば、本発明をメモリリクエストを発生
するCPUと共に使用されるものとして説明したが、他
のメモリアクセスデバイスでもかかるリクエストを発生
できると予想される。さらに、本発明をキャッシュメモ
リチップの識別番号と受信したアドレスの一部とを比較
するものとして説明したが、本発明は他の実施形態も可
能である。最も一般的な形態では、本発明は、識別指標
を比較し、メモリチップに与えられた第1識別指標がバ
ス42を通して与えられた第2識別指標と一致する場合
に、メモリデバイスがリクエストされたメモリオペレー
ションを実行できるようにする制御信号を、メモリコン
トローラが発生するようにする。
示されているが、回路素子が作動するためには他の多数
のデータ通路、電気ブロック等も必要であることは当業
者には理解できよう。しかしながら、本発明の構成を不
必要な細部を示すことなく本発明の動作を示すよう簡単
に図示した。例えば、本発明をメモリリクエストを発生
するCPUと共に使用されるものとして説明したが、他
のメモリアクセスデバイスでもかかるリクエストを発生
できると予想される。さらに、本発明をキャッシュメモ
リチップの識別番号と受信したアドレスの一部とを比較
するものとして説明したが、本発明は他の実施形態も可
能である。最も一般的な形態では、本発明は、識別指標
を比較し、メモリチップに与えられた第1識別指標がバ
ス42を通して与えられた第2識別指標と一致する場合
に、メモリデバイスがリクエストされたメモリオペレー
ションを実行できるようにする制御信号を、メモリコン
トローラが発生するようにする。
【0033】以上、改良されたキャッシュメモリの構造
および方法を開示した。特に図1から4を参照して本発
明を説明したが、当業者であれば本発明の要旨を他の種
々のコンピュータメモリにも適用できることは明らかで
あろう。従って、本発明は特許請求の範囲の表現によっ
て範囲を決定すべきである。
および方法を開示した。特に図1から4を参照して本発
明を説明したが、当業者であれば本発明の要旨を他の種
々のコンピュータメモリにも適用できることは明らかで
あろう。従って、本発明は特許請求の範囲の表現によっ
て範囲を決定すべきである。
【図1】 従来のカスケード接続されたキャッシュメモ
リシステムのブロック図である。
リシステムのブロック図である。
【図2】 本発明によるキャッシュメモリシステムの簡
略ブロック図である。
略ブロック図である。
【図3】 CPUによるキャッシュメモリアクセスに対
するシステム劣化をできる限り小さくして、キャッシュ
メモリサイズをより大きくする、本発明のキャッシュメ
モリ制御回路のより詳細なブロック図である。
するシステム劣化をできる限り小さくして、キャッシュ
メモリサイズをより大きくする、本発明のキャッシュメ
モリ制御回路のより詳細なブロック図である。
【図4】 キャッシュメモリチップを選択するための二
進識別番号の使用例を示す図である。
進識別番号の使用例を示す図である。
40 中央処理ユニット(メモリアクセスユニット) 42 バス 46、48、50、52 キャッシュメモリデバイス 60、68、80、88 コントローラ回路 62、70、82、90 キャッシュメモリ 64、66、72、74、84、86、92、94 出
力ドライバ
力ドライバ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アツール ヴィー ギア アメリカ合衆国 カリフォルニア州 サン ノゼ,サウスビュー ドライブ 5839 (72)発明者 サイモン ロー アメリカ合衆国 カリフォルニア州 フリ モント,ファース コート 1797
Claims (36)
- 【請求項1】 バスに結合されたメモリアクセスユニッ
トと、前記バスに結合され、固有の第1の識別指標が与
えられた少なくとも1つのメモリデバイスとを備え、 前記メモリデバイスは更に、 各々が前記メモリアクセスユニットによって与えられる
アドレスにより識別される複数のメモリロケーションを
有するメモリと、 前記メモリデバイスに固有な第1識別指標を受信し、更
に前記バスを通して第2識別指標を受信するように前記
メモリおよび前記バスに結合されたコントローラ回路と
を備え、 前記コントローラ回路は、前記第1識別指標と前記第2
識別指標とを比較するための比較回路を含み、前記第1
識別指標と前記第2識別指標とが一致した場合、前記メ
モリをイネーブルし、前記バスを通して与えられたアド
レスに対応するメモリロケーションで前記メモリアクセ
スユニットによってリクエストされたメモリオペレーシ
ョンを行わせる制御信号を発生するようになっているメ
モリシステム。 - 【請求項2】 前記実行されたメモリオペレーションの
結果を、前記バスを通して前記メモリアクセスユニット
へ与えるよう、前記コントローラ回路に結合された出力
ドライバ回路を更に含む、請求項1記載のメモリシステ
ム。 - 【請求項3】 前記第1識別指標と前記第2識別指標と
が一致しない場合、コントローラ回路は前記出力ドライ
バ回路をディスエーブルする、請求項2記載のメモリシ
ステム。 - 【請求項4】 前記バスにはN個のメモリデバイスが結
合されている、請求項3記載のメモリシステム。 - 【請求項5】 前記第1識別指標は識別番号を含む、請
求項4記載のメモリシステム。 - 【請求項6】 前記第2識別指標は、前記バスを通して
前記メモリアクセスユニットによって与えられる前記ア
ドレスの一部を含む、請求項4記載のメモリシステム。 - 【請求項7】 前記N個のメモリデバイスの各々には少
なくとも1つの二進数を含む識別番号が与えられてい
る、請求項5記載のメモリシステム。 - 【請求項8】 前記二進数は前記メモリデバイスが前記
バスに結合されている位置の関数である、請求項7記載
のメモリシステム。 - 【請求項9】 Nは4に等しい、請求項8記載のメモリ
システム。 - 【請求項10】 前記メモリアクセスユニットは中央処
理ユニット(CPU)を含む、請求項9記載のメモリシ
ステム。 - 【請求項11】 前記アドレスの前記一部は、前記CP
Uによって前記バスに結合された前記アドレスのうちの
所定のビットを含む、請求項10記載のメモリシステ
ム。 - 【請求項12】 前記メモリはキャッシュメモリであ
る、請求項11記載のメモリシステム。 - 【請求項13】 複数の個々にアドレス指定可能なメモ
リロケーションを有するメモリを含むメモリデバイスで
あって、 前記メモリデバイスに固有な第1識別指標を受信し、更
に前記メモリデバイスの外部の識別ソースによって与え
られる第2識別指標を受信するよう、前記メモリに結合
されたコントローラ回路を備え、 前記コントローラ回路は、前記第1識別指標と前記第2
識別指標とを比較するための比較回路を更に含み、前記
第1識別指標と前記第2識別指標とが一致した場合、前
記メモリに指示して、前記メモリ内の前記対応するメモ
リロケーションをアドレス指定するマルチビットアドレ
スを使用するアドレスソースにより特定されるメモリオ
ペレーションを行わせるようになっているメモリデバイ
ス。 - 【請求項14】 前記メモリオペレーションの結果を、
前記アドレスソースへ与えるよう、前記コントローラ回
路に結合された出力ドライバ回路を更に含む、請求項1
3記載のメモリデバイス。 - 【請求項15】 前記第1識別指標と前記第2識別指標
とが一致しない場合、コントローラ回路は前記出力ドラ
イバ回路をディスエーブルする、請求項14記載のメモ
リデバイス。 - 【請求項16】 前記メモリデバイスはバスを通して前
記アドレスソースと通信するように結合されている、請
求項15記載のメモリデバイス。 - 【請求項17】 前記バスにはN個のメモリデバイスが
結合されている、請求項16記載のメモリデバイス。 - 【請求項18】 前記第1識別指標は識別番号を含む、
請求項17記載のメモリデバイス。 - 【請求項19】 前記第2識別指標は前記マルチビット
のアドレスの一部を含む、請求項18記載のメモリデバ
イス。 - 【請求項20】 前記メモリデバイスの各々には少なく
とも1つの二進数を含む識別番号が与えられている、請
求項19記載のメモリデバイス。 - 【請求項21】 前記二進数は前記メモリデバイスが前
記バスに結合されている位置の関数である、請求項20
記載のメモリデバイス。 - 【請求項22】 前記アドレスソースおよび識別ソース
は中央処理ユニット(CPU)の一部として配置されて
いる、請求項21記載のメモリデバイス。 - 【請求項23】 前記メモリデバイスはキャッシュメモ
リを含む、請求項22記載のメモリデバイス。 - 【請求項24】 バスに結合された少なくとも1つのメ
モリデバイスとメモリアクセスユニットとを含み、前記
メモリデバイスは複数のメモリロケーションを備えたメ
モリを有し、前記メモリロケーションの各々は前記メモ
リアクセスユニットによって与えられるアドレスにより
識別されるメモリシステムにおいて、 前記メモリおよび前記バスに結合されたコントローラ回
路を使用して前記メモリデバイスに固有な第1識別指標
を受信するステップ(前記コントローラ回路は前記バス
を通して前記メモリアクセスユニットにより与えられる
第2識別指標を更に受信するようになっている)と、 前記第1識別指標と前記第2識別指標とを比較し、前記
第1識別指標と前記第2識別指標とが一致した場合、前
記コントローラ回路は前記メモリをイネーブルし、前記
アドレスに対応する前記メモリ内のメモリロケーション
で前記メモリアクセスユニットによってリクエストされ
たメモリオペレーションを行わせるための制御信号を発
生するステップとを含む、前記メモリにアクセスするた
めの方法。 - 【請求項25】 前記実行されたメモリオペレーション
の結果を、前記バスを通して前記メモリアクセスユニッ
トへ与えるよう、前記コントローラ回路に結合された出
力ドライバ回路を更に含む、請求項24記載の方法。 - 【請求項26】 前記第1識別指標と前記第2識別指標
とが一致しない場合、前記コントローラ回路は前記出力
ドライバ回路をディスエーブルする、請求項25記載の
方法。 - 【請求項27】 前記バスにはN個のメモリデバイスが
結合されている、請求項25記載の方法。 - 【請求項28】 前記第1識別指標は識別番号を含む、
請求項27記載の方法。 - 【請求項29】 前記第2識別指標は前記メモリアクセ
スユニットによって与えられる前記アドレスの一部を含
む、請求項28記載の方法。 - 【請求項30】 前記メモリアクセスユニットは中央処
理ユニット(CPU)を含む、請求項29記載の方法。 - 【請求項31】 複数の個々にアドレス指定可能な複数
のメモリロケーションを有するメモリを含むメモリデバ
イスにアクセスするための方法であって、 前記メモリに結合されたコントローラ回路を使用して前
記メモリデバイスに固有な識別番号および前記メモリデ
バイスの外部のアドレスソースによって与えられたマル
チビットのアドレスの一部を受信するステップと、 前記識別番号と前記マルチビットアドレスの前記一部と
を比較し、前記識別番号と前記マルチビットアドレスの
前記一部とが一致した場合、前記コントローラ回路は、
前記メモリに命令し、前記メモリ内の前記対応するメモ
リロケーションをアドレス指定する前記マルチビットア
ドレスを使用して、前記アドレスソースにより指定され
たメモリオペレーションを実行させるステップとを含
む、メモリデバイスにアクセスする方法。 - 【請求項32】 前記メモリオペレーションの結果を、
前記アドレスソースに与えるよう、前記コントローラ回
路に結合された出力ドライバ回路を更に含む、請求項3
1記載の方法。 - 【請求項33】 前記識別番号と前記マルチビットアド
レスの前記部分とが一致しない場合、前記コントローラ
回路は前記出力ドライバ回路をディスエーブルする、請
求項32記載の方法。 - 【請求項34】 前記メモリデバイスはバスを通して前
記アドレスソースと通信するように結合されている、請
求項33記載の方法。 - 【請求項35】 前記バスにはN個のメモリデバイスが
結合されている、請求項34記載の方法。 - 【請求項36】 前記識別番号は前記メモリデバイスが
前記バスに結合されている位置の関数である、請求項3
5記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US33655094A | 1994-11-09 | 1994-11-09 | |
| US336550 | 1994-11-09 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08227381A true JPH08227381A (ja) | 1996-09-03 |
Family
ID=23316603
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7288842A Pending JPH08227381A (ja) | 1994-11-09 | 1995-11-07 | メモリシステムおよびこのシステムにアクセスする方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US6000013A (ja) |
| EP (2) | EP1109102B1 (ja) |
| JP (1) | JPH08227381A (ja) |
| KR (1) | KR100391727B1 (ja) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6105081A (en) * | 1998-06-01 | 2000-08-15 | Advanced Micro Devices, Inc. | UART character matching used for address matching on a register-by-register basis |
| US6243791B1 (en) * | 1998-08-13 | 2001-06-05 | Hewlett-Packard Company | Method and architecture for data coherency in set-associative caches including heterogeneous cache sets having different characteristics |
| US6519682B2 (en) * | 1998-12-04 | 2003-02-11 | Stmicroelectronics, Inc. | Pipelined non-blocking level two cache system with inherent transaction collision-avoidance |
| JP3710649B2 (ja) * | 1999-06-28 | 2005-10-26 | 富士通株式会社 | マルチプロセッサシステム |
| GB2401967B (en) * | 1999-12-30 | 2005-01-05 | Intel Corp | Dual cache system |
| JP4022040B2 (ja) * | 2000-10-05 | 2007-12-12 | 松下電器産業株式会社 | 半導体デバイス |
| US6751704B2 (en) * | 2000-12-07 | 2004-06-15 | International Business Machines Corporation | Dual-L2 processor subsystem architecture for networking system |
| US7636795B2 (en) | 2004-06-30 | 2009-12-22 | Intel Corporation | Configurable feature selection mechanism |
| JP2007114890A (ja) * | 2005-10-18 | 2007-05-10 | Matsushita Electric Ind Co Ltd | 演算処理装置およびキャッシュ動作方法 |
| WO2007110898A1 (ja) * | 2006-03-24 | 2007-10-04 | Fujitsu Limited | マルチプロセッサシステムおよびマルチプロセッサシステムの動作方法 |
| DE102013108073B4 (de) * | 2013-07-29 | 2019-12-19 | Infineon Technologies Ag | Datenverarbeitungsanordnung und verfahren zur datenverarbeitung |
| US10019367B2 (en) | 2015-12-14 | 2018-07-10 | Samsung Electronics Co., Ltd. | Memory module, computing system having the same, and method for testing tag error thereof |
| KR102491651B1 (ko) * | 2015-12-14 | 2023-01-26 | 삼성전자주식회사 | 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4831625A (en) * | 1986-12-11 | 1989-05-16 | Texas Instruments Incorporated | Easily cascadable and testable cache memory |
| JPH0668735B2 (ja) * | 1987-02-09 | 1994-08-31 | 日本電気アイシーマイコンシステム株式会社 | キヤツシユメモリ− |
| US5025366A (en) * | 1988-01-20 | 1991-06-18 | Advanced Micro Devices, Inc. | Organization of an integrated cache unit for flexible usage in cache system design |
| JPH01217530A (ja) * | 1988-02-26 | 1989-08-31 | Hitachi Ltd | キヤツシユメモリ |
| US5202968A (en) * | 1988-03-30 | 1993-04-13 | Kabushiki Kaisha Toshiba | Expansion system |
| US5297268A (en) * | 1988-06-03 | 1994-03-22 | Dallas Semiconductor Corporation | ID protected memory with a readable/writable ID template |
| US4903299A (en) * | 1988-06-28 | 1990-02-20 | Dallas Semiconductor Corporation | ID protected memory with a maskable ID template |
| US5097409A (en) * | 1988-06-30 | 1992-03-17 | Wang Laboratories, Inc. | Multi-processor system with cache memories |
| JPH0291747A (ja) * | 1988-09-29 | 1990-03-30 | Hitachi Ltd | 情報処理装置 |
| KR900008516A (ko) * | 1988-11-01 | 1990-06-04 | 미다 가쓰시게 | 버퍼 기억장치 |
| US5014195A (en) * | 1990-05-10 | 1991-05-07 | Digital Equipment Corporation, Inc. | Configurable set associative cache with decoded data element enable lines |
| US5175833A (en) * | 1990-06-07 | 1992-12-29 | Intel Corporation | Apparatus for determining relative position of a cache memory in a cache memory array |
| US5276832A (en) * | 1990-06-19 | 1994-01-04 | Dell U.S.A., L.P. | Computer system having a selectable cache subsystem |
-
1995
- 1995-08-01 KR KR1019950023622A patent/KR100391727B1/ko not_active Expired - Fee Related
- 1995-10-03 EP EP01200776.1A patent/EP1109102B1/en not_active Expired - Lifetime
- 1995-10-03 EP EP95307035A patent/EP0712083A1/en not_active Withdrawn
- 1995-11-07 JP JP7288842A patent/JPH08227381A/ja active Pending
-
1996
- 1996-08-15 US US08/689,875 patent/US6000013A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP1109102B1 (en) | 2013-04-24 |
| EP1109102A2 (en) | 2001-06-20 |
| EP0712083A1 (en) | 1996-05-15 |
| EP1109102A3 (en) | 2008-10-01 |
| KR100391727B1 (ko) | 2003-11-01 |
| KR960018910A (ko) | 1996-06-17 |
| US6000013A (en) | 1999-12-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7287101B2 (en) | Direct memory access using memory descriptor list | |
| US6772237B2 (en) | Host controller interface descriptor fetching unit | |
| US6449671B1 (en) | Method and apparatus for busing data elements | |
| AU651747B2 (en) | Arbitration control logic for computer system having dual bus architecture | |
| US7188217B2 (en) | Embedded DRAM cache memory and method having reduced latency | |
| US6173353B1 (en) | Method and apparatus for dual bus memory transactions | |
| US5666515A (en) | Information processing system having multiple modules and a memory on a bus, where any module can lock an addressable portion of the memory by sending retry signals to other modules that try to read at the locked address | |
| US20050114559A1 (en) | Method for efficiently processing DMA transactions | |
| US20050289317A1 (en) | Method and related apparatus for accessing memory | |
| US5313591A (en) | Computer bus arbitration for N processors requiring only N unidirectional signal leads | |
| EP0627688A1 (en) | Provision of accurate and complete communication between different bus architectures | |
| KR100391727B1 (ko) | 메모리시스템및메모리억세싱방법 | |
| US6212587B1 (en) | Device proxy agent for hiding computing devices on a computer bus | |
| WO1997034228A1 (fr) | Unite de traitement d'informations comportant une fonction permettant de supprimer les effractions, unite de commande de memoire et procede de traitement d'acces direct en memoire | |
| US5829035A (en) | System and method for preventing stale data in multiple processor computer systems | |
| US5895496A (en) | System for an method of efficiently controlling memory accesses in a multiprocessor computer system | |
| EP0525736A1 (en) | Data storing system for a communication control circuit | |
| JPH05108484A (ja) | キヤツシユメモリ | |
| US12561268B2 (en) | Device and method for adaptive bus protocol | |
| US6397291B2 (en) | Method and apparatus for retrieving data from a data storage device | |
| USRE38514E1 (en) | System for and method of efficiently controlling memory accesses in a multiprocessor computer system | |
| US6795911B1 (en) | Computing device having instructions which access either a permanently fixed default memory bank or a memory bank specified by an immediately preceding bank selection instruction | |
| JP2002024007A (ja) | プロセッサシステム | |
| US5960456A (en) | Method and apparatus for providing a readable and writable cache tag memory | |
| US20070299991A1 (en) | DMA module and operating system therefor |