JPH04109337A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH04109337A JPH04109337A JP2231964A JP23196490A JPH04109337A JP H04109337 A JPH04109337 A JP H04109337A JP 2231964 A JP2231964 A JP 2231964A JP 23196490 A JP23196490 A JP 23196490A JP H04109337 A JPH04109337 A JP H04109337A
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- comparison
- instruction
- address
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
- G06F7/026—Magnitude comparison, i.e. determining the relative order of operands based on their numerical value, e.g. window comparator
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
め要約のデータは記録されません。
Description
作を高速で実行可能なデータ処理装置に関する。
は、8ビツト、16ビノト5または32ビツトのデータ
(以下、それぞれのデータをエレメントと称す)を任意
の数だけ連続して並べたデータ(以下、これをストリン
グと称す)の転送、比較検索等の処理を行う。従来のデ
ータ処理装置においてそのような処理を行う場合、エレ
メント単位での転送、比較5検索をストリングの長さに
応した回数だけ反復することによって任意長のストリン
グの転送、比較、検索を実行していた。
の従来例としては、例えばインテル社のr:486TM
PROCESSORPROGRAMMER’ R
EFERENcE門A71UAL 1990 Jの3.
6章に詳しく記載されている。
いて、エレメント単位でのデータの転送、比較、検索を
行う場合、操作の対象となるエレメントii位のデータ
と、命令の終了を指定する比較値とを演′n器で比較す
ることにより命令終了条件を検出している。しかし、エ
レメントのザイズが8ピノl−,16ビソトである場合
、例えば32ビット輻の演算器では残りの24ビツト、
16ビソ)・が比較に使用されず、ストリングの転送、
比較、検索を行う命令の実行に際し”ζ処理速度の高速
化が図れないう問題点があった。
のであり、ストリングを構成する各エレメントのビット
数が演算器のビット幅のたとえば2あるいはAであるよ
うな場合に、ストリングを操作する命令を高速実行し得
るデータ処Pl装置の提供を目的とする。
ドする命令デコーダと、このデコーダに接続されていて
比較の対象となるデータを保持するレジスタと、比較す
るデータを保持するレジスタと、両レジスタに接続され
たたとえば32ビソト幅の演算器と、この演算器による
たとえば各8ビツトのデータの比較結果について論理和
演算と論理積演算とをそれぞれ行う比較’l’JI定回
路と全回路iiiえている。
コードする命令デコーダと、この命令デコーダに接続し
ていて操作の対象となるストリングの先頭アドレスを保
持するアドレスレジスタと、このアドレスレジスタに保
持されているアドレスで指定される複数のデータエレメ
ントにて構成されたデータをデータ入出力回路からフェ
ッチして保持するレジスタと、転送すべきストリングの
データと同数のデータエレメント数にて構成された比較
データを保持するレジスタと、両レジスタに接続された
たとえば32ビ、ト幅の演算器と、この演算器の各8ピ
ントのデータの比較結果の論理和演算を行う比較判定回
路とを備えている。
コードする命令デコーダと、この命令デコーダに接続さ
れていて被比較ストリングのエレメント数を保持するレ
ジスタ(デクリメンタ)と、被比較ストリングの先頭ア
ドレスを保持するアドレスレジスタと、このアドレスレ
ジスタに保持されている71ルスで指定される複数のデ
ータエレメントにて構成されたデータをデータ入出力回
路からフェッチして保持するレジスタと、比較ストリン
グの先頭アドレスを保持するアドレスレジスタと、この
アドレスレジスタのアF゛レスで指定される複数のデー
タニレメンi−からなるデータをデータ入出力回路から
フェッチして保持するレジスタと、両レジスタに接続さ
れた32ビツト輻の演算器と、この演算器の各8ピント
のデータの比較結果とデクリメンタで計算された処理す
べき残りエレメント数とが演算器で一度に比較可能なエ
レメント数以下になった場合に検出される検出信号の論
理和演算を行う比較判定回路と有する。
えば8ビツト毎に検出された4つの比較結果の論理和演
算を比較判定回路で行うことによって各8ビツトのエレ
メントにて構成される4個のデータの比較を並列処理し
、各8ビツトについて検出された4つの比較結果の2つ
ずつの論理積の論理和演算を比較判定回路で行うことに
よって]6ビノhのエレメントにて構成されるデータの
比較動作が2つ並列実行され、また各8ビツト毎に検出
された4つの比較結果の論理積演算を行うことによって
32ビットサイズのエレメントにて構成されるデータの
比較動作が実行される。
エレメントサイズにて構成され、最後のデータエレメン
トのみが比較値と同一であるストリングデータを転送す
る命令を実行する場合、メモリからフェッチされた転送
対象エレメントを4つまたは2つ保持する32ビy I
・のレジスタの値と比較値を保持する32ビツトのレジ
スタの値とをそれぞれの8ビツトまたは16ビノト同士
で比較し、検出された4つまたは2つの比較結果の論理
和演算を比較判定回路で行うことによって、8ビツト1
6ビノトサイズのエレメントにて構成される転送対象デ
ータの最後のデータエレメントの検索13作が並列に実
行され、−度に4つまたは2つのエレメントを同時に処
理する動作が反復されてス[・リングデータが転送され
る。
メントサイズにて構成される2つのストリングデータを
比較する命令を実行する場合、操作対象エレメントの数
をデクリメンタに保持し、メモリからフェッチされた2
つの比較対象ストリングをそれぞれ8ビツトサイズであ
れば4つまたは16ビノトサイズであれば2つ保持する
32ビットの2つのレジスタのイ直を各8ビツトまたは
16ビソト同士で比較し、この比較結果とデクリメンタ
の値とが演算器で比較可能なエレメント数以下になった
時点で検出される検出信号との論理和演算を比較判定回
路で行うことにより、−度に複数のニレメンI・の比較
を並列に行う処理が反復されてストリングデータの比較
処理が行われる。
る。
演算、シフト、論理演算等の命令を実行する他、ストリ
ング操作命令と称される4種類の命令を実行することが
可能である。
トのデータを任意の数だけ連続して並べたデータのクイ
ブである。ストリング操作命令には、ストリングの転送
を行う5M0V命令、ストリングの比較を行うSCMP
命令、ストリングの中から特定の条件を満たず要素を捜
しだすS S CH命令、予め指定された値をストリン
グの要素として繰返し書込みを行う5STR命令等があ
る。
て各1文字が表される文字列を処理する他、特定のビッ
トパターンのサーチ、メモリのブロック転送、構造体の
代入、メモリ領域のクリア等にも使用される。操作の対
象となるストリングの範囲を示す方法には、以下の2通
りの方法がある。
る方法 本発明のデータ処理装置ではストリング操作に際しては
エレメント数がパラメータとなっており、更に割出し条
件という形でターミネータあるいは命令の終了条件を与
えることができる。また、ストリング命令の割出し条件
として大小比較及び2値比較を含む豊富な割出し条件が
指定可能に構成されている。これらのストリング命令の
内の5M0V命令、 SCMP命令及び5S(Jl命令
は、所定のエレメント数を対象とした一回の転送、比較
、検索が終了する都度、次に操作されるべき全エレメン
トについてエレメント値と比較値とが比較されて割出し
条件がチヱソクされる。全てのエレメントで割出し条件
が成立しなかった場合は、所定のエレメント数だけ転送
、比較、検索が行われる。
命令とを例にとり、その処理方法を説明する。また、ス
)・リング命令の割出し条件として、2埴比較の条件を
指定した場合について説明する。
CM 11命令のオペレーションコードをそれぞれ表
した模式図である。
れている2ビツトはエレメントサイズとυ]出し条件の
比較値のサイズとを指定し、SX =”OO”であれば
8ビツトを、SX−“01″であれば16ビノトを、“
s×−10″であれぽ32ビツトをそれぞれ指定する。
である場合にはストリング操作の処理をアドレスの増加
方向へ進めることを指定し、“b”−”1”である場合
にはストリング操作の処理をアドレスの減少方向へ進め
ることを指定する。
な比較割出し条件を指定する。“eeee”の4ビット
により指定可能な条件とそのピッ1−パターンとを第1
7図に示す。
小関係2等/不等関係及び条件無しである。
ック図である。
と、命令フェンチ部1.命令デコート部2、PC計算部
3.オペランドアドレス計算部4゜マイクロROM部5
.データ演算部6.外部バスインクフェイス部7に分か
れる。
アドレス出力回路8と、CPU外部とデータを入出力す
るデータ入出力回路9とを他の機能ブロック部と分けて
示しである。
その制御部等があり、次にフェッチすべき命令のアドレ
スを決定して命令キャッシュあるいはCPU外部のメモ
リから命令をフェッチする。
も行う。
されるべき命令のアドレスとして専用のカウンタにおい
て計算される。分岐、ジャンプが発生した場合には、新
たな命令のアドレスがPC計算部3またはデータ演算部
6から転送されてくる。
ェッチする場合は、フェッチすべき命令のアドレスを外
部バスインタフェイス部7を通じてアドレス出力回路8
からCPU外部へ出力し、データ入出力回路9から命令
コードをフェッチする。
で次にデコードすべき命令コードが命令デコード部2へ
出力される。
ド)単位で命令コードをデコードする。
オペレーションコードをデコードするFHW(Firs
t t(air Word)デコーダ、第2及び第3ハ
ーフワードに含まれるオペレーションコードをデコード
するNFI(W(Not First Half Wo
rd)デコーダアドレッシングモードをデコードするア
ドレソンングモードデコーダが含まれる。
出力を更にデコートしてマイクロROMのエン)・リア
ト゛レスを計算する第2デコーダ、条件分岐命令の分岐
予測を行う分岐予測機構1オペランドアドレス計算に際
してパイプラインコンフリクトをチエツクするアドレス
計算コンフリクトチエ、り機構も含まれる。
令コードを2クロツクにつき0乃至6ハイトの割合でデ
コードする。デコード結果の内、データ演算部6での演
算に関係する情報がマイクロROM部5へ、オペランド
アドレス計算に関係する情報がオペランドアドレス計算
部4へ、PC計算に関係する情報がpc計算部3へそれ
ぞれ出力される。
マイクロプログラムが格納されているマイクロROM、
マイクロシーケンザ、マイクロ命令デコーダ等が含
まれる。
1度読出される。マイクロシーケンサはマイクロプログ
ラムにより示されるンーケンス処理の他に、例外1割込
及びトラップ(この3つを併せてEITと称す)の処理
をハードウェア的に受付ける。また、マイクロROM部
5はストアバソファの管理も行う。マイクロROM部1
部5には命令コードに依存しない割込み、演算実行結果
によるフラッグ情報と、第2デコーダの出力等の命令デ
コード部2の出力とが入力される。マイクロデコーダの
出力は主にデータ演算部6へ出力されるが、ジャンプ命
令の実行の際の他の先行処理中止情報等の一部の情報は
他のブロックへも出力される。
ドアドレス計算部4は、命令デコード部2のアドレス出
力回路等から出力されたオペランドアドレス計算に関係
する情報によりハードワイヤードに制御される。
レス計算に関するほとんどの処理が行われる。メモリ間
接アドレッシングのためのメモリアクセスのアドレスあ
るいはオペランドアドレスがメモリにマツプされたI
/ O領域に入るか否かのチエツクも行われる。
外部バスインクフヱイス部7へ送られる。
計算に必要な汎用レジスタ及びプログラムカウンタの値
はデータ演算部6から人力される。
グを行う場合は、参照すべきメモリアドレスを外部バス
インクフェイス部7を通じてアドレス出力回路8からC
PU外部へ出力し、データ入出力部9から入力された間
接アドレス値を命令デコード部2をそのまま1lilJ
させてフェッチする。
算に関係する情報でハードワイヤードに制御され、命令
のPC(直を計算する。
り、命令をデコードした後でないとその命令の長さが判
明しない。このため、PC計算部3は命令デコード部2
から出力される命令長をデッド中の命令のPC(iに加
算することにより、次の命令のPC値を生成する。また
、命令デコード部2が分岐命令をデコードしてデコード
段階での分岐を指示した場合は、命令長の代わりに分岐
変位を分岐命令のpc値に加算することにより分岐先命
令のPC(直を計算する。
本発明のデータ処理装置ではブリブランチと称する。
号公報及び特開昭63−55639号公報Gこおいて詳
しく述べられている。
デコード結果と共に出力される他、ブリブランチ時には
次にデコードすべき命令のアドレスとして命令フェッチ
部1へ出力され、更に次に命令デコード部2でデコード
される命令の分岐予測のためのアドレスにも使用される
。
公報において詳しく述べられている。
れ、マイクロROM部5が出力する情報に従って各命令
の機能を実現するために必要な演算をレジスタと演算器
とで実行する。
場合には、データ演算部6はオペランドアドレス計算部
4で計算されたアドレスまたは即値を外部バスインタフ
ェイス部7を通じて得る。
にあるデータである場合には、データ演算部6はアドレ
ス計算部4で計算されたアドレスをバスインクフェイス
部7にアドレス出力回路8がら出力させ、これに応して
CPU外部のメモリがらフJ−7チしたオペランドをデ
ータ入出力回路9がら得る。
ルシフタ1 プライオリティエンコーダ、カウンタ、ソ
フトレジスタ等が備えられている。レジスタと主な演算
器との間は3ハスで結合されており、1つのレジスタ間
演算を指示する1マイクロ命令は2クロツクサイクルで
処理される。
モリをアクセスする必要がある場合は、マイクロプログ
ラムの指示により外部ハスインクフェイス部7を通じて
アドレス出力回路8がらアドレスをCPU外部へ出力さ
せることにより、データ入出力回路9を通じて目的のデ
ータをフェッチする。
タ64算部6は外部バスインクフェイス部7を通じてア
ドレス出力回路8がらアドレスを出力すると同時にデー
タ入出力回路9がらデータをCPII外部へ出力する。
は4ハイドのストアバッファを有している。
命令アドレスをデータ演算部6が得た場合は、これを命
令フェッチ部1とPC計算部3とへ出力する。
インタフェイス部7は本発明のデータ処理装置の外部バ
スでの通信を制御する。メモリのアクセスは全てクロッ
ク同期で行われ、最小2クロックサイクルで行うことが
できる。
ドレス計算部4.データ演算部6がらそれぞれ独立して
発生する。外部バスインクフェイス部7はこれらのメモ
リアクセス要求を調停する。
る32ビツト(lワード)の整置境界を跨ぐメモリ番地
にあるデータのアクセスは、この外部バスインクフェイ
ス部7内で自動的にワード境界を跨くことを検知して2
回のメモリアクセスに分解して行う。
ドとが重なる場合のコンフリクト防止処理及びストアオ
ペランドがらフェッチオペランドヘノバイパス処理もこ
の外部バスイ7り’)エイス部7において処理される。
構成」 第2図は、本発明のデータ処理装置のストリング命令の
実行に必要な要部の構成を示すブロック図である。まず
その構成について説明する。
、それぞれSlハス、 S2ハス、DOババス称される
。
すべきアドレスを七)卜する32ビツトのメモリアドレ
スレジスタであり、13はAAIレジスタと称され、1
4はAA2レジスタと称される。両レジスタ1.3.1
4へのアドレスの入出力はそれぞれS1ハス10を介し
て行われる。また、メモリアドレスレジスタ1.3.1
4にはカウント値指定しノスタ1.5.16がそれぞれ
備えられており、′ド、°ト、“3”または“4”のイ
ンクリメント及びデクリメントが可能である。
ファイルであり、ROレジスタからIt(It−1)レ
ジスタGこて構成されている。各レジスタ110. R
1・・・は110バス12からの入力経路と、S1バス
10及びS2バス11への出力経路とを(ANえている
。
19 とは共に33ビツト (32ビット+lピノl−
の拡張ビット)のレジスタであり、S1ハス10とS2
ハス11とからの入力経路及びALυ22への出力経路
とを有する。両A1..lIレジスク18.19はサイ
ズ、符号に応じて入力データを33ビットデータに符号
拡張または0拡張する。
ジスタ(B)19とから送られてくるデータ間の加減算
及び論理演算を実行し、結果をSレジスタ27へ出力す
る。
一致を検出し、結果をストリング比較結果1゛す足回路
23へ出力する。
路とDOババス2及びA1.U22への出力経路とを有
する。デクリメンタ20は32ビツト輻のレジスタであ
り、−度に“ビ、”2″、′3”または“4″だけデク
リメントするカウント値指定レジスタ21と、自身の値
が“0′になった場合に“1″がセソl□されるゼロフ
ラグ部26とを備えている。
メモリデータレジスタ(2)であり、共に外部メモリへ
書込むデータあるいは外部メモリから続出されたデータ
を格納するためのレジスタである。両しジスク25.2
8はDOババス2からの入力経路とS1バス10及びS
2バス11への出力経路とをそれぞれ備えている。
路である。メモリをアクセスする際には必ず整置回路2
4を通じて行われる。
2で比較された比較結果とデクリメンタ20の値と、ス
トリング比較結果保持レジスタ29の値とから、2つの
データに対して一致、不一致を検出してストリング命令
の実行を終了するか否かを決定する。
20の値を更新するカウント値指定レジスタ21の値と
、メモリアドレスレジスタ13.14の値を更新するカ
ウント値指定レジスタ15.16の値とをセットする。
スタ29に書込み、デスティネーション側に書込むソー
スデータのデータサイズを整置回路24へ出力する。
実行時に比較の対象となる第1のソースデータと比較値
との比較結果をストリング比較結果判定回路23から入
力して保持し、第1のソースデータと第2のソースデー
タとを比較する際に再びストリング比較結果判定回路2
3へ比較結果を出力する。
プログラム制御方式で行っている。
可能なオペレーションの定義内容を示す。
いて説明する。
定する。^LU22は、ALUレジスタ(A)18また
はA L [、ルジスタ(B)19にオペラン1′を取
込む際に符号拡張/ゼロ拡張を行う。
する。本発明のデータ処理装置に使用されているALU
22は加算器を基本とした算術演算回路に論理積、論理
和などの論理演算回路の機能を有しており、AOPフィ
ールドの指定により加算、減算、論理積、論理和及び比
較の各演算を行う。
Uレジスタ(A) +8とALUレジスタ(B)19と
の入力制御′nを指定する。具体的には、S1バス10
またはS2バス11)から入力したデータをそのままA
LU22へ転送する。 Slバス10またはS2ハス1
1から入力したデータを反転してALU22へ転送する
。 ALUレジスタ(AN8またはALUレジスタ(
B)19をクリアするデータ入力を行わないのいずれか
の処理が可能である。
Uレジスク(AH8にオペランドを取込む際に、符号/
ゼロ拡張を行うサイズをワード(32ビツト)、 ハー
フワード(16ビノ)−)4 ハイド(8ビツト)のい
ずれかで指定する。
ALUレジスタ(B) +9にオペランドを取込む際に
、符号/ゼロ拡張を行うサイズをワード、ハーフワード
、ハイドのいずれかで指定する。
れへ出力するか、またいずれのレジスタからり。
果をALII22へ戻す、Sレジスタ27の内容をDO
ハス12へ出力する。 ALII22からDOハス1
2への出力を禁止するのいずれかが指定可能である。
LU22のファンクションを、ALU制1ffll関係
の各マイクロフィールドで指定可能なオペレーノヨンの
組合せで定義した一覧表である。
算を、マイクロプログラムの制御により各ファンクショ
ンを組合せることにより処理する。
L122の構成を示すブロック図である。
、加算器を基本とした算術演算回路に論理積論理和等を
行うための論理演算回路の機能を併せ持っている。
の各1ビツト回路を示している。これらの各1ビツト回
路Boo−831はそれぞれALUレジスタ(^)+8
からの人力経路IA00−1八31と、A1.lIレジ
スタ(809からの入力経路IBOO〜1831と、演
算結果をSレジスタ27へ出力する経路oOO〜031
とを有している。
れる入力経路30と、演算結果がオーバフローまたはア
ンダーフローした場合にセットされる■フラグ、負にな
った場合にセットされるLフラグ、加減算の桁上がり1
桁下がりを示すXフラグ等を生成するための出力経路3
1も有している。更に、本実施例のALL122は4ビ
ツト毎にCLA (Carry Looktl e a
d ) C1〜C4を有していて演算の高速化を図っ
ている。
1ビツト毎に排他的論理和をとった値の反転信号を入力
とするNAlIDゲート41〜48と、その出力信号を
人力とするNORゲー)51〜54と、その出力信号を
人力とするインバータ61〜64とを備えており、各N
ORゲー)・51〜54の出カフ1〜74と各インバー
タ61〜64の出力81〜84とをストリング比較結果
判定回路へ出力する経路を有する。
イド目のデータが一致した事を、NORゲート52の出
力信月72が“1”であれば2バイト目のデータが一致
した事を、NORゲート53の出力信号73が“ビであ
れば3バイト目のデータが一致した事を、NORゲート
54の出力信号74が°1”であれば4ハイド目のデー
タが一致した事をそれぞれ示す。
目のデータが不一致した事を、インバータ62の出力信
号82が“1”であれば2バイト目のデータが不一致し
た事を、インバータ63の出力信号83が“l”であれ
ば3バイト目のデータが不一致した事を、インバータ8
4の出力信号が“1”であれば4ハイド目のデータが不
一致した事をそれぞれ示す。
図はALII22. ストリング比較結果創定回路2
3、カウント値指定しノスタ15.1.6及び21.整
置回路24.デクリメンタ20.比較結果保持レジスフ
29の接続関係の詳細を示したブロック圓である。
が一致した場合に“1“になるNORゲート51〜54
の出力信号71〜74と不一致した時に“ビになるイン
バータ61〜64の出力信号81〜84とにて構成され
る8ビツトの信号92をストリング比較結果判定回路2
3へ出力している。
合にその値を示ず2ビツトの信号93をストリング比較
結果判定回路23へ出力している。
ジスタ29からの入力経路97を有している。
較結果とデクリメンタ20の値とから比較値のデータサ
イズに応してデクリメンタ20の値を更新するためのカ
ウント値指定レジスタ21の値をセットする2ビットの
信号94と、アドレスレジスタ13.14の値を更新す
るためのカウント値指定レジスタ1516の値をセット
する経路95と、デスティ7−ンヨン側に書込むソース
データのデータサイズを示ず2ビツトの信号を整置回路
24へ出力する経路96と、比較結果を比較結果保持レ
ジスタ29にセットする経路98とを有している。
出力された1バイト毎の比較結果の論理和演算を行うこ
とにより、8ピノまたは16ビソ1−のエレメントサイ
ズで構成されるストリングデータの比較動作を並列に行
い、更に各1バイトの比較結果を論理積演算することに
より、32ビットのエレメントサイズで構成されるスト
リングデータの比較動作を行う。ストリング比較結果判
定回路23が各カウント値指定レジスタ15.16.2
1へ出力する2ビットの信号95.94は、”00”=
1.“01”=2.”10”−3“11″・4のカウン
タ稙のセノ]・をそれぞれ指定する。
、“002で1ハイド“Oビで2バイト、“10”で3
ハイド“1どで4バイトのデータ幅をそれぞれ指定する
。
的に説明する。
命令の種類とタイミングにより以下の三通りに分かれる
。
クリメンタ20の値とから実行命令を終了するか否かを
決定し、カウント値指定レジスタ15.1621の値と
整置回路24へ出力するデータサイズの値とをセットす
る場合である。
較値とを比較するサイクルにおいて、ALII22の比
較結果のみから比較結果を比較保持レジスタ29にセン
トする場合である。
2のソースデータとを比較するサイクルにおいて、比較
結果保持レジスタ29の値と、ALII22の比較結果
と、デクリメンタ20の値とから実行命令を終了するか
否かを決定し、カウント値指定レジスタ15.16.2
1の値をセントする場合である。
定回路23がALU22の比較結果とデクリメンタ20
の値とから、実行命令を終了するか否かを決定し、カウ
ント値指定レジスタ15.1.6.21の値と整置回路
24へ出力するデータサイズの値とをセットする場合に
ついて説明する。
比較結果からカウント値指定レジスタ15.16.21
にセットする値と、整置回路24へ出力するデータ幅の
値とを示す模式図であり、比較値のデータサイズが8ビ
ツト、16ビツト、32ビツトの場合をそれぞれ示して
いる。
8ビツト(1バイト)である場合について説明する。
A(0ニア)で比較結果が一致すれば、カラン]・値指
定レジスタ15.16.21の値はいずれも“1″にセ
ントされ、整置回路24へ出力されるデータ幅の埴は1
バイ]・になる。ソーステ゛−夕の第2ハイド八(8:
15)で比較結果が一致すれば、カウント値指定レジス
タ15.16.21のイ直はいずれも2′にセットされ
、整置回路24へ出力されるデータ幅の値は2ハイドに
なる。ソースデータの第3バイトA(16:23)で比
較結果が一致すれば、カウント値指定レジスタl516
、21のイ直はいずれも”3”にセットされ、整置回路
24へ出力されるデータ幅の値は3ハイドになる。
が一致すれば、カウンl−値指定レジスタ15.16.
21の値はいずれも“4”にセットされ、整置回路24
へ出力されるデータ幅の値は4バイトとなる。
ウント値指定レジスタ15.16.21の値はいずれも
“4″にセットされ、整置回路24へ出力されるデータ
幅の値は4ハイドとなる。
(8:15)で共に比較結果が一致すれば、1バイト目
の比較結果が優先されてカウント値指定レジスタ1.5
.1.6.21のイ直はいずれも“1”にセットされ、
整置回路24へ出力されるデータ幅の値は1ハイドとな
る。この場合、常にアドレスの小さいソースデータでの
比較結果が優先される。更に、カラントイ色指定レジス
タ21に十ノドする七ノド(直よりもデクリメンタ20
の値が小さければ、デクリメンタ20の値がカウント値
指定レジスタ1.5.16.21の値になる。
2バイトである場合について説明する。
:15)で比較結果が一致すれば、カウント値指定レジ
スタ21の埴は“1”に、カウント値指定レジスタ15
、16の値は“2″にそれぞれセントされ、整置回路2
4へ出力されるデータ幅の値は2バイトになる。
較結果が一致すれば、カウント値指定レジスタ21の値
は“2”に、カウント値指定レジスタ15.16の値は
“4″にそれぞれセットされ、整置回路24へ出力され
るデータ幅の値は4ハイドになる。
ウント値指定レジスタ21の値は“2″に、カランI・
値指定しジスク15.16の値は“4″にそれぞれセッ
トされ、整置回路24へ出力されるデータ幅の値は4ハ
イドになる。
と第3.第4パイ)A(1,6:31)とで共に比較結
果が−tずれば、常にアドレスの小さいソースデータが
優先されてカウント値指定レジスタ21の値は°1”に
、カウント値指定レジスタ15.16の値は”2”にそ
れぞれセットされ、整置回路24へ出力されるデータ幅
の(直は2バイトになる。
スデータの第3.第4ぽいバイトA(16:31)で比
較結果が一致するか、もしくはALU22での比較結果
がすべて不一致した場合でも、カウント値指定レジスタ
21の値は“1″に、カウント値指定レジスタ15.1
6の値は強制的に“2”にそれぞれセットされ、整置回
路24へ出力されるデータ幅の値は2バイトになる。
が4バイトである場合について説明する。
値指定レジスタ21の値はドに、カウント(色指定レジ
スタ15.16の(直は“4”にそれぞれセットされ、
整置回路24へ出力されるデータ幅の値は4ハイドにな
る。
行時の第1のソースデータと比較値とを比較するサイク
ルにおいて、ALU22の比較結果から比較結果保持レ
ジスタ29にセットする値と、第1のソースデータと第
2のソースデータとを比較するサイクルにおいて、^L
U22での比較結果とデクリメンタ20の値と比較結果
保持レジスタ29の値とからカウント値指定レジスタ1
5.16.21にセントする値とを示した模式図であり
、比較値のデータサイズが8.1632ビツトの場合を
それぞれ示している。
8ビツト (1バイト)である場合について説明する。
るサイクルにおいて、第1のソースデータの第】ハイ)
A(0ニア)で比較結果が一致すれば比較結果保持レジ
スタ29は“1″に、第1のソースデータの第2ハイ)
A(8:1.5)で比較結果が一致すれば比較結果保持
レジスタ29は2”に、第1のソースデータの第3ハイ
ドA(16:23)で比較結果が一致すれば比軸結果保
持しジスク29は“3”に、第1のソースデータの第4
ハイ) A (24:31)で比較結果が一致すれば比
較結果保持レジスタ29は“4”にそれぞれセットされ
る。
ア)、 A(8:15)で共に比較結果が一致すれば
、1ハイド目の比較結果が優先されて比較結果保持レジ
スタ29の値は“ドにセントされる。この場合、常にア
ドレスの小さいソースデータでの比較結果が優先される
。
較するサイクルにおいて、第1のソースデータの第1ハ
イド^(04)で比較結果が不一致すればカウント値指
定しジスク15.16.21の値はいずれも”ビにセッ
トされ、第1のソースデータの第2バイt−A(8:1
5)で比較結果が不一致すればカラントイ色指定レジス
タ15.16.21のイ直はいずれも“どにセットされ
、第1のソースデータの第3ハイl−A(16:23>
で比較結果が不一致ずればカウント値指定レジスタ15
.16.21の植はいずれも“3”にセットされ、第1
のソースデータの第4ハイド^(24:31)で比較結
果が不一致ずればカウンI−値指定レジスタ15.16
.21の(直は”4″いずれもにセ。
指定レジスタ15.16.21の値はいずれも“4″に
セントされる。
ア)、 A(8:15)で共に比φ;結果が不一致す
れば、1バイト目の比較結果が優先されてカウント値指
定レジスタ+5.16.21の値はいずれも“ビに七ソ
卜される。この場合、常にアドレスの小さいソースデー
タでの比較結果が優先される。但し、カウント値指定し
ジスク15.16.21にセットされる値力く、デクリ
メンタ20の(直または第1のソースデータと比較値と
の比較結果を保持する比較結果保持レジスタ29の値の
いずれかよりも大きい場合は、デクリメンタ20の値か
第1のソースデータと比較値との比較結果とを保持する
比較結果保持レジスタ29の内のいずれか小さい値がカ
ウント値指定レジスタ+5.16.21の値とされる。
バイトである場合について説明する。
いて、第1のソースデータの第1.第2バイトA(0:
15)で比較結果が一致すれば比較結果保持レジスタ2
9は“1”に、第1のソースデータの第3.第4パイ)
A(16:31)で比較結果が一致すれば比較結果保持
レジスタ29は“2″にそれぞれセットされる。
15) と第3.第4バイトA(16:31)とで共
に比較結果が一致すれば1バイト目の比較結果が優先さ
れて比較結果保持レジスタ29の値は“ドにセントされ
る。この場合、常にアドレスの小さいソースデータでの
比較結果が優先される。
較するサイクルにおいて、第1のソースデータの第1.
第2パイ)A(0:15)で比較結果が不一致すればカ
ウント値指定レジスタ15.16.21の(直はいずれ
も“1”にセットされ、第1のソースデータの第3.第
4パイ)A(1,6:31)で比較結果が不一致すれば
カウント値指定レジスタ15.16.21の値はいずれ
も“2″にセットされる。
値指定レジスタ15.16.21の値はいずれも“2”
にセットされる。
15) と第3.第4バイトA(16: 31) と
で比較結果が共に不一致すれば、常にアドレスの小さい
ソースデータが優先されてカウント値指定しジスク15
.16.21の(直はいずれも“げにセットされる。
トされる値が、デクリメンタ20の値か第1のソースデ
ータと比較値との比較結果を保持する比較結果保持レジ
スタ29の値のいずれかよりも大きい場合は、デクリメ
ンタ20の値か第1のソースデータと比較値との比較結
果を保持する比較結果保持レジスタ29の値の内のいず
れか小さい値がカウント値指定レジスタ15.16.2
1の値となる。
が4バイトである場合について説明する。
いて、第1のソースデータと比較値との比較結果が一致
すれば比較結果保持レジスタ29は“ドにセットされる
。
較するサイクルにおいて、第1のソースデータA(0:
31)で比較結果が不一致すれば、カウント値指定レジ
スタ15.16.21の値はいずれも“1”にセットさ
れる。
を制御するために用いられるクロック化ぢのタイミング
チャートである。
−重復の4相クロツクであり、クロックI”HAの立」
二がりからりlコックI’llA次のの立上がりまでの
期間が1サイクルである。
に従って以下のように制御される。
1″の期間に有効となり、DOハス12はクロックPI
IDが“l”の期間に有効となる。また、AL[I22
.メモリアドレスレジスタ13及び14.デクリメンタ
20のカウント機能は、クロックPHB及びPHCが”
1”の期間に動作するように構成されており、1サイク
ルで1回の演算が行われる。具体的には、クロックPI
IAが“1″の期間にデータがS1バス10. S2バ
ス11へ出力され、それが各演算回路に取込まれ、クロ
ックPHB、 PHCが“1”の期間に演算が行われる
。演算結果は、クロックPIInが“1”の期間にDO
ババス2へ出力され、レジスタに取込まれる。
イトで動作する場合には1サイクルで行われる。データ
のメモリへの書込み1メモリからの読出しは以下のよう
に行われる。
ルで外部メモリからデータが続出され、次のサイクルの
クロックP)IAが“1″の期間にはメモリデータレジ
スタを介してS1バス10またははS2バス11に供給
することができる。データをメモリに書込む場合には、
クロックPI(Dが“1“の期間にデータがメモリデー
タレジスタに書込まれれば、そのデータは次のサイクル
中にメモリに書込まれる。
る。
のROレジスタ、 R1レジスタ、 R2レジスタ、
R3レジスタに格納される。 ROレジスタにはソース
側ストリングの先頭アドレス(ソースアドレス)が、旧
レジスタにはデスティネーション側の先頭アドレス(デ
スティネーションアドレス)が、R2レジスタにはスト
リングの長さを表すエレメント数が、R3レジスタには
比較割出し条件の比較値がそれぞれセントされる。
行時に、Doハス12からR3レジスタに比較値をセッ
トする際のR3レジスタの動作を説明する模式図である
。
)がl13レジスタのR3(0ニア)、 R3(8:1
5)、 R3(16:23) R3(24:31)に
それぞれセントされる。
ビ・71・である場合、00バスエ2のデータDO(1
6:31)がR3レジスタのR3(0:15)、 R3
(16:31)にそれぞれセットされる。
ビツトである場合、DOハス12のデータDO(0:3
1)がR3レジスタのR3(0:31)にセットされる
。
図である。
エレメント数とに対して、メモリから読出したソスデー
タと比較割出し条件の比較値とを比較し、デスティイ・
−ジョンへの書込みを行う。−回の転送が終わる都度、
ソースデータとR3レジスタに格納された比較値とが比
較され、割出し条件のチエツクが行われる。割出し条件
が成立した場合、命令はその時点以後の処理を行わずに
終了する。全てのエレメントで割出し条件が成立しなか
った場合は、R2レジスタに格納されたエレメント数だ
けデータが転送される。
るソースデータとデスティネーションデータとは全て3
2ビツト (ワード)の整置境界」−にあるデータに限
定する。操作の対象となるデータが32ビツト(ワード
)の整置境界を跨く場合は、ハスインタフェース部7の
メモリに対するアクセス回数が増えるため、読出したデ
ータと書込りべきデータとに対してデータのシフ[−動
作と連結動作とを行ってデータを整置する必要があるが
、その処理方法については、特願昭64−88837℃
に詳しく述べられている。
データ処理装置において1つのエレメントが8ビツトで
構成される40ビット(5ワード)サイズのストリング
データを5M0V命令でアドレスの増加方向へ処理する
動作を、第13図のフローチャー1・を参照して説明す
る。
レメントのみが比較値と同一であるものとする。また、
エレメント数を“10”とする。なお、ソースデータの
アトルスを“m′、デスティネーションデータのアドレ
スを“n″とし、ROレジスタとR1レジスタとにそれ
ぞれセットされているものとする。また、ストリングの
長さを表すエレメント数がR2レジスタに、割出し条件
の比較値がR3レジスタにそれぞれ七ソl□されている
ものとする。更に、比較条件はソースデータと比較値と
が等しい場合に成立するものとする。
レメント数)がデクリメンタ20にセットされ、ROレ
ジスタの内容(ソースアドレス)がAA2レジスタ (
メモリアドレスレジスタ)14にセットされる。
デスティネーションアドレス)力<AA ルジスタ(メ
モリアドレスレジスタ)13にセットされ、AA2レジ
スタ14に格納されているソースアドレスに従ってソー
スデータが外部メモリからワードのデータサイズで読込
まれ、メモリデータレジスタ25に格納される。
5の内容(ソースデータ)とR3レジスタの内容(1ヒ
較値)とがALII22により比較される。AL[12
2は8ビット単位でデータを比較し、比較結果をストリ
ング比較結果判定回路23へ出力する。操作の対象とな
っているストリングデータは、5ハイド目のみが比較値
と同一であるので、4バイト目までのデータ比較では一
致が検出されない。ストリング比較結果判定回V!I2
3は、^LU22での比較結果とデクリメンタ20の値
とから、次のサイクルでデクリメンタ20の値を更新す
るカウント値指定レジスタ21の値“4”と、ソースア
ドレスとデスティネーションアドレスとを更新するカウ
ント値指定レジスタ15.16の値14”とをセットし
、デスティネーションにデータを書込む際のデータサイ
ズの情報“4″を整置回路24へ出力する。
“4”だけデクリメントして“6”とし、この値をR2
レジスタへ戻す。また、AAIレジスタ13に格納され
ているデスティネーションのアドレス“1に従って、ソ
ースデータを外部メモリに書込も。
直をインクリメントし、ソースアドレスのイ直とデステ
ィネーションアドレスの(直とをそれぞれ”n+4”
と石÷4”とに更新する。
直(ソースアドレス)をI?Oレジスタへ戻す。
値(デスティ7−ジョンアドレス)をR】レジスタへ戻
す。そして、前述の第3サイクルにおいて比較割出し条
件が成立しているか、あるいは第4サイクルにおいて更
新したデクリメンタ20の値がゼロであれば命令の実行
を終了する。ここで、比較割出し条件は不成立であって
デクリメンタ20の値は”6”となっているので、AA
Iレジスタ14に格納されたソースデータのアドレスに
従って、データを外部メモリから読込んでメモリデータ
レジスタ25に格納する。そして再び、第3サイクルC
I3の処理に戻る。
レジスタ25の内容とR3レジスタの内容とがALU2
2で比較される。 ALIJ22は8ビット単位でデ
ータを比較し、比較結果をストリング比較結果判定回路
23へ出力する。操作の対象となっているストリングデ
ータは、5バイト目のみが比較値と同一であるので、A
LU22が比較した1バイト目で一致が検出される。
成立を検出して実行命令を終了することを決定する。ま
た、ストリング比較結果判定回路23はALIJ22で
の比較結果とデクリメンタ20の値とから、次のサイク
ルでデクリメンタ20の値を更新するカウント値指定レ
ジスタ21の値“1″と、ソースアドレスとデスティネ
ーションアドレスとを更新するカウント値指定レジスタ
15.16の値“1”とをセットし、デスティネーショ
ンにデータを書込む際のデータサイズの情報“1”を整
置回路24へ出力する。
20の値が“1″だけデクリメントされて“5“となり
、この値がR2レジスタへ戻される。また、AAIレジ
スタ13に格納されているデステイネ・−ジョンアドレ
ス1千4°に従って、ソースデータが外部メモリに書込
まれる。更に、^Aルジスタ13のイ直とAA2A2レ
ジスフ1イ直とがインクリメントされ、ソースアドレス
の(直とデスティネーションアドレスの値とがそれぞれ
“n45”と“m+5”とに更新される。
タ14の(直がROレジスクへ戻される。
13の値がR1レジスタへ戻される。第2回目の第3サ
イクルC13において比較割出し条件が成立しているの
で命令の実行は終了する。
る。
のROレジスタ、 R1レジスタ、 R2レジスタ、
R3レジスタに格納される。ROレジスタには第1のソ
ース側ストリングの先頭アドレス (ソースアドレス)
が、R1レジスタには第2のソース側ストリングの先頭
アドレス (ソースアドレス)が、R2レジスタにはス
トリングの長さを表すエレメント数が、R3レジスタに
は比較割出し条件の比較値がそれぞれセットされる。
スタに比較値をセントする時のR3レジスタの動作は、
比較値のサイズが8ビツトの場合、16ビツトの場合及
び32ピントの場合のいずれも前述の第11図に示した
S?IOV命令の場合と同様である。
レメント数とに対して、メモリから読出された第1のソ
ースデータと比較割出し条件の比較値とが比較されて割
出し条件のチエツクが行われる。
の比較を行い、エレメントの不一致、あるいは割出し条
件の成立により、命令はそれ以後の処理を続けずに終了
する。すべてのエレメントが一致し、且つ割出し条件が
成立しなかった場合、R2レジスタに格納されたエレメ
ント数だけ転送が行われる。
IOV命令の場合と同様に、丘作の対象となる第1のソ
ースデータと第2のソースデータとは全て32ビツト(
ワード)の整置境界上にあるデータに限定する。操作の
対象となるデータが32ビツト (ワード)の整置境界
を跨ぐ場合は、バスインタフェース部7のメモリに対す
るアクセス回数が増加するため、読出したデータに対し
てはデータのソフト動作と連結動作とを行ってデータを
整置する必要があるが、その処理方法については、特願
昭6488837号に詳しく述べられている。
のデータ処理Haにおいて1つのエレメントが8ビツト
で構成される32ビツトの第1のソースストリングデー
タと第2のソースストリングデータとをSCMP命令で
アドレスの増加方向に比較処理する動作を、第15図の
フローチャートを参照して説明する。
一のデータであるとし、第1のソースデータには比較値
と同一エレメントが含まれていないものとする。なお、
第1のソースデータのアドレスをK”、 第2のソース
テ゛−夕の71゛レスを”し”とし、ROレジスクとR
1レジスタとにそれぞれ七ノドされているものとする。
2レジスタに、割出し条件の比較値がR3レジスタにそ
れぞれセットされているものとする。なお、比較条件は
ソースデータと比較値とが等しい場合に成立するものと
する。
レメント数)がデクリメンタ20にセ・ツトされ、RO
レジスタの内容(第1のソースアドレス)がAA2レジ
スタ14にセットされる。
第2のソースアドレス)がAAIレジスタ13にセント
され、AA2レジスタI4に格納されている第】のソー
スデータのアドレス”K″に従ってソースデータが外部
メモリからワードのデータサイズで読込まれ、メモリデ
ータレジスタ25に格納される。
1125の内容(第1のソースデータ)とR3レジスタ
の内容(比較値)とがALU22で比較される。
をストリング比較結果判定回路23へ出力する。
含まれていないので、ALU22は比較結果が一致しな
いことを示す情報をストリング比較結果判定回路23へ
出力する。
出力された4ビツトの信号の論理和演算を行って比較が
一致しない事を検出し、比較結果を比較結果保持レジス
タ24に保持させる。
データのアドレス“L”に従ってソースデータが外部メ
モリからワードのデータサイズで読込まれ、メモリデー
タレジスタ+2128に格納される。
l)25の内容(第1のソースデータ)とメモリデータ
レジスタ+2128の内容(第2のソースデータ)とが
ALU22で比較される。^LU22は8ビット単位で
データを比較し、比較結果をストリング比較結果判定回
路23へ出力する。ここで、第1のソースデータと第2
のソースデータとは同一データであるのでALU22に
よる比較結果は全て一致し、不一致のエレメントは検出
されない。
る比較結果とデクリメンタ20の値が“4”以下になっ
た場合に検出される検出信号との論理和演算を行い、こ
の結果から実行命令を終了する決定を行う。また、前サ
イクルで比較結果保持レジスタ24に保持された第1の
ソースデータと比較値との比較結果情報は一致エレメン
トが検出されなかったので無視される。更に、次のサイ
クルでデクリメンタ20の値を更新するカウント値指定
レジスタ21の値“4′と、第1のソースアドレスと第
2のソースアドレスとを更新するカウント値指定レジス
タ15、 ](iの値°4”とをセットする。
が“4″デクリメン]・され、このイ直がR2レジスタ
へ戻される。また、^Aルジスタ13の値とAA2レジ
スタI4の値とがインクリメントされることにより、第
1のソースアドレスの値と第2のソースアドレスの値と
がそれぞれ“K+4”、”L+42に更新される。
が110レジスタへ戻れる。
値がR】レジスタへ戻される。この場合、前記第3ザイ
クルにおいて、比較割出し条件が成立しているので命令
の実行が終了する。
明では、たとえば各日ビット同士について検出された4
つの比較結果の論理和演算と論理積演算とからそれぞれ
8ビソロ16ビソト、32ピツ)のエレメントにて構成
されるデータの比較動作を同一のハードウェアで行うこ
とが可能になるので、8ビツトのエレメントにて構成さ
れるデータの比較動作を4つ並列に、16ビノトのエレ
メントにて構成されるデータの比較動作を2つ並列に共
に一度の処理で実行可能になるので、高速な比較動作を
処理するハードウェアが実現される。
サイズのエレメントにて構成されるスI・リングデータ
の転送動作を、転送対象データの最後のデータエレメン
トのサーチ動作を並列に行いつつ、−度の処理で4つま
たは2つのエレメントのデータ転送が行えるので、8ビ
ツト、16ビソトのエレメントサイズにて構成され、H
&のデータエレメントのみが比較値と同一であるストリ
ングデータを転送する命令を高速に実行するマイクロプ
ロセッサが実現される。
ズのエレメントにて構成されるストリングデータの比較
動作を、操作対象のエレメント数と比較結果とから一度
の処理で4つまたは2つのエレメントの比較を並列に行
うことが可能になるので、ストリングデータの比較を行
う命令を高速に実行するマイクロプロセッサが実現され
る。
図、 第2図は本発明のデータ処理装置におけるデータバス部
の内、5M0I/命令の実行に必要な部分の構成を示す
ブロック図、 第3図はAI、U制御関係の各マイクロフィールドで指
定可能なオペレーションの定義内容を示ステップ模式図
、 第4図はALUのファンクションの定義内容を示す一覧
図、 第5図は本発明のデータ処理装置に備えられているAL
Uの詳細な構成を示すブロック図、第6図は本発明のデ
ータ処理装置に備えられているAI、U、 ストリング
比較結果判定回路、デクリメンタ、カウント値指定レジ
スタ及び整置回路相互間の接続関係を示す模式図、 第7図は本発明のデータ処理装置に備えられているスト
リング比較結果判定回路によりセットされる各カウント
値指定レジスタの値と整置回路に出力されるデータサイ
ズの値とを示す模式図、第8図は本発明のデータ処理装
置に備えられているストリング比較結果判定回路により
セットされる各カウント値指定レジスタの値と、第1の
ソースデータと比較値との比較結果を保持するレジスタ
に出力される比較結果の値とを示す模式図、第9図は本
発明のデータ処理装置における内部クロックのタイミン
グを示すタイミングチャート、第10図は5M0V命令
のオペランドを示す模式図、第11図は5M0V命令及
びSCMP命令実行時にDoババスらR3レジスタにデ
ータを格納する際のR3レジスタの動作を説明する模式
図、 第12図は5M0V命令の動作を説明する模式図、第1
3図は本発明のデータ処理装置において5M0V命令を
処理する場合のフローチャート、第14図はSCMP命
令のオペランドを示す模式図、第15図は本発明のデー
タ処理装置においてSCMP命令を処理する場合のフロ
ーチャート、第16図は5M0V命令とSCMP命令と
のオペレーションコードを示す模式図、 第17図は5M0V命令とSCMP命令とで指定可能な
比較条件とビ・ノドパターンとを示す模式図である。 10・・・S1バス 11・・・S2バス 12・
・・Doハス15、16・・・メモリアドレスレジスタ
I7・・・レジスタファイル 18・・・ALI
Iレジスク(A) 19・・・ALIIレジスタ(B
) 22・・・AL[l 20・・・デクリメン
タ2528・・・メモリデータレジスタ 24・・・
整置回路 23・・・ストリング比較結果判定回路な
お、図中、同一符号は同一、又は相当部分を示す。
Claims (3)
- (1)n個の第1のサイズのデータエレメントを同時に
処理する第1の命令及び前記第1のサイズのn(nは2
以上の整数)倍のサイズである第2のサイズのデータエ
レメントを1個ずつ処理する第2の命令をデコードする
命令デコード手段と、 前記命令デコード手段に接続されていて、 第1のデータエレメント群を保持する第1のレジスタと
、 前記命令デコード手段に接続されていて、 第2のデータエレメント群を保持する第2のレジスタと
、 前記第1及び第2のレジスタに接続してい て、前記第1のデータエレメント群と前記第2のデータ
エレメント群とのそれぞれ対応するデータエレメント同
士を比較する比較手段と、 前記命令デコード手段が前記第1の命令を デコードした場合に前記命令デコード手段の出力に従っ
て、前記比較手段による各データエレメント同士の比較
結果を論理和演算することによりn組の前記第1のサイ
ズのデータエレメントの比較処理を並列実行する第1の
判定手段と、前記命令デコード手段が前記第2の命令を
デコードした場合に前記命令デコード手段の出力に従っ
て、前記比較手段による比較結果を論理積演算すること
により1組の前記第2のサイズのデータエレメントの比
較処理を実行する第2の判定手段とを有する比較結果判
定手段と を備えたことを特徴とするデータ処理装置。 - (2)命令をデコードする命令デコード手段と、外部メ
モリとの間でデータを入出力するデータ入出力手段と、 前記外部メモリのアドレスをそれぞれ保持 する第1、第2のアドレスレジスタと、 前記第1のアドレスレジスタが指定する前 記外部メモリのアドレスから始まるメモリ領域から前記
データ入出力手段を通じてフェッチしたn個のデータエ
レメントからなる第1のデータエレメント群を保持する
第1のレジスタと、 各エレメントが同一の所定値であるn個の エレメントからなる第2のデータエレメント群を保持す
る第2のレジスタと、 前記第1及び第2のレジスタに接続されて いて、前記第1のデータエレメント群と前記第2のデー
タエレメント群とのそれぞれ対応するデータエレメント
同士を比較する比較手段と、 該比較手段の各比較結果を論理和演算する 比較結果判定手段と を備え、 前記命令デコード手段が、前記第1のアド レスレジスタが指定する前記メモリのアドレスから始ま
る第1のメモリ領域にあり、最後のデータエレメントの
みが前記所定値のデータエレメントであるn個のデータ
エレメントからなる第1のデータを前記第2のアドレス
レジスタが指定する前記メモリのアドレスから始まる第
2のメモリ領域へ転送するストリング転送命令をデコー
ドした場合に、 前記データ入出力手段は、前記命令デコー ド手段の出力に従って前記メモリの前記第1のメモリ領
域から前記データ入出力手段を通じてn個のデータエレ
メントをフェッチし、前記比較結果判定手段は、前記命
令デコー ド手段の出力に従って前記比較手段による各比較結果を
論理和演算することにより前記n個のデータエレメント
それぞれと前記所定値のデータエレメントとが一致する
か否かの判定処理を並列実行し、一致が検出されるまで
前記データ入出力手段にデータのフェッチ及びその前記
メモリの前記第2のメモリ領域への転送を反復させるべ
くなしてあること を特徴とするデータ処理装置。 - (3)命令をデコードする命令デコード手段と、外部メ
モリとの間でデータを入出力するデ ータ入出力手段と、 前記外部メモリのアドレスをそれぞれ保持 する第1、第2のアドレスレジスタと、 前記第1のアドレスレジスタが指定する前 記外部メモリのアドレスから始まる第1のメモリ領域か
ら前記データ入出力手段を通じてフェッチしたn個のデ
ータエレメントからなる第1のデータエレメント群を保
持する第1のレジスタと、 前記第2のアドレスレジスタが指定する前 記外部メモリのアドレスから始まる第2のメモリ領域か
ら前記データ入出力手段を通じてフェッチしたn個のデ
ータエレメントからなる第2のデータエレメント群を保
持する第2のレジスタと、 処理すべきエレメント数を保持する第3の レジスタと、 前記第1及び第2のレジスタに接続されて いて、前記第1のデータエレメント群と前記第2のデー
タエレメント群とのそれぞれ対応するエレメント同士を
比較する比較手段と、前記比較手段と前記第3のレジス
タとに接 続されていて、前記比較手段の各比較結果と前記第3の
レジスタの値とを入力する比較結果判定手段と を備え、 前記命令デコード手段が、前記メモリの第 1のメモリ領域にある複数のデータエレメントからなる
第1のデータと第2のメモリ領域にあるデータエレメン
トからなる第2のデータとを比較するストリング比較命
令をデコードした場合に、 前記第3のレジスタは前記第1のデータの エレメント数を保持し、 前記比較結果判定手段は、前記命令デコー ド手段の出力に従って、前記第1のデータと前記第2の
データとを比較し、この比較結果と前記第3のレジスタ
に保持されているエレメント数とに基づいて前記ストリ
ング比較命令の実行結果を決定すべくなしてあること を特徴とするデータ処理装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2231964A JPH0831032B2 (ja) | 1990-08-29 | 1990-08-29 | データ処理装置 |
| US08/327,823 US5497468A (en) | 1990-08-29 | 1994-10-20 | Data processor that utilizes full data width when processing a string operation |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2231964A JPH0831032B2 (ja) | 1990-08-29 | 1990-08-29 | データ処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04109337A true JPH04109337A (ja) | 1992-04-10 |
| JPH0831032B2 JPH0831032B2 (ja) | 1996-03-27 |
Family
ID=16931812
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2231964A Expired - Lifetime JPH0831032B2 (ja) | 1990-08-29 | 1990-08-29 | データ処理装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5497468A (ja) |
| JP (1) | JPH0831032B2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5717946A (en) * | 1993-10-18 | 1998-02-10 | Mitsubishi Denki Kabushiki Kaisha | Data processor |
| JP2008083762A (ja) * | 2006-09-26 | 2008-04-10 | Nec Electronics Corp | マイクロコンピュータ |
| CN113316763A (zh) * | 2019-03-04 | 2021-08-27 | 松下知识产权经营株式会社 | 处理器以及处理器的控制方法 |
Families Citing this family (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08212789A (ja) * | 1995-02-06 | 1996-08-20 | Mitsubishi Electric Corp | 連想メモリ回路及びtlb回路 |
| US5692146A (en) * | 1995-05-26 | 1997-11-25 | National Semiconductor Corporation | Method of implementing fast 486TM microprocessor compatible string operations |
| US5907842A (en) * | 1995-12-20 | 1999-05-25 | Intel Corporation | Method of sorting numbers to obtain maxima/minima values with ordering |
| US5854914A (en) * | 1996-02-13 | 1998-12-29 | Intel Corporation | Mechanism to improved execution of misaligned loads |
| US6253312B1 (en) * | 1998-08-07 | 2001-06-26 | Ip First, L.L.C. | Method and apparatus for double operand load |
| US6209082B1 (en) | 1998-11-17 | 2001-03-27 | Ip First, L.L.C. | Apparatus and method for optimizing execution of push all/pop all instructions |
| US6516313B1 (en) * | 2000-06-27 | 2003-02-04 | Mitsubishi Electric Research Laboratories, Inc. | Method for dynamic constraint handling in vertex based optimization of a continuous complex system |
| US7242325B2 (en) * | 2004-08-02 | 2007-07-10 | Sony Corporation | Error correction compensating ones or zeros string suppression |
| US8219785B1 (en) * | 2006-09-25 | 2012-07-10 | Altera Corporation | Adapter allowing unaligned access to memory |
| KR20100126690A (ko) * | 2008-02-18 | 2010-12-02 | 샌드브리지 테크놀로지스, 인코포레이티드 | 널-종료 문자열 동작을 가속화하는 방법 |
| CN101685388B (zh) * | 2008-09-28 | 2013-08-07 | 北京大学深圳研究生院 | 执行比较运算的方法和装置 |
| ES2354330B1 (es) * | 2009-04-23 | 2012-01-30 | Universitat Pompeu Fabra | Método para calcular medidas de similitud entre señales temporales. |
| US9459868B2 (en) | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Instruction to load data up to a dynamically determined memory boundary |
| US9588762B2 (en) | 2012-03-15 | 2017-03-07 | International Business Machines Corporation | Vector find element not equal instruction |
| US9459867B2 (en) | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Instruction to load data up to a specified memory boundary indicated by the instruction |
| US9710266B2 (en) | 2012-03-15 | 2017-07-18 | International Business Machines Corporation | Instruction to compute the distance to a specified memory boundary |
| US9715383B2 (en) | 2012-03-15 | 2017-07-25 | International Business Machines Corporation | Vector find element equal instruction |
| US9459864B2 (en) | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Vector string range compare |
| US9280347B2 (en) | 2012-03-15 | 2016-03-08 | International Business Machines Corporation | Transforming non-contiguous instruction specifiers to contiguous instruction specifiers |
| US9454367B2 (en) | 2012-03-15 | 2016-09-27 | International Business Machines Corporation | Finding the length of a set of character data having a termination character |
| US9454366B2 (en) | 2012-03-15 | 2016-09-27 | International Business Machines Corporation | Copying character data having a termination character from one memory location to another |
| US9268566B2 (en) | 2012-03-15 | 2016-02-23 | International Business Machines Corporation | Character data match determination by loading registers at most up to memory block boundary and comparing |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61100836A (ja) * | 1984-10-04 | 1986-05-19 | Fujitsu Ltd | 移動命令論理比較命令処理方式 |
| JPS6273330A (ja) * | 1985-09-27 | 1987-04-04 | Hitachi Ltd | デ−タ処理装置 |
| JPS6472236A (en) * | 1987-09-14 | 1989-03-17 | Hitachi Ltd | Information processor with string operating instruction |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4463421A (en) * | 1980-11-24 | 1984-07-31 | Texas Instruments Incorporated | Serial/parallel input/output bus for microprocessor system |
| US4604695A (en) * | 1983-09-30 | 1986-08-05 | Honeywell Information Systems Inc. | Nibble and word addressable memory arrangement |
| US4785393A (en) * | 1984-07-09 | 1988-11-15 | Advanced Micro Devices, Inc. | 32-Bit extended function arithmetic-logic unit on a single chip |
| US5060143A (en) * | 1988-08-10 | 1991-10-22 | Bell Communications Research, Inc. | System for string searching including parallel comparison of candidate data block-by-block |
| US5193167A (en) * | 1990-06-29 | 1993-03-09 | Digital Equipment Corporation | Ensuring data integrity by locked-load and conditional-store operations in a multiprocessor system |
-
1990
- 1990-08-29 JP JP2231964A patent/JPH0831032B2/ja not_active Expired - Lifetime
-
1994
- 1994-10-20 US US08/327,823 patent/US5497468A/en not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61100836A (ja) * | 1984-10-04 | 1986-05-19 | Fujitsu Ltd | 移動命令論理比較命令処理方式 |
| JPS6273330A (ja) * | 1985-09-27 | 1987-04-04 | Hitachi Ltd | デ−タ処理装置 |
| JPS6472236A (en) * | 1987-09-14 | 1989-03-17 | Hitachi Ltd | Information processor with string operating instruction |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5717946A (en) * | 1993-10-18 | 1998-02-10 | Mitsubishi Denki Kabushiki Kaisha | Data processor |
| JP2008083762A (ja) * | 2006-09-26 | 2008-04-10 | Nec Electronics Corp | マイクロコンピュータ |
| CN113316763A (zh) * | 2019-03-04 | 2021-08-27 | 松下知识产权经营株式会社 | 处理器以及处理器的控制方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0831032B2 (ja) | 1996-03-27 |
| US5497468A (en) | 1996-03-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH04109337A (ja) | データ処理装置 | |
| CA1174370A (en) | Data processing unit with pipelined operands | |
| TWI691897B (zh) | 用以執行融合單一週期遞增-比較-跳越之指令與邏輯 | |
| US5293592A (en) | Decoder for pipelined system having portion indicating type of address generation and other portion controlling address generation within pipeline | |
| US5832258A (en) | Digital signal processor and associated method for conditional data operation with no condition code update | |
| US3881173A (en) | Condition code determination and data processing | |
| TWI476682B (zh) | 用以偵測向量暫存器內相等元素之裝置及方法 | |
| US4367524A (en) | Microinstruction execution unit for use in a microprocessor | |
| JP2507638B2 (ja) | デ―タ処理装置 | |
| JP2834292B2 (ja) | データ・プロセッサ | |
| JPH04109336A (ja) | データ処理装置 | |
| US4713750A (en) | Microprocessor with compact mapped programmable logic array | |
| CN112148251A (zh) | 跳过无意义的矩阵运算的系统和方法 | |
| JPH0774991B2 (ja) | デジタルコンピュータに於けるパイプライン化された処理ユニットの動作方法 | |
| JPS6217252B2 (ja) | ||
| JPH07114469A (ja) | データ処理装置 | |
| JPS6339931B2 (ja) | ||
| USRE32493E (en) | Data processing unit with pipelined operands | |
| JPH1049370A (ja) | 遅延命令を有するマイクロプロセッサ | |
| JPH081599B2 (ja) | データ処理装置 | |
| TW201732734A (zh) | 用於加速圖形分析的設備及方法 | |
| JP2620511B2 (ja) | データ・プロセッサ | |
| JP2017539013A (ja) | 競合検出を実行するための方法および装置 | |
| JP3578883B2 (ja) | データ処理装置 | |
| JP3789583B2 (ja) | データ処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080327 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090327 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090327 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100327 Year of fee payment: 14 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110327 Year of fee payment: 15 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110327 Year of fee payment: 15 |