JPH03214316A - 条件コード発生方式 - Google Patents

条件コード発生方式

Info

Publication number
JPH03214316A
JPH03214316A JP2011117A JP1111790A JPH03214316A JP H03214316 A JPH03214316 A JP H03214316A JP 2011117 A JP2011117 A JP 2011117A JP 1111790 A JP1111790 A JP 1111790A JP H03214316 A JPH03214316 A JP H03214316A
Authority
JP
Japan
Prior art keywords
byte
character
string
condition
character string
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
JP2011117A
Other languages
English (en)
Inventor
Toshiaki Kitamura
俊明 北村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011117A priority Critical patent/JPH03214316A/ja
Publication of JPH03214316A publication Critical patent/JPH03214316A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要〕 縮小命令セット計算機(RISC)に適した条件コード
発生方式に関し、 例えば、ある文字列(八)の中に、より短い文字列(B
)があるか否かの判定を高速に行うことができる条件コ
ード発生方式を提供することを目的とし、 データ処理装置の算術論理演算器の出力に対して、バイ
ト単位の複数個のゼロ条件ビットと,これらの条件ビ7
}の論理和と論理積の条件ビットを含む条件レジスタを
設け、該条件レジスタの各バイト単位のゼロ条件ビット
を、上記算術論理演算器出力のバイト単位の全ゼロ検出
信号■によってセントし、上記バイト単位の複数個の全
ゼロ検出信号の論理和と論理積の信号■,■によって、
上記条件レジスタの上記論理和と論理積の条件ビットを
セットするように構成する。
〔産業上の利用分野〕
本発明は、通常の汎用計算機の命令セントより小規模の
命令セットを持つ縮小命令セット計算機(RISC)に
適した条件コード発生方式に関する。
近年、計算機の命令セットを簡略化し、ハードウエア量
を削減することによって、マシンサイクルを短くするこ
とで、該計算機の性能を向上させる、所謂、縮小命令セ
ント計算機(RISC)が注目されている。
これらの計算機における命令セットは、主記憶装置上に
格納されている可変長データに対するバイトを基準にし
た命令は削除され、例えば、固定長データを対象とした
命令セントであることが多い。
然し、文字列に対する処理では、該可変長データに対す
る条件コート判定処理かある為、該縮小命令セット計算
機(RISC)において、上記可変長データに対する条
件コードの判定を効果的に行うことができる条件コート
発生方式が必要とされる。
〔従来の技術と発明が解決しようとする課題]第2図は
従来の条件コード発生方式を説明する図であり、(a)
は構成例を示し、(b)は可変長文字列の処理例を示し
、(c)は該可変長文字列の処理を縮小命令セット計算
機(RISC)で処理する例を示している。
従来の汎用計算機では、主記憶装置上に格納されている
可変長データに対するバイトを基準にした命令を持って
いた。
従って、該可変長データを、(a)図に示した算術論理
演算器(以下、演算器という)1が持っている固定長で
処理をしようとすると、繰り返し演算となる為、該繰り
返し演算の為の制御回路を必要とし、マシンサイクルが
長くなり、該計算機の性能に悪影響を及ぼしていたこと
から、最近では、例えば、固定長データのみを扱う命令
七ノトのみとして、ハードウェアを簡略化し、マシンサ
イクルを短くして、該計算機の性能を向上させることか
できる縮小命令セット計算機(RISC)か考えられて
いる。
このような縮小命令セント計算機(RISC)で、例え
ば、2つの文字列が等しいかどうかを判定する場合の動
作を以下に説明する。
該可変長文字列のデータ形式としては、(b)図に示し
たように、(1)例えば、PL/1言語等で記述された
プログラムで扱われる文字列データでは、該文字列の先
頭に固定長の文字列長フィールド(大枠で示す)を持っ
ているので、該文字列長フィールドを見ることにより、
該文字列の終わりを簡単に認識することができるが、(
2)ユニックス配下のC言語で記述されたプログラムで
扱われる可変長データでは、該可変長文字列(八)の終
端に終端文字(文字コードで使用しないビノトパターン
、例えば、X゛00”等)(大枠で示す)の文字列(B
)があるのみであるので、該終端文字を高速に検索する
必要がある。
上記(2)で示した文字列(^)の終端文字の文字列(
B)を判定する処理は、2つの文字列が等しいかどうか
を判定する処理に帰着される。
該、2つの文字列が等しいかどうかは、その計算で処理
できるバイト幅(例えば、4バイトの処理幅があるとす
る。以下、同様であるが、処理幅が2バイト以上であれ
ば、必ずしも、該処理幅にはよらない。)で処理して、
該4バイトの排他的論理和{具体的には、(a)図に示
したように、1バイト幅の排他的論理和回路で構成され
た全ゼロ検出回路を、バイト毎に設けて、各バイトの全
ゼロ検出信号■の論理積をとることで行う}を行って、
該4バイトの全ゼロ条件を見ればよい。
然し、上記のような文字列(^)中の、例えば、3バイ
ト幅の文字列(B)を判定する場合には、どのバイトに
該文字列(B)かあるか不明である為、(c)図に示し
たように、先ず、文字列(八)の先頭の3バイトを取り
出して、4バイトデータとし、フー 文字列(B)と比較する処理を1バイト!つずらしなが
ら比較しなければならなかった。
従って、文字列(A)のバイト幅に比例して、処理時間
が増加するという問題があった。
本発明は上記従来の欠点に鑑み、縮小命令セット計算機
(RISC)において、例えば、ある文字列(八)の中
に、より短い文字列(B)があるか否かの判定を高速に
行うことができる条件コード発生方式を提供することを
目的とするものである。
〔課題を解決するための手段〕
上記の問題点は下記の如くに構成された条件コード発生
方式によって解決される。
データ処理装置の算術論理演算器の出力に対して、バイ
ト単位の複数個のゼロ条件ビ,トと,これらの条件ビノ
トの論理和と論理積の条件ビットを含む条件レノスタを
設け、 該条件レジスタの各バイト単位のゼロ条件ビ,トを、上
記算術論理演算器(1)出力のバイト単位の全ゼロ検出
信号■によってセットし、上記ハイl・単位の複数個の
全ゼロ検出信号の論理和と論理積の信号■,■によって
、上記条件レシスタの上記論理和と論理積の条件ビ,ト
をセ,トするように購成する。
〔作用〕
即ち、本発明によれば、縮小命令セット計算機(RIS
C)において、例えば、前述の第2図(b)に示したよ
うな、ある文字列(八)中に存在する、ある文字列(B
)、例えば、終端文字等があるかどうかを検出するのに
、文字列(八)から、先ず、演算器の持っているデータ
幅である4バイトの文字列を取り出し、その中のどこか
に、文字列(B)があるかどうかを、該文字列(B)の
先頭バイトを、4バイト幅の各バイトに転送したものと
、上記文字列(A)の4バイトとを、上記演算器による
4バイト幅の比較で行い、本発明のバイト単位のゼロ条
件ビノトを論理和して、条件レジスタの該当ビットに設
定する回路で検出する。
若し、ここで、該文字列(A)の4バイト中に、文字列
(B)の先頭バイトが存在することが検出されると、該
条件レジスタ中に設定されている該バイト単位のゼロ条
件ビットの位置によって、どのバイトから、該文字列(
B)が存在しているかどうかを認識することかできる。
若し、該文字列(B)が1バイトであると、上記4バイ
ト単位の一度の比較処理で、該文字列(B)を検出する
ことができる。
若し、該文字列(B)が、例えば、上記のように、3バ
イトであるとすると、その認識された位置から、該文字
列(B)のバイト数、即ち、3バイトを取り出し、文字
列(B)と比較することで、即、該文字列(B)を検出
することができる。{第1図(b1)〜(b3)参照} ここで、該文字列(B)と一致しなかった場合には、次
の4バイトを取り出して上記と同しことを繰り返せばよ
い。
このように、本発明による条件コード検出方式において
は、条件レジスタに、通常の演算器幅のゼロ条件検出ヒ
ントの他に、バイト単位のゼロ条件検出信号のそれぞれ
を設定するビノトと、それぞれの論理和を設定するビノ
トとを持っているので、文字列(A)中ムこ、それより
、短い文字列(B)があるか否かを検出する場合に、ほ
一、4バイト単位の処理で検出でき、従来方式に比較し
て、約4倍の高速化ができる効果がある。
[実施例] 以下本発明の実施例を図面によって詳述する。
第1図は本発明の一実施例を示した図であって、(a)
は構成例を示し、(bl) 〜(b3)は文字列(A)
中の文字列(B)を検出する場合の処理例を模式的に示
しており、演算器1の出力のバイト単位のゼロ条件ビン
トと,それらのゼロ条件ビットの論理和の条件ビットを
条件レジスタの対応ビットに設定する手段が本発明を実
施するのに必要な手段である。尚、全図を通して同し符
号は同じ対象物を示している。
以下、第2図(b)(2)の文字列(A) , (B)
を参照しながら、第1図によって、本発明の条件コード
発生方式を説明する。
本発明においては、第1図(a)に示されている如くに
、例えば、演算器1の出力のバイト単位の全ゼロ検出信
号■の論理積をとったものを,条件レジスタ2の該当ビ
ットに設定して、演算器lのデータ長の全ゼロを検出す
る従来の機構に加えて、上記各バイト単位の全ゼロ検出
信号■をバイト単位に該条件レジスタ2の該当ビノトに
セントする手段と、該バイト単位の全ゼロ検出信号■の
論理和をとった信号■で、該条件レジスタ2の該当ビッ
トにセットする手段が設けられている。
従って、該演算器1の出力のバイト単位の複数個のゼロ
条件の検出と、その論理和条件の検出を行うことができ
る。
このような機能を備えた条件コード発生回路{第1図(
a)}で、前述の第2図(b)(2)に示したような、
文字列(A)中に含まれている文字列(B)、例えば、
終端文字等を検出する場合の動作を、第1図(b1)〜
(b3)の模式図で説明する。
先ず、(b1)図に示したように、文字列(八)から4
バイトを抽出して、演算器lの一方に入力する。
続いて、文字列(B)が、例えば、図示されているよう
に、3バイトで構成されているとすると、その先頭の1
バイトを抽出し、且つ、該1バイトを、上記演算器1の
データ幅の各バイトに充填して演算器1の他方に入力す
る。
ここで、比較命令を実行すると、文字列(A)の各バイ
ト(゛も゛,゜じ゛,“れ゛,“つ”)と、文字列(B
)の先頭バイト(゛お゛)とが比較され、該文字列(^
)中のどこかのバイトに、文字列(B)の上記先頭バイ
トが存在すると、該演算器1の出力のバイト単位の全ゼ
ロ検出信号■が、該当バイト位置から出力され、条件レ
ジスタ2の該当位置にセットされる。
本発明の場合、同時に、その論理和信号■が付勢されて
、条件レジスタの該当ビノトにセットされる。
従って、該論理和信号■がセットされるビ,トを見てい
て、該ビノ1・がセノ卜されたことが認識されたとき、
該文字列(八)から取り出した4バイト中のいずれかの
バイトに、文字列(B)の先頭バイトが存在することに
なるので、該条件レジスタ2の各バイト単位の全ゼロ条
件ビットを見ることにより、いずれのバイトが一致した
かを知ることができる。{第1図(b2) , (b3
)図参照}若し、該文字列(B)が、前述の終端文字の
如くに、1バイトであると、即、該文字列(B)の検出
を完了することができる。
又、該文字列(B)が上記のように3バイトであると、
上記文字列(B)の先頭バイトの存在しているバイト位
置から、3バイト幅の文字列を抽出して、文字列(B)
と、従来方式と同じ該演算器1のデータ幅で比較するこ
とで、該文字列(8)を検出することができる.{第1
図(b3)参照}若し、この検出で、該3バイトが文字
列(B)と一致しなかった場合には、文字列(A)の次
の4バイトを抽出して、上記と同じ操作を繰り返すこと
になり、若干の操作を必要とするが、4バイト単位の比
較処理で文字列(B)を検出できる。
従って、本発明の条件コード発生回路によって、文字列
(A)中の文字列(B)を検出する場合には、従来のよ
うに、文字列(八)を3バイト抽出して、文字列(B)
と比較することを1バイトずらしながら、文字列(A)
のバイト数回実行する必要はなく、4バイト単位の比較
で事足りるので、従来方式に比較して、約4倍の高速化
を図ることができることになる。
尚、第1図(a)に示した条件コード発生回路において
、「その他の条件コード発生部」3から出力される条件
コードには、例えば、特開昭60−14337号公報「
条件コード発生装置」に開示されている、例えば、10
進演算のとき等に使用される4ビット毎のキャリ (桁
上げ)信号等がある。
このように、本発明は、演算器での演算結果の条件コー
ドとして、通常の、該演算器のデータ幅(語)の全ゼロ
条件コードの他に、該データを構成しているバイト毎の
全ゼロ条件コードと、その論理和の条件コードとを設け
て、条件レジスタの該当ビットにセットするようにした
所に特徴がある。
〔発明の効果〕
以上、詳細に説明したように、本発明の条件コード発生
方式は、縮小命令セット計算機(RISC)に適した条
件コード発生させるのに、データ処理装置の算術論理演
算器の出力に対して、バイト単位の複数個のゼロ条件ビ
ットと.これらの条件ビットの論理和と論理積の条件ビ
ットを含む条件レジスタを設け、該条件レジスタの各バ
イト単位のゼロ条件ビットを、上記算術論理演算器出力
のバイト単位の全ゼロ検出信号■によってセントし、上
記バイト単位の複数個の全ゼロ検出信号の論理和と論理
積の信号■,■によって、上記条件レジスタの上記論理
和と論理積の条件ビノトをセントするようにしたもので
あるので、条件レジスタに、連常の演算器幅のゼロ条件
検出ビノトの他に、ハ,イト単位のゼロ条件検出信号の
それぞれを設定するヒットと、それぞれの論理和を設定
するビットとを持っていることから、文字列(A)中に
、それより、短い文字列(B)があるか否かを検出する
場合に、演算器幅が4バイトであれば、ほ\、4バイト
単位て検出でき、従来方式に比較して、約4倍の高速化
かできる。又、演算器幅が8バイトならば、8倍と、演
算器幅に対応して高速化できる効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示した図.第2図は従来の
条件コード発生方式を説明する図,である。 図面において、 1は演算器,      2は条件レジスタ,3はその
他の条件コード発生部, ■はバイト毎の全ゼロ検出信号, ■はバイト毎の全ゼロ検出信号の論理積信号■はバイト
毎の全ゼロ検出信号の論理和信号,A,Bは文字列 をそれぞれ示す。 第 l 図 (その2) 第 l 図 (その3) 第 1 図 (その4) 第 2 図 (その1)

Claims (1)

  1. 【特許請求の範囲】  データ処理装置の算術論理演算器(1)の出力に対し
    て、バイト単位の複数個のゼロ条件ビットと、これらの
    条件ビットの論理和と論理積の条件ビットを含む条件レ
    ジスタ(2)を設け、 該条件レジスタ(2)の各バイト単位のゼロ条件ビット
    を、上記算術論理演算器(1)出力のバイト単位の全ゼ
    ロ検出信号([1])によってセットし、上記バイト単
    位の複数個の全ゼロ検出信号の論理和と論理積の信号(
    [3]、[2])によって、上記条件レジスタ(2)の
    上記論理和と論理積の条件ビットをセットすることを特
    徴とする条件コード発生方式。
JP2011117A 1990-01-19 1990-01-19 条件コード発生方式 Pending JPH03214316A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011117A JPH03214316A (ja) 1990-01-19 1990-01-19 条件コード発生方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011117A JPH03214316A (ja) 1990-01-19 1990-01-19 条件コード発生方式

Publications (1)

Publication Number Publication Date
JPH03214316A true JPH03214316A (ja) 1991-09-19

Family

ID=11769068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011117A Pending JPH03214316A (ja) 1990-01-19 1990-01-19 条件コード発生方式

Country Status (1)

Country Link
JP (1) JPH03214316A (ja)

Similar Documents

Publication Publication Date Title
US5355460A (en) In-memory preprocessor for compounding a sequence of instructions for parallel computer system execution
US6005503A (en) Method for encoding and decoding a list of variable size integers to reduce branch mispredicts
JP4233893B2 (ja) データ処理システムにおける命令のトレーシング
JP2790466B2 (ja) 文字列検索方法及び装置
JPS6312029A (ja) 情報処理装置
JPH0831032B2 (ja) データ処理装置
EP0094535B1 (en) Pipe-line data processing system
US6036350A (en) Method of sorting signed numbers and solving absolute differences using packed instructions
JP2667849B2 (ja) 情報処理装置
JP3004108B2 (ja) 情報処理装置
KR100236533B1 (ko) 배럴 쉬프터와 산술논리 연산기가 연결되어 있는 디지탈 신호 처리기 및 그 오버플로 검출방법
JPH06242953A (ja) データ・プロセッサ
US5276825A (en) Apparatus for quickly determining actual jump addresses by assuming each instruction of a plurality of fetched instructions is a jump instruction
CN109828789A (zh) 加速压缩方法以及加速压缩装置
Holgate et al. An analysis of instruction-fetching strategies in pipelined computers
GB2515867A (en) Searching apparatus utilizing sub-word finite state machines
US20040230775A1 (en) Computer instructions for optimum performance of C-language string functions
JPH0786875B2 (ja) ベクトル処理装置
JPH03214316A (ja) 条件コード発生方式
US5724572A (en) Method and apparatus for processing null terminated character strings
CN109802686A (zh) 加速压缩方法以及加速压缩装置
CN109857463A (zh) 加速压缩方法以及加速压缩装置
JPS6236575B2 (ja)
JPS6327746B2 (ja)
JPH0778723B2 (ja) 情報処理装置