JPH04257947A - ビットパターン処理装置 - Google Patents
ビットパターン処理装置Info
- Publication number
- JPH04257947A JPH04257947A JP3060757A JP6075791A JPH04257947A JP H04257947 A JPH04257947 A JP H04257947A JP 3060757 A JP3060757 A JP 3060757A JP 6075791 A JP6075791 A JP 6075791A JP H04257947 A JPH04257947 A JP H04257947A
- Authority
- JP
- Japan
- Prior art keywords
- register
- bit
- word
- input
- input register
- 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
Links
- 238000012545 processing Methods 0.000 claims abstract description 31
- 238000000034 method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、ビット列の連続性やビ
ットの配置状態等の判別を行うために使用されるビット
パターン処理装置に関する。
ットの配置状態等の判別を行うために使用されるビット
パターン処理装置に関する。
【0002】
【従来の技術】例えば仮想記憶装置では、バーチャル(
仮想)空間とリアル(実)空間との対応付けを行うため
のマッピングをページ単位で行っている。この管理には
、ページごとにビットを1つずつ割り当てたビットアレ
イを用いることが多い。ビットアレイは例えば16ビッ
ト(1ワード)を1列とした複数行のアレイで構成され
ており、1列の各ビットが1ページずつ合計で16ペー
ジに対応している。行の数は、この場合、全ページを1
6で割った値だけ必要となる。バーチャル空間における
各ページの管理は、このビットアレイにおけるそれぞれ
のビットをセット(使用状態)またはリセット(未使用
状態)にすることによって行っている。
仮想)空間とリアル(実)空間との対応付けを行うため
のマッピングをページ単位で行っている。この管理には
、ページごとにビットを1つずつ割り当てたビットアレ
イを用いることが多い。ビットアレイは例えば16ビッ
ト(1ワード)を1列とした複数行のアレイで構成され
ており、1列の各ビットが1ページずつ合計で16ペー
ジに対応している。行の数は、この場合、全ページを1
6で割った値だけ必要となる。バーチャル空間における
各ページの管理は、このビットアレイにおけるそれぞれ
のビットをセット(使用状態)またはリセット(未使用
状態)にすることによって行っている。
【0003】
【発明が解決しようとする課題】このような装置では、
例えば特定のページが磁気ディスク等の外部記憶装置か
ら内部のランダム・アクセス・メモリ等の記憶装置内に
キャッシュされているかどうかを点検するために、ビッ
トアレイの各ビットを一々判別する操作が必要であった
。ビットアレイのサイズが大きい場合には、この走査(
スキャン)にかなりの時間を要し、情報処理のためのシ
ステムの効率を低下させるといった問題があった。
例えば特定のページが磁気ディスク等の外部記憶装置か
ら内部のランダム・アクセス・メモリ等の記憶装置内に
キャッシュされているかどうかを点検するために、ビッ
トアレイの各ビットを一々判別する操作が必要であった
。ビットアレイのサイズが大きい場合には、この走査(
スキャン)にかなりの時間を要し、情報処理のためのシ
ステムの効率を低下させるといった問題があった。
【0004】そこで本発明の目的は、所定の単位のビッ
ト列を迅速に処理することのできるビットパターン処理
装置を提供することにある。
ト列を迅速に処理することのできるビットパターン処理
装置を提供することにある。
【0005】
【課題を解決するための手段】本発明では、ワード単位
でビット列を入力するワード入力レジスタと、このワー
ドにおける処理するビットの開始位置を指示するための
位置情報を入力するポジション入力レジスタと、処理す
るビットの開始位置から終了位置までの長さをカウント
値として入力するカウント入力レジスタと、処理するビ
ットのカウント方向を入力するディレクション入力レジ
スタと、ワード入力レジスタに入力されたワードに対し
てカウント値を満たす数のビットが存在するかどうかを
判別するイナフ判別手段と、このイナフ判別手段の判別
結果を出力するために登録するイナフ出力レジスタと、
ワード入力レジスタに入力されたワードの処理の対象と
なるビット列がカウント値との関係で次に入力するワー
ドに続く可能性があるかどうかを判別するコンティニュ
ー判別手段と、このコンティニュー判別手段の判別結果
を出力するために登録するコンティニュー出力レジスタ
と、処理するビットの開始位置からビットのカウント方
向に同一ビットがいくつ連続するかを判別するシーケン
シャル・レングス判別手段と、このシーケンシャル・レ
ングス判別手段の判別結果を出力するために登録するシ
ーケンシャル・レングス出力レジスタとをビットパター
ン処理装置に具備させる。
でビット列を入力するワード入力レジスタと、このワー
ドにおける処理するビットの開始位置を指示するための
位置情報を入力するポジション入力レジスタと、処理す
るビットの開始位置から終了位置までの長さをカウント
値として入力するカウント入力レジスタと、処理するビ
ットのカウント方向を入力するディレクション入力レジ
スタと、ワード入力レジスタに入力されたワードに対し
てカウント値を満たす数のビットが存在するかどうかを
判別するイナフ判別手段と、このイナフ判別手段の判別
結果を出力するために登録するイナフ出力レジスタと、
ワード入力レジスタに入力されたワードの処理の対象と
なるビット列がカウント値との関係で次に入力するワー
ドに続く可能性があるかどうかを判別するコンティニュ
ー判別手段と、このコンティニュー判別手段の判別結果
を出力するために登録するコンティニュー出力レジスタ
と、処理するビットの開始位置からビットのカウント方
向に同一ビットがいくつ連続するかを判別するシーケン
シャル・レングス判別手段と、このシーケンシャル・レ
ングス判別手段の判別結果を出力するために登録するシ
ーケンシャル・レングス出力レジスタとをビットパター
ン処理装置に具備させる。
【0006】すなわち請求項1記載の発明では、ワード
入力レジスタでCPU(中央処理装置)等が一度に処理
することのできるビット列を取り込むと共に、このワー
ドにおける処理するビットの開始位置や、処理するビッ
トの開始位置から終了位置までの長さや、処理するビッ
トのカウント方向や、前記した長さだけカウントするに
は次のワードを読む必要があるか否かと言ったビットパ
ターンの処理内容に関する指示を受け、これらの指示に
応じた判別内容を出力することができる。すなわち、例
えばビットアレイの特定ワード(ページの列)を取り出
して、メインメモリにキャッシュされたページが存在す
るかとか、キャッシュされた複数のページは次に判別す
るワードまで連続している可能性があるかといったよう
な各種の判別内容を取り出すことができ、前記した目的
を達成することができる。
入力レジスタでCPU(中央処理装置)等が一度に処理
することのできるビット列を取り込むと共に、このワー
ドにおける処理するビットの開始位置や、処理するビッ
トの開始位置から終了位置までの長さや、処理するビッ
トのカウント方向や、前記した長さだけカウントするに
は次のワードを読む必要があるか否かと言ったビットパ
ターンの処理内容に関する指示を受け、これらの指示に
応じた判別内容を出力することができる。すなわち、例
えばビットアレイの特定ワード(ページの列)を取り出
して、メインメモリにキャッシュされたページが存在す
るかとか、キャッシュされた複数のページは次に判別す
るワードまで連続している可能性があるかといったよう
な各種の判別内容を取り出すことができ、前記した目的
を達成することができる。
【0007】
【実施例】以下実施例につき本発明を詳細に説明する。
【0008】図1は本発明の一実施例におけるビットパ
ターン処理装置の回路構成の概要を表わしたものである
。このビットパターン処理装置11は、メインCPU1
2を備えており、データバス等のバス13を通じてメモ
リコントローラ14、ディスプレイコントローラ15、
ディスクコントローラ16等の回路装置と接続されてい
る。ここで、メモリコントローラ14はメインメモリ1
7に対するデータの書き込みや読み出しを制御するよう
になっている。ディスプレイコントローラ15は、ディ
スプレイ18の表示制御を行うようになっている。 ディスクコントローラ16は、磁気ディスクや光ディス
ク等のディスク19に対するデータの書き込みや読み出
しを制御するようになっている。
ターン処理装置の回路構成の概要を表わしたものである
。このビットパターン処理装置11は、メインCPU1
2を備えており、データバス等のバス13を通じてメモ
リコントローラ14、ディスプレイコントローラ15、
ディスクコントローラ16等の回路装置と接続されてい
る。ここで、メモリコントローラ14はメインメモリ1
7に対するデータの書き込みや読み出しを制御するよう
になっている。ディスプレイコントローラ15は、ディ
スプレイ18の表示制御を行うようになっている。 ディスクコントローラ16は、磁気ディスクや光ディス
ク等のディスク19に対するデータの書き込みや読み出
しを制御するようになっている。
【0009】このビットパターン処理装置は、メインC
PU12のプログラム制御によってビットパターン処理
部21を仮想的に構成している。ビットパターン処理部
21はCPU22と入力レジスタ群23および出力レジ
スタ群24から構成されている。
PU12のプログラム制御によってビットパターン処理
部21を仮想的に構成している。ビットパターン処理部
21はCPU22と入力レジスタ群23および出力レジ
スタ群24から構成されている。
【0010】ここで入力レジスタ群23は、次の各入力
レジスタから構成されている。
レジスタから構成されている。
【0011】(a)ワード(word)入力レジスタ3
1:処理の対象となるワードを入力するレジスタである
。本実施例では16ビットを1ワードとしてワード入力
レジスタ31にビットパターンを入力するようになって
いる。このため、ワード入力レジスタ31は16ビット
幅のレジスタとして構成されている。
1:処理の対象となるワードを入力するレジスタである
。本実施例では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 )入力レジ
スタ33:入力されたワードにおける処理するビットの
開始位置から終了位置までの長さをカウント値として入
力するレジスタである。カウント入力レジスタ33も4
ビット幅のレジスタで構成されている。
スタ33:入力されたワードにおける処理するビットの
開始位置から終了位置までの長さをカウント値として入
力するレジスタである。カウント入力レジスタ33も4
ビット幅のレジスタで構成されている。
【0014】(d)ディレクション(directio
n )入力レジスタ34:入力されたワードの処理を行
う際に、開始点からどちらの方向にスキャンしていくか
を入力するレジスタである。ディレクション入力レジス
タ34は、1ビット幅のレジスタで構成されている。
n )入力レジスタ34:入力されたワードの処理を行
う際に、開始点からどちらの方向にスキャンしていくか
を入力するレジスタである。ディレクション入力レジス
タ34は、1ビット幅のレジスタで構成されている。
【0015】(e)ビットパターン(bit−patt
ern )入力レジスタ35:判別対象となるビットは
“0”か“1”かを指示するためのデータを入力するレ
ジスタである。同じく1ビット幅のレジスタで構成され
ている。
ern )入力レジスタ35:判別対象となるビットは
“0”か“1”かを指示するためのデータを入力するレ
ジスタである。同じく1ビット幅のレジスタで構成され
ている。
【0016】一方、出力レジスタ群24は、次の各出力
レジスタから構成されている。
レジスタから構成されている。
【0017】(f)イナフ(enough)出力レジス
タ36:ワード入力レジスタ31に入力されたワードに
対して前記したカウント値を満たす数のビットが存在す
るかどうかあるいは開始点からワードの境界までそのビ
ットパターンが続いている場合には“1”を、それ以外
の場合には“0”を格納するレジスタである。イナフ出
力レジスタ36も1ビット幅のレジスタで構成されてい
る。
タ36:ワード入力レジスタ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ビ
ット幅のレジスタで構成されている。
−length )出力レジスタ38:処理するビット
の開始位置からビットのカウント方向に1ビット幅のビ
ットパターンがいくつ連続するかを判別した結果を格納
するレジスタである。Sレングス出力レジスタ38は、
最大16ビットの長さを2進数で表現できるように4ビ
ット幅のレジスタで構成されている。
【0020】(i)スタートポジション(start−
position)出力レジスタ39:ビットパターン
入力レジスタ35に入力されたビットパターンのスター
トする位置を判別した結果を格納するレジスタである。 スタートポジション出力レジスタ39も、最大16ビッ
トの長さを2進数で表現できるように4ビット幅のレジ
スタで構成されている。
position)出力レジスタ39:ビットパターン
入力レジスタ35に入力されたビットパターンのスター
トする位置を判別した結果を格納するレジスタである。 スタートポジション出力レジスタ39も、最大16ビッ
トの長さを2進数で表現できるように4ビット幅のレジ
スタで構成されている。
【0021】図2を用いて、前記したレジスタ31〜3
9と判別の対象となるワードの関係を説明する。本実施
例では、ビットインデックスは、MSB(最上位ビット
)が“0”でLSB(最下位ビット)が“15”となる
ような並びとしている。
9と判別の対象となるワードの関係を説明する。本実施
例では、ビットインデックスは、MSB(最上位ビット
)が“0”でLSB(最下位ビット)が“15”となる
ような並びとしている。
【0022】この図2に示した例の場合、ポジション入
力レジスタ32の値が“7”となっている。したがって
、ワード入力レジスタ31に入力されたあるワード41
の8番目に位置するビット“7”が処理の開始位置とな
る。また、カウント入力レジスタ33に入力された数値
が“5”なので、5ビット分のビット列が処理の対象と
なる。更にディレクション入力レジスタ34に入力され
たデータがフォワード(forward )なので、処
理の開始位置から最下位ビットの方に向かう方向すなわ
ち図で矢印42の方向に5ビット分だけ処理が行われる
ことになる。ビットパターン入力レジスタ35の内容は
“1”となっているので、処理対象となるビットは“1
”である。
力レジスタ32の値が“7”となっている。したがって
、ワード入力レジスタ31に入力されたあるワード41
の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”が格納される。
”が格納される。これは、開始点からビットパターン“
1”が3つ連続しているからである。スタートポジショ
ン出力レジスタ39には信号“7”が格納される。
【0025】図3は他のワード43についての処理の様
子を表わしたものである。この例ではディレクション入
力レジスタ34の内容がバックワード(backwar
d)となっており、処理の開始位置から最上位ビットの
方向すなわち図で矢印44の方向にビットのスキャンが
行われる。また、この図3に示した例ではSレングス出
力レジスタ38に信号“1”が格納される。これは、開
始位置11からビットパターン“1”の連続性を見てみ
ると1ビットだけに止まるからである。
子を表わしたものである。この例ではディレクション入
力レジスタ34の内容がバックワード(backwar
d)となっており、処理の開始位置から最上位ビットの
方向すなわち図で矢印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
”であるかどうかが判別される(ステップS102)。 “0”であれば(Y)、カウントする必要がないので処
理を終了させる(エンド)。
”であるかどうかが判別される(ステップS102)。 “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に入力されたデータがバックワード(backw
ard)であるときを説明する。このときには、ポジシ
ョン入力レジスタ32の値からカウント入力レジスタ3
3の値が減算されてこれに“1”が加算された内容が“
0”よりも小さいかどうかがチェックされる。これが“
0”よりも小さければコンティニュー出力レジスタ37
に信号“1”がセットされる。そしてカウント入力レジ
スタ33にはポジション入力レジスタ32の値に“1”
を加算した値がセットされる。これ以外の場合には、コ
ンティニュー出力レジスタ37に信号“1”をセットす
る。
タ34に入力されたデータがバックワード(backw
ard)であるときを説明する。このときには、ポジシ
ョン入力レジスタ32の値からカウント入力レジスタ3
3の値が減算されてこれに“1”が加算された内容が“
0”よりも小さいかどうかがチェックされる。これが“
0”よりも小さければコンティニュー出力レジスタ37
に信号“1”がセットされる。そしてカウント入力レジ
スタ33にはポジション入力レジスタ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
”だけインクリメントすることであり、バックワード(
backward)のときには“1”だけデクリメント
することである。
には(N)、すでにシーケンスが見つかっているかどう
かが判別され(ステップS108)、見つかっていれば
(Y)ステップS105に進む。見つかっていない場合
には(N)、ポジション入力レジスタ32の内容を更新
して(ステップS109)、ステップS104に戻る。 ここでポジション入力レジスタ32の内容の更新とは、
ディレクション入力レジスタ34に入力されたデータが
フォワード(forward )のときは、内容を“1
”だけインクリメントすることであり、バックワード(
backward)のときには“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)、ステップS104
に戻る。
、Sレングス出力レジスタ38の値が“1”だけインク
リメントされ(ステップS113)、ステップS104
に戻る。
【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 true JPH04257947A (ja) | 1992-09-14 |
JP3010764B2 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 |
---|---|
JP3010764B2 (ja) | 2000-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3599352B2 (ja) | フレキシブルなn−ウェイ・メモリ・インターリーブ方式 | |
US5396622A (en) | Efficient radix sorting system employing a dynamic branch table | |
US5608887A (en) | Method of processing data strings | |
US4689768A (en) | Spelling verification system with immediate operator alerts to non-matches between inputted words and words stored in plural dictionary memories | |
US5187783A (en) | Controller for direct memory access | |
JPS5823375A (ja) | デ−タ−処理システムにおけるキヤツシユの選択的クリア方法および装置 | |
US20150070957A1 (en) | Semiconductor device and method of writing/reading entry address into/from semiconductor device | |
US4591829A (en) | Run length code decoder | |
GB1153025A (en) | Electronic Calculator | |
JPH09503327A (ja) | 可変長の文字ストリング用のプロセッサ | |
US3297998A (en) | List control | |
US4188669A (en) | Decoder for variable-length codes | |
JP3110230B2 (ja) | データアクセス命令解読方法及び装置 | |
EP0097818B1 (en) | Spelling verification method and typewriter embodying said method | |
JPH04257947A (ja) | ビットパターン処理装置 | |
EP0057815A2 (en) | Page addressing mechanism and method for using the same | |
US6988117B2 (en) | Bit-reversed indexing in a modified harvard DSP architecture | |
EP0227348A2 (en) | Content addressable memory circuit and method | |
KR950006603A (ko) | 고정도수를 저장하는 컴퓨터내에서 이용가능한 메모리 주소위치의 수를 증가시키기 위한 메모리 주소지정방법 | |
WO1996005551A1 (en) | Method and system for storing data in a memory device | |
US5802522A (en) | Method and system of storing data blocks that have common data elements | |
US6081869A (en) | Bit-field peripheral | |
US5862374A (en) | Search method and circuit | |
JPH083801B2 (ja) | 度数を含まない関数型言語コ−ドを用いる2進有向グラフとしてストアされたプログラムを評価する縮小プロセッサのためのシステムアロケ−タ | |
US5673216A (en) | Process and system for adding or subtracting symbols in any base without converting to a common base |