JPH04326120A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH04326120A JPH04326120A JP9549791A JP9549791A JPH04326120A JP H04326120 A JPH04326120 A JP H04326120A JP 9549791 A JP9549791 A JP 9549791A JP 9549791 A JP9549791 A JP 9549791A JP H04326120 A JPH04326120 A JP H04326120A
- Authority
- JP
- Japan
- Prior art keywords
- register
- string
- output
- contents
- circuit
- 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
Links
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、ストリング操作を必要
とする情報処理装置に関する。特に、あるストリング中
に特定の値と一致する要素があるか否か検索することが
必要となる情報処理装置に関する。
とする情報処理装置に関する。特に、あるストリング中
に特定の値と一致する要素があるか否か検索することが
必要となる情報処理装置に関する。
【0002】
【従来の技術】あるストリング中に特定の値と一致する
要素があるか否か検索し、前記特定値と一致する要素の
位置を求めるストリング操作命令を有した情報処理装置
は従来より知られている。例えば、スペシフィケーショ
ン・オブ・ザ・チップ・ベースド・オン・ザ・トロン・
アーキテクチャ・バージョン 1.10.00.00(
1990年)第9.11−11頁から9.11−13頁
(SPECIFICATIONOF THE CHIP
BASED ON THE TRONARCHITE
CTURE Ver.1.10.00.00(1990
) pp.9.11−11〜pp.9.11−13)に
記載されている情報処理装置は、指定されたメモリロケ
ーションアドレスから始まるメモリに配置されたストリ
ングを操作対象とし、当該ストリングの先頭要素から指
定要素数までの各要素と指定比較対象データとを先頭要
素から順番に比較し、当該比較結果が指定の比較終了条
件を最初に満たした時点で比較操作を終了し、前記比較
終了条件を最初に満たした前記要素のメモリロケーショ
ンアドレスを出力する命令を有する。
要素があるか否か検索し、前記特定値と一致する要素の
位置を求めるストリング操作命令を有した情報処理装置
は従来より知られている。例えば、スペシフィケーショ
ン・オブ・ザ・チップ・ベースド・オン・ザ・トロン・
アーキテクチャ・バージョン 1.10.00.00(
1990年)第9.11−11頁から9.11−13頁
(SPECIFICATIONOF THE CHIP
BASED ON THE TRONARCHITE
CTURE Ver.1.10.00.00(1990
) pp.9.11−11〜pp.9.11−13)に
記載されている情報処理装置は、指定されたメモリロケ
ーションアドレスから始まるメモリに配置されたストリ
ングを操作対象とし、当該ストリングの先頭要素から指
定要素数までの各要素と指定比較対象データとを先頭要
素から順番に比較し、当該比較結果が指定の比較終了条
件を最初に満たした時点で比較操作を終了し、前記比較
終了条件を最初に満たした前記要素のメモリロケーショ
ンアドレスを出力する命令を有する。
【0003】
【発明が解決しようとする課題】上記従来技術により、
ユーザのストリング操作処理は高速に行える。しかし、
情報処理装置の構成が複雑になり、情報処理装置が大規
模になるという問題がある。
ユーザのストリング操作処理は高速に行える。しかし、
情報処理装置の構成が複雑になり、情報処理装置が大規
模になるという問題がある。
【0004】本発明の目的は、単純な構成により、ユー
ザのストリング操作を高速にする、小規模な情報処理装
置を提供することにある。
ザのストリング操作を高速にする、小規模な情報処理装
置を提供することにある。
【0005】
【課題を解決するための手段】本発明の情報処理装置は
、ストリングの内容を検査する操作を高速化するために
、予めレジスタに格納された部分ストリングの個別要素
と特定の比較対象データとを比較し、各比較結果を個別
に出力する比較手段と、前記比較手段の出力を入力し、
内容が前記比較対象データと一致する要素がある場合、
前記一致要素の内、当該ストリングの先頭に最も近い要
素の位置を特定する値を出力し、内容が前記比較対象デ
ータと一致する要素がない場合は、予め定めた任意の値
を出力する命令を具備することを構成上の特徴とするも
のである。
、ストリングの内容を検査する操作を高速化するために
、予めレジスタに格納された部分ストリングの個別要素
と特定の比較対象データとを比較し、各比較結果を個別
に出力する比較手段と、前記比較手段の出力を入力し、
内容が前記比較対象データと一致する要素がある場合、
前記一致要素の内、当該ストリングの先頭に最も近い要
素の位置を特定する値を出力し、内容が前記比較対象デ
ータと一致する要素がない場合は、予め定めた任意の値
を出力する命令を具備することを構成上の特徴とするも
のである。
【0006】上記構成において、前記部分ストリングを
格納するレジスタは、固定のレジスタ、または命令オペ
ランドが示すレジスタであってもよい。
格納するレジスタは、固定のレジスタ、または命令オペ
ランドが示すレジスタであってもよい。
【0007】また、前記比較対象データは一定の値(例
えば0)、あるいは命令オペランドとしての即値、固定
レジスタの内容、または命令オペランドが示すレジスタ
であってもよい。
えば0)、あるいは命令オペランドとしての即値、固定
レジスタの内容、または命令オペランドが示すレジスタ
であってもよい。
【0008】
【作用】本発明においては、部分ストリングがレジスタ
に格納された状態であるので、情報処理装置の構成が単
純になる。もちろん、本発明のストリング操作命令を実
行する前に、本来メモリに配置されていたストリングの
個別の部分ストリング(4バイト)をロード命令により
予めあるレジスタに格納しておかなければならない。
に格納された状態であるので、情報処理装置の構成が単
純になる。もちろん、本発明のストリング操作命令を実
行する前に、本来メモリに配置されていたストリングの
個別の部分ストリング(4バイト)をロード命令により
予めあるレジスタに格納しておかなければならない。
【0009】
【実施例】以下、本発明の一実施例を説明する。
【0010】初めに、本ストリング操作命令のソースオ
ペランドとして指定されたレジスタから部分ストリング
を読み出し、当該部分ストリングの各要素と一定値0と
を比較し、デスティネーションオペランドとして指定さ
れたレジスタへ結果を出力する実施例を説明する。
ペランドとして指定されたレジスタから部分ストリング
を読み出し、当該部分ストリングの各要素と一定値0と
を比較し、デスティネーションオペランドとして指定さ
れたレジスタへ結果を出力する実施例を説明する。
【0011】レジスタのビット長は32ビット(4バイ
ト)とし、ストリング要素のビット長は8ビット(1バ
イト)とする。つまり、操作対象の部分ストリングは3
2ビット(4バイト)であり、部分ストリング中の要素
数は4個である。
ト)とし、ストリング要素のビット長は8ビット(1バ
イト)とする。つまり、操作対象の部分ストリングは3
2ビット(4バイト)であり、部分ストリング中の要素
数は4個である。
【0012】レジスタの最上位側を部分ストリングの先
頭とし、先頭から1番目の要素(最上位バイト)の位置
を0、2番目の要素の位置を1、3番目の要素の位置を
2、4番目の要素(最下位バイト)の位置を3とする。
頭とし、先頭から1番目の要素(最上位バイト)の位置
を0、2番目の要素の位置を1、3番目の要素の位置を
2、4番目の要素(最下位バイト)の位置を3とする。
【0013】図1に、本実施例の情報処理装置を示す。
図1において、110は選択器、130,131,13
2、および133は8入力のNOR回路、140はエン
コーダ、150は分配器、170は0番レジスタ、17
1は1番レジスタ、172は2番レジスタ、180は命
令レジスタ、190は命令コードフィールド、191は
ソースオペランドフィールド、192はデスティネーシ
ョンオペランドフィールドである。
2、および133は8入力のNOR回路、140はエン
コーダ、150は分配器、170は0番レジスタ、17
1は1番レジスタ、172は2番レジスタ、180は命
令レジスタ、190は命令コードフィールド、191は
ソースオペランドフィールド、192はデスティネーシ
ョンオペランドフィールドである。
【0014】命令レジスタ180に、本ストリング操作
を行なう命令が格納される。
を行なう命令が格納される。
【0015】選択器110は、ソースオペランドフィー
ルド191の内容と同じ番号のレジスタを選択し、その
レジスタ内の部分ストリングの位置0の要素(最上位バ
イト)をNOR回路130へ、位置1の要素をNOR回
路131へ、位置2の要素をNOR回路132へ、位置
3の要素(最下位バイト)をNOR回路133へ出力す
る。
ルド191の内容と同じ番号のレジスタを選択し、その
レジスタ内の部分ストリングの位置0の要素(最上位バ
イト)をNOR回路130へ、位置1の要素をNOR回
路131へ、位置2の要素をNOR回路132へ、位置
3の要素(最下位バイト)をNOR回路133へ出力す
る。
【0016】NOR回路130〜133は、それぞれの
入力、つまり当該部分ストリングの各要素の内容が値0
ならば1(一致)を出力し、そうでなければ0(不一致
)を出力する。
入力、つまり当該部分ストリングの各要素の内容が値0
ならば1(一致)を出力し、そうでなければ0(不一致
)を出力する。
【0017】エンコーダ140には、NOR回路130
〜133の出力である4ビットの信号が入力され、表1
に示す入力と出力の対応にしたがって、3ビットの整数
0,1,2,3または−1を出力する。つまり、エンコ
ーダ140は、内容が0で、かつ当該ストリングの先頭
に最も近い要素の位置を求め、求めた要素位置を数値で
出力する。
〜133の出力である4ビットの信号が入力され、表1
に示す入力と出力の対応にしたがって、3ビットの整数
0,1,2,3または−1を出力する。つまり、エンコ
ーダ140は、内容が0で、かつ当該ストリングの先頭
に最も近い要素の位置を求め、求めた要素位置を数値で
出力する。
【0018】
【表1】
【0019】表1をエンコード140の出力の各ビット
毎に分解し、第0(最上位)ビットの真理値を表2(a
)に、第1ビットの真理値を表2(b)に、第2(最下
位)ビットの真理値を表2(c)に示す。
毎に分解し、第0(最上位)ビットの真理値を表2(a
)に、第1ビットの真理値を表2(b)に、第2(最下
位)ビットの真理値を表2(c)に示す。
【0020】
【表2】
【0021】表2の真理値表より、エンコード140の
出力の各ビットの真理値を論理式で表すと、第0(最上
位)ビットの論理式は数1、第1ビットの論理式は数2
、第2(最下位)ビットの論理式は数3となる。
出力の各ビットの真理値を論理式で表すと、第0(最上
位)ビットの論理式は数1、第1ビットの論理式は数2
、第2(最下位)ビットの論理式は数3となる。
【0022】
第0ビット=¬A∧¬B∧¬C∧¬D=¬
(A∨B∨C∨D) …(数1) 第1
ビット=¬A∧¬B=¬(A∨B)
…(数2)
第2ビット=(¬A∧B)∨(¬A∧¬C)=¬A∧(
B∨¬C) …(数3) なお、AはNOR回路130の出力、BはNOR回
路131の出力、CはNOR回路132の出力、DはN
OR回路133の出力である。
(A∨B∨C∨D) …(数1) 第1
ビット=¬A∧¬B=¬(A∨B)
…(数2)
第2ビット=(¬A∧B)∨(¬A∧¬C)=¬A∧(
B∨¬C) …(数3) なお、AはNOR回路130の出力、BはNOR回
路131の出力、CはNOR回路132の出力、DはN
OR回路133の出力である。
【0023】以上、数1,数2,数3の論理式が示す論
理にしたがって、エンコーダ140は構成される。
理にしたがって、エンコーダ140は構成される。
【0024】分配器150は、エンコーダ140の出力
である3ビットの値と値0の29ビットで構成される3
2ビット整数をデスティネーションオペランドフィール
ド192の内容と同じ番号のレジスタへ出力する。
である3ビットの値と値0の29ビットで構成される3
2ビット整数をデスティネーションオペランドフィール
ド192の内容と同じ番号のレジスタへ出力する。
【0025】以上により、本実施例では、ソースオペラ
ンドフィールド191が示すレジスタから部分ストリン
グが読み出され、当該部分ストリングの要素の内、内容
が0で、かつ部分ストリングの先頭に最も近い要素の位
置0、1、2または3が、デスティネーションオペラン
ドフィールド192が示すレジスタへ出力される。内容
が0である要素がない場合は、16進数8000000
3がデスティネーションオペランドフィールド192が
示すレジスタへ出力される。
ンドフィールド191が示すレジスタから部分ストリン
グが読み出され、当該部分ストリングの要素の内、内容
が0で、かつ部分ストリングの先頭に最も近い要素の位
置0、1、2または3が、デスティネーションオペラン
ドフィールド192が示すレジスタへ出力される。内容
が0である要素がない場合は、16進数8000000
3がデスティネーションオペランドフィールド192が
示すレジスタへ出力される。
【0026】次に、具体的な値を当てはめて、本実施例
を説明する。
を説明する。
【0027】図2に、図1の本実施例に具体的な値を当
てはめた図を示す。
てはめた図を示す。
【0028】ここでは、操作対象の部分ストリングが0
番レジスタ170に格納されているとし、その値は16
進数01 02 00 00 とする。結果を出力する
レジスタを1番レジスタ171とする。
番レジスタ170に格納されているとし、その値は16
進数01 02 00 00 とする。結果を出力する
レジスタを1番レジスタ171とする。
【0029】この場合、当該部分ストリング(16進数
01 02 00 00)の位置2および位置3の要素
の内容が0なので、本実施例によるストリング操作の結
果、1番レジスタ171へ2が出力されなければならな
い。
01 02 00 00)の位置2および位置3の要素
の内容が0なので、本実施例によるストリング操作の結
果、1番レジスタ171へ2が出力されなければならな
い。
【0030】図2に示すように、初期状態では、ソース
オペランドフィールド191の内容は0、デスティネー
ションオペランドフィールド192の内容は1、0番レ
ジスタ170の内容は16進数01 02 00 00
、1番レジスタ171の内容は0である。
オペランドフィールド191の内容は0、デスティネー
ションオペランドフィールド192の内容は1、0番レ
ジスタ170の内容は16進数01 02 00 00
、1番レジスタ171の内容は0である。
【0031】以下、説明の都合上、図3の手順にしたが
って、本実施例の動作を説明する。まず、選択器110
は、ソースオペランドフィールド191が示す0番レジ
スタ170の内容(16進数01 02 00 00)
を、部分ストリングとして読み出す(ステップ310)
。
って、本実施例の動作を説明する。まず、選択器110
は、ソースオペランドフィールド191が示す0番レジ
スタ170の内容(16進数01 02 00 00)
を、部分ストリングとして読み出す(ステップ310)
。
【0032】選択器110は、当該部分ストリング(1
6進数01 02 00 00)の位置0の要素の内容
(16進数01)をNOR回路130へ、位置1の要素
の内容(16進数02)をNOR回路131へ、位置2
の要素の内容(0)をNOR回路132へ、位置3の要
素の内容(0)をNOR回路133へ出力する(ステッ
プ320)。
6進数01 02 00 00)の位置0の要素の内容
(16進数01)をNOR回路130へ、位置1の要素
の内容(16進数02)をNOR回路131へ、位置2
の要素の内容(0)をNOR回路132へ、位置3の要
素の内容(0)をNOR回路133へ出力する(ステッ
プ320)。
【0033】NOR回路130は位置0の要素の内容(
16進数01)を、NOR回路131は位置1の要素の
内容(16進数02)を、NOR回路132は位置2の
要素の内容(0)を、NOR回路133は位置3の要素
の内容(0)を、それぞれが0であるか検査する(ステ
ップ330)。
16進数01)を、NOR回路131は位置1の要素の
内容(16進数02)を、NOR回路132は位置2の
要素の内容(0)を、NOR回路133は位置3の要素
の内容(0)を、それぞれが0であるか検査する(ステ
ップ330)。
【0034】その結果、NOR回路130および131
は0(不一致)を出力し、NOR回路132および13
3は1(一致)を出力する(ステップ340)。
は0(不一致)を出力し、NOR回路132および13
3は1(一致)を出力する(ステップ340)。
【0035】エンコーダ140は、NOR回路130〜
133の出力である4ビットの信号(0,0,1,1)
を入力し、表1にしたがって3ビットの2進数010を
出力する(ステップ350)。
133の出力である4ビットの信号(0,0,1,1)
を入力し、表1にしたがって3ビットの2進数010を
出力する(ステップ350)。
【0036】分配器150は、エンコーダ140の出力
である2進数010と値0の29ビットとで構成された
32ビット整数2(16進数00 00 00 02)
をデスティネーションオペランドフィールド192が示
す1番レジスタ171へ出力する(ステップ360)。
である2進数010と値0の29ビットとで構成された
32ビット整数2(16進数00 00 00 02)
をデスティネーションオペランドフィールド192が示
す1番レジスタ171へ出力する(ステップ360)。
【0037】以上の操作によって、当該部分ストリング
(16進数01 02 00 00)の要素の内、内容
が0で、かつ先頭に最も近い要素の位置である2が、1
番レジスタに出力される。
(16進数01 02 00 00)の要素の内、内容
が0で、かつ先頭に最も近い要素の位置である2が、1
番レジスタに出力される。
【0038】次に、操作対象の部分ストリングおよび比
較対象データを固定のレジスタから読み出し、結果を固
定のレジスタへ出力する本発明の実施例を説明する。
較対象データを固定のレジスタから読み出し、結果を固
定のレジスタへ出力する本発明の実施例を説明する。
【0039】具体的には、部分ストリングを0番レジス
タから、比較対象データを1番レジスタからそれぞれ読
み出し、結果を2番レジスタへ出力する本実施例を説明
する。
タから、比較対象データを1番レジスタからそれぞれ読
み出し、結果を2番レジスタへ出力する本実施例を説明
する。
【0040】図4に、本実施例の情報処理装置を示す。
【0041】図4において、410は部分ストリング読
出回路、420は比較対象データ読出回路、430,4
31,432、および433は一致比較器、140はエ
ンコーダ、450は結果出力回路、170は0番レジス
タ、171は1番レジスタ、172は2番レジスタであ
る。
出回路、420は比較対象データ読出回路、430,4
31,432、および433は一致比較器、140はエ
ンコーダ、450は結果出力回路、170は0番レジス
タ、171は1番レジスタ、172は2番レジスタであ
る。
【0042】部分ストリング読出回路410は、部分ス
トリングである0番レジスタの内容を読み出し、当該部
分ストリングの位置0の要素(最上位バイト)の内容を
一致比較器430へ、位置1の要素の内容を一致比較器
431へ、位置2の要素の内容を一致比較器432へ、
位置3の要素(最下位バイト)の内容を一致比較器43
3へ出力する。
トリングである0番レジスタの内容を読み出し、当該部
分ストリングの位置0の要素(最上位バイト)の内容を
一致比較器430へ、位置1の要素の内容を一致比較器
431へ、位置2の要素の内容を一致比較器432へ、
位置3の要素(最下位バイト)の内容を一致比較器43
3へ出力する。
【0043】これと同時に、比較対象データ読出回路4
20は、1番レジスタの内容を読み出し、読み出した値
の最下位バイトを比較対象データとして一致比較器43
0,431,432、および433へ出力する。
20は、1番レジスタの内容を読み出し、読み出した値
の最下位バイトを比較対象データとして一致比較器43
0,431,432、および433へ出力する。
【0044】一致比較器430〜433は、それぞれに
入力される各要素の内容と比較対象とを比較し、内容が
一致するなら1(一致)を出力し、内容が一致しないな
ら0(不一致)を出力する。
入力される各要素の内容と比較対象とを比較し、内容が
一致するなら1(一致)を出力し、内容が一致しないな
ら0(不一致)を出力する。
【0045】エンコーダ140は、一致比較器430〜
433の出力である4ビットの信号を入力し、表1にし
たがって3ビットの整数0、1、2、3または−1を出
力する。
433の出力である4ビットの信号を入力し、表1にし
たがって3ビットの整数0、1、2、3または−1を出
力する。
【0046】結果出力回路450は、エンコーダ140
の出力である3ビットの値と値0の29ビットとで構成
される32ビット整数を2番レジスタ172へ出力する
。
の出力である3ビットの値と値0の29ビットとで構成
される32ビット整数を2番レジスタ172へ出力する
。
【0047】以上により、本実施例では、0番レジスタ
から部分ストリングが、また1番レジスタから比較対象
データが読み出され、当該部分ストリングの要素の内、
内容が比較対象データと一致し、かつ当該部分ストリン
グの先頭に最も近い要素の位置0,1,2または3が2
番レジスタへ出力される。内容が比較対象データと一致
する要素がない場合は、16進数80000003が2
番レジスタへ出力される。
から部分ストリングが、また1番レジスタから比較対象
データが読み出され、当該部分ストリングの要素の内、
内容が比較対象データと一致し、かつ当該部分ストリン
グの先頭に最も近い要素の位置0,1,2または3が2
番レジスタへ出力される。内容が比較対象データと一致
する要素がない場合は、16進数80000003が2
番レジスタへ出力される。
【0048】次に、具体的な値を当てはめて、本実施例
を説明する。
を説明する。
【0049】図5に、図4の本実施例に具体的な値を当
てはめた図を示す。
てはめた図を示す。
【0050】ここでは、文字列“ABC”の文字数を求
めるストリング操作を考える。文字列“ABC”の内部
表現は16進数41 42 43 00(4バイト)と
する。この内部表現は、文字列を文字コードと値0の文
字列終了コードとで表現するものである。文字列“AB
C”は4バイトなので、本実施例の操作対象である部分
ストリングに文字列“ABC”全体が納まる。比較対象
データは文字列終了コードである値0とする。
めるストリング操作を考える。文字列“ABC”の内部
表現は16進数41 42 43 00(4バイト)と
する。この内部表現は、文字列を文字コードと値0の文
字列終了コードとで表現するものである。文字列“AB
C”は4バイトなので、本実施例の操作対象である部分
ストリングに文字列“ABC”全体が納まる。比較対象
データは文字列終了コードである値0とする。
【0051】当該部分ストリング(16進数41 42
43 00、文字列“ABC”)中、位置3の要素の
内容が0(文字列終了コード)なので、本実施例のスト
リング操作の結果、2番レジスタに値3が出力されなけ
ればならない。すなわち、本実施例のストリング操作に
よって、文字列“ABC”の文字数3が求められる。
43 00、文字列“ABC”)中、位置3の要素の
内容が0(文字列終了コード)なので、本実施例のスト
リング操作の結果、2番レジスタに値3が出力されなけ
ればならない。すなわち、本実施例のストリング操作に
よって、文字列“ABC”の文字数3が求められる。
【0052】図5に示すように、初期状態では、0番レ
ジスタ170の内容は16進数4142 43 00(
文字列“ABC”)、1番レジスタおよび2番レジスタ
の内容は0である。
ジスタ170の内容は16進数4142 43 00(
文字列“ABC”)、1番レジスタおよび2番レジスタ
の内容は0である。
【0053】以下、説明の都合上、図6に示す手順した
がって、本実施例の動作を説明する。
がって、本実施例の動作を説明する。
【0054】まず、部分ストリング読出回路410は0
番レジスタの内容(16進数4142 43 00、文
字列“ABC”)を読み出し、比較対象データ読出回路
420は1番レジスタの内容(0)を読み出す(ステッ
プ610)。
番レジスタの内容(16進数4142 43 00、文
字列“ABC”)を読み出し、比較対象データ読出回路
420は1番レジスタの内容(0)を読み出す(ステッ
プ610)。
【0055】部分ストリング読出回路410は、当該部
分ストリング(16進数41 4243 00、文字列
“ABC”)の位置0の要素の内容(16進数41,文
字‘A’)を一致比較器430へ、位置1の要素の内容
(16進数42,文字‘B’)を一致比較器431へ、
位置2の要素の内容(16進数43,文字‘C’)を一
致比較器432へ、位置3の要素の内容(0,文字列終
了コード)を一致比較器433へそれぞれ出力する。ま
た、比較対象データ読出回路420は、読み出した値の
最下位バイト(0)を比較対象データとして一致比較器
430〜433へ出力する(ステップ620)。
分ストリング(16進数41 4243 00、文字列
“ABC”)の位置0の要素の内容(16進数41,文
字‘A’)を一致比較器430へ、位置1の要素の内容
(16進数42,文字‘B’)を一致比較器431へ、
位置2の要素の内容(16進数43,文字‘C’)を一
致比較器432へ、位置3の要素の内容(0,文字列終
了コード)を一致比較器433へそれぞれ出力する。ま
た、比較対象データ読出回路420は、読み出した値の
最下位バイト(0)を比較対象データとして一致比較器
430〜433へ出力する(ステップ620)。
【0056】一致比較器430は位置0の要素の内容(
16進数41,文字‘A’)と比較対象データ(0)と
を、一致比較器431は位置1の要素の内容(16進数
42,文字‘B’)と比較対象データ(0)とを、一致
比較器432は位置2の要素の内容(16進数43,文
字‘C’)と比較対象データ(0)とを、一致比較器4
33は位置3の要素の内容(0、文字列終了コード)と
比較対象データ(0)とを、それぞれ比較する(ステッ
プ630)。
16進数41,文字‘A’)と比較対象データ(0)と
を、一致比較器431は位置1の要素の内容(16進数
42,文字‘B’)と比較対象データ(0)とを、一致
比較器432は位置2の要素の内容(16進数43,文
字‘C’)と比較対象データ(0)とを、一致比較器4
33は位置3の要素の内容(0、文字列終了コード)と
比較対象データ(0)とを、それぞれ比較する(ステッ
プ630)。
【0057】その結果、一致比較器430,431およ
び432は0(不一致)を出力し、一致比較器433は
1(一致)を出力する(ステップ640)。
び432は0(不一致)を出力し、一致比較器433は
1(一致)を出力する(ステップ640)。
【0058】エンコーダ140は、一致比較器430〜
433の出力である4ビットの信号(0,0,0,1)
を入力し、表1にしたがって3ビットの2進数011を
出力する(ステップ650)。
433の出力である4ビットの信号(0,0,0,1)
を入力し、表1にしたがって3ビットの2進数011を
出力する(ステップ650)。
【0059】結果出力回路450は、エンコード140
の出力である2進数011と値0の29ビットとで構成
される32ビット整数3(16進数00 00 00
03)を2番レジスタ172へ出力する(ステップ6
60)。
の出力である2進数011と値0の29ビットとで構成
される32ビット整数3(16進数00 00 00
03)を2番レジスタ172へ出力する(ステップ6
60)。
【0060】以上の操作によって、当該部分ストリング
(16進数41 42 43 00,文字列“ABC”
)の要素の内、内容が0で、かつ先頭に最も近い要素の
位置である3が、2番レジスタへ出力される。すなわち
、文字列“ABC”の文字数3が、2番レジスタに求め
られた。
(16進数41 42 43 00,文字列“ABC”
)の要素の内、内容が0で、かつ先頭に最も近い要素の
位置である3が、2番レジスタへ出力される。すなわち
、文字列“ABC”の文字数3が、2番レジスタに求め
られた。
【0061】
【発明の効果】本発明によれば、レジスタに格納された
部分ストリングを操作するので、情報処理装置の構成が
単純になる。
部分ストリングを操作するので、情報処理装置の構成が
単純になる。
【0062】また、当該部分ストリングの各要素と比較
対象との各比較が同時に行われ、内容が一致し、かつ当
該ストリングの先頭に最も近い要素の位置が数値で出力
されることにより、ユーザは長いストリングをレジスタ
サイズの単位で操作でき、ユーザのストリング操作が高
速になる。
対象との各比較が同時に行われ、内容が一致し、かつ当
該ストリングの先頭に最も近い要素の位置が数値で出力
されることにより、ユーザは長いストリングをレジスタ
サイズの単位で操作でき、ユーザのストリング操作が高
速になる。
【0063】よって、文字列の長さを求めるといったユ
ーザのストリング操作を高速にする、小規模な情報処理
装置を提供できる。
ーザのストリング操作を高速にする、小規模な情報処理
装置を提供できる。
【図1】本発明の情報処理装置の一実施例を示す構成図
である。
である。
【図2】具体的なデータにより、図1に示す実施例装置
を説明するための説明図である。
を説明するための説明図である。
【図3】図1に示す実施例装置の動作を説明するフロー
チャートである。
チャートである。
【図4】本発明の情報処理装置の他の実施例を示す構成
図である。
図である。
【図5】具体的なデータにより、図4に示す実施例装置
を説明するための説明図である。
を説明するための説明図である。
【図6】図4に示す実施例装置の動作を説明するフロー
チャートである。
チャートである。
110…選択器、130,131,132,133…8
入力のNOR回路、140…エンコーダ、150…分配
器、170…0番レジスタ、171…1番レジスタ、1
72…2番レジスタ、180…命令レジスタ、190…
命令コードフィールド、191…ソースオペランドフィ
ールド、192…デスティネーションオペランドフィー
ルド、310〜360…図1の実施例装置の動作手順、
410…部分ストリング読出回路、420…比較対象デ
ータ読出回路、430,431,432,433…一致
比較器、450…結果出力回路、610〜660…図4
の実施例装置の動作手順。
入力のNOR回路、140…エンコーダ、150…分配
器、170…0番レジスタ、171…1番レジスタ、1
72…2番レジスタ、180…命令レジスタ、190…
命令コードフィールド、191…ソースオペランドフィ
ールド、192…デスティネーションオペランドフィー
ルド、310〜360…図1の実施例装置の動作手順、
410…部分ストリング読出回路、420…比較対象デ
ータ読出回路、430,431,432,433…一致
比較器、450…結果出力回路、610〜660…図4
の実施例装置の動作手順。
Claims (3)
- 【請求項1】あるストリング中の部分ストリングが格納
されたレジスタ内容と特定の比較対象データとを比較し
、前記比較対象データと一致する要素がある場合は、前
記一致要素の内、当該部分ストリングの先頭に最も近い
要素の位置を特定する値を出力し、前記比較対象データ
と一致する要素がない場合は、予め定めた任意の値を出
力する命令を有することを特徴とする情報処理装置。 - 【請求項2】部分ストリングが格納された前記レジスタ
が固定のレジスタ、または命令オペランドが示すレジス
タであることを特徴とする請求項1記載の情報処理装置
。 - 【請求項3】前記比較対象データが値0であることを特
徴とする請求項1又は請求項2記載の情報処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9549791A JPH04326120A (ja) | 1991-04-25 | 1991-04-25 | 情報処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9549791A JPH04326120A (ja) | 1991-04-25 | 1991-04-25 | 情報処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04326120A true JPH04326120A (ja) | 1992-11-16 |
Family
ID=14139240
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9549791A Pending JPH04326120A (ja) | 1991-04-25 | 1991-04-25 | 情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04326120A (ja) |
-
1991
- 1991-04-25 JP JP9549791A patent/JPH04326120A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5608887A (en) | Method of processing data strings | |
| JPH06222903A (ja) | 文字データを圧縮し圧縮済みデータを展開するための静的辞書構造を提供する方法および手段 | |
| WO2001089098A2 (en) | A method and system for performing permutations with bit permutation instructions | |
| US5343195A (en) | Variable length codeword decoding apparatus | |
| JP3183669B2 (ja) | 可変長の文字ストリング用のプロセッサ | |
| JP3644494B2 (ja) | 情報検索装置 | |
| JPS61210478A (ja) | ベクトル処理装置 | |
| US6900746B1 (en) | Asynchronous, data-activated concatenator for variable length datum segments | |
| JPH04326120A (ja) | 情報処理装置 | |
| US6675291B1 (en) | Hardware device for parallel processing of any instruction within a set of instructions | |
| JPS60105040A (ja) | 文章検索方式 | |
| US6016524A (en) | Collating bits from a byte source | |
| JP2752220B2 (ja) | 文字列処理装置 | |
| KR950006603A (ko) | 고정도수를 저장하는 컴퓨터내에서 이용가능한 메모리 주소위치의 수를 증가시키기 위한 메모리 주소지정방법 | |
| KR900702450A (ko) | 미니컴퓨터용 병렬 스트링 프로세서 및 방법 | |
| JPS6373422A (ja) | 情報検索装置 | |
| JP2564881B2 (ja) | ビット列比較方式 | |
| JP2690175B2 (ja) | 不等長符号復号回路 | |
| JPH0650478B2 (ja) | デ−タ圧縮記憶方式 | |
| JPS63261422A (ja) | 文字列照合装置 | |
| JPH1115836A (ja) | 文字列探索用テーブル、その作成方法及び文字列探索方法 | |
| JPH06202849A (ja) | 情報処理装置 | |
| JP2007274051A (ja) | バイト列探索器及び探索方法 | |
| JPS61198814A (ja) | トリガ検出回路 | |
| JPH09101965A (ja) | 情報登録方法および情報検索方法 |