JPH07177005A - ビット・パターン検出回路およびビット・パターン検出方法 - Google Patents

ビット・パターン検出回路およびビット・パターン検出方法

Info

Publication number
JPH07177005A
JPH07177005A JP6261858A JP26185894A JPH07177005A JP H07177005 A JPH07177005 A JP H07177005A JP 6261858 A JP6261858 A JP 6261858A JP 26185894 A JP26185894 A JP 26185894A JP H07177005 A JPH07177005 A JP H07177005A
Authority
JP
Japan
Prior art keywords
level
state
output
value
bit
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
JP6261858A
Other languages
English (en)
Inventor
Shine Chung
チャン シャイン
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH07177005A publication Critical patent/JPH07177005A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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)
  • Manipulation Of Pulses (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 簡易な回路を用いて、所定のビット・パター
ン等を高速に検出する。 【構成】 初段モジュール13,処理モジール14は、
連続ビットの順次集合を組み合わせて、連続ビットの各
集合における値を表した状態値および出力値を発生す
る。この状態値および出力値は、レベル1の階層の状態
値および出力値に関する値である。階層の各順次レベル
k毎に、先行レベル(k−1)からの連続した出力値お
よび状態値の集合を組み合わせて、問題となるレベルに
関する出力値および状態値が生成される。出力値および
状態値の数は、各階層レベル毎に、少なくとも1/2に
減少する。出力値および状態値が1つだけしか残ってい
なくなると、このプロセスは終了する。最終状態値が、
ビット・パターンが見つかったことを示している場合、
最終出力値は、もとのビット・ストリングにおいて探索
されるビット・パターンの最初のビットの位置を指定す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算ハードウェアに関
するものであり、とりわけ、ビット・ストリングにおけ
る所定のビット・パターンの位置を求めるためのビット
・パターン検出回路およびビット・パターン検出方法に
関するものである。
【0002】
【技術背景】1つのだけビット・ストリングにおける所
定ビットパターンの検出、または、2つのビット・スト
リングの操作結果としての所定のビット・パターンの検
出は、コンピュータ演算ハードウェア設計のような用途
において極めて重要である。例えば、先行する「1」を
検出するための回路(以下、「先行1検出回路」と言
う)は、計算ハードウェアに広く用いられている。浮動
小数点加算器の場合、加算後の結果を適正に正規化する
ためには、最初の「1」の位置決めが必要になる。連想
アドレス指定可能メモリのような並列計算システムの場
合、それぞれ、異なるデータ・セットに関して働く多数
のプロセッサに対して、タスクが与えられる。本解説の
ため、並列プロセッサという用語は、複数の同じプロセ
ッサが、あるデータ・セットに関して働く任意のハード
ウェア・システムを表すものとする。これらのプロセッ
サは、汎用コンピュータでも、比較的単純な回路でもか
まわない。プロセッサの中には、計算の終わりに、結果
を報告するものもある。複数のプロセッサが同時に報告
する問題を回避するため、各プロセッサは、レジスタの
ビットに接続される。結果を報告しようとするプロセッ
サは、レジスタのビットを「1」にセットする。該シス
テムは、次に、レジスタ内に最初の「1」を備えるプロ
セッサに制御を委ねる。このプロセッサは、処理を終了
すると、そのビットをリセットする。該システムは、さ
らに、レジスタ内の次の「1」を探索し、このプロセス
が繰り返される。これらの各実施毎に、G(Gは、たと
えば8,16等の数値)のビットを備えたレジスタを検
査して、レジスタの一方の端部に対する最初の「1」の
位置を確認しなければならない。
【0003】この問題を解決しようとする先行技術によ
る試みは、計算が遅い。一般に、先行技術による案は、
レジスタ内の先行する「1」の位置を求めるのに、ほぼ
Gのゲート遅延の時間を必要とする。
【0004】ビット・パターン検出問題のもう1つの例
は、2つのビット・ストリングが加算される場合に、先
行ゼロの数を見つけるという問題である。この問題は、
浮動小数点ハードウェアにおいて遭遇する。
【0005】
【発明の目的】一般に、本発明の目的は、所定のビット
・パターンを検出するための改良された回路および方法
を提供することにある。
【0006】本発明のもう1つの目的は、ビット・スト
リング内において見出されるビット・パターンの位置を
識別することにある。
【0007】本発明のさらにもう1つの目的は、O
(G)未満のゲート遅延において応答が可能な検出器を
提供することにある。
【0008】本発明のさらにもう1つの目的は、ビット
・ストリングにおける後続する「0」の数を求めるため
の改良された回路を提供することにある。
【0009】本発明の以上の目的、およびその他の目的
については、当該技術の専門家であれば、以下に述べる
本発明の詳細な説明および添付図面から容易に理解でき
るであろうことは明らかである。
【0010】
【発明の概要】本発明の回路および方法は、それぞれ複
数のビットを備えた1つ以上のレジスタの内容に基づ
き、ビット・ストリングにおける特定のビット・パター
ンを検出する技術に係るものである。本発明は、並列処
理にうまく適合する。この方法は、連続ビットの順次集
合を組み合わせて、連続ビットの各集合における値を表
した状態値および出力値を発生することから開始され
る。こうして発生する状態値および出力値は、レベル1
の階層の状態値および出力値に関する値になる。状態が
割り当てられる方法および状態の数は、一般に、探索さ
れる特定のビット・パターンによって決まる。階層の各
順次レベル毎に、先行レベルからの連続した出力値およ
び状態値の集合を組み合わせて、問題となるレベルに関
する出力値および状態値が生成される。出力値および状
態値の数は、各階層レベル毎に、少なくとも1/2に減
少する。出力値および状態値が1つだけしか残っていな
くなると、このプロセスは終了する。最終状態値が、ビ
ット・パターンが見つかったことを示している場合、最
終出力値は、もとのビット・ストリングにおいて探索さ
れるビット・パターンの最初のビットの位置を指定す
る。
【0011】特定のビット・パターンを検出する本発明
の並列処理実施例には、複数の順序付きレベルのプロセ
ッサから成る、階層アレイをなす処理素子が含まれてい
る。便宜上、プロセッサ・レベルは、1,2・・・Mで
表示されている。プロセッサの各レベルは、1つ以上の
処理モジュールを備えている。各処理モジュールは、複
数の状態入力を受信して、該入力から状態出力を発生す
る。レベル1の処理モジュールは、状態入力がレジスタ
の選択ビットに接続され、k(k=2,・・・M)番目
の階層レベルの処理モジュールは、状態入力がレベル
(k−1)の処理モジュールの状態出力に接続される。
本発明の実施例の1つでは、2,3・・・Mで表示され
たレベルの処理モジュールには、複数の入力値を受信す
るための手段と、状態入力および入力値に基づく情報を
発生するための手段、も含まれている。k=2,3,・
・・Mの場合、k番目の階層レベルの処理モジュールの
受信手段は、レベル(k−1)の処理モジュールの出力
発生手段に接続される。出力情報には、特定のビット・
パターンを見つけた場合、そのパターンの位置に関する
情報も含まれる。さらに、1で表示のレベル(レベル
1)における各前記処理モジュールには、それに接続さ
れた選択ビットに基づいて出力信号を発生するための手
段が含まれている。なお、言うまでもないが、上記の
「k=2,3,・・・M」の表記は、便宜上のものであ
り、たとえば、k=2、k=2,3である場合、すなわ
ち状態処理モジュールが、1段しかない場合、2段であ
る場合を除外することを意味しない。
【0012】
【実施例】本発明によれば、約log(G)の時間で
結果が得られる。本発明がその利点を獲得する方法につ
いては、図1に示す、A〜Aから8ビット・レジス
タの先行する「1」を求める単純なビット・パターン検
出回路(ここでは、プロセッサ12として示す)に関連
して理解するほうがより分かりやすい。先行する「1」
の検出は、最初に現れるビット・シーケンスの「1」を
見つけることに相当する。プロセッサ12は、階層アレ
イをなす処理モジュールから構成される。これらのレベ
ルは、1〜Mで表示することができる。第1レベルの処
理モジュールが14で示されており、初段モジュール
(図1では、各モジュールの入力をI,Iで示す)
と呼ばれるモジュール13から構成されている。初段処
理装置30(すなわち、初段処理モジュール13)の典
型的な実施例が、図2に示されている。初段処理装置3
0は、ゲート31および32から構成され、後述するよ
うな出力を発生する。
【0013】残りのレベルが、16および18で示さ
れ、状態処理モジュールから構成されている。典型的な
状態処理モジュールが15で示されている。レベルkの
処理モジュールに対する入力は、レベル(k−1)にお
ける2つの処理モジュールの出力に接続される。
【0014】各初段モジュールは、レジスタ11の2つ
のセルに接続されている。各初段モジュールは、初段モ
ジュールのS出力から出力される状態変数、および、初
段モジュールのO出力から出力される部分アドレス出力
を発生する。状態変数は、3つの値L,F,Xのうちの
1つとすることができる。部分アドレス出力は、「0」
または「1」である。各初段モジュールの出力は、表1
の通りである。
【0015】
【表1】
【0016】状態Lは、2ビット・シーケンスにおい
て、所望の状態が見つかったことを表している。状態F
は、所望のシーケンスが、2ビット・シーケンスに含ま
れていることを表している。状態Xは、所望のシーケン
スが、2ビット・シーケンスの左に位置するか、また
は、この2ビット・シーケンスの一部と、先行する2ビ
ット・シーケンスの一部から構成されることを表してい
る。
【0017】各状態処理モジュールは、状態出力および
部分アドレス出力も発生する。各状態処理モジュール
は、その上のレベルにおける2つのモジュールに接続さ
れている。第1レベルの状態処理モジュールは、初段モ
ジュールに接続されている。残りの状態処理モジュール
は、他の状態処理モジュールに接続されている。各状態
処理モジュールは、入力として、2つの状態変数と、2
つの部分アドレスとを受信する。状態処理モジュール
は、状態処理モジュールに対する部分アドレス入力の1
つに「1」または「0」を添付することによって、新し
い状態出力変数および新しい部分アドレスを生成する。
各状態処理モジュールがSからSまで走査して、最
初に現れる「1」を見つけ出すことによって実現するマ
ッピングは、表2の通りである。
【0018】
【表2】
【0019】表1および表2が適用される方法について
は、後記の表3に要約された具体例に関連して理解する
のがより分かりやすいかもしれない。レベル1の出力
は、上記表1から得たものである。レベル2およびレベ
ル3の出力は、表2から得たものである。一般に、第1
の状態Sは、ビット・パターンが見つかったことを表
しており、従って、新しい状態は、状態Sに関係な
く、Xである。一方、第1の状態SがLの場合、パタ
ーンが見つからなかったということになり、従って、新
しい状態は、状態Sによって決まる。例えば、X
(0)およびF(1)を組み合わせる場合、状態処理モ
ジュールは、第1の入力、すなわち、Aの下に示す入
力に「0」を添付して、新しい状態のXを生成した。最
終状態処理モジュールは、第2の入力の部分アドレスに
「1」を添付して、L(10)とX(00)を組み合わ
せ、2進数で「100」の出力アドレスを得た。出力セ
クションは、表3の通りに実施される。パターンが、S
からSの方向に探索されているものと仮定する。パ
ターンが、Sにおいて、または、Sの前で見つかる
場合、出力は、OであるSの出力に「0」が添付さ
れたものになり、そうでなければ、出力はSの部分出
力、すなわち、Oに「1」が添付されたものになる。
【0020】
【表3】
【0021】当該技術分野の専門家には明らかなよう
に、本発明による先行1検出器のレベル数は、約log
(G)である。各レベルのプロセッサは、全て、並列
に働く。各レベルにおける情報処理の時間遅延は、各レ
ベルのゲート数をlog(G)倍した値に比例する。
従って、本発明は、log(G)のオーダの時間で応
答が可能である。
【0022】表1および表2を検討することによって明
らかなように、状態数は、3から2に減らすことが可能
である。状態FおよびXをQに置き換えると、表1は、
下記の表4のようになる。
【0023】
【表4】
【0024】また、表2は、表5のようになる。
【0025】
【表5】
【0026】この単純化によって、状態処理モジュール
に関する単純なハードウェア実施例が得られる。図3に
は、状態処理モジュールのハードウェア(符号100で
示す)実施例が示されている。状態Lは、論理「1」で
表され、状態Qは、論理「0」で表されるものと仮定す
る。ANDゲート102は、出力状態Sを計算する。
出力値は、2つの成分、すなわち、添付のビット10
4、および、先行部分アドレスの1つを備えている。先
行部分アドレスは、Sが論理「1」1の場合、O
選択するマルチプレクサ106によって選択される。当
該技術分野の専門家には明らかなように、状態処理モジ
ュールは、図3に示す実施例以外のやり方で実現するこ
とが可能である。最終状態がQの場合、ビット・ストリ
ングにおいて、パターンが見つかっており、出力はパタ
ーンの位置になり、そうでない場合、パターンは見つか
らなかったということになる。
【0027】本発明の上述の実施例では、2ビット・シ
ーケンスについて検討した。当該技術分野の専門家には
明らかなように、同様のやり方で、Pビット・シーケン
スが最初に現れるアドレスをもたらす実施例を構成する
ことが可能である。この場合、各初段モジュールは、レ
ジスタのPビットに接続される。単純化のため、P=2
と仮定する。この場合、初段モジュールの出力値は、
qビットで表される数になる。各状態処理モジュール
は、先行レベルの処理モジュールから2つの状態信号お
よび部分アドレス値を受け取る。各状態処理モジュール
は、新しい状態信号を発生し、付加すべき部分アドレス
値の1つを選択して、次のレベルに送るべき部分アドレ
スを生成する。各状態処理モジュールは、状態処理モジ
ュールに対する状態入力信号のパターンによって決ま
る、1ビットだけ部分アドレスを拡大する。明確な状態
値の数は、探索される特定のパターンによって決まる。
一般に、これは、2と2との間の数になる。状態を伝
搬するための特定のマッピング・テーブルも、一般に、
探索される特定のシーケンスによって決まる。
【0028】より一般的な場合、本発明は、ビット・ス
トリングの各ビットに所定の状態情報を付加する。この
情報は、関心のある問題について完全に明らかにするの
に十分なものでなければならない。一般に、状態の数
は、各問題毎に異なる。各状態は、出力値も備えてい
る。初期状態および出力値は、ビット・ストリングにお
ける隣接ビットを検査することによって割り当てられ
る。Nビットから形成される各隣接グループ毎に、1つ
の状態と、1つの出力値が発生する。上記例の場合、N
=2である。
【0029】状態情報および出力値は、階層式に伝搬
し、各階層レベルにおける状態および出力値の数は、各
レベル毎に減少する。本発明の望ましい実施例の場合、
状態および出力値の数は、各レベル毎に1/2に減少す
る。階層の、ある与えられているレベル内において、先
行レベルからの隣接ビット・グループは、複数の状態処
理モジュールによって検査される。各状態処理モジュー
ルは、先行レベルにおける隣接ビット・グループからの
状態および出力データを受信する。グループ内における
ビット数は、Pに等しくなるのが望ましいが、当該技術
分野の専門家には明らかなように、異なる値に基づくシ
ステムを構成することも可能である。各状態処理モジュ
ールは、新しい状態および出力値を生成する。
【0030】本発明の上記実施例は、2ビットのグルー
プ化を利用したものであるが、当該技術分野の専門家に
は明らかなように、第1の階層レベルの状態および出力
値を得るために、他のグループ化を利用することも可能
である。本発明の望ましい実施例の場合、第1レベルで
グループ化されるビット数は、探索されるビット・スト
リングの長さを超える。すなわち、探索されるビット・
ストリングの長さを超える、2の次の累乗の累乗になる
ことが望ましい。同様に、2を超える先行レベルからの
出力のグループ化を利用することによって、状態および
出力を階層に伝搬させることが可能になる。しかし、本
発明の望ましい実施例の場合、第1レベルの後のグルー
プ化は、最も単純に実施されるので、必ず2である。
【0031】図4は、レジスタ201内における所定の
3または4ビット・シーケンスを検出するためのプロセ
ッサ(ここでは、プロセッサ200として示す)のブロ
ック図である。プロセッサ200は、階層アレイをなす
処理モジュールから構成される。第1レベルの処理モジ
ュールが、202で示され、初段モジュール201(図
4では、各モジュールの入力をI〜Iで示す)から
構成される。各初段モジュールは、レジスタの4ビット
に接続される。残りのレベルは、204および206で
示され、状態処理モジュール203および205を代表
例とする、状態処理モジュールから構成される。各状態
処理モジュールは、その上のレベルにおける2つのモジ
ュールの出力に接続される。
【0032】最初に現れるビット・パターン「101」
を見つけるための検出器を構成することになる場合につ
いて考察する。第1レベルは、1度に4ビット、すなわ
ち、3の後の、次に高い2の累乗を検査するプロセッサ
から生じる。4ビットのカルテットに関しては、全部で
16の可能性のある状態が存在する。しかし、状態の中
には互いに等しいものもあるので、プロセッサを実現す
るのに必要な状態の総数は16未満である。例えば、ビ
ット・パターン「0001」および「0011」に対応
する状態は、これらのビット・パターンが探索されるパ
ターンの一部をなすことが可能な唯一の状況は、次のカ
ルテットが同じ値、すなわち、「01xx」を備えてい
る(ここで、xは任意のビット値)場合であるため、同
じ状態に属していることになる。同様に、ビット・パタ
ーン「1010」および「1011」は、探索されるパ
ターンが、各パターンの同じ位置で始まるので、同等で
ある。このタイプの分析によって、第1レベルのプロセ
ッサの出力状態については、11の状態が存在すること
が分かる。これらの状態が、下記の表6に要約されてい
る。
【0033】第1レベルのプロセッサのそれぞれによっ
て得られる出力値は、問題となるカルテット、または、
このカルテットおよびそれに後続するカルテットに、探
索されるシーケンスが含まれている場合、所望のパター
ンの第1ビットのカルテット内における位置に対応す
る。表4には、第1レベルのプロセッサのそれぞれによ
って生じる出力値も示されている。各状態に関連した出
力値は、その状態を生じさせたビット・グループ内にお
いて、あるいは、次のビット・グループと対をなす場合
に、パターン整合を生じさせることが可能なビット位置
である。例えば、4ビット・グループ「0101」の出
力値は1であるが、これは、ビット1がパターン「10
1」の開始ビットであるためである。グループ「000
1」の出力値は3であるが、これは、後続のグループ
が、「01xx」の形をなす場合、ビット位置3がパタ
ーン「101」の開始ビットになる可能性があるためで
ある。
【0034】
【表6】
【0035】状態処理モジュールは、それぞれ、問題と
なる状態処理モジュールの上のレベルにおける1対のモ
ジュールに接続される。この対をなすモジュールをFお
よびBで表すことにする。Fは、レジスタ201の端部
に最も近い状態モジュールである。これは、ビット
・パターンの探索が、AからA15、すなわち、Fか
らBに行われるという仮定によるものである。各状態処
理モジュールは、新しい状態変数と、ビットが添付され
る、状態処理モジュールに対する入力の1つから構成さ
れる出力を発生する。探索される特定のビット・パター
ンは、上述の第1の「1」の探索例とは異なるが、出力
は、同様にして発生する。Fモジュールにおいて整合が
見つかると、Fの部分出力に「0」が添付される。Bモ
ジュールにおいて整合が見つかると、Bの部分出力に
「1」が添付される。最後に、FまたはBにおいて、整
合が見つからなければ、Bの部分出力に「0」が添付さ
れる。特定の状態変数値および出力値は、状態処理モジ
ュールに対する状態入力によって決まる。これらは、表
7の1、表7の2に要約されている。0Bの出力値は、
Bモジュールから受信した出力に値0が添付されている
ことを表す。同様に1Fの値は、Fモジュールから受信
した出力に値1が添付されていることを表す。また、第
1レベルの後で、新しい状態S(00101)が定義さ
れている点にも留意されたい。この状態は、「001
0」および「1110」に対応する状態が対をなす場合
に、結果として得られるものである。
【0036】
【表7の1】
【0037】
【表7の2】
【0038】本発明の上述の実施例は、並列に動作する
複数の処理モジュールを利用するが、当該技術分野の専
門家には明らかなように、本発明の方法は、ビット・ス
トリングのビットから第1レベルの状態値および出力値
を生成し、さらに、先行レベルで生成された複数の状態
および出力との組み合わせによって、次のレベルの状態
および出力が形成されることになる階層処理レベルによ
って、これらに処理を施すハードウェア・システムの助
けを借りて適用することが可能である。このプロセス
は、生成される出力値が1つだけになるまで、続行され
る。
【0039】本発明の上記実施例では、種々のビット・
ストリングの記憶モードとして、「レジスタ」に言及し
ている。当該技術分野の専門家には明らかなように、ビ
ット・ストリングは、第1レベルの処理素子によるアク
セスを可能にする任意の形態のハードウェアに記憶する
ことが可能である。従って、レジスタという用語は、パ
ターンが探索されるビット・ストリングを記憶するため
の任意の手段を含むものと定義される。
【0040】当該技術分野の専門家には、以上の説明お
よび添付の図面から、本発明に対するさまざまな修正が
明らかになるであろう。
【0041】すなわち、本発明のビット・パターン検出
回路は、 〔1〕各レジスタ(11、201)が複数のビットを備
える、1つ以上のレジスタの内容に基づく特定のビット
・パターンを検出するためのビット・パターン検出回路
(12、200)であって、各レベル毎に1つ以上の処
理モジュールを備え、各処理モジュールが、複数の状態
入力を受信して、状態出力を発生するようになってい
る、1,2,・・・Mで表示されるプロセッサの複数の
順序付きレベルから成る、処理素子(13,15、20
1,203,205)の階層アレイから構成され、前記
ビット・パターン検出回路のレベル1(14、202)
における前記処理モジュール(13、201)が、前記
状態入力が前記レジスタ(11、201)における選択
ビットに接続され、前記階層のレベルk(k=2,3,
・・・M)における前記処理モジュールが、前記状態入
力が、前記階層のレベル(k−1)における処理モジュ
ールの状態出力に接続されるようにし、前記レベルk
(k=2,3,・・・M)における前記処理モジュール
(15、203,206)に、さらに、複数の入力値を
受信するための手段と、前記状態入力および前記入力値
に基づく出力値を発生するための手段が設けられ、k=
2,3,・・・Mの場合、前記階層のk番目のレベルに
おける前記処理モジュールの前記受信手段は、前記階層
のレベル(k−1)における処理モジュール(15、2
03,206)の前記出力発生手段に接続され、前記出
力値は、前記特定のビット・パターンの可能性のある位
置に関する情報を提供し、前記レベル1における各前記
処理モジュール(13、201)には、それに接続され
る前記選択ビットに基づく出力信号を発生するための手
段が含まれていることを特徴とするものであり、以下の
〔2〕〜〔5〕に示すような好適な実施態様が含まれ
る。
【0042】〔2〕レベルk(k=2,3,・・・M)
の場合における前記処理モジュール(15、203,2
06)は、それぞれ、前記状態入力が、レベル(k−
1)における2つの処理モジュールの前記状態出力に接
続されるようにするということを特徴とする、〔1〕に
記載のビット・パターン検出回路。
【0043】〔3〕レベル(k=2,3,・・・M)の
場合における前記処理モジュール(15、203,20
6)が、それぞれ、2つの所定の値の一方を備える、第
1と第2の状態入力を受信するための手段と、第1と第
2の部分アドレスを受信するための手段と、前記第1と
第2の状態入力に応答して、前記2つの所定の値の一方
を備えた状態出力を発生するための手段(31、10
2)と、前記第1と第2の状態入力に応答して、前記部
分アドレスの一方を選択し、前記処理モジュールの出力
情報を形成するために、前記部分アドレスの一方に添付
されるアドレス・ビットを生成するための手段と、から
構成されることを特徴とする〔2〕に記載のビット・パ
ターン検出回路。
【0044】〔4〕最後のレベルにおける前記処理モジ
ュールから出力される最終状態は、特定のビット・パタ
ーンが見つかったか否かを表し、最後のレベルにおける
前記処理モジュールから出力される最終出力値は、前記
レジスタにおける特定のビット・パターンの位置を表す
ことを特徴とする〔1〕〜〔3〕の何れかに記載のビッ
ト・パターン検出回路。
【0045】〔5〕レベルkにおける前記処理モジュー
ルのそれぞれから出力される前記出力値が、拡大部分ア
ドレスから構成され、前記出力値を発生するための前記
処理モジュールは、前記状態入力に基づいて入力される
前記出力値の1つを選択することによって、前記拡大部
分アドレスを送り出すということを特徴とする〔1〕〜
〔4〕の何れかに記載のビット・パターン検出回路。
【0046】また、本発明のビット・パターン検出方法
は、 〔6〕データ処理システムを操作して、ビット・ストリ
ングにおける所定のビット・パターンの位置を求めるた
めのビット・パターン検出方法において、(a)前記ビ
ット・ストリングにおける連続ビットの順次集合を組み
合わせて、前記連続ビットの順次集合のそれぞれにおけ
る値を表した状態値および出力値を発生するステップと
(前記状態値および出力値は、レベル1の階層の状態値
および出力値から構成され、前記ビット・ストリングの
各ビットは、前記順次集合の1つに納まっている)、
(b)レベルk(2,3,・・・M)からの連続した出
力値および状態値の順次集合を組み合わせて、レベル
(k+1)における出力値および状態値を発生するステ
ップと(前記出力値および状態値は、レベルkにおける
出力値および状態値によって決まり、レベルkにおける
各出力値および状態値は、前記順次集合の1つに納まっ
ており、レベルkにおける前記出力値および状態値の数
は、レベル(k−1)における前記出力値および状態値
の数より少ない)、(c)1つだけの最終出力値および
最終状態値が発生するまで、上記(b)のステップを繰
り返すステップと、から構成されることを特徴とするも
のであり、以下のような好適な実施態様が含まれる。
【0047】〔7〕前記最終出力値は、前記所定のビッ
ト・パターンの位置を指定することを特徴とする〔6〕
に記載のビット・パターン検出方法。
【0048】〔8〕最終レベルにおいて発生する前記最
終状態出力は、特定のビット・パターンが見つかったか
否かを表し、最終レベルにおいて発生する前記最終出力
値は、前記所定のビット・パターンの位置を表すことを
特徴とする〔6〕または〔7〕に記載のビット・パター
ン検出方法。
【0049】
〔9〕発生する前記出力値が、拡大部分ア
ドレスから構成され、前記組み合わせステップ(b)
が、前記状態入力に基づくレベルkに関する前記出力値
の1つを選択することによって、レベルk+1に関する
前記拡大部分アドレスを発生するステップから成ること
を特徴とする〔6〕〜〔8〕の何れかに記載のビット・
パターン検出方法。
【0050】〔10〕前記組み合わせステップ(b)
に、さらに、前記出力値の選択された1つに付加ビット
を添付するステップが含まれることを特徴とする〔6〕
〔9〕の何れかに記載のビット・パターン検出方法。
【0051】
【発明の効果】本発明では、簡易な回路を用いて、所定
のビット・パターンを高速に検出することができる。こ
れにより、安価でかつ応答性に優れたビット・パターン
検出回路および検出方法の提供が可能となった。また、
ビット・ストリング内において見出されるビット・パタ
ーンの位置を識別することもできる。さらに、ビット・
ストリングにおける後続する「0」の数を求めることも
できる。
【図面の簡単な説明】
【図1】8ビット・レジスタにおける「1」を有する最
初のビット位置を求めるための、本発明によるビット・
パターン検出回路のブロック図である。
【図2】本発明における初段処理モジュールの概略図で
ある。
【図3】図1に示すビット・パターン検出回路に用いら
れる、本発明における状態処理モジュールのハードウェ
ア実施例に関するブロック図である。
【図4】16ビット・レジスタにおける所定の3ビット
・シーケンスの位置を求めるための、本発明によるビッ
ト・パターン検出回路のブロック図である。
【符号の説明】
11 レジスタ 12,200 プロセッサ(ビット・パターン検出回
路) 13,201 初段モジュール 14,202 第1レベルの処理モジュール 15,203,205 状態処理モジュールのハードウ
ェア 16,18,204,206 状態処理モジュール 100 状態処理モジュールのハードウェア 30 初段処理装置 31,32 ゲート 102 ANDゲート 106 マルチプレクサ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 各レジスタ(11、201)が複数のビ
    ットを備える、1つ以上のレジスタの内容に基づく特定
    のビット・パターンを検出するためのビット・パターン
    検出回路(12、200)において、 各レベル毎に1つ以上の処理モジュールを備え、 各処理モジュールが、複数の状態入力を受信して、状態
    出力を発生するようになっている、1,2,・・・Mで
    表示されるプロセッサの複数の順序付きレベルから成
    る、処理素子(13,15、201,203,205)
    の階層アレイから構成され、 前記ビット・パターン検出回路のレベル1(14、20
    2)における前記処理モジュール(13、201)が、
    前記状態入力が前記レジスタ(11、201)における
    選択ビットに接続され、 前記階層のレベルk(k=2,3,・・・M)における
    前記処理モジュールが、前記状態入力が、前記階層のレ
    ベル(k−1)における処理モジュールの状態出力に接
    続されるようにし、 前記レベルk(k=2,3,・・・M)における前記処
    理モジュール(15、203,206)に、さらに、複
    数の入力値を受信するための手段と、前記状態入力およ
    び前記入力値に基づく出力値を発生するための手段が設
    けられ、 k=2,3,・・・Mの場合、前記階層のk番目のレベ
    ルにおける前記処理モジュールの前記受信手段は、前記
    階層のレベル(k−1)における処理モジュール(1
    5、203,206)の前記出力発生手段に接続され、 前記出力値は、前記特定のビット・パターンの可能性の
    ある位置に関する情報を提供し、 前記レベル1における各前記処理モジュール(13、2
    01)には、それに接続される前記選択ビットに基づく
    出力信号を発生するための手段が含まれていることを特
    徴とするビット・パターン検出回路。
  2. 【請求項2】 データ処理システムを操作して、ビット
    ・ストリングにおける所定のビット・パターンの位置を
    求めるためのビット・パターン検出方法において、 (a)前記ビット・ストリングにおける連続ビットの順
    次集合を組み合わせて、前記連続ビットの順次集合のそ
    れぞれにおける値を表した状態値および出力値を発生す
    るステップと(前記状態値および出力値は、レベル1の
    階層の状態値および出力値から構成され、前記ビット・
    ストリングの各ビットは、前記順次集合の1つに納まっ
    ている)、 (b)レベルk(2,3,・・・M)からの連続した出
    力値および状態値の順次集合を組み合わせて、レベル
    (k+1)における出力値および状態値を発生するステ
    ップと(前記出力値および状態値は、レベルkにおける
    出力値および状態値によって決まり、レベルkにおける
    各出力値および状態値は、前記順次集合の1つに納まっ
    ており、レベルkにおける前記出力値および状態値の数
    は、レベル(k−1)における前記出力値および状態値
    の数より少ない)、 (c)1つだけの最終出力値および最終状態値が発生す
    るまで、上記(b)のステップを繰り返すステップと、
    から構成されることを特徴とするビット・パターン検出
    方法。
JP6261858A 1993-10-01 1994-10-02 ビット・パターン検出回路およびビット・パターン検出方法 Pending JPH07177005A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/131,052 US5383142A (en) 1993-10-01 1993-10-01 Fast circuit and method for detecting predetermined bit patterns
US131052 1993-10-01

Publications (1)

Publication Number Publication Date
JPH07177005A true JPH07177005A (ja) 1995-07-14

Family

ID=22447633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6261858A Pending JPH07177005A (ja) 1993-10-01 1994-10-02 ビット・パターン検出回路およびビット・パターン検出方法

Country Status (2)

Country Link
US (1) US5383142A (ja)
JP (1) JPH07177005A (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526297A (en) * 1994-07-29 1996-06-11 Comsat Corporation Random unique word detection method and apparatus
US5570306A (en) * 1994-11-01 1996-10-29 Intel Corporation Method and apparatus for recognizing a bit pattern in a string of bits, altering the string of bits, and removing the alteration from the string of bits
JPH08147142A (ja) * 1994-11-17 1996-06-07 Mitsubishi Electric Corp プライオリティ検出用カウンタ装置
US5724275A (en) * 1996-03-22 1998-03-03 Hitachi Microsystems, Inc. Fast multi-operand bit pattern detection method and circuit
US5977890A (en) * 1997-06-12 1999-11-02 International Business Machines Corporation Method and apparatus for data compression utilizing efficient pattern discovery
US5894427A (en) * 1997-11-12 1999-04-13 Intel Corporation Technique for concurrent detection of bit patterns
US6931424B1 (en) * 2000-03-21 2005-08-16 Alantro Communications, Inc. Storage efficient minimization logic
US6738794B2 (en) * 2001-04-10 2004-05-18 Analog Devices, Inc. Parallel bit correlator
US6766345B2 (en) * 2001-11-30 2004-07-20 Analog Devices, Inc. Galois field multiplier system
JP3640643B2 (ja) * 2002-01-18 2005-04-20 沖電気工業株式会社 べき数エンコーダ回路及びマスク回路
US7243165B2 (en) * 2004-01-14 2007-07-10 International Business Machines Corporation Parallel pattern detection engine
US7707234B2 (en) * 2004-10-07 2010-04-27 Lecroy Corporation Use of multiple data comparators in parallel to trigger an oscilloscope on a pattern found in a serial data stream
US7512647B2 (en) * 2004-11-22 2009-03-31 Analog Devices, Inc. Condensed Galois field computing system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59216245A (ja) * 1983-05-25 1984-12-06 Nec Corp 正規化回路
US5073864A (en) * 1987-02-10 1991-12-17 Davin Computer Corporation Parallel string processor and method for a minicomputer
US4864527A (en) * 1987-08-24 1989-09-05 Victor Peng Apparatus and method for using a single carry chain for leading one detection and for "sticky" bit calculation
US4939683A (en) * 1989-05-19 1990-07-03 Heerden Pieter J Van Method and apparatus for identifying that one of a set of past or historical events best correlated with a current or recent event
US5111415A (en) * 1989-11-06 1992-05-05 Hewlett-Packard Company Asynchronous leading zero counter employing iterative cellular array
JP3035852B2 (ja) * 1990-07-18 2000-04-24 富士通株式会社 半導体レーザモジュール

Also Published As

Publication number Publication date
US5383142A (en) 1995-01-17

Similar Documents

Publication Publication Date Title
US6434662B1 (en) System and method for searching an associative memory utilizing first and second hash functions
JP3070744B2 (ja) ベクトル処理装置
JPH07177005A (ja) ビット・パターン検出回路およびビット・パターン検出方法
EP0478006B1 (en) Method and apparatus for searching data
US4916649A (en) Method and apparatus for transforming a bit-reversed order vector into a natural order vector
US11586956B2 (en) Searching apparatus utilizing sub-word finite state machines
JP3012357B2 (ja) シフト量検出回路
US6931424B1 (en) Storage efficient minimization logic
US5894427A (en) Technique for concurrent detection of bit patterns
EP1476828B1 (en) A method and a processor for parallel processing of logic event simulation
JP2745710B2 (ja) ストリングサーチ方法およびそのための装置
US5798958A (en) Zero detect for binary sum
US5381380A (en) Divide circuit having high-speed operating capability
Goode et al. A simple circuit for adding complex numbers
US5644521A (en) Comparator scheme
JP2861435B2 (ja) パイプライン形演算装置
US7149663B1 (en) Method and apparatus for restructuring a binary decision diagram
JP2926951B2 (ja) 退避/復帰レジスタアドレス生成回路
JPH04184535A (ja) 並列演算装置
JP2806459B2 (ja) フリップフロップが評価可能な論理シミュレーション装置
JPH0664534B2 (ja) 単一化候補項の選択装置
SU1767503A1 (ru) Устройство дл решени задач на графах
SU911510A1 (ru) Устройство дл определени максимального числа
JP2708013B2 (ja) Nポイントfftプロセッサ用メモリ制御回路
Bongiovanni et al. Parallel-depth search for acyclic digraphs