JPH0546379A - Data transfer system - Google Patents

Data transfer system

Info

Publication number
JPH0546379A
JPH0546379A JP3230978A JP23097891A JPH0546379A JP H0546379 A JPH0546379 A JP H0546379A JP 3230978 A JP3230978 A JP 3230978A JP 23097891 A JP23097891 A JP 23097891A JP H0546379 A JPH0546379 A JP H0546379A
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.)
Granted
Application number
JP3230978A
Other languages
Japanese (ja)
Other versions
JP2611065B2 (en
Inventor
Hiromi Okazaki
弘美 岡崎
Naoyoshi Nakano
直佳 中野
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/en
Publication of JPH0546379A publication Critical patent/JPH0546379A/en
Application granted granted Critical
Publication of JP2611065B2 publication Critical patent/JP2611065B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE:To simultaneously execute a transfer of plural data by providing a continuous area transfer piece number designation register and an address offset designation register, and designating that which becomes a transfer object by plural general registers. CONSTITUTION:When it is decided to be an instruction for transferring plural data from plural continuous memory areas to plural registers, an address calculating part 10 fetches an effective address. In an instruction executing part 11, the fetched effective address is designated, a register list field in the instruction is referred to and to a general register 12 designated by a bit which becomes '1' in the beginning, data is transferred by 32 bits from an external memory 14. When one data transfer is finished, a memory address of the next data is designated in the instruction executing part 11. Subsequently, the value of a continuous area transfer piece number designation register 24 is subtracted by '1', and when its value is '0', the value of an address offset register 25 is added to the head address of an initial continuous memory area and it becomes the address of a second continuous memory area.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は、データ転送機能を有
するデータ処理装置に関し、特に複数のデータを1命令
で転送する機能を持つデータ転送方式に関するものであ
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device having a data transfer function, and more particularly to a data transfer system having a function of transferring a plurality of data with one instruction.

【0002】[0002]

【従来の技術】従来よりデータ処理装置は、外部メモリ
と内部の汎用レジスタ間でデータの転送を行なう命令を
基本的な機能として備えている。一般的には、単一のデ
ータをソースであるメモリまたはレジスタからデスティ
ネーションであるメモリまたはレジスタに転送する命令
を持つが、近年この命令を高機能化し、1命令で高速に
複数のデータを転送することが可能なデータ処理装置も
製品化されている。
2. Description of the Related Art Conventionally, a data processing device has, as a basic function, an instruction for transferring data between an external memory and an internal general-purpose register. Generally, it has an instruction to transfer a single data from a memory or register as a source to a memory or register as a destination. In recent years, this instruction has become highly functional and multiple data can be transferred at high speed with one instruction. A data processing device capable of doing so has also been commercialized.

【0003】ここでは、このようなデータ処理装置の一
例として、複数のレジスタを指定するレジスタリストフ
ィールドを命令内に持つことによって、複数のデータを
複数のレジスタと連続メモリ領域との間で転送するとき
に、1命令で実行することができる機能を備えたTRO
N仕様の32ビットマイクロプロセッサ(M32/10
0ユーザーズマニュアル1989に開示されている)に
ついて説明する。
Here, as an example of such a data processing device, by having a register list field for designating a plurality of registers in an instruction, a plurality of data are transferred between a plurality of registers and a continuous memory area. Sometimes a TRO with the ability to execute with one instruction
N specification 32-bit microprocessor (M32 / 10
0 User's Manual 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の指定に用いられる。
Instructions for transferring a plurality of data between a continuous memory area and a plurality of registers include LDM and STM. Reference numeral 1 in FIG. 9 represents a mnemonic of an instruction LDM for transferring a plurality of data in a continuous memory area to a plurality of registers. In this mnemonic 1, the operand designating section 2 which is a section for designating an operand includes a leading address designating section 2a which is a section which designates a leading address of a memory to be transferred and which is capable of various address modifications.
32-bit general-purpose register groups R0, R1, ...
.., R15, and a register list portion 2b which is a portion for designating a register to which data is transferred. The 16-bit register list field included in the instruction is shown in detail in FIG. As in this register list field 3, each bit is M
General-purpose registers R0, R1, ... from the SB side in order
・ Used to specify R15.

【0005】図9のニモニック1で表わされるLDMと
いう転送命令は、命令中のオペランド指定部2の先頭ア
ドレス指定部(src)2aで指定されるアドレスを計
算して、転送を行なう連続メモリ領域の先頭アドレスと
し、次に命令中のレジスタリストフィールド3をMSB
側から図10の矢印4の方向に参照し、このうち1とな
っているビットの示す汎用レジスタに、順にデータを転
送していく命令である。
The transfer instruction called LDM represented by mnemonic 1 in FIG. 9 calculates the address specified by the head address specifying section (src) 2a of the operand specifying section 2 in the instruction, and transfers it in the continuous memory area to be transferred. Set the start address, then register list field 3 in the instruction with the MSB
This is an instruction that is referred to from the side in the direction of arrow 4 in FIG. 10 and sequentially transfers data to the general-purpose register indicated by the bit that is 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は外部デー
タバスである。
FIG. 11 shows an example of a conventional data processing device.
TRON specification 32-bit microprocessor M32 / 1
00 and a part of an external memory. In the microprocessor 7, 8 is an instruction fetch section (hereinafter referred to as IF section) including an instruction queue 30 for prefetching instructions, and 9 is a decoder 31 for decoding instructions.
An instruction decode unit (hereinafter referred to as D unit) including 10 performs operand address calculation and fetches an execution address, an operand address calculation unit (hereinafter referred to as A unit)
Is. An execution unit 11 (hereinafter, referred to as an E unit) 11 executes an instruction. The E unit 11 includes, for example, 16 general-purpose registers 12 having a 32-bit length, a micro ROM 32, an arithmetic unit 33, and the like. A bus interface unit 13 inputs and outputs data. 14 is 8 bits (1
It is an external memory with addresses in bytes) and stores instructions and data. Reference numeral 15 is an external bus having a width of 32 bits, 15a is an external address bus, and 15b is an external data bus.

【0007】次に図9〜図11を用いてこの従来例の動
作の説明を行なう。図9のニモニック1で表わされる命
令が外部メモリ14からIF部8に読み込まれると、こ
の命令はD部9に送られ、デコードされる。ここでこの
命令は、複数のデータを連続メモリ領域から複数のレジ
スタに転送する命令であると判断され、次のA部10へ
と送られる。A部10では、命令中のオペランド(オペ
ランド指定部2)に対応する部分のうち、転送を行なう
連続メモリ領域の先頭アドレス(先頭アドレス指定部2
a)に対応する部分で、必要に応じて各種のアドレス修
飾によりアドレス計算が行なわれ、実効アドレスをフェ
ッチして次のE部11へと送られる。次にE部11で
は、命令中のレジスタリストフィールド3をMSB側か
ら参照していき、初めて1となっているビットの指定す
る汎用レジスタに、外部メモリ14からデータを32ビ
ットだけ外部データバス15bを通して転送する。ひと
つのデータの転送が終わると、E部11ではアドレスが
4だけインクリメントされ、アドレスバス15aを介し
て次のデータのメモリ番地が指定される。16ビットの
レジスタリストフィールド3をLSBまですべて参照
し、上記のような動作を繰り返して、外部メモリ14か
ら汎用レジスタ12にデータの転送が終わると命令を終
了する。
Next, the operation of this conventional example will be described with reference to FIGS. When the instruction represented by mnemonic 1 in FIG. 9 is read from the external memory 14 into the IF section 8, this instruction is sent to the D section 9 and decoded. Here, this instruction is judged to be an instruction to transfer a plurality of data from the continuous memory area to a plurality of registers, and is sent to the next section A 10. In the part A 10, of the part corresponding to the operand (operand designating part 2) in the instruction, the start address (start address designating part 2
In the portion corresponding to a), address calculation is performed by various address modifications as necessary, and the effective address is fetched and sent to the next E unit 11. Next, the E section 11 refers to the register list field 3 in the instruction from the MSB side, and stores 32 bits of data from the external memory 14 to the general-purpose register designated by the bit which is 1 for the first time on the external data bus 15b. Transfer through. When the transfer of one data is completed, the address is incremented by 4 in the E section 11, and the memory address of the next data is designated via the address bus 15a. The 16-bit register list field 3 is referred to all the way up to the LSB, the above-described operation is repeated, and when the data transfer from the external memory 14 to the general-purpose register 12 ends, the instruction ends.

【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にデータの転送を終わると命令を終了す
る。
In the instruction STM of transferring a plurality of data from a plurality of registers to a continuous memory area by one instruction,
The opposite operation is performed. That is, when the STM instruction is read from the external memory 14 into the IF unit 8, D
It is decoded by the section 9, and it is judged here that this instruction is an instruction to transfer a plurality of data from a plurality of registers to a continuous memory area, and is sent to the next section A 10. In the part A 10, of the part corresponding to the operand in the instruction, the part corresponding to the head address of the continuous memory area to be transferred is subjected to address calculation by various address modifications as necessary, and the effective address is fetched. Then, it is sent to the E section 11. Next, the E section 11 refers to the register list field 3 in the instruction from the MSB side and first
32 bits of data are transferred from the general-purpose register 12 designated by the bit to the external memory 14 through the external data bus 15b. When the transfer of one data is completed, the address is incremented by 4 in the E section 11, and the memory address of the data to be transferred next is specified via the address bus 15a. When the 16-bit register list field 3 is referenced up to the LSB, the above operation is repeated, and when the data transfer from the general-purpose register 12 to the external memory 14 is completed, the instruction is completed.

【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であるから、転送は行なわず、命令
の実行を終了する。
The operation of this data processing device will be described with reference to a specific example of the LDM instruction. Consider a case where the LDM instruction 16 shown in FIG. 12 is read by the microprocessor 7. LDM prefetched by the IF unit 8
The instruction 16 is sent to the D section 9 and decoded to determine that this instruction transfers a plurality of data from the continuous memory area to a plurality of registers. Since the source addressing method directly points to the start address of the memory to be transferred, in this case, the address H'1000 of the external memory becomes the start address of the continuous memory area of the source, and the address in A section 10 is It is sent to the E section 11 without any calculation. H '
Means a hexadecimal number. Next, the E section 11 executes the instruction. The register list field in the instruction represented by the mnemonic 16 in FIG. 12 is 3a shown in FIG.
It looks like. Referring to the register list field 3a in order from the MSB side, first, the designated bit of R0 has 1, so that 32 bits of data at the address H'1000 are transferred to the general-purpose register R through the external data bus 15b.
Transfer to 0 and increment address by 4. Next, since the bit indicating R1 also has 1, the next H '
The 32-bit data at address 1004 is transferred to the general-purpose register R1. Similarly, the data at the address H'1008 is transferred to the R2 register. Referring to the register list of FIG. 13, since the bits representing R3, R4, and R5 are 0, data is not transferred to these general-purpose registers R3, R4, and R5. The data of the address H'100c is transferred for 32 bits. Although the remaining bits of the register list field 3a are also referred to, but since the remaining bits are all 0, no transfer is performed and the execution of the instruction is terminated.

【0010】[0010]

【発明が解決しようとする課題】従来のデータ処理装置
では、以上のように動作して、1命令で複数のデータを
複数のレジスタとメモリの連続領域の間で転送する事が
できる。しかし複数のデータを、複数のレジスタと複数
の連続メモリ領域の間で転送するためには、いくつかの
命令を組み合わせることが必要であった。このため、こ
の間に割込み要求があった場合、処理が分割されるとい
う問題点があった。また、複数個の複数データ転送命令
の間を割り込み禁止処理にするためには、これらの命令
の前後で割り込み禁止処理を実行する必要があるという
問題点があった。
In the conventional data processing apparatus, it is possible to transfer a plurality of data between a plurality of registers and a continuous area of the memory by one instruction by operating as described above. However, in order to transfer a plurality of data between a plurality of registers and a plurality of continuous memory areas, it was necessary to combine some instructions. Therefore, if there is an interrupt request during this period, there is a problem that the process is divided. Further, there is a problem that in order to perform interrupt prohibition processing between a plurality of plural data transfer instructions, it is necessary to execute interrupt prohibition processing before and after these instructions.

【0011】この発明は上記のような問題点を解消する
ためになされたもので、複数のレジスタと複数の連続メ
モリ領域との間の複数のデータの転送を1度に行なうこ
とができるデータ転送方式を提供することを目的とす
る。
The present invention has been made to solve the above-mentioned problems, and is capable of transferring a plurality of data between a plurality of registers and a plurality of continuous memory areas at one time. The purpose is to provide a scheme.

【0012】[0012]

【課題を解決するための手段】請求項1の発明に係るデ
ータ転送方式は、転送命令を実行する際、アドレッシン
グ指定フィールド(先頭アドレス指定部22a)を処理
して第1のメモリアドレスを算出し、第1のメモリアド
レスに第2のレジスタ(アドレスオフセット指定レジス
タ25)で指定されたアドレスオフセット値を加えて第
2のメモリアドレスを算出し、第1のメモリアドレスか
らの領域であり第1のレジスタ(連続領域転送個数指定
レジスタ24)で指定されたワード分の連続したメモリ
領域と、レジスタ指定フィールド(レジスタリスト部2
2b)で指定された汎用レジスタとの間でデータの転送
を行い、レジスタ指定フィールドで指定された汎用レジ
スタの個数が、第1のレジスタで指定されたワード数よ
り多い場合、残りの汎用レジスタと、第2のメモリアド
レスから連続したメモリ領域との間でデータ転送するも
のである。
According to the data transfer method of the first aspect of the present invention, the first memory address is calculated by processing the addressing designation field (head address designation section 22a) when executing the transfer instruction. , The second memory address is calculated by adding the address offset value designated by the second register (address offset designation register 25) to the first memory address, and is the area from the first memory address. A continuous memory area for words specified by a register (continuous area transfer number specification register 24) and a register specification field (register list section 2)
When data is transferred to / from the general-purpose register specified in 2b) and the number of general-purpose registers specified in the register specification field is larger than the number of words specified in the first register, the remaining general-purpose registers , Data is transferred between the second memory address and a continuous memory area.

【0013】請求項2の発明に係るデータ転送方式は、
転送命令を実行する際、アドレッシング指定フィールド
を処理して第1のメモリアドレスを算出し、第1のメモ
リアドレスに第2のレジスタで指定されたアドレスオフ
セット値を加えて第2のメモリアドレスを算出し、第1
のメモリアドレスからの領域であり第1のレジスタで指
定されたワード分の連続したメモリ領域と、第3のレジ
スタで指定された汎用レジスタの間でデータの転送を行
い、第3のレジスタで指定された汎用レジスタの個数
が、第1のレジスタで指定されたワード数より多い場
合、残りの汎用レジスタと、第2のメモリアドレスから
連続したメモリ領域との間でデータ転送するものであ
る。
A data transfer system according to the invention of claim 2 is
When executing the transfer instruction, the addressing designation field is processed to calculate the first memory address, and the second memory address is calculated by adding the address offset value designated by the second register to the first memory address. And first
Data is transferred between the continuous memory area for the word specified by the first register and the general-purpose register specified by the third register, and is specified by the third register. When the number of the general-purpose registers thus created is larger than the number of words designated by the first register, data is transferred between the remaining general-purpose registers and the memory area continuous from the second memory address.

【0014】請求項3の発明に係るデータ転送方式は、
転送命令を実行する際、アドレッシング指定フィールド
を処理して第1のメモリアドレスを算出し、第1のメモ
リアドレスに第2のレジスタで指定されたアドレスオフ
セット値を加えて第2のメモリアドレスを算出し、第1
のメモリアドレスからの領域であり第1のレジスタで指
定されたワード分の連続したメモリ領域と、複数の汎用
レジスタの内の1つである第3のレジスタで指定された
汎用レジスタの間でデータの転送を行い、第3のレジス
タで指定された汎用レジスタの個数が、第1のレジスタ
で指定されたワード数より多い場合、残りの汎用レジス
タと、第2のメモリアドレスから連続したメモリ領域と
の間でデータ転送するものである。
A data transfer system according to the invention of claim 3 is
When executing the transfer instruction, the addressing designation field is processed to calculate the first memory address, and the second memory address is calculated by adding the address offset value designated by the second register to the first memory address. And first
Data from the memory address of the general register specified by the first register, which is a continuous memory area specified by the first register, and the general register specified by the third register, which is one of the general registers. When the number of general-purpose registers specified by the third register is larger than the number of words specified by the first register, the remaining general-purpose registers and a memory area continuous from the second memory address are transferred. Data is transferred between the two.

【0015】請求項4の発明に係るデータ転送方式は、
転送命令を実行する際、アドレッシング指定フィールド
を処理して第1のメモリアドレスを算出し、第1のメモ
リアドレスにアドレスオフセット指定フィールドで指定
されたアドレスオフセット値を加えて第2のメモリアド
レスを算出し、第1のメモリアドレスからの領域であり
個数指定フィールドで指定されたワード分の連続したメ
モリ領域と、レジスタ指定フィールドで指定された汎用
レジスタとの間でデータの転送を行い、レジスタ指定フ
ィールドで指定された汎用レジスタの個数が、個数指定
フィールドで指定されたワード数より多い場合、残りの
汎用レジスタと第2のメモリアドレスから連続したメモ
リ領域との間でデータ転送するものである。
A data transfer system according to the invention of claim 4 is
When executing the transfer instruction, the addressing specification field is processed to calculate the first memory address, and the second memory address is calculated by adding the address offset value specified in the address offset specification field to the first memory address. Then, data is transferred between the continuous memory area, which is the area from the first memory address and is the word specified by the number specification field, and the general-purpose register specified by the register specification field. When the number of general-purpose registers designated by is larger than the number of words designated by the number designation field, data is transferred between the remaining general-purpose registers and the memory area continuous from the second memory address.

【0016】[0016]

【作用】請求項1の発明において、転送命令が実行され
る際、アドレッシング指定フィールドを処理することに
より第1のメモリアドレスが算出され、この第1のメモ
リアドレスに第2のレジスタで指定されたアドレスオフ
セット値が加えられることにより第2のメモリアドレス
が算出される。第1のメモリアドレスからの領域であり
第1のレジスタで指定されたワード分の連続したメモリ
領域と、レジスタ指定フィールドで指定された汎用レジ
スタとの間でデータ転送が行なわれる。レジスタ指定フ
ィールドで指定された汎用レジスタの個数が第1のレジ
スタで指定されたワード数より多い場合、残りの汎用レ
ジスタと第2のメモリアドレスから連続したメモリ領域
との間でデータ転送が行なわれる。
According to the first aspect of the invention, when the transfer instruction is executed, the first memory address is calculated by processing the addressing designation field, and the first memory address is designated by the second register. The second memory address is calculated by adding the address offset value. Data transfer is performed between the continuous memory area for the word designated by the first register, which is the area from the first memory address, and the general-purpose register designated by the register designation field. If the number of general-purpose registers specified in the register specification field is larger than the number of words specified in the first register, data transfer is performed between the remaining general-purpose registers and the memory area continuous from the second memory address. ..

【0017】請求項2の発明において、転送命令が実行
される際、アドレッシング指定フィールドを処理するこ
とにより第1のメモリアドレスが算出され、この第1の
メモリアドレスに第2のレジスタで指定されたアドレス
オフセット値が加えられることにより第2のメモリアド
レスが算出される。第1のメモリアドレスからの領域で
あり第1のレジスタで指定されたワード分の連続したメ
モリ領域と、第3のレジスタで指定された汎用レジスタ
との間でデータ転送が行なわれる。第3のレジスタで指
定された汎用レジスタの個数が第1のレジスタで指定さ
れたワード数より多い場合、残りの汎用レジスタと第2
のメモリアドレスから連続したメモリ領域との間でデー
タ転送が行なわれる。
According to the second aspect of the invention, when the transfer instruction is executed, the first memory address is calculated by processing the addressing designation field, and the first memory address is designated by the second register. The second memory address is calculated by adding the address offset value. Data transfer is performed between the continuous memory area for the word designated by the first register, which is the area from the first memory address, and the general-purpose register designated by the third register. If the number of general-purpose registers specified by the third register is greater than the number of words specified by the first register, the remaining general-purpose registers and the second general-purpose register
Data is transferred from the memory address of 1 to a continuous memory area.

【0018】請求項3の発明において、転送命令が実行
される際、アドレッシング指定フィールドを処理するこ
とにより第1のメモリアドレスが算出され、この第1の
メモリアドレスに第2のレジスタで指定されたアドレス
オフセット値が加えられることにより第2のメモリアド
レスが算出される。第1のメモリアドレスからの領域で
あり第1のレジスタで指定されたワード分の連続したメ
モリ領域と、複数の汎用レジスタの内の1つである第3
のレジスタで指定された汎用レジスタとの間でデータ転
送が行なわれる。第3のレジスタで指定された汎用レジ
スタの個数が第1のレジスタで指定されたワード数より
多い場合、残りの汎用レジスタと第2のメモリアドレス
から連続したメモリ領域との間でデータ転送が行なわれ
る。
In the third aspect of the invention, when the transfer instruction is executed, the first memory address is calculated by processing the addressing designation field, and the first memory address is designated by the second register. The second memory address is calculated by adding the address offset value. A region from the first memory address, which is a continuous memory region for words specified by the first register, and a third memory which is one of a plurality of general-purpose registers.
Data is transferred to and from the general-purpose register specified by the register. When the number of general-purpose registers specified by the third register is larger than the number of words specified by the first register, data transfer is performed between the remaining general-purpose registers and the memory area continuous from the second memory address. Be done.

【0019】請求項4の発明において、転送命令が実行
される際、アドレッシング指定フィールドを処理するこ
とにより第1のメモリアドレスが算出され、この第1の
メモリアドレスにアドレスオフセット指定フィールドで
指定されたアドレスオフセット値が加えられることによ
り第2のメモリアドレスが算出される。第1のメモリア
ドレスからの領域であり個数指定フィールドで指定され
たワード分の連続したメモリ領域と、レジスタ指定フィ
ールドで指定された汎用レジスタとの間でデータ転送が
行なわれる。レジスタ指定フィールドで指定された汎用
レジスタの個数が個数指定フィールドで指定されたワー
ド数より多い場合、残りの汎用レジスタと第2のメモリ
アドレスから連続したメモリ領域との間でデータ転送が
行なわれる。
In the invention of claim 4, when the transfer instruction is executed, the first memory address is calculated by processing the addressing designation field, and this first memory address is designated by the address offset designation field. The second memory address is calculated by adding the address offset value. Data transfer is performed between a continuous memory area, which is an area starting from the first memory address and has the number of words designated by the number designation field, and the general-purpose register designated by the register designation field. If the number of general-purpose registers specified in the register specification field is larger than the number of words specified in the number specification field, data transfer is performed between the remaining general-purpose registers and the memory area continuous from the second memory address.

【0020】[0020]

【実施例】【Example】

(実施例1)以下請求項1の発明の一実施例として、1
6個の32ビット長の汎用レジスタを持ち、連続領域転
送個数指定用レジスタとアドレスオフセット指定用レジ
スタ、及び命令中のレジスタリストフィールドによっ
て、1命令で複数のデータを、複数のレジスタと複数の
連続メモリ領域との間で転送することができるデータ処
理装置について図1〜図8を用いて説明する。
(Embodiment 1) As an embodiment of the invention of claim 1,
It has 6 general-purpose registers of 32 bit length, and it uses a register for specifying the number of continuous area transfers, a register for address offset specification, and a register list field in an instruction to store a plurality of data in one instruction and a plurality of consecutive data in a plurality of registers. A data processing device that can transfer data to and from the memory area will be described with reference to FIGS.

【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から256までの値を取
ることができる。転送命令LDM2を実行する場合に
は、連続領域転送個数指定レジスタ24及びアドレスオ
フセット指定レジスタ25に予め値を設定しておく必要
がある。
An instruction for transferring a plurality of data between two discontinuous memory areas and a plurality of general-purpose registers is LDM2.
And STM2. Reference numeral 21 in FIG. 1 is a mnemonic L when the data processing device of this embodiment transfers a plurality of data from a plurality of continuous memory areas to a plurality of registers with one instruction.
It represents DM2. The operand designating section 22 that is a section that designates an operand includes a head address designating section 22a that is a section that designates a head address of a continuous memory area to be transferred, which is capable of various addressing modifications.
16 32-bit general-purpose register groups R0, R1, ...
The register list section 22b, which is a section for designating which register of R15 the data is transferred to. The register list field included in the instruction is shown in detail in FIG. Like the register list field 3, each bit sequentially designates the general purpose registers R0, R1, ..., R15 from the MSB side. 2 shows a continuous area transfer number designation register (first register), and 25 an address offset designation register (second register). The continuous area transfer number designation register 24 is composed of 4 bits and
It takes a value from 1 to 15. The address offset designation register 25 has 8 bits and can take a value from 0 to 256. When the transfer instruction LDM2 is executed, it is necessary to set the values in the continuous area transfer number designation register 24 and the address offset designation register 25 in advance.

【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から成る。
FIG. 3 is a block diagram showing a part of the microprocessor and the external memory in the data processing apparatus of this embodiment. In FIG. 3, 8 in the microprocessor 7 is an instruction fetch section (hereinafter referred to as IF section) including an instruction queue 30 for prefetching instructions, and 9 is an instruction decoding section including a decoder 31 for decoding instructions (hereinafter D Part), 10 is an operand address calculation part (hereinafter referred to as A part) that calculates an address of an operand and fetches an execution address, and 11 is an execution part (hereinafter referred to as E part) that executes an instruction. Sixteen general-purpose registers 12 having a 32-bit length, a 4-bit continuous area transfer number designation register 24, an 8-bit address offset designation register 25, a micro ROM 32, and an arithmetic unit 33.
Etc. are included. A bus interface unit 13 inputs and outputs data. 14 is 8 bits (1 byte)
It is an external memory with addresses assigned to each unit and stores instructions and data. 15 is an external bus with a width of 32 bits,
The external bus 15 is an address bus 15a and a data bus 1
It consists of 5b.

【0023】次に図1〜図3を用いてこの実施例の動作
説明を行なう。図1のニモニック21で表わされる命令
が外部メモリ14からIF部8に読み込まれると、この
命令はD部9に送られ、デコードされる。ここで、この
命令は、複数のデータを複数の連続メモリ領域から複数
のレジスタに転送する命令であると判断され、次のA部
10に送られる。A部10では、命令中のオペランド
(オペランド指定部22)に対応する部分のうち、転送
を行なう第1の連続メモリ領域の先頭アドレス(先頭ア
ドレス指定部22a)に対応する部分で、必要に応じて
各種のアドレス修飾によりアドレス計算が行なわれ、実
効アドレスをフェッチして次のE部11へと送られる。
次にE部11では、命令中のレジスタリストフィールド
3をMSB側から参照していき、初めに1となっている
ビットの指定する汎用レジスタ12に、外部メモリ14
からデータを32ビットだけ外部データバス15bを通
して転送する。ひとつのデータの転送が終わると、E部
11ではアドレスが4だけインクリメントされ、アドレ
スバスを介して次のデータのメモリ番地が指定される。
次に連続領域転送個数指定レジスタ24の値を1だけ減
らして、その内容を調べて0でない場合には、上記と同
様にデータの転送を続けるが、値が0のときには初めの
連続メモリ領域の先頭アドレスにアドレスオフセットレ
ジスタ25の値を加えて第2の連続メモリ領域のアドレ
スとする。16ビットのレジスタリストフィールド3を
LSBまですべて参照し、上記のような動作を繰り返し
て外部メモリ14から汎用レジスタ12にデータの転送
が終わると命令を終了する。
Next, the operation of this embodiment will be described with reference to FIGS. When the instruction represented by the mnemonic 21 in FIG. 1 is read from the external memory 14 into the IF section 8, this instruction is sent to the D section 9 and decoded. Here, this instruction is determined to be an instruction to transfer a plurality of data from a plurality of continuous memory areas to a plurality of registers, and is sent to the next section A 10. In part A, of the part corresponding to the operand in the instruction (operand designating part 22), the part corresponding to the start address (start address designating part 22a) of the first continuous memory area to be transferred, if necessary, Address calculation is performed by various address modifications, and the effective address is fetched and sent to the next E section 11.
Next, in the E section 11, the register list field 3 in the instruction is referenced from the MSB side, and the external memory 14 is stored in the general-purpose register 12 designated by the first bit of 1.
32 bits of data are transferred from the external data bus 15b. When the transfer of one data is completed, the address is incremented by 4 in the E section 11, and the memory address of the next data is designated via the address bus.
Next, the value of the continuous area transfer number designation register 24 is decremented by 1, the content is checked, and if it is not 0, the data transfer is continued in the same manner as above, but when the value is 0, the first continuous memory area The value of the address offset register 25 is added to the start address to form the address of the second continuous memory area. All the 16-bit register list field 3 up to the LSB is referred to, and the above operation is repeated to end the instruction when the data transfer from the external memory 14 to the general-purpose register 12 is completed.

【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にデ
ータの転送を終わると命令を終了する。
An instruction STM for transferring a plurality of data from a plurality of registers to a plurality of continuous memory areas with one instruction
In 2, the operation opposite to the above is performed. That is, S
When the TM2 instruction is read from the external memory 14 to the IF section 8, it is decoded by the D section 9, and here it is determined that this instruction is an instruction to transfer a plurality of data from a plurality of registers to a plurality of continuous memory areas. And sent to the next section A 10. In the part A 10, of the part corresponding to the operand in the instruction, the part corresponding to the start address of the first continuous memory area to be transferred is subjected to address calculation by various address modifications as necessary, and is effective. The address is fetched and sent to the next E section 11. Next, part E 11
Then, referring to the register list field 3 in the instruction from the MSB side, only 32 bits of data are transferred from the general-purpose register 12 designated by the bit which is 1 to the external memory 14 through the external data bus 15b. .. When the transfer of one data is completed, the address is incremented by 4 in the E section 11, and the memory address of the data to be transferred next is specified via the address bus 15a. Next, the value of the continuous area transfer number designation register 24 is decremented by 1, the content is checked, and if it is not 0, the data transfer is continued in the same manner as above, but when the value is 0, the first continuous memory area The value of the address offset register 25 is added to the start address to make the address of the next data transfer destination. When the 16-bit register list field 3 is referenced up to the LSB and the above operation is repeated to complete the transfer of data from the general-purpose register 12 to the external memory 14, the instruction ends.

【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とし、これ
をつぎに転送を行なうデータの実効アドレスとする。
The operation of the data processor of this embodiment is
A specific example of the M2 instruction will be described. This will be described with reference to the flowchart of FIG. Instruction 21 as shown in FIG.
Consider the case where a is read by the multiprocessor 7. The instruction 21a prefetched by the IF unit 8 (step S1) is sent to the D unit 9 and decoded (step S2), and this instruction transfers a plurality of data from a plurality of continuous memory areas to a plurality of registers. It is judged to be a thing. Also, the source addressing method is
Since it directly points to the start address of the memory to be transferred, in this case, the address H'1000 of the external memory 14 becomes the start address of the first continuous memory area of the source, and the A section 10 calculates the address (step S3). Need not be performed, and the data is directly sent to the E section 11. Then E
The instruction is executed in the section 11. A register list field in an instruction represented by a mnemonic such as 21a in FIG. 4 is as shown in 3b shown in FIG. When the register list field 3b is sequentially referred to from the MSB side (step S4) (step S5), since the designated bit of R0 has 1 (step S6), H'100 is set.
32 bits of data at address 0, external data bus 15b
Through the general register R0 (step S7),
The address is incremented by 4 (step S
8). When the data transfer is completed once, 1 is subtracted from the value 2 of the continuous area transfer number designation register 24a (step S
9) Looking at the contents (step S10), since it is 1, nothing is done and the reference of the register list is continued (step S4). Since there is 1 in the bit designating R1, the next 32-bit data at address H'1004 is transferred to the general-purpose register R1 (step S7). Similarly, the address is incremented by 4 (step S8), 1 is subtracted from the value 1 of the continuous area transfer number designation register 24a (step S9), and the content is 0, so the first continuous memory area '1 which is the start address of
000 to the value H'4 of the address offset register 25b
0 is added (step S11) to H'1040, which is used as the effective address of the data to be transferred next.

【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であるから、転送は行なわず、命令の実行を
終了する。
When the address is determined, reference to the register list is continued (steps S12, S13, S14) and R2
Since the bit indicating the register is 1, the data at the address H'1040 is transferred to the R2 register (step S15). When the address is incremented by 4 (step S16) and the register list is subsequently referred to (steps S12, S13, S14), R3, R4, R
Since the bit representing 5 is 0, no data is transferred to these registers, and 32 bits of data at address H'1044 are transferred to the R6 register having 1 (step S15). Further, the address is incremented by 4 (step S16), and the remaining bits of the register list are referred to (step S12). However, since all the remaining bits are 0, the transfer is not performed and the execution of the instruction is completed.

【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参照)。
Next, the operation will be described with reference to FIGS. Since the content of the continuous area transfer number designation register 24a in FIG. 5 is B'0010 (B 'is binary), that is, H'2, as shown in FIG. The two pieces of data are read from consecutive memory areas. Since the general-purpose registers related to the transfer are R0, R1, R2, and R6 as shown in FIG. 6, the general-purpose register R0 receives 32-bit data from the address H'1000 and the general-purpose register R1 receives 32-bit data from the address H'1004. Read. Since only two data are continuously read, the next data is the content B'1000000 of the address offset designation register 25a, that is, H'4.
0 is read from H'1040 added to the start address H'1000 (see FIG. 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
番地から転送する。そして命令の実行を終了する。
Further, for example, the instruction is LDM2 H'1000, (R0-R5, R8, R10), and the content of the continuous area transfer number designation register is B'0.
When 011 = H'3 and the content of the address offset designation register is H'60, three pieces of data are designated as H'100 at the head address of the external memory as shown in FIG.
Data is continuously transferred from address 0, and data from the 4th data is H '
H'1040 with 1000 plus offset value H'60
Transfer from address. Then, the execution of the instruction ends.

【0029】(実施例2)なお、上記の実施例では、転
送を行なう複数の汎用レジスタを指定するレジスタリス
トフィールドを命令中に持ち、複数の汎用レジスタと、
連続領域個数指定レジスタおよびアドレスオフセットレ
ジスタとを用いて、複数のデータを複数の汎用レジスタ
と複数の連続メモリ領域との間で転送できるデータ処理
装置について述べたが、請求項2の発明に係るように、
複数の汎用レジスタを指定するためのレジスタリストを
命令中に持つのではなく、専用のレジスタ(第3のレジ
スタ)を用いることとしても同様の効果を奏する。
(Embodiment 2) In the above embodiment, an instruction has a register list field for designating a plurality of general-purpose registers to be transferred, and a plurality of general-purpose registers,
The data processing device capable of transferring a plurality of data between a plurality of general-purpose registers and a plurality of continuous memory areas using the continuous area number designation register and the address offset register has been described. To
The same effect can be obtained by using a dedicated register (third register) instead of having a register list for designating a plurality of general-purpose registers in an instruction.

【0030】(実施例3)また、請求項3の発明に係る
ように、転送に係わる汎用レジスタの数を一つ減らし
て、この汎用レジスタ1個をレジスタリストを示すレジ
スタ(第3のレジスタ)として用いることとしても同様
の効果を奏する。
(Third Embodiment) Further, according to the invention of claim 3, the number of general-purpose registers relating to the transfer is reduced by one, and one general-purpose register is used to indicate a register list (third register). The same effect can be obtained when used as.

【0031】(実施例4)また、請求項4の発明に係る
ように、複数の汎用レジスタを指定するレジスタリスト
と、連続領域の転送個数を指定するフィールドおよびア
ドレスオフセットを指定するフィールドを命令中に持つ
ことにしても、同様の効果を得ることができる。
(Embodiment 4) Also, according to the invention of claim 4, a register list for designating a plurality of general-purpose registers, a field for designating the transfer number of continuous areas and a field for designating an address offset are instructed. The same effect can be obtained even if it is used.

【0032】[0032]

【発明の効果】以上のように請求項1の発明によれば、
転送命令を実行する際、アドレッシング指定フィールド
を処理して第1のメモリアドレスを算出し、第1のメモ
リアドレスに第2のレジスタで指定されたアドレスオフ
セット値を加えて第2のメモリアドレスを算出し、第1
のメモリアドレスからの領域であり第1のレジスタで指
定されたワード分の連続したメモリ領域と、レジスタ指
定フィールドで指定された汎用レジスタとの間でデータ
の転送を行い、レジスタ指定フィールドで指定された汎
用レジスタの個数が、第1のレジスタで指定されたワー
ド数より多い場合、残りの汎用レジスタと、第2のメモ
リアドレスから連続したメモリ領域との間でデータ転送
するようにしたので、1命令で複数のデータを複数のレ
ジスタと複数の連続メモリ領域との間で転送することが
でき、また、この間割込み入力を抑止できるため、割込
みマスクに時間を設定する事なく、一連の処理を非分割
で行なうことができ、したがって処理効率が向上すると
いう効果が得られる。
As described above, according to the invention of claim 1,
When executing the transfer instruction, the addressing designation field is processed to calculate the first memory address, and the second memory address is calculated by adding the address offset value designated by the second register to the first memory address. And first
Data is transferred between the continuous memory area for the word specified by the first register, which is the area from the memory address specified by the first register, and the general-purpose register specified by the register specification field, and is specified by the register specification field. When the number of general-purpose registers is larger than the number of words specified by the first register, data is transferred between the remaining general-purpose registers and the memory area continuous from the second memory address. Multiple data can be transferred between multiple registers and multiple continuous memory areas by an instruction, and interrupt input can be suppressed during this time, so a series of processing can be performed without setting a time in the interrupt mask. This can be performed by division, and thus the processing efficiency is improved.

【0033】また、請求項2の発明によれば、転送命令
を実行する際、アドレッシング指定フィールドを処理し
て第1のメモリアドレスを算出し、第1のメモリアドレ
スに第2のレジスタで指定されたアドレスオフセット値
を加えて第2のメモリアドレスを算出し、第1のメモリ
アドレスからの領域であり第1のレジスタで指定された
ワード分の連続したメモリ領域と、第3のレジスタで指
定された汎用レジスタの間でデータの転送を行い、第3
のレジスタで指定された汎用レジスタの個数が、第1の
レジスタで指定されたワード数より多い場合、残りの汎
用レジスタと第2のメモリアドレスから連続したメモリ
領域との間でデータ転送するようにしたので、上記と同
様の効果が得られる。
According to the second aspect of the invention, when the transfer instruction is executed, the addressing designation field is processed to calculate the first memory address, and the first memory address is designated by the second register. The second memory address is calculated by adding the address offset value, and the continuous memory area for the word specified by the first register, which is the area from the first memory address, is specified by the third register. Data is transferred between the general-purpose registers
If the number of general-purpose registers specified by the register is larger than the number of words specified by the first register, data is transferred between the remaining general-purpose registers and the memory area continuous from the second memory address. Therefore, the same effect as above can be obtained.

【0034】また、請求項3の発明によれば、転送命令
を実行する際、アドレッシング指定フィールドを処理し
て第1のメモリアドレスを算出し、第1のメモリアドレ
スに第2のレジスタで指定されたアドレスオフセット値
を加えて第2のメモリアドレスを算出し、第1のメモリ
アドレスからの領域であり第1のレジスタで指定された
ワード分の連続したメモリ領域と、複数の汎用レジスタ
の内の1つである第3のレジスタで指定された汎用レジ
スタの間でデータの転送を行い、第3のレジスタで指定
された汎用レジスタの個数が、第1のレジスタで指定さ
れたワード数より多い場合、残りの汎用レジスタと、第
2のメモリアドレスから連続したメモリ領域との間でデ
ータ転送するようにしたので、上記と同様の効果が得ら
れる。
According to the third aspect of the invention, when the transfer instruction is executed, the addressing designation field is processed to calculate the first memory address, and the first memory address is designated by the second register. The second memory address is calculated by adding the address offset value, and the continuous memory area for the word designated by the first register, which is the area from the first memory address, and the general-purpose register When data is transferred between general-purpose registers specified by one third register, and the number of general-purpose registers specified by the third register is greater than the number of words specified by the first register. Since the data is transferred between the remaining general-purpose registers and the continuous memory area from the second memory address, the same effect as described above can be obtained.

【0035】また、請求項4の発明によれば、転送命令
を実行する際、アドレッシング指定フィールドを処理し
て第1のメモリアドレスを算出し、第1のメモリアドレ
スに前記アドレスオフセット指定フィールドで指定され
たアドレスオフセット値を加えて第2のメモリアドレス
を算出し、第1のメモリアドレスからの領域であり個数
指定フィールドで指定されたワード分の連続したメモリ
領域と、レジスタ指定フィールドで指定された汎用レジ
スタとの間でデータの転送を行い、レジスタ指定フィー
ルトで指定された汎用レジスタの個数が、個数指定フィ
ールドで指定されたワード数より多い場合、残りの汎用
レジスタと、第2のメモリアドレスから連続したメモリ
領域との間でデータ転送するようにしたので、上記と同
様の効果が得られる。
Further, according to the invention of claim 4, when executing the transfer instruction, the addressing designation field is processed to calculate the first memory address, and the first memory address is designated by the address offset designation field. The second memory address is calculated by adding the specified address offset value, and is a region from the first memory address, which is a continuous memory region for the word designated in the number designation field and the register designation field. When data is transferred to / from the general-purpose register and the number of general-purpose registers specified in the register specification field is larger than the number of words specified in the number specification field, the remaining general-purpose registers and the second memory address are used. Since data is transferred between continuous memory areas, the same effect as above can be obtained. .

【図面の簡単な説明】[Brief description of drawings]

【図1】請求項1の発明に係る一実施例のデータ処理装
置が実行する、複数のデータを複数の連続メモリ領域か
ら複数の汎用レジスタに転送する命令のニモニックを示
す図である。
FIG. 1 is a diagram showing a mnemonic of an instruction executed by a data processing device of an embodiment according to the invention of claim 1 to transfer a plurality of data from a plurality of continuous memory areas to a plurality of general-purpose registers.

【図2】この実施例のデータ処理装置が実行する、複数
のデータを複数の連続メモリ領域から複数の汎用レジス
タに転送する命令中に含まれるレジスタリストフィール
ドと連続領域転送個数指定レジスタとアドレスオフセッ
ト指定レジスタの各内容を示す図である。
FIG. 2 is a register list field included in an instruction to transfer a plurality of data from a plurality of continuous memory areas to a plurality of general-purpose registers, which is executed by the data processing device of this embodiment, a continuous area transfer number designation register, and an address offset. It is a figure which shows each content of a designated register.

【図3】請求項1の発明に係る一実施例のデータ転送方
式を用いたデータ処理装置の構成を示すブロック図であ
る。
FIG. 3 is a block diagram showing a configuration of a data processing device using a data transfer system according to an embodiment of the present invention.

【図4】この実施例のデータ処理装置が実行する、複数
のデータを複数の連続メモリ領域から複数の汎用レジス
タに転送する命令の一例を示す図である。
FIG. 4 is a diagram showing an example of an instruction executed by the data processing device of this embodiment to transfer a plurality of data from a plurality of continuous memory areas to a plurality of general-purpose registers.

【図5】この実施例のデータ処理装置の図4で表わされ
る命令中に含まれるレジスタリストフィールドと連続領
域転送個数指定レジスタとアドレスオフセット指定レジ
スタの各内容の一例を示す図である。
5 is a diagram showing an example of each content of a register list field, a continuous area transfer number designation register, and an address offset designation register included in the instruction shown in FIG. 4 of the data processing apparatus of this embodiment.

【図6】この実施例において連続メモリ領域と不連続な
メモリ領域を示す図である。
FIG. 6 is a diagram showing a continuous memory area and a discontinuous memory area in this embodiment.

【図7】この実施例において連続メモリ領域と不連続な
メモリ領域を示す図である。
FIG. 7 is a diagram showing a continuous memory area and a discontinuous memory area in this embodiment.

【図8】この実施例において実行される、複数のデータ
を複数の連続メモリ領域から複数の汎用レジスタに転送
する命令の一例のフローチャートである。
FIG. 8 is a flowchart of an example of an instruction executed in this embodiment to transfer a plurality of data from a plurality of continuous memory areas to a plurality of general-purpose registers.

【図9】従来のデータ処理装置が実行する、複数のデー
タをメモリの連続領域から複数の汎用レジスタに転送す
る命令のニモニックを示す図である。
FIG. 9 is a diagram showing a mnemonic of an instruction executed by a conventional data processing device to transfer a plurality of data from a continuous area of a memory to a plurality of general-purpose registers.

【図10】従来のデータ処理装置が実行する、複数のデ
ータをメモリの連続領域から複数の汎用レジスタに転送
する命令中に含まれるレジスタリストフィールドを示す
図である。
FIG. 10 is a diagram showing a register list field included in an instruction executed by a conventional data processing device to transfer a plurality of data from a continuous area of a memory to a plurality of general-purpose registers.

【図11】従来のデータ処理装置の構成を示すブロック
図である。
FIG. 11 is a block diagram showing a configuration of a conventional data processing device.

【図12】従来のデータ処理装置の実行する、複数のデ
ータをメモリの連続領域から複数の汎用レジスタに転送
する命令の一例を示す図である。
FIG. 12 is a diagram showing an example of an instruction executed by a conventional data processing device to transfer a plurality of data from a continuous area of a memory to a plurality of general-purpose registers.

【図13】従来例において図12で表わされる命令中に
含まれるレジスタリストフィールドの内容を示す図であ
る。
FIG. 13 is a diagram showing the contents of a register list field included in the instruction shown in FIG. 12 in a conventional example.

【符号の説明】[Explanation of symbols]

12 汎用レジスタ 14 外部メモリ 22a 先頭アドレス指定部(アドレッシング指定フィ
ールド) 22b レジスタリスト部(レジスタ指定フィールド) 24,24a 連続領域転送個数指定レジスタ(第1の
レジスタ) 25 アドレスオフセット指定レジスタ(第2のレジス
タ)
12 general-purpose register 14 external memory 22a start address designating section (addressing designating field) 22b register list section (register designating field) 24, 24a continuous area transfer number designating register (first register) 25 address offset designating register (second register) )

─────────────────────────────────────────────────────
─────────────────────────────────────────────────── ───

【手続補正書】[Procedure amendment]

【提出日】平成4年6月17日[Submission date] June 17, 1992

【手続補正1】[Procedure Amendment 1]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0007[Correction target item name] 0007

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【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にデータの転送が終わると命令を終了する。
Next, the operation of this conventional example will be described with reference to FIGS. When the instruction represented by mnemonic 1 in FIG. 9 is read from the external memory 14 into the IF section 8, this instruction is sent to the D section 9 and decoded. Here, this instruction is judged to be an instruction to transfer a plurality of data from the continuous memory area to a plurality of registers, and is sent to the next section A 10. In the part A 10, of the part corresponding to the operand (operand designating part 2) in the instruction, the start address (start address designating part 2
In the portion corresponding to a), address calculation is performed by various address modifications as necessary, and the effective address is fetched and sent to the next E unit 11. Next, in the E section 11, the effective add of the external memory 14 fetched in the A section 10 is performed.
Address is specified via the address bus 15a, the register list field 3 in the instruction is referenced from the MSB side, and only 32 bits of data from the external memory 14 are stored in the general-purpose register specified by the bit which is 1 for the first time. Transfer through the external data bus 15b. When the transfer of one data is completed, the address is incremented by 4 in the E section 11, and the memory address of the next data is designated via the address bus 15a. The entire 16-bit register list field 3 is referenced up to the LSB, and the above operation is repeated. When the transfer of data from the external memory 14 to the general-purpose register 12 ends, the instruction ends.

【手続補正2】[Procedure Amendment 2]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0021[Correction target item name] 0021

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【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に予め値を設定しておく必要
がある。
An instruction for transferring a plurality of data between two discontinuous memory areas and a plurality of general-purpose registers is LDM2.
And STM2. Reference numeral 21 in FIG. 1 is a mnemonic L when the data processing device of this embodiment transfers a plurality of data from a plurality of continuous memory areas to a plurality of registers with one instruction.
It represents DM2. The operand designating section 22 that is a section that designates an operand includes a head address designating section 22a that is a section that designates a head address of a continuous memory area to be transferred, which is capable of various addressing modifications.
16 32-bit general-purpose register groups R0, R1, ...
The register list section 22b, which is a section for designating which register of R15 the data is transferred to. The register list field included in the instruction is shown in detail in FIG. Like the register list field 3, each bit sequentially designates the general purpose registers R0, R1, ..., R15 from the MSB side. 2 shows a continuous area transfer number designation register (first register), and 25 an address offset designation register (second register). The continuous area transfer number designation register 24 is composed of 4 bits and
It takes a value from 1 to 15. The address offset designation register 25 has 8 bits and can take a value from 0 to 255 . When the transfer instruction LDM2 is executed, it is necessary to set the values in the continuous area transfer number designation register 24 and the address offset designation register 25 in advance.

【手続補正3】[Procedure 3]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0023[Name of item to be corrected] 0023

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【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にデータの転送が終わると命令
を終了する。
Next, the operation of this embodiment will be described with reference to FIGS. When the instruction represented by the mnemonic 21 in FIG. 1 is read from the external memory 14 into the IF section 8, this instruction is sent to the D section 9 and decoded. Here, this instruction is determined to be an instruction to transfer a plurality of data from a plurality of continuous memory areas to a plurality of registers, and is sent to the next section A 10. In part A, of the part corresponding to the operand in the instruction (operand designating part 22), the part corresponding to the start address (start address designating part 22a) of the first continuous memory area to be transferred, if necessary, Address calculation is performed by various address modifications, and the effective address is fetched and sent to the next E section 11.
Next, in the E section 11, the external memory fetched in the A section 10
Specify 14 effective addresses via address bus 15a
Then, referring to the register list field 3 in the instruction from the MSB side, the data from the external memory 14 is stored in the general-purpose register 12 designated by the bit which is 1 at the beginning.
Only 2 bits are transferred through the external data bus 15b.
When the transfer of one data is completed, the address is incremented by 4 in the E section 11, and the memory address of the next data is designated via the address bus. Next, the value of the continuous area transfer number designation register 24 is decremented by 1, the content is checked, and if it is not 0, the data transfer is continued in the same manner as above, but when the value is 0, the first continuous memory area The value of the address offset register 25 is added to the start address to form the address of the second continuous memory area. 16
All the bits up to the LSB of the register list field 3 of the bit are referenced, and the above operation is repeated to execute the external memory 1
When the data transfer from 4 to the general register 12 is completed, the instruction ends.

【手続補正4】[Procedure amendment 4]

【補正対象書類名】図面[Document name to be corrected] Drawing

【補正対象項目名】図5[Name of item to be corrected] Figure 5

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【図5】 [Figure 5]

【手続補正5】[Procedure Amendment 5]

【補正対象書類名】図面[Document name to be corrected] Drawing

【補正対象項目名】図10[Name of item to be corrected] Fig. 10

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【図10】 [Figure 10]

【手続補正6】[Procedure Amendment 6]

【補正対象書類名】図面[Document name to be corrected] Drawing

【補正対象項目名】図13[Name of item to be corrected] Fig. 13

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【図13】 [Fig. 13]

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 複数の1ワード長構成の汎用レジスタ
と、メモリ上の連続した領域のワード数を指定する第1
のレジスタと、アドレスオフセット値を指定する第2の
レジスタとを備えたデータ処理装置において、上記メモ
リと上記複数の汎用レジスタ間のデータ転送を行う転送
命令を持ち、上記転送命令は、上記メモリ上のアドレス
を特定するためのアドレッシング指定フィールドと、上
記複数の汎用レジスタの内で転送の対象となるものを指
定するレジスタ指定フィールドとを備え、上記転送命令
を実行する際、上記アドレッシング指定フィールドを処
理して第1のメモリアドレスを算出し、上記第1のメモ
リアドレスに上記第2のレジスタで指定されたアドレス
オフセット値を加えて第2のメモリアドレスを算出し、
上記第1のメモリアドレスからの領域であり上記第1の
レジスタで指定されたワード分の連続したメモリ領域
と、上記レジスタ指定フィールドで指定された汎用レジ
スタとの間でデータの転送を行い、上記レジスタ指定フ
ィールドで指定された汎用レジスタの個数が、上記第1
のレジスタで指定されたワード数より多い場合、残りの
汎用レジスタと、上記第2のメモリアドレスから連続し
たメモリ領域との間でデータ転送することを特徴とする
データ転送方式。
1. A general-purpose register having a plurality of 1-word lengths and a first register for specifying the number of words in a continuous area on a memory.
And a second register for designating an address offset value, the data processing apparatus has a transfer instruction for transferring data between the memory and the plurality of general-purpose registers, and the transfer instruction is on the memory. Addressing designation field for specifying the address of the general purpose register and a register designation field for designating one of the general-purpose registers to be transferred, and processing the addressing designation field when executing the transfer instruction. Then, the first memory address is calculated, and the second memory address is calculated by adding the address offset value designated by the second register to the first memory address.
Data is transferred between a continuous memory area, which is an area from the first memory address and is equivalent to the word designated by the first register, and a general-purpose register designated by the register designation field. The number of general-purpose registers specified in the register specification field is the first
If the number of words is larger than the number of words specified by the register, the data transfer method is characterized in that data is transferred between the remaining general-purpose register and a memory area continuous from the second memory address.
【請求項2】 複数の1ワード長構成の汎用レジスタ
と、メモリ上の連続した領域のワード数を指定する第1
のレジスタと、アドレスオフセット値を指定する第2の
レジスタと、上記複数の汎用レジスタの内で転送の対象
となるものを指定する第3のレジスタとを備えたデータ
処理装置において、上記メモリと上記複数の汎用レジス
タ間のデータ転送を行う転送命令を持ち、上記転送命令
は、上記メモリ上のアドレスを特定するためのアドレッ
シング指定フィールドを備え、上記転送命令を実行する
際、上記アドレッシング指定フィールドを処理して第1
のメモリアドレスを算出し、上記第1のメモリアドレス
に上記第2のレジスタで指定されたアドレスオフセット
値を加えて第2のメモリアドレスを算出し、上記第1の
メモリアドレスからの領域であり上記第1のレジスタで
指定されたワード分の連続したメモリ領域と、上記第3
のレジスタで指定された汎用レジスタの間でデータの転
送を行い、上記第3のレジスタで指定された汎用レジス
タの個数が、上記第1のレジスタで指定されたワード数
より多い場合、残りの汎用レジスタと、上記第2のメモ
リアドレスから連続したメモリ領域との間でデータ転送
することを特徴とするデータ転送方式。
2. A general-purpose register having a plurality of 1-word lengths, and a first register for specifying the number of words in a continuous area on a memory.
Of the memory, the second register for designating an address offset value, and the third register for designating one of the general-purpose registers to be transferred. The transfer instruction has a transfer instruction for transferring data between a plurality of general-purpose registers, and the transfer instruction has an addressing designation field for specifying an address on the memory. When the transfer instruction is executed, the addressing designation field is processed. Then first
Is calculated, and the second memory address is calculated by adding the address offset value designated by the second register to the first memory address, and is the area from the first memory address. The continuous memory area for the word designated by the first register and the third memory
When data is transferred between the general-purpose registers specified by the register, and the number of general-purpose registers specified by the third register is larger than the number of words specified by the first register, the remaining general-purpose register is used. A data transfer method characterized in that data is transferred between a register and a memory area continuous from the second memory address.
【請求項3】 複数の1ワード長構成の汎用レジスタ
と、メモリ上の連続した領域のワード数を指定する第1
のレジスタと、アドレスオフセット値を指定する第2の
レジスタとを備えたデータ処理装置において、上記複数
の汎用レジスタの内の1つを、上記複数の汎用レジスタ
において転送の対象となるものを指定する第3のレジス
タとして用い、上記メモリと上記複数の汎用レジスタ間
のデータ転送を行う転送命令を持ち、上記転送命令は、
上記メモリ上のアドレスを特定するためのアドレッシン
グ指定フィールドを備え、上記転送命令を実行する際、
上記アドレッシング指定フィールドを処理して第1のメ
モリアドレスを算出し、上記第1のメモリアドレスに上
記第2のレジスタで指定されたアドレスオフセット値を
加えて第2のメモリアドレスを算出し、上記第1のメモ
リアドレスからの領域であり上記第1のレジスタで指定
されたワード分の連続したメモリ領域と、上記第3のレ
ジスタで指定された汎用レジスタの間でデータの転送を
行い、上記第3のレジスタで指定された汎用レジスタの
個数が、上記第1のレジスタで指定されたワード数より
多い場合、残りの汎用レジスタと、上記第2のメモリア
ドレスから連続したメモリ領域との間でデータ転送する
ことを特徴とするデータ転送方式。
3. A plurality of general-purpose registers each having a one-word length and a first register for specifying the number of words in a continuous area on a memory.
Of the general purpose registers and the second register for specifying the address offset value, the one of the plurality of general purpose registers is designated as the transfer target of the plurality of general purpose registers. Used as a third register, it has a transfer instruction for transferring data between the memory and the plurality of general-purpose registers, and the transfer instruction is
An addressing designation field for specifying an address on the memory is provided, and when the transfer instruction is executed,
The addressing specification field is processed to calculate a first memory address, the address offset value specified in the second register is added to the first memory address to calculate a second memory address, and the second memory address is calculated. Data is transferred between a continuous memory area, which is an area from the first memory address and is equivalent to the word specified by the first register, and the general-purpose register specified by the third register. When the number of general-purpose registers specified by the register is larger than the number of words specified by the first register, data transfer is performed between the remaining general-purpose registers and the memory area continuous from the second memory address. A data transfer method characterized by:
【請求項4】 複数の1ワード長構成の汎用レジスタを
有したデータ処理装置において、メモリと複数の汎用レ
ジスタ間のデータ転送を行う転送命令を持ち、上記転送
命令は、上記メモリ上の連続した領域のワード数を指定
する個数指定フィールドと、アドレスオフセット値を指
定するアドレスオフセット指定フィールドと、上記メモ
リ上のアドレスを特定するためのアドレッシング指定フ
ィールドと、上記複数の汎用レジスタの内で転送の対象
となるものを指定するレジスタ指定フィールドとを備
え、上記転送命令を実行する際、上記アドレッシング指
定フィールドを処理して第1のメモリアドレスを算出
し、上記第1のメモリアドレスに上記アドレスオフセッ
ト指定フィールドで指定されたアドレスオフセット値を
加えて第2のメモリアドレスを算出し、上記第1のメモ
リアドレスからの領域であり上記個数指定フィールドで
指定されたワード分の連続したメモリ領域と、上記レジ
スタ指定フィールドで指定された汎用レジスタとの間で
データの転送を行い、上記レジスタ指定フィールドで指
定された汎用レジスタの個数が、上記個数指定フィール
ドで指定されたワード数より多い場合、残りの汎用レジ
スタと、上記第2のメモリアドレスから連続したメモリ
領域との間でデータ転送することを特徴とするデータ転
送方式。
4. A data processing device having a plurality of general-purpose registers each having a one-word length, having a transfer instruction for transferring data between a memory and a plurality of general-purpose registers, wherein the transfer instructions are consecutive in the memory. A number specification field that specifies the number of words in the area, an address offset specification field that specifies the address offset value, an addressing specification field that specifies the address on the above memory, and a transfer target among the above general registers. And a register designation field for designating the address instruction designation field, when the transfer instruction is executed, the addressing designation field is processed to calculate a first memory address, and the address offset designation field is set to the first memory address. The second memory add by adding the address offset value specified in Is calculated and the data is transferred between the continuous memory area, which is the area from the first memory address and is the word designated by the number designation field, and the general-purpose register designated by the register designation field. If the number of general-purpose registers specified in the register specification field is larger than the number of words specified in the number specification field, the remaining general-purpose registers and the memory area continuous from the second memory address A data transfer method characterized in that data is transferred between them.
JP3230978A 1991-08-19 1991-08-19 Data transfer method Expired - Lifetime JP2611065B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3230978A JP2611065B2 (en) 1991-08-19 1991-08-19 Data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3230978A JP2611065B2 (en) 1991-08-19 1991-08-19 Data transfer method

Publications (2)

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

Family

ID=16916309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3230978A Expired - Lifetime JP2611065B2 (en) 1991-08-19 1991-08-19 Data transfer method

Country Status (1)

Country Link
JP (1) JP2611065B2 (en)

Cited By (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
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
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
US7529907B2 (en) 1998-12-16 2009-05-05 Mips Technologies, Inc. Method and apparatus for improved computer load and store operations
US7707391B2 (en) 1998-12-16 2010-04-27 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7765546B2 (en) 1998-12-16 2010-07-27 Mips Technologies, Inc. Interstream control and communications for multi-streaming digital processors

Cited By (12)

* 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
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
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
US7467385B2 (en) 1998-12-16 2008-12-16 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7529907B2 (en) 1998-12-16 2009-05-05 Mips Technologies, Inc. Method and apparatus for improved computer load and store operations
US7650605B2 (en) 1998-12-16 2010-01-19 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US7707391B2 (en) 1998-12-16 2010-04-27 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7765546B2 (en) 1998-12-16 2010-07-27 Mips Technologies, Inc. Interstream control and communications for multi-streaming digital processors
US7900207B2 (en) 1998-12-16 2011-03-01 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7926062B2 (en) 1998-12-16 2011-04-12 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US8468540B2 (en) 1998-12-16 2013-06-18 Bridge Crossing, Llc Interrupt and exception handling for multi-streaming digital processors

Also Published As

Publication number Publication date
JP2611065B2 (en) 1997-05-21

Similar Documents

Publication Publication Date Title
EP0220684B1 (en) Data processing system
JP2848606B2 (en) Method and apparatus for modifying microinstructions using a macroinstruction pipeline
US4833640A (en) Register bank change including register to register transfer in a data processing system
US5542060A (en) Data processor including a decoding unit for decomposing a multifunctional data transfer instruction into a plurality of control codes
US4945511A (en) Improved pipelined processor with two stage decoder for exchanging register values for similar operand instructions
JPH0546379A (en) Data transfer system
US5421029A (en) Multiprocessor including system for pipeline processing of multi-functional instructions
JPH0546383A (en) Data processor
JP2609618B2 (en) Data processing device
US6044455A (en) Central processing unit adapted for pipeline process
JP2668456B2 (en) Bit search circuit and data processing device having the same
US5386580A (en) Data processor
JPS61173345A (en) Computer system
JPH01169537A (en) Microprocessor
JPS60117335A (en) Information processor
JPH0713757A (en) Data processor
JP2522048B2 (en) Microprocessor and data processing device using the same
JPS63234322A (en) Processor
JP2878250B2 (en) Data processing device
JPH0471219B2 (en)
JPH02277130A (en) Microprocessor
JPH02259839A (en) Data processor
JPH0575130B2 (en)
JPH0769803B2 (en) Data processing device
JPS5856034A (en) Data processing unit