JPH0311423A - ストリングデータ処理機構 - Google Patents
ストリングデータ処理機構Info
- Publication number
- JPH0311423A JPH0311423A JP14724589A JP14724589A JPH0311423A JP H0311423 A JPH0311423 A JP H0311423A JP 14724589 A JP14724589 A JP 14724589A JP 14724589 A JP14724589 A JP 14724589A JP H0311423 A JPH0311423 A JP H0311423A
- Authority
- JP
- Japan
- Prior art keywords
- data
- shifter
- operand
- register
- read
- 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
- 230000006870 function Effects 0.000 abstract description 9
- 238000000034 method Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000003672 processing method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、ストリングデータ処理機構、特にファームウ
ェア命令により制御されるプロセッサにおけるストリン
グデータの処理機構に関する。
ェア命令により制御されるプロセッサにおけるストリン
グデータの処理機構に関する。
従来、この種のストリング処理機構は、ストリングデー
タを1バイクずつ処理する構成とするか、あるいは片方
のオペランドのデータの開始バイト位置に合わせてもう
一方のオペランドのデータを読み込んだ後に演算を行う
かの2通りの処理方式があった。
タを1バイクずつ処理する構成とするか、あるいは片方
のオペランドのデータの開始バイト位置に合わせてもう
一方のオペランドのデータを読み込んだ後に演算を行う
かの2通りの処理方式があった。
上述した従来のストリグ処理方式のうち、ストリングデ
ータを1バイトずつ処理する場合においてはメモリアク
セス回数が増大し効率が悪く、実行速度も遅いという欠
点がある。
ータを1バイトずつ処理する場合においてはメモリアク
セス回数が増大し効率が悪く、実行速度も遅いという欠
点がある。
また、オペランドのデータ開始バイト位置に合わせても
う一方のオペランドのデータを読む方式においては、開
始バイト位置の判定など処理が複雑であることから実行
速度の低下、バグの作り込みの可能性が高いという欠点
がある。
う一方のオペランドのデータを読む方式においては、開
始バイト位置の判定など処理が複雑であることから実行
速度の低下、バグの作り込みの可能性が高いという欠点
がある。
本発明のストリングデータ処理機構は、2つのオペラン
ドのストリングデータについて、データの開始バイト位
置、バウンダリ等の意識をすることなく読み込み、演算
することを可能とする様構成されており、ストリングデ
ータの開始バイト位置を2つのオペランドについて保持
する手段と、開始バイト位置レジスタの内容に従い主記
憶から読み出したデータをシフトする手段と、シフタか
ら出力されたデータを第1のマージレジスタに保持する
手段と、シフタから出力されたデータ第2のマージレジ
スタに保持する手段と、第1のマージレジスタの出力を
第2のマージレジスタに再入力する手段と、主記憶から
読み出したデータと第2のマージレジスタの出力とをマ
ージする手段と、ファームウェア命令により前記ハード
ウェアに指示を行う手段とを含んで構成される。
ドのストリングデータについて、データの開始バイト位
置、バウンダリ等の意識をすることなく読み込み、演算
することを可能とする様構成されており、ストリングデ
ータの開始バイト位置を2つのオペランドについて保持
する手段と、開始バイト位置レジスタの内容に従い主記
憶から読み出したデータをシフトする手段と、シフタか
ら出力されたデータを第1のマージレジスタに保持する
手段と、シフタから出力されたデータ第2のマージレジ
スタに保持する手段と、第1のマージレジスタの出力を
第2のマージレジスタに再入力する手段と、主記憶から
読み出したデータと第2のマージレジスタの出力とをマ
ージする手段と、ファームウェア命令により前記ハード
ウェアに指示を行う手段とを含んで構成される。
次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例のブロック図、第2図は第1
図に示すセレクタ7のマージ機能を示す模式図である。
図に示すセレクタ7のマージ機能を示す模式図である。
1はデータバス、2,3はオペランドのデータ開始バイ
ト位置を格納するレジスタ、4はレジスタ2,3の内容
に従い主記憶からのデータをシフトするシフタ、5,6
は主記憶より読み出されたデータを保持するレジスタ、
7はレジスサ2,3の内容に従いレジスタ5からのデー
タと主記憶からのデータをマージするセレクタ、8,9
゜10.11はデータバスである。
ト位置を格納するレジスタ、4はレジスタ2,3の内容
に従い主記憶からのデータをシフトするシフタ、5,6
は主記憶より読み出されたデータを保持するレジスタ、
7はレジスサ2,3の内容に従いレジスタ5からのデー
タと主記憶からのデータをマージするセレクタ、8,9
゜10.11はデータバスである。
次に動作について説明する。第3図は第1図に示すシフ
タ4に供給されるオペランドの一例を示す模式図、第4
図は第1図に示すレジスタの状態遷移を示す模式図であ
る。
タ4に供給されるオペランドの一例を示す模式図、第4
図は第1図に示すレジスタの状態遷移を示す模式図であ
る。
ストリングデータは主記憶にバウンダリの制限もなく配
置されており、一方、主記憶からのデータ読み出しは通
常4バイト単位で行なわれる。
置されており、一方、主記憶からのデータ読み出しは通
常4バイト単位で行なわれる。
そこで、ハードウェアにより主記憶上のストリングデー
タを4バイトそろえた形で処理する機構を考える。
タを4バイトそろえた形で処理する機構を考える。
ストリングデータの開始アドレスの最下位2ビトは、ス
トリングデータの開始バイト位置である。
トリングデータの開始バイト位置である。
以後、2つのオペランドのストリングデータを演算する
場合を考える。
場合を考える。
まず、第1オペランド、第2オペランドのデータ開始バ
イト位置をバイト位置レジスタ2,3にそれぞれセット
する。次に第1オペランドのデータを主記憶より読み込
む。読込まれたデータはパス8を経由しシフタ4に入力
される。
イト位置をバイト位置レジスタ2,3にそれぞれセット
する。次に第1オペランドのデータを主記憶より読み込
む。読込まれたデータはパス8を経由しシフタ4に入力
される。
シフタ4では開始バイト位置により4種類のシフトファ
ンクションを実行する。バイト位置が00の場合、ファ
ンクションはスルー 01の場合はレフト・ローテート
、10の場合はエクスチェンジ、11の場合はライト・
ローテートを行う。
ンクションを実行する。バイト位置が00の場合、ファ
ンクションはスルー 01の場合はレフト・ローテート
、10の場合はエクスチェンジ、11の場合はライト・
ローテートを行う。
第3図に示すストリングデータでは、データ開始バイト
位置が01であるなめシフタではレフト・ローテートが
行なわれ、タイミングT1の様にシフタ4にセットされ
る。
位置が01であるなめシフタではレフト・ローテートが
行なわれ、タイミングT1の様にシフタ4にセットされ
る。
次に第1オペランドの次のデータを読み込み、シフタ4
の内容をレジスタ5に転送する。
の内容をレジスタ5に転送する。
この時、シフタ4の内容とレジスタ5の内容のマージを
セレクタ7で行う。セレクタ7はバイト位置レジスタの
内容によりレジスタ5とシフタ4の各バイトのデータを
選択し、バイト位置が00の場合はレジスタ5の全バイ
トを、01の場合はレジスタ5の上位3バイトとシフタ
4の下位1バイト、10の場合はレジスタ5の上位2バ
イトとシフタ4の下位2バイト11の場合はレジスタ5
の上位1バイトとシフタ4の下位3バイトをそれぞれマ
ージする。
セレクタ7で行う。セレクタ7はバイト位置レジスタの
内容によりレジスタ5とシフタ4の各バイトのデータを
選択し、バイト位置が00の場合はレジスタ5の全バイ
トを、01の場合はレジスタ5の上位3バイトとシフタ
4の下位1バイト、10の場合はレジスタ5の上位2バ
イトとシフタ4の下位2バイト11の場合はレジスタ5
の上位1バイトとシフタ4の下位3バイトをそれぞれマ
ージする。
次に第2オペランドのデータについても同様に読み込み
、タイミングT 3 、T 4の様にマージを行う。そ
の後は、第1オペランドと第2オペランドを交互に読み
込み、タイミングT s 、 T 6の様に、シフタ4
に読み込まれたデータはパス10を経由してレジスタ5
へ入力される。
、タイミングT 3 、T 4の様にマージを行う。そ
の後は、第1オペランドと第2オペランドを交互に読み
込み、タイミングT s 、 T 6の様に、シフタ4
に読み込まれたデータはパス10を経由してレジスタ5
へ入力される。
この様にして最初のストリングデータの読み込みタイミ
ングT 1.T2 、T3 、T4の後は第1オペラン
ド、第2オペランドを交互に読み込むことにより、スト
リングデータを連続に演算することが可能となる。
ングT 1.T2 、T3 、T4の後は第1オペラン
ド、第2オペランドを交互に読み込むことにより、スト
リングデータを連続に演算することが可能となる。
前記動作は全てファームウェアの指示により実行され、
タイミングT1は第1オペランドリードのファーストス
テップ、タイミングT2は第1オペランドリードのミド
ルステップ、タイミングT3は第2オペランドリードの
ファーストステ・ンブ、タイミングT4は第2オペラン
ドリードのミドルステップ、タイミングT 5. T
6はそれぞれ第1、第2オペランドリードのミドルステ
・ンブに相当する。
タイミングT1は第1オペランドリードのファーストス
テップ、タイミングT2は第1オペランドリードのミド
ルステップ、タイミングT3は第2オペランドリードの
ファーストステ・ンブ、タイミングT4は第2オペラン
ドリードのミドルステップ、タイミングT 5. T
6はそれぞれ第1、第2オペランドリードのミドルステ
・ンブに相当する。
以上説明したように本発明は、主記憶から読み出したス
トリングデータを保持するレジスタを2つ持ち、データ
の開始バイト位置によるシフトマージを2つのオペラン
ドに対し交互に行うことにより、効率良くメモリアクセ
スを行いながら連続的にストリングデータの処理を行う
ことを可能としたので、ストリングデータの処理・演算
速度を向上できる効果がある。
トリングデータを保持するレジスタを2つ持ち、データ
の開始バイト位置によるシフトマージを2つのオペラン
ドに対し交互に行うことにより、効率良くメモリアクセ
スを行いながら連続的にストリングデータの処理を行う
ことを可能としたので、ストリングデータの処理・演算
速度を向上できる効果がある。
第1図は本発明の一実施例を示すブロック図、第2図は
第1図に示すセレクタのマージ機能を示す模式図、第3
図は第1図に示すシフタに供給されるオペランドの一例
を示す模式図、第4図は第1図に示すレジスタの状態遷
移を示す模式図である。 1・・・データバス、2,3・・・レジスタ、4・・・
シフタ、5.6・・・レジスタ、7・・・セレクタ、8
〜11・・データバス。
第1図に示すセレクタのマージ機能を示す模式図、第3
図は第1図に示すシフタに供給されるオペランドの一例
を示す模式図、第4図は第1図に示すレジスタの状態遷
移を示す模式図である。 1・・・データバス、2,3・・・レジスタ、4・・・
シフタ、5.6・・・レジスタ、7・・・セレクタ、8
〜11・・データバス。
Claims (1)
- ファームウェア命令の制御により動作するプロセッサに
おいて、前記ファームウェア命令の指示によりデータバ
スからのデータを取込み前記データをシフトして保持す
ることのできるシフタと、前記シフタの出力をファーム
ウェア命令の指示により格納することのできる第1のマ
ージレジスタと、ファームウェアの命令の指示により前
記シフタの出力または前記第1のマージレジスタの出力
のどちらかを選んで格納できる第2のマージレジスタと
、主記憶上のストリングデータの開始バイト位置をロー
ドできる2組のレジスタと、前記シフタの出力と前記第
2のマージレジスタの出力をファームウェア命令の指示
によって選択された前記バイト位置レジスタの値に従っ
てマージするセレクタとを有し、2つのオペランドのス
トリングデータを交互に該シフタに入力し、次に該デー
タを第1のマージレジスタに入力し、交互に前記オペラ
ンドを読み込みながらシフタの出力と前記第2のマージ
レジスタの出力とをマージすることにより連続してスト
リング演算を行うことを特徴とするストリングデータ処
理機構。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14724589A JPH0311423A (ja) | 1989-06-08 | 1989-06-08 | ストリングデータ処理機構 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14724589A JPH0311423A (ja) | 1989-06-08 | 1989-06-08 | ストリングデータ処理機構 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0311423A true JPH0311423A (ja) | 1991-01-18 |
Family
ID=15425866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14724589A Pending JPH0311423A (ja) | 1989-06-08 | 1989-06-08 | ストリングデータ処理機構 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0311423A (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60225936A (ja) * | 1984-04-25 | 1985-11-11 | Nec Corp | 演算制御方式 |
-
1989
- 1989-06-08 JP JP14724589A patent/JPH0311423A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60225936A (ja) * | 1984-04-25 | 1985-11-11 | Nec Corp | 演算制御方式 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5608881A (en) | Microcomputer system for accessing hierarchical buses | |
JP2752076B2 (ja) | プログラマブル・コントローラ | |
JPH0311423A (ja) | ストリングデータ処理機構 | |
JPH09212360A (ja) | データ処理装置 | |
JPH03269728A (ja) | パイプライン計算機における命令実行制御方式 | |
JPH06230963A (ja) | メモリアクセス制御装置 | |
JPH0654505B2 (ja) | 並列型演算処理装置 | |
JP2982129B2 (ja) | マイクロプログラム制御装置 | |
JPH0338613B2 (ja) | ||
JP3124361B2 (ja) | メモリデータロード装置 | |
JPS62147545A (ja) | 情報処理装置における転送命令処理方式 | |
JPH0812601B2 (ja) | データ処理装置 | |
JPS5896346A (ja) | 階層型演算方式 | |
JPH0218732B2 (ja) | ||
JPH03156604A (ja) | プログラマブルコントローラ | |
JPH04135237A (ja) | マイクロプログラム制御情報処理装置 | |
JPS63305405A (ja) | シ−ケンス制御の処理方法および処理装置 | |
JPS6112575B2 (ja) | ||
JPH02217924A (ja) | データ処理装置のストア処理方式 | |
JPS6028014B2 (ja) | マイクロプロセツサ | |
JPH01295347A (ja) | マイクロコンピュータ装置 | |
JPH0319570B2 (ja) | ||
JPS60247742A (ja) | パイプライン演算制御装置 | |
JPH04246727A (ja) | 命令実行方式 | |
JPS59208672A (ja) | ベクトル処理装置 |