JP2611065B2 - データ転送方式 - Google Patents

データ転送方式

Info

Publication number
JP2611065B2
JP2611065B2 JP3230978A JP23097891A JP2611065B2 JP 2611065 B2 JP2611065 B2 JP 2611065B2 JP 3230978 A JP3230978 A JP 3230978A JP 23097891 A JP23097891 A JP 23097891A JP 2611065 B2 JP2611065 B2 JP 2611065B2
Authority
JP
Japan
Prior art keywords
register
address
memory
general
data
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 - Lifetime
Application number
JP3230978A
Other languages
English (en)
Other versions
JPH0546379A (ja
Inventor
弘美 岡崎
直佳 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP3230978A priority Critical patent/JP2611065B2/ja
Publication of JPH0546379A publication Critical patent/JPH0546379A/ja
Application granted granted Critical
Publication of JP2611065B2 publication Critical patent/JP2611065B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、データ転送機能を有
するデータ処理装置に関し、特に複数のデータを1命令
で転送する機能を持つデータ転送方式に関するものであ
る。
【0002】
【従来の技術】従来よりデータ処理装置は、外部メモリ
と内部の汎用レジスタ間でデータの転送を行なう命令を
基本的な機能として備えている。一般的には、単一のデ
ータをソースであるメモリまたはレジスタからデスティ
ネーションであるメモリまたはレジスタに転送する命令
を持つが、近年この命令を高機能化し、1命令で高速に
複数のデータを転送することが可能なデータ処理装置も
製品化されている。
【0003】ここでは、このようなデータ処理装置の一
例として、複数のレジスタを指定するレジスタリストフ
ィールドを命令内に持つことによって、複数のデータを
複数のレジスタと連続メモリ領域との間で転送するとき
に、1命令で実行することができる機能を備えたTRO
N仕様の32ビットマイクロプロセッサ(M32/10
0ユーザーズマニュアル1989に開示されている)に
ついて説明する。
【0004】複数のデータを、連続メモリ領域と複数の
レジスタとの間で転送する命令には、LDMとSTMが
ある。図9の1は、連続メモリ領域の複数のデータを複
数のレジスタに転送する命令LDMのニモニックを表わ
したものである。このニモニック1において、オペラン
ドを指定する部分であるオペランド指定部2は、各種の
アドレス修飾が可能な、転送するメモリの先頭アドレス
を指定する部分である先頭アドレス指定部2aと、16
個の32ビット長の汎用レジスタ群R0,R1,・・・
・・・,R15のうち、どのレジスタにデータを転送す
るかを指定する部分であるレジスタリスト部2bとから
なっている。図10の3に、命令中に含まれる16ビッ
トのレジスタリストフィールドを詳しく示す。このレジ
スタリストフィールド3の様に、それぞれのビットがM
SB側から順に汎用レジスタR0,R1,・・・・・
・,R15の指定に用いられる。
【0005】図9のニモニック1で表わされるLDMと
いう転送命令は、命令中のオペランド指定部2の先頭ア
ドレス指定部(src)2aで指定されるアドレスを計
算して、転送を行なう連続メモリ領域の先頭アドレスと
し、次に命令中のレジスタリストフィールド3をMSB
側から図10の矢印4の方向に参照し、このうち1とな
っているビットの示す汎用レジスタに、順にデータを転
送していく命令である。
【0006】図11は従来のデータ処理装置の一例で、
TRON仕様32ビットマイクロプロセッサM32/1
00と外部メモリの一部分を示すブロック図である。マ
イクロプロセッサ7中の8は命令のプリフェッチを行な
う命令キュー30を含んだ命令フェッチ部(以下IF部
という)、9は命令のデコードを行なうデコーダー31
を含んだ命令デコード部(以下D部という)、10はオ
ペランドのアドレス計算を行ない、実行アドレスをフェ
ッチするオペランドアドレス計算部(以下A部という)
である。11は命令の実行を行なう実行部(以下E部と
いう)で、E部11の中には例えば32ビット長の汎用
レジスタ12が16個、およびマイクロROM32、演
算器33などが含まれる。13はデータの入出力を行な
うバスインターフェース部である。14は8ビット(1
バイト)単位にアドレスが付された外部メモリで、命令
やデータが格納されている。15は32ビット幅の外部
バスで、15aは外部アドレスバス、15bは外部デー
タバスである。
【0007】次に図9〜図11を用いてこの従来例の動
作の説明を行なう。図9のニモニック1で表わされる命
令が外部メモリ14からIF部8に読み込まれると、こ
の命令はD部9に送られ、デコードされる。ここでこの
命令は、複数のデータを連続メモリ領域から複数のレジ
スタに転送する命令であると判断され、次のA部10へ
と送られる。A部10では、命令中のオペランド(オペ
ランド指定部2)に対応する部分のうち、転送を行なう
連続メモリ領域の先頭アドレス(先頭アドレス指定部2
a)に対応する部分で、必要に応じて各種のアドレス修
飾によりアドレス計算が行なわれ、実効アドレスをフェ
ッチして次のE部11へと送られる。次にE部11で
は、A部10でフェッチした外部メモリ14の実効アド
レスをアドレスバス15aを介して指定し、命令中のレ
ジスタリストフィールド3をMSB側から参照してい
き、初めて1となっているビットの指定する汎用レジス
タに、外部メモリ14からデータを32ビットだけ外部
データバス15bを通して転送する。ひとつのデータの
転送が終わると、E部11ではアドレスが4だけインク
リメントされ、アドレスバス15aを介して次のデータ
のメモリ番地が指定される。16ビットのレジスタリス
トフィールド3をLSBまですべて参照し、上記のよう
な動作を繰り返して、外部メモリ14から汎用レジスタ
12にデータの転送が終わると命令を終了する。
【0008】複数のデータを、1命令で複数のレジスタ
から連続メモリ領域へ転送するという命令STMでは、
以上と反対の動作が行なわれる。すなわち、STM命令
が外部メモリ14からIF部8に読み込まれた場合、D
部9でデコードされ、ここでこの命令が複数のデータを
複数のレジスタから連続メモリ領域に転送する命令であ
ると判断され、次のA部10に送られる。A部10で
は、命令中のオペランドに対応する部分のうち、転送を
行なう連続メモリ領域の先頭アドレスに対応する部分
で、必要に応じて各種のアドレス修飾によりアドレス計
算が行なわれ、実効アドレスをフェッチしてE部11へ
と送られる。次にE部11では、命令中のレジスタリス
トフィールド3をMSB側から参照していき、初めに1
となっているビットの指定する汎用レジスタ12から外
部メモリ14に、データを32ビットだけ外部データバ
ス15bを通して転送する。ひとつのデータの転送が終
わると、E部11ではアドレスが4だけインクリメント
され、次に転送が行なわれるデータのメモリ番地がアド
レスバス15aを介して指定される。16ビットのレジ
スタリストフィールド3をLSBまですべて参照し、上
記のような動作を繰り返して、汎用レジスタ12から外
部メモリ14にデータの転送を終わると命令を終了す
る。
【0009】このデータ処理装置の動作をLDM命令の
具体的な一例を挙げて説明する。図12に示すLDM命
令16がマイクロプロセッサ7に読み込まれた場合につ
いて考えてみる。IF部8にプリフェッチされたLDM
命令16は、D部9に送られ、デコードされて、この命
令が連続メモリ領域から複数のレジスタへの複数のデー
タの転送を行なうものであると判断される。また、ソー
スのアドレス指定方法は、転送を行なうメモリの先頭ア
ドレスを直接指すものであるから、この場合は外部メモ
リのH’1000番地がソースの連続メモリ領域の先頭
アドレスとなり、A部10ではアドレス計算を行なう必
要がなく、そのままE部11へと送られる。なお、H’
は16進数を意味する。次に、E部11では命令の実行
が行なわれる。図12の16のニモニックで表わされる
命令中のレジスタリストフィールドは図13に示す3a
のようになっている。レジスタリストフィールド3aを
MSB側から順に参照して行くと、まずR0の指定ビッ
トに1があるので、H’1000番地のデータを32ビ
ット分、外部データバス15bを通して汎用レジスタR
0に転送し、アドレスを4だけインクリメントする。つ
ぎにR1を示すビットにも1があることから、次のH’
1004番地の32ビットデータが汎用レジスタR1に
転送される。同様にR2レジスタにはH’1008番地
のデータが転送される。図13のレジスタリストを参照
すると、R3,R4,R5を表わすビットが0であるか
ら、これらの汎用レジスタR3,R4,R5にはデータ
の転送を行なわず、次に1のある汎用レジスタR6に
H’100c番地のデータを32ビット分転送する。レ
ジスタリストフィールド3aの残りのビットも参照する
が、あとはすべて0であるから、転送は行なわず、命令
の実行を終了する。
【0010】
【発明が解決しようとする課題】従来のデータ処理装置
では、以上のように動作して、1命令で複数のデータを
複数のレジスタとメモリの連続領域の間で転送する事が
できる。しかし複数のデータを、複数のレジスタと複数
の連続メモリ領域の間で転送するためには、いくつかの
命令を組み合わせることが必要であった。このため、こ
の間に割込み要求があった場合、処理が分割されるとい
う問題点があった。また、複数個の複数データ転送命令
の間を割り込み禁止処理にするためには、これらの命令
の前後で割り込み禁止処理を実行する必要があるという
問題点があった。
【0011】この発明は上記のような問題点を解消する
ためになされたもので、複数のレジスタと複数の連続メ
モリ領域との間の複数のデータの転送を1度に行なうこ
とができるデータ転送方式を提供することを目的とす
る。
【0012】
【課題を解決するための手段】請求項1の発明に係るデ
ータ転送方式は、転送命令を実行する際、アドレッシン
グ指定フィールド(先頭アドレス指定部22a)を処理
して第1のメモリアドレスを算出し、第1のメモリアド
レスに第2のレジスタ(アドレスオフセット指定レジス
タ25)で指定されたアドレスオフセット値を加えて第
2のメモリアドレスを算出し、第1のメモリアドレスか
らの領域であり第1のレジスタ(連続領域転送個数指定
レジスタ24)で指定されたワード分の連続したメモリ
領域と、レジスタ指定フィールド(レジスタリスト部2
2b)で指定された汎用レジスタとの間でデータの転送
を行い、レジスタ指定フィールドで指定された汎用レジ
スタの個数が、第1のレジスタで指定されたワード数よ
り多い場合、残りの汎用レジスタと、第2のメモリアド
レスから連続したメモリ領域との間でデータ転送するも
のである。
【0013】請求項2の発明に係るデータ転送方式は、
転送命令を実行する際、アドレッシング指定フィールド
を処理して第1のメモリアドレスを算出し、第1のメモ
リアドレスに第2のレジスタで指定されたアドレスオフ
セット値を加えて第2のメモリアドレスを算出し、第1
のメモリアドレスからの領域であり第1のレジスタで指
定されたワード分の連続したメモリ領域と、第3のレジ
スタで指定された汎用レジスタの間でデータの転送を行
い、第3のレジスタで指定された汎用レジスタの個数
が、第1のレジスタで指定されたワード数より多い場
合、残りの汎用レジスタと、第2のメモリアドレスから
連続したメモリ領域との間でデータ転送するものであ
る。
【0014】請求項3の発明に係るデータ転送方式は、
転送命令を実行する際、アドレッシング指定フィールド
を処理して第1のメモリアドレスを算出し、第1のメモ
リアドレスに第2のレジスタで指定されたアドレスオフ
セット値を加えて第2のメモリアドレスを算出し、第1
のメモリアドレスからの領域であり第1のレジスタで指
定されたワード分の連続したメモリ領域と、複数の汎用
レジスタの内の1つである第3のレジスタで指定された
汎用レジスタの間でデータの転送を行い、第3のレジス
タで指定された汎用レジスタの個数が、第1のレジスタ
で指定されたワード数より多い場合、残りの汎用レジス
タと、第2のメモリアドレスから連続したメモリ領域と
の間でデータ転送するものである。
【0015】請求項4の発明に係るデータ転送方式は、
転送命令を実行する際、アドレッシング指定フィールド
を処理して第1のメモリアドレスを算出し、第1のメモ
リアドレスにアドレスオフセット指定フィールドで指定
されたアドレスオフセット値を加えて第2のメモリアド
レスを算出し、第1のメモリアドレスからの領域であり
個数指定フィールドで指定されたワード分の連続したメ
モリ領域と、レジスタ指定フィールドで指定された汎用
レジスタとの間でデータの転送を行い、レジスタ指定フ
ィールドで指定された汎用レジスタの個数が、個数指定
フィールドで指定されたワード数より多い場合、残りの
汎用レジスタと第2のメモリアドレスから連続したメモ
リ領域との間でデータ転送するものである。
【0016】
【作用】請求項1の発明において、転送命令が実行され
る際、アドレッシング指定フィールドを処理することに
より第1のメモリアドレスが算出され、この第1のメモ
リアドレスに第2のレジスタで指定されたアドレスオフ
セット値が加えられることにより第2のメモリアドレス
が算出される。第1のメモリアドレスからの領域であり
第1のレジスタで指定されたワード分の連続したメモリ
領域と、レジスタ指定フィールドで指定された汎用レジ
スタとの間でデータ転送が行なわれる。レジスタ指定フ
ィールドで指定された汎用レジスタの個数が第1のレジ
スタで指定されたワード数より多い場合、残りの汎用レ
ジスタと第2のメモリアドレスから連続したメモリ領域
との間でデータ転送が行なわれる。
【0017】請求項2の発明において、転送命令が実行
される際、アドレッシング指定フィールドを処理するこ
とにより第1のメモリアドレスが算出され、この第1の
メモリアドレスに第2のレジスタで指定されたアドレス
オフセット値が加えられることにより第2のメモリアド
レスが算出される。第1のメモリアドレスからの領域で
あり第1のレジスタで指定されたワード分の連続したメ
モリ領域と、第3のレジスタで指定された汎用レジスタ
との間でデータ転送が行なわれる。第3のレジスタで指
定された汎用レジスタの個数が第1のレジスタで指定さ
れたワード数より多い場合、残りの汎用レジスタと第2
のメモリアドレスから連続したメモリ領域との間でデー
タ転送が行なわれる。
【0018】請求項3の発明において、転送命令が実行
される際、アドレッシング指定フィールドを処理するこ
とにより第1のメモリアドレスが算出され、この第1の
メモリアドレスに第2のレジスタで指定されたアドレス
オフセット値が加えられることにより第2のメモリアド
レスが算出される。第1のメモリアドレスからの領域で
あり第1のレジスタで指定されたワード分の連続したメ
モリ領域と、複数の汎用レジスタの内の1つである第3
のレジスタで指定された汎用レジスタとの間でデータ転
送が行なわれる。第3のレジスタで指定された汎用レジ
スタの個数が第1のレジスタで指定されたワード数より
多い場合、残りの汎用レジスタと第2のメモリアドレス
から連続したメモリ領域との間でデータ転送が行なわれ
る。
【0019】請求項4の発明において、転送命令が実行
される際、アドレッシング指定フィールドを処理するこ
とにより第1のメモリアドレスが算出され、この第1の
メモリアドレスにアドレスオフセット指定フィールドで
指定されたアドレスオフセット値が加えられることによ
り第2のメモリアドレスが算出される。第1のメモリア
ドレスからの領域であり個数指定フィールドで指定され
たワード分の連続したメモリ領域と、レジスタ指定フィ
ールドで指定された汎用レジスタとの間でデータ転送が
行なわれる。レジスタ指定フィールドで指定された汎用
レジスタの個数が個数指定フィールドで指定されたワー
ド数より多い場合、残りの汎用レジスタと第2のメモリ
アドレスから連続したメモリ領域との間でデータ転送が
行なわれる。
【0020】
【実施例】
(実施例1)以下請求項1の発明の一実施例として、1
6個の32ビット長の汎用レジスタを持ち、連続領域転
送個数指定用レジスタとアドレスオフセット指定用レジ
スタ、及び命令中のレジスタリストフィールドによっ
て、1命令で複数のデータを、複数のレジスタと複数の
連続メモリ領域との間で転送することができるデータ処
理装置について図1〜図8を用いて説明する。
【0021】複数データを2つの不連続なメモリ領域と
複数の汎用レジスタとの間で転送する命令を、LDM2
とSTM2とする。図1の21は本実施例のデータ処理
装置が、1命令で、複数の連続メモリ領域から複数のデ
ータを、複数のレジスタに転送するときのニモニックL
DM2を表わしたものである。オペランドを指定する部
分であるオペランド指定部22は、各種のアドレッシン
グ修飾が可能な、転送する連続メモリ領域の先頭アドレ
スを指定する部分である先頭アドレス指定部22aと、
16個の32ビット長の汎用レジスタ群R0,R1,・
・・・・・,R15のうちどのレジスタにデータを転送
するかを指定する部分であるレジスタリスト部22bと
からなっている。図2の3に命令中に含まれるレジスタ
リストフィールドを詳しく示す。このレジスタリストフ
ィールド3のようにそれぞれのビットがMSB側から順
に汎用レジスタR0,R1,・・・・・・,R15を指
定する。また、図2の24には連続領域転送個数指定レ
ジスタ(第1のレジスタ)、25にアドレスオフセット
指定レジスタ(第2のレジスタ)について示す。連続領
域転送個数指定レジスタ24は4ビットで構成され、0
から15までの値を取る。アドレスオフセット指定レジ
スタ25は8ビットであり、0から255までの値を取
ることができる。転送命令LDM2を実行する場合に
は、連続領域転送個数指定レジスタ24及びアドレスオ
フセット指定レジスタ25に予め値を設定しておく必要
がある。
【0022】図3は本実施例のデータ処理装置における
マイクロプロセッサと外部メモリの一部分を示すブロッ
ク図である。図3において、マイクロプロセッサ7中の
8は命令のプリフェッチを行なう命令キュー30を含ん
だ命令フェッチ部(以下IF部という)、9は命令のデ
コードを行なうデコーダ31を含んだ命令デコード部
(以下D部)、10はオペランドのアドレス計算を行な
い、実行アドレスをフェッチするオペランドアドレス計
算部(以下A部)、11は命令の実行を行なう実行部
(以下E部)で、E部11の中には32ビット長の汎用
レジスタ12が16個、および4ビットの連続領域転送
個数指定レジスタ24、8ビットのアドレスオフセット
指定レジスタ25や、マイクロROM32、演算器33
などが含まれる。13はデータの入出力を行なうバスイ
ンターフェース部である。14は8ビット(1バイト)
単位にアドレスが付された外部メモリで、命令やデータ
が格納されている。15は32ビット幅の外部バスで、
この外部バス15はアドレスバス15aとデータバス1
5bから成る。
【0023】次に図1〜図3を用いてこの実施例の動作
説明を行なう。図1のニモニック21で表わされる命令
が外部メモリ14からIF部8に読み込まれると、この
命令はD部9に送られ、デコードされる。ここで、この
命令は、複数のデータを複数の連続メモリ領域から複数
のレジスタに転送する命令であると判断され、次のA部
10に送られる。A部10では、命令中のオペランド
(オペランド指定部22)に対応する部分のうち、転送
を行なう第1の連続メモリ領域の先頭アドレス(先頭ア
ドレス指定部22a)に対応する部分で、必要に応じて
各種のアドレス修飾によりアドレス計算が行なわれ、実
効アドレスをフェッチして次のE部11へと送られる。
次にE部11では、A部10でフェッチした外部メモリ
14の実効アドレスをアドレスバス15aを介して指定
し、命令中のレジスタリストフィールド3をMSB側か
ら参照していき、初めに1となっているビットの指定す
る汎用レジスタ12に、外部メモリ14からデータを3
2ビットだけ外部データバス15bを通して転送する。
ひとつのデータの転送が終わると、E部11ではアドレ
スが4だけインクリメントされ、アドレスバスを介して
次のデータのメモリ番地が指定される。次に連続領域転
送個数指定レジスタ24の値を1だけ減らして、その内
容を調べて0でない場合には、上記と同様にデータの転
送を続けるが、値が0のときには初めの連続メモリ領域
の先頭アドレスにアドレスオフセットレジスタ25の値
を加えて第2の連続メモリ領域のアドレスとする。16
ビットのレジスタリストフィールド3をLSBまですべ
て参照し、上記のような動作を繰り返して外部メモリ1
4から汎用レジスタ12にデータの転送が終わると命令
を終了する。
【0024】複数のデータを、1命令で複数のレジスタ
から複数の連続メモリ領域に転送するという命令STM
2では、以上と反対の動作が行なわれる。すなわち、S
TM2命令が外部メモリ14からIF部8に読み込まれ
た場合、D部9で、デコードされ、ここではこの命令が
複数のデータを複数のレジスタから複数の連続メモリ領
域に転送する命令であると判断され、次のA部10に送
られる。A部10では、命令中のオペランドに対応する
部分のうち、転送を行なう第1の連続メモリ領域の先頭
アドレスに対応する部分で、必要に応じて各種のアドレ
ス修飾によりアドレス計算が行なわれ、実効アドレスを
フェッチして次のE部11へと送られる。次にE部11
では、命令中のレジスタリストフィールド3をMSB側
から参照していき、初めに1となっているビットの指定
する汎用レジスタ12から外部メモリ14に、データを
32ビットだけ外部データバス15bを通して転送す
る。ひとつのデータの転送が終わると、E部11ではア
ドレスが4だけインクリメントされ、次に転送が行なわ
れるデータのメモリ番地がアドレスバス15aを介して
指定される。次に連続領域転送個数指定レジスタ24の
値を1だけ減らし、その内容を調べて0でない場合に
は、上記と同様にデータの転送を続けるが、値が0のと
きには、初めの連続メモリ領域の先頭アドレスにアドレ
スオフセットレジスタ25の値を加えて次のデータ転送
先のアドレスとする。16ビットのレジスタリストフィ
ールド3をLSBまですべて参照し、上記のような動作
を繰り返して汎用レジスタ12から外部メモリ14にデ
ータの転送を終わると命令を終了する。
【0025】本実施例のデータ処理装置の動作を、LD
M2命令の具体的な一例を挙げて説明する。図8のフロ
ーチャートも参照して説明する。図4のような命令21
aがマルチプロセッサ7に読み込まれた場合について考
えてみる。IF部8にプリフェッチ(ステップS1)さ
れた命令21aは、D部9に送られ、デコード(ステッ
プS2)されて、この命令が複数の連続メモリ領域から
複数のレジスタへの複数のデータの転送行なうものであ
ると判断される。また、ソースのアドレス指定方法は、
転送を行なうメモリの先頭アドレスを直接指すものであ
るから、この場合は外部メモリ14のH’1000番地
がソースの第1の連続メモリ領域の先頭アドレスとな
り、A部10ではアドレス計算(ステップS3)を行な
う必要がなく、そのままE部11へと送られる。次にE
部11では命令の実行が行なわれる。図4の21aのよ
うなニモニックで表わされる命令中のレジスタリストフ
ィールドは図5に示す3bのようになっている。レジス
タリストフィールド3bをMSB側から順に参照(ステ
ップS4)して行くと(ステップS5)、まずR0の指
定ビットに1があるので(ステップS6)、H’100
0番地のデータを32ビット分、外部データバス15b
を通して汎用レジスタR0に転送し(ステップS7)、
アドレスを4だけインクリメントする(ステップS
8)。データの転送が1度終わると連続領域転送個数指
定レジスタ24aの値2から1を減じ(ステップS
9)、その内容をみると(ステップS10)、1である
から何も行なわず、レジスタリストの参照を続ける(ス
テップS4)。R1を指定するビットに1があることか
ら、次のH’1004番地の32ビットデータが汎用レ
ジスタR1に転送される(ステップS7)。同様にアド
レスを4だけインクリメントし(ステップS8)、連続
領域転送個数指定レジスタ24aの値1から1を減じ
(ステップS9)、その内容をみると0となっているの
で、第1の連続メモリ領域の先頭アドレスであるH’1
000にアドレスオフセットレジスタ25bの値H’4
0を加えて(ステップS11)H’1040とし、これ
をつぎに転送を行なうデータの実効アドレスとする。
【0026】アドレスを決定すると、レジスタリストの
参照を続け(ステップS12,S13,S14)、R2
レジスタを示すビットが1であることからR2レジスタ
にはH’1040番地のデータが転送される(ステップ
S15)。アドレスを4だけインクリメントし(ステッ
プS16)、続けてレジスタリストの参照を行なうと
(ステップS12,S13,S14)、R3,R4,R
5を表わすビットが0であるから、これらのレジスタに
はデータの転送を行なわず、次に1のあるR6レジスタ
にH’1044番地のデータを32ビット分転送する
(ステップS15)。さらにアドレスを4だけインクリ
メントし(ステップS16)、レジスタリストの残りの
ビットを参照するが(ステップS12)、残りのビット
はすべて0であるから、転送は行なわず、命令の実行を
終了する。
【0027】次に図4〜図7を参照して動作を説明す
る。図5の連続領域転送個数指定レジスタ24aの内容
はB’0010(B’は2進)すなわちH’2となって
いるので、命令21aよりH’1000番地を先頭アド
レスとして図6に示すように2個のデータは連続したメ
モリ領域から読み込む。転送に係わる汎用レジスタは図
6に示すようにR0,R1,R2,R6なので、汎用レ
ジスタR0にはH’1000番地から32ビットデータ
を、汎用レジスタR1にはH’1004番地から32ビ
ットデータを読み込む。連続して読み込むデータは2個
だけなので、次のデータはアドレスオフセット指定レジ
スタ25aの内容B’1000000、すなわちH’4
0を先頭アドレスH’1000に加えたH’1040か
ら読み込む(図6参照)。
【0028】また、例えば命令が LDM2 H’1000,(R0−R5,R8,R10) であり、連続領域転送個数指定レジスタの内容がB’0
011=H’3、アドレスオフセット指定レジスタの内
容がH’60である場合には、図7に示すように3個の
データは外部メモリの先頭番地に指定されたH’100
0番地から連続して転送し、4個目からのデータはH’
1000にオフセット値H’60を加えたH’1040
番地から転送する。そして命令の実行を終了する。
【0029】(実施例2)なお、上記の実施例では、転
送を行なう複数の汎用レジスタを指定するレジスタリス
トフィールドを命令中に持ち、複数の汎用レジスタと、
連続領域個数指定レジスタおよびアドレスオフセットレ
ジスタとを用いて、複数のデータを複数の汎用レジスタ
と複数の連続メモリ領域との間で転送できるデータ処理
装置について述べたが、請求項2の発明に係るように、
複数の汎用レジスタを指定するためのレジスタリストを
命令中に持つのではなく、専用のレジスタ(第3のレジ
スタ)を用いることとしても同様の効果を奏する。
【0030】(実施例3)また、請求項3の発明に係る
ように、転送に係わる汎用レジスタの数を一つ減らし
て、この汎用レジスタ1個をレジスタリストを示すレジ
スタ(第3のレジスタ)として用いることとしても同様
の効果を奏する。
【0031】(実施例4)また、請求項4の発明に係る
ように、複数の汎用レジスタを指定するレジスタリスト
と、連続領域の転送個数を指定するフィールドおよびア
ドレスオフセットを指定するフィールドを命令中に持つ
ことにしても、同様の効果を得ることができる。
【0032】
【発明の効果】以上のように請求項1の発明によれば、
転送命令を実行する際、アドレッシング指定フィールド
を処理して第1のメモリアドレスを算出し、第1のメモ
リアドレスに第2のレジスタで指定されたアドレスオフ
セット値を加えて第2のメモリアドレスを算出し、第1
のメモリアドレスからの領域であり第1のレジスタで指
定されたワード分の連続したメモリ領域と、レジスタ指
定フィールドで指定された汎用レジスタとの間でデータ
の転送を行い、レジスタ指定フィールドで指定された汎
用レジスタの個数が、第1のレジスタで指定されたワー
ド数より多い場合、残りの汎用レジスタと、第2のメモ
リアドレスから連続したメモリ領域との間でデータ転送
するようにしたので、1命令で複数のデータを複数のレ
ジスタと複数の連続メモリ領域との間で転送することが
でき、また、この間割込み入力を抑止できるため、割込
みマスクに時間を設定する事なく、一連の処理を非分割
で行なうことができ、したがって処理効率が向上すると
いう効果が得られる。
【0033】また、請求項2の発明によれば、転送命令
を実行する際、アドレッシング指定フィールドを処理し
て第1のメモリアドレスを算出し、第1のメモリアドレ
スに第2のレジスタで指定されたアドレスオフセット値
を加えて第2のメモリアドレスを算出し、第1のメモリ
アドレスからの領域であり第1のレジスタで指定された
ワード分の連続したメモリ領域と、第3のレジスタで指
定された汎用レジスタの間でデータの転送を行い、第3
のレジスタで指定された汎用レジスタの個数が、第1の
レジスタで指定されたワード数より多い場合、残りの汎
用レジスタと第2のメモリアドレスから連続したメモリ
領域との間でデータ転送するようにしたので、上記と同
様の効果が得られる。
【0034】また、請求項3の発明によれば、転送命令
を実行する際、アドレッシング指定フィールドを処理し
て第1のメモリアドレスを算出し、第1のメモリアドレ
スに第2のレジスタで指定されたアドレスオフセット値
を加えて第2のメモリアドレスを算出し、第1のメモリ
アドレスからの領域であり第1のレジスタで指定された
ワード分の連続したメモリ領域と、複数の汎用レジスタ
の内の1つである第3のレジスタで指定された汎用レジ
スタの間でデータの転送を行い、第3のレジスタで指定
された汎用レジスタの個数が、第1のレジスタで指定さ
れたワード数より多い場合、残りの汎用レジスタと、第
2のメモリアドレスから連続したメモリ領域との間でデ
ータ転送するようにしたので、上記と同様の効果が得ら
れる。
【0035】また、請求項4の発明によれば、転送命令
を実行する際、アドレッシング指定フィールドを処理し
て第1のメモリアドレスを算出し、第1のメモリアドレ
スに前記アドレスオフセット指定フィールドで指定され
たアドレスオフセット値を加えて第2のメモリアドレス
を算出し、第1のメモリアドレスからの領域であり個数
指定フィールドで指定されたワード分の連続したメモリ
領域と、レジスタ指定フィールドで指定された汎用レジ
スタとの間でデータの転送を行い、レジスタ指定フィー
ルトで指定された汎用レジスタの個数が、個数指定フィ
ールドで指定されたワード数より多い場合、残りの汎用
レジスタと、第2のメモリアドレスから連続したメモリ
領域との間でデータ転送するようにしたので、上記と同
様の効果が得られる。
【図面の簡単な説明】
【図1】請求項1の発明に係る一実施例のデータ処理装
置が実行する、複数のデータを複数の連続メモリ領域か
ら複数の汎用レジスタに転送する命令のニモニックを示
す図である。
【図2】この実施例のデータ処理装置が実行する、複数
のデータを複数の連続メモリ領域から複数の汎用レジス
タに転送する命令中に含まれるレジスタリストフィール
ドと連続領域転送個数指定レジスタとアドレスオフセッ
ト指定レジスタの各内容を示す図である。
【図3】請求項1の発明に係る一実施例のデータ転送方
式を用いたデータ処理装置の構成を示すブロック図であ
る。
【図4】この実施例のデータ処理装置が実行する、複数
のデータを複数の連続メモリ領域から複数の汎用レジス
タに転送する命令の一例を示す図である。
【図5】この実施例のデータ処理装置の図4で表わされ
る命令中に含まれるレジスタリストフィールドと連続領
域転送個数指定レジスタとアドレスオフセット指定レジ
スタの各内容の一例を示す図である。
【図6】この実施例において連続メモリ領域と不連続な
メモリ領域を示す図である。
【図7】この実施例において連続メモリ領域と不連続な
メモリ領域を示す図である。
【図8】この実施例において実行される、複数のデータ
を複数の連続メモリ領域から複数の汎用レジスタに転送
する命令の一例のフローチャートである。
【図9】従来のデータ処理装置が実行する、複数のデー
タをメモリの連続領域から複数の汎用レジスタに転送す
る命令のニモニックを示す図である。
【図10】従来のデータ処理装置が実行する、複数のデ
ータをメモリの連続領域から複数の汎用レジスタに転送
する命令中に含まれるレジスタリストフィールドを示す
図である。
【図11】従来のデータ処理装置の構成を示すブロック
図である。
【図12】従来のデータ処理装置の実行する、複数のデ
ータをメモリの連続領域から複数の汎用レジスタに転送
する命令の一例を示す図である。
【図13】従来例において図12で表わされる命令中に
含まれるレジスタリストフィールドの内容を示す図であ
る。
【符号の説明】
12 汎用レジスタ 14 外部メモリ 22a 先頭アドレス指定部(アドレッシング指定フィ
ールド) 22b レジスタリスト部(レジスタ指定フィールド) 24,24a 連続領域転送個数指定レジスタ(第1の
レジスタ) 25 アドレスオフセット指定レジスタ(第2のレジス
タ)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の1ワード長構成の汎用レジスタ
    と、メモリ上の連続した領域のワード数を指定する第1
    のレジスタと、アドレスオフセット値を指定する第2の
    レジスタとを備えたデータ処理装置において、上記メモ
    リと上記複数の汎用レジスタ間のデータ転送を行う転送
    命令を持ち、上記転送命令は、上記メモリ上のアドレス
    を特定するためのアドレッシング指定フィールドと、上
    記複数の汎用レジスタの内で転送の対象となるものを指
    定するレジスタ指定フィールドとを備え、上記転送命令
    を実行する際、上記アドレッシング指定フィールドを処
    理して第1のメモリアドレスを算出し、上記第1のメモ
    リアドレスに上記第2のレジスタで指定されたアドレス
    オフセット値を加えて第2のメモリアドレスを算出し、
    上記第1のメモリアドレスからの領域であり上記第1の
    レジスタで指定されたワード分の連続したメモリ領域
    と、上記レジスタ指定フィールドで指定された汎用レジ
    スタとの間でデータの転送を行い、上記レジスタ指定フ
    ィールドで指定された汎用レジスタの個数が、上記第1
    のレジスタで指定されたワード数より多い場合、残りの
    汎用レジスタと、上記第2のメモリアドレスから連続し
    たメモリ領域との間でデータ転送することを特徴とする
    データ転送方式。
  2. 【請求項2】 複数の1ワード長構成の汎用レジスタ
    と、メモリ上の連続した領域のワード数を指定する第1
    のレジスタと、アドレスオフセット値を指定する第2の
    レジスタと、上記複数の汎用レジスタの内で転送の対象
    となるものを指定する第3のレジスタとを備えたデータ
    処理装置において、上記メモリと上記複数の汎用レジス
    タ間のデータ転送を行う転送命令を持ち、上記転送命令
    は、上記メモリ上のアドレスを特定するためのアドレッ
    シング指定フィールドを備え、上記転送命令を実行する
    際、上記アドレッシング指定フィールドを処理して第1
    のメモリアドレスを算出し、上記第1のメモリアドレス
    に上記第2のレジスタで指定されたアドレスオフセット
    値を加えて第2のメモリアドレスを算出し、上記第1の
    メモリアドレスからの領域であり上記第1のレジスタで
    指定されたワード分の連続したメモリ領域と、上記第3
    のレジスタで指定された汎用レジスタの間でデータの転
    送を行い、上記第3のレジスタで指定された汎用レジス
    タの個数が、上記第1のレジスタで指定されたワード数
    より多い場合、残りの汎用レジスタと、上記第2のメモ
    リアドレスから連続したメモリ領域との間でデータ転送
    することを特徴とするデータ転送方式。
  3. 【請求項3】 複数の1ワード長構成の汎用レジスタ
    と、メモリ上の連続した領域のワード数を指定する第1
    のレジスタと、アドレスオフセット値を指定する第2の
    レジスタとを備えたデータ処理装置において、上記複数
    の汎用レジスタの内の1つを、上記複数の汎用レジスタ
    において転送の対象となるものを指定する第3のレジス
    タとして用い、上記メモリと上記複数の汎用レジスタ間
    のデータ転送を行う転送命令を持ち、上記転送命令は、
    上記メモリ上のアドレスを特定するためのアドレッシン
    グ指定フィールドを備え、上記転送命令を実行する際、
    上記アドレッシング指定フィールドを処理して第1のメ
    モリアドレスを算出し、上記第1のメモリアドレスに上
    記第2のレジスタで指定されたアドレスオフセット値を
    加えて第2のメモリアドレスを算出し、上記第1のメモ
    リアドレスからの領域であり上記第1のレジスタで指定
    されたワード分の連続したメモリ領域と、上記第3のレ
    ジスタで指定された汎用レジスタの間でデータの転送を
    行い、上記第3のレジスタで指定された汎用レジスタの
    個数が、上記第1のレジスタで指定されたワード数より
    多い場合、残りの汎用レジスタと、上記第2のメモリア
    ドレスから連続したメモリ領域との間でデータ転送する
    ことを特徴とするデータ転送方式。
  4. 【請求項4】 複数の1ワード長構成の汎用レジスタを
    有したデータ処理装置において、メモリと複数の汎用レ
    ジスタ間のデータ転送を行う転送命令を持ち、上記転送
    命令は、上記メモリ上の連続した領域のワード数を指定
    する個数指定フィールドと、アドレスオフセット値を指
    定するアドレスオフセット指定フィールドと、上記メモ
    リ上のアドレスを特定するためのアドレッシング指定フ
    ィールドと、上記複数の汎用レジスタの内で転送の対象
    となるものを指定するレジスタ指定フィールドとを備
    え、上記転送命令を実行する際、上記アドレッシング指
    定フィールドを処理して第1のメモリアドレスを算出
    し、上記第1のメモリアドレスに上記アドレスオフセッ
    ト指定フィールドで指定されたアドレスオフセット値を
    加えて第2のメモリアドレスを算出し、上記第1のメモ
    リアドレスからの領域であり上記個数指定フィールドで
    指定されたワード分の連続したメモリ領域と、上記レジ
    スタ指定フィールドで指定された汎用レジスタとの間で
    データの転送を行い、上記レジスタ指定フィールドで指
    定された汎用レジスタの個数が、上記個数指定フィール
    ドで指定されたワード数より多い場合、残りの汎用レジ
    スタと、上記第2のメモリアドレスから連続したメモリ
    領域との間でデータ転送することを特徴とするデータ転
    送方式。
JP3230978A 1991-08-19 1991-08-19 データ転送方式 Expired - Lifetime JP2611065B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3230978A JP2611065B2 (ja) 1991-08-19 1991-08-19 データ転送方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3230978A JP2611065B2 (ja) 1991-08-19 1991-08-19 データ転送方式

Publications (2)

Publication Number Publication Date
JPH0546379A JPH0546379A (ja) 1993-02-26
JP2611065B2 true JP2611065B2 (ja) 1997-05-21

Family

ID=16916309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3230978A Expired - Lifetime JP2611065B2 (ja) 1991-08-19 1991-08-19 データ転送方式

Country Status (1)

Country Link
JP (1) JP2611065B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7020879B1 (en) 1998-12-16 2006-03-28 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7035997B1 (en) 1998-12-16 2006-04-25 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7257814B1 (en) 1998-12-16 2007-08-14 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US7237093B1 (en) 1998-12-16 2007-06-26 Mips Technologies, Inc. Instruction fetching system in a multithreaded processor utilizing cache miss predictions to fetch instructions from multiple hardware streams
US7529907B2 (en) 1998-12-16 2009-05-05 Mips Technologies, Inc. Method and apparatus for improved computer load and store operations
US6389449B1 (en) 1998-12-16 2002-05-14 Clearwater Networks, Inc. Interstream control and communications for multi-streaming digital processors
DE60143896D1 (de) 2000-07-14 2011-03-03 Mips Tech Inc Anweisungsabruf und -absendung in einem multi-thread-system

Also Published As

Publication number Publication date
JPH0546379A (ja) 1993-02-26

Similar Documents

Publication Publication Date Title
KR940009094B1 (ko) 데이타처리 시스템
JPH04109336A (ja) データ処理装置
JP3203401B2 (ja) データ処理装置
US4945511A (en) Improved pipelined processor with two stage decoder for exchanging register values for similar operand instructions
JP2970821B2 (ja) データ処理装置
JP2611065B2 (ja) データ転送方式
JP3789583B2 (ja) データ処理装置
JP2669158B2 (ja) データ処理装置
JPH0683582A (ja) データ演算装置
JP2609618B2 (ja) データ処理装置
US6721867B2 (en) Memory processing in a microprocessor
JPH04260926A (ja) ビット検索回路及びそれを備えたデータ処理装置
JPH0560629B2 (ja)
JP2999907B2 (ja) マイクロプログラム制御方式の中央処理装置
JPH01169537A (ja) マイクロプロセッサ
JPS60117335A (ja) 情報処理装置
JPH0340422B2 (ja)
JP2878250B2 (ja) データ処理装置
JP4294190B2 (ja) 並列プロセッサ及びそれを用いた画像処理装置
JPS6341092B2 (ja)
JP2597744B2 (ja) 分岐制御方法
JP3041308B2 (ja) データ処理装置
JP2542120B2 (ja) 情報処理装置
JPS6380333A (ja) マイクロコンピユ−タ回路
JPS63234322A (ja) プロセツサ