JPH05204635A - Register control system - Google Patents

Register control system

Info

Publication number
JPH05204635A
JPH05204635A JP1157792A JP1157792A JPH05204635A JP H05204635 A JPH05204635 A JP H05204635A JP 1157792 A JP1157792 A JP 1157792A JP 1157792 A JP1157792 A JP 1157792A JP H05204635 A JPH05204635 A JP H05204635A
Authority
JP
Japan
Prior art keywords
register
general
architecture
width
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1157792A
Other languages
Japanese (ja)
Other versions
JP2686011B2 (en
Inventor
Takumi Takeno
巧 竹野
Takahito Noda
敬人 野田
Yuji Kamisaka
裕士 神阪
Kazuyasu Nonomura
一泰 野々村
Toru Watabe
徹 渡部
Takumi Maruyama
拓巳 丸山
Shinya Kato
慎哉 加藤
Chiyonsuwannapaisaan Poonshiyai
ポーンシャイ・チョンスワンナパイサーン
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4011577A priority Critical patent/JP2686011B2/en
Publication of JPH05204635A publication Critical patent/JPH05204635A/en
Application granted granted Critical
Publication of JP2686011B2 publication Critical patent/JP2686011B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To speed up processing applied to different architecture parts by making it possible to execute the architecture parts having respectively different register sizes by the same hardware, allowing both architecture parts to share mutual register data, and eliminating the necessity of the saving/restoring operation of registers at the time of switching respective architecture parts in respect to a register control system for controlling registers to be used by respective architecture parts. CONSTITUTION:This register control system is provided with a register address conversion means 2 for converting the register numbers of instructions applied from respective architecture parts having respectively different register width into a common register number, and a general register 3 having the same width as larger width out of the different register width values of respective architecture parts and constituted so that the means 2 converts the address of an instruction outputted from the architecture part whose execution is specified into a common register number and the register 3 is accessed by the converted register number.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、異なるアーキテクチャ
の使用するレジスタを制御するレジスタ制御方式に関す
るものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a register control system for controlling registers used by different architectures.

【0002】[0002]

【従来の技術】従来、異なる2つのアーキテクチャを1
つのプロセッサでサポートする場合、汎用レジスタの構
成についてアーキテクチャ毎にハード自身を別々に設
け、各アーキテクチャ毎に割り当てることが考えられ
る。あるいはハード自身は共有化し、アーキテクチャを
切り換えた際に、汎用レジスタの内容を全てセーブし、
元のアーキテクチャに戻したときにリストアすることが
考えられる。
2. Description of the Related Art Conventionally, two different architectures have been
In the case of support by one processor, it is conceivable that the hardware itself is separately provided for each architecture and the architecture of the general-purpose register is allocated for each architecture. Alternatively, the hardware itself is shared, and when the architecture is switched, the contents of all general-purpose registers are saved,
It is possible to restore it when returning to the original architecture.

【0003】[0003]

【発明が解決しようとする課題】上述した異なるアーキ
テクチャを1つのLSI上で実現しようとする場合、前
者のそれぞれのアーキテクチャ毎に汎用レジスタを設け
たのでは、ハード量が増大してしまい、入り切らない事
態が生じるという問題がある。
When the different architectures described above are to be realized on one LSI, providing a general-purpose register for each of the former architectures would increase the amount of hardware, resulting in an incompatibility. There is a problem that there is no situation.

【0004】また、後者の1つの汎用レジスタを2つの
アーキテクチャで共有して1つのLSI上で実現しよう
とした場合、アーキテクチャが切り替わる毎に、汎用レ
ジスタの内容も全てセーブ/リストアする必要が出てく
るため、実行時間のロスによる性能低下を引き起こすと
いう問題がある。
When the latter one general-purpose register is shared by two architectures to be realized on one LSI, it is necessary to save / restore all the contents of the general-purpose register every time the architecture is switched. Therefore, there is a problem that performance is deteriorated due to a loss of execution time.

【0005】本発明は、これらの問題を解決するため、
異なるアーキテクチャのレジスタ番号を共通化するレジ
スタアドレス変換手段を設け、異なるレジスタサイズを
持つアーキテクチャを同一ハードウェア上で実行可能に
すると共に、アーキテクチャ相互でレジスタのデータの
共有を行ってアーキテクチャ切り替え時のレジスタのセ
ーブ/リストアを無くし、アーキテクチャ間に跨がる処
理の高速化を図ることを目的としている。
The present invention solves these problems.
A register address conversion unit for commonizing register numbers of different architectures is provided so that architectures having different register sizes can be executed on the same hardware, and register data is shared between architectures to register registers when switching architectures. The purpose is to eliminate the save / restore of, and to speed up the process across architectures.

【0006】[0006]

【課題を解決するための手段】図1は、本発明の原理構
成図を示す。図1において、レジスタアドレス変換手段
2は、レジスタ幅が異なるアーキテクチャの命令のレジ
スタ番号を共通のレジスタ番号に変換するものである。
FIG. 1 is a block diagram showing the principle of the present invention. In FIG. 1, the register address conversion means 2 converts the register number of an instruction of an architecture having a different register width into a common register number.

【0007】汎用レジスタ3は、異なるアーキテクチャ
のレジスタ幅のうちの大きい幅を持つレジスタである。
書込手段4は、汎用レジスタ3にデータを書き込むもの
である。
The general-purpose register 3 is a register having a large width among the register widths of different architectures.
The writing unit 4 writes data in the general-purpose register 3.

【0008】読出手段5は、汎用レジスタ3からデータ
を読み出すものである。
The reading means 5 reads data from the general-purpose register 3.

【0009】[0009]

【作用】本発明は、図1に示すように、レジスタアドレ
ス変換手段2が実行指示されたアーキテクチャの命令の
アドレスを共通のレジスタ番号に変換し、この変換した
後のレジスタ番号によって汎用レジスタ3をアクセスす
るようにしている。
According to the present invention, as shown in FIG. 1, the register address conversion means 2 converts the address of the instruction of the architecture instructed to be executed into a common register number, and the general register 3 is converted by the converted register number. I try to access it.

【0010】また、レジスタアドレス変換手段2が書込
み指示されたレジスタ幅の小さいアーキテクチャの命令
のアドレスを、詰めた共通のレジスタ番号に変換し、こ
の変換した後のレジスタ番号によって、汎用レジスタ3
から読出手段5によって読み出したデータの一部と書き
込もうとするデータとを一緒にして書込手段4が汎用レ
ジスタ3に書き込むようにしている。
Further, the register address conversion means 2 converts the address of the architecture-instructed instruction having a small register width into a common register number that has been packed, and the general register 3 is converted by the converted register number.
The writing means 4 writes the part of the data read by the reading means 5 and the data to be written into the general-purpose register 3 together.

【0011】また、レジスタアドレス変換手段2が読み
出し指示されたレジスタ幅の小さいアーキテクチャの命
令のアドレスを、詰めた共通のレジスタ番号に変換し、
この変換した後のレジスタ番号によって、読出手段5が
汎用レジスタ3から読み出したデータについて、元のレ
ジスタ幅のデータに整列して出力するようにしている。
Further, the register address converting means 2 converts the address of the instruction of the architecture instructed to be read out having a small register width into a packed common register number,
The data read from the general-purpose register 3 by the reading means 5 is aligned with the data of the original register width and output based on the converted register number.

【0012】また、変換した共通のレジスタ番号のう
ち、両者のアーキテクチャによって共有するレジスタ番
号のレジスタを、両者間でデータ授受のレジスタとして
使用し、高速化を図るようにしている。
Further, among the converted common register numbers, a register having a register number shared by both architectures is used as a data transfer register between the two in order to increase the speed.

【0013】従って、異なるアーキテクチャのレジスタ
番号を共通化するレジスタアドレス変換手段2を設ける
ことにより、異なるレジスタサイズを持つアーキテクチ
ャを同一ハードウェア上で実行することが可能となる。
また、アーキテクチャ相互で共有するレジスタのデータ
の共有を行ってアーキテクチャ切り替え時のレジスタの
セーブ/リストアを無くすことにより、アーキテクチャ
間に跨がる処理の高速化を図ることが可能となる。
Therefore, by providing the register address conversion means 2 for making register numbers of different architectures common, architectures having different register sizes can be executed on the same hardware.
In addition, by sharing the data of the registers shared by the architectures and eliminating the save / restore of the registers when switching the architectures, it is possible to speed up the processing across the architectures.

【0014】[0014]

【実施例】次に、図1から図3を用いて本発明の実施例
の構成および動作を順次詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the construction and operation of an embodiment of the present invention will be sequentially described in detail with reference to FIGS.

【0015】図1は、本発明の原理構成図を示す。図1
の(a)は、構成図を示す。図1の(a)において、バ
ッファ1は、命令を保持するものである。ここでは、異
なるアーキテクチャA、B毎にバッファ1を設ける。こ
のバッファ1に保持された命令のうちの、汎用レジスタ
3を使用するREGの部分を取り出し、レジスタアドレ
ス変換手段2に入力し、共通のレジスタ番号に変換する
ようにしている。
FIG. 1 is a block diagram showing the principle of the present invention. Figure 1
(A) shows a configuration diagram. In FIG. 1A, the buffer 1 holds an instruction. Here, the buffer 1 is provided for each of the different architectures A and B. Of the instructions held in the buffer 1, the REG portion that uses the general-purpose register 3 is taken out, input to the register address conversion means 2, and converted into a common register number.

【0016】レジスタアドレス変換手段2は、異なるア
ーキテクチャの命令が使用するレジスタ番号を、共通の
レジスタ番号に変換するものである。汎用レジスタ3
は、命令を実行するときに使用する高速アクセス可能な
汎用のレジスタである。ここでは、リードアドレス(リ
ード時のレジスタ番号)およびライトアドレス(ライト
時のレジスタ番号)を独立に入力するポートを持ってい
る。
The register address conversion means 2 converts register numbers used by instructions of different architectures into a common register number. General-purpose register 3
Is a general-purpose register that can be accessed at high speed and is used when executing an instruction. Here, it has a port for independently inputting a read address (register number when reading) and a write address (register number when writing).

【0017】書込手段4は、ライトデータを汎用レジス
タ3に書き込んだり、ライトデータの一部と、汎用レジ
スタ3から読み出したマージ用のリードデータの一部と
を一緒にしたデータを汎用レジスタ3に書き込んだりす
るものである。
The writing means 4 writes the write data to the general-purpose register 3, or writes a part of the write data together with a part of the merge read data read from the general-purpose register 3 to the general-purpose register 3. It is something to write in.

【0018】読出手段5は、汎用レジスタ3からデータ
を読み出すものである。図1の(b)は、汎用レジスタ
3のアドレスマッピングを示す。ここで、アーキテクチ
ャAのGR(汎用レジスタ3)は、アーキテクチャBの
GRよりも、サイズ(レジスタサイズ(データ長)およ
びレジスタ番号)が大きいので、汎用レジスタ3の全体
のサイズとなる。
The reading means 5 reads data from the general-purpose register 3. FIG. 1B shows address mapping of the general-purpose register 3. Since the GR (general-purpose register 3) of architecture A has a larger size (register size (data length) and register number) than the GR of architecture B, the size of the general-purpose register 3 is the entire size.

【0019】アーキテクチャBのGR(汎用レジスタ)
は、アーキテクチャAのGRよりも、サイズ(レジスタ
サイズ(データ長)およびレジスタ番号)が小さいの
で、汎用レジスタ3の一部を使うこととなる。この際、
点線は、アーキテクチャBのレジスタサイズが例えば1
6ビット長、アーキテクチャAのレジスタサイズが例え
ば32ビット長で丁度半分のときに、アーキテクチャB
の2つのレジスタをアーキテクチャAの1つのレジスタ
に割り当てる様子を示す(図3を用いて後述する)。
GR (general purpose register) of architecture B
Since the size (register size (data length) and register number) is smaller than GR of architecture A, a part of the general-purpose register 3 is used. On this occasion,
The dotted line indicates that the register size of architecture B is 1
If the architecture A has a register size of 6 bits and the register size of architecture A is 32 bits, which is exactly half, the architecture B
2 shows that the two registers are allocated to one register of architecture A (described later with reference to FIG. 3).

【0020】以上のように、図1の(a)の構成を持
ち、図1の(b)に示すように、レジスタサイズの大き
いアーキテクチャA用の汎用レジスタ3を設け、レジス
タサイズの小さいアーキテクチャBについて汎用レジス
タ3の一部を図1の(b)に示すように効率的に割り当
てるように、レジスタアドレス変換手段2が共通のレジ
スタ番号(レジスタアドレス)に変換し、汎用レジスタ
3をアクセスする。以下図2の構成をもとに、図3を用
いて具体的に説明する。
As described above, the general-purpose register 3 for the architecture A having the large register size is provided and the architecture B having the small register size is provided as shown in FIG. For efficient allocation of a part of the general-purpose register 3 as shown in FIG. 1B, the register address conversion means 2 converts the common register number (register address) to access the general-purpose register 3. A specific description will be given below with reference to FIG. 3 based on the configuration of FIG.

【0021】図2は、本発明の1実施例構成図を示す。
ここで、図3の(a)に示すように、 ・アーキテクチャA レジスタ長が32ビット レジスタ番号が00から31(4ビット長) ・アーキテクチャB レジスタ長が16ビット(アーキテクチャAの半分) レジスタ番号が00から15(アーキテクチャAの半
分) とする。
FIG. 2 shows a block diagram of an embodiment of the present invention.
Here, as shown in (a) of FIG. 3, architecture A register length is 32 bits Register number is 00 to 31 (4 bits length) Architecture B register length is 16 bits (half of architecture A) Register number is 00 to 15 (half of architecture A).

【0022】図2において、バッファ1は、アーキテク
チャA、Bの命令を保持するバッファである。レジスタ
アドレス変換部2は、アーキテクチャA、Bのレジスタ
番号を、共通の汎用レジスタ3のレジスタ番号に変換す
るものであって、アドレス変換部21、マルチプレクサ
22などから構成されるものである。
In FIG. 2, a buffer 1 is a buffer that holds the instructions of architectures A and B. The register address conversion unit 2 converts the register numbers of the architectures A and B into the register numbers of the common general-purpose register 3, and is composed of an address conversion unit 21, a multiplexer 22, and the like.

【0023】アドレス変換部21は、アーキテクチャB
の4ビットに、上位2ビットを生成するものである。こ
の上位2ビットは、後述する図3の(b)の4つのブロ
ック00、01、10、11のいずれかを選択するため
のものである。
The address conversion unit 21 has an architecture B
The upper 2 bits are generated in the 4 bits. The upper 2 bits are for selecting any of the four blocks 00, 01, 10 and 11 of FIG.

【0024】マルチプレクサ22は、アーキテクチャ
A、Bの6ビットのうちのいずれか1つを選択するもの
である。汎用レジスタ3は、リードポートと、ライトポ
ートとを持ち、両者が独立にリード/ライト可能なレジ
スタである。
The multiplexer 22 selects any one of the 6 bits of the architectures A and B. The general-purpose register 3 has a read port and a write port, and both can read / write independently.

【0025】書込バッファ6は、書き込むデータを保持
するバッファである。マルチプレクサ7は、書込バッフ
ァ6からの下位のデータ、汎用レジスタ3から読み出し
た下位のデータのいずれかを選択するものである。
The write buffer 6 is a buffer that holds data to be written. The multiplexer 7 selects either the lower data from the write buffer 6 or the lower data read from the general-purpose register 3.

【0026】マルチプレクサ8は、書込バッファ6から
の上位のデータ、書込バッファ6からの下位のデータ、
あるいは汎用レジスタ3から読み出した上位のデータの
いずれかを選択するものである。
The multiplexer 8 has upper data from the write buffer 6, lower data from the write buffer 6,
Alternatively, one of the higher-order data read from the general-purpose register 3 is selected.

【0027】マルチプレクサ9は、汎用レジスタ3から
読み出した上位のデータあるいは下位のデータのいずれ
かを選択し、整列するためのものである。マルチプレク
サ10は、汎用レジスタ3から読み出した上位のデータ
あるいは上位の0のデータのいずれかを選択するもので
ある。
The multiplexer 9 is for selecting and aligning either upper data or lower data read from the general-purpose register 3. The multiplexer 10 selects either the high-order data read from the general-purpose register 3 or the high-order 0 data.

【0028】読出バッファ11は、汎用レジスタ3から
読み出したデータを保持するバッファである。図3は、
本発明の動作説明図を示す。
The read buffer 11 is a buffer that holds the data read from the general-purpose register 3. Figure 3
The operation explanatory drawing of this invention is shown.

【0029】まず、図3の概略を説明する。図3の
(a)は、アーキテクチャAのGRとアーキテクチャB
のGRのレジスタ長、レジスタアドレスを示す。
First, the outline of FIG. 3 will be described. FIG. 3A shows GR of architecture A and architecture B.
Shows the register length and register address of GR.

【0030】ここで、アーキテクチャAのGR(汎用レ
ジスタ)は、レジスタ長(データ長)が00から31の
32ビット(5ビット長)、レジスタアドレス(レジス
タ番号)が00から31の32個である。一方、アーキ
テクチャBのGR(汎用レジスタ)は、レジスタ長(デ
ータ長)が00から15の16ビット、レジスタアドレ
スが00から15の16個である。従って、汎用レジス
タ3として、サイズの大きいアーキテクチャAのレジス
タ長を32ビット、レジスタアドレスを32個とする。
Here, the GRs (general purpose registers) of the architecture A are 32 bits (register length (data length)) of 00 to 31 (5 bits length) and 32 register addresses (register number) of 00 to 31. .. On the other hand, the GR (general-purpose register) of architecture B has 16 bits with a register length (data length) of 00 to 15 and 16 register addresses of 00 to 15. Therefore, as the general-purpose register 3, the register length of the architecture A having a large size is 32 bits and the register address is 32.

【0031】図3の(b)は、アドレスマッピングを示
す。アーキA(図2のアーキA)は、矢印を用いて示す
ように、図3の(a)のレジスタアドレス00000か
ら11111の5ビットに対して、下位に0の1ビット
を付加し、合計6ビットとする。上位の5ビットは、汎
用レジスタ3のアクセス用のレジスタアドレスである。
FIG. 3B shows address mapping. The arche A (arche A in FIG. 2) adds one bit of 0 to the lower 5 bits of the register addresses 00000 to 11111 in FIG. Bit. The upper 5 bits are a register address for accessing the general-purpose register 3.

【0032】アーキB(図2のアーキB)は、矢印を用
いて示すように、図3の(a)のレジスタアドレス00
00から1111の4ビットに対して、上位に00、0
1、10、11のいずれかのブロックのアドレスを、図
2のアドレス変換部21が生成して付加し、合計6ビッ
トとする。このうちの下位の1ビットが偶数のときマル
チプレクサ7によって書込バッファ6から下位のデータ
を選択して汎用レジスタの下位に書き込む。一方、下位
の1ビットが奇数のときマルチプレクサ8によって書込
バッファ6から下位のデータを選択して汎用レジスタの
上位に書き込む。これにより、図3の(b)の右側に記
載する汎用レジスタ3に示すように、同じレジスタ番号
の下位に下位1ビットが偶数のデータを書き込み、上位
に下位1ビットが奇数のデータを書き込み、いわば16
ビットのレジスタ長のデータを2つ詰めて32ビットの
レジタ長の汎用レジスタ3に書き込むことが可能とな
る。
Arche B (Arche B in FIG. 2) has register address 00 in FIG. 3 (a) as indicated by the arrow.
For the 4 bits from 00 to 1111, the higher bits 00, 0
The address of any one of blocks 1, 10, and 11 is generated and added by the address conversion unit 21 in FIG. 2 to make a total of 6 bits. When the lower 1 bit of these is an even number, the multiplexer 7 selects the lower data from the write buffer 6 and writes it to the lower of the general-purpose register. On the other hand, when the lower 1 bit is an odd number, the multiplexer 8 selects the lower data from the write buffer 6 and writes it in the upper of the general-purpose register. As a result, as shown in the general-purpose register 3 described on the right side of FIG. 3B, the lower register of the same register number writes the even-numbered data of the lower-order 1 bit, and the upper register writes the data of the lower-order 1 bit of the odd number. So to speak 16
It becomes possible to write two bits of register length data into the general register 3 having a register length of 32 bits.

【0033】図3の(c)は、アーキBのマッピングを
示す。これは、図3の(b)で上述した、アーキBの上
位2ビットを生成して付加したとき、00、01、1
0、11に対応して、図示の4分1のブロックのうちの
いずれを選択するかを決めるものである。例えば上位ビ
ットとして00を選択したときは、レジスタ番号00か
ら07までの8個のレジスタ番号に、各2個づつの下位
1ビットが奇数と偶数のデータを書き込み、合計16個
のデータを詰めて書き込むこととなる。
FIG. 3 (c) shows the mapping of Arche B. This is 00, 01, 1 when the upper 2 bits of the arche B described above in FIG. 3B are generated and added.
Corresponding to 0 and 11, it is determined which one of the quarter blocks shown in the figure should be selected. For example, when 00 is selected as the high-order bit, the low-order 1 bit of 2 bits is written to each of the 8 register numbers from 00 to 07 and the odd-numbered and even-numbered data is written to fill 16 data in total. It will be written.

【0034】次に、図3を用いて、図2の構成の動作を
詳細に説明する。 (1) アーキテクチャAのデータの書き込み。 (1−1) 図2のバッファ1に保持されている命令中
のレジスタアドレス、5ビットに0の下位1ビットを付
加して合計6ビットとする。
Next, the operation of the configuration shown in FIG. 2 will be described in detail with reference to FIG. (1) Writing architecture A data. (1-1) The lower 1 bit of 0 is added to 5 bits of the register address in the instruction held in the buffer 1 of FIG. 2 to make a total of 6 bits.

【0035】(1−2) マルチプレクサ22によって
(1−1)で生成した6ビットを選択し、アーキテクチ
ャAにより、マルチプレクサ8、7によって、を選
択し、書込バッファ6から上位および下位のデータを汎
用レジスタ3に入力して書き込む。この際、上位の5ビ
ットを汎用レジスタ3のライトポートから入力して任意
のレジスタアドレスを選択する。
(1-2) The 6 bits generated in (1-1) are selected by the multiplexer 22, the multiplexers 8 and 7 are selected by the architecture A, and the upper and lower data are written from the write buffer 6. Input to the general-purpose register 3 and write. At this time, the upper 5 bits are input from the write port of the general-purpose register 3 to select an arbitrary register address.

【0036】以上によって、アーキテクチャAのときは
書込バッファ6のデータ(32ビット長)を汎用レジス
タ3に書き込む。 (2) アーキテクチャAのデータの読み出し。
As described above, in architecture A, the data (32-bit length) in the write buffer 6 is written in the general-purpose register 3. (2) Reading data of architecture A.

【0037】(2−1) 図2のバッファ1に保持され
ている命令中のレジスタアドレス、5ビットに0の下位
1ビットを付加して合計6ビットとする。 (2−2) マルチプレクサ22によって(2−1)で
生成した6ビットを選択し、アーキテクチャAにより、
マルチプレクサ10、9によって、を選択し、汎用
レジスタ3からデータを読み出し、読出バッファ11に
格納する。
(2-1) The lower 1 bit of 0 is added to 5 bits of the register address in the instruction held in the buffer 1 of FIG. 2 to make a total of 6 bits. (2-2) The multiplexer 22 selects the 6 bits generated in (2-1), and according to the architecture A,
The multiplexers 10 and 9 select to read data from the general-purpose register 3 and store it in the read buffer 11.

【0038】以上によって、アーキテクチャAのときは
汎用レジスタ3からデータ(32ビット長)を読出バッ
ファ11に格納する。 (3) アーキテクチャBのデータの書き込み。
As described above, in architecture A, the data (32-bit length) is stored in the read buffer 11 from the general-purpose register 3. (3) Writing data of architecture B.

【0039】(3−1) 図2のバッファ1に保持され
ている命令中のレジスタアドレス、4ビットに上位2ビ
ットをアドレス変換部21が生成して付加し、合計6ビ
ットとする。
(3-1) The address conversion unit 21 generates and adds the upper 2 bits to the register address and the 4 bits in the instruction held in the buffer 1 of FIG. 2 to make a total of 6 bits.

【0040】(3−2) マルチプレクサ22によって
(3−1)で生成した6ビットを選択し、アーキテクチ
ャBと下位1ビットの0の偶数(あるいは1の奇数)に
より、マルチプレクサ8およびマルチプレクサ7によっ
て、(あるいは、)を選択し、汎用レジスタ3
から読み出した上位のデータと書込バッファ6からの下
位のデータを一緒に汎用レジスタ3に書き込む(あるい
は書込バッファ6からの上位のデータと汎用レジスタ3
から読み出した下位のデータを一緒に汎用レジスタ3に
書き込む)。
(3-2) The 6 bits generated in (3-1) are selected by the multiplexer 22, and by the architecture B and the lower 1 bit, an even number of 0 (or an odd number of 1). Select (or) to select general register 3
The upper data read from the write buffer 6 and the lower data from the write buffer 6 are written together in the general register 3 (or the upper data from the write buffer 6 and the general register 3 are written together).
The lower-order data read from is written in the general-purpose register 3 together).

【0041】以上によって、アーキテクチャBのときは
書込バッファ6のデータ(16ビット長)を汎用レジス
タ3の下位および上位に順次書き込む(図3の(b)の
右側の汎用レジスタ3参照)。
As described above, in the case of architecture B, the data (16-bit length) in the write buffer 6 is sequentially written in the lower and upper parts of the general register 3 (see the general register 3 on the right side of FIG. 3B).

【0042】(4) アーキテクチャBのデータの読み
出し。 (4−1) 図2のバッファ1に保持されている命令中
のレジスタアドレス、4ビットに上位2ビットをアドレ
ス変換部21が生成して付加し、合計6ビットとする。
(4) Reading of architecture B data. (4-1) The address conversion unit 21 generates and adds the upper 2 bits to the register address and the 4 bits in the instruction held in the buffer 1 of FIG. 2 to make a total of 6 bits.

【0043】(4−2) マルチプレクサ22によって
(4−1)で生成した6ビットを選択し、アーキテクチ
ャBと下位1ビットの0の偶数(あるいは1の奇数)に
より、マルチプレクサ10およびマルチプレクサ9によ
って“0”、(あるいは“0”、)を選択し、0を
上位とし汎用レジスタ3から読み出したデータを下位と
して読出バッファ11に格納する。
(4-2) The 6 bits generated in (4-1) are selected by the multiplexer 22, and are selected by the multiplexer 10 and the multiplexer 9 by the architecture B and the lower 1 bit, which is an even number of 0 (or an odd number of 1). 0 "(or" 0 ") is selected, and data read from the general-purpose register 3 is stored in the read buffer 11 with 0 as the higher order.

【0044】これにより、読出バッファ11の上位は常
に0、下位は汎用レジスタ3の下位あるいは上位からの
データを格納し、16ビットのデータを出力することが
可能となる。
As a result, the upper part of the read buffer 11 can always store 0, and the lower part can store data from the lower or upper part of the general register 3 and output 16-bit data.

【0045】以上によって、アーキテクチャBのとき汎
用レジスタ3から読み出した下位あるいは上位のデータ
を読出バッファ11に順次格納して整列する。また、上
記アーキテクチャBの4ビットの上位に付加した2ビッ
トについて、アーキテクチャAとデータを共有するブロ
ックを設定することにより、アーキテクチャAとアーキ
テクチャBとが同一の汎用レジスタ3を使用し、データ
をやり取りでき、高速化できる。この際、両者間で独自
に使用する汎用レジスタ3について使用分けし、セーブ
/リストアを無くすようにする。
As described above, the lower or upper data read from the general register 3 in the architecture B is sequentially stored in the read buffer 11 and aligned. In addition, by setting a block that shares data with the architecture A for the 2 bits added to the upper 4 bits of the architecture B, the architecture A and the architecture B use the same general-purpose register 3 to exchange data. Yes, you can speed it up. At this time, the general-purpose register 3 to be used independently between the two is separately used so that save / restore is eliminated.

【0046】[0046]

【発明の効果】以上説明したように、本発明によれば、
異なるアーキテクチャのレジスタ番号を共通化するレジ
スタアドレス変換手段2を設け、汎用レジスタ3を共有
したりなどする構成を採用しているため、異なるレジス
タサイズを持つアーキテクチャを同一ハードウェア上で
実行することができる。また、アーキテクチャ相互で共
有する汎用レジスタ3のデータの共有を行ってアーキテ
クチャ切り替え時のレジスタのセーブ/リストアを無く
し、アーキテクチャ間に跨がる処理の高速化を図ること
ができる。
As described above, according to the present invention,
Since the register address conversion means 2 for commonizing register numbers of different architectures is provided and the general-purpose register 3 is shared, architectures having different register sizes can be executed on the same hardware. it can. Further, it is possible to share the data of the general-purpose register 3 shared by the architectures to eliminate the saving / restoring of the registers at the time of switching architectures, thereby speeding up the processing across the architectures.

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

【図1】本発明の原理構成図である。FIG. 1 is a principle configuration diagram of the present invention.

【図2】本発明の1実施例構成図である。FIG. 2 is a configuration diagram of an embodiment of the present invention.

【図3】本発明の動作説明図である。FIG. 3 is an operation explanatory diagram of the present invention.

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

1:バッファ 2:レジスタアドレス変換手段 3:汎用レジスタ(GR) 4:書込手段 5:読出手段 6:書込バッファ 7、8、9、10、22:マルチプレクサ 11:読出バッファ 21:アドレス変換部 1: Buffer 2: Register address conversion means 3: General-purpose register (GR) 4: Writing means 5: Reading means 6: Write buffer 7, 8, 9, 10, 22: Multiplexer 11: Read buffer 21: Address conversion unit

フロントページの続き (72)発明者 野々村 一泰 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 渡部 徹 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 丸山 拓巳 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 加藤 慎哉 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 ポーンシャイ・チョンスワンナパイサーン 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内Front page continuation (72) Inventor Kazuyasu Nonomura 1015 Kamiodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa, Fujitsu Limited (72) Inventor Toru Watanabe 1015, Kamedotachu, Nakahara-ku, Kawasaki, Kanagawa Prefecture, Fujitsu Limited (72) Inventor Takumi Maruyama 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited (72) Inventor Shinya Kato 1015, Kamedotachu, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited (72) 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】異なるアーキテクチャの使用するレジスタ
を制御するレジスタ制御方式において、 レジスタ幅が異なるアーキテクチャの命令のレジスタ番
号を共通のレジスタ番号に変換するレジスタアドレス変
換手段(2)と、 異なるアーキテクチャのレジスタ幅のうちの大きい幅を
持つ汎用レジスタ(3)とを備え、 上記レジスタアドレス変換手段(2)が実行指示された
アーキテクチャの命令のアドレスを共通のレジスタ番号
に変換し、この変換した後のレジスタ番号によって上記
汎用レジスタ(3)をアクセスするように構成したこと
を特徴とするレジスタ制御方式。
1. A register control method for controlling registers used by different architectures, and register address conversion means (2) for converting a register number of an instruction of an architecture having a different register width into a common register number, and a register of a different architecture. A general-purpose register (3) having a larger width, and the register address conversion means (2) converts the address of the instruction of the architecture instructed to be executed into a common register number, and the register after the conversion A register control system characterized in that the general-purpose register (3) is accessed by a number.
【請求項2】異なるアーキテクチャの使用するレジスタ
を制御するレジスタ制御方式において、 レジスタ幅が整数倍異なるアーキテクチャの命令のレジ
スタ番号を詰めた共通のレジスタ番号に変換するレジス
タアドレス変換手段(2)と、 異なるアーキテクチャのレジスタ幅のうちの大きい幅を
持つ汎用レジスタ(3)と、 この汎用レジスタ(3)から読み出したデータを書き込
む書込手段(4)とを備え、 上記レジスタアドレス変換手段(2)が書込み指示され
たレジスタ幅の小さいアーキテクチャの命令のアドレス
を、詰めた共通のレジスタ番号に変換し、この変換した
後のレジスタ番号によって、上記汎用レジスタ(3)か
ら読み出したデータの一部と書き込もうとするデータと
を一緒にし、上記書込手段(4)が汎用レジスタ(2)
に書き込むように構成したことを特徴とするレジスタ制
御方式。
2. A register address conversion means (2) for converting a register number of an instruction of an architecture having a different register width by an integral multiple in a register control system for controlling registers used by different architectures to a common register number. The register address conversion means (2) comprises a general-purpose register (3) having a large width among register widths of different architectures, and a writing means (4) for writing data read from the general-purpose register (3). The address of the architecture-designated instruction having a small register width is converted into a packed common register number, and the converted register number is used to write a part of the data read from the general-purpose register (3). The data to be written together, and the writing means (4) makes the general-purpose register (2 )
A register control method characterized by being configured to write to.
【請求項3】異なるアーキテクチャの使用するレジスタ
を制御するレジスタ制御方式において、 レジスタ幅が整数倍異なるアーキテクチャの命令のレジ
スタ番号を詰めた共通のレジスタ番号に変換するレジス
タアドレス変換手段(2)と、 異なるアーキテクチャのレジスタ幅のうちの大きい幅を
持つ汎用レジスタ(3)と、 この汎用レジスタ(3)から読み出す読出手段(5)と
を備え、 上記レジスタアドレス変換手段(2)が読み出し指示さ
れたレジスタ幅の小さいアーキテクチャの命令のアドレ
スを、詰めた共通のレジスタ番号に変換し、この変換し
た後のレジスタ番号によって、上記読出手段(5)が上
記汎用レジスタ(3)から読み出したデータについて、
元のレジスタ幅のデータに整列して出力するように構成
したことを特徴とするレジスタ制御方式。
3. A register control method for controlling registers used by different architectures, and register address conversion means (2) for converting a register number of an instruction of an architecture whose register width differs by an integral multiple into a common register number. A general-purpose register (3) having a large width among register widths of different architectures and a reading means (5) for reading from the general-purpose register (3) are provided, and the register for which the register address conversion means (2) is instructed to read. The address of the instruction of the architecture having a small width is converted into the packed common register number, and the data read from the general-purpose register (3) by the reading means (5) is converted by the converted register number.
A register control method characterized by being configured to output data aligned with the original register width.
【請求項4】上記変換した共通のレジスタ番号のうち、
両者のアーキテクチャによって共有するレジスタ番号の
レジスタを、両者間でデータ授受のレジスタとして使用
し、高速化を図るように構成したことを特徴とする請求
項第1項から第3項記載のレジスタ制御方式。
4. Among the converted common register numbers,
4. The register control method according to claim 1, wherein a register having a register number shared by both architectures is used as a data transfer register between the two so as to increase the speed. ..
JP4011577A 1992-01-27 1992-01-27 Register controller Expired - Fee Related JP2686011B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4011577A JP2686011B2 (en) 1992-01-27 1992-01-27 Register controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4011577A JP2686011B2 (en) 1992-01-27 1992-01-27 Register controller

Publications (2)

Publication Number Publication Date
JPH05204635A true JPH05204635A (en) 1993-08-13
JP2686011B2 JP2686011B2 (en) 1997-12-08

Family

ID=11781774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4011577A Expired - Fee Related JP2686011B2 (en) 1992-01-27 1992-01-27 Register controller

Country Status (1)

Country Link
JP (1) JP2686011B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194602B2 (en) 1998-03-11 2007-03-20 Matsushita Electric Industrial Co., Ltd. Data processor
JP2010165245A (en) * 2009-01-16 2010-07-29 Fujitsu Ltd Processor
JP2012009020A (en) * 2010-06-22 2012-01-12 Internatl Business Mach Corp <Ibm> Higher order word facility for expanding the number of general-purpose register where command is available

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5175340A (en) * 1974-12-26 1976-06-29 Fujitsu Ltd
JPS5617454A (en) * 1979-07-23 1981-02-19 Hitachi Ltd Information processor
JPS5850693A (en) * 1981-09-18 1983-03-25 Omron Tateisi Electronics Co Memory access method for memory system
JPS60132240A (en) * 1983-12-20 1985-07-15 Nec Corp Register controlling system
JPS62156742A (en) * 1985-12-27 1987-07-11 Nec Corp Data writing control system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5175340A (en) * 1974-12-26 1976-06-29 Fujitsu Ltd
JPS5617454A (en) * 1979-07-23 1981-02-19 Hitachi Ltd Information processor
JPS5850693A (en) * 1981-09-18 1983-03-25 Omron Tateisi Electronics Co Memory access method for memory system
JPS60132240A (en) * 1983-12-20 1985-07-15 Nec Corp Register controlling system
JPS62156742A (en) * 1985-12-27 1987-07-11 Nec Corp Data writing control system

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194602B2 (en) 1998-03-11 2007-03-20 Matsushita Electric Industrial Co., Ltd. Data processor
US7664934B2 (en) 1998-03-11 2010-02-16 Panasonic Corporation Data processor decoding instruction formats using operand data
US7979676B2 (en) 1998-03-11 2011-07-12 Panasonic Corporation Method for instructing a data processor to process data
US8443173B2 (en) 1998-03-11 2013-05-14 Panasonic Corporation Method for instructing a data processor to process data
US8650386B2 (en) 1998-03-11 2014-02-11 Panasonic Corporation Data processor including an operation unit to execute operations in parallel
JP2010165245A (en) * 2009-01-16 2010-07-29 Fujitsu Ltd Processor
JP2012009020A (en) * 2010-06-22 2012-01-12 Internatl Business Mach Corp <Ibm> Higher order word facility for expanding the number of general-purpose register where command is available
JP2013242918A (en) * 2010-06-22 2013-12-05 Internatl Business Mach Corp <Ibm> High-word facility for extending the number of general purpose register available to instruction
US9459872B2 (en) 2010-06-22 2016-10-04 International Business Machines Corporation High-word facility for extending the number of general purpose registers available to instructions

Also Published As

Publication number Publication date
JP2686011B2 (en) 1997-12-08

Similar Documents

Publication Publication Date Title
KR860001434B1 (en) Bank interleaved vector processor having a fixed relationship between start timing signals
US7093110B2 (en) Register file in the register window system and controlling method thereof
JPS63201851A (en) Storage control system
JP2686011B2 (en) Register controller
JP2004507836A (en) Method and apparatus for connecting a mass parallel processor array to a memory array by bit sequential techniques
US8806102B2 (en) Cache system
JPH0282330A (en) Move out system
JP6294732B2 (en) Data transfer control device and memory built-in device
JPH09198862A (en) Semiconductor memory
JP2005182538A (en) Data transfer device
US5933856A (en) System and method for processing of memory data and communication system comprising such system
JPS61198344A (en) Block data writing system
JPS6054056A (en) Interface circuit of bit data write memory
JPH0721154A (en) Vector processor
KR830000265B1 (en) Information processing device
JP2576589B2 (en) Virtual storage access control method
JPH05173778A (en) Data processor
JPH0215150Y2 (en)
JP2629400B2 (en) Self-synchronous pipeline processing unit
JPH04255064A (en) Parallel processor
JPH04245556A (en) Instruction memory
JPH07134677A (en) Register write system
JPS5854478A (en) Controlling method of main storage
JPH02224041A (en) Cache memory control circuit
JPH06332790A (en) Memory space controlling method and memory device

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970729

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080815

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090815

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees