JPH1074186A - アレイからエントリを選択する方法および装置 - Google Patents

アレイからエントリを選択する方法および装置

Info

Publication number
JPH1074186A
JPH1074186A JP9072948A JP7294897A JPH1074186A JP H1074186 A JPH1074186 A JP H1074186A JP 9072948 A JP9072948 A JP 9072948A JP 7294897 A JP7294897 A JP 7294897A JP H1074186 A JPH1074186 A JP H1074186A
Authority
JP
Japan
Prior art keywords
entry
entries
array
bits
circuit
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
Application number
JP9072948A
Other languages
English (en)
Inventor
Cheyon Hoichi
ホイチ・チェヨン
Tien Chen Chu Tom
トム・ティェン・チェン・チウ
Kyuu Re Hyun
ヒュン・キュー・レ
G Mikan Donald Jr
ドナルド・ジー・ミカン・ジュニア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH1074186A publication Critical patent/JPH1074186A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/74Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】NエントリアレイからMエントリをより効果的
に選択する改善されたプロセスを提供すること。 【解決手段】コントロール回路は両エンドからアレイを
調べることによってNエントリ記憶アレイからMエント
リを選択するのに用いられる。アレイの両エンドから始
めて特にビット値またはエントリ内容がコントロール論
理により探される。両エンドでそれが見つかると、これ
らのエントリは、これらのエントリを削除するための一
対のMUXへ送られるコントロールシグナルを生成する
のに使われる。次に、アレイの残りのエントリからなる
元のアレイのサブセットが記憶アレイから次のMエント
リを見つけ、そして削除する同様のセットのコントロー
ル回路により繰り返される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、広義にはデータプ
ロセッシングシステムに係わり、特に、Nエントリ記憶
アレイからMエントリを選択する方法および装置に関す
る。
【0002】
【従来の技術】データプロセッシングシステムにおいて
は、通常、効率のよい低電力の回路をプロセッサ内に設
計することが目標とされている。効率を上げるためのこ
れらの目標の一つに、プロセッサ内で行われる動作に必
要なサイクル数を最小にすることが含まれる。
【0003】プロセッサ内またはその他の論理回路内で
よく実行される一つの動作は、論理内のNエントリから
Mエントリを選択することである。例えば、プロセッサ
またはレジスタのグループ内の完了キューなどのあるタ
イプの記憶アレイには、Nエントリ(バイト、ワード、
ロングワード等)が保持されている。これらのエントリ
のうちのあるまとまりを削除したいことがある。例え
ば、完了キューにおいて要求の完了および破棄に際し
て、かかるエントリは完了キューから削除される。この
ようなタスクを実行するとき、選択回路が、削除される
エントリに関連する特別のタグまたは識別子を探すこと
により削除されるエントリのあるまとまりを選ぶことが
ある。このような識別子の一つに、既に業界で公知であ
る有効ビットがある。このように、関連有効ビットを有
するNエントリ内のMエントリをNエントリ記憶アレイ
から削除するために選択するためのインプリメンテーシ
ョンがある。
【0004】論理におけるNエントリからのM有効エン
トリの選択は、Mが大きい場合にはサイクル内で禁止す
ることができる。Mエントリを選択するために必要なN
コントロールシグナルのMセットを見つけることは、M
反復による反復プロセスとなり得る。Mが大きい場合に
は、所望のサイクルタイム制約に合わせるのは難しい。
【0005】
【発明が解決しようとする課題】このように、業界で
は、NエントリアレイからMエントリをより効果的に選
択する改善されたプロセスが望まれている。
【0006】
【課題を解決するための手段】本発明は、Nエントリア
レイからMエントリを選択するのに必要なサイクルタイ
ムを半分に削減し前述した要求を満足させるものであ
る。これは、(1)Nエントリアレイ内の各エントリに
関連する有効ビットなどの識別子ビットを監視し、
(2)そのアレイと連結したMマルチプレクサへ送られ
るコントロールシグナルを生成するコントロール回路を
実行することにより行われる。各コントロールシグナル
は、記憶アレイから検索される特別の識別子をもつ1つ
のMエントリを選択する独立したマルチプレクサに送ら
れる。
【0007】本発明の一実施例によれば、各エントリ内
またはアレイの各エントリに関連するあるビットの内容
が監視される。コントロール回路はこの内容の中の特別
のパターンを探す。アレイ内の各エントリはコントロー
ル回路により走査され、所定のパターンに行き着くと、
そのエントリを出力するための所定の内容値と関連する
エントリを選択できるように、第1のコントロールシグ
ナルが1つのマルチプレクサをコントロールするために
生成される。これは、コントロール回路によりサーチさ
れる所定の内容をもつMエントリがアレイから検索され
るまで繰り返される。
【0008】本発明の他の実施例によれば、コントロー
ル回路はアレイの両エンドでこの特別の内容を同時にサ
ーチする。所定の内容をもつエントリがアレイの各エン
ドで見つかったときは、2つのコントロールシグナルが
生成され、所定の内容値をもつアレイの中で2つのエン
トリのうち一つを選ぶよう2つのマルチプレクサに告げ
る。
【0009】次に、前に選択したエントリまでおよびそ
のエントリを含むアレイの2つのエンドを実質的にマス
クするマスクプロセスを実行する。これらのエントリと
関連する所望の内容をもつさらに2つのエントリを選択
するために2つのマルチプレクサ用にさらに2つのコン
トロールシグナルを生成する目的で、Nエントリアレイ
のエントリのこのサブセットに対して選択プロセスが繰
り返される。このプロセスはMエントリが選択されるま
で繰り返される。
【発明の実施の形態】
【0010】以下、本発明の理解のために、特定のワー
ドやバイト長などの詳細について説明するが、本発明が
これらの特定の例に限らず実施できることは当業者に自
明である。他の例においては、不必要に詳細に示して本
発明を不明瞭にしないように公知の回路をブロック図に
示してある。多くの箇所について、タイミングについて
の考察等は、本発明を完全に理解するのに必要ではな
く、また業界の当業者にとっては自明の範囲であるため
省いてある。
【0011】図面を参照して説明する。例示されたエレ
メントには大きさの表示は必要なく、複数の図中で同様
のエレメントについては同じ番号で示されている。
【0012】図1及び図2は、アレイにおいてNエント
リからMエントリを選択する本発明の実施例を示す。N
エントリアレイ100は、Kビットエントリ0からN−
1をストアするための記憶アレイである。このようなエ
ントリはバス101を介してアレイ100にストアされ
る。
【0013】アレイ100の各Nエントリに関連するも
のは有効ビットV[0]からV[N-1]である(以下、有効ビッ
トベクトルV[0],...,V[N-1]と称す)。有効ビットを使
うことはデータプロセッシングシステムにおいては公知
である。しかし、これら有効ビットの使用に関しては、
タグビットといったエントリのストアに関連する他のタ
イプの識別子ビットを利用するアレイにも適用可能であ
るということに注目すべきである。以下に述べるよう
に、本発明においてはまた、どのエントリを選択するか
決めるために、アレイ100の各エントリの内容の一部
を監視する。
【0014】上述のとおり、有効ビットは有効ビットベ
クトルV[0],...,V[N-1]を示す。このような有効ビット
ベクトルはいかなる構造も構成するが、本実施例におい
てはNx1ベクトルアレイである。
【0015】本発明は、アレイ100からM有効エント
リを選択するよう構成される。これは、コントロール回
路107により実行されるものであり、これは有効ビッ
トベクトルを監視し、その有効ビットベクトルエントリ
を使ってMUX103−106の操作をコントロールす
るコントロールベクトルを生成する。各MUX103−
106は、アレイ100の各Nエントリと連結したN入
力を持つ。各MUX103−106は出力のためにアレ
イ100にある1つのNエントリを選択することができ
る。
【0016】上に簡潔に述べた通り、アレイ100にあ
る各Nエントリは、関連の有効ビットを持つ。本発明の
タスクは、有効ビットを確定してエントリからMを取り
出し、これらの各Mエントリを唯一のマルチプレクサか
ら取り去ることである。そのため、Nエントリをそれぞ
れに入力するMマルチプレクサ103−106があり、
コントロール回路107はN有効ビットから、MUX1
03−106へ送られるNコントロール選択シグナルの
Mセットを生成する。2つのMUXが同じエントリを選
択することはない。M有効エントリ未満の場合には、M
UX103−106のうちいくつかが、ゼロに等しいす
べてのコントロールシグナルを持つコントロールベクト
ルを受け取る。
【0017】上に簡潔に述べた通り、本発明を実施する
一つの方法は、有効ベクトルの一方のエンド(すなわち
V[0])から始めて有効ベクトルの監視を始めることであ
る。有効ベクトル内の各後続のエントリは、それが第1
の有効ビットであるかどうかを判断するためにチェック
される。もしV[0]から始めてV[k]がそれであると確定さ
れ、V[0]からV[k-1]が確定されなかったなら、V[k]が第
1の確定有効ビットである。第1の有効ビットがk番目
の位置で見つかった場合は常に、コントロールベクトル
0がk番目のビットだけを確定してMUX103へ送
られる。コントロール回路107はまた、V[0]から唯一
の確定有効ビットかどうかを該当の有効ビットのすぐ後
の有効ビットを介してチェックすることにより、各確定
有効ビットが第2の有効ビットかどうかチェックする。
例えば、V[i]ビットがV[0]から第2の確定有効ビットだ
とわかったとすると、コントロールベクトルは、i番目
のビットだけを確定してMUX104へ送る。確定した
有効ビットがM番目の有効ビットかどうかをチェックす
るには、コントロール回路107が該当の確定有効ビッ
トの前に正しいM−1の有効ビットがあるかどうか判断
しなければならない。つまり、k番目の有効ビットがi
番目の確定有効ビットであるかどうか判断するには、コ
ントロール回路107が、前のk−1有効ビットの中に
正しいi−1確定ビットがあるかどうかをチェックする
必要がある。これを行うには、k番目の有効ビットが先
行の確定ビットかどうかを見つけるよりも多くの論理が
必要である。
【0018】以下、本実施例について説明する。コント
ロール回路107は完全な有効ベクトルから始め、まず
先行の確定有効ビットを見つける。次に、コントロール
回路107は残りの有効ビットから、つまり最初のステ
ップで見つけたものは除いて、先行の確定有効ビットを
見つける。第1と第2の確定ビットを見つけたら、コン
トロール回路107は再び残りの有効ビットから先行の
確定ビットを探す。この手順は前に見つけた先行の確定
ビットを除くために、追加の論理回路によって各ステッ
プで先行確定したものを見つけるだけに削減される。さ
らに、コントロール回路107の論理オペレーションは
有効ベクトルの両エンドから先行の確定有効ビットを見
つけるために実行される。
【0019】本実施例のインプリメンテーションにあた
って、各ステップにおいてコントロール選択シグナルが
2つのMUXに対して生成され、次のステップに向けて
新しい有効ビットベクトルを生成するために有効ビット
ベクトルにおける2つの先行の1は削除される。M/2
ステップの後、コントロール選択シグナルのMセットが
すべてのM MUXに対して見つけられる。各ステップ
において唯一の方向について有効ビットベクトル内で先
行の1を見つけるのに対し、本実施例ではMエントリを
選ぶのに必要な時間が2分の1に減る。複数のステップ
がワンクロックサイクルで実行できることは注目すべき
ことである。
【0020】N有効ビットがV[0],...V[N-1](各エント
リについてそれぞれ1つ)とする。各NポジションJに
ついてMエレメントSj[0,...,M-1]のビットベクトルを
次のように構成する。 C0=S0[0],S1[0],...,SN-1[0]は選択MUX0をコントロ
ールするために使われる。 C1=S0[1],S1[1],...,SN-1[1]は選択MUX1をコントロ
ールするために使われる。 ・ ・ ・ CM-1=S0[M-1],S1[M-1],...,SN-1[M-1]は選択MUXM-1
をコントロールするために使われる。MUXiの行を選
択するための入力はCiベクトルである。
【0021】コントロールベクトルCiはMxNマトリック
スを作り、各行と各欄はビット1つだけをオンにするこ
とができる。SL[k]をオンにすると、L番目のエントリ
が有効にならなくてはならず、k番目のMUXの出力と
して現れる。
【0022】以下はMUXへ送られるMコントロールベ
クトルCiを構築するためのアルゴリズムである。"^"は
値の補数を示す。M、N、KおよびLは正の整数であ
る。
【0023】V[0],...V[N-1]から、次のマッピング関数
を使ってC0を構築する(MUX0のコントロール(MU
X103))。 Fw[x]=Fw(V[0],...,V[N-1])=(1,^V[0],^(V[0]+V
[1]),...,^(V[0]+V[1]+...+V[N-2])). 他のマッピング関数も使う。 Bw[x]=Bw(V[0],...,V[N-1])=(^(V[1]+...+V[N-1]),...,
^(V[N-1],1) そして、C0=Fw(V[0],...,V[N-1])AND(V[0],...,V[N-1]) およびC1=Bw(V[0],...,V[N-1])AND(V[0],...,V[N-1])
【0024】C0とC1を生成するオペレーションは並列で
ある。また、新しい有効ビットベクトルも生成される。 V'[0],...,V'[N-1]=(^FwV[0],...,V[N-1])AND^Bw(V
[0],...,V[N-1])AND(V[0],...,V[N-1]))
【0025】新しい有効ビットベクトルV'[0],...,V'[N
-1]は次にV[0],...,V[N-1]の代わりの入力として使われ
る。出力は、もう一組のMUXに対する他の2つのコン
トロールベクトルC2,C3となる。Mコントロールベクト
ルはM/2ステップで生成することができる。
【0026】前述の処理は図1及び図2のコントロール
回路107により実行される。
【0027】次の図3には、回路201および回路20
2を含むコントロール回路107の一部が描かれてい
る。回路201は後で図4、図5及び図6のところで詳
しく述べる。回路201は有効ビットベクトルV
[0],...,V[N-1]を受け取り、コントロールベクトルC0
C1および新しい有効ビットベクトルV'[0],...,V'[N-1]
を生成する。
【0028】本質的に、新しい有効ビットベクトルは、
有効ビットベクトル内のエントリから、各エントリから
始めて、回路201が見つけた確定有効ビットまでの各
エントリを含む有効ビットベクトルの各エンドのエント
リを引いたものから成る。すなわち、本発明は有効ビッ
トベクトルV[0],...,V[N-1]を受け取り、有効ビットベ
クトルの一方のエンドV[0]から始めて有効ビットベクト
ル内の第1の確定有効ビットが見つかると、コントロー
ルシグナルベクトルC0を生成する。コントロールシグナ
ルベクトルC1は、有効ビットベクトルのもう一方のエン
ドV[N-1]から始めて有効ビット内の確定有効ビットが見
つかると、生成される。新しい有効ビットベクトルは、
残りの確定および無効の有効ビットを含む第1の確定有
効ビット間に残るこれらの有効ビットより成る。
【0029】一例を挙げると、N=8、つまり、アレイ1
00は8エントリ記憶アレイとすると、そこにはその8
つの各エントリと関連する有効ビットがある。また、ア
レイ100のエントリ1、3、4および6(すなわちV
[1]=V[3]=V[4]=V[6]=1)と関連する確定有効ビットがあ
るとする。そうすると、有効ビットベクトルは[0,1,0,
1,1,0,1,0]となる。コントロール回路107はエントリ
V[0]で始めて、確定有効ビット、この場合にはエントリ
V[1]に到達するまで有効ビットに沿って進む。コントロ
ール回路107はまた、エントリV[N-1]から始めて同様
の動作をし、この場合にはV[6]有効ビットに到達するま
で逆方向へ有効ビットベクトルに沿って進む。その結
果、コントロールシグナルベクトルC0の値は[0,1,0,0,
0,0,0,0]となる。これによりMUX103は出力のため
に第2のエントリをアレイ100内で選択する。
【0030】コントロールシグナルベクトルC1の値は
[0,0,0,0,0,0,1,0]となり、MUX104へ送られ、M
UX104からの出力のためにアレイ100から7番目
のエントリが選択される。
【0031】次に、回路201は、エントリV'[0],V'
[1],V'[6]およびV'[7]が無効となり、残りのビットV'
[2],...,V'[5]がVそれぞれV[2],...,V[5]と等しくなる
以外は、元の有効ビットベクトルから派生した新しい有
効ビットベクトルを生成する。この新しい有効ビットベ
クトルは回路202に入力される。この回路は回路20
1と同様に、本実施例ではMUX105および106で
ある次の2つのMUXへ送られるコントロールシグナル
ベクトルC2およびC3を生成する。回路201および20
2はこの手順の第1および第2のステップを実行する。
4を超える有効エントリを検索する場合にはさらに回路
が必要である。次の第1の段階では入力として回路20
2により生成されたベクトルV''[0],...,V''[N-1]を使
う。
【0032】図4、図5及び図6に回路201の詳細を
示す。図4、図5及び図6に示す回路は回路202と同
様に実行される。
【0033】回路301は、上述したとおり、有効ビッ
トベクトルV[0],...,V[N-1]の順方向および逆方向マッ
ピング関数と称す関数(Fw[x],Bw[x])への変形を示
す。順方向マッピング関数Fw[x]=Fw(V[0],...,V[N-1])
は有効ビットベクトルの様々な論理組み合わせにより生
成される。Fw[0]は論理"1"である。Fw[1]はインバータ
304によりV[0]を反転させることにより生成される。
Fw[2]は、V[0]およびV[1]を受け取るNORゲート305を
使った論理NORオペレーションにより生成される。Fw[N-
1]はV[0],...,V[N-2]を受け取るNORゲート306により
生成される。残りのFw[x]のNエントリはNORゲート(図
示せず)により同様の方法で生成される。
【0034】マッピング関数Bw[x]=Bw(V[0],...,V[N-
1])は同様の方法で生成される。Bw[N-1]は確定ビットで
ある。Bw[0]は、V[1],...,V[N-1]を受け取るNORゲート
307により生成される。残りのBw[x]のエントリは、
上に示したマッピング関数の式に従ってNORゲート(図
示せず)により生成される。
【0035】回路302はコントロールベクトルC0およ
びC1を生成する。C0[0]はFw[0]およびV[0]を受け取るAN
Dゲート308により生成される。C0[1]も同様にFw[1]
およびV[1]を受け取るANDゲート(図示せず)により生
成される。C0[N-1]はFw[N-1]およびV[N-1]を受け取るAN
Dゲート309により生成される。図示されたC0[0]およ
びC0[N-1]の間のC0の他のエントリも同様の方法で生成
される。C1[0]はBw[0]およびV[0]を受け取るANDゲート
310により生成される。同様に、C1[N-1]はBw[N-1]お
よびV[N-1]を受け取るANDゲート311により生成され
る。C1[0]およびC1[N-1]の間のC1の他のエントリも同様
の方法で生成される。
【0036】C1を生成するのに使われる各ANDゲートは
また、シグナルDisable_C1を受け取るインバータ312
の出力も受け取る。いくつかのステップのうち、C0およ
びC1は同一である。これは次の2つのケースで起こり得
る。実行される特定の段階への入力ベクトルに確定ビッ
トが1つだけあるケース(これは第1の段階への有効ビ
ットベクトルが偶数でしかもM未満の確定有効ビットで
あるときに起こる)、または入力ベクトルにすべて無効
ビットがあるケースである。入力ベクトルがゼロベクト
ルの場合には、C0およびC1もまたゼロであり残りのステ
ップはすべてゼロコントロールベクトルを生成する。入
力ベクトルに確定ビットが1つしかない場合には、C0
C1のいずれかがリセットされる。これを解決するには、
ビットポジションで、^Fwおよび^Bwが両方とも0かまた
はFwおよびBwが両方とも1であるかどうかを探すことで
ある。もしこの答えがイエスなら、C1ビットはずべてゼ
ロになる。そのためC1はこの条件で認定される必要があ
る。
【0037】Disable_C1はそれぞれ2つのシグナルを受
け取るANDゲート319...320の並列コンフィギュレ
ーションにより生成される。図示されているのは、Fw
[0]およびBw[0]を受け取るANDゲート319とFw[N-1]お
よびBw[N-1]を受け取るANDゲート320である。図示さ
れていないその他のANDゲートも同様のシグナルを受け
取る。これらANDゲート319...320のすべての出力
はDisable_C1シグナルを生成するORゲート321により
受け取られる。この結果は、もしマッピング関数Fwおよ
びBwが同一の場合にはORゲート321の出力はDisable_
C1の確定ビットとなる。この確定ビットはインバータ3
12により無効とされ、AMDゲート310...311の出
力はすべてゼロになる。Disable_C1を使ってC1のすべて
の出力ビットをゼロにする他の方法は、C1により選択さ
れたエントリの有効ビットをゼロにすることである。こ
うすると、Disable_C1シグナルおよびC1により選択され
たMUXの出力でのエントリの有効ビットを受け取る2
−入力ANDゲートを犠牲にしてN3−入力ANDゲートをN
2−入力Nゲートへと減じる。
【0038】回路201の最後の部分は、新しい有効ビ
ットベクトルV'[0],...,V'[N-1]を作成するANDゲート3
13...316である。図示されているのはV'[0]を生成
しV[0]を受け取るANDゲート313、Bw[0]を受け取るイ
ンバータ314の出力およびFw[0]を反転するインバー
タ315の出力である。
【0039】V'[N-1]も同様にV[N-1]を受け取るANDゲー
ト316、Bw[N-1]を反転するインバータ317およびF
w[N-1]を反転するインバータ318の出力により生成さ
れる。
【0040】上述のとおり、図3に戻って見てみると、
もしアレイ10から選択されるエントリ(M>2)が2
を超える場合には、新しい有効ビットベクトル(V'
[0],...,V'[N-1])が回路201と同様の回路202へ
入力され、C2およびC3を生成する。
【0041】本発明およびその長所について詳細に述べ
てきたが、添付の請求項に定義される技術思想および範
囲から逸脱しない限り様々な変更、置き換えおよび変形
が可能であることは明白である。
【0042】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)正の整数のNエントリアレイから正の整数のMエ
ントリを選択するための装置であって、前記Nエントリ
アレイの各エントリの1つかそれ以上のビットを監視す
る回路と、前記監視回路と連結されており、前記1つか
それ以上のビットの所定のパターンを有する前記Nエン
トリアレイからMエントリを選択する回路と、前記選択
回路と連結されており、前記1つかそれ以上のビットの
前記所定のパターンを有する前記Nエントリアレイから
選択された前記Mエントリを出力する回路とを具備する
装置。 (2)M≧2であって、前記選択回路は前記1つかそれ
以上の前記所定のパターンを有する前記Mエントリを、
前記Nエントリアレイの一方のエンドから始めて選択す
る上記(1)記載の装置。 (3)前記選択回路が、さらに前記Nエントリアレイの
第1のエンドから生じる前記1つかそれ以上のビットの
前記所定のパターンを有する第1の前記Mエントリを選
択する回路と、前記Nエントリアレイの第2のエンドか
ら生じる前記1つかそれ以上のビットの前記所定のパタ
ーンを有する第1の前記Mエントリを選択する回路とを
具備する上記(1)記載の装置。 (4)前記Nエントリアレイの前記第1および第2のエ
ンドが前記Nエントリアレイの逆側にある上記(3)記
載の装置。 (5)前記出力回路がさらに、前記Nエントリアレイの
前記各エントリにそれぞれが連結している第1および第
2のマルチプレクサを具備しており、前記Nエントリア
レイの前記第1のエンドから生じる前記1つかそれ以上
のビットの前記所定のパターンを有する前記第1のMエ
ントリを選択する前記回路が、前記第1のマルチプレク
サに前記Nエントリアレイから前記Nエントリアレイの
前記第1のエンドから生じる前記1つかそれ以上のビッ
トの前記所定のパターンを有する前記第1のMエントリ
を出力させる第1のコントロールシグナルを生成し、前
記Nエントリアレイの前記第2のエンドから生じる前記
1つかそれ以上のビットの前記所定のパターンを有する
前記第1のMエントリを選択する前記回路が、前記第2
のマルチプレクサに前記Nエントリアレイから前記Nエ
ントリアレイの前記第2のエンドから生じる前記1つか
それ以上のビットの前記所定のパターンを有する前記第
1のMエントリを出力させる第2のコントロールシグナ
ルを生成する上記(4)記載の装置。 (6)前記1またはそれ以上のビットの前記所定のパタ
ーンを有する前記NエントリからMエントリを選択する
ための前記回路がさらに、前記Nエントリアレイの前記
第1のエンドから生じる前記1つかそれ以上のビットの
前記所定のパターンを有する第2の前記Mエントリを選
択する回路からなる上記(5)記載の装置。 (7)前記1またはそれ以上のビットの前記所定のパタ
ーンを有する前記NエントリからMエントリを選択する
ための前記回路がさらに、前記Nエントリアレイの前記
第2のエンドから生じる前記1つかそれ以上のビットの
前記所定のパターンを有する第2の前記Mエントリを選
択する回路からなる上記(6)記載の装置。 (8)前記Nエントリアレイの前記第1のエンドから生
じる前記1つかそれ以上のビットの前記所定のパターン
を有する前記第2のMエントリと、前記Nエントリアレ
イの前記第2のエンドから生じる前記1つかそれ以上の
ビットの前記所定のパターンを有する前記第2のMエン
トリとが同じエントリである上記(7)記載の装置。 (9)前記Nエントリアレイの前記第1のエンドから生
じる前記1つかそれ以上のビットの前記所定のパターン
を有する前記第1のMエントリと、前記Nエントリアレ
イの前記第2のエンドから生じる前記1つかそれ以上の
ビットの前記所定のパターンを有する前記第1のMエン
トリとが同じエントリである上記(3)記載の装置。 (10)前記出力回路がさらに、前記Nエントリアレイ
の前記各エントリにそれぞれが連結している第3および
第4のマルチプレクサを具備しており、前記Nエントリ
アレイの前記第1のエンドから生じる前記1つかそれ以
上のビットの前記所定のパターンを有する前記第2のM
エントリを選択する前記回路が、前記第3のマルチプレ
クサに前記Nエントリアレイから前記Nエントリアレイ
の前記第1のエンドから生じる前記1つかそれ以上のビ
ットの前記所定のパターンを有する前記第2のMエント
リを出力させる第3のコントロールシグナルを生成し、
前記Nエントリアレイの前記第2のエンドから生じる前
記1つかそれ以上のビットの前記所定のパターンを有す
る前記第2のMエントリを選択する前記回路が、前記第
4のマルチプレクサに前記Nエントリアレイから前記N
エントリアレイの前記第1のエンドから生じる前記1つ
かそれ以上のビットの前記所定のパターンを有する前記
第2のMエントリを出力させる第4のコントロールシグ
ナルを生成する上記(8)記載の装置。 (11)それぞれKビットのNエントリを有する記憶ア
レイと、有効ベクトルと、前記記憶アレイにそれぞれ連
結されたMマルチプレクサと、前記有効ベクトルおよび
前記各Mマルチプレクサに連結されたコントロール回路
とからなる装置であって、前記有効ベクトルの各エント
リは前記記憶アレイの1つの前記Nエントリと関連し、
前記各Mマルチプレクサは前記記憶アレイの1つの前記
Nエントリと対応して連結されたN入力を有し、そして
前記各MマルチプレクサはKビット出力を有し、前記コ
ントロール回路が、前記有効ベクトルを受け取る回路
と、あらかじめ選択された値を有する前記有効ベクトル
の両エンドから前記有効ベクトルの第1のエントリを見
つける回路と、前記Mマルチプレクサのうち第1および
第2が前記記憶アレイから選択され、前記あらかじめ選
択された値を有する前記有効ベクトルの前記第1エント
リに対応する前記記憶アレイの前記Nエントリの前記K
ビット出力エントリから出力されるようにする前記第1
および第2のMマルチプレクサへ送られる第1および第
2のコントロールシグナルを生成する回路とを具備する
装置。 (12)前記コントロール回路がさらに、前記あらかじ
め選択された値を有する前記有効ベクトルの前記第1の
エントリと前記第1のエントリと前記有効ベクトルの前
記両エンドとの間に生じる前記有効ベクトルのこれらの
エントリとを削除することによって、前記有効ベクトル
から新しい有効ベクトルを生成する回路と、前記あらか
じめ選択された値を有する前記新しい有効ベクトルの両
エンドから前記新しい有効ベクトルの第1のエントリを
見つける回路と、前記Mマルチプレクサのうち第3およ
び第4が前記記憶アレイから選択され、前記あらかじめ
選択された値を有する前記新しい有効ベクトルの前記第
1のエントリに対応する前記記憶アレイの前記Nエント
リの前記Kビット出力エントリから出力されるようにす
る前記第3および第4のMマルチプレクサへ送られる第
3および第4のコントロールシグナルを生成する回路と
を具備する上記(11)記載の装置。 (13)前記新しい有効ベクトルの前記第1のエントリ
が前記新しい有効ベクトルのエントリと同じであり、そ
のために前記第4コントロールシグナルが止められる上
記(12)記載の装置。 (14)前記第1のコントロールシグナルがNエントリ
ベクトルであって、前記生成回路がさらに、前記有効ベ
クトルの第1のエントリおよび確定ビットを受け取り、
前記第1のコントロールシグナルの第1のエントリを出
力する第1のANDゲートと、前記有効ベクトルの第2の
エントリおよび前記有効ベクトルの前記第1のエントリ
の反転を受け取り、前記第1のコントロールシグナルの
第2のエントリを出力する第2のANDゲートとを具備す
る上記(11)記載の装置。 (15)前記生成回路がさらに、前記有効ベクトルの前
記第1および第2のエントリを受け取るNORゲートと前
記有効ベクトルの第3のエントリおよび前記NORゲート
の出力を受け取り、前記第1のコントロールシグナルの
第2のエントリを出力する第3のANDゲートとを具備す
る上記(14)記載の装置。 (16)正の整数のNエントリアレイから正の整数のM
エントリを選択する方法であって、 a) 前記Nエントリアレイの各エントリの1つかそれ以
上のビットを監視するステップと、 b) 前記Nエントリアレイの第1のエンドから生じる前
記1つかそれ以上のビットの所定のパターンを有する第
1の前記Mエントリを選択するステップと、 c) 前記Nエントリアレイの第2のエンドから生じる前
記1つかそれ以上のビットの前記所定のパターンを有す
る第1の前記Mエントリを選択するステップと、 d) ステップb)に応じて、第1のマルチプレクサに、前
記Nエントリアレイから前記Nエントリアレイの前記第
1のエンドから生じる前記1つかそれ以上のビットの前
記所定のパターンを有する前記第1のMエントリを出力
させる第1のコントロールシグナルを生成するステップ
と、 e) ステップc)に応じて、第2のマルチプレクサに、前
記Nエントリアレイから前記Nエントリアレイの前記第
2のエンドから生じる前記1つかそれ以上のビットの前
記所定のパターンを有する前記第1のMエントリを出力
させる第2のコントロールシグナルを生成するステップ
とからなる方法。 (17)f) 前記Nエントリアレイの前記第1のエンド
から生じる前記1つかそれ以上のビットの前記所定のパ
ターンを有する第2の前記Mエントリを選択するステッ
プと、 g) 前記Nエントリアレイの前記第2のエンドから生じ
る前記1つかそれ以上のビットの前記所定のパターンを
有する第2の前記Mエントリを選択するステップとから
さらになる上記(16)記載の方法。 (18)h) ステップf)に応じて、第3のマルチプレク
サに、前記Nエントリアレイから前記Nエントリアレイ
の前記第1のエンドから生じる前記1つかそれ以上のビ
ットの前記所定のパターンを有する前記第2のMエント
リを出力させる第3のコントロールシグナルを生成する
ステップと、 i) ステップg)に応じて、第4のマルチプレクサに、前
記Nエントリアレイから前記Nエントリアレイの前記第
2のエンドから生じる前記1つかそれ以上のビットの前
記所定のパターンを有する前記第2のMエントリを出力
させる第4のコントロールシグナルを生成するステップ
とからさらになる上記(16)記載の方法。
【図面の簡単な説明】
【図1】本発明の一実施例を示すブロック図。
【図2】本発明の一実施例を示すブロック図。
【図3】本発明によるコントロールシグナルの生成を示
すブロック図。
【図4】本発明の一実施例による論理回路図。
【図5】本発明の一実施例による論理回路図。
【図6】本発明の一実施例による論理回路図。
【符号の説明】
100 Nエントリアレイ 101 バス 103、104、105、106 MUX 107 コントロール回路 201、202、301、302 回路 304 インバータ 305、306、307 NORゲート 308、309、310、311 ANDゲート 312、314、315 インバータ 313、316 ANDゲート 317、318 インバータ 319、320 ANDゲート 321 ORゲート
───────────────────────────────────────────────────── フロントページの続き (72)発明者 トム・ティェン・チェン・チウ アメリカ合衆国78759、 テキサス州オー スティン ホース マウンテン コーブ 8406 (72)発明者 ヒュン・キュー・レ アメリカ合衆国78717、 テキサス州オー スティン ドーマン ドライブ 16310 (72)発明者 ドナルド・ジー・ミカン・ジュニア アメリカ合衆国78727、 テキサス州オー スティン テリス コーブ 1900

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】正の整数のNエントリアレイから正の整数
    のMエントリを選択するための装置であって、 前記Nエントリアレイの各エントリの1つかそれ以上の
    ビットを監視する回路と、 前記監視回路と連結されており、前記1つかそれ以上の
    ビットの所定のパターンを有する前記Nエントリアレイ
    からMエントリを選択する回路と、 前記選択回路と連結されており、前記1つかそれ以上の
    ビットの前記所定のパターンを有する前記Nエントリア
    レイから選択された前記Mエントリを出力する回路とを
    具備する装置。
  2. 【請求項2】M≧2であって、前記選択回路は前記1つ
    かそれ以上の前記所定のパターンを有する前記Mエント
    リを、前記Nエントリアレイの一方のエンドから始めて
    選択する請求項1記載の装置。
  3. 【請求項3】前記選択回路が、さらに前記Nエントリア
    レイの第1のエンドから生じる前記1つかそれ以上のビ
    ットの前記所定のパターンを有する第1の前記Mエント
    リを選択する回路と、 前記Nエントリアレイの第2のエンドから生じる前記1
    つかそれ以上のビットの前記所定のパターンを有する第
    1の前記Mエントリを選択する回路とを具備する請求項
    1記載の装置。
  4. 【請求項4】前記Nエントリアレイの前記第1および第
    2のエンドが前記Nエントリアレイの逆側にある請求項
    3記載の装置。
  5. 【請求項5】前記出力回路がさらに、前記Nエントリア
    レイの前記各エントリにそれぞれが連結している第1お
    よび第2のマルチプレクサを具備しており、前記Nエン
    トリアレイの前記第1のエンドから生じる前記1つかそ
    れ以上のビ ットの前記所定のパターンを有する前記第1のMエント
    リを選択する前記回路が、前記第1のマルチプレクサに
    前記Nエントリアレイから前記Nエントリアレイの前記
    第1のエンドから生じる前記1つかそれ以上のビットの
    前記所定のパターンを有する前記第1のMエントリを出
    力させる第1のコントロールシグナルを生成し、 前記Nエントリアレイの前記第2のエンドから生じる前
    記1つかそれ以上のビットの前記所定のパターンを有す
    る前記第1のMエントリを選択する前記回路が、前記第
    2のマルチプレクサに前記Nエントリアレイから前記N
    エントリアレイの前記第2のエンドから生じる前記1つ
    かそれ以上のビットの前記所定のパターンを有する前記
    第1のMエントリを出力させる第2のコントロールシグ
    ナルを生成する請求項4記載の装置。
  6. 【請求項6】前記1またはそれ以上のビットの前記所定
    のパターンを有する前記NエントリからMエントリを選
    択するための前記回路がさらに、 前記Nエントリアレイの前記第1のエンドから生じる前
    記1つかそれ以上のビットの前記所定のパターンを有す
    る第2の前記Mエントリを選択する回路からなる請求項
    5記載の装置。
  7. 【請求項7】前記1またはそれ以上のビットの前記所定
    のパターンを有する前記NエントリからMエントリを選
    択するための前記回路がさらに、 前記Nエントリアレイの前記第2のエンドから生じる前
    記1つかそれ以上のビットの前記所定のパターンを有す
    る第2の前記Mエントリを選択する回路からなる請求項
    6記載の装置。
  8. 【請求項8】前記Nエントリアレイの前記第1のエンド
    から生じる前記1つかそれ以上のビットの前記所定のパ
    ターンを有する前記第2のMエントリと、前記Nエント
    リアレイの前記第2のエンドから生じる前記1つかそれ
    以上のビットの前記所定のパターンを有する前記第2の
    Mエントリとが同じエントリである請求項7記載の装
    置。
  9. 【請求項9】前記Nエントリアレイの前記第1のエンド
    から生じる前記1つかそれ以上のビットの前記所定のパ
    ターンを有する前記第1のMエントリと、前記Nエント
    リアレイの前記第2のエンドから生じる前記1つかそれ
    以上のビットの前記所定のパターンを有する前記第1の
    Mエントリとが同じエントリである請求項3記載の装
    置。
  10. 【請求項10】前記出力回路がさらに、前記Nエントリ
    アレイの前記各エントリにそれぞれが連結している第3
    および第4のマルチプレクサを具備しており、 前記Nエントリアレイの前記第1のエンドから生じる前
    記1つかそれ以上のビットの前記所定のパターンを有す
    る前記第2のMエントリを選択する前記回路が、前記第
    3のマルチプレクサに前記Nエントリアレイから前記N
    エントリアレイの前記第1のエンドから生じる前記1つ
    かそれ以上のビットの前記所定のパターンを有する前記
    第2のMエントリを出力させる第3のコントロールシグ
    ナルを生成し、 前記Nエントリアレイの前記第2のエンドから生じる前
    記1つかそれ以上のビットの前記所定のパターンを有す
    る前記第2のMエントリを選択する前記回路が、前記第
    4のマルチプレクサに前記Nエントリアレイから前記N
    エントリアレイの前記第1のエンドから生じる前記1つ
    かそれ以上のビットの前記所定のパターンを有する前記
    第2のMエントリを出力させる第4のコントロールシグ
    ナルを生成する請求項8記載の装置。
  11. 【請求項11】それぞれKビットのNエントリを有する
    記憶アレイと、有効ベクトルと、前記記憶アレイにそれ
    ぞれ連結されたMマルチプレクサと、前記有効ベクトル
    および前記各Mマルチプレクサに連結されたコントロー
    ル回路とからなる装置であって、 前記有効ベクトルの各エントリは前記記憶アレイの1つ
    の前記Nエントリと関連し、 前記各Mマルチプレクサは前記記憶アレイの1つの前記
    Nエントリと対応して連結されたN入力を有し、そして
    前記各MマルチプレクサはKビット出力を有し、 前記コントロール回路が、前記有効ベクトルを受け取る
    回路と、あらかじめ選択された値を有する前記有効ベク
    トルの両エンドから前記有効ベクトルの第1のエントリ
    を見つける回路と、前記Mマルチプレクサのうち第1お
    よび第2が前記記憶アレイから選択され、前記あらかじ
    め選択された値を有する前記有効ベクトルの前記第1エ
    ントリに対応する前記記憶アレイの前記Nエントリの前
    記Kビット出力エントリから出力されるようにする前記
    第1および第2のMマルチプレクサへ送られる第1およ
    び第2のコントロールシグナルを生成する回路とを具備
    する装置。
  12. 【請求項12】前記コントロール回路がさらに、 前記あらかじめ選択された値を有する前記有効ベクトル
    の前記第1のエントリと前記第1のエントリと前記有効
    ベクトルの前記両エンドとの間に生じる前記有効ベクト
    ルのこれらのエントリとを削除することによって、前記
    有効ベクトルから新しい有効ベクトルを生成する回路
    と、 前記あらかじめ選択された値を有する前記新しい有効ベ
    クトルの両エンドから前記新しい有効ベクトルの第1の
    エントリを見つける回路と、 前記Mマルチプレクサのうち第3および第4が前記記憶
    アレイから選択され、前記あらかじめ選択された値を有
    する前記新しい有効ベクトルの前記第1のエントリに対
    応する前記記憶アレイの前記Nエントリの前記Kビット
    出力エントリから出力されるようにする前記第3および
    第4のMマルチプレクサへ送られる第3および第4のコ
    ントロールシグナルを生成する回路とを具備する請求項
    11記載の装置。
  13. 【請求項13】前記新しい有効ベクトルの前記第1のエ
    ントリが前記新しい有効ベクトルのエントリと同じであ
    り、 そのために前記第4コントロールシグナルが止められる
    請求項12記載の装置。
  14. 【請求項14】前記第1のコントロールシグナルがNエ
    ントリベクトルであって、前記生成回路がさらに、前記
    有効ベクトルの第1のエントリおよび確定ビットを受け
    取り、前記第1のコントロールシグナルの第1のエント
    リを出力する第1のANDゲートと、前記有効ベクトルの
    第2のエントリおよび前記有効ベクトルの前記第1のエ
    ントリの反転を受け取り、前記第1のコントロールシグ
    ナルの第2のエントリを出力する第2のANDゲートとを
    具備する請求項11記載の装置。
  15. 【請求項15】前記生成回路がさらに、前記有効ベクト
    ルの前記第1および第2のエントリを受け取るNORゲー
    トと前記有効ベクトルの第3のエントリおよび前記NOR
    ゲートの出力を受け取り、前記第1のコントロールシグ
    ナルの第2のエントリを出力する第3のANDゲートとを
    具備する請求項14記載の装置。
  16. 【請求項16】正の整数のNエントリアレイから正の整
    数のMエントリを選択する方法であって、 a) 前記Nエントリアレイの各エントリの1つかそれ以
    上のビットを監視するステップと、 b) 前記Nエントリアレイの第1のエンドから生じる前
    記1つかそれ以上のビットの所定のパターンを有する第
    1の前記Mエントリを選択するステップと、 c) 前記Nエントリアレイの第2のエンドから生じる前
    記1つかそれ以上のビットの前記所定のパターンを有す
    る第1の前記Mエントリを選択するステップと、 d) ステップb)に応じて、第1のマルチプレクサに、前
    記Nエントリアレイから前記Nエントリアレイの前記第
    1のエンドから生じる前記1つかそれ以上のビットの前
    記所定のパターンを有する前記第1のMエントリを出力
    させる第1のコントロールシグナルを生成するステップ
    と、 e) ステップc)に応じて、第2のマルチプレクサに、前
    記Nエントリアレイから前記Nエントリアレイの前記第
    2のエンドから生じる前記1つかそれ以上のビットの前
    記所定のパターンを有する前記第1のMエントリを出力
    させる第2のコントロールシグナルを生成するステップ
    とからなる方法。
  17. 【請求項17】f) 前記Nエントリアレイの前記第1の
    エンドから生じる前記1つかそれ以上のビットの前記所
    定のパターンを有する第2の前記Mエントリを選択する
    ステップと、 g) 前記Nエントリアレイの前記第2のエンドから生じ
    る前記1つかそれ以上のビットの前記所定のパターンを
    有する第2の前記Mエントリを選択するステップとから
    さらになる請求項16記載の方法。
  18. 【請求項18】h) ステップf)に応じて、第3のマルチ
    プレクサに、前記Nエントリアレイから前記Nエントリ
    アレイの前記第1のエンドから生じる前記1つかそれ以
    上のビットの前記所定のパターンを有する前記第2のM
    エントリを出力させる第3のコントロールシグナルを生
    成するステップと、 i) ステップg)に応じて、第4のマルチプレクサに、前
    記Nエントリアレイから前記Nエントリアレイの前記第
    2のエンドから生じる前記1つかそれ以上のビットの前
    記所定のパターンを有する前記第2のMエントリを出力
    させる第4のコントロールシグナルを生成するステップ
    とからさらになる請求項16記載の方法。
JP9072948A 1996-04-04 1997-03-26 アレイからエントリを選択する方法および装置 Pending JPH1074186A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/627653 1996-04-04
US08/627,653 US5754885A (en) 1996-04-04 1996-04-04 Apparatus and method for selecting entries from an array

Publications (1)

Publication Number Publication Date
JPH1074186A true JPH1074186A (ja) 1998-03-17

Family

ID=24515537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9072948A Pending JPH1074186A (ja) 1996-04-04 1997-03-26 アレイからエントリを選択する方法および装置

Country Status (2)

Country Link
US (1) US5754885A (ja)
JP (1) JPH1074186A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480818B1 (en) 1998-11-13 2002-11-12 Cray Inc. Debugging techniques in a multithreaded environment
JP3562373B2 (ja) * 1999-03-29 2004-09-08 富士通株式会社 ゼロ判定信号生成回路
US8078657B2 (en) * 2007-01-03 2011-12-13 International Business Machines Corporation Multi-source dual-port linked list purger

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4740971A (en) * 1986-02-28 1988-04-26 Advanced Micro Devices, Inc. Tag buffer with testing capability
US5353426A (en) * 1992-04-29 1994-10-04 Sun Microsystems, Inc. Cache miss buffer adapted to satisfy read requests to portions of a cache fill in progress without waiting for the cache fill to complete
US5410669A (en) * 1993-04-05 1995-04-25 Motorola, Inc. Data processor having a cache memory capable of being used as a linear ram bank

Also Published As

Publication number Publication date
US5754885A (en) 1998-05-19

Similar Documents

Publication Publication Date Title
US5534796A (en) Self-clocking pipeline register
US4591979A (en) Data-flow-type digital processing apparatus
USRE40932E1 (en) Content addressable memory (CAM) devices that perform pipelined multi-cycle look-up operations using cam sub-arrays and longest match detection
JP3147432B2 (ja) パイプライン処理装置
US20020143505A1 (en) Implementing a finite state machine using concurrent finite state machines with delayed communications and no shared control signals
WO1994028475A1 (en) Field programmable logic device with dynamic interconnections to a dynamic logic core
US5122979A (en) Method and a digital electronic device for the evaluation of an extremum of a set of binary encoded data words
JPH07192025A (ja) 順序回路の再設計方法
EP1864296A2 (en) Programmable pipeline array
US4862072A (en) Distributed access serial port test arrangement for integrated circuits
EP0568374B1 (en) Parallelized magnitude comparator for comparing a binary number to a fixed value
US5537624A (en) Data repacking circuit having toggle buffer for transferring digital data from P1Q1 bus width to P2Q2 bus width
US5253349A (en) Decreasing processing time for type 1 dyadic instructions
JPH1074186A (ja) アレイからエントリを選択する方法および装置
JP2003337807A (ja) クロスバの高速化方法及びクロスバの高速化方式
JPH05265705A (ja) ディジタル処理回路
EP0568373B1 (en) Apparatus and method for parallelized magnitude comparison of digital data
US4879675A (en) Parity generator circuit and method
US3665409A (en) Signal translator
US7024618B2 (en) Transmission error checking in result forwarding
JP4428819B2 (ja) 多入力データソーティング回路
US6229738B1 (en) Resettable memory structure
US6438571B1 (en) Adder circuit
JP3199196B2 (ja) 5入力加算器
JPH02139629A (ja) Fifoバッファ装置