JPH07306784A - Register management device - Google Patents

Register management device

Info

Publication number
JPH07306784A
JPH07306784A JP9780594A JP9780594A JPH07306784A JP H07306784 A JPH07306784 A JP H07306784A JP 9780594 A JP9780594 A JP 9780594A JP 9780594 A JP9780594 A JP 9780594A JP H07306784 A JPH07306784 A JP H07306784A
Authority
JP
Japan
Prior art keywords
register
data
instruction
address
registers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9780594A
Other languages
Japanese (ja)
Inventor
Mikio Ogisu
幹雄 荻須
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP9780594A priority Critical patent/JPH07306784A/en
Publication of JPH07306784A publication Critical patent/JPH07306784A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To remove restrictions from a register which can handle respective instructions although the register which is used distinctively between address and data. CONSTITUTION:The register 1 consists of an address register 2 dedicated to address data and a data register 3 dedicated to arithmetic data, and an instruction decoding part 5 selects the address register 2 or data register 3 according to the value of a register switching flag 6. Kinds of registers (address/register) usable for respective instructions are limited, but the kinds of registers that can handle the instructions can be switched by setting the register switching flag 6. Thus, the registers are separated for addresses and data and then the number of bits in an instruction which specify a register may be small; and an increase in instruction word length can be suppressed, and restrictions are removed from the kinds of registers which can handle the respective instructions to increase the processing speed of a program and decrease the number of program steps.

Description

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

【0001】[0001]

【産業上の利用分野】本発明はCPUが持つ各命令の操
作対象となるレジスタをフラグにより変更することがで
きるレジスタ管理装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a register management device capable of changing a register to be operated by each instruction of a CPU by a flag.

【0002】[0002]

【従来の技術】CPUがプログラムを実行する手段とし
て、複数のレジスタをハード的に備え、CPUが備える
命令の実行によって、その複数のレジスタにメモリある
いは入力装置からそのプログラムを処理するのに必要な
データを配置し、そのレジスタの内容を演算操作するこ
とにより処理を行っていく方法が考えられている。レジ
スタに格納されるデータは対象としてメモリの配置位置
を指定するアドレスデータと実際に演算・操作する情報
(演算データ)がある。プログラムの実行では複数のメ
モリの配置位置を指定したり、複数の演算データを対象
とする必要があり、複数のレジスタをハード的に持ち、
それらのアドレスデータや演算データをレジスタに配置
する方法がとられていた。これにより、各レジスタ内に
あるデータの入替えの頻度を減らすことができ、プログ
ラム実行スピードの向上が図られていた。
2. Description of the Related Art As a means for a CPU to execute a program, a plurality of registers are provided in hardware, and necessary to process the program from a memory or an input device into the plurality of registers by executing an instruction included in the CPU. A method of arranging data and performing processing by operating the contents of the register is considered. The data stored in the register includes address data for designating a memory location as a target and information (calculation data) for actual calculation / operation. When executing a program, it is necessary to specify multiple memory locations and target multiple operation data. It has multiple registers in hardware,
A method of arranging those address data and operation data in a register has been adopted. As a result, the frequency of exchanging data in each register can be reduced, and the program execution speed has been improved.

【0003】また、レジスタの機能として、 (1)レジスタの機能としてアドレスデータと演算デー
タの区別なく使え、CPUの持つ命令も全てのレジスタ
を操作対象とできる汎用レジスタ (2)レジスタの機能としてアドレスデータ専用のレジ
スタと演算データ専用のレジスタを区別して持ち、アド
レス操作やアドレス演算で一般的に頻繁に用いられるデ
ータ転送系や加減算系の命令はアドレスデータ専用レジ
スタを操作対象とし、データ操作やデータ演算で一般的
に頻繁に用いられるデータ転送系や演算系の命令は演算
データ専用レジスタを操作対象とするアドレス・データ
分離レジスタ がある。命令中にはその命令がどのような動きをするの
かを指定する命令コードフィールドとその命令の動きの
対象となるデータそのものあるいはデータの配置場所を
示すソース/デスティネーションフィールドから命令は
構成されている。
The functions of the register are as follows: (1) Address data and operation data can be used without distinction as the function of the register, and the instructions of the CPU can operate all registers. (2) Address as the function of the register The dedicated registers for data and the registers dedicated for operation data are separately provided.Data transfer and addition / subtraction instructions that are frequently used in address operations and address operations target the registers dedicated to address data. The data transfer and operation instructions that are frequently used in operations generally include address / data separation registers that operate on dedicated registers for operation data. An instruction is composed of an instruction code field that specifies how the instruction moves and a source / destination field that indicates the location of the data itself or the data that is the target of the movement of the instruction. .

【0004】従来、(1)の汎用レジスタでは、アドレ
スデータと演算データを操作対象とするため、レジスタ
の本数は〜32本程度と多く、それらを命令で指定する
ためにはレジスタ1本につき、命令中に〜5ビット程度
必要であった。このため、命令中の汎用レジスタを指定
する部分が増え、命令を構成するビット数の増加が起こ
り、プログラムの増加を招いていた。
Conventionally, in the general-purpose register (1), since the address data and the operation data are operated, the number of registers is as large as about 32, and in order to specify them with an instruction, one register is About 5 bits were needed in the instruction. As a result, the number of parts in the instruction that specify the general-purpose register increases, the number of bits that make up the instruction increases, and the number of programs increases.

【0005】一方、(2)のアドレス・データ分離レジ
スタでは、操作対象がアドレスデータと演算データに分
けられているため、各レジスタの本数は〜16本程度で
ある。アドレスレジスタとデータレジスタを合わせたレ
ジスタの総本数は(1)の汎用レジスタと同様に〜32
本程度と多いが、各命令で操作対象とするレジスタを選
択できるのでそれらを命令で指定するためにはレジスタ
1本につき、命令中に〜4ビット程度で済んでいた。命
令を構成するビット数の増加は汎用レジスタに比べ押さ
えられるが、レジスタ機能によって使える命令に制約が
あった。このため、プログラムの一連の処理を実行する
ためにアドレスレジスタと演算データレジスタ間でデー
タの転送を行い、使用したい命令を使って処理を実行し
ていたため、レジスタ上のデータの入替え動作によるプ
ログラムの増加やプログラムの処理スピードの低下を招
いていた。
On the other hand, in the address / data separation register (2), since the operation target is divided into address data and operation data, the number of each register is about -16. The total number of registers including address registers and data registers is up to 32 as in the general-purpose register of (1).
Although there are as many as about four registers, it is possible to select the registers to be operated by each instruction. Therefore, in order to specify them with an instruction, about 4 bits are required in each instruction per register. Although the increase in the number of bits that make up an instruction can be suppressed compared to general-purpose registers, there are restrictions on the instructions that can be used due to the register function. Therefore, in order to execute a series of processing of the program, data was transferred between the address register and the operation data register, and the processing was executed using the instruction to be used. This has caused an increase and a decrease in the processing speed of the program.

【0006】また、プログラム中のアドレスデータや演
算データはプログラム内容によりその個数はまちまちで
あり、その個数を特定したり、アドレスデータや演算デ
ータの比率を汎用的に出すのは非常に困難である。汎用
レジスタではその用途をプログラムによって自由に選択
できるため、非常に汎用性があるが、アドレス・データ
分離レジスタではプログラムによっては一方のレジスタ
が不足し、他方のレジスタが余っていても、それらの資
源を効率よく使えない場合があった。このアドレスレジ
スタとデータレジスタの本数の制限のため、各レジスタ
に配置できないデータを操作する際にはレジスタに配置
するデータの入替え動作が必要であり、この場合も、プ
ログラムの処理スピードの低下やプログラムの増加を招
いていた。
Further, the number of address data and operation data in the program varies depending on the contents of the program, and it is very difficult to specify the number and to generalize the ratio of the address data and operation data. . The general-purpose register is extremely versatile because its use can be freely selected by the program, but even if the address / data separation register lacks one register depending on the program and the other register is left over, those resources can be used. There was a case that could not be used efficiently. Due to the limitation of the number of address registers and data registers, when operating data that cannot be placed in each register, it is necessary to replace the data placed in the registers. Was incurred.

【0007】[0007]

【発明が解決しようとする課題】このように従来では、 (1)汎用レジスタ手段は各命令が扱えるレジスタに制
限がないが、命令中の汎用レジスタを指定するビット数
が増え、命令語長の増加が発生していた (2)アドレス・データ分離レジスタは命令中のレジス
タ指定をするビット数が少なくてよく命令語長の増加は
押さえられるが、各命令が扱えるレジスタに制限があっ
たり、各レジスタの本数不足が生じる場合があり、一連
の処理・演算をするためにはプログラムの増加が発生し
ていた という問題があった。
As described above, in the prior art, (1) the general-purpose register means has no limitation on the registers that each instruction can handle, but the number of bits designating the general-purpose register in the instruction increases, and the instruction word length is increased. (2) The address / data separation register can suppress the increase in the instruction word length because the number of bits that specify the register in the instruction is small, but there is a limit to the register that each instruction can handle, There was a problem that the number of registers became insufficient, and the number of programs increased in order to perform a series of processing and operations.

【0008】本発明は、このような従来の問題を解決す
るもので、プログラム処理を向上でき、しかもプログラ
ムステップを削減できるレジスタ管理装置を提供するこ
とを目的とする。
An object of the present invention is to solve such a conventional problem and to provide a register management device capable of improving the program processing and reducing the program steps.

【0009】[0009]

【課題を解決するための手段】上記課題を解決するため
に、本発明のレジスタ管理装置は、レジスタの機能とし
てアドレスとデータの用途を分離するとともに、アドレ
ス・データ分離レジスタでありながら、各命令の操作対
象となるレジスタをフラグにより変更することができる
ように構成したものである。
In order to solve the above-mentioned problems, the register management device of the present invention separates the use of address and data as the function of the register, and, even though it is an address / data separation register, each instruction The register which is the operation target of is configured so that it can be changed by a flag.

【0010】[0010]

【作用】この構成により、 (1)レジスタの機能としてアドレスとデータの用途を
分離するレジスタ構成をとっているため、命令中のレジ
スタ指定をするビット数が少なくてよく、命令語長の増
加を押さえられる (2)アドレス・データ分離レジスタでありながら、各
命令の操作対象となるレジスタをフラグにより変更でき
るようにしたため、各命令が扱えるレジスタに制約がな
くなる ことになり、プログラムを効率良く実行でき、プログラ
ムステップの削減を実現することができる。
With this configuration, (1) Since the register function separates the use of the address and the data as the function of the register, the number of bits to specify the register in the instruction may be small, and the instruction word length can be increased. (2) Even though it is an address / data separation register, the register to be operated by each instruction can be changed by a flag, so there is no restriction on the register that can be handled by each instruction and the program can be executed efficiently. It is possible to realize reduction of program steps.

【0011】[0011]

【実施例】以下本発明の一実施例について図面を参照し
ながら説明する。図1は本発明の一実施例のレジスタ管
理装置の構成を示した図である。レジスタ1はアドレス
データ専用のアドレスレジスタ2と演算データ専用のデ
ータレジスタ3から構成される。アドレスレジスタ2と
データレジスタ3の各本数はn本である。一方、プログ
ラム4はCPU(図示せず)の動作開始とともに、命令
解読部5に入力され、命令解読部5はレジスタ切替えフ
ラグ6の値により、アドレスレジスタ2とデータレジス
タ3を選択する。プログラムは命令から構成され、命令
の内訳として、 (1)初期状態においてアドレスレジスタ2を操作対象
とする命令群A (2)初期状態においてデータレジスタ3を操作対象と
する命令群B が存在する。また、命令のビット構成は一例として図2
に示すような構成からなる。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a diagram showing the configuration of a register management device according to an embodiment of the present invention. The register 1 is composed of an address register 2 dedicated to address data and a data register 3 dedicated to operation data. The number of each of the address register 2 and the data register 3 is n. On the other hand, the program 4 is input to the instruction decoding unit 5 when the CPU (not shown) starts operating, and the instruction decoding unit 5 selects the address register 2 and the data register 3 according to the value of the register switching flag 6. The program is composed of instructions, and as a breakdown of the instructions, there are (1) an instruction group A for operating the address register 2 in the initial state (2) an instruction group B 1 for operating the data register 3 in the initial state. The bit configuration of the instruction is shown in FIG. 2 as an example.
The configuration is as shown in.

【0012】また、レジスタの本数の一例として、アド
レスレジスタ2とデータレジスタ3を各n=8本で構成
した場合、命令中でレジスタを指定するためには 命令中のビット 対応するアドレスレジスタ(データレジスタ) 000 レジスタ番号“0” 001 レジスタ番号“1” 010 レジスタ番号“2” 011 レジスタ番号“3” 100 レジスタ番号“4” 101 レジスタ番号“5” 110 レジスタ番号“6” 111 レジスタ番号“7” の3ビットが必要である。したがって、図2に示す命令
のビット構成のyビットやzビットはソースオペランド
やデスティーションオペランドをレジスタ指定する場
合、3ビットで構成される。命令がどのレジスタを操作
対象としているかどうかは、命令コードに含まれてお
り、命令解読部5は命令コードを解読し、命令の処理内
容と操作対象レジスタを特定する機能を有する。命令中
でレジスタが指定されていた場合、レジスタ切替えフラ
グ6が“0(=初期値)”のとき、命令解読部5は、初
期状態においてアドレスレジスタ2を操作対象とする命
令群Aに属する命令の場合、アドレスレジスタ2に対
し、アドレスレジスタ選択信号7を出力し、アドレスレ
ジスタ2の内の1本を選択をする。また、初期状態にお
いてデータレジスタ3を操作対象とする命令群Bに属す
る命令の場合、データレジスタ3に対し、データレジス
タ選択信号8を出力し、データレジスタ3の内の1本を
選択をする。
As an example of the number of registers, if the address register 2 and the data register 3 are each configured by n = 8, in order to specify the register in the instruction, the address register (data Register) 000 register number “0” 001 register number “1” 010 register number “2” 011 register number “3” 100 register number “4” 101 register number “5” 110 register number “6” 111 register number “7” 3 bits are required. Therefore, the y-bit and z-bit of the bit configuration of the instruction shown in FIG. 2 are configured with 3 bits when the source operand and the destination operand are designated by registers. Which register an instruction targets is included in the operation code is included in the instruction code, and the instruction decoding unit 5 has a function of decoding the instruction code and specifying the instruction processing content and the operation target register. When the register is designated in the instruction and the register switching flag 6 is “0 (= initial value)”, the instruction decoding unit 5 causes the instruction register A in the initial state to belong to the instruction group A whose operation target is the address register 2. In this case, the address register selection signal 7 is output to the address register 2 and one of the address registers 2 is selected. Further, in the case of an instruction belonging to the instruction group B in which the data register 3 is operated in the initial state, the data register selection signal 8 is output to the data register 3 and one of the data registers 3 is selected.

【0013】一方、レジスタ切替えフラグ6が“1(≠
初期状態)”のとき、命令解読部5は、初期状態におい
てアドレスレジスタ2を操作対象とする命令群Aに属す
る命令の場合、データレジスタ3に対し、データレジス
タ選択信号8を出力し、データレジスタ3の内のレジス
タ1本を選択する。また、初期状態においてデータレジ
スタ3を操作対象とする命令群Bに属する命令の場合、
アドレスレジスタ2に対し、アドレスレジスタ選択信号
7を出力し、アドレスレジスタ2の内のレジスタ1本を
選択をする。
On the other hand, the register switching flag 6 is set to "1 (≠
In the initial state), the instruction decoding unit 5 outputs the data register selection signal 8 to the data register 3 in the case of an instruction belonging to the instruction group A whose operation target is the address register 2 in the initial state. Select one register out of 3. Also, in the case of an instruction belonging to the instruction group B whose operation target is the data register 3 in the initial state,
The address register selection signal 7 is output to the address register 2 to select one of the address registers 2.

【0014】図3は命令群Aの命令を実行した場合のレ
ジスタの使用方法を示した図である。命令群Aの命令は
初期状態においてアドレスレジスタを操作対象とする。
本実施例では、前述のレジスタ構成がアドレスレジスタ
が8本、データレジスタが8本である。命令群Aの命令
の一例として、
FIG. 3 is a diagram showing a method of using the register when the instructions of the instruction group A are executed. The instructions of the instruction group A operate on the address register in the initial state.
In the present embodiment, the above-mentioned register configuration has eight address registers and eight data registers. As an example of the instruction of the instruction group A,

【0015】 [0015]

【0016】の動作を説明する。“データ転送”命令の
動作はソースオペランドで示される即値データをデステ
ィネーションオペランドで示されるアドレスレジスタの
値(ベースアドレス)からオフセット値分離れたメモリ
アドレスに格納する命令である。命令コード全体の増加
を押さえるため、レジスタとしてデータレジスタは選択
できない。本例ではアドレスレジスタ番号“4”が選択
されている。
The operation of will be described. The operation of the "data transfer" instruction is an instruction to store the immediate data indicated by the source operand at a memory address offset from the value (base address) of the address register indicated by the destination operand. The data register cannot be selected as a register in order to suppress the increase in the entire instruction code. In this example, the address register number "4" is selected.

【0017】しかしながら、本来アドレスレジスタ番号
“4”に格納されるべきベースアドレス値がレジスタの
割り当てにより、データレジスタ番号“4”に格納され
た場合、
However, when the base address value originally to be stored in the address register number "4" is stored in the data register number "4" by register allocation,

【0018】 [0018]

【0019】は実行できない。そのため、従来であれ
ば、処理の一例として、下記の内容を実行していた。 (1)アドレスレジスタの1つを選び、そのアドレスレ
ジスタの値をスタックエリア(待避領域、図示せず)に
プッシュする (2)別の命令を使って、データレジスタ番号“4”の
値を上記アドレスレジスタに転送する (3)上記アドレスレジスタを使用し、
Cannot be executed. Therefore, conventionally, the following contents were executed as an example of processing. (1) Select one of the address registers and push the value of that address register to the stack area (save area, not shown). (2) Use another instruction to set the value of data register number "4" to the above. Transfer to address register (3) Use the above address register,

【0020】 [0020]

【0021】を実行する。 (4)プッシュした元のアドレスレジスタの値をアドレ
スレジスタに戻す。本実施例ではレジスタ切替えフラグ
を有効にすることにより、命令解読部がアドレスレジス
タの選択からデータレジスタの選択に変更でき、アドレ
スレジスタ番号“4”がこのデータ転送命令では選択さ
れるところが、データレジスタ番号“4”が選択され
る。本実施例の処理の一例として、下記の内容を実行す
る。 (1)レジスタ切替えフラグを操作し、レジスタ切替え
を有効とする (2)データ転送命令を実行する。すなわち、図3に示
すように、アドレスレジスタ番号“4”を使う代りに、
データレジスタ番号“4”を使ってデータ転送命令を実
行する。
Execute (4) The value of the pushed original address register is returned to the address register. In this embodiment, by enabling the register switching flag, the instruction decoding unit can change from the selection of the address register to the selection of the data register, and the address register number "4" is selected by this data transfer instruction. The number "4" is selected. The following contents are executed as an example of the process of the present embodiment. (1) Operate the register switching flag to enable register switching (2) Execute the data transfer instruction. That is, as shown in FIG. 3, instead of using the address register number “4”,
The data transfer instruction is executed using the data register number "4".

【0022】 [0022]

【0023】図4は命令群Bの命令を実行した場合のレ
ジスタの使用方法を示した図である。命令群Bの命令は
初期状態においてデータレジスタを操作対象とする。本
実施例では、前述のレジスタ構成がアドレスレジスタが
8本、データレジスタが8本である。命令群Bの命令の
一例として、下記の内容の動作を説明する。
FIG. 4 is a diagram showing how to use the registers when the instructions of the instruction group B are executed. The instructions of the instruction group B operate on the data register in the initial state. In the present embodiment, the above-mentioned register configuration has eight address registers and eight data registers. The operation of the following contents will be described as an example of the instructions of the instruction group B.

【0024】 [0024]

【0025】“論理和”命令の動作はソースオペランド
で示されるデータレジスタに格納されているデータとデ
スティネーションオペランドで示されるデータレジスタ
に格納されているデータとの“論理和(AND)”を実
行し、デスティネーションオペランドで示されるデータ
レジスタに格納する命令である。命令コード全体の増加
を押さえるため、レジスタとしてアドレスレジスタは選
択できない。本例ではソースオペランドとしてデータレ
ジスタ番号“0”が、デスティネーションオペランドと
してデータレジスタ番号“3”が選択されている。しか
しながら、本来データレジスタ番号“0”、“3”に格
納されるべき値がレジスタの割り当てにより、アドレス
レジスタ番号“0”、“3”に格納された場合、
The operation of the "logical sum" instruction is to perform a "logical sum (AND)" between the data stored in the data register indicated by the source operand and the data stored in the data register indicated by the destination operand. However, it is an instruction to store in the data register indicated by the destination operand. The address register cannot be selected as a register in order to suppress the increase of the entire instruction code. In this example, the data register number "0" is selected as the source operand and the data register number "3" is selected as the destination operand. However, when the values that should be originally stored in the data register numbers “0” and “3” are stored in the address register numbers “0” and “3” by register allocation,

【0026】 [0026]

【0027】は実行できない。そのため、従来であれ
ば、処理の一例として、下記の内容を実行していた。 (1)データレジスタの1つを選び、そのデータレジス
タの値をスタックエリア(待避領域、図示せず)にプッ
シュする (2)アドレスレジスタ番号“0”の値を上記データレ
ジスタに転送する (3)データレジスタの1つをさらに選び、そのデータ
レジスタの値をスタックエリア(待避領域、図示せず)
にプッシュする (4)別の命令を使って、アドレスレジスタ番号“3”
の値を上記データレジスタに転送する (5)上記データレジスタ2本を使用し、
Cannot be executed. Therefore, conventionally, the following contents were executed as an example of processing. (1) Select one of the data registers and push the value of that data register to a stack area (save area, not shown). (2) Transfer the value of address register number "0" to the data register. ) Further select one of the data registers, and set the value of that data register to the stack area (save area, not shown)
(4) Using another instruction, address register number “3”
Transfer the value of to the above data register (5) Use the above two data registers,

【0028】 [0028]

【0029】を実行する。 (6)デスティネーションとして使用したデータレジス
タの値をアドレスレジスタ番号“3”に転送する (7)プッシュしたソースのデータレジスタの元の値を
データレジスタに戻す (8)プッシュしたデスティネーションのデータレジス
タの元の値をデータレジスタに戻す。
Execute (6) Transfer the value of the data register used as the destination to the address register number “3”. (7) Return the original value of the data register of the pushed source to the data register. (8) Data register of the pushed destination. Returns the original value of to the data register.

【0030】本実施例ではレジスタ切替えフラグを有効
にすることにより、命令解読部がデータレジスタの選択
からアドレスレジスタの選択に変更でき、データレジス
タ番号“0”、“3”がこのデータ転送命令では選択さ
れるところが、アドレスレジスタ番号“0”、“3”が
選択される。本実施例の処理の一例として、下記の内容
を実行する。 (1)レジスタ切替えフラグを操作し、レジスタ切替え
を有効とする (2)データ転送命令を実行する。すなわち、図4に示
すように、データレジスタ番号“0”、“3”を使う代
りに、アドレスレジスタ番号“0”、“3”を使って論
理和命令を実行し、結果はアドレスレジスタ番号“3”
に格納する。
In the present embodiment, by enabling the register switching flag, the instruction decoding unit can change from the selection of the data register to the selection of the address register, and the data register numbers "0" and "3" are in this data transfer instruction. The address register numbers “0” and “3” are selected. The following contents are executed as an example of the process of the present embodiment. (1) Operate the register switching flag to enable register switching (2) Execute the data transfer instruction. That is, as shown in FIG. 4, instead of using the data register numbers “0” and “3”, the logical sum instruction is executed using the address register numbers “0” and “3”, and the result is the address register number “3”. 3 "
To store.

【0031】 [0031]

【0032】[0032]

【発明の効果】この構成により、 (1)アドレス/データにレジスタを分離することによ
り、命令中のレジスタ指定をするビット数が少なくて良
く、命令語長の増加を押さえられる (2)各命令が扱えるレジスタの種類(アドレス/レジ
スタ)に制約がないが実現でき、プログラムの処理スピ
ードの向上やプログラムステップを削減可能なレジスタ
管理装置を提供することができる。
According to this structure, (1) by separating the register into the address / data, the number of bits for designating the register in the instruction can be small, and the increase of the instruction word length can be suppressed. (2) Each instruction It is possible to provide a register management device that can be implemented without any restriction on the type of register (address / register) that can be handled by, and that can improve program processing speed and reduce program steps.

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

【図1】本発明のレジスタ管理装置の構成を示した図FIG. 1 is a diagram showing a configuration of a register management device of the present invention.

【図2】命令のビット構成を説明する図FIG. 2 is a diagram explaining a bit configuration of an instruction.

【図3】命令群Aの命令を実行した場合のレジスタの使
用方法を示した図
FIG. 3 is a diagram showing how to use a register when an instruction of instruction group A is executed.

【図4】命令群Bの命令を実行した場合のレジスタの使
用方法を示した図
FIG. 4 is a diagram showing how to use a register when an instruction of instruction group B is executed.

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

1 レジスタ 2 アドレスレジスタ 3 データレジスタ 4 プログラム 5 命令解読部 6 レジスタ切替えフラグ 7 アドレスレジスタ選択信号 8 データレジスタ選択信号 1 register 2 address register 3 data register 4 program 5 instruction decoding unit 6 register switching flag 7 address register selection signal 8 data register selection signal

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 主記憶をCPUが操作するために必要な
アドレス情報を格納する第1のレジスタと、前記CPU
が前記主記憶から取り出したデータあるいは前記CPU
が前記主記憶へ格納するデータを一時的に保持する第2
のレジスタを備え、前記CPUが (1)前記第1のレジスタを操作対象とする第1の命令 (2)前記第2のレジスタを操作対象とする第2の命令 を実行するときに、前記第1のレジスタと前記第2のレ
ジスタをフラグにより、 (3)前記第1の命令が前記第2のレジスタを操作する (4)前記第2の命令が前記第1のレジスタを操作する レジスタ切替え手段を備えたことを特徴とするレジスタ
管理装置。
1. A first register for storing address information necessary for a CPU to operate a main memory, and the CPU.
Data retrieved from the main memory or the CPU
A second temporarily holding data to be stored in the main memory
Of the register, and when the CPU executes (1) a first instruction targeting the first register (2) a second instruction targeting the second register: (3) The first instruction operates the second register, and (4) the second instruction operates the first register, according to flags of the first register and the second register. A register management device comprising:
JP9780594A 1994-05-12 1994-05-12 Register management device Pending JPH07306784A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9780594A JPH07306784A (en) 1994-05-12 1994-05-12 Register management device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9780594A JPH07306784A (en) 1994-05-12 1994-05-12 Register management device

Publications (1)

Publication Number Publication Date
JPH07306784A true JPH07306784A (en) 1995-11-21

Family

ID=14201995

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9780594A Pending JPH07306784A (en) 1994-05-12 1994-05-12 Register management device

Country Status (1)

Country Link
JP (1) JPH07306784A (en)

Similar Documents

Publication Publication Date Title
US5812868A (en) Method and apparatus for selecting a register file in a data processing system
US5831871A (en) Integrated structure layout and layout of interconnections for an instruction execution unit of an integrated circuit chip
EP0220682B1 (en) Data processing system
JPH04172533A (en) Electronic computer
US11308171B2 (en) Apparatus and method for searching linked lists
EP0144779B1 (en) Parallel processing computer
JPH034936B2 (en)
JPH07306784A (en) Register management device
JPS62151940A (en) Register saving/return system
US7107478B2 (en) Data processing system having a Cartesian Controller
JP2591212B2 (en) High-speed interrupt processing device
JPH0245207B2 (en)
JP2000112754A (en) Data processor
JPH08328879A (en) Task management system
JPH07325805A (en) Vector processor
JP2004021610A (en) Task managing device
JPS6057440A (en) Information processor
JPH03100830A (en) Optimization system for instruction
JP2003050705A (en) Method for converting program, method for switching program, device for them, recording medium and program thereof
JPH0528092A (en) Microprocessor
JPS63268032A (en) Loop control circuit
JPH0348365A (en) Exception processing system
JPH05334074A (en) Microprocessor
JPH0588890A (en) Data processing method
JPH05143326A (en) Bank processor