JP2007087413A - ルックアップしたエントリーの重複検出方法および装置 - Google Patents

ルックアップしたエントリーの重複検出方法および装置 Download PDF

Info

Publication number
JP2007087413A
JP2007087413A JP2006306907A JP2006306907A JP2007087413A JP 2007087413 A JP2007087413 A JP 2007087413A JP 2006306907 A JP2006306907 A JP 2006306907A JP 2006306907 A JP2006306907 A JP 2006306907A JP 2007087413 A JP2007087413 A JP 2007087413A
Authority
JP
Japan
Prior art keywords
code
sum
equal
inputs
binary
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.)
Granted
Application number
JP2006306907A
Other languages
English (en)
Other versions
JP3996623B2 (ja
Inventor
Nirmal R Saxena
アール. サクセナ,ナーマル
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2007087413A publication Critical patent/JP2007087413A/ja
Application granted granted Critical
Publication of JP3996623B2 publication Critical patent/JP3996623B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5002Characteristic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

【課題】対象物のセットから1つより多い対象物が選択されたかどうかを検出する方法及び装置の提供。
【解決手段】ユニークコードとエラーコードがセット内の対象物に結合される612。選択された対象物からのエラーコードのように、少なくとも1つの対象物が選択され614、選択された対象物からのユニークコードの論理和がとられる616。論理和がとられたユニークなコードからテストコードが生成され618、論理和がとられたエラーコードとの同等性がテストされて1つより多い対象物が選択されたかを判定する620。
【選択図】図6A

Description

発明の分野
本発明は電子的論理設計に関し、特にマイクロプロセッサにおける電子的論理設計に関する。
発明の背景
ルックアップテーブルはマイクロプロセッサの設計を含む様な分野において一般に使用されている。図1において、従来のルックアップテーブル110はいくつかのコラム120、122、124、150からなっている。各コラム120、122、124、150内のデータは単一のロー内に関連するデータ130、144、146を配置することによりアレンジできる。1例および図1において、関連するデータ130、144、146は、他の物理的配置も可能であるが、ローフォーマットに物理的に配置されている。従来のルックアップテーブル110においては、1つのコラム120内のエントリー140、142、144はテーブル110に対するインデックスとして使用される。インデックスコラム120内のデータ140、142、144の特定の値は検索され、即ち、「ルックアップ」され、見つかれば、同一のロー内の他の関連するデータが出力される。しばしば、見つかったロー内のインデックスエントリー140、142、144はそれ自体が出力される。
残念ながら、インデックスデータ140、142、144は、データ140、142、144がルックアップテーブル110を代表する物理的格納デバイスに書き込まれる時のデータメモリセル又は電気的インターフェースの障害といった様々な要因によりしばしば損なわれる。これが起きると、誤りデータが格納され、サーチ結果を損う。例えば、データ140が101の値を持つようにして誤って格納されると、2つのエントリー140、144が101の所望のインデックスエントリーと一致する。
関連出願の相互参照
本願発明の主題は、下記に掲げる出願の主題と関連している。
出願番号 、「テスト記憶装置用2進数を効率的に生成する方法、システムおよび装置」の名称で、Nirmal R. Saxenaによって1995年6月9日に出願
出願番号 、「メモリアドレッシングエラーを検出する方法および装置」の名称で、Nirmal R. Saxenaによって1995年6月9日に出願
出願番号 、「並列データプロセッサにおけるアクティブ命令を回転させる方法および装置」の名称で、Sunil Savkar、Michael C. Shebanow 、Gene W. ShenおよびFarnad Sajjadianによって1995年6月1日に出願
出願番号 、「プログラマブル命令トラップシステムおよび方法」の名称で、Sunil Savkar、 Gene W. Shen 、Farnad SajjadianおよびMichael C. Shebanow によって1995年6月1日に出願
出願番号 08/388,602 、「スーパースケーラ マイクロプロセッサ用命令フロー制御回路」の名称で、Takeshi Kitaharaによって1995年2月14日に出願
出願番号 08/388,389 、「格納命令に関して負荷命令を順不同に実行するアドレッシング方法」の名称で、Michael A. Simone およびMichael C. Shebanow によって1995年2月14日に出願
出願番号 08/388,606 、「名前を付け替えられたレジスタに結果を効率的に書き込む方法および装置」の名称で、DeForest W. Tovey 、Michael C. Shebanow およびJohn Gmuender によって1995年2月14日に出願
出願番号 08/388,364 、「マイクロプロセッサにおける物理レジスタの利用を調整する方法および装置」の名称で、DeForest W. Tovey 、Michael C. Shebanow およびJohn Gmuender によって1995年2月14日に出願
出願番号 08/390,885 「精密な状態を保持するため命令状態をトラッキングするプロセッサ構造および方法」の名称で、Gene W. Shen、John Szeto、Niteen A. PatkarおよびMichael C. Shebanow によって1995年2月14日に出願
出願番号 08/397,810 「アドレス変換の高速化のための並列アクセス マイクロ−TLB」の名称で、Chih-Wei David Chang、Kioumars Dawallu、Joel F. Boney 、Ming-Ying LiおよびJen-Hong Charles Chen によって1995年3月3日に出願
出願番号 08/397,809 「コンピュータシステムにおけるアドレス変換用ルックアサイドバッファ」の名称で、Leon Kuo-Liang Peng、Yolin Lin およびChih-Wei David Changによって1995年3月3日に出願
出願番号 08/397,893 、「データプロセッサにおけるプロッセサ資源の再生利用」の名称で、Michael C. Shebanow 、Gene W. Shen、Ravi Swami、Niteen A. Patkarによって1995年3月3日に出願
出願番号 08/397,891 、「実行準備ができたものから命令を選択する方法および装置」の名称で、Michael C. Shebanow 、John Gmuender 、Michael A. Simone 、John R. F. S. Szeto 、Takumi Maruyama および DeForest W. Toveyによって1995年3月3日に出願
出願番号 08/397,911 、「不履行命令の高速ソフトウェア エミュレーション用ハードウェアサポート」の名称で、Shalesh Thusoo、Farnad Sajjadian、Jaspal KohliおよびNiteen A. Patkarによって1995年3月3日に出願
出願番号 08/398,284 、「制御転送リターンを加速する方法および装置」の名称で、Akiro Katsuno 、Sunil SavkarおよびMichaelC. Shebanow によって1995年3月3日に出願
出願番号 08/398,066 、「フェッチプログラムカウンタの更新方法」の名称で、Akira Katsuno 、Niteen A. Patkar、Sunil SavkarおよびMichael C. Shebanow によって1995年3月3日に出願
出願番号 08/397,910 、「コンピュータシステムにおけるエラーの優先化および処理方法および装置」の名称で、Chih-Wei David Chang、Joel Fredrick Boney およびJaspal Kohliによって1995年3月3日に出願 出願番号 08/398,151 、「制御転送命令の迅速な実行方法および装置」の名称で、Sunil W. Savkar によって1995年3月3日に出願
出願番号 08/397,800 、「マイクロプロセッサにおけるゼロビット状態フラッグの生成方法および装置」の名称で、Michael Simoneによって1995年3月3日に出願
出願番号 08/397,912 、「パイプライン化読取り−修正−書込みアクセスを備えたECC保護メモリ編成」の名称で、Chien ChenおよびYuzhi Luによって1995年3月3日に出願 出願番号 08/398,299 、「精密な状態を保持するため命令状態をトラッキングするプロセッサ構造および方法」の名称で、Chien Chen、John R. F. S. Szeto 、Niteen A. Patkar、Michael C. Shebanow 、Hideki Osone、Takumi Maruyama およびMichael A. Simoneによって1995年3月3日に出願
参考として、上記の出願の全てを本願発明の全体に亘って取り入れている。
サーチメカニズムに依存して、二重エントリーの位置に関連する出力は誤りとなる。誤ったローがフラグされて出力され、又は両ローからのデータの結合が選択されて出力されるからである。
多数の同等インデックスエントリーの検出を可能にする出力回路を設計することは、出力回路に複雑性を加えることになり、それによりシステム性能が劣化し、集積回路上の様々なスペースが必要となる。出力回路の性能に対して重大な劣化をもたらすことなく、又は集積回路上に大きなスペースを必要とすることなく、そのような状態を検出することが望まれる。
発明の要旨
本発明による方法および装置は、ルックアップテーブル内の2つ以上の同等エントリーの存在を検出する。ROM内のロー番号のような二重になる確率の低いインデックスを用いて、エラーコードが生成される。所望の値と一致するルックアップテーブル内のエントリーに対応するエラーコードは論理的ORを取られその結果は、そのエラーコードが所望の値のエラーコードと一致するかどうかを識別するために試験される。もし一致すれば、複数の一致はおこらない。もし一致しなければ、複数の一致がおきる。OR機能を用いるので、検出回路は集積回路内で効率的に実現される。
好ましい実施例の簡単な記載
図1において、コラムおよびローの他の数を使用できるが、4コラム、3ローのルックアップテーブルが示されている。1実施例においては、非繰り返しコラム124として指定されるコラムは数の非繰り返しのセットを含んでいる。数の非繰り返しのセットは、セットの2つの要素が等しくない数のセットである。要求はされないが、任意の繰り返し数を持つことが殆ど有り得ない非繰り返しコラムを持つことが有効である。1実施例においては、非繰り返し数は、ロー0から始まる2進フォーマットでのロー番号であり、これらのロー番号126、128、130はROMに格納され、それによりそれらのロー番号はコラム124における繰り返し数を生じ得るエラーにさらされることが極めて少なくなる。ロー番号は図1に示されるように格納されるか、それらは以下に記載のようにローに対するエラーコードの計算の直前に要求に応じて生成される。
第2のコラム120は、インデックスコラムとして指定され、「ルックアップ」又は検索されて1つ以上の特定数に等しいコラム120内のエントリーを捜し出すための数のセットを含む。1実施例においては、インデックスコラム120は、すべてがユニークで各サーチに対して1つのエントリーのみを生成する数のセットを含むと考えられる。この実施例においては、本発明が用いられてインデックスコラム120内の2重のエントリー、即ち、コラム120の1つのロー内の数であってそれがコラム120の他のロー内で少なくとも1回繰り返されるもの、を検出する。他の実施例においては、本発明は結果的に2つ以上のエントリーを生ずる任意のサーチを検出するために使用される。
1実施例においては、サーチイネーブルコラム122が提供されて、特定の値を持つサーチイネーブルコラム122内のエントリーと同一のロー内にあるインデックスコラム120内のエントリーに対するサーチを制限する。例えば、ロー1および2は値1を持つコラムエントリー146,148を有するので、これらのローのみがサーチに含まれ、ロー0はスキップされ、即ちサーチされない。サーチイネーブルコラム122の使用は本発明により要求されない。
本発明においては、いくつかの又はすべてのローのエラー検出コードはそのローに対する非繰り返しコラム124のエントリーに基づいて生成され、そのローに結合され、そのエラー検出コードが生成されたローから以下に記載のようにエラーの検出を可能にする。エラー検出コードはコラム150内に格納されるか、又は必要に応じて生成される。
エラー検出コード内のビット数はlog2 N以上である。ここでNは、少なくとも、非繰り返しコラム124内の非繰り返し数126、128、130を表すために要求されるビット数である。1実施例においては、エラー検出コードは、非繰り返しコラム内の“1”といった特定の値に等しいビット数の補数に等しい。2進数の補数は、各オリジナルの“1”を“0”で置き換え、各オリジナルの“0”を“1”で置き換えた2進数に等しい。例えば、10に等しい非繰り返し数130のためのエラーコードを生成するためには、数10は“1”に等しい1ビットを有する。1は2進数の01で表され、01の補数は10である。
さて図2Aを参照すると、2ビットワードにおけるセットビットの数の計数の補数を生成する装置の1実施例が示されている。ワード内の各ビット210,212は排他的NORゲート214に接続されてその装置の低位出力を生成する。2ビット210,212は2入力NANDゲート218に接続されてその装置の上位出力を生成する。出力216,220は2つのビット210,212に対応するローに接続される。図1および図2Aにおいて、2つのビット210,212は非繰り返しコラム124の単一ロー内のビットに対応している。出力216,220は、2つのビット210,212が来たコラム150内の同じロー内に格納され得る。これに替えて、出力216,220は、以下に記載のインデックスコラム120上のサーチが実行される時又はその近くで計算できる。
他の実施例においては、セットビットの数の補数を計算するために、非繰り返しコラムのビットは1つ以上の高速アダーに入力され得る。図2Bにおいて、高速アダー250、252、254、256が6ビットワード内のセットビットの数の計数の補数を得ることを可能にする接続が示されている。
下位ビットであるビット0はアダーの入力271に接続されており、残りのビット1,2,3,4,および5はそれぞれ入力268、266、264、263、および260に接続されている。キャリー入力270は論理0に接続されており、他の方法では出力として使用されない。アダーの出力282、284、286は入力271、268、266、264、262、260におけるセットビットの数の計数を生成する。出力282、284、286は、計数の補数をとって出力296、298、299にエラー検出コードを生成するインバータ290、293、294を用いて反転される。
1実施例においては、テーブル110に対する従来のサーチ機能が、予め選択された数に一致するインデックスコラム120内のエントリーを持つインデックスコラム120内のローを探索することにより実行される。図1および図3Aにおいて、コラム120内のエントリーが特定の数に一致するかどうかを判定するための装置が示されている。その特定の数は排他的論理和ゲート314に接続された入力320に与えられる。コラム120の1つのロー310内の各ビット340、342、344は排他的論理和ゲート314の1つの第2の入力322に接続され、その排他的論理和ゲート314は、ビット340、342、344が対応する入力320に等しい場合にハイを出力する。排他的論理和ゲート314は、すべてのビット340、342、344が対応する入力320に一致するとハイを出力する出力318を有するANDゲート316に接続されている。出力318はANDゲート315の第1の入力に接続されている。入力330、332、334はその位置に対応するビット340、342、344を受けるように接続されており、コラム120内のロー310が入力320と一致すると出力ライン321上にこのビットが出力される。
図1、図3Aおよび図3Bを参照して、1実施例において、出力318はANDゲート350、352に接続されており、そのANDゲート350、352は、入力370、372で提供されたコラム150からのエラーコードビット360、362を、非繰り返しコラム124の1つ又は複数の選択されたローに対応する出力380上にドライブするために接続されている。
1実施例において、選択された1つ又は複数のローは、インデックスコラム120内のエントリーで予め選択された数に一致するものを持つすべてのローの論理的ORをとることにより出力される。論理的ORを取る手段、即ち、論理和を取る手段は各ビットの論理和を計算する。例えば、100と101とのOR即ち論理和は101である。論理的ORの機能は集積回路内で実現するために効率的であるが、論理的ORを取ることは1つだけの数が期待されている時に2つの数のORが取られたという事実をマスクできる。図1及び図4において、ORゲート460、462、464、466、468を用いて出力450、452、454、456、458を生成するための論理的ORをとる入力440、442、444、446、448のための装置が示されている。ボックス420内のコラムは非繰り返しコラム120の各エントリー内の個々のビットを表しており、ボックス422は図4内の各ボックスが1ビットを保持している場合のエラーコードコラムを表している。このようなORを取る機能は図においては厄介なものであるが、集積回路においては、このような機能は上記のように多数の一致出力エラーをマスクするが極めて効率的である。
選択されたロー又はORが取られたローに対応する非繰り返しコラムエントリー及びエラーコードが出力450、452、454、456、458に現れた後に、選択された1つ又は複数のローの非繰り返しコラム124に対応するORが取られた出力450、452、454を用いて、再計算されたエラーコードが計算される。再計算されたエラーコードはエラーコードコラム150に対応するORが取られた出力456、458と比較される。1つだけのエントリーが出力された場合は、エラーコードコラム150に対応する出力456、458は再計算されたエラーコードに等しくなる筈である。そうでない場合は、そのような同一性は現れない。図2A又は図2Bに示した装置又はその装置の組合せは再計算されたエラーコードを計算するために使用される。
図5において、同等性を検出する装置の1実施例が示されている。ORが取られたエラーコード及び再計算されたエラーコードは図5に示した装置を用いてビット法で等価性がテストされる。ORがとられたエラーコードからの下位ビットは排他的論理和ゲートの入力510に接続され、上位ビットは排他的論理和ゲートの入力514に接続される。再計算されたエラーコードからの下位ビットは排他的論理和ゲートの入力512に接続され、上位ビットは排他的論理和ゲートに入力516に接続される。1実施例においては、ゲート522は2入力ORゲートであり、ORが取られたエラーコードが再計算されたエラーコードに等しくない場合は出力524にハイを出力し、上記のような二重選択によるエラーの可能性が存在することを知らせる。
他の実施例においては、ゲート522はNORゲートであり、反対の信号を出力する。他の実施例においては、ゲート522はオープンコレクタのORゲートであり、単一の信号を出力する。
図4を参照して、他の実施例においては、再計算されたエラーコードは上記した方法と異なる方法で計算される。再計算されたエラーコードはORされたセットビット456、458の和である。ORされたエラーコード及び再計算されたエラーコードは、より単純な回路を提供するために、ビット単位で等価性のテストがされ。例えば、非繰り返しコラムエントリにおいて、図2Cの装置が用いられ、これは出力240、236が図2Aの出力220、216から反転されている点を除き、図2Aと同じである。他の実施例においては、インバータ290、292、294なしで図2Bの装置が用いられる。この代わりに、出力282、284、286は出力296、298、299と置き代わる。そのような装置が使用されるとき、ORがとられたエラーコードの各ビットは再計算されたエラーコードの反対の筈であるか、又は多数選択エラーが生じたかである。この状況を検出するために、ゲート522が等価性を検出するためのANDゲート、NANDゲート、又はオープンコレクタバージョンであることを除き、図5の装置が上記のように使用される。
図6Aにおいて、本発明の方法の1実施例が示されている。2つ以上のローのエラーコードは、非繰り返しコラム内のエントリー内のセットビットの数を計算し補完することにより生成され610、次いで、非繰り返しコラムからのエントリーと関係付けられる612。エラーコードはその非繰り返しコラムから発生した。例えば、1つのコラム内にデータを含むすべてのローを予め選択された数に一致させることにより、あるローが選択される614。選択されたロー内の対応するビットは互いに論理的にORが取られる616。結果的にORがとられた非繰り返しコラムのエラーコードは、論理的にORされた非繰り返しコラム内のセットビットの数を計数し、その計数の補数をとることにより再計算される618。再計算されたエラーコードは結果的に得られるORされたエラーコードのコラムと比較される620。再計算されたエラーコードがORされたエラーコードに等しい場合は、第1の信号が生成される622。再計算されたエラーコードがORされたエラーコードに等しくない場合は、第2の信号が生成される626。第1及び第2の信号は多数一致の欠如又は存在を示す。第1の信号及び第2の信号の生成は、等価性又は非等価性が検出される場合にのみ単一の信号の生成で置き換えることができ、そうでない場合には信号は生成されない。
図6Bにおいて、本発明の他の方法が示されている。この方法は、再計算されたエラーコードがセットビットの数を計数することにより計算され619、再計算されたエラーコードとORがとられたエラーコードとをビット単位で非等価性のためにテストすることにより比較621が遂行されることを除き、図6Aと同様に動作する。
メモリ内に配置された従来のルックアップテーブルの概略ブロック図である。 本発明による、入力におけるセットビット数の計数の補数に等しい2ビット出力を生成するデバイスの概略図である。 本発明による、6ビットワード内のセットビットの数の計数の補数を与えるために使用される4つの高速アダーと3つのインバータを示す概略図である。 本発明による、入力におけるセットビットの数の計数に等しい2ビット出力を生成するデバイスの概略図である。 第2の入力に等しい第1の入力を出力ラインのセットにドライブする従来の回路の概略図である。 一対のビットを出力ラインのセットにドライブする従来の回路の概略図である。 グループ当たり3ビットの5つのグループの論理的ORを取る従来の回路の概略図である。 本発明によるエラー検出回路の概略図である。 本発明による方法を示すフローチャートである。 本発明による他の方法を示すフローチャートである。

Claims (22)

  1. 第1の部及び第2の部を備える2進コードをテストする方法であって、
    前記コードの前記第1の部内の各ビットの和をとって和を生成すること、
    前記和を補数をとって補数の和を生成すること、
    前記補数の和と前記コードの前記第2の部とを比較すること、
    前記補数の和が前記コードの前記第2の部に等しくない場合に第1の信号を生成すること、
    を備える第1の部及び第2の部を備える2進コードをテストする方法。
  2. 前記補数の和が前記コードの前記第2の部に等しい場合に第2の信号を生成するステップをさらに備える、請求項1に記載の方法。
  3. 前記2進コードはコードのセットから選択された少なくとも2つの2進コードの論理和を備える、請求項1に記載の方法。
  4. 前記コードのセットから選択された各コードは、第1部と前記第1部内の各ビットの和の補数を備える第2部とを備える、請求項3に記載の方法。
  5. 前記セットから選択された各コードは、第1部と前記第1部内の各ビットの和を備える第2部とを備える、請求項3に記載の方法。
  6. 前記セットから選択された各コードはさらに第3部を備え、少なくとも1つの選択されたコードの前記第3部は所望の数に等しい、請求項5に記載の方法。
  7. 選択されたすべての表示コードの前記第3部は互いに等しい、請求項6に記載の方法。
  8. 少なくとも1ビットを備える第1の部と少なくとも1ビットを備える第2の部とを備えるコードのテスト装置であって、入力の第1のセットと、前記コードの前記第2の部に接続された入力の第2のセットと、前記入力の第2のセットに等しい入力の第1のセットに応答する第1の状態を持つ出力とを備え、前記出力は前記入力の前記第2のセットに等しくない入力の第1のセットに応答する第2の状態を持つ、第1の等価性検出部と、前記コードの前記第1の部に接続された複数の入力のセットと等価性発生部入力の第1のセットに接続された少なくとも1つの出力とを有し、その出力にコードの第1の部内の各ビットの和の補数を生成するコード部発生部と、を備えたコードのテスト装置。
  9. 少なくとも1ビットを備える第1の部と少なくとも1ビットを備える第2の部とを備えるコードのテスト装置であって、
    入力の第1のセットと、前記コードの前記第2の部に接続された入力の第2のセットと、前記入力の第2のセットに等しい入力の第1のセットに応答する第1の状態を持つ出力とを備え、前記出力は前記入力の前記第2のセットに等しくない入力の第1のセットに応答する第2の状態を持つ、第1の等価性検出部と、
    前記コードの前記第1の部に接続された複数の入力のセットと等価性発生部入力の第1のセットに接続された少なくとも1つの出力とを有し、その出力にコードの第1の部内の各ビットの和を生成するコード部発生部と、
    を備えたコードのテスト装置。
  10. 複数の対象物のセット内で特定の基準に合致する多数のメンバーの選択を検出する方法であって、
    複数ビットを備えるユニークなコードを前記セット内の前記対象物の各々に接続させること、
    前記セット内の前記対象物の各々に対して前記ユニークな2進コードから2進エラーコードを計算すること、
    複数の前記エラーコードを前記エラーコードが計算されたコードに接続させること、
    前記特定の基準に合致する前セット内の前記対象物を選択すること、
    複数のビットを備え、選択された各対象物に接続されたコードの論理和に等しい第1の論理和を計算すること、
    前記第1の論理和からテストコードを計算すること、
    選択された対象物の2進コードの各々に接続されたエラーコードの論理和に等しい第2の論理和を計算すること、
    前記第2の論理和と前記テストコードとの同等性をテストすること、そして、
    前記同等性のテストに応答して第1の信号を生成すること、
    を備える複数の対象物のセット内で特定の基準に合致する多数のメンバーの選択を検出する方法。
  11. 前記第1の信号は前記第2の論理和が前記テストコードに等しい場合に生成される、請求項10に記載の方法。
  12. 前記同等性のテストが前記第2の論理和が前記テストコードに等しくないと判定すると第2の信号を生成するステップをさらに備える、請求項11に記載の方法。
  13. 前記第1の信号は前記第2の論理和が前記テストコードに等しくない場合に生成される、請求項10に記載の方法。
  14. 前記同等性のテストが前記第2の論理和は前記テストコードに等しいと判定すると第2の信号を生成するステップをさらに備える、請求項13に記載の方法。
  15. 前記第1の信号は前記第2の論理和がビット的に前記テストコードに等しくない場合に生成される、請求項10に記載の方法。
  16. 前記同等性のテストが前記第2の論理和は前記テストコードに等しいと判定する場合に第2の信号を生成するステップをさらに備える、請求項15に記載の方法。
  17. 前記計算されたエラーコードは前記2進コード内のビットの和に等しい、請求項10に記載の方法。
  18. 前記計算されたエラーコードは前記2進コード内のビットの和の補数に等しい、請求項10に記載の方法。
  19. 前記テストコードは前記第1の論理和内のビットの和に等しい、請求項10に記載の方法。
  20. 前記テストコードは前記第1の論理和内のビットの和の補数に等しい、請求項10に記載の方法。
  21. 複数の2進コードの第1のセットから複数の2進コードの第2のセットを構成して少なくとも1つのエラー状態の検出を可能にする方法であって、前記第1のセット内の複数のコードの各々に対して、
    前記コード内の各々のビットの和をとって2進和を生成し、
    前記2進和を前記コードに結合する、
    というステップを備える方法。
  22. 前記2進和の補数をとるステップをさらに備える、請求項21に記載の方法。
JP2006306907A 1995-06-09 2006-11-13 ルックアップしたエントリーの重複検出方法および装置 Expired - Fee Related JP3996623B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/488,816 US5652580A (en) 1995-06-09 1995-06-09 Method and apparatus for detecting duplicate entries in a look-up table

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP50317797A Division JP3920336B2 (ja) 1995-06-09 1996-06-07 ルックアップテーブルのルックアップ結果が二重になるテーブル・エントリがあるかどうかのテスト装置

Publications (2)

Publication Number Publication Date
JP2007087413A true JP2007087413A (ja) 2007-04-05
JP3996623B2 JP3996623B2 (ja) 2007-10-24

Family

ID=23941242

Family Applications (2)

Application Number Title Priority Date Filing Date
JP50317797A Expired - Fee Related JP3920336B2 (ja) 1995-06-09 1996-06-07 ルックアップテーブルのルックアップ結果が二重になるテーブル・エントリがあるかどうかのテスト装置
JP2006306907A Expired - Fee Related JP3996623B2 (ja) 1995-06-09 2006-11-13 ルックアップしたエントリーの重複検出方法および装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP50317797A Expired - Fee Related JP3920336B2 (ja) 1995-06-09 1996-06-07 ルックアップテーブルのルックアップ結果が二重になるテーブル・エントリがあるかどうかのテスト装置

Country Status (5)

Country Link
US (1) US5652580A (ja)
EP (2) EP1383050B1 (ja)
JP (2) JP3920336B2 (ja)
DE (2) DE69637427T2 (ja)
WO (1) WO1996042052A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328203B2 (en) * 2004-12-16 2008-02-05 International Business Machines Corporation System and method for executing complex if-then clauses
US7761774B2 (en) * 2005-10-28 2010-07-20 Qualcomm Incorporated High speed CAM lookup using stored encoded key
US8001432B2 (en) * 2008-11-20 2011-08-16 Lsi Corporation Uninitialized memory detection using error correction codes and built-in self test
JP4945618B2 (ja) * 2009-09-18 2012-06-06 株式会社東芝 A/dコンバータ
US8787059B1 (en) * 2011-12-05 2014-07-22 Netlogic Microsystems, Inc. Cascaded content addressable memory array having multiple row segment activation
US10037190B2 (en) 2016-03-24 2018-07-31 International Business Machines Corporation Transformation on input operands to reduce hardware overhead for implementing addition

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3963908A (en) * 1975-02-24 1976-06-15 North Electric Company Encoding scheme for failure detection in random access memories
US4547882A (en) * 1983-03-01 1985-10-15 The Board Of Trustees Of The Leland Stanford Jr. University Error detecting and correcting memories
JPS6476596A (en) * 1987-09-18 1989-03-22 Oki Electric Ind Co Ltd Error of eeprom detecting device
US5220526A (en) * 1991-03-01 1993-06-15 Motorola, Inc. Method and apparatus for indicating a duplication of entries in a content addressable storage device

Also Published As

Publication number Publication date
DE69637427D1 (de) 2008-03-20
WO1996042052A1 (en) 1996-12-27
DE69629823T2 (de) 2004-05-13
US5652580A (en) 1997-07-29
EP1383050A1 (en) 2004-01-21
EP0843852B1 (en) 2003-09-03
JP3996623B2 (ja) 2007-10-24
JPH11515118A (ja) 1999-12-21
EP1383050B1 (en) 2008-02-06
DE69629823D1 (de) 2003-10-09
JP3920336B2 (ja) 2007-05-30
EP0843852A1 (en) 1998-05-27
DE69637427T2 (de) 2009-01-29

Similar Documents

Publication Publication Date Title
US3579199A (en) Method and apparatus for fault testing a digital computer memory
TWI416317B (zh) 微處理器以及其所適用之操作、測試、初始化方法
US20060156177A1 (en) Method and apparatus for recovering from soft errors in register files
US20020124211A1 (en) PCI error determination using error signatures or vectors
JP3996623B2 (ja) ルックアップしたエントリーの重複検出方法および装置
JPS60179851A (ja) デ−タ処理装置
CN108292252B (zh) 用于容错和检错的系统、方法和装置
GB2252185A (en) Process-in-memory integrated circuit
US5241547A (en) Enhanced error detection scheme for instruction address sequencing of control store structure
KR101001068B1 (ko) 저장된 데이터의 소프트웨어 오류 취약성의 감소
US8365055B2 (en) High performance cache directory error correction code
US7380099B2 (en) Apparatus and method for an address generation circuit
US6898738B2 (en) High integrity cache directory
US5734664A (en) Method and apparatus to efficiently store error codes
Maamar et al. A 32 bit RISC processor with concurrent error detection
Hsiao et al. The carry-dependent sum adder
US11126588B1 (en) RISC processor having specialized registers
Coffman et al. On the performance of interleaved memories with multiple-word bandwidths
US5781562A (en) Method, system and apparatus for efficiently generating binary numbers for testing storage devices
US6513053B1 (en) Data processing circuit and method for determining the first and subsequent occurences of a predetermined value in a sequence of data bits
EP0731408B1 (en) Jump prediction
CN109960486B (zh) 二进制数据处理方法及其装置、介质和系统
WO1996042053A1 (en) Method and apparatus for detecting memory addressing errors
Pavlov et al. Error Detection in Arithmetic-Logic Devices of Information-Measurement System Processors
JPH05298893A (ja) 連想記憶装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070802

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130810

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees