JP2576827B2 - デュアル・ポート・コンピュータ・メモリ装置、アクセス方法、コンピュータ・メモリ装置、及びメモリ構造 - Google Patents
デュアル・ポート・コンピュータ・メモリ装置、アクセス方法、コンピュータ・メモリ装置、及びメモリ構造Info
- Publication number
- JP2576827B2 JP2576827B2 JP6036894A JP3689494A JP2576827B2 JP 2576827 B2 JP2576827 B2 JP 2576827B2 JP 6036894 A JP6036894 A JP 6036894A JP 3689494 A JP3689494 A JP 3689494A JP 2576827 B2 JP2576827 B2 JP 2576827B2
- Authority
- JP
- Japan
- Prior art keywords
- word
- line
- word line
- address
- section
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0853—Cache with multiport tag or data arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/16—Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0877—Cache access modes
- G06F12/0886—Variable-length word access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Static Random-Access Memory (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【産業上の利用分野】本発明はコンピュータ・システム
において使用されるデュアル・ポート・メモリ装置の分
野に関する。
において使用されるデュアル・ポート・メモリ装置の分
野に関する。
【0002】
【従来の技術】高速の処理を達成するために、幾つかの
コンピュータでは幾つかの独立な実行ユニットを有し、
これらのユニットの幾つかは並行してコンピュータ・メ
モリをアクセスすることが可能である。これらのメモリ
は命令及びデータを記憶するためのキャッシュ・メモリ
を含み、これらはより速い実行スピードを達成するため
に使用される。
コンピュータでは幾つかの独立な実行ユニットを有し、
これらのユニットの幾つかは並行してコンピュータ・メ
モリをアクセスすることが可能である。これらのメモリ
は命令及びデータを記憶するためのキャッシュ・メモリ
を含み、これらはより速い実行スピードを達成するため
に使用される。
【0003】従来の幾つかのメモリ装置は、1つの単一
アクセス・ポートを提供する。しかしながら、複数のア
クセス・ポートを支援するために、他の特殊なメモリ回
路が開発されてきた。これらはコンピュータ内の複数の
実行ユニットが、同時に幾つかのワードから成る情報を
要求する時に使用される。こうしたメモリは、通常、多
重ポート・メモリとして知られている。
アクセス・ポートを提供する。しかしながら、複数のア
クセス・ポートを支援するために、他の特殊なメモリ回
路が開発されてきた。これらはコンピュータ内の複数の
実行ユニットが、同時に幾つかのワードから成る情報を
要求する時に使用される。こうしたメモリは、通常、多
重ポート・メモリとして知られている。
【0004】幾つかのコンピュータは、幾つかの命令を
並行に実行するため、1度に複数の命令ワードを提供さ
れる必要がある。各アクセス・オペレーションに対し
て、複数の命令ワードを提供可能な命令メモリが開発さ
れてきた。1サイクルにおいて、こうしたメモリが適切
にアドレスされると、これらは単一のメモリ・ライン内
のワード数に等しい多数の命令を提供することができ
る。すなわち、メモリ・ラインが複数の命令ワードから
成る。例えば、アクセスされる最下位ワードのアドレス
が、キャッシュ・メモリ・ラインのサイズの丁度倍数に
相当する時、キャッシュ・メモリは単一のワード・ライ
ン内に全てのワードの情報を提供することができる。特
に、キャッシュ・メモリが4ワードの隣接キャッシュ・
ライン(ライン内で0乃至3に番号付けされる)により
構成され、アドレスの下位2ビットが0に対応する場
合、キャッシュ・ラインの完全な4ワードが1メモリ・
サイクル・オペレーション内に読出される。しかしなが
ら、アクセスされるメモリ・ロケーションのアドレスの
キャッシュ・ライン・サイズによるモジュロ(modulo)
が0でない(ここでは、アクセスされるメモリ・ロケー
ションのアドレス(A)とキャッシュ・ライン・サイズ
(S)の関係、AモジュロSが0でないこと、すなわち
AがSの倍数でないことを示す。)場合(すなわち、こ
の例では1と仮定する)、メモリは1サイクルにおい
て、フル・メモリ・ラインに含まれるワード数(ここで
は4ワード)よりも少ないワードのブロックを読出す。
この例では、第1ラインの位置1から始まる3ワードが
第1サイクルにおいて読出される。次にフル・ライン
(ここでは4)をラウンド・アウトする残りのワード
が、続くサイクルにおいて、次のワード・ラインから読
出される。この例では、次のラインの位置0で始まる1
ワードが次のサイクルで読出される。従来技術では、フ
ルのキャッシュ・ラインが要求され、アドレスのキャッ
シュ・ライン・サイズによるモジュロが0に等しくない
場合、多重キャッシュ・ラインから情報を読出すため
に、複数のサイクルを要した。
並行に実行するため、1度に複数の命令ワードを提供さ
れる必要がある。各アクセス・オペレーションに対し
て、複数の命令ワードを提供可能な命令メモリが開発さ
れてきた。1サイクルにおいて、こうしたメモリが適切
にアドレスされると、これらは単一のメモリ・ライン内
のワード数に等しい多数の命令を提供することができ
る。すなわち、メモリ・ラインが複数の命令ワードから
成る。例えば、アクセスされる最下位ワードのアドレス
が、キャッシュ・メモリ・ラインのサイズの丁度倍数に
相当する時、キャッシュ・メモリは単一のワード・ライ
ン内に全てのワードの情報を提供することができる。特
に、キャッシュ・メモリが4ワードの隣接キャッシュ・
ライン(ライン内で0乃至3に番号付けされる)により
構成され、アドレスの下位2ビットが0に対応する場
合、キャッシュ・ラインの完全な4ワードが1メモリ・
サイクル・オペレーション内に読出される。しかしなが
ら、アクセスされるメモリ・ロケーションのアドレスの
キャッシュ・ライン・サイズによるモジュロ(modulo)
が0でない(ここでは、アクセスされるメモリ・ロケー
ションのアドレス(A)とキャッシュ・ライン・サイズ
(S)の関係、AモジュロSが0でないこと、すなわち
AがSの倍数でないことを示す。)場合(すなわち、こ
の例では1と仮定する)、メモリは1サイクルにおい
て、フル・メモリ・ラインに含まれるワード数(ここで
は4ワード)よりも少ないワードのブロックを読出す。
この例では、第1ラインの位置1から始まる3ワードが
第1サイクルにおいて読出される。次にフル・ライン
(ここでは4)をラウンド・アウトする残りのワード
が、続くサイクルにおいて、次のワード・ラインから読
出される。この例では、次のラインの位置0で始まる1
ワードが次のサイクルで読出される。従来技術では、フ
ルのキャッシュ・ラインが要求され、アドレスのキャッ
シュ・ライン・サイズによるモジュロが0に等しくない
場合、多重キャッシュ・ラインから情報を読出すため
に、複数のサイクルを要した。
【0005】従来技術は多重ポート(特にデュアル・ポ
ート)メモリ・デバイスをインプリメントする様々な方
法を含む。幾つかのメモリ装置では、独立な電気配線を
通じてメモリ記憶セルをアクセスするために、複数のワ
ード・ライン及びビット・ラインを使用する。このアプ
ローチは単一のポート・メモリと比較すると、通常、余
分な配線を収容するために、シリコン集積回路上にかな
り大きな領域を必要とする。また、これはメモリ内容を
ビット・ラインから読出すために必要なセンス増幅器の
複製を必要とし、1つのセンス増幅器がビット・ライン
の各セットに対応して必要となる。他の従来のデュアル
・ポート・メモリ・システムは、インターリーブド・メ
モリを使用する。インターリーブド・メモリは独立な単
一ポート・メモリの幾つかのブロックを有する。インタ
ーリーブド・デュアル・ポート・メモリは、読出される
又は書込まれるデータのアドレスが異なるブロックに配
置される場合に、同一マシン・サイクルにおいて、異な
るブロックをアクセス可能である。こうしたケース以外
は(すなわち2つのアドレスが同一ブロック内に存在す
る場合)、情報は同一のブロックから読出されるか書込
まれなければならず、インターリーブド・メモリは単一
ポート・メモリのように振る舞い、情報をアクセスする
ために2サイクル以上が必要となる。インターリーブド
・メモリはメモリ配列内においてワード・ライン及びビ
ット・ラインの複数のセットを使用する必要はないが、
アドレス・デコーダ、センス増幅器、及び読出し/書込
み制御回路などの他の回路の複製を必要とする。従っ
て、インターリーブド・メモリが集積回路にインプリメ
ントされる場合、典型的には、同一容量の単一ポート・
メモリに比較して、密度が低下する。
ート)メモリ・デバイスをインプリメントする様々な方
法を含む。幾つかのメモリ装置では、独立な電気配線を
通じてメモリ記憶セルをアクセスするために、複数のワ
ード・ライン及びビット・ラインを使用する。このアプ
ローチは単一のポート・メモリと比較すると、通常、余
分な配線を収容するために、シリコン集積回路上にかな
り大きな領域を必要とする。また、これはメモリ内容を
ビット・ラインから読出すために必要なセンス増幅器の
複製を必要とし、1つのセンス増幅器がビット・ライン
の各セットに対応して必要となる。他の従来のデュアル
・ポート・メモリ・システムは、インターリーブド・メ
モリを使用する。インターリーブド・メモリは独立な単
一ポート・メモリの幾つかのブロックを有する。インタ
ーリーブド・デュアル・ポート・メモリは、読出される
又は書込まれるデータのアドレスが異なるブロックに配
置される場合に、同一マシン・サイクルにおいて、異な
るブロックをアクセス可能である。こうしたケース以外
は(すなわち2つのアドレスが同一ブロック内に存在す
る場合)、情報は同一のブロックから読出されるか書込
まれなければならず、インターリーブド・メモリは単一
ポート・メモリのように振る舞い、情報をアクセスする
ために2サイクル以上が必要となる。インターリーブド
・メモリはメモリ配列内においてワード・ライン及びビ
ット・ラインの複数のセットを使用する必要はないが、
アドレス・デコーダ、センス増幅器、及び読出し/書込
み制御回路などの他の回路の複製を必要とする。従っ
て、インターリーブド・メモリが集積回路にインプリメ
ントされる場合、典型的には、同一容量の単一ポート・
メモリに比較して、密度が低下する。
【0006】従来技術の問題の指摘:従来の多重ポート
・メモリ回路は幾つかの制限を有する。メモリ内の記憶
ロケーションに対する同時アクセスを達成するために、
ワード・ライン及びビット・ラインの複数のセットを使
用することは、一般に、余分なチップ空間、回路の複雑
化の増加、より多くの実行時間、及び単一ポート・メモ
リ・デバイスに比較して高いコストを必要とする。従来
技術による多重ポート・メモリ回路は、命令キャッシュ
・メモリ内の異なるワード・ラインを、1メモリ・サイ
クル内でアクセスすることができない。従来の技術では
更に、命令キャッシュ・メモリから整列されていないキ
ャッシュ・ラインを読出すために、複数のサイクルを必
要とする。
・メモリ回路は幾つかの制限を有する。メモリ内の記憶
ロケーションに対する同時アクセスを達成するために、
ワード・ライン及びビット・ラインの複数のセットを使
用することは、一般に、余分なチップ空間、回路の複雑
化の増加、より多くの実行時間、及び単一ポート・メモ
リ・デバイスに比較して高いコストを必要とする。従来
技術による多重ポート・メモリ回路は、命令キャッシュ
・メモリ内の異なるワード・ラインを、1メモリ・サイ
クル内でアクセスすることができない。従来の技術では
更に、命令キャッシュ・メモリから整列されていないキ
ャッシュ・ラインを読出すために、複数のサイクルを必
要とする。
【0007】
【発明が解決しようとする課題】本発明の目的は、1セ
ットのワード・ライン及びビット・ラインだけを必要と
する、改良されたデュアル・ポート・メモリ装置を提供
することである。
ットのワード・ライン及びビット・ラインだけを必要と
する、改良されたデュアル・ポート・メモリ装置を提供
することである。
【0008】本発明の別の目的は、隣接するワード・ラ
イン上の読出し/書込みオペレーションを1マシン・サ
イクルで達成可能な改良されたメモリ装置を提供するこ
とである。
イン上の読出し/書込みオペレーションを1マシン・サ
イクルで達成可能な改良されたメモリ装置を提供するこ
とである。
【0009】用語の定義:メモリ配列はN垂直列×M水
平行の記憶ワードのマトリクスである。配列には合計T
個(N×M)のワードが存在する。列内の各ワードは複
数の記憶ビット(又はセル)を含む。記憶セル内に記憶
される情報は、'ビット・ライン'(典型的には'ビット
・ライン対'と称される2本のラインが、情報を相補形
式で読出すために使用される)を通じてアクセスされ、
アクセスが適切なアクセス・デバイスにより制御され
る。メモリ列内のワード内の全ての記憶セルは、同一の
'ワード・ライン' に接続されるビット・ライン・アク
セス・デバイスを有する。列内の情報の各ビットは'ビ
ット・ライン'(対)に接続される。1ワードがJビッ
トを含む場合、一般に、フル・キャッシュ・ラインに対
応してJ×N個のビット・ライン(対)が必要となる。
(半導体メモリの構成に関しては、R.L.Geiger、P.
E.Allen、N.R.Strader著 "VLSI Design Techniques
for Analog andDigital Circuits"(McGraw-Hill Publi
shing Company(1990年)、page 822 など)を参照
されたい。)
平行の記憶ワードのマトリクスである。配列には合計T
個(N×M)のワードが存在する。列内の各ワードは複
数の記憶ビット(又はセル)を含む。記憶セル内に記憶
される情報は、'ビット・ライン'(典型的には'ビット
・ライン対'と称される2本のラインが、情報を相補形
式で読出すために使用される)を通じてアクセスされ、
アクセスが適切なアクセス・デバイスにより制御され
る。メモリ列内のワード内の全ての記憶セルは、同一の
'ワード・ライン' に接続されるビット・ライン・アク
セス・デバイスを有する。列内の情報の各ビットは'ビ
ット・ライン'(対)に接続される。1ワードがJビッ
トを含む場合、一般に、フル・キャッシュ・ラインに対
応してJ×N個のビット・ライン(対)が必要となる。
(半導体メモリの構成に関しては、R.L.Geiger、P.
E.Allen、N.R.Strader著 "VLSI Design Techniques
for Analog andDigital Circuits"(McGraw-Hill Publi
shing Company(1990年)、page 822 など)を参照
されたい。)
【0010】次に述べる説明では、メモリ配列が以下の
ように構成されるものと仮定する。行内のワードは左か
ら右に昇順に構成され、ワードの行は下から上に昇順に
構成される。従って、配列の最左端の下隅のワードが最
下位メモリ・アドレスに対応し、配列の最右端の上隅の
ワードが最上位メモリ・アドレスに対応する。もちろん
他の順序構成も可能である。
ように構成されるものと仮定する。行内のワードは左か
ら右に昇順に構成され、ワードの行は下から上に昇順に
構成される。従って、配列の最左端の下隅のワードが最
下位メモリ・アドレスに対応し、配列の最右端の上隅の
ワードが最上位メモリ・アドレスに対応する。もちろん
他の順序構成も可能である。
【0011】記憶セル又は記憶ビット(時にはビットと
も称される)は、情報の1ビットを記憶するメモリ配列
内のハードウェア・ロケーションである。
も称される)は、情報の1ビットを記憶するメモリ配列
内のハードウェア・ロケーションである。
【0012】キャッシュ・ラインはメモリ配列の全体の
行である。キャッシュ・ラインは、キャッシュ・メモリ
として機能する配列内で使用されるメモリの複数のワー
ドを含む。
行である。キャッシュ・ラインは、キャッシュ・メモリ
として機能する配列内で使用されるメモリの複数のワー
ドを含む。
【0013】アクセス・ポートは、メモリ配列内の特定
のワード・ロケーションを決定するアドレス・ラインの
セット、データをメモリ配列に及びメモリ配列から転送
するデータ・ラインのセット、及びメモリ上で要求され
るオペレーションのタイプ(すなわち読出し又は書込
み)及びオペレーション・タイミングを決定するための
制御ラインのセットを含む。
のワード・ロケーションを決定するアドレス・ラインの
セット、データをメモリ配列に及びメモリ配列から転送
するデータ・ラインのセット、及びメモリ上で要求され
るオペレーションのタイプ(すなわち読出し又は書込
み)及びオペレーション・タイミングを決定するための
制御ラインのセットを含む。
【0014】行デコーダ(ワード・ライン・デコーダと
も称される)は、任意のメモリ・オペレーションにおい
てアクセスされなければならないメモリ・ワード・ライ
ンを決定する電子デバイスである。任意のメモリ・オペ
レーションに対応して、1個の2進デコーダが多くても
1ワード・ラインをイネーブルする。本開示において使
用されるデコーダは、従来のメモリ・デバイスにおいて
使用されるものと同じでよい。ワード・デコーダへの入
力は、メモリに対するフル・アドレス・ラインのサブセ
ットである。アドレスの1部は、アクセスされる情報が
存在するワード・ライン又は行を決定するために使用さ
れる。アドレスの残りのビット(すなわち行デコーダ内
で使用されないビット)は、ワード・ライン内の情報の
ロケーションを一意的に選択するために、列デコーダに
より使用される。
も称される)は、任意のメモリ・オペレーションにおい
てアクセスされなければならないメモリ・ワード・ライ
ンを決定する電子デバイスである。任意のメモリ・オペ
レーションに対応して、1個の2進デコーダが多くても
1ワード・ラインをイネーブルする。本開示において使
用されるデコーダは、従来のメモリ・デバイスにおいて
使用されるものと同じでよい。ワード・デコーダへの入
力は、メモリに対するフル・アドレス・ラインのサブセ
ットである。アドレスの1部は、アクセスされる情報が
存在するワード・ライン又は行を決定するために使用さ
れる。アドレスの残りのビット(すなわち行デコーダ内
で使用されないビット)は、ワード・ライン内の情報の
ロケーションを一意的に選択するために、列デコーダに
より使用される。
【0015】ワード・ラインの駆動は、任意の行内のメ
モリ記憶素子をビット・ラインに接続する(又はビット
・ラインから切断する)ために、電気信号をワード・ラ
イン配線上にセットすることを意味する。典型的には、
これはワード・ラインをグラウンド電位又は電源電位に
接続することに相当する。
モリ記憶素子をビット・ラインに接続する(又はビット
・ラインから切断する)ために、電気信号をワード・ラ
イン配線上にセットすることを意味する。典型的には、
これはワード・ラインをグラウンド電位又は電源電位に
接続することに相当する。
【0016】ワード・ラインをイネーブルすることは、
任意の行のメモリ記憶素子がビット・ラインに接続され
るように、ワード・ライン配線を電気信号により駆動す
ることを意味する。
任意の行のメモリ記憶素子がビット・ラインに接続され
るように、ワード・ライン配線を電気信号により駆動す
ることを意味する。
【0017】ワード・ラインの切断は、ワード・ライン
上の電気信号が切断の一方の側から駆動される場合に、
その信号が他の側に伝播しないように、任意の行内のワ
ード又はビット間のロケーションにおけるワード・ライ
ンを開放することを意味する。ここではワード・ライン
のセクションがワード・ライン・デコーダから切断され
ている場合に、そのセクションが接続される記憶セルを
イネーブルしない状態を維持するものとする。
上の電気信号が切断の一方の側から駆動される場合に、
その信号が他の側に伝播しないように、任意の行内のワ
ード又はビット間のロケーションにおけるワード・ライ
ンを開放することを意味する。ここではワード・ライン
のセクションがワード・ライン・デコーダから切断され
ている場合に、そのセクションが接続される記憶セルを
イネーブルしない状態を維持するものとする。
【0018】メモリ・ワードの読出しは、メモリ・ワー
ドの記憶セルをビット・ラインに接続することにより達
成される。これは対応するワード・ラインをイネーブル
し、ビット・ラインを介して電気信号をセンス増幅器に
受信することにより実施される。
ドの記憶セルをビット・ラインに接続することにより達
成される。これは対応するワード・ラインをイネーブル
し、ビット・ラインを介して電気信号をセンス増幅器に
受信することにより実施される。
【0019】メモリ・ワードの書込みは、メモリ・ワー
ドの記憶セルをビット・ラインに接続し、対応するワー
ド・ラインをイネーブルし、所望の電気信号を記憶セル
に強要する適切な書込み回路を使用することにより達成
される。
ドの記憶セルをビット・ラインに接続し、対応するワー
ド・ラインをイネーブルし、所望の電気信号を記憶セル
に強要する適切な書込み回路を使用することにより達成
される。
【0020】
【課題を解決するための手段】本発明は、メモリ・デバ
イス内のワード・ラインのオペレーションの制御に基づ
き、デュアル・ポート・メモリをインプリメントする改
良された方法及び装置を提供する。この方法はコンピュ
ータ・システム内にデュアル・ポート・データ・キャッ
シュ・メモリ及び命令キャッシュ・メモリの両者を生成
するために使用される。
イス内のワード・ラインのオペレーションの制御に基づ
き、デュアル・ポート・メモリをインプリメントする改
良された方法及び装置を提供する。この方法はコンピュ
ータ・システム内にデュアル・ポート・データ・キャッ
シュ・メモリ及び命令キャッシュ・メモリの両者を生成
するために使用される。
【0021】最初に、データ・キャッシュ・メモリに関
する装置及び方法について説明する。メモリ構造は、通
常、幾つかの行を有する配列を含み、各行は等しい数の
ビット(メモリ記憶セル又は素子)を有する。各行は任
意の数のワードに区分され、ワードは行内のビットから
構成される。各行のワード内のメモリ記憶セル又は素子
(ビット)は、ビット・ライン・アクセス・デバイスを
イネーブルするその行に対応するワード・ラインによ
り、それぞれのビット・ラインに接続される。
する装置及び方法について説明する。メモリ構造は、通
常、幾つかの行を有する配列を含み、各行は等しい数の
ビット(メモリ記憶セル又は素子)を有する。各行は任
意の数のワードに区分され、ワードは行内のビットから
構成される。各行のワード内のメモリ記憶セル又は素子
(ビット)は、ビット・ライン・アクセス・デバイスを
イネーブルするその行に対応するワード・ラインによ
り、それぞれのビット・ラインに接続される。
【0022】本装置は2個の行デコーダを使用し、それ
ぞれがワード・ラインの各サイド(すなわち左側と右
側)に設けられる。デコーダへ入力されるアドレスが、
特定の行のアクセスを示す時に、各行デコーダは任意の
ワード・ラインをイネーブルする。活動化されるワード
・ラインの記憶セルが、適切な回路(すなわちセンス増
幅器又は書込み制御回路)に接続されるビット・ライン
によりアクセス(読出し又は書込み)される。異なる電
気信号により同一のワード・ラインを駆動する行デコー
ダ間の衝突を回避するために、ワード・ライン・アクセ
ス・スイッチが行内のワード境界間のロケーションに配
置される。アクセス・スイッチはワード・ラインを2つ
の別のセクションに切断することができる。これらのス
イッチを活動化するための制御信号が制御論理により提
供される。メモリが読出し/書込みのためにアクセスさ
れない時、スイッチは通常、クローズされる。すなわ
ち、各ワード・ラインはフルに接続され、両方のデコー
ダはワード・ラインをイネーブルしない。2ポート・オ
ペレーションが要求される時、適切な制御論理がこれら
のスイッチへの制御信号を決定し、スイッチをクローズ
の状態に維持するか、或いは要求に従いそれらをオープ
ンする。
ぞれがワード・ラインの各サイド(すなわち左側と右
側)に設けられる。デコーダへ入力されるアドレスが、
特定の行のアクセスを示す時に、各行デコーダは任意の
ワード・ラインをイネーブルする。活動化されるワード
・ラインの記憶セルが、適切な回路(すなわちセンス増
幅器又は書込み制御回路)に接続されるビット・ライン
によりアクセス(読出し又は書込み)される。異なる電
気信号により同一のワード・ラインを駆動する行デコー
ダ間の衝突を回避するために、ワード・ライン・アクセ
ス・スイッチが行内のワード境界間のロケーションに配
置される。アクセス・スイッチはワード・ラインを2つ
の別のセクションに切断することができる。これらのス
イッチを活動化するための制御信号が制御論理により提
供される。メモリが読出し/書込みのためにアクセスさ
れない時、スイッチは通常、クローズされる。すなわ
ち、各ワード・ラインはフルに接続され、両方のデコー
ダはワード・ラインをイネーブルしない。2ポート・オ
ペレーションが要求される時、適切な制御論理がこれら
のスイッチへの制御信号を決定し、スイッチをクローズ
の状態に維持するか、或いは要求に従いそれらをオープ
ンする。
【0023】命令キャッシュ・メモリにおいて使用され
る装置及び方法について次に説明する。命令メモリの具
体化は、1個の行デコーダ、及びワード・ラインのワー
ド境界間に配置される制御スイッチのセットを有する上
述の装置を必要とする。制御スイッチは従って全てのワ
ード・ラインを2つのセクションに分割可能であり、一
方は直接行デコーダに接続され、他方はこのデコーダか
ら切断される。制御スイッチはまた、アドレスされる行
の接続されるセクションを、次の隣接行の切断されるセ
クションに結合し、この最後のセクションに対して別の
接続を提供する。丁度キャッシュ・ライン境界上で開始
するアドレスにおいて、フル・キャッシュ・ラインが要
求される時、メモリは従来のメモリ配列として振る舞
い、フル・キャッシュ・ラインがアクセスされる。しか
しながら、開始アドレスがキャッシュ・ライン・サイズ
の倍数に合致しない場合、適切な制御論理が適切な制御
スイッチを活動化し、アドレスされるワード・ラインの
活動サイド(開始アドレス又はベース・アドレスにより
決定される)をイネーブルする一方、配列の次の隣接ワ
ード・ラインの非活動サイドをイネーブルする。2つの
イネーブルされる部分が1マシン・サイクル内でアクセ
スされ、命令の1フル・キャッシュ・ラインに対するア
クセスを提供する。命令の完全な行がポートに配置され
る以前に、データ配列回路が命令を適切な方法で順序化
する。
る装置及び方法について次に説明する。命令メモリの具
体化は、1個の行デコーダ、及びワード・ラインのワー
ド境界間に配置される制御スイッチのセットを有する上
述の装置を必要とする。制御スイッチは従って全てのワ
ード・ラインを2つのセクションに分割可能であり、一
方は直接行デコーダに接続され、他方はこのデコーダか
ら切断される。制御スイッチはまた、アドレスされる行
の接続されるセクションを、次の隣接行の切断されるセ
クションに結合し、この最後のセクションに対して別の
接続を提供する。丁度キャッシュ・ライン境界上で開始
するアドレスにおいて、フル・キャッシュ・ラインが要
求される時、メモリは従来のメモリ配列として振る舞
い、フル・キャッシュ・ラインがアクセスされる。しか
しながら、開始アドレスがキャッシュ・ライン・サイズ
の倍数に合致しない場合、適切な制御論理が適切な制御
スイッチを活動化し、アドレスされるワード・ラインの
活動サイド(開始アドレス又はベース・アドレスにより
決定される)をイネーブルする一方、配列の次の隣接ワ
ード・ラインの非活動サイドをイネーブルする。2つの
イネーブルされる部分が1マシン・サイクル内でアクセ
スされ、命令の1フル・キャッシュ・ラインに対するア
クセスを提供する。命令の完全な行がポートに配置され
る以前に、データ配列回路が命令を適切な方法で順序化
する。
【0024】
【実施例】図1は、複数の機能ユニット101乃至10
4を使用する一般的なコンピュータ・アーキテクチャ1
00('スーパースケーラ・アーキテクチャ'とも称され
る)を示す。コンピュータ主処理ユニット110は幾つ
かのユニット(命令フェッチ/ディスパッチ・ユニット
101、2つの整数ユニット102、2つのロード/ス
トア・ユニット103、及び1つの浮動小数点ユニット
104)を含み、幾つかの命令を並行して実行すること
ができる。2つのロード/ストア・ユニット103が並
列に機能することを可能とするために、データ・キャッ
シュ120は2ポート135を有するメモリ配列130
を有する。本発明はこうしたデータ・キャッシュ・メモ
リ配列130の構成及びオペレーションに関する。図1
に示されるスーパースケーラ・コンピュータは、同一の
マシン・サイクルの間に、1度に幾つかの命令を読出し
及び実行することができる。命令及びデータへの同時及
び独立なアクセスを可能とするために、命令キャッシュ
・メモリ240及びデータ・キャッシュ・メモリ120
は独立である。
4を使用する一般的なコンピュータ・アーキテクチャ1
00('スーパースケーラ・アーキテクチャ'とも称され
る)を示す。コンピュータ主処理ユニット110は幾つ
かのユニット(命令フェッチ/ディスパッチ・ユニット
101、2つの整数ユニット102、2つのロード/ス
トア・ユニット103、及び1つの浮動小数点ユニット
104)を含み、幾つかの命令を並行して実行すること
ができる。2つのロード/ストア・ユニット103が並
列に機能することを可能とするために、データ・キャッ
シュ120は2ポート135を有するメモリ配列130
を有する。本発明はこうしたデータ・キャッシュ・メモ
リ配列130の構成及びオペレーションに関する。図1
に示されるスーパースケーラ・コンピュータは、同一の
マシン・サイクルの間に、1度に幾つかの命令を読出し
及び実行することができる。命令及びデータへの同時及
び独立なアクセスを可能とするために、命令キャッシュ
・メモリ240及びデータ・キャッシュ・メモリ120
は独立である。
【0025】こうした一般的アーキテクチャの詳細オペ
レーションについては、MikeJohnson著"Superscalar Mi
croprocessor Design"(Prentice Hall、1991、page44
など)に述べられている。
レーションについては、MikeJohnson著"Superscalar Mi
croprocessor Design"(Prentice Hall、1991、page44
など)に述べられている。
【0026】図2は図1に示されるものと同一の一般的
スーパースケーラ・コンピュータ・アーキテクチャ20
0を示す。ここでは命令ユニット101、整数ユニット
102、ロード/ストア・ユニット103、及び浮動小
数点ユニット104は上述と同じ機能を実行する。本発
明はデータ・キャッシュ・メモリ120内のデュアル・
ポート・メモリ配列130として使用される。しかしな
がら、本発明はまた命令キャッシュ・メモリ配列240
としても使用され、命令フェッチ要求の命令メモリ配列
250の開始アドレス(ベース・アドレス)とは無関係
に、フル命令キャッシュ・ラインに対する命令ユニット
101アクセスを提供する。命令フェッチ/ディスパッ
チ・ユニット101は、パス245を介して、命令キャ
ッシュ240から同時に複数の命令を読出し、それらを
適切な実行ユニット102乃至104にディスパッチす
る。命令キャッシュ240の目的は、常に主処理ユニッ
ト110に、主処理ユニット110が処理可能な最大数
の命令を提供することである。読出される命令のこの最
大数は、命令キャッシュ・メモリ内のライン内のワード
数に等しい。
スーパースケーラ・コンピュータ・アーキテクチャ20
0を示す。ここでは命令ユニット101、整数ユニット
102、ロード/ストア・ユニット103、及び浮動小
数点ユニット104は上述と同じ機能を実行する。本発
明はデータ・キャッシュ・メモリ120内のデュアル・
ポート・メモリ配列130として使用される。しかしな
がら、本発明はまた命令キャッシュ・メモリ配列240
としても使用され、命令フェッチ要求の命令メモリ配列
250の開始アドレス(ベース・アドレス)とは無関係
に、フル命令キャッシュ・ラインに対する命令ユニット
101アクセスを提供する。命令フェッチ/ディスパッ
チ・ユニット101は、パス245を介して、命令キャ
ッシュ240から同時に複数の命令を読出し、それらを
適切な実行ユニット102乃至104にディスパッチす
る。命令キャッシュ240の目的は、常に主処理ユニッ
ト110に、主処理ユニット110が処理可能な最大数
の命令を提供することである。読出される命令のこの最
大数は、命令キャッシュ・メモリ内のライン内のワード
数に等しい。
【0027】図3は本発明によるワード・ライン・アク
セス制御方法を使用するデュアル・ポート・メモリ30
0の構造を示す。デュアル・ポート・メモリ300は図
1のブロック120において使用される1実施例であ
る。デュアル・ポート・メモリ300はメモリ配列32
0、メモリ配列320のワード・ライン(典型的には3
25)を駆動する左行デコーダ344及び右行デコーダ
346、2つのデータ・マルチプレクサ(314及び3
16)、アドレス比較器及び制御論理ブロック360、
及びアドレス・マルチプレクサ350を含む。
セス制御方法を使用するデュアル・ポート・メモリ30
0の構造を示す。デュアル・ポート・メモリ300は図
1のブロック120において使用される1実施例であ
る。デュアル・ポート・メモリ300はメモリ配列32
0、メモリ配列320のワード・ライン(典型的には3
25)を駆動する左行デコーダ344及び右行デコーダ
346、2つのデータ・マルチプレクサ(314及び3
16)、アドレス比較器及び制御論理ブロック360、
及びアドレス・マルチプレクサ350を含む。
【0028】この実施例では、配列320において実行
されるオペレーションのタイプが、制御ライン371、
372、373及び374により決定される。制御ライ
ン371はアクセス・ポート0に対する読出し要求であ
る。制御ライン372はアクセス・ポート0に対する書
込み要求である。制御ライン373はアクセス・ポート
1に対する読出し要求であり、制御ライン374はアク
セス・ポート1に対する書込み要求である。
されるオペレーションのタイプが、制御ライン371、
372、373及び374により決定される。制御ライ
ン371はアクセス・ポート0に対する読出し要求であ
る。制御ライン372はアクセス・ポート0に対する書
込み要求である。制御ライン373はアクセス・ポート
1に対する読出し要求であり、制御ライン374はアク
セス・ポート1に対する書込み要求である。
【0029】好適なメモリ配列320は、記憶セルの行
(典型的には326)を任意のビット長のワードと称さ
れるグループに編成される。メモリ配列320はまた、
境界(典型的には380、381、382、383及び
384)により定義される列を有する。本実施例では、
境界が各行を4つのワードに分割する。
(典型的には326)を任意のビット長のワードと称さ
れるグループに編成される。メモリ配列320はまた、
境界(典型的には380、381、382、383及び
384)により定義される列を有する。本実施例では、
境界が各行を4つのワードに分割する。
【0030】メモリ配列320において、列内のワード
は、行内の最下位アドレスに対応するワードが左側に、
また行内の最上位アドレスに対応するワードが右側に配
置されるように編成されるものとする。すなわち、ある
行内のワードは左から右に昇順で編成される。もちろ
ん、行内のワードが降順で編成されることも可能であ
る。
は、行内の最下位アドレスに対応するワードが左側に、
また行内の最上位アドレスに対応するワードが右側に配
置されるように編成されるものとする。すなわち、ある
行内のワードは左から右に昇順で編成される。もちろ
ん、行内のワードが降順で編成されることも可能であ
る。
【0031】境界は一般に、メモリ配列320の行32
6内のワード335の開始及び終了を定義する。従っ
て、境界380、381、382、383及び384
は、任意の数の行ビット(一般にその幅に関して1ワー
ド335と称される)から成る列328を定義する。ワ
ード・ライン・アクセス・スイッチ(典型的には33
0)が、各行326上の各境界380、381、38
2、383及び384に配置される。各ワード・ライン
・アクセス・スイッチ330はアドレス比較器及び制御
論理ブロック360により、制御ライン364のセット
の内の1ライン(3640、3641、3642、36
43及び3644など)を介して制御される(オープン
又はクローズされる)。列(381など)内のワード・
ライン・アクセス・スイッチは、全て同一の垂直方向制
御ライン(3641など)により制御される。ワード・
ライン・アクセス・スイッチ330がオープンされる
と、スイッチが配置される行326のワード・ライン3
25が、2つのセクションすなわち右セクション及び左
セクションに電気的に分離される。メモリがアクセスさ
れない時、全てのワード・ライン・アクセス・スイッチ
はクローズされる。すなわち、全てのラインが左デコー
ダから右デコーダにフルに接続される。
6内のワード335の開始及び終了を定義する。従っ
て、境界380、381、382、383及び384
は、任意の数の行ビット(一般にその幅に関して1ワー
ド335と称される)から成る列328を定義する。ワ
ード・ライン・アクセス・スイッチ(典型的には33
0)が、各行326上の各境界380、381、38
2、383及び384に配置される。各ワード・ライン
・アクセス・スイッチ330はアドレス比較器及び制御
論理ブロック360により、制御ライン364のセット
の内の1ライン(3640、3641、3642、36
43及び3644など)を介して制御される(オープン
又はクローズされる)。列(381など)内のワード・
ライン・アクセス・スイッチは、全て同一の垂直方向制
御ライン(3641など)により制御される。ワード・
ライン・アクセス・スイッチ330がオープンされる
と、スイッチが配置される行326のワード・ライン3
25が、2つのセクションすなわち右セクション及び左
セクションに電気的に分離される。メモリがアクセスさ
れない時、全てのワード・ライン・アクセス・スイッチ
はクローズされる。すなわち、全てのラインが左デコー
ダから右デコーダにフルに接続される。
【0032】このメモリ内で使用されるデコーダ344
及び346は、従来のメモリ内で使用される従来の2進
デコーダである。各デコーダ344及び346に対応す
るタイプ325の1ワード・ラインだけが、任意のメモ
リ・サイクルにおいてイネーブルされる。
及び346は、従来のメモリ内で使用される従来の2進
デコーダである。各デコーダ344及び346に対応す
るタイプ325の1ワード・ラインだけが、任意のメモ
リ・サイクルにおいてイネーブルされる。
【0033】内部双方向データ・ライン3150、31
51、3152及び3153は、ビット・ラインの出力
をデータ・マルチプレクサ及び読出し/書込み増幅ブロ
ック314及び316に接続する。特に、内部データ・
ライン3150は最左端列のワードのビット・ラインを
2つのブロック314及び316に接続し、内部データ
・ライン3151は同様に第2列を同じブロック314
及び316に接続し、内部データ・ライン3152は第
3列をデータ・マルチプレクサ314及び316に接続
し、内部データ・ライン3153は最右端列のワードを
データ・マルチプレクサ314及び316に接続する。
51、3152及び3153は、ビット・ラインの出力
をデータ・マルチプレクサ及び読出し/書込み増幅ブロ
ック314及び316に接続する。特に、内部データ・
ライン3150は最左端列のワードのビット・ラインを
2つのブロック314及び316に接続し、内部データ
・ライン3151は同様に第2列を同じブロック314
及び316に接続し、内部データ・ライン3152は第
3列をデータ・マルチプレクサ314及び316に接続
し、内部データ・ライン3153は最右端列のワードを
データ・マルチプレクサ314及び316に接続する。
【0034】マルチプレクサ及び読出し/書込み増幅ブ
ロック314及び316もまた、従来のマルチプレクサ
を含む。読出しオペレーションにおいて、データ・マル
チプレクサ314は4つのソース3150、3152、
3152及び3153(ID0[0..j]、ID1
[0..j]、ID2[0..j]及びID3[0..
j])の1つから入力を受信し、1出力をデータ出力バ
ス304に選択する。書込みオペレーションにおいて
は、入力ライン304が適切な内部ライン3150乃至
3153の1つに転送される。データ・マルチプレクサ
316についても同様に動作する。
ロック314及び316もまた、従来のマルチプレクサ
を含む。読出しオペレーションにおいて、データ・マル
チプレクサ314は4つのソース3150、3152、
3152及び3153(ID0[0..j]、ID1
[0..j]、ID2[0..j]及びID3[0..
j])の1つから入力を受信し、1出力をデータ出力バ
ス304に選択する。書込みオペレーションにおいて
は、入力ライン304が適切な内部ライン3150乃至
3153の1つに転送される。データ・マルチプレクサ
316についても同様に動作する。
【0035】入来するアドレス・ラインの2つのセット
は(k+1)ビット幅と仮定する。これらの2つの入力
アドレスA0[0..K](392及び396など)及
びA1[0..K](393及び397など)は2つの
部分に分離され、第1部分は列アドレスと称され、第2
の部分はワード・アドレスと称される。好適な実施例で
は、第1部分は各入力アドレスの低位ビットを含み、第
2部分はアドレスの残りの部分を含む。メモリ配列内に
配置されるワードは、アクセス情報が存在するワード・
ラインを選択する行アドレス・ビット(396及び39
7)、及び選択された行のどこに情報が配置されている
かを決定する列アドレス(392及び393)を使用し
てアクセス(読出し/書込み)される。列アドレスに要
求される低位ビット数は、行サイズの対数底2に等し
い。(すなわち4ワードの行サイズの場合、2ビットが
要求され、また8ワードの行サイズの場合、3ビットが
要求される。)
は(k+1)ビット幅と仮定する。これらの2つの入力
アドレスA0[0..K](392及び396など)及
びA1[0..K](393及び397など)は2つの
部分に分離され、第1部分は列アドレスと称され、第2
の部分はワード・アドレスと称される。好適な実施例で
は、第1部分は各入力アドレスの低位ビットを含み、第
2部分はアドレスの残りの部分を含む。メモリ配列内に
配置されるワードは、アクセス情報が存在するワード・
ラインを選択する行アドレス・ビット(396及び39
7)、及び選択された行のどこに情報が配置されている
かを決定する列アドレス(392及び393)を使用し
てアクセス(読出し/書込み)される。列アドレスに要
求される低位ビット数は、行サイズの対数底2に等し
い。(すなわち4ワードの行サイズの場合、2ビットが
要求され、また8ワードの行サイズの場合、3ビットが
要求される。)
【0036】第1アドレス(本実施例におけるA0
[0..1])の列アドレス(行ビット)はライン39
2に導かれ、行アドレス(高位ビットA0[2..
K])はライン396に導かれる。第2アドレス(本実
施例のA1[0..1])の列アドレス(低位ビット)
はライン393に導かれ、ワード・アドレス(高位ビッ
トA1[2..K])はライン397に導かれる。使用
される低位ビット数は、キャッシュ・ラインのサイズ
(図3の例では4ワード幅である)の対数底2に等しい
ので、2つの低位ビットが使用される。
[0..1])の列アドレス(行ビット)はライン39
2に導かれ、行アドレス(高位ビットA0[2..
K])はライン396に導かれる。第2アドレス(本実
施例のA1[0..1])の列アドレス(低位ビット)
はライン393に導かれ、ワード・アドレス(高位ビッ
トA1[2..K])はライン397に導かれる。使用
される低位ビット数は、キャッシュ・ラインのサイズ
(図3の例では4ワード幅である)の対数底2に等しい
ので、2つの低位ビットが使用される。
【0037】アドレス・マルチプレクサ350は制御ブ
ロック360で生成されるライン349により制御さ
れ、次の様に動作する。制御ライン349がグラウンド
電位の時、入力アドレス・ライン396(第1アドレス
の行アドレス)が出力ライン354に、また入力ライン
397(第2アドレスの行アドレス)が出力ライン35
6にそれぞれ接続される。また、入力制御ラインが電源
電位の時は、入力アドレス・ライン396が出力ライン
356に、また入力アドレス・ライン397が出力ライ
ン354にそれぞれ接続される。
ロック360で生成されるライン349により制御さ
れ、次の様に動作する。制御ライン349がグラウンド
電位の時、入力アドレス・ライン396(第1アドレス
の行アドレス)が出力ライン354に、また入力ライン
397(第2アドレスの行アドレス)が出力ライン35
6にそれぞれ接続される。また、入力制御ラインが電源
電位の時は、入力アドレス・ライン396が出力ライン
356に、また入力アドレス・ライン397が出力ライ
ン354にそれぞれ接続される。
【0038】制御ライン361及び362がブロック3
60により駆動される。これらのラインは、ワード・ラ
イン325がライン371、372、373及び374
上の保留の要求に基づき、任意のサイクルにおいてイネ
ーブルにされる必要があるか否かを、ブロック344及
び346に示す。
60により駆動される。これらのラインは、ワード・ラ
イン325がライン371、372、373及び374
上の保留の要求に基づき、任意のサイクルにおいてイネ
ーブルにされる必要があるか否かを、ブロック344及
び346に示す。
【0039】アドレス比較器及び制御論理ブロック36
0は、入力アドレス392及び393の低位ビットの2
つのセット(A0[0..1]及びA1[0..1])
を入力に受信する。これらのアドレスの低位ビットは、
次に示す3つの状態の内の1つを決定するために、ブロ
ック360で使用される。 i)低位ビット392及び393が等しい。この場合、
メモリはデュアル・ポート・デバイスとして機能せず、
ポート393(又はポート392)は'待機'信号389
として送られる。左側のデコーダ344だけがライン3
61を通じてイネーブルされる。 ii)低位ビット392の値が393上の値よりも小さ
い。この時、第1アドレス396の高位部分(A0
[2..K])が、アドレス・マルチプレクサ350に
より出力ライン354を介して、デコーダ344に導か
れ、第2アドレス397の高位部分(A1[2..
K])は、アドレス・マルチプレクサ350により出力
ライン356を介して、デコーダ346に導かれる。制
御ライン349はグラウンド電位にセットされる。両方
のデコーダ344及び346が、それぞれ制御ライン3
61及び362を介して、イネーブルされる。 iii)低位ビット392の値が393上の値よりも大
きい。この時、第1アドレス396の高位部分(A0
[2..K])が、アドレス・マルチプレクサ350に
より出力ライン356を介して、デコーダ346に導か
れる。アドレス397の高位部分についても、アドレス
・マルチプレクサ350により出力ライン354を介し
て、デコーダ344に導かれる。制御ライン349は電
源電位にセットされる。両方のデコーダ344及び34
6が、それぞれ制御ライン361及び362を介して、
イネーブルされる。
0は、入力アドレス392及び393の低位ビットの2
つのセット(A0[0..1]及びA1[0..1])
を入力に受信する。これらのアドレスの低位ビットは、
次に示す3つの状態の内の1つを決定するために、ブロ
ック360で使用される。 i)低位ビット392及び393が等しい。この場合、
メモリはデュアル・ポート・デバイスとして機能せず、
ポート393(又はポート392)は'待機'信号389
として送られる。左側のデコーダ344だけがライン3
61を通じてイネーブルされる。 ii)低位ビット392の値が393上の値よりも小さ
い。この時、第1アドレス396の高位部分(A0
[2..K])が、アドレス・マルチプレクサ350に
より出力ライン354を介して、デコーダ344に導か
れ、第2アドレス397の高位部分(A1[2..
K])は、アドレス・マルチプレクサ350により出力
ライン356を介して、デコーダ346に導かれる。制
御ライン349はグラウンド電位にセットされる。両方
のデコーダ344及び346が、それぞれ制御ライン3
61及び362を介して、イネーブルされる。 iii)低位ビット392の値が393上の値よりも大
きい。この時、第1アドレス396の高位部分(A0
[2..K])が、アドレス・マルチプレクサ350に
より出力ライン356を介して、デコーダ346に導か
れる。アドレス397の高位部分についても、アドレス
・マルチプレクサ350により出力ライン354を介し
て、デコーダ344に導かれる。制御ライン349は電
源電位にセットされる。両方のデコーダ344及び34
6が、それぞれ制御ライン361及び362を介して、
イネーブルされる。
【0040】同時にアドレス比較器及び制御論理360
は、上述の3つのケースにおいて、列380、381、
382、383及び384のスイッチ330に対し、次
に示すオペレーションを実行する。 i)低位ビット392及び393が等しい。この時、左
側のデコーダ344だけが活動化され、右側のデコーダ
はあらゆるその出力ライン325をイネーブルしない。
境界384における最右端列のスイッチ330がオープ
ンされ、右行のデコーダ346を配列320内のワード
・ライン325から切断する。(別の実施例では、デコ
ーダ344及び346の役割が逆転される。) ii)低位ビット392の値が393よりも小さい。こ
の時、ブロック360内の制御論理は、低位2ビット3
92によりアドレスされるワードの右の境界のスイッチ
330をオープンする。(例えば、アドレス・ラインA
0[0..1]が値1を示す場合、境界382のスイッ
チがオープンされる。)制御論理ブロック360はま
た、低位2ビット393によりアドレスされるワードの
左の境界のスイッチ330をオープンする。(例えば、
アドレス・ラインA1[0..1]が値3を示す場合、
境界383のスイッチがオープンされる。) iii)低位ビット392の値が393の値よりも大き
い。この時、ブロック360内の制御論理は、低位2ビ
ット392によりアドレスされるワードの左の境界のス
イッチ330をオープンする。(例えば、アドレス・ラ
インA0[0..1]が値2を示す場合、境界382の
スイッチがオープンされる。)制御論理ブロック360
はまた、低位2ビット393によりアドレスされるワー
ドの右の境界のスイッチ330をオープンする。(例え
ば、アドレス・ラインA1[0..1]が値0を示す場
合、境界381のスイッチがオープンされる。)
は、上述の3つのケースにおいて、列380、381、
382、383及び384のスイッチ330に対し、次
に示すオペレーションを実行する。 i)低位ビット392及び393が等しい。この時、左
側のデコーダ344だけが活動化され、右側のデコーダ
はあらゆるその出力ライン325をイネーブルしない。
境界384における最右端列のスイッチ330がオープ
ンされ、右行のデコーダ346を配列320内のワード
・ライン325から切断する。(別の実施例では、デコ
ーダ344及び346の役割が逆転される。) ii)低位ビット392の値が393よりも小さい。こ
の時、ブロック360内の制御論理は、低位2ビット3
92によりアドレスされるワードの右の境界のスイッチ
330をオープンする。(例えば、アドレス・ラインA
0[0..1]が値1を示す場合、境界382のスイッ
チがオープンされる。)制御論理ブロック360はま
た、低位2ビット393によりアドレスされるワードの
左の境界のスイッチ330をオープンする。(例えば、
アドレス・ラインA1[0..1]が値3を示す場合、
境界383のスイッチがオープンされる。) iii)低位ビット392の値が393の値よりも大き
い。この時、ブロック360内の制御論理は、低位2ビ
ット392によりアドレスされるワードの左の境界のス
イッチ330をオープンする。(例えば、アドレス・ラ
インA0[0..1]が値2を示す場合、境界382の
スイッチがオープンされる。)制御論理ブロック360
はまた、低位2ビット393によりアドレスされるワー
ドの右の境界のスイッチ330をオープンする。(例え
ば、アドレス・ラインA1[0..1]が値0を示す場
合、境界381のスイッチがオープンされる。)
【0041】データ・マルチプレクサ314及び316
のオペレーションは、制御ライン347及び348によ
り、次のように決定される。メモリ・アクセス・オペレ
ーションでは、制御論理ブロック360がライン347
を介して、マルチプレクサ314に、データ・ライン3
04を第1アドレス(A0[0..1])の低位2ビッ
ト392により指定される内部データ・ライン315
0、3151、3152及び3153の1つのセットに
接続するように信号を送る。制御論理ブロック360は
また、ライン348を介して、マルチプレクサ316に
データ・ライン306を第2アドレス(A1[0..
1])の低位2ビット393により指定される内部デー
タ・ラインの1つのセットに接続するように信号を送
る。例として、アドレス・ライン392が値2に等し
く、アドレス・ライン393が値3に等しい場合、マル
チプレクサ314はデータ・ライン304を内部ライン
3152に接続し、マルチプレクサ316は内部データ
・ライン3153をデータ・ライン306に接続する。
のオペレーションは、制御ライン347及び348によ
り、次のように決定される。メモリ・アクセス・オペレ
ーションでは、制御論理ブロック360がライン347
を介して、マルチプレクサ314に、データ・ライン3
04を第1アドレス(A0[0..1])の低位2ビッ
ト392により指定される内部データ・ライン315
0、3151、3152及び3153の1つのセットに
接続するように信号を送る。制御論理ブロック360は
また、ライン348を介して、マルチプレクサ316に
データ・ライン306を第2アドレス(A1[0..
1])の低位2ビット393により指定される内部デー
タ・ラインの1つのセットに接続するように信号を送
る。例として、アドレス・ライン392が値2に等し
く、アドレス・ライン393が値3に等しい場合、マル
チプレクサ314はデータ・ライン304を内部ライン
3152に接続し、マルチプレクサ316は内部データ
・ライン3153をデータ・ライン306に接続する。
【0042】図4はワード要素335のセクション及び
ワード・ライン・アクセス・スイッチ330のオペレー
ションの詳細を示す。単純化のため、2つの記憶セル
(ビット)420だけが示される。ワード・ライン・ア
クセス・スイッチ330の好適な実施例の1つが示され
る。使用されるシリコン技術に依存して、他の実施例も
可能であり、こうしたものについても本開示により考慮
される。
ワード・ライン・アクセス・スイッチ330のオペレー
ションの詳細を示す。単純化のため、2つの記憶セル
(ビット)420だけが示される。ワード・ライン・ア
クセス・スイッチ330の好適な実施例の1つが示され
る。使用されるシリコン技術に依存して、他の実施例も
可能であり、こうしたものについても本開示により考慮
される。
【0043】メモリ記憶セル/素子(典型的には42
0)は、トランジスタNMOSデバイス(典型的には4
21及び422)を介して、ビット・ライン410及び
411に接続される。これは従来の信号ポート・メモリ
における場合のように実施される。読出し/書込み制御
回路ブロック430が、記憶セル420から情報を読出
し、またそれへ情報を書込むために提供される。ワード
・ライン325は、セル420を相補ビット・ライン4
10及び411に接続するために、デバイス421及び
422をイネーブルする。
0)は、トランジスタNMOSデバイス(典型的には4
21及び422)を介して、ビット・ライン410及び
411に接続される。これは従来の信号ポート・メモリ
における場合のように実施される。読出し/書込み制御
回路ブロック430が、記憶セル420から情報を読出
し、またそれへ情報を書込むために提供される。ワード
・ライン325は、セル420を相補ビット・ライン4
10及び411に接続するために、デバイス421及び
422をイネーブルする。
【0044】ワード・ライン・アクセス・スイッチ33
0のオペレーションは、CMOS論理における従来の'
伝送ゲート'のオペレーションと同じであり、次のよう
に説明される。制御ライン(典型的には3641)が活
動状態の時(すなわち電源電圧電位に接続される時)、
NMOSデバイス331はそのゲートに電源電位を有
し、導通し、PMOSデバイス332はインバータ33
3を介して、そのゲートにグラウンド電位を有し、同様
に導通する。デバイス331及び332の両者が従って
導通し、ワード・ライン325上の電気信号がワード・
ライン325に沿って、アクセス・スイッチ330を横
断して伝播される。すなわちアクセス・スイッチ330
はクローズされる。
0のオペレーションは、CMOS論理における従来の'
伝送ゲート'のオペレーションと同じであり、次のよう
に説明される。制御ライン(典型的には3641)が活
動状態の時(すなわち電源電圧電位に接続される時)、
NMOSデバイス331はそのゲートに電源電位を有
し、導通し、PMOSデバイス332はインバータ33
3を介して、そのゲートにグラウンド電位を有し、同様
に導通する。デバイス331及び332の両者が従って
導通し、ワード・ライン325上の電気信号がワード・
ライン325に沿って、アクセス・スイッチ330を横
断して伝播される。すなわちアクセス・スイッチ330
はクローズされる。
【0045】制御ライン3641が非活動状態の時(す
なわちグラウンド電位に接続される時)、NMOSデバ
イス331は非導通状態で、PMOSデバイス332も
また非導通状態である。従って、ワード・ライン325
は、スイッチ素子330の右と左の2つのセクションに
分離される。この場合、制御スイッチ330はオープン
である。
なわちグラウンド電位に接続される時)、NMOSデバ
イス331は非導通状態で、PMOSデバイス332も
また非導通状態である。従って、ワード・ライン325
は、スイッチ素子330の右と左の2つのセクションに
分離される。この場合、制御スイッチ330はオープン
である。
【0046】NMOSデバイス491は小サイズのNM
OSトランジスタであり、そのゲートが永久に電源電圧
電位に接続され、ドレインがワード・ライン325に、
またソースがグラウンド電位に接続される。こうした1
つのトランジスタが、各ワード335につき(或いは境
界間の各ビット・グループ間の)各ワード・ライン32
5内に存在する。このトランジスタは、ワードのいずれ
のサイドのアクセス・スイッチ330もオープン状態の
時、ワード335内のワード・ライン325のセクショ
ンに対し、グラウンド電位への弱い接続を提供する。こ
のように、ワード・ライン335のセクションがフロー
ティング状態、すなわちグラウンド電位又は電源電圧電
位のいずれにも接続されない状態になることはない。ワ
ード335の左と右の両方のスイッチ330がオープン
の時、トランジスタ491は、それらの間のワード・ラ
インのセクションをグラウンド電位に接続する。トラン
ジスタ491の寸法は、2つのアクセス・スイッチ33
0の一方(又は両方)がクローズされる時に、ワード・
ライン325に沿って伝播される信号がNMOSトラン
ジスタ491の存在により影響されないように、小さく
設計される。
OSトランジスタであり、そのゲートが永久に電源電圧
電位に接続され、ドレインがワード・ライン325に、
またソースがグラウンド電位に接続される。こうした1
つのトランジスタが、各ワード335につき(或いは境
界間の各ビット・グループ間の)各ワード・ライン32
5内に存在する。このトランジスタは、ワードのいずれ
のサイドのアクセス・スイッチ330もオープン状態の
時、ワード335内のワード・ライン325のセクショ
ンに対し、グラウンド電位への弱い接続を提供する。こ
のように、ワード・ライン335のセクションがフロー
ティング状態、すなわちグラウンド電位又は電源電圧電
位のいずれにも接続されない状態になることはない。ワ
ード335の左と右の両方のスイッチ330がオープン
の時、トランジスタ491は、それらの間のワード・ラ
インのセクションをグラウンド電位に接続する。トラン
ジスタ491の寸法は、2つのアクセス・スイッチ33
0の一方(又は両方)がクローズされる時に、ワード・
ライン325に沿って伝播される信号がNMOSトラン
ジスタ491の存在により影響されないように、小さく
設計される。
【0047】図5はデュアル・ポート・データ・キャッ
シュ・メモリにおいて使用される本発明の方法を要約す
る流れ図である。この説明では、キャッシュ・ラインは
Nワードを含むものとし、アドレスの低位部分にn=l
og2(N)ビットが提供される。図3ではNは4に等
しく、nは2に等しい。更にメモリ配列は合計Tワード
を有するものとする。
シュ・メモリにおいて使用される本発明の方法を要約す
る流れ図である。この説明では、キャッシュ・ラインは
Nワードを含むものとし、アドレスの低位部分にn=l
og2(N)ビットが提供される。図3ではNは4に等
しく、nは2に等しい。更にメモリ配列は合計Tワード
を有するものとする。
【0048】判断ブロック505では、現サイクルにお
いてデータ・キャッシュ・メモリから要求されるアクセ
ス(読出し又は書込み)の回数が、ライン371、37
2、373及び374(図3のR0、W0、R1及びW
1)を調査することにより決定される。メモリの2つの
ポートの一方において1つの要求だけが保留の場合、次
のステップがブロック510で示すように実行される。
2つの要求が保留の場合には、次のステップがブロック
515に示されるように実行される。
いてデータ・キャッシュ・メモリから要求されるアクセ
ス(読出し又は書込み)の回数が、ライン371、37
2、373及び374(図3のR0、W0、R1及びW
1)を調査することにより決定される。メモリの2つの
ポートの一方において1つの要求だけが保留の場合、次
のステップがブロック510で示すように実行される。
2つの要求が保留の場合には、次のステップがブロック
515に示されるように実行される。
【0049】ブロック510において、メモリは従来の
単一ポート・メモリとして動作する。図3を参照された
い。要求がポート0上で保留の場合(すなわちアドレス
・ライン392及び制御ライン371及び372の一方
が活動状態の場合)、境界384に配置されるスイッチ
330がオープンされ、メモリは従来の単一ポート・メ
モリとして機能し、左側のデコーダ344がワード・ラ
イン325を駆動する。次に、データ・マルチプレクサ
314がデータをデータ・ライン304に転送するため
に使用される。その代わりに、要求がポート1上で保留
の場合には(すなわちアドレス・ライン393及び制御
ライン373及び374の一方が活動状態の場合)、境
界380に配置されるスイッチ330がオープンされ、
メモリは従来の単一ポート・メモリとして機能し、右側
のデコーダ346がワード・ライン325を駆動する。
データ・マルチプレクサ316がデータをデータ・ライ
ン306に、又は306から転送するために使用され
る。
単一ポート・メモリとして動作する。図3を参照された
い。要求がポート0上で保留の場合(すなわちアドレス
・ライン392及び制御ライン371及び372の一方
が活動状態の場合)、境界384に配置されるスイッチ
330がオープンされ、メモリは従来の単一ポート・メ
モリとして機能し、左側のデコーダ344がワード・ラ
イン325を駆動する。次に、データ・マルチプレクサ
314がデータをデータ・ライン304に転送するため
に使用される。その代わりに、要求がポート1上で保留
の場合には(すなわちアドレス・ライン393及び制御
ライン373及び374の一方が活動状態の場合)、境
界380に配置されるスイッチ330がオープンされ、
メモリは従来の単一ポート・メモリとして機能し、右側
のデコーダ346がワード・ライン325を駆動する。
データ・マルチプレクサ316がデータをデータ・ライ
ン306に、又は306から転送するために使用され
る。
【0050】ブロック515では、2つのポート(39
2及び393)のアドレスの低位 'n' ビットが、ハー
ドウェア・ブロック360内で調査される。図3を参照
されたい。これらのビットが同一の場合、現メモリ・サ
イクルにおいて1アクセスだけが可能であり、次のステ
ップがブロック525で示されるように実行される。1
つのポートがメモリ上で動作するようにイネーブルさ
れ、他は次の有効メモリ・サイクルまで、図3の'待機'
ライン389を活動化することにより維持される。低位
ビットが異なる場合は、これらはメモリ配列の左側デコ
ーダ及び右側デコーダに導かれるアドレスを決定するた
めに使用される。図3及び図4を参照されたい。低位ア
ドレスビットが異なる時、次のステップがブロック52
0で示されるように実行される。
2及び393)のアドレスの低位 'n' ビットが、ハー
ドウェア・ブロック360内で調査される。図3を参照
されたい。これらのビットが同一の場合、現メモリ・サ
イクルにおいて1アクセスだけが可能であり、次のステ
ップがブロック525で示されるように実行される。1
つのポートがメモリ上で動作するようにイネーブルさ
れ、他は次の有効メモリ・サイクルまで、図3の'待機'
ライン389を活動化することにより維持される。低位
ビットが異なる場合は、これらはメモリ配列の左側デコ
ーダ及び右側デコーダに導かれるアドレスを決定するた
めに使用される。図3及び図4を参照されたい。低位ア
ドレスビットが異なる時、次のステップがブロック52
0で示されるように実行される。
【0051】ブロック520では、2つの入来アドレス
の行アドレス部分が、アドレス・マルチプレクサ350
を使用して、左デコーダ及び右デコーダに物理的に導か
れる。低位'n'ビットを含む入来アドレスが配列の左デ
コーダに導かれ、高位2ビットを含むアドレスが右デコ
ーダに導かれる。同時に、データ・マルチプレクサのソ
ースを選択するために、すなわちデータをメモリから正
しいデータ・ポート304又は306に導くために、又
は正しいデータ・ポートからメモリに導くために、同一
の低位'n'ビットが使用される。
の行アドレス部分が、アドレス・マルチプレクサ350
を使用して、左デコーダ及び右デコーダに物理的に導か
れる。低位'n'ビットを含む入来アドレスが配列の左デ
コーダに導かれ、高位2ビットを含むアドレスが右デコ
ーダに導かれる。同時に、データ・マルチプレクサのソ
ースを選択するために、すなわちデータをメモリから正
しいデータ・ポート304又は306に導くために、又
は正しいデータ・ポートからメモリに導くために、同一
の低位'n'ビットが使用される。
【0052】ブロック525では、メモリは従来の単一
ポート・メモリとして動作する。このブロックはブロッ
ク510と同じであり、ここでは1つのポートだけ(ポ
ート0)が動作するものと仮定する。代わりに、ポート
1だけが動作するものとしても良い。
ポート・メモリとして動作する。このブロックはブロッ
ク510と同じであり、ここでは1つのポートだけ(ポ
ート0)が動作するものと仮定する。代わりに、ポート
1だけが動作するものとしても良い。
【0053】ブロック530では、低位'n'ビットが選
択されたロケーションのワード・ラインを切断するため
に、次のように使用される。左デコーダは左サイドから
アクセスされなければならないワードを含むワード・ラ
インを駆動する。右デコーダは右サイドからアクセスさ
れなければならないワードを含むワード・ラインを駆動
する。例えば、左デコーダへの低位'n'ビットが値1を
受信する場合、左サイドのワード・ラインはワード1の
右境界で切断される。右デコーダへの低位2ビットが値
3を受信する場合、右サイドのワード・ラインはワード
3の左境界で切断される。
択されたロケーションのワード・ラインを切断するため
に、次のように使用される。左デコーダは左サイドから
アクセスされなければならないワードを含むワード・ラ
インを駆動する。右デコーダは右サイドからアクセスさ
れなければならないワードを含むワード・ラインを駆動
する。例えば、左デコーダへの低位'n'ビットが値1を
受信する場合、左サイドのワード・ラインはワード1の
右境界で切断される。右デコーダへの低位2ビットが値
3を受信する場合、右サイドのワード・ラインはワード
3の左境界で切断される。
【0054】ブロック535では、ワード・ラインがデ
コーダからイネーブルされ、アドレスされるワード・ビ
ット・ライン(典型的には410及び411)をアクセ
ス・デバイス(典型的には421及び422)を介し
て、アドレスされるワードの記憶セル(典型的には42
0)に接続することにより、配列内のアドレスされたワ
ードが読出し又は書込みされる。
コーダからイネーブルされ、アドレスされるワード・ビ
ット・ライン(典型的には410及び411)をアクセ
ス・デバイス(典型的には421及び422)を介し
て、アドレスされるワードの記憶セル(典型的には42
0)に接続することにより、配列内のアドレスされたワ
ードが読出し又は書込みされる。
【0055】ブロック540では、マルチプレクサ31
4及び316がワードをデータ・ポートから正しいワー
ド列に、又は正しいワード列からデータ・ポートに導
く。これはアドレスA0及びA1の低位'n'ビットを調
査することにより実施される。データ・マルチプレクサ
314はデータ・ライン304を、列アドレス・ビット
347により指定される内部データ・ライン3150、
3151、3152又は3153の1つに接続する。デ
ータ・マルチプレクサ316についても、列アドレス3
48からの情報を使用して、同様に機能する。
4及び316がワードをデータ・ポートから正しいワー
ド列に、又は正しいワード列からデータ・ポートに導
く。これはアドレスA0及びA1の低位'n'ビットを調
査することにより実施される。データ・マルチプレクサ
314はデータ・ライン304を、列アドレス・ビット
347により指定される内部データ・ライン3150、
3151、3152又は3153の1つに接続する。デ
ータ・マルチプレクサ316についても、列アドレス3
48からの情報を使用して、同様に機能する。
【0056】図6は本発明により導入される命令キャッ
シュ・メモリ600の構造を示す(図2のブロック24
0で示される)。図6において、命令キャッシュ・メモ
リ・ポートは、(k+1)本のアドレス・ラインA0
[0..k]622、(q+1)本のデータ・ラインD
0[0..q]604、読出し制御ラインR0 62
1、を含むものとする。各配列行は典型的に634で示
される4ワードを含む。データ・ライン・バス604の
幅はメモリ配列620内のワード634の幅の4倍に等
しい。すなわち、行の合計ビット数に等しい。
シュ・メモリ600の構造を示す(図2のブロック24
0で示される)。図6において、命令キャッシュ・メモ
リ・ポートは、(k+1)本のアドレス・ラインA0
[0..k]622、(q+1)本のデータ・ラインD
0[0..q]604、読出し制御ラインR0 62
1、を含むものとする。各配列行は典型的に634で示
される4ワードを含む。データ・ライン・バス604の
幅はメモリ配列620内のワード634の幅の4倍に等
しい。すなわち、行の合計ビット数に等しい。
【0057】図は制御スイッチと称される新たなタイプ
のワード・ライン・スイッチを使用し、これについては
以降で説明され、また図7に示される。
のワード・ライン・スイッチを使用し、これについては
以降で説明され、また図7に示される。
【0058】増幅器及びデータ配列及び回転器ブロック
610の機能は以下のようである。ビット・ラインは増
幅器がこのブロック内に含まれることを検出する。ビッ
ト・ライン・センス増幅器は従来のメモリの場合と同様
である。データ回転器はデータ・ラインの4つのセット
690、691、692及び693を入力し、低位 '
n' アドレス・ビットの値に依存して、最低入力アドレ
スが常に出力ライン604の左に配置されて現れるよう
に、それらを再割当てする。他のデータ(ワード)は昇
順で配列される。偶然に本実施例では、命令のフル・キ
ャッシュ・ラインを形成する追加情報を提供するために
使用されるメモリ内の次のラインが、実行される次のラ
インに相当する。ラインの順序は2進デコーダ640に
より決定される。
610の機能は以下のようである。ビット・ラインは増
幅器がこのブロック内に含まれることを検出する。ビッ
ト・ライン・センス増幅器は従来のメモリの場合と同様
である。データ回転器はデータ・ラインの4つのセット
690、691、692及び693を入力し、低位 '
n' アドレス・ビットの値に依存して、最低入力アドレ
スが常に出力ライン604の左に配置されて現れるよう
に、それらを再割当てする。他のデータ(ワード)は昇
順で配列される。偶然に本実施例では、命令のフル・キ
ャッシュ・ラインを形成する追加情報を提供するために
使用されるメモリ内の次のラインが、実行される次のラ
インに相当する。ラインの順序は2進デコーダ640に
より決定される。
【0059】デコーダ640は従来のメモリにおいて使
用される従来の2進デコーダである。ワード・ライン
(一般に625)出力(6251から6258)は昇順
でデコードされるものとする。すなわち、ワード・ライ
ン6251がライン684上の最低位の入力アドレスに
対応し、ライン6258がライン684上の最高位の入
力アドレスに対応する。
用される従来の2進デコーダである。ワード・ライン
(一般に625)出力(6251から6258)は昇順
でデコードされるものとする。すなわち、ワード・ライ
ン6251がライン684上の最低位の入力アドレスに
対応し、ライン6258がライン684上の最高位の入
力アドレスに対応する。
【0060】メモリ配列620は、任意のビット長のワ
ード(634など)と称されるグループに編成される、
記憶セルの行(典型的には626)を有する。メモリ配
列620はまた境界(典型的には680、681及び6
82)により定義されるワードの列を有する。
ード(634など)と称されるグループに編成される、
記憶セルの行(典型的には626)を有する。メモリ配
列620はまた境界(典型的には680、681及び6
82)により定義されるワードの列を有する。
【0061】境界は一般に、メモリ配列620の行62
6内のワード634の開始及び終了を定義する。従っ
て、境界680、681及び682は、ワードの列62
8を定義する。ワード・ライン制御スイッチ630は、
各境界680、681及び682における各行626上
に配置される。各ワード・ライン制御スイッチ630は
アドレス制御論理ブロック660により、ライン686
1、6862及び6863のセット内の1本により制御
(オープン及びクローズ)される。ワード・ライン制御
スイッチ630が図7で説明される。制御スイッチ63
0は通常クローズされ、ワード・ライン625は行62
6を横断してフルに接続される。
6内のワード634の開始及び終了を定義する。従っ
て、境界680、681及び682は、ワードの列62
8を定義する。ワード・ライン制御スイッチ630は、
各境界680、681及び682における各行626上
に配置される。各ワード・ライン制御スイッチ630は
アドレス制御論理ブロック660により、ライン686
1、6862及び6863のセット内の1本により制御
(オープン及びクローズ)される。ワード・ライン制御
スイッチ630が図7で説明される。制御スイッチ63
0は通常クローズされ、ワード・ライン625は行62
6を横断してフルに接続される。
【0062】ワード・ライン制御スイッチ630が活動
化される時、これはスイッチが配置される行626のワ
ード・ライン625を、右セクションと左セクションの
2つのセクションに電気的に切断する。同時に、同じ境
界の全ての制御スイッチがそれぞれのワード・ライン6
25を同様に電気的に切断する。図6において、各ワー
ド・ライン625の右セクションは、デコーダ640に
接続された状態を維持する。各制御スイッチは更にそれ
ぞれのワード・ラインの右セクションを次の隣接ワード
・ラインの左セクションに接続する。
化される時、これはスイッチが配置される行626のワ
ード・ライン625を、右セクションと左セクションの
2つのセクションに電気的に切断する。同時に、同じ境
界の全ての制御スイッチがそれぞれのワード・ライン6
25を同様に電気的に切断する。図6において、各ワー
ド・ライン625の右セクションは、デコーダ640に
接続された状態を維持する。各制御スイッチは更にそれ
ぞれのワード・ラインの右セクションを次の隣接ワード
・ラインの左セクションに接続する。
【0063】アドレス・ラインはアドレス及び制御論理
ブロック660に入力される。このブロックでは、入力
アドレス・ラインが上述と類似の方法により2つの部分
に分割される。第1部分に相当する列アドレスは'n'ビ
ットを含む。これらのビットはアドレスの最低位のビッ
トであり、'n'はワードを単位とするキャッシュ・ライ
ンの幅の対数底2に等しい。(本実施例ではキャッシュ
・ラインは4ワードを含み、'n'は2に等しい。)第2
の部分はワード・ライン・アドレス(行アドレス)であ
り、残りの(k+1−n)ビットを含む。好適な実施例
では、行アドレスは高位(k+1−n)ビットを含む。
これらのビットはライン684を介して、直接デコーダ
640に転送される。
ブロック660に入力される。このブロックでは、入力
アドレス・ラインが上述と類似の方法により2つの部分
に分割される。第1部分に相当する列アドレスは'n'ビ
ットを含む。これらのビットはアドレスの最低位のビッ
トであり、'n'はワードを単位とするキャッシュ・ライ
ンの幅の対数底2に等しい。(本実施例ではキャッシュ
・ラインは4ワードを含み、'n'は2に等しい。)第2
の部分はワード・ライン・アドレス(行アドレス)であ
り、残りの(k+1−n)ビットを含む。好適な実施例
では、行アドレスは高位(k+1−n)ビットを含む。
これらのビットはライン684を介して、直接デコーダ
640に転送される。
【0064】低位'n'ビット(情報位置選択子)は次の
ように使用される。 i)低位'n'ビットが全て0に等しい場合、どのワード
・ラインもライン686を制御せず(6861、686
2及び6863が活動化される)、全てのワード・ライ
ン制御スイッチ(630など)がクローズされる。この
ようにして、全てのワード・ライン625が完全にフル
・キャッシュ・ラインを横断して接続される。また、異
なるワード・ラインを横断する接続は存在しない。 ii)低位'n'ビットが0とは異なる場合(値'r'を有
し、本実施例では'r'は0よりも大きく、3以下であ
る。)、ワード'r'の左境界に対応する列内のワード・
ライン制御スイッチ630が活動化される。スイッチ6
30の列が活動化されると、スイッチの右に位置する各
ワード・ライン・セクションが、スイッチの左に位置す
る次の隣接ワード・ライン・セクションに接続される。
図6の例では、低位ビットが1に等しく('r'が1に等
しい)、6255などのワード・ラインがワードW1
(635)の左側で切断され、ワードW4(638)の
ワード・ラインのセクションがライン6255に接続さ
れる。このようにして、ワード・ライン6255が行デ
コーダによりイネーブルされる場合、ワードW1、W
2、W3及びW4が全て単一のメモリ・サイクルで読出
し可能となる。
ように使用される。 i)低位'n'ビットが全て0に等しい場合、どのワード
・ラインもライン686を制御せず(6861、686
2及び6863が活動化される)、全てのワード・ライ
ン制御スイッチ(630など)がクローズされる。この
ようにして、全てのワード・ライン625が完全にフル
・キャッシュ・ラインを横断して接続される。また、異
なるワード・ラインを横断する接続は存在しない。 ii)低位'n'ビットが0とは異なる場合(値'r'を有
し、本実施例では'r'は0よりも大きく、3以下であ
る。)、ワード'r'の左境界に対応する列内のワード・
ライン制御スイッチ630が活動化される。スイッチ6
30の列が活動化されると、スイッチの右に位置する各
ワード・ライン・セクションが、スイッチの左に位置す
る次の隣接ワード・ライン・セクションに接続される。
図6の例では、低位ビットが1に等しく('r'が1に等
しい)、6255などのワード・ラインがワードW1
(635)の左側で切断され、ワードW4(638)の
ワード・ラインのセクションがライン6255に接続さ
れる。このようにして、ワード・ライン6255が行デ
コーダによりイネーブルされる場合、ワードW1、W
2、W3及びW4が全て単一のメモリ・サイクルで読出
し可能となる。
【0065】図7はメモリ・ワードのセクション、及び
2つの隣接するメモリ・ワード・ラインを同時にアクセ
スすることにより、ベース・アドレスに無関係にフル・
キャッシュ・ラインへのアクセスを許可する回路の詳細
を示す。(ベース・アドレスは、任意のサイクルの間に
アクセスされるフル・ワード・ラインの第1ワードの開
始アドレスである。)図7はワード・ライン制御スイッ
チの特定の実施例を示す。論理ゲートを使用する他の実
施例も可能である。
2つの隣接するメモリ・ワード・ラインを同時にアクセ
スすることにより、ベース・アドレスに無関係にフル・
キャッシュ・ラインへのアクセスを許可する回路の詳細
を示す。(ベース・アドレスは、任意のサイクルの間に
アクセスされるフル・ワード・ラインの第1ワードの開
始アドレスである。)図7はワード・ライン制御スイッ
チの特定の実施例を示す。論理ゲートを使用する他の実
施例も可能である。
【0066】記憶セル720は従来のメモリ・デバイス
で使用されたものと同様である。ビット・ライン71
0、711、712及び713は、記憶セルの内容を従
来のメモリ・デバイスに見られる読出し/書込み回路7
08及び709に転送するために使用される。ワード・
ライン724及び725は、従来のアドレス・デコーダ
(図6のブロック640など)により駆動される。図6
のブロック660などにより生成される制御ライン68
61が、スイッチ730のオペレーションを制御する。
で使用されたものと同様である。ビット・ライン71
0、711、712及び713は、記憶セルの内容を従
来のメモリ・デバイスに見られる読出し/書込み回路7
08及び709に転送するために使用される。ワード・
ライン724及び725は、従来のアドレス・デコーダ
(図6のブロック640など)により駆動される。図6
のブロック660などにより生成される制御ライン68
61が、スイッチ730のオペレーションを制御する。
【0067】ワード・ライン制御スイッチ730(ブロ
ック740も同様に機能する)は、724などのワード
・ラインを2つのセクションに切断する。すなわち一方
はその右側に、他方はその左側に配置される。スイッチ
730の3つの構成要素は次のようである。NMOSデ
バイス732及びPMOSデバイス733及びインバー
タ731がデータ伝送ゲートを構成し、入力制御ライン
6861がグラウンド電位の時、スイッチはオープンさ
れ、ノード724及び7241が切断される。制御ライ
ン6861が電源電位に接続される時、スイッチはクロ
ーズされ、ノード724及び7241が接続される。ス
イッチ730の2つの追加の構成要素は、デバイス73
6及び737である。NMOSデバイス737及びPM
OSデバイス736は、伝送ゲート732及び733に
相補式に接続される伝送ゲートを構成する。すなわち、
制御ライン6861がグラウンド電位の時、伝送ゲート
は導通され、ノード724と次のワード・ライン725
1の左セクションとの間の接続を提供する。制御ライン
6861が電源電圧の時、この伝送ゲート(736及び
737)はオープンとなり、ワード・ライン・セクショ
ン724と7251との間の接続は存在しない。
ック740も同様に機能する)は、724などのワード
・ラインを2つのセクションに切断する。すなわち一方
はその右側に、他方はその左側に配置される。スイッチ
730の3つの構成要素は次のようである。NMOSデ
バイス732及びPMOSデバイス733及びインバー
タ731がデータ伝送ゲートを構成し、入力制御ライン
6861がグラウンド電位の時、スイッチはオープンさ
れ、ノード724及び7241が切断される。制御ライ
ン6861が電源電位に接続される時、スイッチはクロ
ーズされ、ノード724及び7241が接続される。ス
イッチ730の2つの追加の構成要素は、デバイス73
6及び737である。NMOSデバイス737及びPM
OSデバイス736は、伝送ゲート732及び733に
相補式に接続される伝送ゲートを構成する。すなわち、
制御ライン6861がグラウンド電位の時、伝送ゲート
は導通され、ノード724と次のワード・ライン725
1の左セクションとの間の接続を提供する。制御ライン
6861が電源電圧の時、この伝送ゲート(736及び
737)はオープンとなり、ワード・ライン・セクショ
ン724と7251との間の接続は存在しない。
【0068】従って、制御スイッチの機能は入力ワード
・ライン724とその左セクション7241との間、或
いはその次の隣接ライン7251の左セクションとの間
の接続を提供する。
・ライン724とその左セクション7241との間、或
いはその次の隣接ライン7251の左セクションとの間
の接続を提供する。
【0069】図8は命令キャッシュにおいて使用される
方法を説明する流れ図800を示す。
方法を説明する流れ図800を示す。
【0070】命令キャッシュの実施例600では、1つ
の入来アドレスだけが存在し、アクセスに使用されるベ
ース・アドレスに無関係に、常にN個の連続ワード情報
を読出し、ポートに提供することを目的とする。図5の
説明の場合と同様、命令キャッシュ・メモリは4ワード
幅の行に編成される。
の入来アドレスだけが存在し、アクセスに使用されるベ
ース・アドレスに無関係に、常にN個の連続ワード情報
を読出し、ポートに提供することを目的とする。図5の
説明の場合と同様、命令キャッシュ・メモリは4ワード
幅の行に編成される。
【0071】判断ブロック801では、入来アドレス・
ビットが低位2ビット(列アドレス)と残りの高位ビッ
ト(行アドレス)に分離される。低位2ビットが調査さ
れる。これらが0の場合、すなわち入来ベース・アドレ
スがメモリ・ライン境界をさす場合、次のオペレーショ
ンがブロック805で処理される。低位ビットが0でな
い場合、次のオペレーションがブロック810で処理さ
れる。本実施例では、ラインLが選択されるものと仮定
する。
ビットが低位2ビット(列アドレス)と残りの高位ビッ
ト(行アドレス)に分離される。低位2ビットが調査さ
れる。これらが0の場合、すなわち入来ベース・アドレ
スがメモリ・ライン境界をさす場合、次のオペレーショ
ンがブロック805で処理される。低位ビットが0でな
い場合、次のオペレーションがブロック810で処理さ
れる。本実施例では、ラインLが選択されるものと仮定
する。
【0072】ブロック805では、メモリは従来の単一
ポート・メモリとして動作する。ワード・ラインがメモ
リ配列内の行を横断してフルに接続され、従って、フル
・メモリ・ラインへのアクセスが可能となる。1つのワ
ードラインだけがフルにイネーブルされる。この場合、
図6の回転器回路610は、配列からのワードの順序を
再配置する必要はない。なぜなら、これらは配列から既
に正しい順序で入来するからである。
ポート・メモリとして動作する。ワード・ラインがメモ
リ配列内の行を横断してフルに接続され、従って、フル
・メモリ・ラインへのアクセスが可能となる。1つのワ
ードラインだけがフルにイネーブルされる。この場合、
図6の回転器回路610は、配列からのワードの順序を
再配置する必要はない。なぜなら、これらは配列から既
に正しい順序で入来するからである。
【0073】ステップ810では、低位2ビット(列ア
ドレス)を使用して、命令キャッシュの全てのワード・
ライン内における、制御スイッチを活動化する境界を決
定する。ワード・ライン(例えばラインL)が、同一の
低位2ビットにより決定されるワード列の左境界におい
て切断され、次の隣接ワード・ライン(ラインL+1)
の左セクションに接続される。2つの隣接するワード・
ラインのセットに跨る接続がこのように提供される。次
のステップは815である。
ドレス)を使用して、命令キャッシュの全てのワード・
ライン内における、制御スイッチを活動化する境界を決
定する。ワード・ライン(例えばラインL)が、同一の
低位2ビットにより決定されるワード列の左境界におい
て切断され、次の隣接ワード・ライン(ラインL+1)
の左セクションに接続される。2つの隣接するワード・
ラインのセットに跨る接続がこのように提供される。次
のステップは815である。
【0074】ブロック815では、ワード・ライン・デ
コーダが活動化され、1ライン(L)が切断ポイントま
でイネーブルされ、隣接する次のワード・ライン(L+
1)がこのポイントから左側のメモリ・ラインの終わり
までイネーブルされる。
コーダが活動化され、1ライン(L)が切断ポイントま
でイネーブルされ、隣接する次のワード・ライン(L+
1)がこのポイントから左側のメモリ・ラインの終わり
までイネーブルされる。
【0075】ブロック820では、キャッシュ・ライン
を構成するワード・ラインの2つのセクションが、部分
的にラインL及びラインL+1から読出される。メモリ
・セルの内容を読出すために、センス増幅器が使用され
る。次のステップはブロック825である。
を構成するワード・ラインの2つのセクションが、部分
的にラインL及びラインL+1から読出される。メモリ
・セルの内容を読出すために、センス増幅器が使用され
る。次のステップはブロック825である。
【0076】ブロック825では、要求される最低位の
アドレスに対応するワードがメモリ・データ・ポート6
04の左側に調整されて現れるように、Nワードのキャ
ッシュ・ラインが回転器回路を使用して再整列され、配
列から取り出される次の(N−1)ワードがそれに続
く。
アドレスに対応するワードがメモリ・データ・ポート6
04の左側に調整されて現れるように、Nワードのキャ
ッシュ・ラインが回転器回路を使用して再整列され、配
列から取り出される次の(N−1)ワードがそれに続
く。
【0077】図及び上述の説明では、2つのアクセス・
ポートが同期して動作し、メモリに対する複数のアクセ
スが存在する場合に、それらが同期するものと仮定し
た。すなわち、複数のアクセスがほぼ同時に開始され、
固定クロック・サイクル内において、ほぼ同時に完了す
ることを仮定した。しかしながら、本発明は同期して動
作する2つのポートに限るものではない。非同期の実施
例では、メモリへのアクセスを調整するために、調停回
路が使用されなければならない。
ポートが同期して動作し、メモリに対する複数のアクセ
スが存在する場合に、それらが同期するものと仮定し
た。すなわち、複数のアクセスがほぼ同時に開始され、
固定クロック・サイクル内において、ほぼ同時に完了す
ることを仮定した。しかしながら、本発明は同期して動
作する2つのポートに限るものではない。非同期の実施
例では、メモリへのアクセスを調整するために、調停回
路が使用されなければならない。
【0078】更に本開示により、当業者は本発明の数多
くの別の実施例を構成すること可能であろう。任意のワ
ード・ライン内のワード数を変更することが可能であ
る。ワード・ラインは、左右以外の物理的関係を有する
2つの部分に分離されても良い。ワード・ライン内の情
報の位置が所定の入力アドレス・ビットから決定され、
本発明がアドレス入力の低位'n'ビットを使用すること
に制限されなくても良い。また本発明が、例えばバイア
シング(biasing )、極性などの、異なる要求により動
作する別の回路技術を使用して形成されることも可能で
ある。更に、局所及び大域ワード・ラインの使用を許可
する技術が提供されると、アクセス/制御スイッチがア
クティブ論理ゲート及びバッファにより容易に置換さ
れ、より高速な回路スピードを提供する。これらの全て
の変形が本発明の範疇に含まれる。
くの別の実施例を構成すること可能であろう。任意のワ
ード・ライン内のワード数を変更することが可能であ
る。ワード・ラインは、左右以外の物理的関係を有する
2つの部分に分離されても良い。ワード・ライン内の情
報の位置が所定の入力アドレス・ビットから決定され、
本発明がアドレス入力の低位'n'ビットを使用すること
に制限されなくても良い。また本発明が、例えばバイア
シング(biasing )、極性などの、異なる要求により動
作する別の回路技術を使用して形成されることも可能で
ある。更に、局所及び大域ワード・ラインの使用を許可
する技術が提供されると、アクセス/制御スイッチがア
クティブ論理ゲート及びバッファにより容易に置換さ
れ、より高速な回路スピードを提供する。これらの全て
の変形が本発明の範疇に含まれる。
【0079】本発明において開示された回路の適用は、
コンピュータのデータ及び命令キャッシュ・メモリに制
限されない。データ・キャッシュ・メモリにおいて使用
される同一の回路が、コンピュータ・メモリ以外のデジ
タル回路内のデュアル・ポート・メモリ・デバイスにお
いても適用される。
コンピュータのデータ及び命令キャッシュ・メモリに制
限されない。データ・キャッシュ・メモリにおいて使用
される同一の回路が、コンピュータ・メモリ以外のデジ
タル回路内のデュアル・ポート・メモリ・デバイスにお
いても適用される。
【0080】以上述べたように本発明には以下のような
態様がある。
態様がある。
【0081】(1)各々が複数の記憶セルを有し且つ配
列を構成するワードを、各々が2個以上含む複数のワー
ド・ラインと、前記ワード・ラインを第1セクションと
第2セクションに分離する、各ワード・ライン上の1以
上のアクセス・スイッチと、第1ワード・ラインの第1
セクションをイネーブルする第1デコーダと、第2ワー
ド・ラインの第2セクションをイネーブルする第2デコ
ーダとであって、前記ワード・ラインのセクションは1
サイクル内に同時に駆動される前記第1及び第2デコー
ダと、第1及び第2のアクセス・アドレスを使用してア
クセス・スイッチをオープンし、第1及び第2のワード
・ラインの前記第1及び第2のワード・ラインのセクシ
ョンを電気的に切り離し、第1及び第2のワード・ライ
ンのイネーブルされたセクション内の前記ワードの記憶
セルを、それぞれビット・ラインの第1及び第2のセッ
トに接続する回路とを有するデュアル・ポート・コンピ
ュータ・メモリ装置。
列を構成するワードを、各々が2個以上含む複数のワー
ド・ラインと、前記ワード・ラインを第1セクションと
第2セクションに分離する、各ワード・ライン上の1以
上のアクセス・スイッチと、第1ワード・ラインの第1
セクションをイネーブルする第1デコーダと、第2ワー
ド・ラインの第2セクションをイネーブルする第2デコ
ーダとであって、前記ワード・ラインのセクションは1
サイクル内に同時に駆動される前記第1及び第2デコー
ダと、第1及び第2のアクセス・アドレスを使用してア
クセス・スイッチをオープンし、第1及び第2のワード
・ラインの前記第1及び第2のワード・ラインのセクシ
ョンを電気的に切り離し、第1及び第2のワード・ライ
ンのイネーブルされたセクション内の前記ワードの記憶
セルを、それぞれビット・ラインの第1及び第2のセッ
トに接続する回路とを有するデュアル・ポート・コンピ
ュータ・メモリ装置。
【0082】(2)第1及び第2のポート上の第1及び
第2のアドレスをそれぞれ受信するアドレス・ラインの
第1及び第2のセットと、データ・ラインの第1及び第
2のセットにそれぞれ接続される第1及び第2のデータ
・マルチプレクサと、複数の記憶セルを有し且つ配列を
構成するワードを2以上それぞれ含む複数のワード・ラ
インとを有するデュアル・ポート・コンピュータ・メモ
リ装置であって、それぞれが前記ワード・ラインの反対
の終端に配置され且つワード・ラインの異なる1のセク
ションを電気的にイネーブル可能である、各ワード・ラ
インの第1セクションに接続される第1デコーダと、各
ワード・ラインの第2セクションに接続される第2デコ
ーダと、1以上の境界におけるアクセス・スイッチであ
って、境界内のアクセス・スイッチは、あるワード・ラ
イン内のあるポジションの2つのワード間に配置され、
所与の境界内のアクセス・スイッチは、スイッチの境界
が1列以上のワードを定義するように、各ワード・ライ
ン内の同一位置に存在し、前記アクセス・スイッチは、
前記ワード・ライン内の他のワードから1以上のワード
を電気的に接続又は切断可能である前記アクセス・スイ
ッチと、アドレス・ラインの各第1及び第2のセット
を、列アドレス・ラインの第1及び第2のセットと、前
記ワード・アドレス・ラインの第1及び第2のセットと
にそれぞれ分割し、前記列アドレス・ラインの第1及び
第2のセットを用いて、選択されたアクセス・スイッチ
をオープンし、前記第1及び第2データ・マルチプレク
サを介して、前記データ・ラインの第1及び第2のセッ
トを、それぞれアクセスされるべき第1及び第2列のワ
ードに接続される第1及び第2のビット・ライン・セッ
トにそれぞれ接続する制御論理回路と、前記第1デコー
ダがワード・ラインの第1セクションを駆動し、前記第
2デコーダがワード・ラインの第2セクションを駆動
し、前記第1列内のアクセスされるべきワードが前記第
1データ・マルチプレクサによりアクセスされ、前記第
2列内のアクセスされるべきワードが前記第2データ・
マルチプレクサによりアクセスされるように、前記第1
及び第2ワード・アドレスを用いて前記第1及び第2デ
コーダの各々がそれぞれ駆動するワード・ラインを決定
するアドレス・マルチプレクサとを有するデュアル・ポ
ート・コンピュータ・メモリ装置。
第2のアドレスをそれぞれ受信するアドレス・ラインの
第1及び第2のセットと、データ・ラインの第1及び第
2のセットにそれぞれ接続される第1及び第2のデータ
・マルチプレクサと、複数の記憶セルを有し且つ配列を
構成するワードを2以上それぞれ含む複数のワード・ラ
インとを有するデュアル・ポート・コンピュータ・メモ
リ装置であって、それぞれが前記ワード・ラインの反対
の終端に配置され且つワード・ラインの異なる1のセク
ションを電気的にイネーブル可能である、各ワード・ラ
インの第1セクションに接続される第1デコーダと、各
ワード・ラインの第2セクションに接続される第2デコ
ーダと、1以上の境界におけるアクセス・スイッチであ
って、境界内のアクセス・スイッチは、あるワード・ラ
イン内のあるポジションの2つのワード間に配置され、
所与の境界内のアクセス・スイッチは、スイッチの境界
が1列以上のワードを定義するように、各ワード・ライ
ン内の同一位置に存在し、前記アクセス・スイッチは、
前記ワード・ライン内の他のワードから1以上のワード
を電気的に接続又は切断可能である前記アクセス・スイ
ッチと、アドレス・ラインの各第1及び第2のセット
を、列アドレス・ラインの第1及び第2のセットと、前
記ワード・アドレス・ラインの第1及び第2のセットと
にそれぞれ分割し、前記列アドレス・ラインの第1及び
第2のセットを用いて、選択されたアクセス・スイッチ
をオープンし、前記第1及び第2データ・マルチプレク
サを介して、前記データ・ラインの第1及び第2のセッ
トを、それぞれアクセスされるべき第1及び第2列のワ
ードに接続される第1及び第2のビット・ライン・セッ
トにそれぞれ接続する制御論理回路と、前記第1デコー
ダがワード・ラインの第1セクションを駆動し、前記第
2デコーダがワード・ラインの第2セクションを駆動
し、前記第1列内のアクセスされるべきワードが前記第
1データ・マルチプレクサによりアクセスされ、前記第
2列内のアクセスされるべきワードが前記第2データ・
マルチプレクサによりアクセスされるように、前記第1
及び第2ワード・アドレスを用いて前記第1及び第2デ
コーダの各々がそれぞれ駆動するワード・ラインを決定
するアドレス・マルチプレクサとを有するデュアル・ポ
ート・コンピュータ・メモリ装置。
【0083】(3)前記列アドレスが前記アドレスの低
位nビットを含み、前記行アドレスが前記アドレスの残
りのアドレス・ビットを含む、(2)記載のデュアル・
ポート・コンピュータ・メモリ装置。
位nビットを含み、前記行アドレスが前記アドレスの残
りのアドレス・ビットを含む、(2)記載のデュアル・
ポート・コンピュータ・メモリ装置。
【0084】(4)デュアル・ポート・コンピュータ・
メモリ装置から2片の情報を同時にアクセスする方法で
あって、第1及び第2アドレスを検査し、それぞれが複
数の記憶セルを有し且つ配列を構成するワードをそれぞ
れ複数有し、アクセスすべき情報を含む第1及び第2の
行の位置を決定するステップと、アクセス・スイッチを
オープンすることにより、それぞれ第1及び第2の境界
でワード・ラインを切断するステップであって、前記ア
クセス・スイッチは、各ワード・ラインを、アクセスす
べき情報を含むセクションと、アクセスすべき情報を含
まないセクションとに分割し、第1デコーダは、アクセ
スすべき情報を含む前記第1行のセクションをイネーブ
ルし、第2デコーダは、アクセスすべき情報を含む前記
第2行のセクションをイネーブルする前記切断ステップ
と、1サイクルで、前記第1行のセクション内の情報が
データ・ラインの第1セットによりアクセスされ、前記
第2行のセクション内の情報がデータ・ラインの第2セ
ットによりアクセスされるように、前記データ・ライン
の第1セットをイネーブルされた前記第1行のセクショ
ン内の所望のワードに接続し、前記データ・ラインの第
2セットをイネーブルされた前記第2行のセクション内
の所望のワードに接続するステップとを含むアクセス方
法。
メモリ装置から2片の情報を同時にアクセスする方法で
あって、第1及び第2アドレスを検査し、それぞれが複
数の記憶セルを有し且つ配列を構成するワードをそれぞ
れ複数有し、アクセスすべき情報を含む第1及び第2の
行の位置を決定するステップと、アクセス・スイッチを
オープンすることにより、それぞれ第1及び第2の境界
でワード・ラインを切断するステップであって、前記ア
クセス・スイッチは、各ワード・ラインを、アクセスす
べき情報を含むセクションと、アクセスすべき情報を含
まないセクションとに分割し、第1デコーダは、アクセ
スすべき情報を含む前記第1行のセクションをイネーブ
ルし、第2デコーダは、アクセスすべき情報を含む前記
第2行のセクションをイネーブルする前記切断ステップ
と、1サイクルで、前記第1行のセクション内の情報が
データ・ラインの第1セットによりアクセスされ、前記
第2行のセクション内の情報がデータ・ラインの第2セ
ットによりアクセスされるように、前記データ・ライン
の第1セットをイネーブルされた前記第1行のセクショ
ン内の所望のワードに接続し、前記データ・ラインの第
2セットをイネーブルされた前記第2行のセクション内
の所望のワードに接続するステップとを含むアクセス方
法。
【0085】(5)一組のデータ・ラインと、アドレス
を受信する一組のアドレス・ラインと、複数の記憶セル
を有し且つ行に配列される複数のワードの配列とを有す
るコンピュータ・メモリ装置であって、1以上の境界に
位置する制御スイッチであって、所与の境界内の前記制
御スイッチは、前記境界が2列以上のワードを定義する
ように、各ワード・ライン内の同一位置に存在し、境界
内の前記制御スイッチは、活動化されてそれらの各ワー
ド・ラインを第1セクション及び第2セクションに電気
的に切断し、さらに、活動化されてそれらのワード・ラ
インの前記第1セクションを次の隣接するワード・ライ
ンの前記第2セクションに電気的に接続する前記制御ス
イッチと、1サイクル内でイネーブルされる前記配列の
ワード・ラインを駆動する単一の行デコータと、前記ア
ドレス内の1以上の低位ビットを用いて、活動化される
制御スイッチの境界を決定し、前記アドレス内の1ビッ
ト以上の残部高位ビットを用いて、前記行デコーダがイ
ネーブルする前記ワード・ラインを選択する制御回路で
あって、前記選択されたワード・ラインの第1セクショ
ンは、前記活動化された境界内の前記選択されたワード
・ラインの制御スイッチを介して、前記次の隣接するワ
ード・ラインの前記第2セクションと共にイネーブルさ
れる前記制御回路と、前記選択されたワード・ラインの
前記イネーブルされた第1セクションと、前記次の隣接
するワード・ラインの前記イネーブルされた第2セクシ
ョン内の前記記憶セルにアクセスし、順序付けされたフ
ル・キャッシュ・ライン情報を1サイクル内に前記一組
のデータ・ラインに提供するデータ整列回路とを有する
コンピュータ・メモリ装置。
を受信する一組のアドレス・ラインと、複数の記憶セル
を有し且つ行に配列される複数のワードの配列とを有す
るコンピュータ・メモリ装置であって、1以上の境界に
位置する制御スイッチであって、所与の境界内の前記制
御スイッチは、前記境界が2列以上のワードを定義する
ように、各ワード・ライン内の同一位置に存在し、境界
内の前記制御スイッチは、活動化されてそれらの各ワー
ド・ラインを第1セクション及び第2セクションに電気
的に切断し、さらに、活動化されてそれらのワード・ラ
インの前記第1セクションを次の隣接するワード・ライ
ンの前記第2セクションに電気的に接続する前記制御ス
イッチと、1サイクル内でイネーブルされる前記配列の
ワード・ラインを駆動する単一の行デコータと、前記ア
ドレス内の1以上の低位ビットを用いて、活動化される
制御スイッチの境界を決定し、前記アドレス内の1ビッ
ト以上の残部高位ビットを用いて、前記行デコーダがイ
ネーブルする前記ワード・ラインを選択する制御回路で
あって、前記選択されたワード・ラインの第1セクショ
ンは、前記活動化された境界内の前記選択されたワード
・ラインの制御スイッチを介して、前記次の隣接するワ
ード・ラインの前記第2セクションと共にイネーブルさ
れる前記制御回路と、前記選択されたワード・ラインの
前記イネーブルされた第1セクションと、前記次の隣接
するワード・ラインの前記イネーブルされた第2セクシ
ョン内の前記記憶セルにアクセスし、順序付けされたフ
ル・キャッシュ・ライン情報を1サイクル内に前記一組
のデータ・ラインに提供するデータ整列回路とを有する
コンピュータ・メモリ装置。
【0086】(6)各ワードは複数の記憶セルを有し、
行は複数のワードを有し、複数の前記ワードの配列から
完全な行情報をアクセスする方法であって、アドレスを
デコードし、アクセスすべき情報をどの行が含んでいる
かを判断し、ワード・ライン内の前記情報の開始位置を
判断するステップと、前記配列の行内の前記ワード・ラ
インを制御スイッチの境界で切断する切断ステップであ
って、前記ワード・ラインは、前記ワード・ライン内の
選択された制御スイッチの位置で、第1セクションと第
2セクションに切断され、切断のポイントはデコードさ
れたアドレスにより判断される前記切断ステップと、前
記選択されたワード・ラインの前記第1セクションを次
のワード・ラインの前記第2セクションに電気的に接続
する接続ステップであって、前記選択されたワード・ラ
インの前記第1セクションと、前記次のワード・ライン
の前記第2セクションとは、単一の行デコーダにより駆
動される前記接続ステップと、前記選択されたワード・
ラインの前記第1セクション内のイネーブルされたワー
ドと、前記次のワード・ラインの前記第2セクション内
のイネーブルされたワードとをアクセスするステップ
と、アクセスされた情報をデータ・バスに出力する前
に、データ整列回転器により、前記アクセスされた情報
を順序付けするステップとを含むアクセス方法。
行は複数のワードを有し、複数の前記ワードの配列から
完全な行情報をアクセスする方法であって、アドレスを
デコードし、アクセスすべき情報をどの行が含んでいる
かを判断し、ワード・ライン内の前記情報の開始位置を
判断するステップと、前記配列の行内の前記ワード・ラ
インを制御スイッチの境界で切断する切断ステップであ
って、前記ワード・ラインは、前記ワード・ライン内の
選択された制御スイッチの位置で、第1セクションと第
2セクションに切断され、切断のポイントはデコードさ
れたアドレスにより判断される前記切断ステップと、前
記選択されたワード・ラインの前記第1セクションを次
のワード・ラインの前記第2セクションに電気的に接続
する接続ステップであって、前記選択されたワード・ラ
インの前記第1セクションと、前記次のワード・ライン
の前記第2セクションとは、単一の行デコーダにより駆
動される前記接続ステップと、前記選択されたワード・
ラインの前記第1セクション内のイネーブルされたワー
ドと、前記次のワード・ラインの前記第2セクション内
のイネーブルされたワードとをアクセスするステップ
と、アクセスされた情報をデータ・バスに出力する前
に、データ整列回転器により、前記アクセスされた情報
を順序付けするステップとを含むアクセス方法。
【0087】(7)配列に構成される情報を記憶する複
数の記憶セル手段と、記憶セルのラインをアクセスする
複数のワード・ライン手段と、1以上の境界でワード・
ラインを切断し、前記ワード・ラインを別個のセクショ
ンに分離する、複数のアクセス・スイッチ手段と、ワー
ド・ラインの1セクションを同時に駆動する1以上のデ
コード手段であって、駆動された前記セクションは前記
境界の反対側に位置し、前記境界の各側の前記駆動され
たワード・ラインの1のセクションがイネーブルされる
前記アクセス・スイッチ手段と前記イネーブルされたワ
ード・ラインのセクション上のワードを読出す1以上の
マルチ・プレクサ手段とを有するメモリ構造。
数の記憶セル手段と、記憶セルのラインをアクセスする
複数のワード・ライン手段と、1以上の境界でワード・
ラインを切断し、前記ワード・ラインを別個のセクショ
ンに分離する、複数のアクセス・スイッチ手段と、ワー
ド・ラインの1セクションを同時に駆動する1以上のデ
コード手段であって、駆動された前記セクションは前記
境界の反対側に位置し、前記境界の各側の前記駆動され
たワード・ラインの1のセクションがイネーブルされる
前記アクセス・スイッチ手段と前記イネーブルされたワ
ード・ラインのセクション上のワードを読出す1以上の
マルチ・プレクサ手段とを有するメモリ構造。
【0088】
【発明の効果】以上説明したように、本発明によれば、
メモリ配列又は回路内で使用されるワード・ライン又は
ビット・ラインの重複なしにデュアル・ポート・メモリ
・アクセスを達成する、デュアル・メモリ装置が提供さ
れる。
メモリ配列又は回路内で使用されるワード・ライン又は
ビット・ラインの重複なしにデュアル・ポート・メモリ
・アクセスを達成する、デュアル・メモリ装置が提供さ
れる。
【図1】複数の実行ユニットを用いる汎用目的スーパー
スケーラ・コンピュータ・アーキテクチャのブロック図
であり、それらの2つはデータ・キャッシュ・メモリと
して使用される本メモリ装置の2つのそれぞれのポート
をアクセスする。
スケーラ・コンピュータ・アーキテクチャのブロック図
であり、それらの2つはデータ・キャッシュ・メモリと
して使用される本メモリ装置の2つのそれぞれのポート
をアクセスする。
【図2】命令キャッシュ・メモリとして使用される本メ
モリ装置の実施例をアクセスするスーパースケーラ・コ
ンピュータのブロック図である。
モリ装置の実施例をアクセスするスーパースケーラ・コ
ンピュータのブロック図である。
【図3】本デュアル・ポート・メモリ装置の好適な構造
を示すブロック図である。
を示すブロック図である。
【図4】ワード・ライン・アクセス・スイッチを含む本
発明のワード・ラインの実施例の詳細を示すブロック図
である。
発明のワード・ラインの実施例の詳細を示すブロック図
である。
【図5】データ・キャッシュ・メモリとして使用される
本発明からの情報の読出し又は書込みステップを示す流
れ図である。
本発明からの情報の読出し又は書込みステップを示す流
れ図である。
【図6】コンピュータ命令キャッシュ・メモリ内で使用
される本発明を示すブロック図である。
される本発明を示すブロック図である。
【図7】命令キャッシュ・メモリとして使用される好適
な実施例の回路の詳細を示すブロック図である。
な実施例の回路の詳細を示すブロック図である。
【図8】命令キャッシュの実施例のオペレーション・ス
テップを示す流れ図である。
テップを示す流れ図である。
【符号の説明】 100 コンピュータ・アーキテクチャ 101 命令フェッチ/ディスパッチ 102 整数ユニット 103 ロード/ストア・ユニット 104 浮動小数点ユニット 120 データ・キャッシュ・メモリ 130、320 メモリ配列 135 2ポート 240 命令キャッシュ・メモリ配列 245 パス 250 命令メモリ配列 245 パス 314、316 データ・マルチプレクサ 326、626 行 330 ワード・ライン・アクセス・スイッチ 332、733 PMOSデバイス 333、731 インバータ 335 ワード 344 左行デコーダ 346 右行デコーダ 349 制御ライン 350 アドレス・マルチプレクサ 360 アドレス比較器及び制御論理ブロック 371、372 制御ライン 420 セル 630、730 ワード・ライン制御スイッチ 640 デコーダ 660 アドレス制御論理ブロック 708、709 読出し/書込み回路 720 記憶セル 732 NMOSデバイス
Claims (4)
- 【請求項1】第1及び第2のポート上の第1及び第2の
アドレスをそれぞれ受信するアドレス・ラインの第1及
び第2のセットと、データ・ラインの第1及び第2のセ
ットにそれぞれ接続される第1及び第2のデータ・マル
チプレクサと、複数の記憶セルを有し且つ配列を構成す
るワードを2以上それぞれ含む複数のワード・ラインと
を有するデュアル・ポート・コンピュータ・メモリ装置
であって、 それぞれが前記ワード・ラインの反対の終端に配置され
且つワード・ラインの異なる1のセクションを電気的に
イネーブル可能である、各ワード・ラインの第1セクシ
ョンに接続される第1デコーダと、各ワード・ラインの
第2セクションに接続される第2デコーダと、 1以上の境界におけるアクセス・スイッチであって、 境界内のアクセス・スイッチは、あるワード・ライン内
のあるポジションの2つのワード間に配置され、 所与の境界内のアクセス・スイッチは、スイッチの境界
が1列以上のワードを定義するように、各ワード・ライ
ン内の同一位置に存在し、 前記アクセス・スイッチは、前記ワード・ライン内の他
のワードから1以上のワードを電気的に接続又は切断可
能である前記アクセス・スイッチと、 アドレス・ラインの各第1及び第2のセットを、列アド
レス・ラインの第1及び第2のセットと、前記ワード・
アドレス・ラインの第1及び第2のセットとにそれぞれ
分割し、前記列アドレス・ラインの第1及び第2のセッ
トを用いて、選択されたアクセス・スイッチをオープン
し、前記第1及び第2データ・マルチプレクサを介し
て、前記データ・ラインの第1及び第2のセットを、そ
れぞれアクセスされるべき第1及び第2列のワードに接
続される第1及び第2のビット・ライン・セットにそれ
ぞれ接続する制御論理回路と、 前記第1デコーダがワード・ラインの第1セクションを
駆動し、前記第2デコーダがワード・ラインの第2セク
ションを駆動し、前記第1列内のアクセスされるべきワ
ードと前記第2列内のアクセスされるべきワードがそれ
ぞれ前記第1データ・マルチプレクサ又は前記第2デー
タ・マルチプレクサのどちらでアクセスされるかを決定
するために、前記第1及び第2ワード・アドレスを用い
て前記第1及び第2デコーダの各々がそれぞれ駆動する
ワード・ラインを決定するアドレス・マルチプレクサと
を有するデュアル・ポート・コンピュータ・メモリ装
置。 - 【請求項2】前記列アドレスが前記アドレスの低位nビ
ットを含み、前記行アドレスが前記アドレスの残りのア
ドレス・ビットを含む、請求項1記載のデュアル・ポー
ト・コンピュータ・メモリ装置。 - 【請求項3】一組のデータ・ラインと、アドレスを受信
する一組のアドレス・ラインと、複数の記憶セルを有し
且つ行に配列される複数のワードの配列とを有するコン
ピュータ・メモリ装置であって、 1以上の境界に位置する制御スイッチであって、 所与の境界内の前記制御スイッチは、前記境界が2列以
上のワードを定義するように、各ワード・ライン内の同
一位置に存在し、 境界内の前記制御スイッチは、活動化されてそれらの各
ワード・ラインを第1セクション及び第2セクションに
電気的に切断し、さらに、活動化されてそれらのワード
・ラインの前記第1セクションを次の隣接するワード・
ラインの前記第2セクションに電気的に接続する前記制
御スイッチと、 1サイクル内でイネーブルされる前記配列のワード・ラ
インを駆動する単一の行デコータと、 前記アドレス内の1以上の低位ビットを用いて、活動化
される制御スイッチの境界を決定し、前記アドレス内の
1ビット以上の残部高位ビットを用いて、前記行デコー
ダがイネーブルする前記ワード・ラインを選択する制御
回路であって、 前記選択されたワード・ラインの第1セクションは、前
記活動化された境界内の前記選択されたワード・ライン
の制御スイッチを介して、前記次の隣接するワード・ラ
インの前記第2セクションと共にイネーブルされる前記
制御回路と、 前記選択されたワード・ラインの前記イネーブルされた
第1セクションと、前記次の隣接するワード・ラインの
前記イネーブルされた第2セクション内の前記記憶セル
にアクセスし、順序付けされたフル・キャッシュ・ライ
ン情報を1サイクル内に前記一組のデータ・ラインに提
供するデータ整列回路とを有するコンピュータ・メモリ
装置。 - 【請求項4】各ワードは複数の記憶セルを有し、行は複
数のワードを有し、 複数の前記ワードの配列から完全な行情報をアクセスす
る方法であって、 アドレスをデコードし、アクセスすべき情報をどの行が
含んでいるかを判断し、ワード・ライン内の前記情報の
開始位置を判断するステップと、 前記配列の行内の前記ワード・ラインを制御スイッチの
境界で切断する切断ステップであって、 前記ワード・ラインは、前記ワード・ライン内の選択さ
れた制御スイッチの位置で、第1セクションと第2セク
ションに切断され、 切断のポイントはデコードされたアドレスにより判断さ
れる前記切断ステップと、 前記選択されたワード・ラインの前記第1セクションを
次のワード・ラインの前記第2セクションに電気的に接
続する接続ステップであって、 前記選択されたワード・ラインの前記第1セクション
と、前記次のワード・ラインの前記第2セクションと
は、単一の行デコーダにより駆動される前記接続ステッ
プと、 前記選択されたワード・ラインの前記第1セクション内
のイネーブルされたワードと、前記次のワード・ライン
の前記第2セクション内のイネーブルされたワードとを
アクセスするステップと、 アクセスされた情報をデータ・バスに出力する前に、デ
ータ整列回転器により、前記アクセスされた情報を順序
付けするステップとを含むアクセス方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US049921 | 1993-04-20 | ||
US08/049,921 US5502683A (en) | 1993-04-20 | 1993-04-20 | Dual ported memory with word line access control |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06333394A JPH06333394A (ja) | 1994-12-02 |
JP2576827B2 true JP2576827B2 (ja) | 1997-01-29 |
Family
ID=21962465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6036894A Expired - Lifetime JP2576827B2 (ja) | 1993-04-20 | 1994-03-08 | デュアル・ポート・コンピュータ・メモリ装置、アクセス方法、コンピュータ・メモリ装置、及びメモリ構造 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5502683A (ja) |
JP (1) | JP2576827B2 (ja) |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0624844A2 (en) * | 1993-05-11 | 1994-11-17 | International Business Machines Corporation | Fully integrated cache architecture |
US5737569A (en) * | 1993-06-30 | 1998-04-07 | Intel Corporation | Multiport high speed memory having contention arbitration capability without standby delay |
DE69523354T2 (de) * | 1994-02-25 | 2002-07-11 | Kabushiki Kaisha Toshiba, Kawasaki | Multiplexer |
US5719810A (en) * | 1994-10-25 | 1998-02-17 | Hyundai Electronics Industries Co., Ltd. | Semiconductor memory device having cache memory function |
JPH08212132A (ja) * | 1995-02-07 | 1996-08-20 | Mitsubishi Electric Corp | 記憶装置 |
JP3664777B2 (ja) * | 1995-08-18 | 2005-06-29 | 株式会社ルネサステクノロジ | 半導体記憶装置 |
KR100204542B1 (ko) * | 1995-11-09 | 1999-06-15 | 윤종용 | 멀티 서브워드라인 드라이버를 갖는 반도체 메모리장치 |
EP0881575A4 (en) * | 1996-02-16 | 2002-04-17 | Hitachi Ltd | MULTIPLE ACCESS MEMORY AND DATA PROCESSOR PROVIDING ACCESS TO THE MEMORY |
KR100280285B1 (ko) | 1996-08-19 | 2001-02-01 | 윤종용 | 멀티미디어 신호에 적합한 멀티미디어 프로세서 |
US5732017A (en) * | 1997-03-31 | 1998-03-24 | Atmel Corporation | Combined program and data nonvolatile memory with concurrent program-read/data write capability |
JPH11184674A (ja) * | 1997-12-24 | 1999-07-09 | Fujitsu Ltd | レジスタファイル |
US6407961B1 (en) | 1998-06-11 | 2002-06-18 | Dsp Group, Ltd. | Dual access memory array |
IL124863A (en) | 1998-06-11 | 2004-05-12 | Dsp Group Ltd | Dual access memory array |
US6169700B1 (en) * | 1999-02-04 | 2001-01-02 | Lucent Technologies, Inc. | Wait state generator circuit and method to allow asynchronous, simultaneous access by two processors |
US6388939B1 (en) * | 1999-09-30 | 2002-05-14 | Cypress Semiconductor Corp. | Dual port sram |
US6449706B1 (en) * | 1999-12-22 | 2002-09-10 | Intel Corporation | Method and apparatus for accessing unaligned data |
US6944087B2 (en) * | 2001-02-24 | 2005-09-13 | Intel Corporation | Method and apparatus for off boundary memory access |
US6778444B1 (en) * | 2000-08-18 | 2004-08-17 | Intel Corporation | Buffer for a split cache line access |
JP2002314166A (ja) * | 2001-04-16 | 2002-10-25 | Nec Corp | 磁気抵抗効果素子及びその製造方法 |
US6584034B1 (en) * | 2001-04-23 | 2003-06-24 | Aplus Flash Technology Inc. | Flash memory array structure suitable for multiple simultaneous operations |
US6587917B2 (en) * | 2001-05-29 | 2003-07-01 | Agilent Technologies, Inc. | Memory architecture for supporting concurrent access of different types |
US6778466B2 (en) | 2002-04-11 | 2004-08-17 | Fujitsu Limited | Multi-port memory cell |
US6873567B2 (en) * | 2002-08-09 | 2005-03-29 | International Business Machines Corporation | Device and method for decoding an address word into word-line signals |
US8397034B1 (en) | 2003-06-27 | 2013-03-12 | Cypress Semiconductor Corporation | Multi-port arbitration system and method |
US7516280B1 (en) | 2004-03-30 | 2009-04-07 | Cypress Semiconductor Corporation | Pulsed arbitration system and method |
US7161826B2 (en) * | 2004-06-30 | 2007-01-09 | Intel Corporation | Low-noise leakage-tolerant register file technique |
US7813213B1 (en) | 2005-05-04 | 2010-10-12 | Cypress Semiconductor Corporation | Pulsed arbitration system |
US7193924B2 (en) * | 2005-05-06 | 2007-03-20 | Freescale Semiconductor, Inc. | Dual-port static random access memory having improved cell stability and write margin |
US7962698B1 (en) | 2005-10-03 | 2011-06-14 | Cypress Semiconductor Corporation | Deterministic collision detection |
KR100655081B1 (ko) * | 2005-12-22 | 2006-12-08 | 삼성전자주식회사 | 가변적 액세스 경로를 가지는 멀티 포트 반도체 메모리장치 및 그에 따른 방법 |
KR100745374B1 (ko) * | 2006-02-21 | 2007-08-02 | 삼성전자주식회사 | 멀티포트 반도체 메모리 장치 및 그에 따른 신호 입출력방법 |
US7675806B2 (en) * | 2006-05-17 | 2010-03-09 | Freescale Semiconductor, Inc. | Low voltage memory device and method thereof |
US20090017910A1 (en) * | 2007-06-22 | 2009-01-15 | Broadcom Corporation | Position and motion tracking of an object |
US8289944B2 (en) * | 2007-01-31 | 2012-10-16 | Broadcom Corporation | Apparatus for configuration of wireless operation |
US9486703B2 (en) * | 2007-01-31 | 2016-11-08 | Broadcom Corporation | Mobile communication device with game application for use in conjunction with a remote mobile communication device and methods for use therewith |
US20090197641A1 (en) * | 2008-02-06 | 2009-08-06 | Broadcom Corporation | Computing device with handheld and extended computing units |
US8125950B2 (en) * | 2007-01-31 | 2012-02-28 | Broadcom Corporation | Apparatus for wirelessly managing resources |
US8239650B2 (en) * | 2007-01-31 | 2012-08-07 | Broadcom Corporation | Wirelessly configurable memory device addressing |
US8116294B2 (en) * | 2007-01-31 | 2012-02-14 | Broadcom Corporation | RF bus controller |
US8200156B2 (en) * | 2007-01-31 | 2012-06-12 | Broadcom Corporation | Apparatus for allocation of wireless resources |
US8223736B2 (en) * | 2007-01-31 | 2012-07-17 | Broadcom Corporation | Apparatus for managing frequency use |
US8238275B2 (en) * | 2007-01-31 | 2012-08-07 | Broadcom Corporation | IC with MMW transceiver communications |
US8280303B2 (en) * | 2007-01-31 | 2012-10-02 | Broadcom Corporation | Distributed digital signal processor |
US8204075B2 (en) * | 2007-01-31 | 2012-06-19 | Broadcom Corporation | Inter-device wireless communication for intra-device communications |
US8254319B2 (en) * | 2007-01-31 | 2012-08-28 | Broadcom Corporation | Wireless programmable logic device |
US8438322B2 (en) * | 2007-01-31 | 2013-05-07 | Broadcom Corporation | Processing module with millimeter wave transceiver interconnection |
US8121541B2 (en) * | 2007-01-31 | 2012-02-21 | Broadcom Corporation | Integrated circuit with intra-chip and extra-chip RF communication |
US20080320293A1 (en) * | 2007-01-31 | 2008-12-25 | Broadcom Corporation | Configurable processing core |
US20090011832A1 (en) * | 2007-01-31 | 2009-01-08 | Broadcom Corporation | Mobile communication device with game application for display on a remote monitor and methods for use therewith |
US8195928B2 (en) * | 2008-02-06 | 2012-06-05 | Broadcom Corporation | Handheld computing unit with merged mode |
US8175646B2 (en) * | 2008-02-06 | 2012-05-08 | Broadcom Corporation | Networking of multiple mode handheld computing unit |
US20090198798A1 (en) * | 2008-02-06 | 2009-08-06 | Broadcom Corporation | Handheld computing unit back-up system |
US8064952B2 (en) * | 2008-02-06 | 2011-11-22 | Broadcom Corporation | A/V control for a computing device with handheld and extended computing units |
US8717974B2 (en) * | 2008-02-06 | 2014-05-06 | Broadcom Corporation | Handheld computing unit coordination of femtocell AP functions |
US8117370B2 (en) * | 2008-02-06 | 2012-02-14 | Broadcom Corporation | IC for handheld computing unit of a computing device |
US8430750B2 (en) * | 2008-05-22 | 2013-04-30 | Broadcom Corporation | Video gaming device with image identification |
DE102008040794A1 (de) * | 2008-07-28 | 2010-02-04 | Robert Bosch Gmbh | Speicheranordnung und Speicherarchitektur |
US8547774B2 (en) * | 2010-01-29 | 2013-10-01 | Mosys, Inc. | Hierarchical multi-bank multi-port memory organization |
US8639884B2 (en) * | 2011-02-28 | 2014-01-28 | Freescale Semiconductor, Inc. | Systems and methods for configuring load/store execution units |
US9547593B2 (en) | 2011-02-28 | 2017-01-17 | Nxp Usa, Inc. | Systems and methods for reconfiguring cache memory |
US8755218B2 (en) | 2011-05-31 | 2014-06-17 | Altera Corporation | Multiport memory element circuitry |
CN113241106B (zh) * | 2021-07-13 | 2021-09-24 | 上海亿存芯半导体有限公司 | 行解码结构及存储器 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4577292A (en) * | 1983-05-31 | 1986-03-18 | International Business Machines Corporation | Support circuitry for multi-port systems |
US4616347A (en) * | 1983-05-31 | 1986-10-07 | International Business Machines Corporation | Multi-port system |
US4558433A (en) * | 1983-05-31 | 1985-12-10 | International Business Machines Corporation | Multi-port register implementations |
US4742487A (en) * | 1986-04-15 | 1988-05-03 | International Business Machines Corporation | Inhibit and transfer circuitry for memory cell being read from multiple ports |
JPS63898A (ja) * | 1986-06-19 | 1988-01-05 | Fujitsu Ltd | 半導体記憶装置 |
US4811296A (en) * | 1987-05-15 | 1989-03-07 | Analog Devices, Inc. | Multi-port register file with flow-through of data |
US4807195A (en) * | 1987-05-18 | 1989-02-21 | International Business Machines Corporation | Apparatus and method for providing a dual sense amplifier with divided bit line isolation |
JPS6473594A (en) * | 1987-09-16 | 1989-03-17 | Nippon Telegraph & Telephone | Multiport memory |
JPH01178193A (ja) * | 1988-01-07 | 1989-07-14 | Toshiba Corp | 半導体記憶装置 |
JPH07107792B2 (ja) * | 1988-01-19 | 1995-11-15 | 株式会社東芝 | マルチポートメモリ |
US4888741A (en) * | 1988-12-27 | 1989-12-19 | Harris Corporation | Memory with cache register interface structure |
US5257237A (en) * | 1989-05-16 | 1993-10-26 | International Business Machines Corporation | SAM data selection on dual-ported DRAM devices |
-
1993
- 1993-04-20 US US08/049,921 patent/US5502683A/en not_active Expired - Fee Related
-
1994
- 1994-03-08 JP JP6036894A patent/JP2576827B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH06333394A (ja) | 1994-12-02 |
US5502683A (en) | 1996-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2576827B2 (ja) | デュアル・ポート・コンピュータ・メモリ装置、アクセス方法、コンピュータ・メモリ装置、及びメモリ構造 | |
JP2601951B2 (ja) | 半導体集積回路 | |
US5339268A (en) | Content addressable memory cell and content addressable memory circuit for implementing a least recently used algorithm | |
US6243281B1 (en) | Method and apparatus for accessing a segment of CAM cells in an intra-row configurable CAM system | |
US5261068A (en) | Dual path memory retrieval system for an interleaved dynamic RAM memory unit | |
US6721860B2 (en) | Method for bus capacitance reduction | |
KR100244841B1 (ko) | 캐쉬 메모리 및 그 동작 방법 | |
US6856527B1 (en) | Multi-compare content addressable memory cell | |
CA2321466C (en) | Priority encoder circuit and method | |
US6662271B2 (en) | Cache architecture with redundant sub array | |
JP2014199679A (ja) | メモリデバイス | |
KR100228339B1 (ko) | 읽기 포트와 쓰기 포트를 공유하는 다중포트 액세스 메모리 | |
JPH0160865B2 (ja) | ||
US5657291A (en) | Multiport register file memory cell configuration for read operation | |
JPH0522997B2 (ja) | ||
US20050249021A1 (en) | Semiconductor memory device having memory architecture supporting hyper-threading operation in host system | |
US6661731B2 (en) | Semiconductor memory, semiconductor integrated circuit and semiconductor mounted device | |
JPH05266654A (ja) | マルチポートメモリ装置 | |
EP0646925B1 (en) | Fully scalable memory apparatus | |
USRE38955E1 (en) | Memory device having a relatively wide data bus | |
EP2396886A1 (en) | Integrated circuit with multiported memory supercell and data path switching circuitry | |
JP2008541333A (ja) | 記憶回路及びその方法 | |
US6104642A (en) | Method and apparatus for 1 of 4 register file design | |
US6292401B1 (en) | Method and apparatus for global bitline multiplexing for a high-speed memory | |
US5699315A (en) | Data processing with energy-efficient, multi-divided module memory architectures |