JP3010764B2 - ビットパターン処理装置 - Google Patents
ビットパターン処理装置Info
- Publication number
- JP3010764B2 JP3010764B2 JP3060757A JP6075791A JP3010764B2 JP 3010764 B2 JP3010764 B2 JP 3010764B2 JP 3060757 A JP3060757 A JP 3060757A JP 6075791 A JP6075791 A JP 6075791A JP 3010764 B2 JP3010764 B2 JP 3010764B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- register
- word
- input register
- input
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【産業上の利用分野】本発明は、ビット列の連続性やビ
ットの配置状態等の判別を行うために使用されるビット
パターン処理装置に関する。
ットの配置状態等の判別を行うために使用されるビット
パターン処理装置に関する。
【0002】
【従来の技術】例えば仮想記憶装置では、バーチャル
(仮想)空間とリアル(実)空間との対応付けを行うた
めのマッピングをページ単位で行っている。この管理に
は、ページごとにビットを1つずつ割り当てたビットア
レイを用いることが多い。ビットアレイは例えば16ビ
ット(1ワード)を1列とした複数行のアレイで構成さ
れており、1列の各ビットが1ページずつ合計で16ペ
ージに対応している。行の数は、この場合、全ページを
16で割った値だけ必要となる。バーチャル空間におけ
る各ページの管理は、このビットアレイにおけるそれぞ
れのビットをセット(使用状態)またはリセット(未使
用状態)にすることによって行っている。
(仮想)空間とリアル(実)空間との対応付けを行うた
めのマッピングをページ単位で行っている。この管理に
は、ページごとにビットを1つずつ割り当てたビットア
レイを用いることが多い。ビットアレイは例えば16ビ
ット(1ワード)を1列とした複数行のアレイで構成さ
れており、1列の各ビットが1ページずつ合計で16ペ
ージに対応している。行の数は、この場合、全ページを
16で割った値だけ必要となる。バーチャル空間におけ
る各ページの管理は、このビットアレイにおけるそれぞ
れのビットをセット(使用状態)またはリセット(未使
用状態)にすることによって行っている。
【0003】
【発明が解決しようとする課題】このような装置では、
例えば特定のページが磁気ディスク等の外部記憶装置か
ら内部のランダム・アクセス・メモリ等の記憶装置内に
キャッシュされているかどうかを点検するために、ビッ
トアレイの各ビットを一々判別する操作が必要であっ
た。ビットアレイのサイズが大きい場合には、この走査
(スキャン)にかなりの時間を要し、情報処理のための
システムの効率を低下させるといった問題があった。
例えば特定のページが磁気ディスク等の外部記憶装置か
ら内部のランダム・アクセス・メモリ等の記憶装置内に
キャッシュされているかどうかを点検するために、ビッ
トアレイの各ビットを一々判別する操作が必要であっ
た。ビットアレイのサイズが大きい場合には、この走査
(スキャン)にかなりの時間を要し、情報処理のための
システムの効率を低下させるといった問題があった。
【0004】そこで本発明の目的は、所定の単位のビッ
ト列を迅速に処理することのできるビットパターン処理
装置を提供することにある。
ト列を迅速に処理することのできるビットパターン処理
装置を提供することにある。
【0005】
【課題を解決するための手段】本発明では、ワード単位
でビット列を入力するワード入力レジスタと、このワー
ドにおける処理するビットの開始位置を指示するための
位置情報を入力するポジション入力レジスタと、処理す
るビットの開始位置から終了位置までの長さをカウント
値として入力するカウント入力レジスタと、処理するビ
ットのカウント方向を入力するディレクション入力レジ
スタと、ワード入力レジスタに入力されたワードに対し
てカウント値を満たす数のビットが存在するかどうかを
判別するイナフ判別手段と、このイナフ判別手段の判別
結果を出力するために登録するイナフ出力レジスタと、
ワード入力レジスタに入力されたワードの処理の対象と
なるビット列がカウント値との関係で次に入力するワー
ドに続く可能性があるかどうかを判別するコンティニュ
ー判別手段と、このコンティニュー判別手段の判別結果
を出力するために登録するコンティニュー出力レジスタ
と、処理するビットの開始位置からビットのカウント方
向に同一ビットがいくつ連続するかを判別するシーケン
シャル・レングス判別手段と、このシーケンシャル・レ
ングス判別手段の判別結果を出力するために登録するシ
ーケンシャル・レングス出力レジスタとをビットパター
ン処理装置に具備させる。
でビット列を入力するワード入力レジスタと、このワー
ドにおける処理するビットの開始位置を指示するための
位置情報を入力するポジション入力レジスタと、処理す
るビットの開始位置から終了位置までの長さをカウント
値として入力するカウント入力レジスタと、処理するビ
ットのカウント方向を入力するディレクション入力レジ
スタと、ワード入力レジスタに入力されたワードに対し
てカウント値を満たす数のビットが存在するかどうかを
判別するイナフ判別手段と、このイナフ判別手段の判別
結果を出力するために登録するイナフ出力レジスタと、
ワード入力レジスタに入力されたワードの処理の対象と
なるビット列がカウント値との関係で次に入力するワー
ドに続く可能性があるかどうかを判別するコンティニュ
ー判別手段と、このコンティニュー判別手段の判別結果
を出力するために登録するコンティニュー出力レジスタ
と、処理するビットの開始位置からビットのカウント方
向に同一ビットがいくつ連続するかを判別するシーケン
シャル・レングス判別手段と、このシーケンシャル・レ
ングス判別手段の判別結果を出力するために登録するシ
ーケンシャル・レングス出力レジスタとをビットパター
ン処理装置に具備させる。
【0006】すなわち請求項1記載の発明では、ワード
入力レジスタでCPU(中央処理装置)等が一度に処理
することのできるビット列を取り込むと共に、このワー
ドにおける処理するビットの開始位置や、処理するビッ
トの開始位置から終了位置までの長さや、処理するビッ
トのカウント方向や、前記した長さだけカウントするに
は次のワードを読む必要があるか否かと言ったビットパ
ターンの処理内容に関する指示を受け、これらの指示に
応じた判別内容を出力することができる。すなわち、例
えばビットアレイの特定ワード(ページの列)を取り出
して、メインメモリにキャッシュされたページが存在す
るかとか、キャッシュされた複数のページは次に判別す
るワードまで連続している可能性があるかといったよう
な各種の判別内容を取り出すことができ、前記した目的
を達成することができる。
入力レジスタでCPU(中央処理装置)等が一度に処理
することのできるビット列を取り込むと共に、このワー
ドにおける処理するビットの開始位置や、処理するビッ
トの開始位置から終了位置までの長さや、処理するビッ
トのカウント方向や、前記した長さだけカウントするに
は次のワードを読む必要があるか否かと言ったビットパ
ターンの処理内容に関する指示を受け、これらの指示に
応じた判別内容を出力することができる。すなわち、例
えばビットアレイの特定ワード(ページの列)を取り出
して、メインメモリにキャッシュされたページが存在す
るかとか、キャッシュされた複数のページは次に判別す
るワードまで連続している可能性があるかといったよう
な各種の判別内容を取り出すことができ、前記した目的
を達成することができる。
【0007】
【実施例】以下実施例につき本発明を詳細に説明する。
【0008】図1は本発明の一実施例におけるビットパ
ターン処理装置の回路構成の概要を表わしたものであ
る。このビットパターン処理装置11は、メインCPU
12を備えており、データバス等のバス13を通じてメ
モリコントローラ14、ディスプレイコントローラ1
5、ディスクコントローラ16等の回路装置と接続され
ている。ここで、メモリコントローラ14はメインメモ
リ17に対するデータの書き込みや読み出しを制御する
ようになっている。ディスプレイコントローラ15は、
ディスプレイ18の表示制御を行うようになっている。
ディスクコントローラ16は、磁気ディスクや光ディス
ク等のディスク19に対するデータの書き込みや読み出
しを制御するようになっている。
ターン処理装置の回路構成の概要を表わしたものであ
る。このビットパターン処理装置11は、メインCPU
12を備えており、データバス等のバス13を通じてメ
モリコントローラ14、ディスプレイコントローラ1
5、ディスクコントローラ16等の回路装置と接続され
ている。ここで、メモリコントローラ14はメインメモ
リ17に対するデータの書き込みや読み出しを制御する
ようになっている。ディスプレイコントローラ15は、
ディスプレイ18の表示制御を行うようになっている。
ディスクコントローラ16は、磁気ディスクや光ディス
ク等のディスク19に対するデータの書き込みや読み出
しを制御するようになっている。
【0009】このビットパターン処理装置は、メインC
PU12のプログラム制御によってビットパターン処理
部21を仮想的に構成している。ビットパターン処理部
21はCPU22と入力レジスタ群23および出力レジ
スタ群24から構成されている。
PU12のプログラム制御によってビットパターン処理
部21を仮想的に構成している。ビットパターン処理部
21はCPU22と入力レジスタ群23および出力レジ
スタ群24から構成されている。
【0010】ここで入力レジスタ群23は、次の各入力
レジスタから構成されている。
レジスタから構成されている。
【0011】(a)ワード(word)入力レジスタ31:
処理の対象となるワードを入力するレジスタである。本
実施例では16ビットを1ワードとしてワード入力レジ
スタ31にビットパターンを入力するようになってい
る。このため、ワード入力レジスタ31は16ビット幅
のレジスタとして構成されている。
処理の対象となるワードを入力するレジスタである。本
実施例では16ビットを1ワードとしてワード入力レジ
スタ31にビットパターンを入力するようになってい
る。このため、ワード入力レジスタ31は16ビット幅
のレジスタとして構成されている。
【0012】(b)ポジション(position)入力レジス
タ32:入力されたワードにおける処理の開始位置を特
定する位置(ポジション)を入力するレジスタである。
ポジション入力レジスタ32は、“0”から“15”ま
での16段階の位置を2進数で表現するために4ビット
幅のレジスタで構成されている。
タ32:入力されたワードにおける処理の開始位置を特
定する位置(ポジション)を入力するレジスタである。
ポジション入力レジスタ32は、“0”から“15”ま
での16段階の位置を2進数で表現するために4ビット
幅のレジスタで構成されている。
【0013】(c)カウント(count )入力レジスタ3
3:入力されたワードにおける処理するビットの開始位
置から終了位置までの長さをカウント値として入力する
レジスタである。カウント入力レジスタ33も4ビット
幅のレジスタで構成されている。
3:入力されたワードにおける処理するビットの開始位
置から終了位置までの長さをカウント値として入力する
レジスタである。カウント入力レジスタ33も4ビット
幅のレジスタで構成されている。
【0014】(d)ディレクション(direction )入力
レジスタ34:入力されたワードの処理を行う際に、開
始点からどちらの方向にスキャンしていくかを入力する
レジスタである。ディレクション入力レジスタ34は、
1ビット幅のレジスタで構成されている。
レジスタ34:入力されたワードの処理を行う際に、開
始点からどちらの方向にスキャンしていくかを入力する
レジスタである。ディレクション入力レジスタ34は、
1ビット幅のレジスタで構成されている。
【0015】(e)ビットパターン(bit-pattern )入
力レジスタ35:判別対象となるビットは“0”か
“1”かを指示するためのデータを入力するレジスタで
ある。同じく1ビット幅のレジスタで構成されている。
力レジスタ35:判別対象となるビットは“0”か
“1”かを指示するためのデータを入力するレジスタで
ある。同じく1ビット幅のレジスタで構成されている。
【0016】一方、出力レジスタ群24は、次の各出力
レジスタから構成されている。
レジスタから構成されている。
【0017】(f)イナフ(enough)出力レジスタ3
6:ワード入力レジスタ31に入力されたワードに対し
て前記したカウント値を満たす数のビットが存在するか
どうかあるいは開始点からワードの境界までそのビット
パターンが続いている場合には“1”を、それ以外の場
合には“0”を格納するレジスタである。イナフ出力レ
ジスタ36も1ビット幅のレジスタで構成されている。
6:ワード入力レジスタ31に入力されたワードに対し
て前記したカウント値を満たす数のビットが存在するか
どうかあるいは開始点からワードの境界までそのビット
パターンが続いている場合には“1”を、それ以外の場
合には“0”を格納するレジスタである。イナフ出力レ
ジスタ36も1ビット幅のレジスタで構成されている。
【0018】(g)コンティニュー(continue)出力レ
ジスタ37:ワード入力レジスタ31に入力されたワー
ドの処理の対象となるビット列がカウント値との関係で
次に入力するワードに続く可能性がある場合には“1”
を、そうでない場合には“0”を格納するレジスタであ
る。コンティニュー出力レジスタ37も1ビット幅のレ
ジスタで構成されている。
ジスタ37:ワード入力レジスタ31に入力されたワー
ドの処理の対象となるビット列がカウント値との関係で
次に入力するワードに続く可能性がある場合には“1”
を、そうでない場合には“0”を格納するレジスタであ
る。コンティニュー出力レジスタ37も1ビット幅のレ
ジスタで構成されている。
【0019】(h)Sレングス(sequential-length )
出力レジスタ38:処理するビットの開始位置からビッ
トのカウント方向に1ビット幅のビットパターンがいく
つ連続するかを判別した結果を格納するレジスタであ
る。Sレングス出力レジスタ38は、最大16ビットの
長さを2進数で表現できるように4ビット幅のレジスタ
で構成されている。
出力レジスタ38:処理するビットの開始位置からビッ
トのカウント方向に1ビット幅のビットパターンがいく
つ連続するかを判別した結果を格納するレジスタであ
る。Sレングス出力レジスタ38は、最大16ビットの
長さを2進数で表現できるように4ビット幅のレジスタ
で構成されている。
【0020】(i)スタートポジション(start-positi
on)出力レジスタ39:ビットパターン入力レジスタ3
5に入力されたビットパターンのスタートする位置を判
別した結果を格納するレジスタである。スタートポジシ
ョン出力レジスタ39も、最大16ビットの長さを2進
数で表現できるように4ビット幅のレジスタで構成され
ている。
on)出力レジスタ39:ビットパターン入力レジスタ3
5に入力されたビットパターンのスタートする位置を判
別した結果を格納するレジスタである。スタートポジシ
ョン出力レジスタ39も、最大16ビットの長さを2進
数で表現できるように4ビット幅のレジスタで構成され
ている。
【0021】図2を用いて、前記したレジスタ31〜3
9と判別の対象となるワードの関係を説明する。本実施
例では、ビットインデックスは、MSB(最上位ビッ
ト)が“0”でLSB(最下位ビット)が“15”とな
るような並びとしている。
9と判別の対象となるワードの関係を説明する。本実施
例では、ビットインデックスは、MSB(最上位ビッ
ト)が“0”でLSB(最下位ビット)が“15”とな
るような並びとしている。
【0022】この図2に示した例の場合、ポジション入
力レジスタ32の値が“7”となっている。したがっ
て、ワード入力レジスタ31に入力されたあるワード4
1の8番目に位置するビット“7”が処理の開始位置と
なる。また、カウント入力レジスタ33に入力された数
値が“5”なので、5ビット分のビット列が処理の対象
となる。更にディレクション入力レジスタ34に入力さ
れたデータがフォワード(forward )なので、処理の開
始位置から最下位ビットの方に向かう方向すなわち図で
矢印42の方向に5ビット分だけ処理が行われることに
なる。ビットパターン入力レジスタ35の内容は“1”
となっているので、処理対象となるビットは“1”であ
る。
力レジスタ32の値が“7”となっている。したがっ
て、ワード入力レジスタ31に入力されたあるワード4
1の8番目に位置するビット“7”が処理の開始位置と
なる。また、カウント入力レジスタ33に入力された数
値が“5”なので、5ビット分のビット列が処理の対象
となる。更にディレクション入力レジスタ34に入力さ
れたデータがフォワード(forward )なので、処理の開
始位置から最下位ビットの方に向かう方向すなわち図で
矢印42の方向に5ビット分だけ処理が行われることに
なる。ビットパターン入力レジスタ35の内容は“1”
となっているので、処理対象となるビットは“1”であ
る。
【0023】このような設定条件の下で、イナフ出力レ
ジスタ36には信号“0”が格納される。これは、ビッ
トパターン“1”がカウント値“5”と等しい数だけ連
続して計数されないからである。また、コンティニュー
出力レジスタ37にも信号“0”が格納される。これ
は、ワード41の8番目に位置するビット“7”(開始
点)から5ビットをカウントしてもワード41の最下位
ビットまで到達せず、したがって処理の対象となるビッ
ト列(5ビット)が次のワードに食い込む可能性がない
からである。
ジスタ36には信号“0”が格納される。これは、ビッ
トパターン“1”がカウント値“5”と等しい数だけ連
続して計数されないからである。また、コンティニュー
出力レジスタ37にも信号“0”が格納される。これ
は、ワード41の8番目に位置するビット“7”(開始
点)から5ビットをカウントしてもワード41の最下位
ビットまで到達せず、したがって処理の対象となるビッ
ト列(5ビット)が次のワードに食い込む可能性がない
からである。
【0024】Sレングス出力レジスタ38には信号
“3”が格納される。これは、開始点からビットパター
ン“1”が3つ連続しているからである。スタートポジ
ション出力レジスタ39には信号“7”が格納される。
“3”が格納される。これは、開始点からビットパター
ン“1”が3つ連続しているからである。スタートポジ
ション出力レジスタ39には信号“7”が格納される。
【0025】図3は他のワード43についての処理の様
子を表わしたものである。この例ではディレクション入
力レジスタ34の内容がバックワード(backward)とな
っており、処理の開始位置から最上位ビットの方向すな
わち図で矢印44の方向にビットのスキャンが行われ
る。また、この図3に示した例ではSレングス出力レジ
スタ38に信号“1”が格納される。これは、開始位置
11からビットパターン“1”の連続性を見てみると1
ビットだけに止まるからである。
子を表わしたものである。この例ではディレクション入
力レジスタ34の内容がバックワード(backward)とな
っており、処理の開始位置から最上位ビットの方向すな
わち図で矢印44の方向にビットのスキャンが行われ
る。また、この図3に示した例ではSレングス出力レジ
スタ38に信号“1”が格納される。これは、開始位置
11からビットパターン“1”の連続性を見てみると1
ビットだけに止まるからである。
【0026】図4は、更にもう1つのワード45につい
ての処理の様子を表わしたものである。この例ではポジ
ション入力レジスタ32の内容が“12”であり、最上
位ビットから13番目のビットが処理の開始点となる。
このため、矢印42方向(forward )に処理をしていく
とすると、ビット“1”を“5”カウントする前にワー
ド45の最下位ビットに到達してしまう。したがって、
次のワード46の先頭のビットが仮に“1”であればビ
ットパターン“1”が5つ連続することになる。そこ
で、この場合には開始位置からワードの境界までそのビ
ットパターンが続いていることをもって、イナフ出力レ
ジスタ36の内容が“1”とされるようになっている。
ての処理の様子を表わしたものである。この例ではポジ
ション入力レジスタ32の内容が“12”であり、最上
位ビットから13番目のビットが処理の開始点となる。
このため、矢印42方向(forward )に処理をしていく
とすると、ビット“1”を“5”カウントする前にワー
ド45の最下位ビットに到達してしまう。したがって、
次のワード46の先頭のビットが仮に“1”であればビ
ットパターン“1”が5つ連続することになる。そこ
で、この場合には開始位置からワードの境界までそのビ
ットパターンが続いていることをもって、イナフ出力レ
ジスタ36の内容が“1”とされるようになっている。
【0027】図5は、以上のような制御を行うビットパ
ターン処理装置の動作の様子を表わしたものである。ま
ず図1に示したCPU22は各出力レジスタ36〜39
の初期化を行う(ステップS101)。このときイナフ
出力レジスタ36およびSレングス出力レジスタ38に
は信号“0”がセットされる。また、スタートポジショ
ン出力レジスタ39にはポジション入力レジスタ32の
内容がセットされる。図2に示した例ではスタートポジ
ション出力レジスタ39に数値“7”がセットされるこ
とになる。
ターン処理装置の動作の様子を表わしたものである。ま
ず図1に示したCPU22は各出力レジスタ36〜39
の初期化を行う(ステップS101)。このときイナフ
出力レジスタ36およびSレングス出力レジスタ38に
は信号“0”がセットされる。また、スタートポジショ
ン出力レジスタ39にはポジション入力レジスタ32の
内容がセットされる。図2に示した例ではスタートポジ
ション出力レジスタ39に数値“7”がセットされるこ
とになる。
【0028】次にカウント入力レジスタ33の値が
“0”であるかどうかが判別される(ステップS10
2)。“0”であれば(Y)、カウントする必要がない
ので処理を終了させる(エンド)。
“0”であるかどうかが判別される(ステップS10
2)。“0”であれば(Y)、カウントする必要がない
ので処理を終了させる(エンド)。
【0029】“0”でないならば(N)、コンティニュ
ー出力レジスタ37とカウント入力レジスタ33をそれ
ぞれセットする(ステップS103)。このときの論理
を次に説明する。
ー出力レジスタ37とカウント入力レジスタ33をそれ
ぞれセットする(ステップS103)。このときの論理
を次に説明する。
【0030】まず、(i)ディレクション入力レジスタ
34に入力されたデータがフォワード(forward )であ
るときを説明する。このときには、ポジション入力レジ
スタ32の内容とカウント入力レジスタ33の内容が加
算され、これらが“16”よりも大きいかどうかが判別
される。そして“16”よりも大きい場合にはコンティ
ニュー出力レジスタ37に信号“1”をセットし、カウ
ント入力レジスタ33には数値“16”からポジション
入力レジスタ32にセットされた数値を減算した値がセ
ットされる。これ以外の場合には、コンティニュー出力
レジスタ37に信号“0”をセットする。
34に入力されたデータがフォワード(forward )であ
るときを説明する。このときには、ポジション入力レジ
スタ32の内容とカウント入力レジスタ33の内容が加
算され、これらが“16”よりも大きいかどうかが判別
される。そして“16”よりも大きい場合にはコンティ
ニュー出力レジスタ37に信号“1”をセットし、カウ
ント入力レジスタ33には数値“16”からポジション
入力レジスタ32にセットされた数値を減算した値がセ
ットされる。これ以外の場合には、コンティニュー出力
レジスタ37に信号“0”をセットする。
【0031】図2に示した例では、ポジション入力レジ
スタ32の内容とカウント入力レジスタ33の内容の加
算は“7+5”で“12”となる。これは“16”より
大きくはない。したがって、この例ではコンティニュー
出力レジスタ37に信号“0”がセットされることにな
る。
スタ32の内容とカウント入力レジスタ33の内容の加
算は“7+5”で“12”となる。これは“16”より
大きくはない。したがって、この例ではコンティニュー
出力レジスタ37に信号“0”がセットされることにな
る。
【0032】図4に示した例についても説明する。この
例ではポジション入力レジスタ32の内容とカウント入
力レジスタ33の内容の加算は“12+5”で“17”
となる。これは“16”より大きい。したがって、この
例ではコンティニュー出力レジスタ37に信号“1”が
セットされることになる。
例ではポジション入力レジスタ32の内容とカウント入
力レジスタ33の内容の加算は“12+5”で“17”
となる。これは“16”より大きい。したがって、この
例ではコンティニュー出力レジスタ37に信号“1”が
セットされることになる。
【0033】次に、(ii)ディレクション入力レジス
タ34に入力されたデータがバックワード(backward)
であるときを説明する。このときには、ポジション入力
レジスタ32の値からカウント入力レジスタ33の値が
減算されてこれに“1”が加算された内容が“0”より
も小さいかどうかがチェックされる。これが“0”より
も小さければコンティニュー出力レジスタ37に信号
“1”がセットされる。そしてカウント入力レジスタ3
3にはポジション入力レジスタ32の値に“1”を加算
した値がセットされる。これ以外の場合には、コンティ
ニュー出力レジスタ37に信号“1”をセットする。
タ34に入力されたデータがバックワード(backward)
であるときを説明する。このときには、ポジション入力
レジスタ32の値からカウント入力レジスタ33の値が
減算されてこれに“1”が加算された内容が“0”より
も小さいかどうかがチェックされる。これが“0”より
も小さければコンティニュー出力レジスタ37に信号
“1”がセットされる。そしてカウント入力レジスタ3
3にはポジション入力レジスタ32の値に“1”を加算
した値がセットされる。これ以外の場合には、コンティ
ニュー出力レジスタ37に信号“1”をセットする。
【0034】図3に示した例では、ポジション入力レジ
スタ32の値からカウント入力レジスタ33の値が減算
されると、“11−5”であり、これに“1”を加えた
値は“0”よりも大きい。したがって、この例ではコン
ティニュー出力レジスタ37に信号“0”がセットされ
ることになる。
スタ32の値からカウント入力レジスタ33の値が減算
されると、“11−5”であり、これに“1”を加えた
値は“0”よりも大きい。したがって、この例ではコン
ティニュー出力レジスタ37に信号“0”がセットされ
ることになる。
【0035】以上説明したステップS103の作業が終
了したら、カウント入力レジスタ33に格納された値と
等しい回数だけ処理が繰り返されたかどうかがチェック
される(ステップS104)。このような回数だけチェ
ックが行われた場合には(Y)、カウント入力レジスタ
33の値とSレングス出力レジスタ38の値が等しいか
どうかがチェックされ、等しい場合にはイナフ出力レジ
スタ36に信号“1”をセットし、これ以外の場合には
“0”をセットする(ステップS105)。そして、全
作業を終了させることになる(エンド)。
了したら、カウント入力レジスタ33に格納された値と
等しい回数だけ処理が繰り返されたかどうかがチェック
される(ステップS104)。このような回数だけチェ
ックが行われた場合には(Y)、カウント入力レジスタ
33の値とSレングス出力レジスタ38の値が等しいか
どうかがチェックされ、等しい場合にはイナフ出力レジ
スタ36に信号“1”をセットし、これ以外の場合には
“0”をセットする(ステップS105)。そして、全
作業を終了させることになる(エンド)。
【0036】これに対して前記した回数だけチェックが
繰り返されてはいない場合(ステップS104;N)、
ポジション入力レジスタ32の示す開始位置のビットだ
け取り出すためのマスク・パターンが生成される(ステ
ップS106)。そして、このマスク・パターンを用い
てワード入力レジスタ31におけるポジション入力レジ
スタ32の示す位置のビットは、ビットパターン入力レ
ジスタ35の内容と一致するかどうかがチェックされる
(ステップS107)。
繰り返されてはいない場合(ステップS104;N)、
ポジション入力レジスタ32の示す開始位置のビットだ
け取り出すためのマスク・パターンが生成される(ステ
ップS106)。そして、このマスク・パターンを用い
てワード入力レジスタ31におけるポジション入力レジ
スタ32の示す位置のビットは、ビットパターン入力レ
ジスタ35の内容と一致するかどうかがチェックされる
(ステップS107)。
【0037】このチェックの結果、一致しなかった場合
には(N)、すでにシーケンスが見つかっているかどう
かが判別され(ステップS108)、見つかっていれば
(Y)ステップS105に進む。見つかっていない場合
には(N)、ポジション入力レジスタ32の内容を更新
して(ステップS109)、ステップS104に戻る。
ここでポジション入力レジスタ32の内容の更新とは、
ディレクション入力レジスタ34に入力されたデータが
フォワード(forward )のときは、内容を“1”だけイ
ンクリメントすることであり、バックワード(backwar
d)のときには“1”だけデクリメントすることであ
る。
には(N)、すでにシーケンスが見つかっているかどう
かが判別され(ステップS108)、見つかっていれば
(Y)ステップS105に進む。見つかっていない場合
には(N)、ポジション入力レジスタ32の内容を更新
して(ステップS109)、ステップS104に戻る。
ここでポジション入力レジスタ32の内容の更新とは、
ディレクション入力レジスタ34に入力されたデータが
フォワード(forward )のときは、内容を“1”だけイ
ンクリメントすることであり、バックワード(backwar
d)のときには“1”だけデクリメントすることであ
る。
【0038】一方、ステップS107でポジション入力
レジスタ32の示す位置のビットがビットパターン入力
レジスタ35の内容と一致した場合(Y)には、このス
テップが初めての実行であるかどうかがチェックされる
(ステップS110)。そして、初めての実行であれば
(Y)、すでにシーケンスを見つけた旨のフラグをたて
て、スタートポジション出力レジスタ39にポジション
入力レジスタ32の示す値をセットする(ステップS1
11)。そして、ステップS109で示したと同様にポ
ジション入力レジスタ32の内容を更新する(ステップ
S112)。ステップS110で初めての実行ではない
と判別された場合(N)も同様である。
レジスタ32の示す位置のビットがビットパターン入力
レジスタ35の内容と一致した場合(Y)には、このス
テップが初めての実行であるかどうかがチェックされる
(ステップS110)。そして、初めての実行であれば
(Y)、すでにシーケンスを見つけた旨のフラグをたて
て、スタートポジション出力レジスタ39にポジション
入力レジスタ32の示す値をセットする(ステップS1
11)。そして、ステップS109で示したと同様にポ
ジション入力レジスタ32の内容を更新する(ステップ
S112)。ステップS110で初めての実行ではない
と判別された場合(N)も同様である。
【0039】ステップS112の更新作業が終了した
ら、Sレングス出力レジスタ38の値が“1”だけイン
クリメントされ(ステップS113)、ステップS10
4に戻る。
ら、Sレングス出力レジスタ38の値が“1”だけイン
クリメントされ(ステップS113)、ステップS10
4に戻る。
【0040】以上説明した実施例では1ワードを16ビ
ットとしたが、これ以外のビット構成であってもよいこ
とはもちろんである。また実施例ではメインCPUのプ
ログラム制御によってビットパターン処理部を構成した
が、現実にCPUとレジスタ群によってこれらを構成す
るようにしてもよい。
ットとしたが、これ以外のビット構成であってもよいこ
とはもちろんである。また実施例ではメインCPUのプ
ログラム制御によってビットパターン処理部を構成した
が、現実にCPUとレジスタ群によってこれらを構成す
るようにしてもよい。
【0041】
【発明の効果】以上説明したように本発明によれば、ビ
ット列に対して1ビットずつそれらの内容をチェックす
る必要なく、これらをワード単位で処理して必要な結果
を得ることができるので、処理が高速化する。また、こ
れにより、システムの柔軟性を確保することもできる。
ット列に対して1ビットずつそれらの内容をチェックす
る必要なく、これらをワード単位で処理して必要な結果
を得ることができるので、処理が高速化する。また、こ
れにより、システムの柔軟性を確保することもできる。
【図1】ビットパターン処理装置の回路構成の概要を表
わしたブロック図である。
わしたブロック図である。
【図2】あるワードとこれに対する各レジスタの内容の
関係を示した説明図である。
関係を示した説明図である。
【図3】他のワードとこれに対する各レジスタの内容の
関係を示した説明図である。
関係を示した説明図である。
【図4】更に他のワードとこれに対する各レジスタの内
容の関係を示した説明図である。
容の関係を示した説明図である。
【図5】ビットパターン処理装置の制御の流れを示した
流れ図である。
流れ図である。
12 メインCPU 17 メインメモリ 19 ディスク 21 ビットパターン処理部 31 ワード入力レジスタ 32 ポジション入力レジスタ 33 カウント入力レジスタ 34 ディレクション入力レジスタ 36 イナフ出力レジスタ 37 コンティニュ出力レジスタ 38 Sレングス出力レジスタ
Claims (1)
- 【請求項1】 ワード単位でビット列を入力するワード
入力レジスタと、このワードにおける処理するビットの
開始位置を指示するための位置情報を入力するポジショ
ン入力レジスタと、前記開始位置から処理するビットの
終了位置までの長さをカウント値として入力するカウン
ト入力レジスタと、前記処理するビットのカウント方向
を入力するディレクション入力レジスタと、前記ワード
入力レジスタに入力されたワードに対して前記カウント
値を満たす数のビットが存在するかどうかあるいは前記
開始位置からワードの境界までそのビットパターンが続
いているかどうかを判別するイナフ判別手段と、このイ
ナフ判別手段の判別結果を登録するイナフ出力レジスタ
と、前記ワード入力レジスタに入力されたワードの処理
の対象となるビット列が前記カウント値との関係で次に
入力するワードに続く可能性があるかどうかを判別する
コンティニュー判別手段と、このコンティニュー判別手
段の判別結果を登録するコンティニュー出力レジスタ
と、前記処理するビットの開始位置からビットのカウン
ト方向に同一ビットがいくつ連続するかを判別するシー
ケンシャル・レングス判別手段と、このシーケンシャル
・レングス判別手段の判別結果を登録するシーケンシャ
ル・レングス出力レジスタとを具備することを特徴とす
るビットパターン処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3060757A JP3010764B2 (ja) | 1991-02-12 | 1991-02-12 | ビットパターン処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3060757A JP3010764B2 (ja) | 1991-02-12 | 1991-02-12 | ビットパターン処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04257947A JPH04257947A (ja) | 1992-09-14 |
JP3010764B2 true JP3010764B2 (ja) | 2000-02-21 |
Family
ID=13151469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3060757A Expired - Lifetime JP3010764B2 (ja) | 1991-02-12 | 1991-02-12 | ビットパターン処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3010764B2 (ja) |
-
1991
- 1991-02-12 JP JP3060757A patent/JP3010764B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH04257947A (ja) | 1992-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4689768A (en) | Spelling verification system with immediate operator alerts to non-matches between inputted words and words stored in plural dictionary memories | |
US5319762A (en) | Associative memory capable of matching a variable indicator in one string of characters with a portion of another string | |
US4785400A (en) | Method for processing a data base | |
KR940003700B1 (ko) | 검색방법 및 그 장치 | |
US5608887A (en) | Method of processing data strings | |
JP3599352B2 (ja) | フレキシブルなn−ウェイ・メモリ・インターリーブ方式 | |
JPH0317133B2 (ja) | ||
JPS5823375A (ja) | デ−タ−処理システムにおけるキヤツシユの選択的クリア方法および装置 | |
JPH09503327A (ja) | 可変長の文字ストリング用のプロセッサ | |
US3297998A (en) | List control | |
EP0241001A2 (en) | Information processing apparatus having a mask function | |
EP0097818B1 (en) | Spelling verification method and typewriter embodying said method | |
JP3010764B2 (ja) | ビットパターン処理装置 | |
US3248698A (en) | Computer wrap error circuit | |
JPH0666050B2 (ja) | ソート処理方法 | |
US3337851A (en) | Memory organization for reducing access time of program repetitions | |
JP3027754B2 (ja) | 連想記憶装置 | |
US3512134A (en) | Apparatus for performing file search in a digital computer | |
JPH0431429B2 (ja) | ||
JP3046111B2 (ja) | 文字認識方法及びその装置 | |
JP2752220B2 (ja) | 文字列処理装置 | |
JPH0315772B2 (ja) | ||
KR0141906B1 (ko) | 데이타의 고속 탐색을 위한 하드웨어 구동장치 | |
WO1991004527A1 (en) | A search method and circuit | |
JPH0766391B2 (ja) | 連想マトリツクスのサーチ方法 |