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
Application number
JP3060757A
Other languages
English (en)
Other versions
JPH04257947A (ja
Inventor
隆芳 濱野
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP3060757A priority Critical patent/JP3010764B2/ja
Publication of JPH04257947A publication Critical patent/JPH04257947A/ja
Application granted granted Critical
Publication of JP3010764B2 publication Critical patent/JP3010764B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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で割った値だけ必要となる。バーチャル空間におけ
る各ページの管理は、このビットアレイにおけるそれぞ
れのビットをセット(使用状態)またはリセット(未使
用状態)にすることによって行っている。
【0003】
【発明が解決しようとする課題】このような装置では、
例えば特定のページが磁気ディスク等の外部記憶装置か
ら内部のランダム・アクセス・メモリ等の記憶装置内に
キャッシュされているかどうかを点検するために、ビッ
トアレイの各ビットを一々判別する操作が必要であっ
た。ビットアレイのサイズが大きい場合には、この走査
(スキャン)にかなりの時間を要し、情報処理のための
システムの効率を低下させるといった問題があった。
【0004】そこで本発明の目的は、所定の単位のビッ
ト列を迅速に処理することのできるビットパターン処理
装置を提供することにある。
【0005】
【課題を解決するための手段】本発明では、ワード単位
でビット列を入力するワード入力レジスタと、このワー
ドにおける処理するビットの開始位置を指示するための
位置情報を入力するポジション入力レジスタと、処理す
るビットの開始位置から終了位置までの長さをカウント
値として入力するカウント入力レジスタと、処理するビ
ットのカウント方向を入力するディレクション入力レジ
スタと、ワード入力レジスタに入力されたワードに対し
てカウント値を満たす数のビットが存在するかどうかを
判別するイナフ判別手段と、このイナフ判別手段の判別
結果を出力するために登録するイナフ出力レジスタと、
ワード入力レジスタに入力されたワードの処理の対象と
なるビット列がカウント値との関係で次に入力するワー
ドに続く可能性があるかどうかを判別するコンティニュ
ー判別手段と、このコンティニュー判別手段の判別結果
を出力するために登録するコンティニュー出力レジスタ
と、処理するビットの開始位置からビットのカウント方
向に同一ビットがいくつ連続するかを判別するシーケン
シャル・レングス判別手段と、このシーケンシャル・レ
ングス判別手段の判別結果を出力するために登録するシ
ーケンシャル・レングス出力レジスタとをビットパター
ン処理装置に具備させる。
【0006】すなわち請求項1記載の発明では、ワード
入力レジスタでCPU(中央処理装置)等が一度に処理
することのできるビット列を取り込むと共に、このワー
ドにおける処理するビットの開始位置や、処理するビッ
トの開始位置から終了位置までの長さや、処理するビッ
トのカウント方向や、前記した長さだけカウントするに
は次のワードを読む必要があるか否かと言ったビットパ
ターンの処理内容に関する指示を受け、これらの指示に
応じた判別内容を出力することができる。すなわち、例
えばビットアレイの特定ワード(ページの列)を取り出
して、メインメモリにキャッシュされたページが存在す
るかとか、キャッシュされた複数のページは次に判別す
るワードまで連続している可能性があるかといったよう
な各種の判別内容を取り出すことができ、前記した目的
を達成することができる。
【0007】
【実施例】以下実施例につき本発明を詳細に説明する。
【0008】図1は本発明の一実施例におけるビットパ
ターン処理装置の回路構成の概要を表わしたものであ
る。このビットパターン処理装置11は、メインCPU
12を備えており、データバス等のバス13を通じてメ
モリコントローラ14、ディスプレイコントローラ1
5、ディスクコントローラ16等の回路装置と接続され
ている。ここで、メモリコントローラ14はメインメモ
リ17に対するデータの書き込みや読み出しを制御する
ようになっている。ディスプレイコントローラ15は、
ディスプレイ18の表示制御を行うようになっている。
ディスクコントローラ16は、磁気ディスクや光ディス
ク等のディスク19に対するデータの書き込みや読み出
しを制御するようになっている。
【0009】このビットパターン処理装置は、メインC
PU12のプログラム制御によってビットパターン処理
部21を仮想的に構成している。ビットパターン処理部
21はCPU22と入力レジスタ群23および出力レジ
スタ群24から構成されている。
【0010】ここで入力レジスタ群23は、次の各入力
レジスタから構成されている。
【0011】(a)ワード(word)入力レジスタ31:
処理の対象となるワードを入力するレジスタである。本
実施例では16ビットを1ワードとしてワード入力レジ
スタ31にビットパターンを入力するようになってい
る。このため、ワード入力レジスタ31は16ビット幅
のレジスタとして構成されている。
【0012】(b)ポジション(position)入力レジス
タ32:入力されたワードにおける処理の開始位置を特
定する位置(ポジション)を入力するレジスタである。
ポジション入力レジスタ32は、“0”から“15”ま
での16段階の位置を2進数で表現するために4ビット
幅のレジスタで構成されている。
【0013】(c)カウント(count )入力レジスタ3
3:入力されたワードにおける処理するビットの開始位
置から終了位置までの長さをカウント値として入力する
レジスタである。カウント入力レジスタ33も4ビット
幅のレジスタで構成されている。
【0014】(d)ディレクション(direction )入力
レジスタ34:入力されたワードの処理を行う際に、開
始点からどちらの方向にスキャンしていくかを入力する
レジスタである。ディレクション入力レジスタ34は、
1ビット幅のレジスタで構成されている。
【0015】(e)ビットパターン(bit-pattern )入
力レジスタ35:判別対象となるビットは“0”か
“1”かを指示するためのデータを入力するレジスタで
ある。同じく1ビット幅のレジスタで構成されている。
【0016】一方、出力レジスタ群24は、次の各出力
レジスタから構成されている。
【0017】(f)イナフ(enough)出力レジスタ3
6:ワード入力レジスタ31に入力されたワードに対し
て前記したカウント値を満たす数のビットが存在するか
どうかあるいは開始点からワードの境界までそのビット
パターンが続いている場合には“1”を、それ以外の場
合には“0”を格納するレジスタである。イナフ出力レ
ジスタ36も1ビット幅のレジスタで構成されている。
【0018】(g)コンティニュー(continue)出力レ
ジスタ37:ワード入力レジスタ31に入力されたワー
ドの処理の対象となるビット列がカウント値との関係で
次に入力するワードに続く可能性がある場合には“1”
を、そうでない場合には“0”を格納するレジスタであ
る。コンティニュー出力レジスタ37も1ビット幅のレ
ジスタで構成されている。
【0019】(h)Sレングス(sequential-length )
出力レジスタ38:処理するビットの開始位置からビッ
トのカウント方向に1ビット幅のビットパターンがいく
つ連続するかを判別した結果を格納するレジスタであ
る。Sレングス出力レジスタ38は、最大16ビットの
長さを2進数で表現できるように4ビット幅のレジスタ
で構成されている。
【0020】(i)スタートポジション(start-positi
on)出力レジスタ39:ビットパターン入力レジスタ3
5に入力されたビットパターンのスタートする位置を判
別した結果を格納するレジスタである。スタートポジシ
ョン出力レジスタ39も、最大16ビットの長さを2進
数で表現できるように4ビット幅のレジスタで構成され
ている。
【0021】図2を用いて、前記したレジスタ31〜3
9と判別の対象となるワードの関係を説明する。本実施
例では、ビットインデックスは、MSB(最上位ビッ
ト)が“0”でLSB(最下位ビット)が“15”とな
るような並びとしている。
【0022】この図2に示した例の場合、ポジション入
力レジスタ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ビット)が次のワードに食い込む可能性がない
からである。
【0024】Sレングス出力レジスタ38には信号
“3”が格納される。これは、開始点からビットパター
ン“1”が3つ連続しているからである。スタートポジ
ション出力レジスタ39には信号“7”が格納される。
【0025】図3は他のワード43についての処理の様
子を表わしたものである。この例ではディレクション入
力レジスタ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”とされるようになっている。
【0027】図5は、以上のような制御を行うビットパ
ターン処理装置の動作の様子を表わしたものである。ま
ず図1に示したCPU22は各出力レジスタ36〜39
の初期化を行う(ステップS101)。このときイナフ
出力レジスタ36およびSレングス出力レジスタ38に
は信号“0”がセットされる。また、スタートポジショ
ン出力レジスタ39にはポジション入力レジスタ32の
内容がセットされる。図2に示した例ではスタートポジ
ション出力レジスタ39に数値“7”がセットされるこ
とになる。
【0028】次にカウント入力レジスタ33の値が
“0”であるかどうかが判別される(ステップS10
2)。“0”であれば(Y)、カウントする必要がない
ので処理を終了させる(エンド)。
【0029】“0”でないならば(N)、コンティニュ
ー出力レジスタ37とカウント入力レジスタ33をそれ
ぞれセットする(ステップS103)。このときの論理
を次に説明する。
【0030】まず、(i)ディレクション入力レジスタ
34に入力されたデータがフォワード(forward )であ
るときを説明する。このときには、ポジション入力レジ
スタ32の内容とカウント入力レジスタ33の内容が加
算され、これらが“16”よりも大きいかどうかが判別
される。そして“16”よりも大きい場合にはコンティ
ニュー出力レジスタ37に信号“1”をセットし、カウ
ント入力レジスタ33には数値“16”からポジション
入力レジスタ32にセットされた数値を減算した値がセ
ットされる。これ以外の場合には、コンティニュー出力
レジスタ37に信号“0”をセットする。
【0031】図2に示した例では、ポジション入力レジ
スタ32の内容とカウント入力レジスタ33の内容の加
算は“7+5”で“12”となる。これは“16”より
大きくはない。したがって、この例ではコンティニュー
出力レジスタ37に信号“0”がセットされることにな
る。
【0032】図4に示した例についても説明する。この
例ではポジション入力レジスタ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”をセットする。
【0034】図3に示した例では、ポジション入力レジ
スタ32の値からカウント入力レジスタ33の値が減算
されると、“11−5”であり、これに“1”を加えた
値は“0”よりも大きい。したがって、この例ではコン
ティニュー出力レジスタ37に信号“0”がセットされ
ることになる。
【0035】以上説明したステップS103の作業が終
了したら、カウント入力レジスタ33に格納された値と
等しい回数だけ処理が繰り返されたかどうかがチェック
される(ステップS104)。このような回数だけチェ
ックが行われた場合には(Y)、カウント入力レジスタ
33の値とSレングス出力レジスタ38の値が等しいか
どうかがチェックされ、等しい場合にはイナフ出力レジ
スタ36に信号“1”をセットし、これ以外の場合には
“0”をセットする(ステップS105)。そして、全
作業を終了させることになる(エンド)。
【0036】これに対して前記した回数だけチェックが
繰り返されてはいない場合(ステップS104;N)、
ポジション入力レジスタ32の示す開始位置のビットだ
け取り出すためのマスク・パターンが生成される(ステ
ップS106)。そして、このマスク・パターンを用い
てワード入力レジスタ31におけるポジション入力レジ
スタ32の示す位置のビットは、ビットパターン入力レ
ジスタ35の内容と一致するかどうかがチェックされる
(ステップS107)。
【0037】このチェックの結果、一致しなかった場合
には(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)も同様である。
【0039】ステップS112の更新作業が終了した
ら、Sレングス出力レジスタ38の値が“1”だけイン
クリメントされ(ステップS113)、ステップS10
4に戻る。
【0040】以上説明した実施例では1ワードを16ビ
ットとしたが、これ以外のビット構成であってもよいこ
とはもちろんである。また実施例ではメインCPUのプ
ログラム制御によってビットパターン処理部を構成した
が、現実にCPUとレジスタ群によってこれらを構成す
るようにしてもよい。
【0041】
【発明の効果】以上説明したように本発明によれば、ビ
ット列に対して1ビットずつそれらの内容をチェックす
る必要なく、これらをワード単位で処理して必要な結果
を得ることができるので、処理が高速化する。また、こ
れにより、システムの柔軟性を確保することもできる。
【図面の詳細な説明】
【図1】ビットパターン処理装置の回路構成の概要を表
わしたブロック図である。
【図2】あるワードとこれに対する各レジスタの内容の
関係を示した説明図である。
【図3】他のワードとこれに対する各レジスタの内容の
関係を示した説明図である。
【図4】更に他のワードとこれに対する各レジスタの内
容の関係を示した説明図である。
【図5】ビットパターン処理装置の制御の流れを示した
流れ図である。
【符号の説明】
12 メインCPU 17 メインメモリ 19 ディスク 21 ビットパターン処理部 31 ワード入力レジスタ 32 ポジション入力レジスタ 33 カウント入力レジスタ 34 ディレクション入力レジスタ 36 イナフ出力レジスタ 37 コンティニュ出力レジスタ 38 Sレングス出力レジスタ

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 ワード単位でビット列を入力するワード
    入力レジスタと、このワードにおける処理するビットの
    開始位置を指示するための位置情報を入力するポジショ
    ン入力レジスタと、前記開始位置から処理するビットの
    終了位置までの長さをカウント値として入力するカウン
    ト入力レジスタと、前記処理するビットのカウント方向
    を入力するディレクション入力レジスタと、前記ワード
    入力レジスタに入力されたワードに対して前記カウント
    値を満たす数のビットが存在するかどうかあるいは前記
    開始位置からワードの境界までそのビットパターンが続
    いているかどうかを判別するイナフ判別手段と、このイ
    ナフ判別手段の判別結果を登録するイナフ出力レジスタ
    と、前記ワード入力レジスタに入力されたワードの処理
    の対象となるビット列が前記カウント値との関係で次に
    入力するワードに続く可能性があるかどうかを判別する
    コンティニュー判別手段と、このコンティニュー判別手
    段の判別結果を登録するコンティニュー出力レジスタ
    と、前記処理するビットの開始位置からビットのカウン
    ト方向に同一ビットがいくつ連続するかを判別するシー
    ケンシャル・レングス判別手段と、このシーケンシャル
    ・レングス判別手段の判別結果を登録するシーケンシャ
    ル・レングス出力レジスタとを具備することを特徴とす
    るビットパターン処理装置。
JP3060757A 1991-02-12 1991-02-12 ビットパターン処理装置 Expired - Lifetime JP3010764B2 (ja)

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)

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) 連想マトリツクスのサーチ方法