JPS6184735A - Effective length expanding device of general-use register - Google Patents

Effective length expanding device of general-use register

Info

Publication number
JPS6184735A
JPS6184735A JP59206235A JP20623584A JPS6184735A JP S6184735 A JPS6184735 A JP S6184735A JP 59206235 A JP59206235 A JP 59206235A JP 20623584 A JP20623584 A JP 20623584A JP S6184735 A JPS6184735 A JP S6184735A
Authority
JP
Japan
Prior art keywords
register
general
data
instruction
address
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
JP59206235A
Other languages
Japanese (ja)
Inventor
Shizuo Goto
志津雄 後藤
Toyohiko Kagimasa
豊彦 鍵政
Seiichi Yoshizumi
吉住 誠一
Yoichi Shintani
洋一 新谷
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP59206235A priority Critical patent/JPS6184735A/en
Priority to DE8484115890T priority patent/DE3479356D1/en
Priority to EP84115890A priority patent/EP0148478B1/en
Priority to US06/684,785 priority patent/US4679140A/en
Publication of JPS6184735A publication Critical patent/JPS6184735A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To minimize a change of an instruction system and to expand effective length by changing length of respective pieces of information read from a general-use register and written in the register and length of information which is an object of operation, in accordance with the indicated value of effective length of the stored general-use register. CONSTITUTION:When an instruction is executed by an instruction executing part 200 at an instruction analyzing control part 100 and transferred through a memory control 300 to a main memory device 400, a general-use register control part 10, an address calculating part 20, an operation processing pat 30 and in addition, a mode register control part 40 are installed, at the executing part 200 and a mode register 41 is installed at the control part 40. The main instruction 1 in the control part 100 is an instruction, in which three added values of a value of the general-use register 11 indicated by X2 and B2 and a value of 12 bits of D2, set the data as the address of a memory to the prescribed register, and mode bits are respectively '1' and '0' corresponding to B2 and X2 in the register 41, and the length of the general-use register corresponding respectively is handled as 64 and 32 bits.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は汎用レジスタを基本とする情報処理装置に係り
、特に汎用レジスタの従来の長さを超えるようなアドレ
スやデータを取り扱うことができるような汎用レジスタ
の有効長の拡張を、命令体系の大巾な変更を伴なわずに
実現するのに好適な汎用レジスタの有効長拡張装置に関
する。
[Detailed Description of the Invention] [Field of Application of the Invention] The present invention relates to an information processing device based on general-purpose registers, and particularly to an information processing device that can handle addresses and data whose length exceeds the conventional length of general-purpose registers. The present invention relates to a device for extending the effective length of a general-purpose register, which is suitable for extending the effective length of a general-purpose register without making any major changes to the instruction system.

〔発明の背景〕[Background of the invention]

情報処理装置の処理するデータ量の増大に伴って、情報
の処理能力を増大させようという要請が生じる。その1
つとしてアドレスの上限値の拡張、すなわち、プログラ
ムからアクセスできるデータの量を増大(アドレス拡張
と呼ぶ)させようという要請がある。他の1つは、演算
処理単位の増大(データ拡張と呼ぶ)であり、1命令で
処理する情報の処理単位を増加させようという要請であ
る。
2. Description of the Related Art As the amount of data processed by information processing devices increases, a demand arises to increase the information processing capacity. Part 1
One of the demands is to expand the upper limit of addresses, that is, to increase the amount of data that can be accessed by programs (referred to as address expansion). Another is an increase in the number of processing units (referred to as data expansion), which is a request to increase the number of processing units of information processed by one instruction.

これらの要請を満たす情報処理装置の作り方として、次
の2つがある。1つは新しい命令体系を持つ情報処理装
置を作る方法であり、他の1つは従来の情報処理装置に
若干の機能追加をする方法である。ところで1つの命令
体系の下で数多くのプログラムが既に作成されている場
合、それらが新しい情報処理装置においてもそのまま動
作しうることも要請される。この点を考えると上記の中
では後者の方法、すなわち従来の命令体系に若干の修正
をし、従来のプログラムを変更することなく動作させる
ことができ、かつ新しいプログラムも動作させることが
できる情報処理装置を作る方が良策である。
There are two ways to create an information processing device that satisfies these demands. One method is to create an information processing device with a new command system, and the other method is to add some functionality to a conventional information processing device. By the way, when a large number of programs have already been created under one instruction system, it is also required that they can operate as they are on new information processing devices. Considering this point, we prefer the latter method, that is, information processing that makes slight modifications to the conventional command system and allows conventional programs to operate without any changes, while also allowing new programs to operate. It is better to make a device.

従来プログラムをそのまま動作させることができ、かつ
アドレス拡張を実現した方式としてはIBM社のrIB
M System/370 ExtendedArch
itecture Pvinciples of 0p
erationsJ (S A−22−7085−0)
  に示されているような方式がある。そこではプログ
ラムの実行を制御するためのプログラム状態語(PSW
)の中にアドレス拡張ビットを設け、その値が0の時に
はアドレスの上限値は224−1 、その値が1の時に
はアドレスの上限値は231−1となる。以下1本方式
をさらに詳細に説明する。第1図は、情報処理装置の命
令形式の分類を表わしたものである。図において、Rs
、R2,Rs 、+3t 、Bz 、Xi はすべて、
16個ある32ビツトの汎用レジスタの番号を指示する
ために用いられている。この命令体系では汎用レジスタ
の番号を指示するのに4ビツトが使われており、16個
の汎用レジスタの中のどれかを指し示すのに適した命令
体系となっている。汎用レジスタの値はアドレスであっ
たり、数を表現したり、あるいは文字コードであったり
するが、汎用レジスタにはそれが何を表現しているかの
区別はなく、命令語の中のどの位置で指示されるかによ
り、その用途が決定される。すなわち、第1図において
、BよlBSは、ベース・レジスタとしての使われ方で
あり、B1.B2の指す汎用レジスタの値とDl、D、
の12ビツトの内容が加算された値がメモリ上のアドレ
スを指すのに用いられる。RX形式におけるx2 はイ
ンデックス・レジスタとしての使われ方であり、X2の
指す汎用レジスタの値およびB2の指す汎用レジスタの
値およびD□の内容の3者の加算値がメモリ上のアドレ
スを指すのに用いられる。R1,R2゜R1はその指す
汎用レジスタの値をアドレスとして用いたり、アドレス
ではないデータとして用いたりするが、その用いられ方
は命令語によって一意に決められている。ところで汎用
レジスタの大きさは32ビツトであり、従来アドレス・
モードの時には下位の24ビツトが有効となり上位8ビ
ツトの値は無視されるような命令体系であった。
IBM's rIB is a method that allows conventional programs to run as is and achieves address expansion.
M System/370 ExtendedArch
item Pvinciples of 0p
erationsJ (S A-22-7085-0)
There is a method as shown in There, the program state word (PSW) is used to control program execution.
), and when the value is 0, the upper limit value of the address is 224-1, and when the value is 1, the upper limit value of the address is 231-1. The one-line method will be explained in more detail below. FIG. 1 shows the classification of instruction formats for information processing devices. In the figure, Rs
, R2, Rs, +3t, Bz, Xi are all
It is used to indicate the number of 16 32-bit general-purpose registers. This instruction system uses 4 bits to indicate the number of a general-purpose register, making it suitable for pointing to any one of the 16 general-purpose registers. The value of a general-purpose register may be an address, a number, or a character code, but there is no distinction between what the general-purpose register represents, and what position in the instruction word it represents. Its use is determined by whether it is instructed to do so. That is, in FIG. 1, B1BS is used as a base register, and B1.BS is used as a base register. The value of the general-purpose register pointed to by B2 and Dl, D,
The value obtained by adding the 12-bit contents of is used to point to an address on memory. In the RX format, x2 is used as an index register, and the sum of the value of the general-purpose register pointed to by X2, the value of the general-purpose register pointed to by B2, and the contents of D□ points to an address in memory. used for. R1, R2°R1 uses the value of the general-purpose register pointed to by it as an address or as data other than an address, but the way it is used is uniquely determined by the instruction word. By the way, the size of a general-purpose register is 32 bits, and the conventional address
When in mode, the lower 24 bits were valid and the upper 8 bits were ignored.

汎用レジスタへのアドレスの設定は、メモリ上の32ビ
ツトのf−夕を汎用レジスタにセットするLOAD命令
や、32ビツトの汎用レジスタのデータとメモリ上の3
2ビツトのデータとを加算し汎用レジスタにセットする
ADD命命、などを用いて行っている。すなわち、32
ビツトのデータを基本とする命令体系を利用してアドレ
スの設定・計、算を行っており、アドレスとして利用す
る時には上位8ビツトを無視する操作を行っている。
Addresses can be set to general-purpose registers using the LOAD command, which sets the 32-bit data in the memory to the general-purpose register, or by setting the data in the 32-bit general-purpose register and the 32-bit data in the memory.
This is done using the ADD command, which adds 2-bit data and sets it in a general-purpose register. That is, 32
An instruction system based on bit data is used to set, calculate, and calculate addresses, and when used as an address, the upper 8 bits are ignored.

このような命令体系の下でアドレスを拡張する場合を考
える。1つは32ビツト以内のある長さに拡張する場合
であり、他の1つは32ビツトを超えた長さに拡張する
場合である。前述のIBMSystem/370 Ex
tandet Architectureではアドレス
を31ビツトに拡張しているが、上述のように拡張アド
レスモードか否かを表わす拡張アドレス・ビットの値に
従って32ビツトの汎用レジスタのうち上位8ビツトを
無視するが上位1ビツトを無視するかを切換えることに
より、従来プログラムと拡張プログラムの両者を1つの
情報処理装置の上で実行することが可能となる。
Consider the case of extending an address under such an instruction system. One is when extending to a certain length within 32 bits, and the other is when extending to a length exceeding 32 bits. The aforementioned IBM System/370 Ex
In tandet Architecture, the address is extended to 31 bits, but as mentioned above, the upper 8 bits of the 32-bit general-purpose register are ignored according to the value of the extended address bit, which indicates whether or not the extended address mode is in effect, but the upper 1 bit is ignored. By switching whether or not to ignore the program, it becomes possible to execute both the conventional program and the extended program on one information processing device.

しかし、他の1つの拡張(例えば64ビツトに拡張)を
上記の方式により実現することはできない。上記の方式
の拡大適用の例として、汎用レジスタ゛の長さを64ビ
ツトに拡大し、ベース・レジスタなどアドレスとして用
いられる時には64ビツトの計算をする方式が考えられ
る。しかし、上記のような命令体系の下では演算は32
ビツトのため64ビツトのアドレス・データの設定や計
算ができない。そのため4ビツトのアドレス・データの
設定と計算のための命令群が新たに必要とな   ′る
が、これは命令体系の大巾な変更が必要となり、好まし
くない。また、拡張アドレスの設定と計算を従来の命令
体系の下で実施可能とする方式として、拡張アドレス・
ビットの値によって従来の場合は32ビツトの演算を行
い、拡張の場合は64ビツトの演算を行うようにする方
式も考えられる。
However, one other extension (for example, to 64 bits) cannot be implemented using the above method. As an example of an expanded application of the above method, a method can be considered in which the length of a general-purpose register is expanded to 64 bits, and when a base register or the like is used as an address, a 64-bit calculation is performed. However, under the above instruction system, the number of operations is 32.
Because of the bit size, it is not possible to set or calculate 64-bit address data. Therefore, a new set of instructions for setting and calculating 4-bit address data is required, but this requires a major change in the instruction system, which is not desirable. In addition, as a method that makes it possible to set and calculate extended addresses under the conventional instruction system,
It is also conceivable that a 32-bit operation is performed in the conventional case, and a 64-bit operation is performed in the extended case, depending on the bit value.

しかし、この方式を適用すると、従来の32ビツトのデ
ータの演算が拡張アドレス・モードの時にはできなくな
るという問題が生じる。
However, when this method is applied, a problem arises in that conventional 32-bit data operations cannot be performed in extended address mode.

以上、アドレスの長さの拡張を、従来の汎用レジスタの
長さを超えて実施する上での問題点について説明した。
The problems encountered when extending the length of an address beyond the length of a conventional general-purpose register have been described above.

アドレスの拡張と並び要請されるのがデータ演算の単位
の拡張(データ拡張)である、汎用レジスタの長さが3
2ビツトの従来の命令体系の下では32ビツトを超える
(例えば64ビツト)の演算を行う命令はなかった。従
来、浮動小数点レジスタについては、32ビツト、64
ビツト、128ビツトの演算をそれぞれ別々の命令とし
て設けることにより実施可能であったが、汎用レジスタ
を使う演算(固定小数点データの演算)については、連
続番号のレジスタを同時にメモリから/への転送するこ
とを除いてできず、64ビツトの固定小数点の演算を行
うには32ビツトのための演算命令を多数用いて実施し
ているのが現状である。例えばFERTRANなどの高
級言語において、処理すべきデータ量の増大に伴って6
4ビツトの固定小数点データを扱う要請がある(例えば
、配列の太きさが2 ”を超えるものが要求されている
。)が、64ビツトの演算のためにはコンパイラは多数
の命令語に翻訳しなければならず処理を複雑にするとと
もに、処理性能を悪化させる要因となる。
Along with address extension, the extension of the unit of data operation (data extension) is also required, and the length of the general-purpose register is 3.
Under the conventional 2-bit instruction system, there were no instructions that performed operations on more than 32 bits (for example, 64 bits). Traditionally, for floating point registers, 32 bits, 64
It was possible to perform 128-bit and 128-bit operations by providing separate instructions, but for operations that use general-purpose registers (fixed-point data operations), sequentially numbered registers must be transferred from/to memory at the same time. Currently, 64-bit fixed-point arithmetic operations are performed using a large number of 32-bit arithmetic instructions. For example, in high-level languages such as FERTRAN, as the amount of data to be processed increases,
There is a requirement to handle 4-bit fixed-point data (for example, an array with a thickness exceeding 2" is required), but for 64-bit operations, the compiler has to translate it into a large number of instruction words. This complicates processing and causes deterioration of processing performance.

以上、アドレス拡張とデータ拡張を従来の汎用レジスタ
の長さを超える程度に拡張する場合の問題について述べ
た。
The problems encountered when address extension and data extension are extended beyond the length of conventional general-purpose registers have been described above.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、命令体系の変更を殆ど行わすに、汎用
レジスタの有効長を拡張し、従来のデータ長よりも大き
いようなアドレスやデータを取り扱えるような、従来装
置に対して変更の少ない情報処理装置を提供することに
ある。
The purpose of the present invention is to expand the effective length of general-purpose registers and handle addresses and data that are larger than the conventional data length, while making few changes to the conventional device. The purpose of the present invention is to provide an information processing device.

〔発明の概要〕[Summary of the invention]

汎用レジスタを基本とする命令体系の下でアドレス拡張
やデータ拡張を行うには、汎用レジスタの長さを増大す
る必要がある。従来プログラムはそのまま実行でき、か
つ新規拡張プログラムでは拡張されたアドレスやデータ
を扱う時のみ拡張された汎用レジスタを用いて拡張アド
レスの計算や拡張データの演算を行い、拡張されていな
いデータの演算は従来と同じ長さで実施する必要がある
In order to perform address expansion and data expansion under an instruction system based on general-purpose registers, it is necessary to increase the length of general-purpose registers. Conventional programs can be executed as is, and new extended programs use extended general-purpose registers only when handling extended addresses and data, and perform calculations on extended addresses and extended data; operations on non-extended data are It is necessary to carry out the same length as before.

こ、のためには、個々の汎用レジスタに対応して、それ
が拡張されたアドレス計算やデータ演算を行うか否かを
表わすモード・ビットを設けるのが良い。そして、当該
モード・ビットの値に従ってアドレス計算や演算の有効
長を切替えることができるアドレス計算回路、演算処理
回路を設け、汎用レジスタの保持している情報の長さに
応じた計算や演算を実施できるようにする。
For this purpose, it is preferable to provide a mode bit corresponding to each general-purpose register to indicate whether or not it performs extended address calculations and data operations. Then, an address calculation circuit and arithmetic processing circuit are provided that can switch the effective length of address calculations and operations according to the value of the mode bit, and perform calculations and operations according to the length of information held in the general-purpose register. It can be so.

また、汎用レジスタの個数は有限であり、プログラムの
実行に従って個々の汎用レジスタの内容は変化していく
0例えば最初は従来の長さのデータを保持し32ビツト
の演算のために用いられる汎用レジスタが、次には拡張
された長さのアドレスを保持し、拡張されたメモリ範囲
内のデータをアクセスするために使用され、さらに次に
は、拡張された長さのデータの演算を使用されるという
ことがありうる。このような使用方法の変更をプログラ
ム内で実行の途中で行えるように、当該拡張ビットの変
更ができるようにする必要がある。
Also, the number of general-purpose registers is finite, and the contents of each general-purpose register change as the program is executed.For example, a general-purpose register initially holds conventional length data and is used for 32-bit operations. is then used to hold the extended length address and access data within the extended memory range, which in turn is used to perform operations on the extended length data. That is possible. It is necessary to be able to change the extension bit so that the usage method can be changed in the middle of execution within a program.

また、マルーチタスク処理を行うオペレーティング・シ
ステムの下では、複数のプログラムの間で処理を切替え
るのが普通であり、汎用レジスタは切替えの際に状態が
退避回復されるので、当該拡張モード・ビットをオペレ
ーティング・システムによる退避・回復ができるように
する必要がある。
In addition, under an operating system that performs multitasking processing, it is common to switch processing between multiple programs, and the state of general-purpose registers is saved and restored when switching. - It is necessary to enable evacuation and recovery by the system.

なお、このモード・ビットは従来の命令によって変更さ
れるようにする必要があるので、汎用レジスタの外に別
に設けるのがよい。
Note that since this mode bit needs to be changed by a conventional instruction, it is preferable to provide it separately outside the general-purpose register.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明の一実施例を第2図より第9図を用いて説
明する。
An embodiment of the present invention will be described below with reference to FIGS. 2 to 9.

第2図は、本発明が適用される情報処理33置の構成を
示す。それは次のものから構成される。
FIG. 2 shows the configuration of an information processing unit 33 to which the present invention is applied. It consists of:

(1)命令解析・制御部100 命令語を解読するとともに、他の部分の処理を制御する
(1) Command analysis/control unit 100 Decodes command words and controls other parts of processing.

(2)命令実行部200 命令語の実行を担当する部分であり、本発明が適用され
る部分である。
(2) Command Execution Unit 200 This is a unit in charge of executing command words, and is a unit to which the present invention is applied.

(3)メモリ制御部300 主記憶装置(MS)400とのデータ転送を制御する。(3) Memory control unit 300 Controls data transfer with the main storage device (MS) 400.

以上の構成は一般的なものである。The above configuration is a common one.

次に本発明が適用される命令実行部200内の構成を記
す。
Next, the configuration inside the instruction execution unit 200 to which the present invention is applied will be described.

(1)汎用レジスタ制御部1゜ 16本の汎用レジスタ11からの読出し、およびそれら
への書込みを制御する部分である。
(1) General-purpose register control unit 1 This is a part that controls reading from and writing to the 16 general-purpose registers 11.

(2)アドレス計算部2゜ メモリ・アドレスを計算する部分である。(2) Address calculation section 2゜ This is the part that calculates memory addresses.

(3)演算処理部3゜ メモリから読込んだデータ、汎用レジスタから読込んだ
データに対する演算を実行する部分である。
(3) Arithmetic processing unit 3° This is a part that executes arithmetic operations on data read from memory and data read from general-purpose registers.

(4)モード・レジスタ制御部40 汎用レジスタの有効長を指示するモード・レジスタ41
を制御する部分である。
(4) Mode register control unit 40 Mode register 41 that indicates the effective length of general-purpose registers
This is the part that controls the

上記のうち、汎用レジスタ制御部10.アドレス計算部
20.演算制御部3oは、従来より設けられている部分
であるが、モード・レジスタ制御部40は新規な部分で
ある。これら4部分の詳細については後述することとし
、ここでは各部の動作の概要を説明する。そのために、
代表的な命令として、LOAD命令とADD命令の処理
の流れを第3図を用いて説明する。命令の実行は通常、
ステージと呼ばれる時間インタペルに分けて行われる。
Among the above, general-purpose register control unit 10. Address calculation section 20. The arithmetic control section 3o is a conventionally provided section, but the mode register control section 40 is a new section. The details of these four parts will be described later, and here an outline of the operation of each part will be explained. for that,
The processing flow of a LOAD command and an ADD command as typical commands will be explained with reference to FIG. Execution of an instruction is usually
The event is divided into time intervals called stages.

ここでは4つのステージに分ける場合を説明するが、本
発明はこれに限定されるものではない。ステージごとに
次のように処理される。
Although a case where the process is divided into four stages will be described here, the present invention is not limited to this. Each stage is processed as follows.

(1)命令デコード・ステージ(D) 命令語内のオペレーション・コードを解読し。(1) Instruction decode stage (D) Deciphers the operation code in the instruction word.

LOAD命令、ADD命令などを認識するとともに、命
令語内の各パートを取り出す。この処理は命令解析・制
御部100で実施されるが、このための回路構成は公知
であるので説明は省略する。
It recognizes LOAD commands, ADD commands, etc., and extracts each part within the command word. This processing is executed by the instruction analysis/control unit 100, but the circuit configuration for this is well known and will not be described here.

(2)アドレス計算ステージ(A) 命令語内のB、、X、、D、パートを基に、第2オペラ
ンドのアドレスを計算する。具体的には命令解析・制御
部100の制御の下で、命令実行部200で計算が行な
われる。すなわち、次のような処理が行われる。
(2) Address calculation stage (A) The address of the second operand is calculated based on parts B, , X, and D in the instruction word. Specifically, the calculation is performed by the instruction execution section 200 under the control of the instruction analysis/control section 100. That is, the following processing is performed.

(a)命令語内のB2パートの内容を汎用レジスタ制御
部10およびモード・レジスタ制御部に伝え、B2の指
示する汎用レジスタおよびモード・ビットをそれぞれ読
み出し、さらに、アドレス計算部20内の82 レジス
タ・データ26およびB2モード・ビット124に設定
する。
(a) The contents of the B2 part in the instruction word are transmitted to the general-purpose register control unit 10 and the mode register control unit, and the general-purpose register and mode bit indicated by B2 are read respectively, and the 82 register in the address calculation unit 20 is - Set data 26 and B2 mode bit 124.

(b)(a)と同様にして、x2パートに対応して。(b) Same as (a), corresponding to x2 part.

x2  レジスタ・データ27.およびx2 モード・
ビット125に値を設定する。
x2 register data 27. and x2 mode
Set a value to bit 125.

(c)命令語内のD2 パートの内容をアドレス計算部
20内のD2データ・レジスタ28に設定する。
(c) The contents of the D2 part in the instruction word are set in the D2 data register 28 in the address calculation section 20.

(d)B2 レジスタ・データ26.X、  レジスタ
・データ27.D、データ・レジスタ28の3者を入力
とするアドレス・アダー25により加算が行われ、結果
がアドレス・レジスタ123に設定される。この際にB
2モード・ビット124.X、モード・ビット125は
(d) B2 register data 26. X, register data 27. Addition is performed by the address adder 25 which receives three inputs: D and data register 28, and the result is set in the address register 123. At this time, B
2 mode bit 124. X, mode bit 125.

有効長の制御に使用されるが、詳細は後述する。It is used to control the effective length, and the details will be described later.

(3)オペランド・ロー)で・ステージ(L)第2オペ
ランドのデータをメモリからフェッチする。具体的には
、メモリ・レジスタ123の内容がメモリ制御部300
に転送され、MA400に対するフェッチ要求が発行さ
れる6MA400からのフェッチが行われるとフェッチ
・データ・レジスタ302にデータが設定される。なお
、この過程においては、仮想アドレス機構のある場合に
はアドレス・レジスタ123の内容は仮想アドレスを表
現しており、それを実アドレスに変換する回路が動作す
る。また、主記憶装置MS上のデータの写しを格納する
高速のバッファ記憶装置BSを持つ場合には、BSをア
クセスする回路が動作する。本実施例にはこれらについ
ての説明は省略しているが、本発明の適用においてはこ
れらの回路の有無は無関係である。
(3) At stage (L), the data of the second operand is fetched from the memory. Specifically, the contents of the memory register 123 are stored in the memory control unit 300.
and a fetch request is issued to the MA 400. When a fetch is performed from the 6 MA 400, data is set in the fetch data register 302. In this process, if there is a virtual address mechanism, the contents of the address register 123 represent a virtual address, and a circuit that converts it into a real address operates. Furthermore, if a high-speed buffer storage device BS is provided to store a copy of the data on the main storage device MS, a circuit for accessing the BS operates. Although the description of these circuits is omitted in this embodiment, the presence or absence of these circuits is irrelevant in application of the present invention.

(4)命令実行ステージ(D) LOAD命令の場合には、フェッチしたデータをR1パ
ートで指す汎用レジスタに設定する。
(4) Instruction execution stage (D) In the case of a LOAD instruction, the fetched data is set in the general-purpose register pointed to by the R1 part.

ADD命令の場合には、R1レジスタの内容とフェッチ
したデータとの加算が行われ、結果をRエ レジスタに
設定する。この処理は次のように行われる。
In the case of an ADD instruction, the contents of the R1 register and the fetched data are added, and the result is set in the R register. This process is performed as follows.

(a)命令解析・制御部100で取り出されたR1パー
トの内容が汎用レジスタ制御部10およびモード・レジ
スタ制御部40に伝達される。
(a) The contents of the R1 part extracted by the instruction analysis/control unit 100 are transmitted to the general-purpose register control unit 10 and the mode/register control unit 40.

(b)モード・レジスタ制御部40ではR□パートの値
に従ってモード・ビットが読み出される。
(b) In the mode register control section 40, the mode bit is read out according to the value of the R□ part.

(c)演算処理部30内のメモリ・フェッチ・データ・
レジスタ31に、フェッチしたデータ302の内容が転
送される。 LOAD命令の場合には演算器32をバイ
パスして結果レジスタ137にデータが転送される。A
DD命令の場合には汎用レジスタ制御部10内でR1パ
ートの指す汎用レジスタの内容が読出され。
(c) Memory fetch data in the arithmetic processing unit 30
The contents of the fetched data 302 are transferred to the register 31. In the case of a LOAD instruction, data is transferred to the result register 137, bypassing the arithmetic unit 32. A
In the case of a DD instruction, the contents of the general-purpose register pointed to by the R1 part are read in the general-purpose register control unit 10.

レジスタ出力データ・レジスタ131に転送され、フェ
ッチ・データ・レジスタ31とともにALU32の入力
となり、加算が行われる。加算結果は結果レジスタ13
7に設定される。(b)で読み出されたR1モード・ビ
ット136は、結果レジスタ137の有効長制御に用い
られるが、これについては後述する。
It is transferred to the register output data register 131, becomes an input to the ALU 32 together with the fetch data register 31, and is added. The addition result is in result register 13
Set to 7. The R1 mode bit 136 read in (b) is used to control the effective length of the result register 137, which will be described later.

(d) LOAD命令、ADD命令ともしこ、結果レジ
スタ137の内容が汎用レジスタ制御部10に転送され
、レジスタ入力レジスタ12を介してR□パートの値で
指定される汎用レジスタに設定される。
(d) When a LOAD instruction or an ADD instruction is used, the contents of the result register 137 are transferred to the general-purpose register control unit 10 and set in the general-purpose register specified by the value of the R□ part via the register input register 12.

以上のようにして、 LOAD命令、ADD命令の処理
が実行される1以上の動作は、モード・ビットに関係す
る記述を除いて公知のものである。
As described above, one or more operations performed by the LOAD and ADD instructions are known, except for descriptions related to mode bits.

次に1本発明の適用時の動作をそのための回路について
詳細に説明する。まず、本実施例の動作の詳細を、第4
図を用いて、LOAD命令について説明する。
Next, the operation when the present invention is applied will be explained in detail with respect to the circuit therefor. First, the details of the operation of this embodiment will be explained in the fourth section.
The LOAD command will be explained using figures.

本命令1は、R2の指す汎用レジスタの値、B2の指す
汎用レジスタの値、およびB2の12ビツトの値の3者
の加算値をメモリのアドレスとしてデータを読み込み、
そのデータをR□で指す汎用レジスタにセットする命令
である。従来モードにおいては、アドレスおよびデータ
の長さは4バイト(=32ビット)以下である。本発明
を実施した場合にはモード・レジスタ41内の82に対
応するモード・ビットは1.R2に対応するモード・ビ
ットはOとすると、B2の指す汎用レジスタは64ビツ
トの値、R2の指す汎用レジスタは下位32ビツトに上
位32ビツトを0と見なした値が使用される。すなわち
、モード・ビットが1の場合は対応する汎用レジスタの
長さは64ビツトとして扱い、モード・ビットが0の場
合は対応する汎用レジスタの長さは32ビツトとして扱
われる。ここで、本実施例では、拡張モードでの長さを
64ビツトとしたが、任意のビット長さでよいことを付
記する。ただし、メモリとのアクセス単位がバイト(=
8ビット)の場合には、8の倍数に設定するのがよい。
This instruction 1 reads data by using the sum of the value of the general-purpose register pointed to by R2, the value of the general-purpose register pointed to by B2, and the 12-bit value of B2 as a memory address, and
This is an instruction to set the data in the general-purpose register pointed to by R□. In the conventional mode, the length of address and data is 4 bytes (=32 bits) or less. When the present invention is practiced, the mode bit corresponding to 82 in mode register 41 is 1. When the mode bit corresponding to R2 is set to O, the general-purpose register pointed to by B2 uses a 64-bit value, and the general-purpose register pointed to by R2 uses a value in which the lower 32 bits and upper 32 bits are assumed to be 0. That is, when the mode bit is 1, the length of the corresponding general-purpose register is treated as 64 bits, and when the mode bit is 0, the length of the corresponding general-purpose register is treated as 32 bits. In this embodiment, the length in extended mode is 64 bits, but it should be noted that any bit length may be used. However, the unit of access to memory is byte (=
8 bits), it is preferable to set it to a multiple of 8.

またアドレス拡張をデータ拡張を別個のモード・ビット
として、各汎用レジスタに2ビツトを対応させたモード
・レジスタの構成とじうろことも付記する。ここでは、
データの拡張の要請の説明で述べたように8バイトの固
定小数点データの実現とあわせてアドレス拡張を行うた
め、64ビツトとした。またデータ拡張としては64ビ
ツト・アドレス拡張としては(24ビツト・アドレス方
式のように)その一部(例えば下位48ビツト)をアド
レスとして使用する方式も同様にして実現できることを
付記する。
It is also noted that the configuration of the mode register is such that address extension and data extension are separate mode bits, and two bits correspond to each general-purpose register. here,
As mentioned in the explanation of the request for data expansion, the address was set to 64 bits in order to perform address expansion in conjunction with realizing 8-byte fixed-point data. It should also be noted that as a data extension, a 64-bit address extension (such as a 24-bit address system) in which a part of the address (for example, the lower 48 bits) is used as an address can also be implemented in the same manner.

第4図において、B2,3.X、、4.B2゜5の3者
の和がメモリ上のデータにアクセスする64ビツトのア
ドレス6として使用される。メモリからの読出しデータ
の長さはR工に対応するモード・ビットに依る。モード
・ビットが1の時は、R□の指す汎用レジスタの64ビ
ツトに8バイトのデータ(■、■の部分)が読出されて
セットされる。モード・ビットがOの時は、4バイトの
データ(■の部分)が読出され、■の最上位ビットXの
値がOの時その上位に32ビツトの0が付加された値が
、またXが7の時1が付加された値が、それぞれ汎用レ
ジスタ7にセットされる。
In FIG. 4, B2, 3. X,,4. The sum of the three numbers B2.5 is used as a 64-bit address 6 for accessing data on the memory. The length of the data read from memory depends on the mode bit corresponding to R. When the mode bit is 1, 8 bytes of data (■, ■) are read and set in 64 bits of the general-purpose register pointed to by R□. When the mode bit is O, 4 bytes of data (■ part) are read, and when the value of the most significant bit When is 7, the value to which 1 is added is set in the general-purpose register 7, respectively.

次に、本実施例の詳細な説明を行う。まず、汎用レジス
タ制御部10の動作を第5図により説明する。汎用レジ
スタは16本あり(11)それらとの入出力はレジスタ
番号指定レジスタ14により選択して実行される。すな
わち、レジスタ番号指定レジスタ14の内容に従って1
6本の汎用レジスタ11の中の1つが選択され、書込み
の場合はレジスタ入力データ・レジスタ12を経由して
、また読出しの場合はレジスタ出力データ・レジスタ1
3を経由して64ビット単位での書込み/読出しが実施
される。
Next, a detailed explanation of this embodiment will be given. First, the operation of the general-purpose register control section 10 will be explained with reference to FIG. There are 16 general-purpose registers (11), and input/output to and from them is selected and executed by the register number designation register 14. In other words, 1 according to the contents of the register number designation register 14.
One of the six general-purpose registers 11 is selected, and for writing, it goes through register input data register 12, and for reading, it goes through register output data register 1.
Writing/reading is performed in units of 64 bits via 3.

次に、アドレス計算部20の動作を第6図を用いて説明
する。第4図に述べたLOAD命令1の例について説明
する。命令語によって指定されたレジスタx2 の内容
が第5図の汎用レジスタ制御部10から読出され、x2
  レジスタ・データ・レジスタ21にセットされる。
Next, the operation of the address calculation section 20 will be explained using FIG. 6. An example of the LOAD instruction 1 shown in FIG. 4 will be explained. The contents of the register x2 specified by the instruction word are read out from the general-purpose register control unit 10 in FIG.
Set in register data register 21.

またx2  レジスタに対応するモード・ビット125
がモード・レジスタ制御部4oから読出される(詳細は
後述)。X2モード・ビット125の値が0の時には、
Oを保持している定数レジスタ22の内容がアドレス・
アダー25のx2人力レジスタ26の前半32ビツト・
セットされる。X2モード・ビット125の値が1の時
には、x2 レジスタ・データ・レジスタ21の前半3
2ビツトがX2人力レジスタ26の前半32ビツトにセ
ットされる。どちらの場合も後半32ビツトにはX2 
レジスタ・データ・レジスタ21の後半32ビツトの値
がそのままセットされる。B2についてもx2 につい
て説明した上記の処理が同様にして行われ、82人力レ
ジスタ27にセットされる。命令語1のD2パートはそ
のままD2人力レジスタ28にセットされる。x2人力
レジスタ26.B、入力レジスタ27、D、入力レジス
タ28はアドレス・アダー25の3人力となり、3者の
加算が実施され、結果が出力レジスタ121にセットさ
れる。選択器122は、X2 モード・ビット125お
よびB2モード・ビット124がともに0の時には、ア
ドレス・レジスタ123の前半32ビツトには定数レジ
スタ22の内容をセットし、少くとも一方の1の場合に
は出力レジスタの前半32ビツトの内容をセットするた
めに用いられる。どちらの場合においてもアドレス・レ
ジスタ123の後半32ビツトは、出力レジスタ121
の後半32ビツトがそのままセットされる。以上の結果
、x2  レジスタ、B、レジスタの両者が従来モード
の時には有効長32ビツトのアドレスを生成し、少くと
も一方が拡張モードの時には有効長64ビツトのアドレ
スが生成される。生成されたアドレスに従い、メモリ・
リクエストが実行されるが、その動作回路は公知なので
省略する。
Also, the mode bit 125 corresponding to the x2 register
is read out from the mode register control unit 4o (details will be described later). When the value of X2 mode bit 125 is 0,
The contents of the constant register 22 holding O is the address.
The first 32 bits of the x2 manual register 26 of the adder 25
Set. When the value of X2 mode bit 125 is 1, the first half 3 of x2 register data register 21
2 bits are set in the first 32 bits of the X2 manual register 26. In both cases, the latter 32 bits are X2.
The value of the latter 32 bits of the register data register 21 is set as is. The above-described processing for x2 is also performed for B2 in the same manner, and it is set in the 82 manual register 27. The D2 part of instruction word 1 is set in the D2 manual register 28 as is. x2 manual register 26. B, input register 27, D, and input register 28 are made up of three people including address adder 25, and addition of the three is performed and the result is set in output register 121. The selector 122 sets the contents of the constant register 22 in the first half 32 bits of the address register 123 when the X2 mode bit 125 and the B2 mode bit 124 are both 0; Used to set the contents of the first 32 bits of the output register. In either case, the latter 32 bits of the address register 123 are used as the output register 121.
The latter 32 bits are set as is. As a result of the above, when both the x2 register, B, and the register are in the conventional mode, an address with an effective length of 32 bits is generated, and when at least one is in the extended mode, an address with an effective length of 64 bits is generated. According to the generated address, the memory
The request is executed, but its operational circuit is well known and will therefore be omitted.

次に、演算制御部30の説明を第7図を用いて行う。先
ず、LOAD命令の処理の続きを説明する。
Next, the arithmetic control section 30 will be explained using FIG. 7. First, the continuation of the processing of the LOAD command will be explained.

上述のメモリ・リクエストの結果として、メモリから読
込まれたデータがメモリ・フェッチ・データ・レジスタ
31に、セットされる。その内容は、64ビツトのAL
U32の入力レジスタ33にセットされるとともに、選
択器34の入力となる。
As a result of the memory request described above, the memory fetch data register 31 is set with data read from memory. Its contents are 64-bit AL
It is set in the input register 33 of U32 and becomes an input to the selector 34.

LOAD命令の場合には、選択器34によりメモリ・フ
ェッチ・データがそのままモード選択器35の入力とな
る。メモリ・フェッチ・データ・レジスタ31の前半部
はさらに、32ビツトのALU36の入力レジスタ37
の入力となるとともに、選択器38の入力となる。 L
OAD命令の場合は上と同様にメモリ・フェッチ・デー
タがそのままデータ拡張器39の入力となり、さらにデ
ータ拡張器39により64ビツトのデータに拡張される
。すなわち、32ビツトのデータの最上位1ビツトの値
が1の時にはすべて1の32ビツトのデータが付加され
、Oの時にはすべてOの32ビツトのデータが付加され
る。このための回路も既知なのでここでは説明は省略す
る。データ拡張器39の出力は、前述のモード選択器3
5の入力となる。モード選択器35においては、命令語
のR1の指すレジスタに対応するモード・ビットがモー
ド・レジスタ制御部40より伝えられ、その値が1の時
には、64ビツト系のデータを、その値が0の時には3
2ビツト系のデータを、それぞれ選択し、結果137を
レジスタ入力データとして汎用レジスタ制御部10に転
送する。汎用レジスタ制御部10では既述の如く汎用レ
ジスタ11にセットする。
In the case of a LOAD instruction, the memory fetch data is directly input to the mode selector 35 by the selector 34. The first half of the memory fetch data register 31 is further provided with an input register 37 of the 32-bit ALU 36.
and also serves as an input to the selector 38. L
In the case of an OAD instruction, the memory fetch data is directly input to the data expander 39 as described above, and is further expanded by the data expander 39 to 64-bit data. That is, when the value of the most significant bit of 32-bit data is 1, 32-bit data with all 1's is added, and when it is 0, 32-bit data with all 0's is added. Since the circuit for this purpose is also known, its explanation will be omitted here. The output of the data expander 39 is the mode selector 3 described above.
5 input. In the mode selector 35, the mode bit corresponding to the register pointed to by R1 of the instruction word is transmitted from the mode register control unit 40, and when the value is 1, 64-bit data is transferred to the mode bit when the value is 0. sometimes 3
The 2-bit data is selected, and the result 137 is transferred to the general-purpose register control unit 10 as register input data. The general-purpose register control unit 10 sets the information in the general-purpose register 11 as described above.

以上のようにしてLOAD命令の処理(第4図で述べた
処理)が完了される。次に、データが拡張の例としてA
DD命令の処理を本図、を用いて説明する。
As described above, the processing of the LOAD command (the processing described in FIG. 4) is completed. Next, the data is A as an example of expansion.
The processing of the DD command will be explained using this figure.

本命令はLOAD命令1と同じRX形式であり、X2゜
B、、B2により指示されるメモリ上のデータをフェッ
チし、R□の指す汎用レジスタの内容とh口算し、結果
を元のR1の指す汎用レジスタにセットする命令である
。メモリからフェッチされたデータはLOAD命令の時
と同じ処理によりメモリ・フェッチ・データ・レジスタ
31にセットされる。
This instruction has the same RX format as LOAD instruction 1, and fetches the data on the memory indicated by This is an instruction to set the general-purpose register pointed to. The data fetched from memory is set in the memory fetch data register 31 by the same processing as in the LOAD instruction.

ADD命令の場合には、64ビツトALU32と32ビ
ツトALU36の演算が実施される。両ALTJの入力
には、汎用レジスタ制御部10により読出されたデータ
がレジスタ・データ・レジスタ131にセットされる。
In the case of an ADD instruction, 64-bit ALU 32 and 32-bit ALU 36 operations are performed. Data read by the general-purpose register control unit 10 is set in the register data register 131 at the input of both ALTJs.

その全体64ビツトは64ビツトALUの入力レジスタ
132に、下位32ビツトは32ビツトALUの入力レ
ジスタ133にセットされる。ADD命令の場合には、
LOAD命令のときとは異なり選択器34.38ではA
LU出力134,135が選択される。後者はデータ拡
張器39により64ビツトのデータに拡張される。選択
器34の出力とデータ拡張器39の出力はモード選択器
35の入力となり、R□モード・ビットの値に従ってど
ちらかが選択され。
The entire 64 bits are set in the input register 132 of the 64-bit ALU, and the lower 32 bits are set in the input register 133 of the 32-bit ALU. In the case of an ADD command,
Unlike the LOAD command, the selector 34.38 selects A.
LU outputs 134 and 135 are selected. The latter is expanded to 64-bit data by a data expander 39. The output of the selector 34 and the output of the data expander 39 are input to the mode selector 35, and one of them is selected according to the value of the R□ mode bit.

レジスタ入力データ137となる。この値137は汎用
レジスタ制御部10において、R1の指す汎用レジスタ
にセットされる。このようにして、ADD命令が実行さ
れる。ここで、64ビツトALU32は本発明で新たに
設けたものであるが、32ビツトALUを容易に拡張し
て実現できるので、詳細は省略するが、演算の長さが3
2ビツトから64ビツトになっただけであり、オーバフ
ローなどの割込み要因発生回路も32ビツトALUと同
様に先頭ビットからのオーバフローの検出などを行なえ
ばできる。また、本図の64ビットALU、32ビット
ALU、データ拡張器などを一体とした同じ機能をもつ
ALUを作成することも容易にできる。
This becomes register input data 137. This value 137 is set in the general-purpose register pointed to by R1 in the general-purpose register control unit 10. In this way, the ADD instruction is executed. Although the 64-bit ALU 32 is newly provided in the present invention, it can be realized by easily expanding the 32-bit ALU, so the details will be omitted, but the length of the operation is 3.
The number of bits has changed from 2 bits to 64 bits, and the circuit for generating interrupt factors such as overflow can be implemented by detecting overflow from the first bit in the same way as the 32-bit ALU. Further, it is also possible to easily create an ALU having the same functions by integrating the 64-bit ALU, 32-bit ALU, data extender, etc. shown in this figure.

次に、モード・レジスタ制御部の動作を第8図を用いて
行う。命令語1のレジスタパート1o7がレジスタ番号
44に設定され、セレクタ42のセレクタ信号となる。
Next, the operation of the mode register control section is performed using FIG. Register part 1o7 of instruction word 1 is set to register number 44, and becomes a selector signal for selector 42.

モード・レジスタ(M R)41はセレクタ42の入力
となり、指定されたレジスタ番号に対応する部分がモー
ド・ビット110として出力され、上述したアドレス計
算部2o、演算処理部30に伝達される。
The mode register (MR) 41 becomes an input to the selector 42, and a portion corresponding to the designated register number is output as a mode bit 110, and is transmitted to the address calculation section 2o and the arithmetic processing section 30 described above.

次にモード・レジスタ41の設定、変更、メモリへの転
送のために設ける命令について第8図。
Next, FIG. 8 shows instructions provided for setting, changing, and transferring the mode register 41 to the memory.

第9図を用いて説明する。4つの命令を新たに設けるの
が良い。4つの命令はすべて第1図の中のS形式である
。S形式のアドレス指定部(B2゜B2)は、メモリ・
ア1(゛レスを指したり、後述のSR演算、AND演算
のデータとして用いられる。
This will be explained using FIG. 9. It would be better to create four new commands. All four instructions are of the S format in FIG. The S format address specification section (B2゜B2) is the memory
It is used as data for SR operation and AND operation, which will be described later.

(1) ORMode Register (OM R
)命令命令語で指定されたオペランドアドレスのうち下
位16ビツトの情報とモード・レジスタ41の情報の各
ビット対応のOR演算が行われ(第9図のステップ20
1)結果がモード・レジスタに設定される(ステップ2
02)、すなわち、第8図において、デコーダ43によ
りNMR命令信号141がオフになる。ところで、MR
41の内容はレジスタ142を経由してAND回路14
3.OR回路144の入力となる。また、オペランド・
アドレスはレジスタ145を経由して両回路の入力とな
り、両者のAND演算、OR演算が行われ、結果はレジ
スタ145゜146にそれぞれセットされる。上述のよ
うにOMR命令の場合、NMR命令命令信号片フになっ
ておりOR回路の出力146が選択される。
(1) ORMode Register (OMR
) Instruction An OR operation is performed between the information of the lower 16 bits of the operand address specified by the instruction word and each bit of the information of the mode register 41 (step 20 in FIG. 9).
1) The result is set in the mode register (step 2)
02), that is, in FIG. 8, the NMR command signal 141 is turned off by the decoder 43. By the way, MR
The contents of 41 are sent to the AND circuit 14 via the register 142.
3. It becomes an input to the OR circuit 144. Also, the operand
The address becomes an input to both circuits via a register 145, and an AND operation and an OR operation are performed on both circuits, and the results are set in registers 145 and 146, respectively. As described above, in the case of the OMR command, one of the NMR command command signals is OFF, and the output 146 of the OR circuit is selected.

さらにLMR命令信号線147はオフとなり、MR書き
込み信号、ti 148はオンとなるようにデコードさ
れ、OR回路の出力146がM R41にセットされる
Further, the LMR command signal line 147 is turned off, the MR write signal ti 148 is decoded to be turned on, and the output 146 of the OR circuit is set to MR41.

(2) AND Mode Register (N 
M R)命令OMR命令において、OR演算がAND演
算になる他は同じであり、NMR命令信号線141がオ
ンとなるようにデコートされ、ANDの結果145がM
R41にセットされる。
(2) AND Mode Register (N
M R) Instruction The OMR instruction is the same except that the OR operation becomes an AND operation, and the NMR instruction signal line 141 is decoded to be on, and the AND result 145 is the M
Set to R41.

(3) Load Mode Register (L
 M R)命令命令語で指定したアドレスのデータ2バ
イトをメモリより読込み(ステップ205)、モード・
レジスタ41に設定する(ステップ206)。
(3) Load Mode Register (L
MR) Command Read 2 bytes of data at the address specified by the command word from memory (step 205), and set the mode.
It is set in the register 41 (step 206).

すなわち、メモリ・フェッチ・データ・レジスタ149
の上位16ビツトをMR41に書込む。
That is, memory fetch data register 149
The upper 16 bits of the data are written to MR41.

デコーダ43において、LMR命令信号線147がオン
になり、メモリ・フェッチ・データ・レジスタ149の
入力を選択し、MR書込み信号Mc148をオンになる
ことによりMR41に書込まれる。
In the decoder 43, the LMR command signal line 147 is turned on to select the input of the memory fetch data register 149, and the MR write signal Mc148 is turned on to be written to the MR 41.

(4) 5tore Mode Register (
STMR)命令モード・レジスタ41の内容が、本命令
語で示されたアドレスにストアされる。本命令の場合、
デコーダ43によりSTMR命令信号線150がオンに
なり、メモリ・ストア・データ・レジスタ151を経由
して、メモリ・リクエストが実行される。
(4) 5tore Mode Register (
STMR) The contents of the instruction mode register 41 are stored at the address indicated by this instruction word. In the case of this order,
The STMR command signal line 150 is turned on by the decoder 43, and the memory request is executed via the memory store data register 151.

以上、モード・レジスタ41に関する4つの命令の動作
を説明したが、これらの命令は非特権命令とした方がよ
い。すなわち、汎用レジスタの内容は、プログラム毎に
変化し、プログラム内においても時々刻々変化するので
、非特権プログラムにおいても上記の命令が使用可能と
するためである。また、モード・レジスタの初期値はす
べてOとするのがよい。
The operations of the four instructions related to the mode register 41 have been described above, but these instructions are preferably non-privileged instructions. That is, since the contents of the general-purpose register change for each program and change from time to time within a program, the above-mentioned instructions can be used even in non-privileged programs. Further, it is preferable that all the initial values of the mode registers be set to O.

以上、本実施例の説明を行った。本実施例によれば、次
のような効果がある。
The present embodiment has been described above. According to this embodiment, the following effects are achieved.

(1)従来のプログラムを変更しなくても、そのまま実
行することができる。モード・レジスタの初期値は0な
ので、従来の有効長として扱われるので、従来プログラ
ムの変更はまったく不要である。
(1) Conventional programs can be executed as they are without any changes. Since the initial value of the mode register is 0, it is treated as the conventional effective length, so there is no need to change the conventional program at all.

(2)従来プログラムを変更して、データ・アドレスの
み拡張アドレス部分にアクセスするようにするには、拡
張アドレス部分しこアクセスする前に、拡張アドレス用
のレジスタとして使われる汎用レジスタに対応するモー
ド・ビットを1にして、メモリ・アクセスを行い、拡張
アドレス用のレジスタとしての使用が終了した時点でモ
ード・ビットを0にするような変更、すなわち2命令の
追加を行えばよいので容易にアドレス拡張が実現できる
(2) To change a conventional program so that only the data address accesses the extended address part, before accessing the extended address part, set the mode corresponding to the general-purpose register used as the register for the extended address. - Set the bit to 1, perform memory access, and change the mode bit to 0 when it is no longer used as an extended address register, that is, add two instructions, making it easy to access the address. Expansion is possible.

(3)従来プログラムを、拡張アドレス部分に格納して
動作させる場合においても、プログラム部分のベース・
アドレスとして使われる汎用レジスタに対して、上記と
同じような変更を加えるだけで済む。
(3) Even when a conventional program is stored and operated in the extended address part, the base of the program part
All you need to do is make the same changes to the general-purpose registers used as addresses.

(4)固定小数点データの処理単位を従来の32ビツト
から64ビツトに拡張することも上記と同様に拡張デー
タ用に使用する前に汎用レジスタのモード・ビットを1
にするだけで、従来と同じ命令体系の命令語を使用して
、64ビツトの固定小数点の演算ができる6 (5)新規に拡張アドレスで動作するプログラムや拡張
データを扱うことができるプログラムを作成する際にお
いても、従来のコンパイラなどのソフトウェア技術をほ
とんどそのまま活用することができる。
(4) Expanding the processing unit of fixed-point data from the conventional 32 bits to 64 bits is also possible by setting the mode bit of the general-purpose register to 1 before using it for extended data, as described above.
64-bit fixed-point operations can be performed using the same command system as before by simply 6. (5) Create a new program that operates with extended addresses or that can handle extended data. Even when doing so, conventional software technologies such as compilers can be used almost unchanged.

なお、拡張モードで使用されている汎用レジスタの内容
をメモリに記憶したり、メモリから値を設定する場合に
は、そのための格納領域の大きさを従来の4バイトから
8バイトに変更する必要が生じるが、その操作は容易で
ある。
Note that when storing the contents of general-purpose registers used in extended mode in memory or setting values from memory, the size of the storage area for this purpose must be changed from the conventional 4 bytes to 8 bytes. However, its operation is easy.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、命令体系の変更は殆ど行わずに、アド
レス拡張やデータ拡張が実現できるので。
According to the present invention, address expansion and data expansion can be realized without changing the instruction system.

従来プログラムの流用、および従来のコンパイラなどの
ソフトウェアの流分が容易になるという効果がある。す
なわち、(1)命令体系が殆ど変わらず、(2)汎用レ
ジスタが拡張アドレスまたは拡張データとして使用され
る時のみ、対応するモ・〜ド・ビットの変更を行う命令
を追加すれば、アドレス拡張ならびにデータ拡張が実現
できるので、過去に蓄積された膨大なプログラムをその
まま実行することはもちろん、若干の修正のみで拡張ア
ドレスで動作させたり、拡張データを扱ったりすること
ができるようになる。以上の結果、アドレス拡張やデー
タ拡張に伴ない必要となるソフトウェアの開発工数を非
常に小さくできるという効果がある。
This has the effect of making it easier to reuse conventional programs and software such as conventional compilers. In other words, (1) the instruction system remains almost the same, and (2) address extension is possible by adding an instruction that changes the corresponding mode bit only when a general-purpose register is used as an extended address or extended data. In addition, since data expansion can be realized, it is possible not only to run a huge amount of programs accumulated in the past as is, but also to operate with extended addresses and handle extended data with only slight modifications. As a result of the above, there is an effect that the number of software development steps required for address expansion and data expansion can be greatly reduced.

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

第1図は情報処理装置の命令形式の説明図、第2図は本
発明の実施例の構成図、第3図はLOAD命令、ADD
命令の動作概要図、第4図はLOAD命令の詳細な動作
図、第5図は汎用レジスタ制御部の回路構成図、第6図
はアドレス計算部の回路構成図、第7図は演算処理部の
回路構成図、第8図はモード・レジスタ制御部の回路構
成図、第9図はモード・レジスタ演算命令の動作の説明
図である。 10・・・汎用レジスタ制御部、11・・・汎用レジス
タ、2o・・・アドレス計算部、25・・・アドレス・
アダー、30・・演算処理部、32,36・・・ALU
、40・・・モード・レジスタ制御部、41・・・モー
ド・レジスタ、23,24,134.38・・・セレク
タ、35・・・モード選択器、39・・・データ拡張器
、143・・・AND回路、144・・・OR回路、1
00・・・命令解析制御部、200・・・命令実行部、
300・・・メモリ冨 1[D 舅 2 口 第 3 図 莱 4  図 不 5 図 しりスフ上刀テ゛−Z 某 δ 圓 メ亡ソ アトレス て 7 図 vg図 メEリ ストア テ゛−7モー1.″ 巳−/ト不 9 (えっ ζ(〕
FIG. 1 is an explanatory diagram of the instruction format of an information processing device, FIG. 2 is a configuration diagram of an embodiment of the present invention, and FIG. 3 is a LOAD instruction, an ADD instruction
Instruction operation overview diagram, Figure 4 is a detailed operation diagram of the LOAD instruction, Figure 5 is a circuit diagram of the general-purpose register control unit, Figure 6 is a circuit diagram of the address calculation unit, and Figure 7 is the arithmetic processing unit. FIG. 8 is a circuit diagram of the mode register control section, and FIG. 9 is an explanatory diagram of the operation of the mode register operation instruction. 10... General-purpose register control unit, 11... General-purpose register, 2o... Address calculation unit, 25... Address...
Adder, 30... Arithmetic processing unit, 32, 36... ALU
, 40...Mode register control unit, 41...Mode register, 23, 24, 134.38...Selector, 35...Mode selector, 39...Data extender, 143...・AND circuit, 144...OR circuit, 1
00... Instruction analysis control unit, 200... Instruction execution unit,
300...Memory depth 1 ″ Sn-/Tofu 9 (Ehζ()

Claims (1)

【特許請求の範囲】[Claims] 汎用レジスタを基本とする命令体系を有する情報処理装
置において、夫々の汎用レジスタの有効長を指示する有
効長指示モード記憶手段と、汎用レジスタを扱う命令の
動作時に汎用レジスタから読み出す情報の長さ、汎用レ
ジスタに書込む情報の長さ、あるいは汎用レジスタを用
いる演算の対象とする情報の長さを、上記のモード記憶
手段に記憶された値に従つて変更する手段とを有するこ
とを特徴とする汎用レジスタの有効長拡張装置。
In an information processing device having an instruction system based on general-purpose registers, an effective length instruction mode storage means for specifying the effective length of each general-purpose register, a length of information read from the general-purpose register when an instruction that handles the general-purpose register is operated, It is characterized by comprising means for changing the length of information to be written into the general-purpose register or the length of information to be subjected to an operation using the general-purpose register, according to the value stored in the mode storage means. Effective length extender for general purpose registers.
JP59206235A 1983-12-23 1984-10-03 Effective length expanding device of general-use register Pending JPS6184735A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP59206235A JPS6184735A (en) 1984-10-03 1984-10-03 Effective length expanding device of general-use register
DE8484115890T DE3479356D1 (en) 1983-12-23 1984-12-20 A data processor with control of the significant bit lenghts of general purpose registers
EP84115890A EP0148478B1 (en) 1983-12-23 1984-12-20 A data processor with control of the significant bit lenghts of general purpose registers
US06/684,785 US4679140A (en) 1983-12-23 1984-12-21 Data processor with control of the significant bit lengths of general purpose registers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59206235A JPS6184735A (en) 1984-10-03 1984-10-03 Effective length expanding device of general-use register

Publications (1)

Publication Number Publication Date
JPS6184735A true JPS6184735A (en) 1986-04-30

Family

ID=16519987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59206235A Pending JPS6184735A (en) 1983-12-23 1984-10-03 Effective length expanding device of general-use register

Country Status (1)

Country Link
JP (1) JPS6184735A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE40498E1 (en) 1993-05-27 2008-09-09 Matsushita Electric Industrial Co., Ltd. Variable address length compiler and processor improved in address management

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE40498E1 (en) 1993-05-27 2008-09-09 Matsushita Electric Industrial Co., Ltd. Variable address length compiler and processor improved in address management
USRE41959E1 (en) 1993-05-27 2010-11-23 Panasonic Corporation Variable address length compiler and processor improved in address management

Similar Documents

Publication Publication Date Title
US6061783A (en) Method and apparatus for manipulation of bit fields directly in a memory source
US4679140A (en) Data processor with control of the significant bit lengths of general purpose registers
JP3203401B2 (en) Data processing device
US6405306B2 (en) Instruction set for bi-directional conversion and transfer of integer and floating point data
JPH06332792A (en) Data processor, data reading control circuit thereof and data writing control circuit
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
JP2847974B2 (en) Data processing device
EP0094535B1 (en) Pipe-line data processing system
JPS5847053B2 (en) data processing equipment
JPH0348536B2 (en)
JP2669158B2 (en) Data processing device
US20020099922A1 (en) Data processing apparatus including a plurality of pipeline processing mechanisms in which memory access instructions are carried out in a memory access pipeline
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
JPS623461B2 (en)
JPH0380336A (en) Operation intensifier for m byte order word cpu of double operating system computer and operation intensifier for register directive type architecture cpu
JP2002229778A (en) Pc relative branching method with high-speed displacement
JPS6212529B2 (en)
JPS60136832A (en) Logical type data processor for handling data having tag
JPS6184735A (en) Effective length expanding device of general-use register
JP2553200B2 (en) Information processing device
JPS60134937A (en) Address extension device
JP2685713B2 (en) Data processing device
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JPH0346045A (en) Address conversion device
JP2987281B2 (en) Processor