JP2566009B2 - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JP2566009B2 JP2566009B2 JP1135218A JP13521889A JP2566009B2 JP 2566009 B2 JP2566009 B2 JP 2566009B2 JP 1135218 A JP1135218 A JP 1135218A JP 13521889 A JP13521889 A JP 13521889A JP 2566009 B2 JP2566009 B2 JP 2566009B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- bus
- register
- memory
- 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.)
- Expired - Fee Related
Links
Landscapes
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データ処理装置に係わり、特に任意長ビッ
トフィールド操作命令を実行することのできるデータ処
理装置に関する。
トフィールド操作命令を実行することのできるデータ処
理装置に関する。
TRON仕様の命令セットには、以下に示すような任意長
ビットフィールド操作命令と呼ばれる4種類の命令が含
まれている。
ビットフィールド操作命令と呼ばれる4種類の命令が含
まれている。
・BVSCH:ビットフィールドの中から1もしくは0をサー
チする。
チする。
・BVMAP:ビットフィールド間で論理演算を行う。
・BVCPY:ビットフィールド間の転送を行う。
・BVPAT:ビットフィールドに対して、ビットパターンを
繰り返し書き込む。
繰り返し書き込む。
これらの命令は、ウィンドウ操作などのようなビット
マップ処理を高速に行うことを目的とした命令であり、
任意のビットフィールドを指定できる。
マップ処理を高速に行うことを目的とした命令であり、
任意のビットフィールドを指定できる。
本発明は、このような任意長ビットフィールド操作命
令を高速に実行するためになされたもので、特にBVMAP
命令に対して最も有効に作用する。したがって、BVMAP
命令の処理方法を例にして説明を行う。
令を高速に実行するためになされたもので、特にBVMAP
命令に対して最も有効に作用する。したがって、BVMAP
命令の処理方法を例にして説明を行う。
まず、BVMAP命令の動作について第5図を用いて説明
する。操作の対象となるビットフィールドは、ベースア
ドレス、ビットオフセット及びフィールド長によって指
定される。BVMAP命令では、こうして指定されたソース
側のビットフィールドとデスティネーション側のビット
フィールドとの間で各種論理演算を行い、その結果をデ
スティネーション側のビットフィールドに書き込む。
する。操作の対象となるビットフィールドは、ベースア
ドレス、ビットオフセット及びフィールド長によって指
定される。BVMAP命令では、こうして指定されたソース
側のビットフィールドとデスティネーション側のビット
フィールドとの間で各種論理演算を行い、その結果をデ
スティネーション側のビットフィールドに書き込む。
実際にBVMAP命令を実行する場合には、一度にビット
フィールド間の論理演算を行うことはできないので、ビ
ットフィールドをある処理単位に分割し、その処理単位
毎に繰り返し論理演算が実行される。例えば32ビットの
データを扱うデータ処理装置ならば32ビット(=ワー
ド)が処理単位となる。すなわち、デスティネーション
側のビットフィールドをワード整置されたデータに分割
し、分割されたデータ1つ1つに対して、 1:ソース側データの読み出し 2:デスティネーション側データの読み出し 3:論理演算 4:デスティネーション側への書き込み が繰り返し行われる。このように、BVMAP命令ではビッ
トフィールドの両端を除けば、同じ処理の繰り返しによ
って実行される。
フィールド間の論理演算を行うことはできないので、ビ
ットフィールドをある処理単位に分割し、その処理単位
毎に繰り返し論理演算が実行される。例えば32ビットの
データを扱うデータ処理装置ならば32ビット(=ワー
ド)が処理単位となる。すなわち、デスティネーション
側のビットフィールドをワード整置されたデータに分割
し、分割されたデータ1つ1つに対して、 1:ソース側データの読み出し 2:デスティネーション側データの読み出し 3:論理演算 4:デスティネーション側への書き込み が繰り返し行われる。このように、BVMAP命令ではビッ
トフィールドの両端を除けば、同じ処理の繰り返しによ
って実行される。
次に、BVMAP命令における繰り返し処理にはどのよう
な処理が必要であるかを説明する。第6図は、デスティ
ネーション側のビットフィールド中のワード整置された
データの1つであるDnに対する処理を説明したものであ
る。Dnに対応するソース側のビットフィールドはSnとS
n+1にまたがっている。Dnに対する処理は以下のように
なる。
な処理が必要であるかを説明する。第6図は、デスティ
ネーション側のビットフィールド中のワード整置された
データの1つであるDnに対する処理を説明したものであ
る。Dnに対応するソース側のビットフィールドはSnとS
n+1にまたがっている。Dnに対する処理は以下のように
なる。
:Snを左に「X」ビット分だけ論理シフトする。=
S′n ただし、Snは前回の処理でメモリから読み出され、レ
ジスタに格納されている。
S′n ただし、Snは前回の処理でメモリから読み出され、レ
ジスタに格納されている。
:Sn+1をメモリから読み出す。
:Sn+1を次回の処理のためにレジスタに退避してお
く。
く。
:Sn+1を右に「32−X」ビット分だけ論理シフトす
る。=S′n+1 :S′nとS′n+1との論理和をとることによってDnに
対応するソース側のビットフィールドを抽出する。=Tn :Dnをメモリから読み出す。
る。=S′n+1 :S′nとS′n+1との論理和をとることによってDnに
対応するソース側のビットフィールドを抽出する。=Tn :Dnをメモリから読み出す。
:DnとTnとの間で論理演算を行う。=D′n :D′nを再びDnの位置に書き込む。
このように、BVMAP命令の1回の繰り返し処理に8つ
の処理が必要である。
の処理が必要である。
これでは、BVMAP命令の繰り返し処理を、従来のデー
タ処理装置を用いて実現させる場合の処理シーケンスを
説明する。第7図は、従来のデータ処理装置におけるデ
ータバス部のうち、BVMAP命令の実行に必要な部分のブ
ロック図である。図において、(1),(2),(3)
は32ビットのバスであり、それぞれS1バス(第1のバ
ス),S2バス(第2のバス),Dバス(第3のバス)であ
る。(11)は32ビットのデータを一度に算術/論理シフ
ト及びローテートさせることができるバレルシフタであ
り、被シフトデータをS2バス(2)から取り込んで、シ
フト幅レジスタ(12)から送られる値分だけシフトを行
い、結果をDバス(3)に出力する。シフト幅レジスタ
(12)はシフト幅データを格納するためのレジスタであ
り、S1バス(1)から入力し、バレルシフタ(11)へ出
力する。(21)は算術論理演算回路(ALU)であり、ALU
レジスタA(22;第1のレジスタ)とALUレジスタB(2
3;第2のレジスタ)から送られてくるデータ間で加減算
及び論理演算を実行し、結果をDバス(3)に出力す
る。ALUレジスタA(22)はS1バス(1)から,ALUレジ
スタB(23)はS2バス(2)からデータを入力するが、
このとき、入力データは33ビットに符号/ゼロ拡張され
る。また、ALUレジスタA(22)とALUレジスタB(23)
は、それぞれのレジスタの内容をオールゼロにする機能
も備えている。(31)はn個の32ビットレジスタで構成
されるレジスタファイルであり、それぞれのレジスタ
は、Dバス(3)からの入力経路とS1バス(1)及びS2
バス(2)への出力経路を備えている。(41)はメモリ
データレジスタであり、図示しない外部メモリに書き込
むデータや、外部メモリから読みだされたデータを格納
するためのレジスタである。(42)はメモリデータをワ
ード整置するための整置回路であり、メモリをアクセス
する際には必ず整置回路(42)を通して行われる。(5
1)はメモリアドレスレジスタであり、外部メモリをア
クセスする際にアクセスすべきアドレスをセットする32
ビットレジスタである。このメモリアドレスレジスタ
(51)は2つの32ビットレジスタで構成されており、2
種類のメモリアドレスをセットしておくことができ、ア
ドレスはそれぞれS1バス(1)から入力する。また、こ
のメモリアドレスレジスタ(51)にはカウンタ機能が付
いており、1,2,4のインクリメント及びデクリメントが
可能である。
タ処理装置を用いて実現させる場合の処理シーケンスを
説明する。第7図は、従来のデータ処理装置におけるデ
ータバス部のうち、BVMAP命令の実行に必要な部分のブ
ロック図である。図において、(1),(2),(3)
は32ビットのバスであり、それぞれS1バス(第1のバ
ス),S2バス(第2のバス),Dバス(第3のバス)であ
る。(11)は32ビットのデータを一度に算術/論理シフ
ト及びローテートさせることができるバレルシフタであ
り、被シフトデータをS2バス(2)から取り込んで、シ
フト幅レジスタ(12)から送られる値分だけシフトを行
い、結果をDバス(3)に出力する。シフト幅レジスタ
(12)はシフト幅データを格納するためのレジスタであ
り、S1バス(1)から入力し、バレルシフタ(11)へ出
力する。(21)は算術論理演算回路(ALU)であり、ALU
レジスタA(22;第1のレジスタ)とALUレジスタB(2
3;第2のレジスタ)から送られてくるデータ間で加減算
及び論理演算を実行し、結果をDバス(3)に出力す
る。ALUレジスタA(22)はS1バス(1)から,ALUレジ
スタB(23)はS2バス(2)からデータを入力するが、
このとき、入力データは33ビットに符号/ゼロ拡張され
る。また、ALUレジスタA(22)とALUレジスタB(23)
は、それぞれのレジスタの内容をオールゼロにする機能
も備えている。(31)はn個の32ビットレジスタで構成
されるレジスタファイルであり、それぞれのレジスタ
は、Dバス(3)からの入力経路とS1バス(1)及びS2
バス(2)への出力経路を備えている。(41)はメモリ
データレジスタであり、図示しない外部メモリに書き込
むデータや、外部メモリから読みだされたデータを格納
するためのレジスタである。(42)はメモリデータをワ
ード整置するための整置回路であり、メモリをアクセス
する際には必ず整置回路(42)を通して行われる。(5
1)はメモリアドレスレジスタであり、外部メモリをア
クセスする際にアクセスすべきアドレスをセットする32
ビットレジスタである。このメモリアドレスレジスタ
(51)は2つの32ビットレジスタで構成されており、2
種類のメモリアドレスをセットしておくことができ、ア
ドレスはそれぞれS1バス(1)から入力する。また、こ
のメモリアドレスレジスタ(51)にはカウンタ機能が付
いており、1,2,4のインクリメント及びデクリメントが
可能である。
第4図は、第7図で示される機能ブロックを図示しな
い制御部によって制御するために用いられるクロック信
号をあらわしたものである。PHA,PHB,PHC,PHDは非重複
の4相クロックで、PHAからPHAまでの期間を1サイクル
とする。第7図で示される各回路は、これらのクロック
で制御される。S1バス(1)及びS2バス(2)はPHAが
「1」の期間に有効となり、Dバス(3)はPHDが
「1」の期間に有効となる。また、ALU(21),バレル
シフタ(11)、メモリアドレスレジスタ(51)のカウン
ト機能はPHBおよびPHCの期間に動作するようになってお
り、1サイクルで1回の演算を行うことができる。つま
り、PHAでデータをS1バス(1)、S2バス(2)に出
し、それを各演算回路が取り込み、PHB及びPHCで演算を
行う。演算結果は、PHDでDバス(3)に出力し、それ
をレジスタが取り込む。また、メモリのアクセスについ
ては、メモリがノーウェイトで動作する場合には1サイ
クルで行われる。メモリへの書き込みやメモリからの読
み出しは次のように行われる。メモリからの読み出しを
指定すると、1サイクルで外部メモリからデータが読み
出され、次のサイクルのPHAにはメモリデータレジスタ
(41)を介してS1バス(1)もしくはS2バス(2)に供
給することができる。メモリへ書き込む場合にはPHDで
書き込みデータをメモリデータレジスタ(41)に書き込
んでおけば、次の1サイクル中にメモリへの書き込みが
行われる。
い制御部によって制御するために用いられるクロック信
号をあらわしたものである。PHA,PHB,PHC,PHDは非重複
の4相クロックで、PHAからPHAまでの期間を1サイクル
とする。第7図で示される各回路は、これらのクロック
で制御される。S1バス(1)及びS2バス(2)はPHAが
「1」の期間に有効となり、Dバス(3)はPHDが
「1」の期間に有効となる。また、ALU(21),バレル
シフタ(11)、メモリアドレスレジスタ(51)のカウン
ト機能はPHBおよびPHCの期間に動作するようになってお
り、1サイクルで1回の演算を行うことができる。つま
り、PHAでデータをS1バス(1)、S2バス(2)に出
し、それを各演算回路が取り込み、PHB及びPHCで演算を
行う。演算結果は、PHDでDバス(3)に出力し、それ
をレジスタが取り込む。また、メモリのアクセスについ
ては、メモリがノーウェイトで動作する場合には1サイ
クルで行われる。メモリへの書き込みやメモリからの読
み出しは次のように行われる。メモリからの読み出しを
指定すると、1サイクルで外部メモリからデータが読み
出され、次のサイクルのPHAにはメモリデータレジスタ
(41)を介してS1バス(1)もしくはS2バス(2)に供
給することができる。メモリへ書き込む場合にはPHDで
書き込みデータをメモリデータレジスタ(41)に書き込
んでおけば、次の1サイクル中にメモリへの書き込みが
行われる。
従来のデータ処理装置を用いたBVMAP命令の繰返し処
理をフローチャートで示したものが第8図である。な
お、ソース側のアドレスとデスティネーション側のアド
レスは、それぞれメモリアドレスレジスタ1,2(51)に
セットされており、ソース側データの読み出し後にメモ
リアドレスレジスタ1(51)をインクリメントし、デス
ティネーション側へのデータの書き込み後にメモリアド
レスレジスタ2(51)をインクリメントするよう制御さ
れている。また、「X」と「32−X」は、繰り返し処理
に入るまでに計算され、それぞれレジスタR4(31)とレ
ジスタR5(31)に格納されているものとする。
理をフローチャートで示したものが第8図である。な
お、ソース側のアドレスとデスティネーション側のアド
レスは、それぞれメモリアドレスレジスタ1,2(51)に
セットされており、ソース側データの読み出し後にメモ
リアドレスレジスタ1(51)をインクリメントし、デス
ティネーション側へのデータの書き込み後にメモリアド
レスレジスタ2(51)をインクリメントするよう制御さ
れている。また、「X」と「32−X」は、繰り返し処理
に入るまでに計算され、それぞれレジスタR4(31)とレ
ジスタR5(31)に格納されているものとする。
第1サイクルで、Snを左シフトするとともにSn+1をメ
モリから読み出す。すなわち、「X」(レジスタR4(3
1))をS1バス(1)を介してシフト幅レジスタ(12)
に入力し、Sn(レジスタR1(31))をS2バス(2)を介
してバレルシフタ(11)に入れて、左に「X」ビット分
論理シフトさせる。シフト結果(S′n)はDバス
(3)を介してレジスタR2(31)に格納する。一方、メ
モリアドレスレジスタ1(51)のアドレスでメモリから
Sn+1を読み出す。
モリから読み出す。すなわち、「X」(レジスタR4(3
1))をS1バス(1)を介してシフト幅レジスタ(12)
に入力し、Sn(レジスタR1(31))をS2バス(2)を介
してバレルシフタ(11)に入れて、左に「X」ビット分
論理シフトさせる。シフト結果(S′n)はDバス
(3)を介してレジスタR2(31)に格納する。一方、メ
モリアドレスレジスタ1(51)のアドレスでメモリから
Sn+1を読み出す。
第2サイクルで、Sn+1をレジスタR1(31)に退避す
る。これはSn+1が次回の繰り返し処理でもう一度使用さ
れるためであり、メモリデータレジスタ(41)の値をAL
U(21),Dバス(3)を通してレジスタR1(31)に格納
する。
る。これはSn+1が次回の繰り返し処理でもう一度使用さ
れるためであり、メモリデータレジスタ(41)の値をAL
U(21),Dバス(3)を通してレジスタR1(31)に格納
する。
第3サイクルで、Sn+1を右シフトする。すなわち、
「32−X」(レジスタR5(31))をS1バス(1)を介し
てシフト幅レジスタ(12)に入れ、Sn+1(レジスタR1
(31))をS2バス(2)を介してバレルシフタ(11)に
入れて、右に「32−X」ビット分論理する。シフト結果
(S′n+1)はDバス(3)を介してレジスタR3(31)
に格納する。
「32−X」(レジスタR5(31))をS1バス(1)を介し
てシフト幅レジスタ(12)に入れ、Sn+1(レジスタR1
(31))をS2バス(2)を介してバレルシフタ(11)に
入れて、右に「32−X」ビット分論理する。シフト結果
(S′n+1)はDバス(3)を介してレジスタR3(31)
に格納する。
第4サイクルで、S′nとS′n+1との論理和をとる
とともに、Dnをメモリから読み出す。すなわち、S′n
(レジスタR2(31))とS′n+1(レジスタR3(31))
をそれぞれS1バス(1),S2バス(2)に出力し、ALU
(21)を用いて論理和をとる。演算結果(Tn)はDバス
(3)を介してレジスタR3(31)に格納する。一方、メ
モリアドレスレジスタ2(51)の値を用いてDnを読み出
す。
とともに、Dnをメモリから読み出す。すなわち、S′n
(レジスタR2(31))とS′n+1(レジスタR3(31))
をそれぞれS1バス(1),S2バス(2)に出力し、ALU
(21)を用いて論理和をとる。演算結果(Tn)はDバス
(3)を介してレジスタR3(31)に格納する。一方、メ
モリアドレスレジスタ2(51)の値を用いてDnを読み出
す。
第5サイクルで、DnとTnとの間で論理演算を行う。す
なわち、Dn(メモリデータレジスタ(41))とTn(レシ
スタR3(31))をそれぞれS1バス(1),S2バス(2)
に出力し、ALU(21)を用いて論理演算を行う。演算結
果(D′n)はDバス(3)を介してメモリデータレジ
スタ(41)にセットする。
なわち、Dn(メモリデータレジスタ(41))とTn(レシ
スタR3(31))をそれぞれS1バス(1),S2バス(2)
に出力し、ALU(21)を用いて論理演算を行う。演算結
果(D′n)はDバス(3)を介してメモリデータレジ
スタ(41)にセットする。
第6サイクルで、D′n(メモリデータレジスタ(4
1))が、メモリアドレスレジスタ2(51)のアドレス
でメモリに書き込まれる。
1))が、メモリアドレスレジスタ2(51)のアドレス
でメモリに書き込まれる。
以上の処理で、BVMAP命令の繰り返し処理の1回分が
終了する。このように、従来のデータ処理装置を用いる
と1回の繰り返し処理に6サイクル分の処理時間が必要
である。
終了する。このように、従来のデータ処理装置を用いる
と1回の繰り返し処理に6サイクル分の処理時間が必要
である。
BVMAP命令を高速に実行するためには、1回の繰り返
し処理に要する時間を短縮することが最も有効である。
そのために、前回の繰り返し処理と次回の繰り返し処理
とをオーバーラップさせながら処理をすすめていくこと
により、処理時間を短縮する方法が考えられる。ただ
し、オーバーラップさせる場合には、それぞれの処理が
使用する演算回路が重ならないようにしなければならな
いが、BVMAP命令の場合には、演算回路としてALU(21)
とバレルシフタ(11)が使われており、ALU(21)とバ
レルシフタ(11)を平行して使用できれば、1回の繰り
返し処理に要するサイクル数を減らすことができる。と
ころが、従来のデータ処理装置ではALU(21)とバレル
シフタ(11)の演算結果がどちらもDバス(3)に出力
されるため、ALU(21)とバレルシフタ(11)とを同じ
サイクルで使用することができない。
し処理に要する時間を短縮することが最も有効である。
そのために、前回の繰り返し処理と次回の繰り返し処理
とをオーバーラップさせながら処理をすすめていくこと
により、処理時間を短縮する方法が考えられる。ただ
し、オーバーラップさせる場合には、それぞれの処理が
使用する演算回路が重ならないようにしなければならな
いが、BVMAP命令の場合には、演算回路としてALU(21)
とバレルシフタ(11)が使われており、ALU(21)とバ
レルシフタ(11)を平行して使用できれば、1回の繰り
返し処理に要するサイクル数を減らすことができる。と
ころが、従来のデータ処理装置ではALU(21)とバレル
シフタ(11)の演算結果がどちらもDバス(3)に出力
されるため、ALU(21)とバレルシフタ(11)とを同じ
サイクルで使用することができない。
また、BVMAP命令の繰り返し処理に要するサイクル数
が短縮された場合には、メモリのアクセスも問題とな
る。BVMAP命令の繰り返し処理には、ソースの読み出
し、デスティネーションの読み出し、デスティネー
ションへの書き込み、という3回のメモリアクセスが行
われるが、繰り返し処理のサイクル数短縮にともなって
メモリアクセスは連続したサイクルで行う必要が生じ
る。ところが、従来のデータ処理装置では、メモリから
の読み出し後、連続したサイクルで書き込みを行うこと
ができない。すなわち、nサイクルで読み出しを,n+1
サイクルで書き込みを行おうとした場合、nサイクルの
PHDでメモリデータレジスタ(41)に書き込まれるデー
タとnサイクルで読み出されてきたデータとが衝突する
ためである。したがって、メモリアクセス3回に対し
て、4サイクルが必要となる。
が短縮された場合には、メモリのアクセスも問題とな
る。BVMAP命令の繰り返し処理には、ソースの読み出
し、デスティネーションの読み出し、デスティネー
ションへの書き込み、という3回のメモリアクセスが行
われるが、繰り返し処理のサイクル数短縮にともなって
メモリアクセスは連続したサイクルで行う必要が生じ
る。ところが、従来のデータ処理装置では、メモリから
の読み出し後、連続したサイクルで書き込みを行うこと
ができない。すなわち、nサイクルで読み出しを,n+1
サイクルで書き込みを行おうとした場合、nサイクルの
PHDでメモリデータレジスタ(41)に書き込まれるデー
タとnサイクルで読み出されてきたデータとが衝突する
ためである。したがって、メモリアクセス3回に対し
て、4サイクルが必要となる。
従来のデータ処理装置は以上のように構成されている
ので、ALUとバレルシフタを同一サイクルに使用するこ
とができず、また、メモリからの読み出し後、連続した
サイクルでメモリへの書き込みが行えないため、BVMAP
命令及びその他の命令に対して処理速度の高速化を妨げ
るという問題点があった。
ので、ALUとバレルシフタを同一サイクルに使用するこ
とができず、また、メモリからの読み出し後、連続した
サイクルでメモリへの書き込みが行えないため、BVMAP
命令及びその他の命令に対して処理速度の高速化を妨げ
るという問題点があった。
この発明は、以上のような問題点を解決するためにな
されたもので、BVMAP命令及びその他の命令を高速に実
行することを目的としている。
されたもので、BVMAP命令及びその他の命令を高速に実
行することを目的としている。
この発明に係るデータ処理装置は、シフタ(11)のシ
フト結果をシフト方向に応じて別々に格納し、それぞれ
第1,第2のバス(1),(2)への出力経路(P1),
(P2)を有するシフトデータレジスタ(13),(14)を
備えるとともに、ALU(21)の演算結果を第2のレジス
タ(23)に戻す経路(P3)と、メモリデータレジスタ
(41)からメモリへの書き込みを装置回路(42)を通さ
ずに行う経路(P4)と、メモリからの読み出しデータを
整置回路(42)から第1,第2のバス(1),(2)へ出
力する経路(P5),(P6)とを備えたものである。
フト結果をシフト方向に応じて別々に格納し、それぞれ
第1,第2のバス(1),(2)への出力経路(P1),
(P2)を有するシフトデータレジスタ(13),(14)を
備えるとともに、ALU(21)の演算結果を第2のレジス
タ(23)に戻す経路(P3)と、メモリデータレジスタ
(41)からメモリへの書き込みを装置回路(42)を通さ
ずに行う経路(P4)と、メモリからの読み出しデータを
整置回路(42)から第1,第2のバス(1),(2)へ出
力する経路(P5),(P6)とを備えたものである。
この発明におけるデータ処理装置は、上記構成により
ALU(21)とシフタ(11)を同一サイクルで使用するこ
とが可能となり、さらに、メモリからの読み出し後連続
したサイクルでメモリへの書き込みができるため、BVMA
P命令及びその他の命令の処理速度を高速にすることが
できる。
ALU(21)とシフタ(11)を同一サイクルで使用するこ
とが可能となり、さらに、メモリからの読み出し後連続
したサイクルでメモリへの書き込みができるため、BVMA
P命令及びその他の命令の処理速度を高速にすることが
できる。
以下、この発明の一実施例を図について説明する。
第1図は、実施例によるデータ処理装置のデータパス
部において、BVMAP命令の実行に必要な部分のブロック
図である。図において、(1),(2),(3)は32ビ
ットのバスであり、それぞれS1バス(第1のバス),S2
バス(第2のバス),Dバス(第3のバス)である。(1
1)は32ビットのデータを一度に算術/論理シフト及び
ローテートさせることができるバレルシフタである。
(12)はシフト幅データを格納するためのシフト幅レジ
スタであり、データをS1バス(1)から取り込み、バレ
ルシフタ(11)に出力する8ビットのレジスタである。
(13),(14)はそれぞれシフトデータレジスタA,シフ
トデータレジスタBでバレルシフタ(11)で実行された
シフト結果を格納するための32ビットレジスタである。
シフトデータレジスタA(13)には左方向のシフト結果
が入り、出力経路(P1)を介してS1バス(1)に出力す
ることができる。一方、シフトデータレジスタB(14)
には右方向のシフト結果が入り、出力経路(P2)を介し
てS2バス(2)に出力することができる。
部において、BVMAP命令の実行に必要な部分のブロック
図である。図において、(1),(2),(3)は32ビ
ットのバスであり、それぞれS1バス(第1のバス),S2
バス(第2のバス),Dバス(第3のバス)である。(1
1)は32ビットのデータを一度に算術/論理シフト及び
ローテートさせることができるバレルシフタである。
(12)はシフト幅データを格納するためのシフト幅レジ
スタであり、データをS1バス(1)から取り込み、バレ
ルシフタ(11)に出力する8ビットのレジスタである。
(13),(14)はそれぞれシフトデータレジスタA,シフ
トデータレジスタBでバレルシフタ(11)で実行された
シフト結果を格納するための32ビットレジスタである。
シフトデータレジスタA(13)には左方向のシフト結果
が入り、出力経路(P1)を介してS1バス(1)に出力す
ることができる。一方、シフトデータレジスタB(14)
には右方向のシフト結果が入り、出力経路(P2)を介し
てS2バス(2)に出力することができる。
このバレルシフタ(11)には、シフト動作に2種類の
モードがある。ひとつは、シフト方向がシフト幅データ
の符号に依存するモードであり、シフト幅データが正の
数の場合には左方向に,負の数の場合には右方向に、シ
フト幅データの絶対値分だけシフトを行う。他方は、シ
フト方向がシフト幅データの符号に依存せず、シフト方
向を指定するモードである。この場合、シフト幅はシフ
ト幅データの下位5ビット分が示す値をシフト幅とす
る。したがって、シフト幅データが負の値の場合のシフ
ト幅は、「32−|シフト幅データ|」となる。
モードがある。ひとつは、シフト方向がシフト幅データ
の符号に依存するモードであり、シフト幅データが正の
数の場合には左方向に,負の数の場合には右方向に、シ
フト幅データの絶対値分だけシフトを行う。他方は、シ
フト方向がシフト幅データの符号に依存せず、シフト方
向を指定するモードである。この場合、シフト幅はシフ
ト幅データの下位5ビット分が示す値をシフト幅とす
る。したがって、シフト幅データが負の値の場合のシフ
ト幅は、「32−|シフト幅データ|」となる。
(21)は算術・論理演算回路(ALU)であり、ALUレジ
スタA(22;第1のレジスタ)とALUレジスタB(23;第
2のレジスタ)から送られてくるデータ間で加減算及び
論理演算を実行し、結果をDバス(3)もしくは経路
(P3)を介してALUレジスタB(23)に出力することが
できる。ALUレジスタA(22)はS1バス(1)から,ALU
レジスタB(23)はS2バス(2)からデータを入力する
が、このとき、入力データは33ビットに符号/ゼロ拡張
される。また、ALUレジスタA(22)とALUレジスタB
(23)は、それぞれのレジスタの内容をオールゼロにす
る機能も備えている。(31)はn個の32ビットレジスタ
で構成されるレジスタファイルであり、それぞれのレジ
スタは、Dバス(3)からの入力経路とS1バス(1)及
びS2バス(2)への出力経路を備えている。(41)はメ
モリデータレジスタであり、外部メモリに書き込むデー
タや,外部メモリから読みだされたデータを格納するた
めのレジスタである。また、メモリデータレジスタ(4
1)には整置回路(42)を介した外部データバスとの入
出力経路と、整置回路(42)を通さない外部データバス
への出力経路(P4)とを備えている。(42)はメモリデ
ータをワード整置するための整置回路である。この整置
回路(42)にはS1バス(1)及びS2バス(2)に出力す
る経路(P5),(P6)を備えている。
スタA(22;第1のレジスタ)とALUレジスタB(23;第
2のレジスタ)から送られてくるデータ間で加減算及び
論理演算を実行し、結果をDバス(3)もしくは経路
(P3)を介してALUレジスタB(23)に出力することが
できる。ALUレジスタA(22)はS1バス(1)から,ALU
レジスタB(23)はS2バス(2)からデータを入力する
が、このとき、入力データは33ビットに符号/ゼロ拡張
される。また、ALUレジスタA(22)とALUレジスタB
(23)は、それぞれのレジスタの内容をオールゼロにす
る機能も備えている。(31)はn個の32ビットレジスタ
で構成されるレジスタファイルであり、それぞれのレジ
スタは、Dバス(3)からの入力経路とS1バス(1)及
びS2バス(2)への出力経路を備えている。(41)はメ
モリデータレジスタであり、外部メモリに書き込むデー
タや,外部メモリから読みだされたデータを格納するた
めのレジスタである。また、メモリデータレジスタ(4
1)には整置回路(42)を介した外部データバスとの入
出力経路と、整置回路(42)を通さない外部データバス
への出力経路(P4)とを備えている。(42)はメモリデ
ータをワード整置するための整置回路である。この整置
回路(42)にはS1バス(1)及びS2バス(2)に出力す
る経路(P5),(P6)を備えている。
通常のメモリアクセスは整置回路(42)を通して行わ
れるが、この場合には読み出し後に書き込みを連続した
サイクルで行うことはできない。読み出しと書き込みを
連続したサイクルで行う場合は、読み出されたデータを
整置回路(42)から直接S1バス(1)もしくはS2バス
(2)に出力するとともに、前サイクルでメモリデータ
レジスタ(41)にセットされた書き込みデータを整置回
路(42)を通さない経路(P4)を用いてメモリに書き込
む。これらの制御は図示しない制御部により行われる。
ただし、この場合には整置回路(42)を通らないため、
書き込みデータはワード整置されたデータである必要が
ある。
れるが、この場合には読み出し後に書き込みを連続した
サイクルで行うことはできない。読み出しと書き込みを
連続したサイクルで行う場合は、読み出されたデータを
整置回路(42)から直接S1バス(1)もしくはS2バス
(2)に出力するとともに、前サイクルでメモリデータ
レジスタ(41)にセットされた書き込みデータを整置回
路(42)を通さない経路(P4)を用いてメモリに書き込
む。これらの制御は図示しない制御部により行われる。
ただし、この場合には整置回路(42)を通らないため、
書き込みデータはワード整置されたデータである必要が
ある。
(51)はメモリアドレスレジスタであり、外部メモリ
をアクセスする際にアクセスすべきアドレスをセットす
る32ビットレジスタである。このメモリアドレスレジス
タ(51)は2つの32ビットレジスタで構成されており、
2種類のメモリアドレスをセットしておくことができ、
アドレスはそれぞれS1バス(1)から入力する。また、
このメモリアドレスレジスタ(51)にはカウンタ機能が
付いており、1,2,4のインクリメント及びデクリメント
が可能である。
をアクセスする際にアクセスすべきアドレスをセットす
る32ビットレジスタである。このメモリアドレスレジス
タ(51)は2つの32ビットレジスタで構成されており、
2種類のメモリアドレスをセットしておくことができ、
アドレスはそれぞれS1バス(1)から入力する。また、
このメモリアドレスレジスタ(51)にはカウンタ機能が
付いており、1,2,4のインクリメント及びデクリメント
が可能である。
第2図は、本実施例のデータ処理装置を用いてBVMAP
命令の繰り返し処理を行ったときの処理シーケンスを示
したフローチャートである。
命令の繰り返し処理を行ったときの処理シーケンスを示
したフローチャートである。
第3図は、本実施例のデータ処理装置を用いてBVMAP
命令の繰り返し処理をオーバーラップさせながら実行し
たときの処理シーケンスを示したフローチャートであ
る。
命令の繰り返し処理をオーバーラップさせながら実行し
たときの処理シーケンスを示したフローチャートであ
る。
第4図は、第1図で示される機能ブロックを図示しな
い制御部によって制御するために用いられるクロック信
号をあらわしたものである。PHA,PHB,PHC,PHDは非重複
の4相クロックで、PHAからPHAまでの期間を1サイクル
とする。第1図で示される各回路は、これらのクロック
で制御される。S1バス(1)及びS2バス(2)はPHAが
「1」の期間に有効となり、Dバス(3)はPHDが
「1」の期間に有効となる。また、ALU(21),バレル
シフタ(11),メモリアドレスレジスタ(51)のカウン
ト機能はPHB及びPHCの期間に動作するようになってお
り、1サイクルで1回の演算を行うことができる。つま
り、PHAでデータをS1バス(1),S2バス(2)に出し、
それを各演算回路が取り込み、PHB及びPHCで演算を行
う。演算結果はPHDでDバス(3)に出力し、それをレ
ジスタが取り込む。また、メモリのアクセスについて
は、メモリがノーウェイトで動作する場合には1サイク
ルで行われる。通常のメモリへの書き込みやメモリから
の読み出しは整置回路(42)を介して次のように行われ
る。メモリからの読み出しを指定すると、1サイクルで
外部メモリからデータが読み出され、次のサイクルのPH
Aにはメモリデータレジスタ(41)を介してS1バス
(1)もしくはS2バス(2)に供給することができる。
メモリへ書き込む場合にはPHDで書き込みデータをメモ
リデータレジスタ(41)に書き込んでおけば、次の1サ
イクル中にメモリへの書き込みが行われる。ただし、読
み出し後に連続したサイクルで書き込みを行う場合には
異なる動作をする。nサイクル中に読み出されたデータ
は、n+1サイクルのPHAでメモリデータレジスタ(4
1)にセットされることなく、直接整置回路(42)からS
1バスもしくはS2バスに出力される。一方、nサイクル
のPHDでメモリデータレジスタ(41)にセットされた書
き込みデータは、n+1サイクル中に整置回路(42)を
通さない経路(P4)を用いてメモリに書き込まれる。
い制御部によって制御するために用いられるクロック信
号をあらわしたものである。PHA,PHB,PHC,PHDは非重複
の4相クロックで、PHAからPHAまでの期間を1サイクル
とする。第1図で示される各回路は、これらのクロック
で制御される。S1バス(1)及びS2バス(2)はPHAが
「1」の期間に有効となり、Dバス(3)はPHDが
「1」の期間に有効となる。また、ALU(21),バレル
シフタ(11),メモリアドレスレジスタ(51)のカウン
ト機能はPHB及びPHCの期間に動作するようになってお
り、1サイクルで1回の演算を行うことができる。つま
り、PHAでデータをS1バス(1),S2バス(2)に出し、
それを各演算回路が取り込み、PHB及びPHCで演算を行
う。演算結果はPHDでDバス(3)に出力し、それをレ
ジスタが取り込む。また、メモリのアクセスについて
は、メモリがノーウェイトで動作する場合には1サイク
ルで行われる。通常のメモリへの書き込みやメモリから
の読み出しは整置回路(42)を介して次のように行われ
る。メモリからの読み出しを指定すると、1サイクルで
外部メモリからデータが読み出され、次のサイクルのPH
Aにはメモリデータレジスタ(41)を介してS1バス
(1)もしくはS2バス(2)に供給することができる。
メモリへ書き込む場合にはPHDで書き込みデータをメモ
リデータレジスタ(41)に書き込んでおけば、次の1サ
イクル中にメモリへの書き込みが行われる。ただし、読
み出し後に連続したサイクルで書き込みを行う場合には
異なる動作をする。nサイクル中に読み出されたデータ
は、n+1サイクルのPHAでメモリデータレジスタ(4
1)にセットされることなく、直接整置回路(42)からS
1バスもしくはS2バスに出力される。一方、nサイクル
のPHDでメモリデータレジスタ(41)にセットされた書
き込みデータは、n+1サイクル中に整置回路(42)を
通さない経路(P4)を用いてメモリに書き込まれる。
次に、本実施例のデータ処理装置の動作について説明
する。
する。
従来の技術で述べたBVMAP命令の繰り返し処理に対し
て、本実施例のデータ処理装置を用いると、どのような
処理シーケンスとなるかを第2図のフローチャートを用
いて説明する。
て、本実施例のデータ処理装置を用いると、どのような
処理シーケンスとなるかを第2図のフローチャートを用
いて説明する。
なお、ソース側のアドレスとデスティネーション側の
アドレスは、それぞれメモリアドレスレジスタ1,2(5
1)にセットされており、ソース側データの読み出し後
にメモリアドレスレジスタ1(51)をインクリメント
し、デスティネーション側へのデータの書き込み後にメ
モリアドレスレジスタ2(51)をインクリメントするよ
う制御されている。また、「−(31−X)」が繰り返し
処理に入るまでに計算され、シフト幅レジスタ(12)に
格納されているものとする。
アドレスは、それぞれメモリアドレスレジスタ1,2(5
1)にセットされており、ソース側データの読み出し後
にメモリアドレスレジスタ1(51)をインクリメント
し、デスティネーション側へのデータの書き込み後にメ
モリアドレスレジスタ2(51)をインクリメントするよ
う制御されている。また、「−(31−X)」が繰り返し
処理に入るまでに計算され、シフト幅レジスタ(12)に
格納されているものとする。
第1サイクルで、Snを左シフトするとともにSn+1をメ
モリから読み出す。すなわち、Sn(レジスタR1(31))
をS2バス(2)を介してバレルシフタ(11)に入力し、
左に「X」ビット分論理シフトする。このとき、バレル
シフタ(11)はシフト方向がシフト幅データの符号に依
存しないモードにして、左方向へのシフトを指定する。
そうすることにより「−(32−X)」は負の値のため、
シフト幅が「32−|シフト幅データ|=32−|32−X|=
X」となる。シフト結果(S′n)はDバス(3)に出
力せずにシフトデータレジスタA(13)に格納する。一
方、Sn+1はメモリアドレスレジスタ1(51)の値を用い
てメモリから読み出される。
モリから読み出す。すなわち、Sn(レジスタR1(31))
をS2バス(2)を介してバレルシフタ(11)に入力し、
左に「X」ビット分論理シフトする。このとき、バレル
シフタ(11)はシフト方向がシフト幅データの符号に依
存しないモードにして、左方向へのシフトを指定する。
そうすることにより「−(32−X)」は負の値のため、
シフト幅が「32−|シフト幅データ|=32−|32−X|=
X」となる。シフト結果(S′n)はDバス(3)に出
力せずにシフトデータレジスタA(13)に格納する。一
方、Sn+1はメモリアドレスレジスタ1(51)の値を用い
てメモリから読み出される。
第2サイクルで、Sn+1を右シフトすると同時にレジス
タR1(31)に退避しておく。すなわち、Sn+1(メモリデ
ータレジスタ(41))をS2バス(2)を介してバレルシ
フタ(11)に入力し、右に「32−X」ビット分論理シフ
トする。このとき、バレルシフタ(11)はシフト幅デー
タの符号に依存するモードにする。すると、「−(32−
X)」は負の値のためシフト方向は右となり、シフト幅
は「32−X」ビットとなる。シフト結果は、Dバス
(3)に出力せずにシフトデータレジスタB(14)に格
納する。また、Sn+1(メモリデータレジスタ(41))
は、ALU(21),Dバス(3)を通してレジスタR1(31)
に退避しておく。
タR1(31)に退避しておく。すなわち、Sn+1(メモリデ
ータレジスタ(41))をS2バス(2)を介してバレルシ
フタ(11)に入力し、右に「32−X」ビット分論理シフ
トする。このとき、バレルシフタ(11)はシフト幅デー
タの符号に依存するモードにする。すると、「−(32−
X)」は負の値のためシフト方向は右となり、シフト幅
は「32−X」ビットとなる。シフト結果は、Dバス
(3)に出力せずにシフトデータレジスタB(14)に格
納する。また、Sn+1(メモリデータレジスタ(41))
は、ALU(21),Dバス(3)を通してレジスタR1(31)
に退避しておく。
第3サイクルで、S′nとS′n+1との論理和をと
り、また、Dnをメモリから読み出しておく。すなわち、
S′n(シフトデータレジスタA(13))とS′
n+1(シフトデータレジスタB(14))をそれぞれS1バ
ス(1),S2バス(2)に出力し、ALU(21)で論理和を
とる。演算結果(Tn)はDバス(3)に出力せずに、AL
UレジスタB(23)に戻しておく。一方、Dnはメモリア
ドレスレジスタ2(51)のアドレスでメモリから読み出
される。
り、また、Dnをメモリから読み出しておく。すなわち、
S′n(シフトデータレジスタA(13))とS′
n+1(シフトデータレジスタB(14))をそれぞれS1バ
ス(1),S2バス(2)に出力し、ALU(21)で論理和を
とる。演算結果(Tn)はDバス(3)に出力せずに、AL
UレジスタB(23)に戻しておく。一方、Dnはメモリア
ドレスレジスタ2(51)のアドレスでメモリから読み出
される。
第4サイクルで、DnとTnとの間で論理演算を行う。す
なわち、Dn(メモリデータレジスタ(41))をS1バス
(1)を介してALUレジスタA(22)に入力する。ALUレ
ジスタB(23)には既に第3サイクルでTnがセットされ
ている。ALU(21)で論理演算を行い、その結果(D′
n)をDバス(3)を介してメモリデータレジスタ(4
1)にセットする。
なわち、Dn(メモリデータレジスタ(41))をS1バス
(1)を介してALUレジスタA(22)に入力する。ALUレ
ジスタB(23)には既に第3サイクルでTnがセットされ
ている。ALU(21)で論理演算を行い、その結果(D′
n)をDバス(3)を介してメモリデータレジスタ(4
1)にセットする。
第5サイクルで、D′nをメモリアドレスレジスタ2
(51)のアドレスでメモリに書き込む。
(51)のアドレスでメモリに書き込む。
以上でDnに対する処理は終了である。このように、BV
MAP命令の繰り返し処理1回分には従来技術より1サイ
クル少ない5サイクル分の処理が必要であるが、本実施
例のデータ処理装置では、第1サイクルと1回前の第4
サイクルの処理、第2サイクルと1回前の第5サイクル
の処理をそれぞれオーバーラップさせながら処理できる
ようにすることにより、3サイクル毎に実行することが
可能である。
MAP命令の繰り返し処理1回分には従来技術より1サイ
クル少ない5サイクル分の処理が必要であるが、本実施
例のデータ処理装置では、第1サイクルと1回前の第4
サイクルの処理、第2サイクルと1回前の第5サイクル
の処理をそれぞれオーバーラップさせながら処理できる
ようにすることにより、3サイクル毎に実行することが
可能である。
次に、BVMAP命令の繰り返し処理をオーバーラップさ
せながら実行した場合の処理方向について第3図のフロ
ーチャートを用いて説明する。
せながら実行した場合の処理方向について第3図のフロ
ーチャートを用いて説明する。
まず、第1サイクルと1回前の第4サイクルとを並列
に処理する。つまり、Snの左シフト及びSn+1のメモリか
らの読み出しと、Dn-1とTn-1との論理演算を同時に行
う。Snの左シフトでシフト結果をシフトデータレジスタ
A(13)に格納することによって、Dバス(3)をDn-1
とTn-1との論理演算結果(D′n-1)のメモリデータレ
ジスタ(41)への格納に使用できる。また、Tn-1をALU
レジスタB(23)に戻しておくことにより、S2バス
(2)をSnのバレルシフタ(11)への入力に使用できる
ようになっている。このようにして、第1サイクルと第
4サイクルとの並列処理を可能にしている。
に処理する。つまり、Snの左シフト及びSn+1のメモリか
らの読み出しと、Dn-1とTn-1との論理演算を同時に行
う。Snの左シフトでシフト結果をシフトデータレジスタ
A(13)に格納することによって、Dバス(3)をDn-1
とTn-1との論理演算結果(D′n-1)のメモリデータレ
ジスタ(41)への格納に使用できる。また、Tn-1をALU
レジスタB(23)に戻しておくことにより、S2バス
(2)をSnのバレルシフタ(11)への入力に使用できる
ようになっている。このようにして、第1サイクルと第
4サイクルとの並列処理を可能にしている。
次に、第2サイクルと1回前の第5サイクルを並列に
処理する。つまり、Sn+1の退避及び右シフトと、D′
n-1のメモリへの書き込みが同時に行われる。このサイ
クルで用いられるSn+1は、整置回路(42)から直接S1バ
ス(1)に出力され、前サイクルでメモリデータレジス
タ(41)にセットされたD′n-1は、整置回路(42)を
通らない経路を用いてメモリに書き込みが行われるた
め、読み出しデータ書き込みデータが衝突することなく
読み出しと書き込みを連続したサイクルで行われる。
処理する。つまり、Sn+1の退避及び右シフトと、D′
n-1のメモリへの書き込みが同時に行われる。このサイ
クルで用いられるSn+1は、整置回路(42)から直接S1バ
ス(1)に出力され、前サイクルでメモリデータレジス
タ(41)にセットされたD′n-1は、整置回路(42)を
通らない経路を用いてメモリに書き込みが行われるた
め、読み出しデータ書き込みデータが衝突することなく
読み出しと書き込みを連続したサイクルで行われる。
最後は、第3サイクルの処理のみが行われる。
以上の処理を繰り返すことによって、BVMAP命令にお
ける繰り返し処理をオーバーラップしながら実行させる
ことができる。
ける繰り返し処理をオーバーラップしながら実行させる
ことができる。
なお、ここではBVMAP命令の処理を例にして本発明の
実施例を説明したが、本発明によるデータ処理装置は、
ALU(21)とバレルシフタ(11)とを平行して使用した
り、読み出しと書き込みを連続したサイクルで行うこと
ができるため、このような機能を使用すれば他の命令の
処理の高速化に対しても有効である。
実施例を説明したが、本発明によるデータ処理装置は、
ALU(21)とバレルシフタ(11)とを平行して使用した
り、読み出しと書き込みを連続したサイクルで行うこと
ができるため、このような機能を使用すれば他の命令の
処理の高速化に対しても有効である。
以上のように、この発明によれば、シフタのシフト結
果をシフト方向に応じて別々に格納し,それぞれ第1,第
2のバスへの出力経路を有するシフトデータレジスタを
備えるとともに、ALUの演算結果を第2のレジスタに戻
す経路と、メモリデータレジスタからメモリへの書き込
みを整置回路を通さずに行う経路と、メモリからの読み
出しデータを整置回路から第1,第2のバスへ出力する経
路とを備えたことにより、ALUとシフタを同一サイクル
で実行することが可能となり、また、メモリからの読み
出し後の連続したサイクルでメモリへの書き込みを行う
ことができるようになるため、BVMAP命令及びその他の
命令の処理速度を高速に実行するデータ処理装置を実現
できる。
果をシフト方向に応じて別々に格納し,それぞれ第1,第
2のバスへの出力経路を有するシフトデータレジスタを
備えるとともに、ALUの演算結果を第2のレジスタに戻
す経路と、メモリデータレジスタからメモリへの書き込
みを整置回路を通さずに行う経路と、メモリからの読み
出しデータを整置回路から第1,第2のバスへ出力する経
路とを備えたことにより、ALUとシフタを同一サイクル
で実行することが可能となり、また、メモリからの読み
出し後の連続したサイクルでメモリへの書き込みを行う
ことができるようになるため、BVMAP命令及びその他の
命令の処理速度を高速に実行するデータ処理装置を実現
できる。
第1図は、本発明のデータ処理装置におけるデータパス
部のうち、BVMAP命令の実行に必要な部分の一実施例を
示すブロック図、第2図は、実施例のデータ処理装置を
用いてBVMAP命令の繰り返し処理を行う場合の処理シー
ケンスを示したフローチャート、第3図は、実施例のデ
ータ処理装置を用いてBVMAP命令の繰り返し処理をオー
バーラップさせながら行う場合の処理シーケンスを示し
たフローチャート、第4図は、データ処理装置における
内部クロックを示した図、第5図はBVMAP命令の動作を
示した図、第6図はBVMAP命令の繰り返し処理に必要な
処理を示した図、第7図は従来のデータ処理装置におけ
るデータパス部のうち、BVMAP命令の実行に必要な部分
のブロック図、第8図は従来のデータ処理装置を用いて
BVMAP命令の繰り返し処理を行う場合の処理シーケンス
を示したフローチャートである。 図において、(1)はS1バス(第1のバス)、(2)は
S2バス(第2のバス)、(3)はDバス(第3のバ
ス)、(11)はバレルシフタ、(12)はシフト幅レジス
タ、(13)はシフトデータレジスタA、(14)はシフト
データレジスタB、(21)は算術論理演算回路(AL
U)、(22)はALUレジスタA(第1のレジスタ)、(2
3)はALUレジスタB(第2のレジスタ)、(31)はレジ
スタファイル、(41)はメモリデータレジスタ、(42)
は整置回路、(51)はメモリアドレスレジスタ、(P1)
〜(P6)は経路である。 なお、図中、同一符号は同一、または相当部分を示す。
部のうち、BVMAP命令の実行に必要な部分の一実施例を
示すブロック図、第2図は、実施例のデータ処理装置を
用いてBVMAP命令の繰り返し処理を行う場合の処理シー
ケンスを示したフローチャート、第3図は、実施例のデ
ータ処理装置を用いてBVMAP命令の繰り返し処理をオー
バーラップさせながら行う場合の処理シーケンスを示し
たフローチャート、第4図は、データ処理装置における
内部クロックを示した図、第5図はBVMAP命令の動作を
示した図、第6図はBVMAP命令の繰り返し処理に必要な
処理を示した図、第7図は従来のデータ処理装置におけ
るデータパス部のうち、BVMAP命令の実行に必要な部分
のブロック図、第8図は従来のデータ処理装置を用いて
BVMAP命令の繰り返し処理を行う場合の処理シーケンス
を示したフローチャートである。 図において、(1)はS1バス(第1のバス)、(2)は
S2バス(第2のバス)、(3)はDバス(第3のバ
ス)、(11)はバレルシフタ、(12)はシフト幅レジス
タ、(13)はシフトデータレジスタA、(14)はシフト
データレジスタB、(21)は算術論理演算回路(AL
U)、(22)はALUレジスタA(第1のレジスタ)、(2
3)はALUレジスタB(第2のレジスタ)、(31)はレジ
スタファイル、(41)はメモリデータレジスタ、(42)
は整置回路、(51)はメモリアドレスレジスタ、(P1)
〜(P6)は経路である。 なお、図中、同一符号は同一、または相当部分を示す。
Claims (3)
- 【請求項1】第1のバスと、第2のバスと、第3のバス
と、シフト幅を示すデータを格納するシフト幅レジスタ
と、被シフトデータを前記第1のバスもしくは前記第2
のバスから取り込み,前記シフト幅レジスタのデータを
用いて被シフトデータに対してシフト動作を行い、シフ
ト結果を前記第3のバスに出力するシフタと、前記第1,
第2のバスから第1,第2のレジスタを介して送られてく
るデータ間で算術論理演算を行い,その結果を前記第3
のバスに出力する算術論理演算回路とを備えたデータ処
理装置において、 前記シフタのシフト結果をシフト方向に応じて別々に格
納し,それぞれ前記第1,第2のバスへの出力経路を有す
るシフトデータレジスタを備えたことを特徴とするデー
タ処理装置。 - 【請求項2】前記算術論理演算回路が、演算結果を前記
第2のレジスタに戻す経路を備えたことを特徴とする特
許請求の範囲第1項記載のデータ処理装置。 - 【請求項3】第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 JPH031226A (ja) | 1991-01-07 |
JP2566009B2 true 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) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04302522A (ja) * | 1991-03-29 | 1992-10-26 | Hitachi Ltd | 演算回路及びこれを用いた適応フィルタ並びにエコーキャンセラ |
JP5913992B2 (ja) * | 2012-01-12 | 2016-05-11 | 東洋自動機株式会社 | 袋口の開口方法及開口装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59106043A (ja) * | 1982-12-10 | 1984-06-19 | Hitachi Ltd | パイプライン演算回路 |
US4748580A (en) * | 1985-08-30 | 1988-05-31 | Advanced Micro Devices, Inc. | Multi-precision fixed/floating-point processor |
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
Also Published As
Publication number | Publication date |
---|---|
JPH031226A (ja) | 1991-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0515165B1 (en) | A Memory access device | |
KR970011208B1 (ko) | 파이프라인된 기록버퍼 레지스터 | |
JP3188467B2 (ja) | 最小値・最大値検索装置 | |
JPS6351287B2 (ja) | ||
EP0554209A1 (en) | Direct memory access controller | |
JP2620511B2 (ja) | データ・プロセッサ | |
JP3834145B2 (ja) | ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法 | |
JP2566009B2 (ja) | データ処理装置 | |
JPS623461B2 (ja) | ||
JP2690406B2 (ja) | プロセッサおよびデータ処理システム | |
EP0334131B1 (en) | Data processor performing operation on data having length shorter than one-word length | |
US5001629A (en) | Central processing unit with improved stack register operation | |
JPH09212360A (ja) | データ処理装置 | |
US4723258A (en) | Counter circuit | |
JPH01273132A (ja) | マイクロプロセッサ | |
JP3405106B2 (ja) | プログラマブルコントローラ | |
JPH0228828A (ja) | 最大値最小値検出回路 | |
JPS6235142B2 (ja) | ||
JP3341847B2 (ja) | データ処理装置 | |
JP2615746B2 (ja) | ビット操作回路 | |
JPH0588887A (ja) | データ処理装置 | |
JPH0243216B2 (ja) | ||
JPH0831034B2 (ja) | パイプライン制御方式 | |
JPH0833821B2 (ja) | データ処理装置 | |
JPS6243775A (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 |