JPH031226A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH031226A JPH031226A JP13521889A JP13521889A JPH031226A JP H031226 A JPH031226 A JP H031226A JP 13521889 A JP13521889 A JP 13521889A JP 13521889 A JP13521889 A JP 13521889A JP H031226 A JPH031226 A JP H031226A
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- memory
- bus
- shift
- 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
- 230000015654 memory Effects 0.000 claims abstract description 122
- 238000000034 method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 240000002853 Nelumbo nucifera Species 0.000 description 7
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 7
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 101000993983 Nicotiana tabacum Proteinase inhibitor I-A Proteins 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、データ処理装置に係わり、特に任意長ビット
フィールド操作命令を実行することのできるデータ処理
装置に関する。
フィールド操作命令を実行することのできるデータ処理
装置に関する。
TR0N仕様の命令セットには、以下に示すような任意
長ビットフィールド操作命令と呼ばれる4種類の命令が
含まれている。
長ビットフィールド操作命令と呼ばれる4種類の命令が
含まれている。
・BVSC)(:ビットフィールドの中から1もしくは
0をサーチする。
0をサーチする。
・BVMAP:ビットフィールド間で論理演算を行う。
・BVCPY :ビットフィールド間の転送を行う。
・BVPAT:ビットフィールドに対して、ビットパタ
ーンを繰り返し書き込む。
ーンを繰り返し書き込む。
これらの命令は、ウィンドウ操作などのようなビットマ
ツプ処理を高速に行うことを目的とした命令であり、任
意のビットフィールドを指定できる。
ツプ処理を高速に行うことを目的とした命令であり、任
意のビットフィールドを指定できる。
本発明は、このような任意長ビットフィールド操作命令
を高速に実行するためになされたもので、特にBVMA
P命令に対して最も有効に作用する。
を高速に実行するためになされたもので、特にBVMA
P命令に対して最も有効に作用する。
したがって、BVMAP命令の処理方法を例にして説明
を行う。
を行う。
まず、BVMAP命令の動作について第5図を用いて説
明する。操作の対象となるビットフィールドは、ベース
アドレス、ビットオフセット及びフィールド長によって
指定される。BVMAP命令では、こうして指定された
ソース側のビットフィールドとデスティネ−ション側の
ビットフィールドとの間で各種論理演算を行い、その結
果をデスティネーション側のピントフィールドに書き込
む。
明する。操作の対象となるビットフィールドは、ベース
アドレス、ビットオフセット及びフィールド長によって
指定される。BVMAP命令では、こうして指定された
ソース側のビットフィールドとデスティネ−ション側の
ビットフィールドとの間で各種論理演算を行い、その結
果をデスティネーション側のピントフィールドに書き込
む。
実際にBVMAP命令を実行する場合には、−度にビッ
トフィールド間の論理演算を行うことはできないので、
ビットフィールドをある処理単位に分割し、その処理単
位毎に繰り返し論理演算が実行される。例えば32ビツ
トのデータを扱うデータ処理装置ならば32ビツト(−
ワード)が処理単位となる。すなわち、デスティネーシ
ョン側のピントフィールドをワード整置されたデータに
分割し、分割されたデータ1つ1つに対して、1:ソー
ス側データの読み出し 2:デスティネーション側データの読み出し3:論理演
算 4:デスティネーション側への書き込みが繰り返し行わ
れる。このように、B V M A P命令ではビット
フィールドの両端を除けば、同じ処理の繰り返しによっ
て実行される。
トフィールド間の論理演算を行うことはできないので、
ビットフィールドをある処理単位に分割し、その処理単
位毎に繰り返し論理演算が実行される。例えば32ビツ
トのデータを扱うデータ処理装置ならば32ビツト(−
ワード)が処理単位となる。すなわち、デスティネーシ
ョン側のピントフィールドをワード整置されたデータに
分割し、分割されたデータ1つ1つに対して、1:ソー
ス側データの読み出し 2:デスティネーション側データの読み出し3:論理演
算 4:デスティネーション側への書き込みが繰り返し行わ
れる。このように、B V M A P命令ではビット
フィールドの両端を除けば、同じ処理の繰り返しによっ
て実行される。
次に、BVMAP命令における繰り返し処理にはどのよ
うな処理が必要であるかを説明する。第6図は、デステ
ィネーション側のビットフィールド中のワード整置され
たデータの1つであるり、。
うな処理が必要であるかを説明する。第6図は、デステ
ィネーション側のビットフィールド中のワード整置され
たデータの1つであるり、。
に対する処理を説明したものである。D、、に対応する
ソース側のビットフィールドはS7と8□1にまたがっ
ている。D、、に対する処理は以下のようになる。
ソース側のビットフィールドはS7と8□1にまたがっ
ている。D、、に対する処理は以下のようになる。
■:Sアを左にrXJビット分だけ論理シフトする。=
S゛7 ただし、Slは前回の処理でメモリから読み出され、レ
ジスタに格納されている。
S゛7 ただし、Slは前回の処理でメモリから読み出され、レ
ジスタに格納されている。
■:S6+1をメモリから読み出す。
■:S1+1を次回の処理のためにレジスタに退避して
おく。
おく。
■:87.1を右にr32−XJビット分だけ論理シフ
トする。−3″no1 ■=S′1とS ’+sl との論理和をとることによ
ってD7に対応するソース側のビットフィールドを抽出
する。=T。
トする。−3″no1 ■=S′1とS ’+sl との論理和をとることによ
ってD7に対応するソース側のビットフィールドを抽出
する。=T。
■:Dfiをメモリから読み出す。
■=D7とT7との間で論理演算を行う。== D I
。
。
■:D′7を再びDfiの位置に書き込む。
このように、BVMAP命令の1回の繰り返し処理に8
つの処理が必要である。
つの処理が必要である。
それでは、BVMAP命令の繰り返し処理を、従来のデ
ータ処理装置を用いて実現させる場合の処理シーケンス
を説明する。第7図は、従来のデータ処理装置における
データバス部のうち、BVMAP命令の実行に必要な部
分のブロック図である。図において、(1) 、 (2
) 、 (3) は32ビツトのバスであり、それぞれ
S1バス(第1のバス)、S2バス(第2のバス)、D
バス(第3のバス)である。(11)は32ビツトのデ
ータを一度に算術/論理シフト及びローテートさせるこ
とができるバレルシフタであり、被シフトデータをS2
ハス(2)から取り込んで、シフト幅レジスタ(12)
から送られる部分だけシフトを行い、結果をDバス(3
)に出力する。シフト幅レジスタ(12)はシフト幅デ
ータを格納するためのレジスタであり、Slバス(1)
から入力し、バレルシフタ(1工)へ出力する。(21
)は算術論理演算回路(ALU)であり、ALUレジス
タA(22;第1のレジスタ)とALUレジスタB(2
3;第2のレジスタ)から送られてくるデータ間で加減
算及び論理演算を実行し、結果をDバス(3)に出力す
る。ΔLUレジスタΔ(22)はSlバス(1)から、
AI−UレジスタB (23)はS2バス(2)からデ
ータを入力するが、このとき、入力データは33ビツト
に符号/ゼロ拡張される。また、ALUレジスタA (
22)とALUレジスタB (23)は、それぞれのレ
ジスタの内容をオールゼロにする機能も備えている。(
31)はn個の32ビツトレジスタで構成されるレジス
タファイルであり、それぞれのレジスタは、Dバス(3
)からの入力経路と81バス(1)及びS2ハス(2)
への出力経路を備えている。(41)はメモリデータレ
ジスタであり、図示しない外部メモリに書き込むデータ
や、外部メモリから読みだされたデータを格納するだめ
のレジスタである。(42)はメモリデータをワード整
置するための整置回路であり、メモリをアクセスする際
には必ず整置回路(42)を通して行われる。(51)
はメモリアドレスレジスタであり、外部メモリをアクセ
スする際にアクセスすべきアドレスをセントする32ビ
ツトレジスタである。このメモリアドレスレジスタ(5
1)は2つの32ビツトレジスタで構成されており、2
種類のメモリアドレスを七ノ1〜しておくことができ、
アドレスはそれぞれS1ハス(1)から入力する。また
、このメモリアドレスレジスタ(51)にはカウンタ機
能が付いており、12.4のインクリメント及びデクリ
メントが可能である。
ータ処理装置を用いて実現させる場合の処理シーケンス
を説明する。第7図は、従来のデータ処理装置における
データバス部のうち、BVMAP命令の実行に必要な部
分のブロック図である。図において、(1) 、 (2
) 、 (3) は32ビツトのバスであり、それぞれ
S1バス(第1のバス)、S2バス(第2のバス)、D
バス(第3のバス)である。(11)は32ビツトのデ
ータを一度に算術/論理シフト及びローテートさせるこ
とができるバレルシフタであり、被シフトデータをS2
ハス(2)から取り込んで、シフト幅レジスタ(12)
から送られる部分だけシフトを行い、結果をDバス(3
)に出力する。シフト幅レジスタ(12)はシフト幅デ
ータを格納するためのレジスタであり、Slバス(1)
から入力し、バレルシフタ(1工)へ出力する。(21
)は算術論理演算回路(ALU)であり、ALUレジス
タA(22;第1のレジスタ)とALUレジスタB(2
3;第2のレジスタ)から送られてくるデータ間で加減
算及び論理演算を実行し、結果をDバス(3)に出力す
る。ΔLUレジスタΔ(22)はSlバス(1)から、
AI−UレジスタB (23)はS2バス(2)からデ
ータを入力するが、このとき、入力データは33ビツト
に符号/ゼロ拡張される。また、ALUレジスタA (
22)とALUレジスタB (23)は、それぞれのレ
ジスタの内容をオールゼロにする機能も備えている。(
31)はn個の32ビツトレジスタで構成されるレジス
タファイルであり、それぞれのレジスタは、Dバス(3
)からの入力経路と81バス(1)及びS2ハス(2)
への出力経路を備えている。(41)はメモリデータレ
ジスタであり、図示しない外部メモリに書き込むデータ
や、外部メモリから読みだされたデータを格納するだめ
のレジスタである。(42)はメモリデータをワード整
置するための整置回路であり、メモリをアクセスする際
には必ず整置回路(42)を通して行われる。(51)
はメモリアドレスレジスタであり、外部メモリをアクセ
スする際にアクセスすべきアドレスをセントする32ビ
ツトレジスタである。このメモリアドレスレジスタ(5
1)は2つの32ビツトレジスタで構成されており、2
種類のメモリアドレスを七ノ1〜しておくことができ、
アドレスはそれぞれS1ハス(1)から入力する。また
、このメモリアドレスレジスタ(51)にはカウンタ機
能が付いており、12.4のインクリメント及びデクリ
メントが可能である。
第4図は、第7図で示される機能ブロックを図示しない
制御部によって制御するために用いられるクロック信号
をあられしたものである。P I−I APHB、PH
C,PHDは非重複の4和クロツクで、PHAからP
HAまでの期間を1サイクルとする。第7図で示される
各回路は、これらのクロックで制御される。S1バス(
1)及びS2バス(2)はP HAが「1」の期間に有
効となり、Dバス(3)はP HDが「1」の期間に有
効となる。また、ALU(21)、バレルシフタ(11
)、メモリアドレスレジスタ(51)のカウント機能は
PHBおよびP HCの期間に動作するようになってお
り、■サイクルで1回の演算を行うことができる。つま
り、P HAでデータをS1バス(1) 、S 2バス
(2)に出し、それを各演算回路が取り込み、PHB及
びP HCで演算を行う。演算結果は、PHDでDバス
(3)に出力し、それをレジスタが取り込む。また、メ
モリのアクセスについては、メモリがノーウェイトで動
作する場合には1サイクルで行われる。メモリへの凹き
込みやメモリからの読み出しは次のように行われる。メ
モリからの読み出しを指定すると、■サイクルで外部メ
モリからデータが読み出され、次のサイクルのPHAに
はメモリデータレジスタ(41)を介してSlバス(1
)もしくはS2バス(2)に供給することができる。メ
モリへ書き込む場合にはP HDで書き込みデータをメ
モリデータレジスタ(41)に書き込んでおけば、次の
1サイクル中にメモリへの書き込みが行われる。
制御部によって制御するために用いられるクロック信号
をあられしたものである。P I−I APHB、PH
C,PHDは非重複の4和クロツクで、PHAからP
HAまでの期間を1サイクルとする。第7図で示される
各回路は、これらのクロックで制御される。S1バス(
1)及びS2バス(2)はP HAが「1」の期間に有
効となり、Dバス(3)はP HDが「1」の期間に有
効となる。また、ALU(21)、バレルシフタ(11
)、メモリアドレスレジスタ(51)のカウント機能は
PHBおよびP HCの期間に動作するようになってお
り、■サイクルで1回の演算を行うことができる。つま
り、P HAでデータをS1バス(1) 、S 2バス
(2)に出し、それを各演算回路が取り込み、PHB及
びP HCで演算を行う。演算結果は、PHDでDバス
(3)に出力し、それをレジスタが取り込む。また、メ
モリのアクセスについては、メモリがノーウェイトで動
作する場合には1サイクルで行われる。メモリへの凹き
込みやメモリからの読み出しは次のように行われる。メ
モリからの読み出しを指定すると、■サイクルで外部メ
モリからデータが読み出され、次のサイクルのPHAに
はメモリデータレジスタ(41)を介してSlバス(1
)もしくはS2バス(2)に供給することができる。メ
モリへ書き込む場合にはP HDで書き込みデータをメ
モリデータレジスタ(41)に書き込んでおけば、次の
1サイクル中にメモリへの書き込みが行われる。
従来のデータ処理装置を用いたBVMAP命令の繰返し
処理をフローヂャートで示したものが第8図である。な
お、ソース側のアドレスとデスティネーション側のアド
レスは、それぞれメモリアドレスレジスタ1.2(51
)にセットされており、ソース側データの読み出し後に
メモリアドレスレジスタ1 (51)をインクリメント
し、デスティネーション側へのデータの書き込み後にメ
モリアドレスレジスタ2 (51)をインクリメントす
るよう制御されている。また、rXJとr32−XJは
、繰り返し処理に入るまでに計算され、それぞれレジス
タR4(31)とレジスタR5(31)に格納されてい
るものとする。
処理をフローヂャートで示したものが第8図である。な
お、ソース側のアドレスとデスティネーション側のアド
レスは、それぞれメモリアドレスレジスタ1.2(51
)にセットされており、ソース側データの読み出し後に
メモリアドレスレジスタ1 (51)をインクリメント
し、デスティネーション側へのデータの書き込み後にメ
モリアドレスレジスタ2 (51)をインクリメントす
るよう制御されている。また、rXJとr32−XJは
、繰り返し処理に入るまでに計算され、それぞれレジス
タR4(31)とレジスタR5(31)に格納されてい
るものとする。
第1サイクルで、S、、を左シフトするとともにS、、
。、をメモリから読み出す。すなわち、rXJ(レジス
タR4(31))を81ハス(1)を介してシフト幅レ
ジスタ(12)に入力し、S、(レジスタR1(31)
)を82バス(2)を介してバレルシフタ(11)に入
れて、左にrXJビット分論理シフトさせる。
。、をメモリから読み出す。すなわち、rXJ(レジス
タR4(31))を81ハス(1)を介してシフト幅レ
ジスタ(12)に入力し、S、(レジスタR1(31)
)を82バス(2)を介してバレルシフタ(11)に入
れて、左にrXJビット分論理シフトさせる。
シフト結果(S’、、’)はDバス(3)を介してレジ
スタR2(31)に格納する。一方、メモリアドレスレ
ジスタ1 (51)のアドレスでメモリから81.1を
読み出す。
スタR2(31)に格納する。一方、メモリアドレスレ
ジスタ1 (51)のアドレスでメモリから81.1を
読み出す。
第2サイクルで、S n+IをレジスタR1(31)に
退避する。これはS7.1が次回の繰り返し処理でもう
一度使用されるためであり、メモリデータレジスタ(4
1)の値をALU(21)、Dバス(3)を通してレジ
スタR1(31)に格納する。
退避する。これはS7.1が次回の繰り返し処理でもう
一度使用されるためであり、メモリデータレジスタ(4
1)の値をALU(21)、Dバス(3)を通してレジ
スタR1(31)に格納する。
第3サイクルで、S n+1を右シフトする。すなわち
、r32−XJ (レジスタR5(31))を81バ
ス(1)を介してシフト幅レジスタ(12)に入れ、S
、、+ 1(レジスタR1(31))をS2バス(2
)を介してバレルシフタ(11)に入れて、右にr32
−x」ヒツト分論理する。シフト結果(s’、、+)は
Dバス(3)を介してレジスタR3(31)に格納する
。
、r32−XJ (レジスタR5(31))を81バ
ス(1)を介してシフト幅レジスタ(12)に入れ、S
、、+ 1(レジスタR1(31))をS2バス(2
)を介してバレルシフタ(11)に入れて、右にr32
−x」ヒツト分論理する。シフト結果(s’、、+)は
Dバス(3)を介してレジスタR3(31)に格納する
。
第4サイクルで、311とS ’1141 との論理和
をとるとともに、D7をメモリから読み出す。すなわち
、S’ (レジスタR2(31)) とs’、、、
(レジスタR3(31))をそれぞれSlバス(1)、
S2バス(2)に出力し、A L U (21)を用い
て論理和をとる。演算結果(T、’)はDバス(3)を
介してレジスタR3(31)に格納する。一方、メモリ
アドレスレジスタ2 (51)の値を用いてD7を読み
出す。
をとるとともに、D7をメモリから読み出す。すなわち
、S’ (レジスタR2(31)) とs’、、、
(レジスタR3(31))をそれぞれSlバス(1)、
S2バス(2)に出力し、A L U (21)を用い
て論理和をとる。演算結果(T、’)はDバス(3)を
介してレジスタR3(31)に格納する。一方、メモリ
アドレスレジスタ2 (51)の値を用いてD7を読み
出す。
第5サイクルで、DI、とT、1との間で論理演算を行
う。すなわち、Dn (メモリデータレジスタ(41)
)とT、(レジスタR3(31))をそれぞれS1バス
(1)、S2バス(2)に出力し、A L U (21
)を用いて論理演算を行う。演算結果(D’、)はDバ
ス(3)を介してメモリデータレジスタ(41)にセッ
トする。
う。すなわち、Dn (メモリデータレジスタ(41)
)とT、(レジスタR3(31))をそれぞれS1バス
(1)、S2バス(2)に出力し、A L U (21
)を用いて論理演算を行う。演算結果(D’、)はDバ
ス(3)を介してメモリデータレジスタ(41)にセッ
トする。
第6サイクルで、D′1 (メモリデータレジスタ(4
1))が、メモリアドレスレジスタ2 (51)のアド
レスでメモリに書き込まれる。
1))が、メモリアドレスレジスタ2 (51)のアド
レスでメモリに書き込まれる。
以上の処理で、BVMAP命令の繰り返し処理の1回分
が終了する。このように、従来のデータ処理装置を用い
ると1回の繰り返し処理に6サイクル分の処理時間が必
要である。
が終了する。このように、従来のデータ処理装置を用い
ると1回の繰り返し処理に6サイクル分の処理時間が必
要である。
BVMAP命令を高速に実行するためには、1回の繰り
返し処理に要する時間を短縮することが最も有効である
。そのために、前回の繰り返し処理と次回の繰り返し処
理とをオーバーラツプさせながら処理をすすめていくこ
とにより、処理時間を短縮する方法が考えられる。ただ
し、オーバーラツプさせる場合には、それぞれの処理が
使用する演算回路が重ならないようにしなければならな
いが、BVMAR命令の場合には、演算回路としてA
L U (21)とバレルシフタ(11)が使われてお
り、A L U (21)とバレルシフタ(11)を平
行して使用できれば、1回の繰り返し処理に要するサイ
クル数を減らすことができる。ところが、従来のデータ
処理装置ではA L U (21)とバレルシフタ(1
1)の演算結果がどちらもDバス(3)に出力されるた
め、A L U (21)とバレルシフタ(11)とを
同じサイクルで使用することができない。
返し処理に要する時間を短縮することが最も有効である
。そのために、前回の繰り返し処理と次回の繰り返し処
理とをオーバーラツプさせながら処理をすすめていくこ
とにより、処理時間を短縮する方法が考えられる。ただ
し、オーバーラツプさせる場合には、それぞれの処理が
使用する演算回路が重ならないようにしなければならな
いが、BVMAR命令の場合には、演算回路としてA
L U (21)とバレルシフタ(11)が使われてお
り、A L U (21)とバレルシフタ(11)を平
行して使用できれば、1回の繰り返し処理に要するサイ
クル数を減らすことができる。ところが、従来のデータ
処理装置ではA L U (21)とバレルシフタ(1
1)の演算結果がどちらもDバス(3)に出力されるた
め、A L U (21)とバレルシフタ(11)とを
同じサイクルで使用することができない。
また、BVMAP命令の繰り返し処理に要するサイクル
数が短縮された場合には、メモリのアクセスも問題とな
る。BVMAP命令の繰り返し処理には、■ソースの読
み出し、■デスティネーションの読み出し、■デスティ
ネーションへの書き込み、という3回のメモリアクセス
が行われるが、繰り返し処理のサイクル数短縮にともな
ってメモリアクセスは連続したサイクルで行う必要が生
じる。ところが、従来のデータ処理装置では、メモリか
らの読み出し後、連続したサイクルで書き込みを行うこ
とができない。すなわち、nサイクルで読み出しを、r
rrlザイクルで書き込みを行おうとした場合、nサイ
クルのP HDでメモリデータレジスタ(41)に書き
込まれるデータとnサイクルで読み出されてきたデータ
とが衝突するためである。したがって、メモリアクセス
3回に対して、4サイクルが必要となる。
数が短縮された場合には、メモリのアクセスも問題とな
る。BVMAP命令の繰り返し処理には、■ソースの読
み出し、■デスティネーションの読み出し、■デスティ
ネーションへの書き込み、という3回のメモリアクセス
が行われるが、繰り返し処理のサイクル数短縮にともな
ってメモリアクセスは連続したサイクルで行う必要が生
じる。ところが、従来のデータ処理装置では、メモリか
らの読み出し後、連続したサイクルで書き込みを行うこ
とができない。すなわち、nサイクルで読み出しを、r
rrlザイクルで書き込みを行おうとした場合、nサイ
クルのP HDでメモリデータレジスタ(41)に書き
込まれるデータとnサイクルで読み出されてきたデータ
とが衝突するためである。したがって、メモリアクセス
3回に対して、4サイクルが必要となる。
従来のデータ処理装置は以上のように構成されているの
で、ALUとバレルシフタを同一サイクルに使用するこ
とができず、また、メモリからの読み出し後、連続した
サイクルでメモリへの古き込みが行えないため、[3V
MAP命令及びその他の命令に対して処理速度の高速化
を妨げるという問題点があった。
で、ALUとバレルシフタを同一サイクルに使用するこ
とができず、また、メモリからの読み出し後、連続した
サイクルでメモリへの古き込みが行えないため、[3V
MAP命令及びその他の命令に対して処理速度の高速化
を妨げるという問題点があった。
この発明は、以上のような問題点を解決するためになさ
れたもので、[3VMAP命令及びその他の命令を高速
に実行することを目的としている。
れたもので、[3VMAP命令及びその他の命令を高速
に実行することを目的としている。
この発明に係るデータ処理装置は、シフタ(11)のシ
フト結果をシフト方向に応じて別々に格納し、それぞれ
第1.第2のバス(1) 、 (2)への出力経路(P
i)、 (P2)を有するシフトデータレジスタ(1
3) 、 (14)を備えるとともに、A L U (
21)の演算結果を第2のレジスタ(23)に戻す経路
(P3)と、メモリデータレジスタ(41)からメモリ
への書き込みを整置回路(42)を通さずに行う経路(
P4)と、メモリからの;売み出しデータを整置回路(
42)から第1.第2のバス(1) 、 (2)へ出力
する経路(P5)、 (P6)とを備えたものである
。
フト結果をシフト方向に応じて別々に格納し、それぞれ
第1.第2のバス(1) 、 (2)への出力経路(P
i)、 (P2)を有するシフトデータレジスタ(1
3) 、 (14)を備えるとともに、A L U (
21)の演算結果を第2のレジスタ(23)に戻す経路
(P3)と、メモリデータレジスタ(41)からメモリ
への書き込みを整置回路(42)を通さずに行う経路(
P4)と、メモリからの;売み出しデータを整置回路(
42)から第1.第2のバス(1) 、 (2)へ出力
する経路(P5)、 (P6)とを備えたものである
。
この発明におけるデータ処理装置は、上記構成によりA
L U (21)とシフタ(11)を同一サイクルで
使用することが可能となり、さらに、メモリからの読み
出し後連続したサイクルでメモリへの書き込みができる
ため、13VMAP命令及びその他の命令の処理速度を
高速にすることができる。
L U (21)とシフタ(11)を同一サイクルで
使用することが可能となり、さらに、メモリからの読み
出し後連続したサイクルでメモリへの書き込みができる
ため、13VMAP命令及びその他の命令の処理速度を
高速にすることができる。
以下、この発明の一実施例を図について説明する。
第1図は、実施例によるデータ処理装置のデータバス部
において、BVMAP命令の実行に必要な部分のブロッ
ク図である。図において、(1)(2)、 (3)は3
2ビツトのハスであり、それぞれS1ハス(第1のバス
)、S2バス(第2のハス)。
において、BVMAP命令の実行に必要な部分のブロッ
ク図である。図において、(1)(2)、 (3)は3
2ビツトのハスであり、それぞれS1ハス(第1のバス
)、S2バス(第2のハス)。
Dバス(第3のハス)である。(11)は32ビツトの
データを一度に算術/論理シフト及びローテートさせる
ことができるバレルシフタである。(12)はシフト幅
データを格納するためのシフト幅レジスタであり、デー
タを31バス(1)から取り込み、バレルシフタ(11
)に出力する8ビツトのレジスタである。(13) 、
(14)はそれぞれシフトデータレジスタA、シフト
データレジスタBでバレルシフタ(11)で実行された
シフト結果を格納するための32ピントレジスクである
。シフトデータレジスタA (13)には左方向のシフ
ト結果が入り、出力経路(Pl)を介してSlバス(1
)に出力することができる。一方、シフトデータレジス
タB (14)には右方向のシフト結果が入り、出力経
路(P2)を介してS2バス(2)に出力することがで
きる。
データを一度に算術/論理シフト及びローテートさせる
ことができるバレルシフタである。(12)はシフト幅
データを格納するためのシフト幅レジスタであり、デー
タを31バス(1)から取り込み、バレルシフタ(11
)に出力する8ビツトのレジスタである。(13) 、
(14)はそれぞれシフトデータレジスタA、シフト
データレジスタBでバレルシフタ(11)で実行された
シフト結果を格納するための32ピントレジスクである
。シフトデータレジスタA (13)には左方向のシフ
ト結果が入り、出力経路(Pl)を介してSlバス(1
)に出力することができる。一方、シフトデータレジス
タB (14)には右方向のシフト結果が入り、出力経
路(P2)を介してS2バス(2)に出力することがで
きる。
このバレルシフタ(11)には、シフト動作に2種類の
モードがある。ひとつは、シフト方向がシフト幅データ
の符号に依存するモードであり、シフト幅データが正の
数の場合には左方向に、負の数の場合には右方向に、シ
フト幅データの絶対値骨だけシフトを行う。他方は、シ
フト方向がシフト幅データの符号に依存せず、シフト方
向を指定するモードである。この場合、シフト幅はシフ
ト幅データの下位5ビット分が示す値をシフト幅とする
。したがって、シフト幅データが負の値の場合のシフト
幅は、r32−1シフト幅データ1」となる。
モードがある。ひとつは、シフト方向がシフト幅データ
の符号に依存するモードであり、シフト幅データが正の
数の場合には左方向に、負の数の場合には右方向に、シ
フト幅データの絶対値骨だけシフトを行う。他方は、シ
フト方向がシフト幅データの符号に依存せず、シフト方
向を指定するモードである。この場合、シフト幅はシフ
ト幅データの下位5ビット分が示す値をシフト幅とする
。したがって、シフト幅データが負の値の場合のシフト
幅は、r32−1シフト幅データ1」となる。
(21)は算術・論理演算回路(ALU)であり、AL
UレジスタA(22;第1のレジスタ)とALUレジス
タB (23;第2のレジスタ)から送られてくるデー
タ間で加減算及び論理演算を実行し、結果をDバス(3
)もしくは経路(P3)を介してA l t、Jレジス
タB (23)に出力することができる。ALUレジス
タA (22)はS1バス(1)から、ALUレジスタ
B (23)はS2バス(2)からデータを入力するが
、このとき、入力データは33ビツトに符号/ゼロ拡張
される。また、ALUレジスタA (22)とALUレ
ジスタB (23)は、それぞれのレジスタの内容をオ
ールゼロにする機能も備えている。(31)はn個の3
2ビツトレジスタで構成されるレジスフファイルであり
、それぞれのレジスタは、Dバス(3)からの人力経路
と31バス(1)及びS2ハ、Ill。
UレジスタA(22;第1のレジスタ)とALUレジス
タB (23;第2のレジスタ)から送られてくるデー
タ間で加減算及び論理演算を実行し、結果をDバス(3
)もしくは経路(P3)を介してA l t、Jレジス
タB (23)に出力することができる。ALUレジス
タA (22)はS1バス(1)から、ALUレジスタ
B (23)はS2バス(2)からデータを入力するが
、このとき、入力データは33ビツトに符号/ゼロ拡張
される。また、ALUレジスタA (22)とALUレ
ジスタB (23)は、それぞれのレジスタの内容をオ
ールゼロにする機能も備えている。(31)はn個の3
2ビツトレジスタで構成されるレジスフファイルであり
、それぞれのレジスタは、Dバス(3)からの人力経路
と31バス(1)及びS2ハ、Ill。
(2)への出力経路を備えている。(41)はメモリデ
ータレジスタであり、外部メモリに書き込むデータや、
外部メモリから読みだされたデータを格納するためのレ
ジ2スタである。また、メモリデータレジスタ(41)
には整置回路(42)を介した外部データバスとの入出
力経路と、整置回路(42)を通さない外部データバス
への出力経路(P4)とを備えている。(42)はメモ
リデータをワード整置するための整置回路である。この
整置回路(42)にはS1バス(1)及びS2バス(2
)に出力する経路(P5)。
ータレジスタであり、外部メモリに書き込むデータや、
外部メモリから読みだされたデータを格納するためのレ
ジ2スタである。また、メモリデータレジスタ(41)
には整置回路(42)を介した外部データバスとの入出
力経路と、整置回路(42)を通さない外部データバス
への出力経路(P4)とを備えている。(42)はメモ
リデータをワード整置するための整置回路である。この
整置回路(42)にはS1バス(1)及びS2バス(2
)に出力する経路(P5)。
(P6)を備えている。
通常のメモリアクセスは整置回路(42)を通して行わ
れるが、ごの場合には読み出し後に書き込みを連続した
サイクルで行うことはできない。読み出しと雲き込みを
連続したサイクルで行う場合は、読み出されたデータを
整置回路(42)から直接S1ハス(1)もくしはS2
ハス(2)に出力するとともに、…1サイクルでメモリ
データレジスタ(41)にセットされた書き込みデータ
を整置回路(42)を通さない経路(P4)を用いてメ
モリに書き込む。これらの制御は図示しない制御部によ
り行われる。
れるが、ごの場合には読み出し後に書き込みを連続した
サイクルで行うことはできない。読み出しと雲き込みを
連続したサイクルで行う場合は、読み出されたデータを
整置回路(42)から直接S1ハス(1)もくしはS2
ハス(2)に出力するとともに、…1サイクルでメモリ
データレジスタ(41)にセットされた書き込みデータ
を整置回路(42)を通さない経路(P4)を用いてメ
モリに書き込む。これらの制御は図示しない制御部によ
り行われる。
ただし、この場合には整置回路(42)を通らないため
、書き込みデータはワード整置されたデータである必要
がある。
、書き込みデータはワード整置されたデータである必要
がある。
(51)はメモリアドレスレジスタであり、外部メモリ
をアクセスする際にアクセスすべきアドレスをセントす
る32ビツトレジスタである。このメモリアドレスレジ
スタ(51)は2つの32ビツトレジスクで構成されて
おり、2種類のメモリアドレスをセットしておくことが
でき、アドレスはそれぞれS1バス(1)から入力する
。また、このメモリアドレスレジスタ(51)にはカウ
ンタ機能が付いており、l、2.4のインクリメント及
びデクリメントが可能である。
をアクセスする際にアクセスすべきアドレスをセントす
る32ビツトレジスタである。このメモリアドレスレジ
スタ(51)は2つの32ビツトレジスクで構成されて
おり、2種類のメモリアドレスをセットしておくことが
でき、アドレスはそれぞれS1バス(1)から入力する
。また、このメモリアドレスレジスタ(51)にはカウ
ンタ機能が付いており、l、2.4のインクリメント及
びデクリメントが可能である。
第2図は、本実施例のデータ処理装置を用いてBVMA
P命令の繰り返し処理を行ったときの処理シーケンスを
示したフローチャートである。
P命令の繰り返し処理を行ったときの処理シーケンスを
示したフローチャートである。
第3図は、本実施例のデータ処理装置を用いてBVMA
P命令の繰り返し処理をオーハーラソブさせながら実行
したときの処理シーケンスを示したフローチャートであ
る。
P命令の繰り返し処理をオーハーラソブさせながら実行
したときの処理シーケンスを示したフローチャートであ
る。
第4図は、第1図で示されるnKブロックを図示しない
制御部によって制御するために用いられるクロック信号
をあられしたものである。P I−I A 。
制御部によって制御するために用いられるクロック信号
をあられしたものである。P I−I A 。
PHB、PHC,PHDは非重複の4相クロツクで、P
HAからPHAまでの期間を1サイクルとする。第1
図で示される各回路は、これらのクロックで制御される
。Slハス(1)及びS2バス(2)はPHAがrlJ
の期間に有効となり、Dバス(3)はP )(Dが「1
」の期間に有効となる。また、A L [J (21)
、ハレルンフタ(11)、 メモリアドレスレジスタ
(51)のカウント機能はP HB及びP )I Cの
期間に動作するようになっており、lサイクルで1回の
演算を行うことができる。つまり、P )[Aでデータ
をSlハス(1)、S2ハ゛ス(2)に出し、それを各
演算回路が取り込み、PHB及びP II Cで演算を
行う。演算結果はP HDでDハス(3)に出力し、そ
れをレジスタが取り込む。また、メモリのアクセスにつ
いては、メモリがノーウェイトで動作する場合にはlサ
イクルで行われる。通常のメモリへの書き込みやメモリ
からの読み出しは整置回路(42)を介して次のように
行われる。メモリからの読み出しを指定すると、lサイ
クルで外部メモリからデータが読み出され、次のサイク
ルのP l−I Aにはメモリデータレジスタ(41)
を介してSlハス(1)もしくはS2ハス(2)に供給
することができる。メモリへ書き込む場合にはP II
Dで書き込みデータをメモリデータレジスタ(41)
にδき込んでおけば、次のlIす・イクル中にメモリへ
の書き込みが行われる。ただし、読み出し後に連続した
サイクルで書き込みを行う場合には異なる動作をする。
HAからPHAまでの期間を1サイクルとする。第1
図で示される各回路は、これらのクロックで制御される
。Slハス(1)及びS2バス(2)はPHAがrlJ
の期間に有効となり、Dバス(3)はP )(Dが「1
」の期間に有効となる。また、A L [J (21)
、ハレルンフタ(11)、 メモリアドレスレジスタ
(51)のカウント機能はP HB及びP )I Cの
期間に動作するようになっており、lサイクルで1回の
演算を行うことができる。つまり、P )[Aでデータ
をSlハス(1)、S2ハ゛ス(2)に出し、それを各
演算回路が取り込み、PHB及びP II Cで演算を
行う。演算結果はP HDでDハス(3)に出力し、そ
れをレジスタが取り込む。また、メモリのアクセスにつ
いては、メモリがノーウェイトで動作する場合にはlサ
イクルで行われる。通常のメモリへの書き込みやメモリ
からの読み出しは整置回路(42)を介して次のように
行われる。メモリからの読み出しを指定すると、lサイ
クルで外部メモリからデータが読み出され、次のサイク
ルのP l−I Aにはメモリデータレジスタ(41)
を介してSlハス(1)もしくはS2ハス(2)に供給
することができる。メモリへ書き込む場合にはP II
Dで書き込みデータをメモリデータレジスタ(41)
にδき込んでおけば、次のlIす・イクル中にメモリへ
の書き込みが行われる。ただし、読み出し後に連続した
サイクルで書き込みを行う場合には異なる動作をする。
nサイクル中に読み出されたデータは、0士1ザイクル
のP HAでメモリデータレジスタ(41)にセットさ
れることなく、直接整置回路(42)から31バスもし
くはS2バスに出力される。
のP HAでメモリデータレジスタ(41)にセットさ
れることなく、直接整置回路(42)から31バスもし
くはS2バスに出力される。
方、nサイクルのP HDでメモリデータレジスタ(4
1)にセントされた書き込みデータは、0月サイクル中
に整置回路(42)を通さない経路(P、4)を用いて
メモリに四き込まれる。
1)にセントされた書き込みデータは、0月サイクル中
に整置回路(42)を通さない経路(P、4)を用いて
メモリに四き込まれる。
次に、本実施例のデータ処理装置の動作について説明す
る。
る。
従来の技術で述べた[3VMAP命令の繰り返し処理に
対して、本実施例のデータ処理装置を用いると、どのよ
う2な処理シーケンスとなるかを第2図のフローチャー
トを用いて説明する。
対して、本実施例のデータ処理装置を用いると、どのよ
う2な処理シーケンスとなるかを第2図のフローチャー
トを用いて説明する。
なお、ソース側のアドレスとデスティネーション側のア
ドレスは、それぞれメモリアドレスレジスタ1.2(5
1)にセットされており、ソース側データの読み出し後
にメモリアドレスレジスタl(51)をインクリメント
し、デスティネーション側へのデータの書き込み後にメ
モリアドレスレジスタ2 (51)をインクリメントす
るよう制御されている。また、r−(32−X) Jが
繰り返し処理に入るまでに計算され、シフト幅レジスタ
(12)に格納されているものとする。
ドレスは、それぞれメモリアドレスレジスタ1.2(5
1)にセットされており、ソース側データの読み出し後
にメモリアドレスレジスタl(51)をインクリメント
し、デスティネーション側へのデータの書き込み後にメ
モリアドレスレジスタ2 (51)をインクリメントす
るよう制御されている。また、r−(32−X) Jが
繰り返し処理に入るまでに計算され、シフト幅レジスタ
(12)に格納されているものとする。
第1サイクルで、Snを左シフトするとともにS、、。
1をメモリから読み出す。すなわち、S、(レジスタR
1(31))を82バス(2)を介してバレルシフタ(
11)に入力し、左にrXJビット分論理シフトする。
1(31))を82バス(2)を介してバレルシフタ(
11)に入力し、左にrXJビット分論理シフトする。
このとき、バレルシフタ(11)はシフト方向がシフト
幅データの符号に依存しないモードにして、左方向への
シフトを指定する。そうすることによりr−(32−X
) Jは負の値のため、シフト幅がr32−1シフト幅
データl =32132−X l −X」となる。シフ
ト結果(S’、、)はDハス(3)に出力せずにシフト
データレジスタA (13)に格納する。一方、S f
i+−1はメモリアドレスレジスタI(51)の値を用
いてメモリから読み出される。
幅データの符号に依存しないモードにして、左方向への
シフトを指定する。そうすることによりr−(32−X
) Jは負の値のため、シフト幅がr32−1シフト幅
データl =32132−X l −X」となる。シフ
ト結果(S’、、)はDハス(3)に出力せずにシフト
データレジスタA (13)に格納する。一方、S f
i+−1はメモリアドレスレジスタI(51)の値を用
いてメモリから読み出される。
第2サイクルで、Snや、を右シフトすると同時にレジ
スタR1(31)に退避しておく。すなわち、S 、1
.、 (メモリデータレジスタ(41) )を82バス
(2)を介してバレルシフタ(11)に入力し、右にr
32−XJビット分論理シフトする。このとき、バレル
シフタ(11)はシフト幅データの符号に依存するモー
ドにする。すると、r−(32−χ)」は負の値のため
シフト方向は右となり、シフト幅は「32〜×」ビット
となる。シフト結果は、Dバス(3)に出力せずにシフ
トデータレジスタB (14)に格納する。また、SH
I (メモリデータレジスタ(41))は、ALU(
21)、 Dバス(3)を通してレジスタR1(31
)に退避しておく。
スタR1(31)に退避しておく。すなわち、S 、1
.、 (メモリデータレジスタ(41) )を82バス
(2)を介してバレルシフタ(11)に入力し、右にr
32−XJビット分論理シフトする。このとき、バレル
シフタ(11)はシフト幅データの符号に依存するモー
ドにする。すると、r−(32−χ)」は負の値のため
シフト方向は右となり、シフト幅は「32〜×」ビット
となる。シフト結果は、Dバス(3)に出力せずにシフ
トデータレジスタB (14)に格納する。また、SH
I (メモリデータレジスタ(41))は、ALU(
21)、 Dバス(3)を通してレジスタR1(31
)に退避しておく。
第3サイクルで、S+1とS ’ 6 + 1 との論
理和をとり、また、D7をメモリから読み出しておく。
理和をとり、また、D7をメモリから読み出しておく。
すなわち、S′7 (シフトデータレジスタA(13)
)とS”いや、(シフトデータレジスタB (14))
をそれぞれS1バス(1)、S2バス(2)に出力し、
A I−U(21)で論理和をとる。演算結果(Tfi
)はDバス(3)に出力せずに、ALUレジスタB (
23)に戻しておく。一方、Dfiはメモリアドレスレ
ジスタ2(51)のアドレスでメモリから読み出される
。
)とS”いや、(シフトデータレジスタB (14))
をそれぞれS1バス(1)、S2バス(2)に出力し、
A I−U(21)で論理和をとる。演算結果(Tfi
)はDバス(3)に出力せずに、ALUレジスタB (
23)に戻しておく。一方、Dfiはメモリアドレスレ
ジスタ2(51)のアドレスでメモリから読み出される
。
第4サイクルで、DfiとT、lとの間で論理演算を行
う。すなわち、D、、(メモリデータレジスタ(41)
)を31バス(1)を介してALUレジスタA(22)
に入力する。ALUレジスタB (23)には既に第3
サイクルでT。がセットされている。ALU(21)で
論理演算を行い、その結果(D’、、)をDバス(3)
を介してメモリデータレジスタ(41)にセットする。
う。すなわち、D、、(メモリデータレジスタ(41)
)を31バス(1)を介してALUレジスタA(22)
に入力する。ALUレジスタB (23)には既に第3
サイクルでT。がセットされている。ALU(21)で
論理演算を行い、その結果(D’、、)をDバス(3)
を介してメモリデータレジスタ(41)にセットする。
第5サイクルで、D I、をメモリアドレスレジスタ2
(51)のアドレスでメモリに書き込む。
(51)のアドレスでメモリに書き込む。
以上でり、に対する処理は終了である。このように、B
VMAP命令の繰り返し処理1回分には従来技術より1
サイクル少ない5サイクル分の処理が必要であるが、本
実施例のデータ処理装置では、第1サイクルと1回前の
第4サイクルの処理、第2サイクルと1回前の第5サイ
クルの処理をそれぞれオーバーランプさせながら処理で
きるようにすることにより、3サイクル毎に実行するこ
とが可能である。
VMAP命令の繰り返し処理1回分には従来技術より1
サイクル少ない5サイクル分の処理が必要であるが、本
実施例のデータ処理装置では、第1サイクルと1回前の
第4サイクルの処理、第2サイクルと1回前の第5サイ
クルの処理をそれぞれオーバーランプさせながら処理で
きるようにすることにより、3サイクル毎に実行するこ
とが可能である。
次に、BVMAP命令の繰り返し処理をオーバーランプ
させながら実行した場合の処理方法について第3図のフ
ローチャートを用いて説明する。
させながら実行した場合の処理方法について第3図のフ
ローチャートを用いて説明する。
まず、第1サイクルと1回前の第4サイクルとを並列に
処理する。つまり、S7の左シフト及びS7や1のメモ
リからの読み出しと、Dn−1とT++−1との論理和
を同時に行う。S、、の左シフ1−でソフト結果をシフ
トデータレジスタA (13)に格納することによって
、Dバス(3)をDa−+ とT9−9との論理演算結
果(D’、、)のメモリデータレジスタ(41)への格
納に使用できる。また、T n−1をALUレジスタB
(23)に戻しておくことにより、S2バス(2)を
S、、のバレルシフタ(11)への入力に使用できるよ
うになっている。このようにして、第1サイクルと第4
サイクルとの並列処理を可11とにしている。
処理する。つまり、S7の左シフト及びS7や1のメモ
リからの読み出しと、Dn−1とT++−1との論理和
を同時に行う。S、、の左シフ1−でソフト結果をシフ
トデータレジスタA (13)に格納することによって
、Dバス(3)をDa−+ とT9−9との論理演算結
果(D’、、)のメモリデータレジスタ(41)への格
納に使用できる。また、T n−1をALUレジスタB
(23)に戻しておくことにより、S2バス(2)を
S、、のバレルシフタ(11)への入力に使用できるよ
うになっている。このようにして、第1サイクルと第4
サイクルとの並列処理を可11とにしている。
次に、第2サイクルと1回前の第5サイクルを並列に処
理する。つまり、S7゜、の退避及び右シフトと、D’
n−1のメモリへの書き込みが同時に行われる。このサ
イクルで用いられるS、、。、は、整置回路(42)か
ら直接S1ハス(1)に出力され、前サイクルでメモリ
データレジスタ(41)にセットされたD ’n−1は
、整置回路(42)を通らない経路を用いてメモリに書
き込みが行われるため、読み出しデータと書き込みデー
タが衝突することなく読み出しと書き込みを連続したサ
イクルで行われる。
理する。つまり、S7゜、の退避及び右シフトと、D’
n−1のメモリへの書き込みが同時に行われる。このサ
イクルで用いられるS、、。、は、整置回路(42)か
ら直接S1ハス(1)に出力され、前サイクルでメモリ
データレジスタ(41)にセットされたD ’n−1は
、整置回路(42)を通らない経路を用いてメモリに書
き込みが行われるため、読み出しデータと書き込みデー
タが衝突することなく読み出しと書き込みを連続したサ
イクルで行われる。
最後は、第3サイクルの処理のみが行われる。
以上の処理を繰り返すことによって、B VMAP命令
における繰り返し処理をオーバーラツプしながら実行さ
せることができる。
における繰り返し処理をオーバーラツプしながら実行さ
せることができる。
なお、ここではBVMAP命令の処理を例にして本発明
の詳細な説明したが、本発明によるデータ処理装置は、
A L U (21)とバレルシフタ(11)とを平行
して使用したり、読み出しと書き込みを連続したサイク
ルで行うことができるため、このような機能を使用すれ
ば他の命令の処理の高速化に対しても有効である。
の詳細な説明したが、本発明によるデータ処理装置は、
A L U (21)とバレルシフタ(11)とを平行
して使用したり、読み出しと書き込みを連続したサイク
ルで行うことができるため、このような機能を使用すれ
ば他の命令の処理の高速化に対しても有効である。
以上のように、この発明によれば、シフタのシフト結果
をシフト方向に応じて別々に格納し、それぞれ第1.第
2のバスへの出力経路を有するシフトデータレジスタを
備えるとともに、A L Uの演算結果を第2のレジス
タに戻す経路と、メモリデータレジスタからメモリへの
書き込みを整置回路を通さずに行う経路と、メモリから
の読み出しデータを整置回路から第1.第2のハスへ出
力する経路とを備えたことにより、A L Uとシフタ
を同一サイクルで実行することが可能となり、また、メ
モリからの読み出し後の連続したサイクルでメモリへの
書き込みを行うことができるようになるため、BVMA
R命令及びその他の命令の処理速度を高速に実行するデ
ータ処理装置を実現できる。
をシフト方向に応じて別々に格納し、それぞれ第1.第
2のバスへの出力経路を有するシフトデータレジスタを
備えるとともに、A L Uの演算結果を第2のレジス
タに戻す経路と、メモリデータレジスタからメモリへの
書き込みを整置回路を通さずに行う経路と、メモリから
の読み出しデータを整置回路から第1.第2のハスへ出
力する経路とを備えたことにより、A L Uとシフタ
を同一サイクルで実行することが可能となり、また、メ
モリからの読み出し後の連続したサイクルでメモリへの
書き込みを行うことができるようになるため、BVMA
R命令及びその他の命令の処理速度を高速に実行するデ
ータ処理装置を実現できる。
第1図は、本発明のデータ処理装置におけるデータバス
部のうち、BVMAP命令の実行に必要な部分の一実施
例を示すブロック図、第2図は、実施例のデータ処理装
置を用いて[3VMAP命令の繰り返し処理を行う場合
の処理シーケンスを示したフローチャート、第3図は、
実施例のデータ処理装置を用いてBVMAP命令の繰り
返し処理をオーバーラツプさせながら行う場合の処理シ
ーケンスを示したフローチャート、第4図は、データ処
理装置における内部クロックを示した図、第5図はBV
MAR命令の動作を示した図、第6図はBVMAP命令
の繰り返し処理に必要な処理を示した図、第7図は従来
のデータ処理装置におけるデータバス部のうち、BVM
AP命令の実行に必要な部分のブロック図、第8図は従
来のデータ処理装置を用いてBVMAP命令の繰り返し
処理を行う場合の処理シーケンスを示したフローチャー
トである。 図において、(1)はS1ハスく第1のバス)、(2)
はS2バス(第2のハス) 、(3)はDバス(第3の
ハス) 、(11)はバレルシフタ、(12)はシフト
幅レジスタ、(13)はシフトデータレジスタA、(1
4)はシフトデータレジスタB、(21)は算術論理演
算回路(A L U) 、(22)はALUレジスタA
(第1のレジスタ) 、(23)はALUレジスタB(
第2のレジスタ) 、(31)はレジスフファイル、(
41)はメモリデータレジスタ、(42)は整置回路、
(51)はメモリアj−ルスレジスタ、(P l)〜(
P6)は経路である。 なお、図中、同一符号は同一、または相当部分を示す。 代理人 大君 増jit(ほか2名)第2図 第3図 莞6図 纂S図
部のうち、BVMAP命令の実行に必要な部分の一実施
例を示すブロック図、第2図は、実施例のデータ処理装
置を用いて[3VMAP命令の繰り返し処理を行う場合
の処理シーケンスを示したフローチャート、第3図は、
実施例のデータ処理装置を用いてBVMAP命令の繰り
返し処理をオーバーラツプさせながら行う場合の処理シ
ーケンスを示したフローチャート、第4図は、データ処
理装置における内部クロックを示した図、第5図はBV
MAR命令の動作を示した図、第6図はBVMAP命令
の繰り返し処理に必要な処理を示した図、第7図は従来
のデータ処理装置におけるデータバス部のうち、BVM
AP命令の実行に必要な部分のブロック図、第8図は従
来のデータ処理装置を用いてBVMAP命令の繰り返し
処理を行う場合の処理シーケンスを示したフローチャー
トである。 図において、(1)はS1ハスく第1のバス)、(2)
はS2バス(第2のハス) 、(3)はDバス(第3の
ハス) 、(11)はバレルシフタ、(12)はシフト
幅レジスタ、(13)はシフトデータレジスタA、(1
4)はシフトデータレジスタB、(21)は算術論理演
算回路(A L U) 、(22)はALUレジスタA
(第1のレジスタ) 、(23)はALUレジスタB(
第2のレジスタ) 、(31)はレジスフファイル、(
41)はメモリデータレジスタ、(42)は整置回路、
(51)はメモリアj−ルスレジスタ、(P l)〜(
P6)は経路である。 なお、図中、同一符号は同一、または相当部分を示す。 代理人 大君 増jit(ほか2名)第2図 第3図 莞6図 纂S図
Claims (1)
- 【特許請求の範囲】 第1のバスと、第2のバスと、第3のバスと、シフト幅
を示すデータを格納するシフト幅レジスタと、被シフト
データを前記第1のバスもしくは第2のバスから取り込
み、前記シフト幅レジスタのデータを用いて被シフトデ
ータに対してシフト動作を行い、シフト結果を前記第3
のバスに出力するシフタと、前記第1,第2のバスから
第1,第2のレジスタを介して送られてくるデータ間で
算術論理演算を行い、その結果を前記第3のバスに出力
する算術論理演算回路と、前記第3のバスからの入力経
路と前記第1,第2のバスへの出力経路を有し、メモリ
に書き込むデータやメモリから読み出されたデータを格
納するメモリデータレジスタと、このメモリデータレジ
スタとメモリ間にあってメモリデータを整置する整置回
路とを備え、任意長ビットフィールド操作命令を実行す
るデータ処理装置において、 前記シフタのシフト結果をシフト方向に応じて別々に格
納し、それぞれ前記第1,第2のバスへの出力経路を有
するシフトデータレジスタを備えるとともに、前記算術
論理演算回路の演算結果を前記第2のレジスタに戻す経
路と、前記メモリデータレジスタからメモリへの書き込
みを整置回路を通さずに行う経路と、メモリからの読み
出しデータを前記整置回路から第1,第2のバスへ出力
する経路とを備えたことを特徴とするデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1135218A JP2566009B2 (ja) | 1989-05-29 | 1989-05-29 | データ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1135218A JP2566009B2 (ja) | 1989-05-29 | 1989-05-29 | データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH031226A true JPH031226A (ja) | 1991-01-07 |
JP2566009B2 JP2566009B2 (ja) | 1996-12-25 |
Family
ID=15146592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1135218A Expired - Fee Related JP2566009B2 (ja) | 1989-05-29 | 1989-05-29 | データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2566009B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0505884A2 (en) * | 1991-03-29 | 1992-09-30 | Hitachi, Ltd. | Arithmetic circuit, and adaptive filter and echo canceler using it |
CN103204269A (zh) * | 2012-01-12 | 2013-07-17 | 东洋自动机株式会社 | 袋口的开口方法及开口装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59106043A (ja) * | 1982-12-10 | 1984-06-19 | Hitachi Ltd | パイプライン演算回路 |
JPS6255724A (ja) * | 1985-08-30 | 1987-03-11 | アドバンスト・マイクロ・デイバイシズ・インコ−ポレ−テツド | プロセツサ |
JPS6393032A (ja) * | 1986-10-07 | 1988-04-23 | Mitsubishi Electric Corp | シフト回路 |
-
1989
- 1989-05-29 JP JP1135218A patent/JP2566009B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59106043A (ja) * | 1982-12-10 | 1984-06-19 | Hitachi Ltd | パイプライン演算回路 |
JPS6255724A (ja) * | 1985-08-30 | 1987-03-11 | アドバンスト・マイクロ・デイバイシズ・インコ−ポレ−テツド | プロセツサ |
JPS6393032A (ja) * | 1986-10-07 | 1988-04-23 | Mitsubishi Electric Corp | シフト回路 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0505884A2 (en) * | 1991-03-29 | 1992-09-30 | Hitachi, Ltd. | Arithmetic circuit, and adaptive filter and echo canceler using it |
EP0505884A3 (ja) * | 1991-03-29 | 1994-03-09 | Hitachi Ltd | |
CN103204269A (zh) * | 2012-01-12 | 2013-07-17 | 东洋自动机株式会社 | 袋口的开口方法及开口装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2566009B2 (ja) | 1996-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4037213A (en) | Data processor using a four section instruction format for control of multi-operation functions by a single instruction | |
US5465340A (en) | Direct memory access controller handling exceptions during transferring multiple bytes in parallel | |
JPH0786845B2 (ja) | データ処理装置 | |
JPS6351287B2 (ja) | ||
JPH10232779A (ja) | 命令並列処理方法及び装置 | |
JPS58133696A (ja) | 記憶制御方式 | |
JPS58181165A (ja) | ベクトル演算プロセツサ | |
JPS6160133A (ja) | アドレス算出装置 | |
JP3834145B2 (ja) | ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法 | |
JPH0410108B2 (ja) | ||
US7100029B2 (en) | Performing repeat string operations | |
US5546551A (en) | Method and circuitry for saving and restoring status information in a pipelined computer | |
JP3556252B2 (ja) | オフセット合計を計算するデータ処理システムとその方法 | |
JP2690406B2 (ja) | プロセッサおよびデータ処理システム | |
JPH031226A (ja) | データ処理装置 | |
JPH0363092B2 (ja) | ||
EP0334131B1 (en) | Data processor performing operation on data having length shorter than one-word length | |
US5396640A (en) | Boosting method and apparatus in a parallel computer | |
JP3696625B2 (ja) | データ駆動型情報処理装置 | |
JP3278441B2 (ja) | ベクトル処理装置 | |
JP3441847B2 (ja) | データメモリを有するプロセッサ | |
JPS6235142B2 (ja) | ||
JPH0588887A (ja) | データ処理装置 | |
JP3405106B2 (ja) | プログラマブルコントローラ | |
JPH0385636A (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 |
|
LAPS | Cancellation because of no payment of annual fees |