JPS63113635A - Data processor - Google Patents

Data processor

Info

Publication number
JPS63113635A
JPS63113635A JP62138123A JP13812387A JPS63113635A JP S63113635 A JPS63113635 A JP S63113635A JP 62138123 A JP62138123 A JP 62138123A JP 13812387 A JP13812387 A JP 13812387A JP S63113635 A JPS63113635 A JP S63113635A
Authority
JP
Japan
Prior art keywords
address
data
length
bit
instruction
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
JP62138123A
Other languages
Japanese (ja)
Other versions
JP2602230B2 (en
Inventor
Toyohiko Kagimasa
豊彦 鍵政
Yoshiki Matsuda
芳樹 松田
Kikuo Takahashi
高橋 喜久雄
Seiichi Yoshizumi
吉住 誠一
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 JP62138123A priority Critical patent/JP2602230B2/en
Publication of JPS63113635A publication Critical patent/JPS63113635A/en
Application granted granted Critical
Publication of JP2602230B2 publication Critical patent/JP2602230B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To facilitate data transfer between a conventional program before address expansion and a program after the address expansion and to secure the compatibility with a conventional data processor by expanding address length without varying data length. CONSTITUTION:When conventional data length is (d) bits long and general register length is (r) bits long, the data length is (d) bits long regardless of the effective length of an operand length and data is processed by a (d)-bit arithmetic means. Further, the data is loaded and stored by a (d)-bit main storage access means. The data is transferred directly between the programs which differ in operand address effective length and the compatibility with the conventional data process is easily secured. Further, the operand address is generated by reading the effective bit length of the operand address out of an (r)-bit general register by an address generating circuit 4 according to the effective length of the operand address. Consequently, main storage addresses which exceed the (d)-bit length can be expanded.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は大容量主記憶を用いるデータ処理に係り、特に
従来のデータ処理装置との互換性を保証しながら主記憶
アドレスを拡張するのに好適なデ−タ処理装置に関する
[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to data processing using a large-capacity main memory, and in particular to expanding main memory addresses while ensuring compatibility with conventional data processing devices. The present invention relates to a suitable data processing device.

〔従来の技術〕[Conventional technology]

データ処理装置の主記憶アドレスを拡張する従来技術は
、アイピーエム社のマニュアル、アイビーエム・システ
ム/370エクステンプイツト・アーキテクチャ・プリ
ンシプルズ・オブ・オペレーション(1983年)第5
−4頁から第5−10頁および第7−1頁から第7−8
頁(I BMSystem/ 370  Pr1nci
ples of 0peration(1983) p
p、5−4〜5−10.PP、7−1〜7−8)におい
て論じられている。この従来技術では、仮想記憶方式を
採り、24ビツトモードと31ビツトモードの2種の仮
想アドレス長モードを持ち、固定小数点データおよび、
論理データなどのデータ長は32ビツトである。汎用レ
ジスタは32ビツト長であり汎用レジスタの全32ビツ
トに対して加算や減算などのデータ演算命令が用意され
ている。アドレス演算命令は用意されていないので、ア
ドレス演算はこのデータ演算命令を用いて実行する。デ
ータ演算命令の実行時には汎用レジスタの全32ビツト
が読み出されて演算が行われ、結果の32ビツトが汎用
レジスタに書き込まれる。オペランドが主記憶にある主
記憶アクセス命令は、命令コード中でオペランドアドレ
スを生成するためのペースレジスタおよびインデクスレ
ジスタとして2本の汎用レジスタを指定する。主記憶ア
クセス仮想アドレスはペースレジスタおよびインデクス
レジスタの内容と命令コード中の変位を加算することに
より生成される。このとき、加算結果のアドレス長を越
える上位の部分は無視されると規定されているため、ふ
つうこの加算は仮想アドレス長モードに応じてペースレ
ジスタおよびインデクスレジスタである汎用レジスタか
ら仮想アドレス要分のみを読み出して実行する。すなわ
ち、24ビツトモードでは汎用レジスタの最下位ビット
から上位へ24ビツト、31ビツトモードでは汎用レジ
スタの最下位ビットから上位へ31ビツトを読み出す。
A conventional technique for expanding the main memory address of a data processing device is described in the IBM System/370 Extemporets Architecture Principles of Operation (1983), Volume 5, manual of IBM Corporation.
- pages 4 to 5-10 and pages 7-1 to 7-8
Page (I BMSystem/ 370 Pr1nci
ples of 0operation (1983) p.
p, 5-4 to 5-10. PP, 7-1 to 7-8). This conventional technology uses a virtual memory method and has two virtual address length modes, a 24-bit mode and a 31-bit mode, and has fixed-point data and
The data length of logical data etc. is 32 bits. The general-purpose register has a length of 32 bits, and data operation instructions such as addition and subtraction are prepared for all 32 bits of the general-purpose register. Since no address operation instruction is provided, address operation is executed using this data operation instruction. When a data operation instruction is executed, all 32 bits of the general-purpose register are read, the operation is performed, and the resulting 32 bits are written to the general-purpose register. A main memory access instruction whose operand is in main memory specifies two general-purpose registers as a pace register and an index register for generating operand addresses in the instruction code. The main memory access virtual address is generated by adding the contents of the pace register and index register and the displacement in the instruction code. At this time, it is specified that the upper part of the addition result that exceeds the address length is ignored, so normally this addition is performed only from the general-purpose registers, which are the pace register and the index register, to the essential parts of the virtual address, depending on the virtual address length mode. Read and execute. That is, in the 24-bit mode, 24 bits are read from the least significant bit of the general-purpose register to the most significant bit, and in the 31-bit mode, 31 bits are read from the least significant bit to the most significant bit of the general-purpose register.

主記憶アクセス命令であるロード命令は仮想アドレス長
モードにかかわらず上記のように生成されたアドレスの
主記憶から、32ビツトのデータを読み出して32ビツ
トの汎用レジスタ全体に書き込む。
The load instruction, which is a main memory access instruction, reads 32-bit data from the main memory at the address generated as described above, regardless of the virtual address length mode, and writes it into the entire 32-bit general-purpose register.

仮想アドレス長モードは処理装置の状態を保持するプロ
グラム状態語と呼ばれるレジスタ内の1ビツトのモード
ピットにより示される。モードピットはモード変更分岐
命令により変更可能であり、モードピットを変更するこ
とにより仮想アドレス長モードが変更される。
The virtual address length mode is indicated by a 1-bit mode pit in a register called the program status word that holds the state of the processing unit. The mode pit can be changed by a mode change branch instruction, and by changing the mode pit, the virtual address length mode is changed.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上記従来技術は、アドレスの拡張幅が大きく拡張アドレ
ス長が拡張前のデータ長すなわち汎用レジスタのビット
長を越える場合については配慮がなされていなかった。
The conventional technology described above does not take into consideration the case where the address extension width is large and the extended address length exceeds the data length before extension, that is, the bit length of the general-purpose register.

その場合従来技術を用いるならば、データ長を拡張アド
レス以上に拡張し、データ演算命令は拡張されたデータ
長に対する演算を実行するようにしなければならない。
In that case, if the conventional technology is used, the data length must be extended beyond the extended address, and the data operation instruction must be made to execute an operation on the extended data length.

データ長を拡張すると、拡張前に作成された従来プログ
ラムと拡張後作成した新プログラムとのデータ授受が困
難になる。例えば、データ長が従来プログラムでは32
ビツト、新プログラムでは64ビツトの場合、従来プロ
グラムから新プログラムにデータを渡すには、32ビツ
ト長のデータを64ビツト長のデータに変換する必要が
ある。したがってデータ長を拡張すると互換性の保証が
難しくなるという問題があった。
When the data length is expanded, it becomes difficult to exchange data between the conventional program created before the expansion and the new program created after the expansion. For example, the data length is 32 in a conventional program.
If the new program is 64 bits, in order to pass data from the conventional program to the new program, it is necessary to convert the 32-bit data to 64-bit data. Therefore, there is a problem in that increasing the data length makes it difficult to guarantee compatibility.

また、主記憶アドレスを拡張する第2の従来技術は、特
公昭60−53895号に記載のように、アドレス拡張
モードが指定され、オペランドアドレスを生成する場合
は、拡張アドレスを生成し、アドレス拡張モードが指定
されていない、または命令アドレスを生成する場合は、
拡張アドレスの拡張された上位部を′0″に設定するよ
うになっていた。
Furthermore, as described in Japanese Patent Publication No. 60-53895, a second conventional technique for extending a main memory address is to generate an extended address and extend the address when the address extension mode is specified and an operand address is to be generated. If mode is not specified or if you want to generate an instruction address, use
The extended upper part of the extended address was set to ``0''.

この従来技術では命令アドレスを拡張しないので、従来
ソフトウェアの変更量を小さくして主記憶アドレスの拡
張が容易となるという利点があった。しかし、アドレス
の拡張幅がデータ長を越える場合については考慮されて
おらず、第1の従来技術と同様の欠点があった。
Since this conventional technique does not extend instruction addresses, it has the advantage that the amount of change in conventional software can be reduced and main memory addresses can be easily expanded. However, the case where the address extension width exceeds the data length is not taken into consideration, and there is a drawback similar to that of the first conventional technique.

本発明の目的は従来のデータ処理装置との互換性を保証
し、かつ効率的に主記憶アドレスを拡張することを可能
とするデータ処理装置を提供することにある。
An object of the present invention is to provide a data processing apparatus that guarantees compatibility with conventional data processing apparatuses and that makes it possible to efficiently expand main memory addresses.

〔問題点を解決するための手段〕[Means for solving problems]

上記目的は、aビットのオペランドアドレスの複数の有
効長のいずれかを指定する手段と、aピット以上のrビ
ットの汎用レジスタ群と、演算命令に応答して演算命令
で指定された単数または複数の第1の汎用レジスタのa
ビットより小さい最下位dビットを読み出して演算を行
いdビットの演算結果を演算命令で指定された第2の汎
用レジスタの最下位dビットに書き込む演算手段と、主
記憶アクセス命令に応答して主記憶アクセス命令で指定
された単数または複数の第3の汎用レジスタからオペラ
ンドアドレスの指定された有効長分を読み出してaビッ
トのオペランドアドレスを生成するアドレス生成手段と
、アドレス生成手段が生成したオペランドアドレスに応
答して主記憶装置からdビットを読み出し主記憶アクセ
ス命令で指定された第4の汎用レジスタに書き込む、ま
たは第4の汎用レジスタの最下位dビットを読み出し主
記憶装置に書き込む主記憶アクセス手段を設けることに
より達成される。
The above purpose is to provide a means for specifying any one of a plurality of effective lengths of an a-bit operand address, a group of r-bit general-purpose registers with a pit or more, and a single or plural number of registers specified by an arithmetic instruction in response to an arithmetic instruction. a of the first general-purpose register of
an arithmetic means that reads the least significant d bits smaller than the bit, performs an operation, and writes the result of the d bit operation to the least significant d bits of a second general-purpose register specified by the arithmetic instruction; Address generation means for generating an a-bit operand address by reading a specified effective length of an operand address from one or more third general-purpose registers specified by a memory access instruction; and an operand address generated by the address generation means. main memory access means that reads d bits from the main memory and writes them to a fourth general-purpose register specified by the main memory access command in response to the main memory, or reads the least significant d bits of the fourth general-purpose register and writes them to the main memory. This is achieved by providing

〔作用〕[Effect]

従来のデータ長をdビット、汎用レジスタ長をrビット
とすると、オペランドアドレスの有効長にかかわらずデ
ータ長はdビットであり、データに対する演算はdビッ
トの演算手段で行い、データのロードおよびストアはd
ビットの主記憶アクセス手段により行われるので異なる
オペランドアドレス有効長のプログラム間で、データを
直接に授受することが可能となり従来データ処理装置と
の互換性の保証が容易である。オペランドアドレスの生
成は、アドレス生成手段がオペランドアドレスの有効長
に応じてrビットの汎用レジスタからオペランドアドレ
スの有効長分のビット長を読み出して行うため、dビッ
トを越える主記憶アドレスの拡張が可能になる。
If the conventional data length is d bits and the general-purpose register length is r bits, the data length is d bits regardless of the effective length of the operand address, operations on data are performed by d-bit arithmetic means, and data is loaded and stored. is d
Since this is performed by bit main memory access means, data can be directly exchanged between programs with different operand address effective lengths, and compatibility with conventional data processing devices can be easily guaranteed. The operand address is generated by the address generation means that reads the bit length corresponding to the effective length of the operand address from the r-bit general-purpose register according to the effective length of the operand address, so it is possible to extend the main memory address beyond d bits. become.

〔実施例〕〔Example〕

以下、本発明の一実施例を第1図から第9図ににより説
明する。本実施例では仮想記憶方式を採り仮想アドレス
長モード(以降アドレスモードと呼ぶ)として、24ビ
ツト、31ビツト、48ビツトの3種のモードを有する
。したがって、オペランドアドレスの有効長もそれぞれ
のモードに合わせて、24ビツト、31ビツト、48ビ
ツトとなる。第9図にアドレスモードごとにアクセス可
能な仮想記憶領域を示す。24ビツトモ一ド時は仮想ア
ドレス0〜224 1の領域201.31ビツトモ一ド
時は0〜231 1の領域202.48ビツトモ一ド時
は0〜24 B −1の領域203にアクセス可能であ
る。データ長はアドレスモードにかかわらず32ビツト
モードである。
An embodiment of the present invention will be described below with reference to FIGS. 1 to 9. This embodiment employs a virtual memory system and has three virtual address length modes (hereinafter referred to as address modes): 24 bits, 31 bits, and 48 bits. Therefore, the effective length of the operand address is 24 bits, 31 bits, or 48 bits depending on each mode. FIG. 9 shows virtual storage areas that can be accessed for each address mode. In the 24-bit mode, it is possible to access the area 201 of virtual addresses 0 to 2241. In the 31-bit mode, it is possible to access the area 202 of virtual addresses 0 to 2311. In the 48-bit mode, it is possible to access the area 203 of virtual addresses 0 to 24B-1. . The data length is 32 bit mode regardless of the address mode.

第1図は本実施例の構成図である。本実施例は、実行す
る命令コードを保持する命令レジスタ1、命令デコーダ
2、プログラム状態語(PSW)3、アドレス演算のビ
ット長を制御するフリップフロップV18、命令コード
からオペランドの実アドレスを生成するアドレス生成回
路4、主記憶装置5、フェッチデータレジスタ6.16
個の64ビツト長汎用レジスタ7.64ビットアドレス
演算回路8.32ビツトデ一タ演算回路9、レジスタ1
0、セレクタ11,20,21、ANDゲート14、O
Rゲート13から成る。第2図は64ビットアドレス演
算回路8の構成図である。64ビットアドレス演算回路
8は64ビット2進固定小数点演算回路51.64ビッ
ト論理演算回路52、セレクタ53.54から成る。第
3図は32ビツトデ一タ演算回路9の構成図である。3
2ビツトデ一タ演算回路9は32ビット2進固定小数点
演算回路61.32ビット論理演算回路62.32ビッ
ト10進演算回路63、セレクタ64.65から成る。
FIG. 1 is a configuration diagram of this embodiment. This embodiment includes an instruction register 1 that holds the instruction code to be executed, an instruction decoder 2, a program state word (PSW) 3, a flip-flop V18 that controls the bit length of address operations, and a real address of the operand that is generated from the instruction code. Address generation circuit 4, main memory 5, fetch data register 6.16
64-bit length general-purpose register 7. 64-bit address calculation circuit 8. 32-bit data calculation circuit 9, register 1
0, selector 11, 20, 21, AND gate 14, O
It consists of an R gate 13. FIG. 2 is a block diagram of the 64-bit address calculation circuit 8. The 64-bit address arithmetic circuit 8 includes a 64-bit binary fixed-point arithmetic circuit 51, a 64-bit logic arithmetic circuit 52, and selectors 53 and 54. FIG. 3 is a block diagram of the 32-bit data calculation circuit 9. As shown in FIG. 3
The 2-bit data calculation circuit 9 includes a 32-bit binary fixed-point calculation circuit 61, a 32-bit logical calculation circuit 62, a 32-bit decimal calculation circuit 63, and selectors 64 and 65.

第4図はアドレス生成回路4の構成図である。アドレス
生成回路4は48ビツトの3人力加算器71.31ビツ
トの3人力加算器72.24ビツトの3人力加算器73
、加算結果を保持するレジスタ74,75.76、セレ
クタ77、仮想アドレスを実アドレスに変換するアドレ
ス変換回路78、実アドレスを保持する実アドレスレジ
スタ79から成る。第5図は本実施例のデータ処理装置
の主記憶アクセス命令の形式であるRX命令形式96を
示している。RX命令形式96はオペレーションコード
(OP)97、第1オペランドレジスタ番号(R)98
.第2オペランド・インデクスレジスタ番号(X)99
、第2オペランド・ペースレジスタ番号(B)100.
12ビツトの第2オペランド変位(D)101から成る
FIG. 4 is a block diagram of the address generation circuit 4. The address generation circuit 4 includes a 48-bit three-man power adder 71, a 31-bit three-man power adder 72, and a 24-bit three-man power adder 73.
, registers 74, 75, and 76 that hold addition results, a selector 77, an address conversion circuit 78 that converts virtual addresses into real addresses, and a real address register 79 that holds real addresses. FIG. 5 shows an RX command format 96 which is the format of the main memory access command of the data processing device of this embodiment. RX instruction format 96 has operation code (OP) 97 and first operand register number (R) 98.
.. 2nd operand index register number (X) 99
, second operand pace register number (B) 100.
It consists of a 12-bit second operand displacement (D) 101.

第6図は演算命令の形式であるRR命令形式102を示
している。RR命令形式102はオペレーションコード
(OP)103.第1オペランド・レジスタ番号(R1
)104、第2オペランド・レジスタ番号(R2)10
5から成る。プログラム状態語3は、アドレスモードを
制御するビット(Al)16および(A2)17を有す
る。
FIG. 6 shows an RR instruction format 102 which is the format of an arithmetic instruction. The RR instruction format 102 has an operation code (OP) 103. First operand register number (R1
) 104, second operand register number (R2) 10
Consists of 5. Program status word 3 has bits (Al) 16 and (A2) 17 that control the address mode.

ビットAI、16.A2,17が(0,0)のとき24
ビツトモード、(1,0)のとき31ビツトモード、(
0,1)または(1,1)のとき48ビツトモードをあ
られす。フリップフロップV18が0のときアドレス演
算命令およびアクセス対象がアドレスである主記憶アク
セス命令の対象ビット長はアドレスモードにかかわらず
64ビツトであり、フリップフロップV18が1のとき
対象ビット長は24ビツトモードと31ビツトモードな
らば32ビツト、48ビツトモードならば64ビツトを
あられす。
Bit AI, 16. 24 when A2,17 is (0,0)
bit mode, (1,0), 31 bit mode, (
0,1) or (1,1) indicates 48-bit mode. When flip-flop V18 is 0, the target bit length of address operation instructions and main memory access instructions whose access target is an address is 64 bits regardless of the address mode, and when flip-flop V18 is 1, the target bit length is 24 bit mode. If you are in 31-bit mode, you can use 32 bits, and if you are in 48-bit mode, you can use 64 bits.

次に本実施例の動作を説明する。まず本実施例のデータ
処理装置の命令について説明する。本実施例では仮想ア
ドレスを計算するために汎用レジスタ間の演算を行うア
ドレス演算命令と、データを計算するために汎用レジス
タ間の演算を行うデータ演算命令と、主記憶装置と汎用
レジスタ間のデータ転送を行う主記憶アクセス命令を有
する。
Next, the operation of this embodiment will be explained. First, the commands of the data processing device of this embodiment will be explained. In this example, there are address operation instructions that perform operations between general-purpose registers to calculate virtual addresses, data operation instructions that perform operations between general-purpose registers to calculate data, and data operations between main memory and general-purpose registers. It has a main memory access instruction that performs transfer.

アドレス演算命令はRR命令形式102を持ち、命令の
例としては符号なし2進固定小数点加算命令(ADDA
命令)がある。データ演算命令はRR命令形式102を
持ち、命令の例としては符号あり2進固定小数点加算命
令(ADD命令)がある。主記憶アクセス命令はRX命
令形式96を持ち、命令の例として、データをアクセス
対象とするデータロード命令(L命令)、データストア
命令(ST全命令、アドレスをアクセス対象とするアド
レスロード命令(LA命令)、アドレスストア命令(S
TA命令)がある。
The address operation instruction has the RR instruction format 102, and an example of an instruction is an unsigned binary fixed-point addition instruction (ADDA).
command). The data operation instruction has the RR instruction format 102, and an example of the instruction is a signed binary fixed-point addition instruction (ADD instruction). The main memory access instruction has an RX instruction format 96, and examples of the instruction include a data load instruction (L instruction) that accesses data, a data store instruction (ST all instructions, and an address load instruction (LA instruction) that accesses an address. instruction), address store instruction (S
There is a TA command).

次に主記憶アクセス命令実行時の本実施例の動作を説明
する。主記憶アクセス命令の実行が開始されると命令コ
ードが命令レジスタ1にセットされる。命令デコーダ2
は命令レジスタ1内のRX命令形式96.主記憶アクセ
ス命令のオペレーションコード97をデコードして信号
線○C36にオペレーションコード97をセットする。
Next, the operation of this embodiment when a main memory access instruction is executed will be explained. When execution of a main memory access instruction is started, an instruction code is set in instruction register 1. Instruction decoder 2
is the RX instruction format 96. in instruction register 1. The operation code 97 of the main memory access instruction is decoded and the operation code 97 is set on the signal line ○C36.

また、主記憶アクセス命令であることを示す信号縦MA
45を1にセットし、L命令やST全命令どのアクセス
対象がデータである命令の場合は信号線Al39を0に
セットし、LA命令やSTA命令などのアクセス対象が
アドレスである命令の場合は信号線Al39を1にセッ
トする。アドレス生成回路4は命令レジスタ1内RX命
令形式96のXフィールド99およびBフィールド10
0が指す2本の汎用レジスタ7 (それぞれインデクス
レジスタウペースレジスタと呼ぶ)とDフィールド10
1の値を加算して、オペランドアドレスを生成する。こ
の加算では3種類ビット長の異なる加算器71,72.
73の加算結果のうちいずれか一つをアドレスモードを
示す信号線AM37により第7図に示すように選択する
。すなわち、信号線AM37が(0,O)で24ビツト
モードを示す場合は、インデクスレジスタおよびペース
レジスタとして指定された2本の汎用レジスタ7の最下
位24ビツトを読み出し、それらと命令レジスタ1の1
2ビツトのDフィールド101の値を24ビツト加算器
73により加算する。加算した結果は上位0を補って4
8ビツトのレジスタ76にセットされ、セレクタ77に
より選択され、アドレス変換回路78に送られる。信号
線AM37が(i、o)で31ビツトモードを示す場合
は汎用レジスタ7の最下位31ビツトを読み出し31ビ
ツト加算器72より加算された結果がセレクタ77によ
り選択される。信号線AM37が(0゜1)または(1
,1)で48ビツトモードを示す場合は汎用レジスタ7
の最下位48ビツトを読み出し48ビツト加算l!s7
1により加算された結果がセレクタ77により選択され
た。アドレス変換回路78はセレクタ77により選択さ
れた加算結果すなわち仮想アドレスであるオペランドア
ドレスを実アドレスに変換し、実アドレスレジスタ79
に実アドレスをセットする。L命令やLA命令のロード
命令の場合はその後主記憶装置は実アドレスレジスタ7
9の実アドレスに対応する主記憶の内容をフェッチデー
タレジスタ6にセットする。信号線LS、46が1なら
ばフェッチデータ長は64ビツトであり、フェッチデー
タの上位32ビツトおよび下位32ビツトすセレクタ2
1でセレクトされ、それぞれ線83.84を介してフェ
ッチデータレジスタ6に書き込まれる。信号LSがOな
らばフェッチデータは32ビツトであり、フェッチデー
タはセレクタ21によりセレクトされて線84を介して
フェッチデータレジスタ6の下位32ビツトに書き込ま
れるフェッチングレジスタ6の内容は64ビットアドレ
ス演算回路8または32ビツトデ一タ演算回路9を経由
してRX命令形式96のRフィールド98で指定された
汎用レジスタ7に書き込まれる。このとき32ビツトの
データの場合はレジスタ10で上位に32ビツトの0を
付加して汎用レジスタ7に書き込まれる。セレクタは、
信号LSが1かOかにより、演算器8の出力34とレジ
スタ10の出力49を選択する。ST命令やSTA命令
の場合は同様に汎用レジスタ7から主記憶装置にセレク
タ11と21を介してデータやアドレスが書き込まれる
。セレクタ20は信号LSが1のときは線80の上位3
2ビツト、下位32ビツトを選択してそれぞれ線85.
88を介して主記憶袋@5に送り、信号LSがOのとき
には!80上の下位32ビツトを線85に送る。
In addition, a signal vertical MA indicating that it is a main memory access command is
45 to 1, and set the signal line Al39 to 0 for instructions whose access target is data, such as L instruction and ST all instructions, and set signal line Al39 to 0 for instructions whose access target is address, such as LA instruction and STA instruction. Set the signal line Al39 to 1. The address generation circuit 4 generates an X field 99 and a B field 10 of the RX instruction format 96 in the instruction register 1.
The two general-purpose registers 7 pointed to by 0 (each called an index register uppace register) and the D field 10
Add a value of 1 to generate an operand address. In this addition, three types of adders 71, 72 .
One of the 73 addition results is selected as shown in FIG. 7 by the signal line AM37 indicating the address mode. That is, when the signal line AM37 is (0, O) indicating the 24-bit mode, the lowest 24 bits of the two general-purpose registers 7 designated as the index register and the pace register are read out, and they and 1 of the instruction register 1 are read out.
The value of the 2-bit D field 101 is added by a 24-bit adder 73. The result of addition is 4 by supplementing the top 0.
It is set in an 8-bit register 76, selected by a selector 77, and sent to an address conversion circuit 78. When the signal line AM37 indicates the 31-bit mode (i, o), the lowest 31 bits of the general-purpose register 7 are read out and the result added by the 31-bit adder 72 is selected by the selector 77. Signal line AM37 is (0°1) or (1
, 1) indicates 48-bit mode, general-purpose register 7
Read the lowest 48 bits and add 48 bits l! s7
The result of addition by 1 was selected by the selector 77. The address conversion circuit 78 converts the addition result selected by the selector 77, that is, the operand address which is a virtual address, into a real address, and converts the operand address selected by the selector 77 into a real address register 79.
Set the real address to . In the case of a load instruction such as an L instruction or an LA instruction, the main memory then uses the real address register 7.
The contents of the main memory corresponding to the real address 9 are set in the fetch data register 6. If the signal line LS, 46 is 1, the fetch data length is 64 bits, and the selector 2 selects the upper 32 bits and lower 32 bits of the fetch data.
1 and written to the fetch data register 6 via lines 83 and 84, respectively. If the signal LS is O, the fetch data is 32 bits, and the fetch data is selected by the selector 21 and written to the lower 32 bits of the fetch data register 6 via the line 84.The contents of the fetch register 6 are 64-bit address operations. It is written to the general-purpose register 7 designated by the R field 98 of the RX instruction format 96 via the circuit 8 or the 32-bit data calculation circuit 9. At this time, in the case of 32-bit data, 32 bits of 0 are added to the upper part of the data in register 10, and the data is written to general-purpose register 7. The selector is
Depending on whether the signal LS is 1 or O, the output 34 of the arithmetic unit 8 and the output 49 of the register 10 are selected. In the case of an ST instruction or an STA instruction, data and addresses are similarly written from the general-purpose register 7 to the main memory device via selectors 11 and 21. When the signal LS is 1, the selector 20 selects the upper three of the lines 80.
2 bits and the lower 32 bits are selected and line 85.
88 to the main memory bag @5, and when the signal LS is O! The lower 32 bits on line 80 are sent to line 85.

なお、主記憶装置5は信号LSが1のときには64ビツ
トのデータの書き込み又は読み出しを行い、信号LSが
0のときには32ビツトのデータの読み出し又は書き込
みを行うものである。信号線LS46は扱う対象が32
ビツトのデータか64ビツト、のアドレスかを示すもの
で、プログラム状態語のビットとゲート13.14から
第8図に示すように値が決定される。
The main memory device 5 writes or reads 64-bit data when the signal LS is 1, and reads or writes 32-bit data when the signal LS is 0. The signal line LS46 handles 32 targets.
This indicates whether it is bit data or a 64-bit address, and the value is determined from the bits of the program status word and gates 13 and 14 as shown in FIG.

次に、データ演算命令およびアドレス演算命令実行時の
本実施例の動作を説明する。命令の実行が開始されると
命令コードが命令レジスタ1にセットされる。命令デコ
ーダ2は命令レジスタ1内のRR命令形式102命令の
オペレーションコード103をデコードして信号gOc
36にオペレーションコード103をセットする。また
、主記憶アクセス命令でないことを示すため信号線MA
45を0にビットし、アドレス演算命令の場合は信号線
AIを1に、データ演算命令の場合は0にセットする。
Next, the operation of this embodiment when a data operation instruction and an address operation instruction are executed will be explained. When execution of an instruction is started, an instruction code is set in instruction register 1. The instruction decoder 2 decodes the operation code 103 of the RR instruction format 102 instruction in the instruction register 1 and outputs the signal gOc.
Set operation code 103 to 36. Also, to indicate that this is not a main memory access command, the signal line MA
45 is set to 0, and the signal line AI is set to 1 in the case of an address operation instruction, and to 0 in the case of a data operation instruction.

32ビツトデ一タ演算回路9はRR命令形式102のR
1フィールド104とR2フィールド105で指定され
た2本の汎用レジスタ7の最下位32ビツトを読み出し
て信号線○C36で指定された演算を実行してその結果
をレジスタ10に上位32ビツト0を付加してセットす
る。64ビットアドレス演算回路8はRR命令形式10
2のR1フィールド104とR2フィールド105で指
定された2本の汎用レジスタ7の全64ビツトを読み出
して信号線0C36で指定された演算を実行する。セレ
クタ11は信号線L346が1ならば64ビットアドレ
ス演算回路8の出力を汎用レジスタ7に書き込み、信号
線L846が0ならばレジスタ10の出力を汎用レジス
タ7に書き込む。
The 32-bit data arithmetic circuit 9 uses the R of the RR instruction format 102.
Reads the lowest 32 bits of the two general-purpose registers 7 specified by the 1 field 104 and the R2 field 105, executes the operation specified by the signal line ○C36, and adds 0 to the upper 32 bits of the result to the register 10. and set it. 64-bit address calculation circuit 8 uses RR instruction format 10
All 64 bits of the two general-purpose registers 7 specified by the R1 field 104 and R2 field 105 of 2 are read out and the operation specified by the signal line 0C36 is executed. The selector 11 writes the output of the 64-bit address calculation circuit 8 to the general-purpose register 7 if the signal line L346 is 1, and writes the output of the register 10 to the general-purpose register 7 if the signal line L846 is 0.

プログラム状態語3のモードピット16.17の変更は
旧モードピットの退避と新モードピットの設定を行う分
岐命令を実行することにより行われる。
The mode pits 16 and 17 of program status word 3 are changed by executing a branch instruction that saves the old mode pit and sets a new mode pit.

また、フリッププロップV18の変更は専用の読み出し
命令および書き込みを用いて行われる。
Additionally, changes to flip-flop V18 are performed using dedicated read and write commands.

これらの命令は本発明にとって必須のものではないため
くわしい説明は省略する。
Since these instructions are not essential to the present invention, detailed explanations will be omitted.

本実施例では、データを汎用レジスタに書き込むときに
、汎用レジスタのデータ長より上位部は0にセットされ
るので、アドレス拡張前の従来プログラムとアドレス拡
張後の新プロdラム間のアドレス授受では従来プログラ
ムのデータ演算結果をそのまま新プログラムのアドレス
として使用することが可能となり、従来データ処理装置
との互換性の保証が容易となる。また、データ長を越え
るビット長のアドレス演算が可能であるため、アドレス
を上位と下位に分け2度データ演算を行うのにくらべ高
速にアドレス演算が行える。また、主記憶装置と汎用レ
ジスタ間のロードおよびストアをデータ長より大きい汎
用レジスタ長で行えるため、アドレスデータを上位と下
位に分け2度データロードおよびデータストアを行うの
にくらべ高速にアドレスデータのロードおよびストアが
行える。また、アドレスモードにかかわらずアドレス演
算器およびアドレスデータのロード・ストア長を一定に
すれば、データ長以下のアドレスモードのプログラムで
データ長を越えるアドレスの演算やロードおよびストア
が可能になるため、データ長以下のアドレスモードとデ
ータ長を越えるアドレスモードの間でデータ長を越える
アドレスの授受が可能となり、互換性の保証が容易とな
る。
In this embodiment, when writing data to a general-purpose register, the upper part of the data length of the general-purpose register is set to 0, so that the address exchange between the conventional program before address extension and the new program after address extension is It becomes possible to use the data calculation result of the conventional program as it is as the address of the new program, and it becomes easy to guarantee compatibility with the conventional data processing device. Furthermore, since it is possible to perform address calculations with a bit length that exceeds the data length, address calculations can be performed faster than when data calculations are performed twice by dividing the address into upper and lower parts. In addition, since loads and stores between the main memory and general-purpose registers can be performed using a general-purpose register length that is larger than the data length, address data can be loaded and stored faster than when loading and storing address data twice, dividing it into upper and lower parts. Can be loaded and stored. Furthermore, if the address arithmetic unit and address data load/store length are made constant regardless of the address mode, a program with an address mode less than the data length can calculate, load, and store addresses exceeding the data length. Addresses that exceed the data length can be exchanged between an address mode that is less than the data length and an address mode that exceeds the data length, making it easier to guarantee compatibility.

また、アドレスモードに応じてアドレス演算器およびア
ドレスのロード・ストア長を変更すれば、データ長以下
のアドレスをデータ長を越えるアドレス演算手段で演算
したり、データ長を越える主記憶アクセス手段でロード
およびストアすることがなくなり、アドレス演算とアド
レスのロードおよびストアが高速に行える。
In addition, by changing the address arithmetic unit and address load/store length according to the address mode, it is possible to calculate addresses less than the data length with an address arithmetic means that exceeds the data length, or to load addresses that are less than the data length with an address arithmetic means that exceeds the data length. There is no longer a need to store and store addresses, and address calculations and address loads and stores can be performed at high speed.

本発明の実施例の他の構成の一つとして、上記実施例の
アドレス生成回路4の加算器を48ビツト長のもの一個
とし、24ビツトモードおよび31ビツトモードの場合
は加算結果の最下位24ビツトおよび31ビツトを使用
する。また、64ビットアドレス演算回路8と32ビツ
トデ一タ演算回路9のかわりに64ビツトデ一タ演算回
路を設けて32ビツトデータ演算は64ビツトの演算結
果の最下位32ビツトを使用する構成が考えられるが、
上記実施例では32ビツト長の演算高速性を重視して演
算器を別車てとした。
As one of the other configurations of the embodiment of the present invention, the address generation circuit 4 of the above embodiment has one adder with a length of 48 bits, and in the case of the 24-bit mode and the 31-bit mode, the lowest 24 bits of the addition result and Use 31 bits. Furthermore, a configuration can be considered in which a 64-bit data calculation circuit is provided in place of the 64-bit address calculation circuit 8 and the 32-bit data calculation circuit 9, and the lowest 32 bits of the 64-bit calculation result are used for 32-bit data calculation. but,
In the above embodiment, a separate arithmetic unit was used with emphasis on high-speed calculation of 32-bit length.

また、本発明の第2の実施例として上記第1の実施例の
64ビットアドレス演算回路8を48ビツト長としてア
ドレス演算はすべて48ビツト長とするものが考えられ
るが、上記第1の実施例では、汎用レジスタの48ビツ
トより上位の16ビツトの部分のアドレスではないデー
タに対しても同時に演算可能とするために64ビツト長
とした。
Furthermore, as a second embodiment of the present invention, the 64-bit address calculation circuit 8 of the first embodiment may have a length of 48 bits, and all address calculations may have a length of 48 bits. Here, the length is set to 64 bits in order to be able to perform simultaneous operations on data that is not an address in the 16 bits higher than the 48 bits of the general purpose register.

さらに本発明の第3の実施例として上記第1の実施例の
フリップフロップV18を除いて、常にアドレス演算お
よびアドレスを対象とする主記憶アクセスを64ビツト
長にする実施例も考えられる。この場合、24ビツトモ
ードおよび32ビツトモードのアドレス演算は遅くなる
可能性があるが本発明の主要な効果には全く影響がない
Furthermore, as a third embodiment of the present invention, an embodiment may be considered in which, except for the flip-flop V18 of the first embodiment, address calculations and main memory accesses for addresses are always made to have a length of 64 bits. In this case, address operations in 24-bit mode and 32-bit mode may become slower, but this has no effect on the main effect of the present invention.

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

本発明によれば、データ長は同一のままアドレス長を拡
張できるので、アドレス拡張前の従来プログラムとアド
レス拡張後のプログラム間のデータ授受が容易であり、
従来データ処理装置との互換性の保証が可能となる。
According to the present invention, since the address length can be extended while keeping the data length the same, it is easy to transfer data between a conventional program before address extension and a program after address extension.
Compatibility with conventional data processing devices can be guaranteed.

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

第1図は本発明の一実施例の構成図、第2図は同実施例
の64ビットアドレス演算回路の構成図、第3図は同実
施例の32ビツトデ一タ演算回路の構成図、第4図は同
実施例のアドレス生成回路の構成図、第5図は同実施例
のRX命令形式の構成図、第6図は同実施例のRR命令
形式の構成図、第7図はアドレス生成回路セレクタの動
作表、第8図は演算結果セレクタの動作表である。第9
図は同実施例のアドレスモードにおける仮想記憶領域図
である。 3・・・プログラム状態語、7・・・汎用レジスタ、4
・・・アドレス生成回路、8・・・64ビットアドレス
演算回路、9・・・32ビツトデ一タ演算回路、11・
・・セレクタ、5・・・主記憶装置。 $1図 子2m *zI!1 竿91!1
FIG. 1 is a block diagram of an embodiment of the present invention, FIG. 2 is a block diagram of a 64-bit address calculation circuit of the same embodiment, FIG. 3 is a block diagram of a 32-bit data calculation circuit of the same embodiment, and FIG. Fig. 4 is a block diagram of the address generation circuit of the same embodiment, Fig. 5 is a block diagram of the RX instruction format of the same embodiment, Fig. 6 is a block diagram of the RR instruction format of the same embodiment, and Fig. 7 is the address generation circuit. FIG. 8 is an operation table of the circuit selector. 9th
The figure is a diagram of a virtual storage area in the address mode of the same embodiment. 3...Program status word, 7...General-purpose register, 4
...Address generation circuit, 8...64-bit address calculation circuit, 9...32-bit data calculation circuit, 11.
... Selector, 5... Main memory device. $1 Zuko 2m *zI! 1 rod 91!1

Claims (1)

【特許請求の範囲】 1、主記憶装置と、 第1のビット長又はそれより短かい少くとも一つの第2
のビット長から選んだビット長をアドレス長として指定
する手段と、 該第1のビット長以上の第3のビット長をそれぞれ有す
る複数のレジスタと、 命令で指定された演算を、該複数のレジスタ内の、命令
で指定された第1のレジスタに保持された又は該主記憶
装置から読み出された第1のデータに対して実行し、演
算結果としての第2のデータを該命令で指定された第2
のレジスタ又は該主記憶装置に供給するものであって、
該第1のデータの有効桁長および該第2のデータの有効
桁長は、その第1の動作モードでは該第1のビット長以
上でありその第2の動作モードでは第1のビット長より
短かい第4のビット長を有する演算手段と、 命令で指定された第3のレジスタに保持された第3のデ
ータの内、該指定手段で指定されたアドレス長に等しい
ビット長部分に応答して該第1のビット長のアドレスを
発生して該主記憶装置をアクセスするものであって、そ
の第1の動作モードでは少くとも上記第1のビット長を
有するデータを、その第2の動作モードでは、上記第4
のビット長を有するデータを、該主記憶装置と該演算手
段と該複数のレジスタの一つのいずれかと該主記憶装置
との間で転送可能ならしめるアクセス手段と、 命令に応答して該演算手段又は該アクセス手段の動作モ
ードを制御する手段とを有するデータ処理装置。
[Claims] 1. A main memory device, and at least one second memory device having a first bit length or shorter.
means for specifying a bit length selected from among the bit lengths as an address length; a plurality of registers each having a third bit length greater than or equal to the first bit length; is executed on the first data held in the first register specified by the instruction or read from the main storage device, and the second data as the operation result is specified by the instruction. second
a register or a main storage device,
The effective digit length of the first data and the effective digit length of the second data are greater than or equal to the first bit length in the first operation mode and less than the first bit length in the second operation mode. an arithmetic means having a short fourth bit length, and responding to a bit length portion equal to the address length specified by the specifying means among the third data held in the third register specified by the instruction; to access the main memory by generating an address with the first bit length, and in the first operation mode, data having at least the first bit length is accessed in the second operation. In mode, the fourth
access means that enables data having a bit length of 1 to be transferred between the main memory, the arithmetic means, one of the plurality of registers and the main memory; and the arithmetic means in response to an instruction. or means for controlling the operation mode of the access means.
JP62138123A 1986-06-04 1987-06-03 Data processing device Expired - Lifetime JP2602230B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62138123A JP2602230B2 (en) 1986-06-04 1987-06-03 Data processing device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP61-127918 1986-06-04
JP12791886 1986-06-04
JP62138123A JP2602230B2 (en) 1986-06-04 1987-06-03 Data processing device

Publications (2)

Publication Number Publication Date
JPS63113635A true JPS63113635A (en) 1988-05-18
JP2602230B2 JP2602230B2 (en) 1997-04-23

Family

ID=26463746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62138123A Expired - Lifetime JP2602230B2 (en) 1986-06-04 1987-06-03 Data processing device

Country Status (1)

Country Link
JP (1) JP2602230B2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60134937A (en) * 1983-12-23 1985-07-18 Hitachi Ltd Address extension device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60134937A (en) * 1983-12-23 1985-07-18 Hitachi Ltd Address extension device

Also Published As

Publication number Publication date
JP2602230B2 (en) 1997-04-23

Similar Documents

Publication Publication Date Title
US4868740A (en) System for processing data with multiple virtual address and data word lengths
US4361868A (en) Device for increasing the length of a logic computer address
US4679140A (en) Data processor with control of the significant bit lengths of general purpose registers
JPH07152733A (en) Computer system and method for processing vector data
JPH0248931B2 (en)
EP0772819B1 (en) Apparatus and method for efficiently determining addresses for misaligned data stored in memory
JPH0414385B2 (en)
US4691282A (en) 16-bit microprocessor system
JP2551167B2 (en) Microcomputer
JPS59114677A (en) Vector processor
JPS63113635A (en) Data processor
JPS6120889B2 (en)
JPH0192851A (en) Switching device for address space
JPS623338A (en) Direct value processing system
US6321319B2 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
JPH02126321A (en) Decoder for instruction code
JPH01177145A (en) Information processor
JP2743947B2 (en) Micro program control method
JPH07110769A (en) Vliw type computer
JP3345050B2 (en) Two-dimensional array type memory system
JPS59106047A (en) Microcomputer
JP3124361B2 (en) Memory data loading device
JP2696578B2 (en) Data processing device
JPS60241135A (en) Address producing system
JPH06332701A (en) Information processor