JPH0460831A - Data processor - Google Patents
Data processorInfo
- Publication number
- JPH0460831A JPH0460831A JP2172010A JP17201090A JPH0460831A JP H0460831 A JPH0460831 A JP H0460831A JP 2172010 A JP2172010 A JP 2172010A JP 17201090 A JP17201090 A JP 17201090A JP H0460831 A JPH0460831 A JP H0460831A
- Authority
- JP
- Japan
- Prior art keywords
- byte
- data processing
- arrangement
- processing device
- arithmetic
- 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
Links
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
Description
【発明の詳細な説明】
〔目 次〕
概要
産業上の利用分野
従来の技術と発明が解決しようとする課題課題を解決す
るための手段
作用
実施例
発明の効果
〔概要〕
主記憶アクセスを、主記憶装置とレジスタファイル間で
行い、すべての演算をレジスタファイル間で行うように
構成したデータ処理装置、例えば、命令縮小型データ処
理装置において、バイト並びの異なるデータを処理する
方式に関し、多バイト長データの上位バイトを主記憶の
下位アドレスのバイトデータと対応させる昇順(Big
−Endian)形式と、該多バイト長データの下位バ
イトを主記憶の下位バイトに対応させる降順(Litt
leEndian)形式との画形式のバイト並びをサポ
ートしながら、主記憶アクセス時の負荷を避け、且つ、
画形式のバイト並びのデータを容易に扱えるデータ処理
装置を提供することを目的とし、該レジスタファイルに
置かれた多バイト長データのバイト並びを判別して、バ
イト並び指示信号■を出力する手段と、バイト単位に構
成した算術論理演算器(ALU)に入力される桁上げ7
桁下げ信号を、上記バイト並び指示信号■によって、上
位。[Detailed Description of the Invention] [Table of Contents] Overview Industrial Field of Application Conventional Technology and Problems to be Solved by the Invention Means for Solving the Problems Effects of the Invention [Summary] Regarding the method of processing data with different byte orders in a data processing device configured to perform all operations between a storage device and a register file, such as an instruction reduction type data processing device, multi-byte length Ascending order (Big
-Endian) format, and descending order (Litt
While supporting the byte arrangement of the image format (LeEndian) format, it avoids the load when accessing the main memory, and
The purpose of this invention is to provide a data processing device that can easily handle byte-aligned data in an image format, and means for determining the byte alignment of multi-byte long data placed in the register file and outputting a byte alignment instruction signal. and carry 7 input to the arithmetic logic unit (ALU) configured in byte units.
The digit down signal is changed to the upper position by the above-mentioned byte arrangement instruction signal ■.
又は、下位の演算器の出力する信号から選択する多バイ
ト長算術論理演算器(多バイト長ALU)を持つように
構成する。又、上記多バイト長算術論理演算器(多バイ
ト長AL[l)以外の演算器(シフタ等)に対して、上
記レジスタファイルと演算器間にバイト並び変換器(M
IX)をもつように構成する。又、上記多バイト長算術
論理演算器(多バイト長^LU)以外の演算器(乗算器
等)に対して、2種類のバイト並びに対応する2種類の
演算器を有し、上記バイト並び指示信号のに基づいて、
該2種類の演算器の出力を選択する手段(セレクタ)を
有するように構成する。Alternatively, it is configured to have a multi-byte length arithmetic logic unit (multi-byte length ALU) that selects from signals output from lower-order calculation units. In addition, for arithmetic units (shifters, etc.) other than the multi-byte length arithmetic and logic unit (multi-byte length AL[l), a byte order converter (M
IX). In addition, for arithmetic units (multipliers, etc.) other than the above-mentioned multi-byte length arithmetic and logic unit (multi-byte length ^LU), there are two types of bytes and two corresponding types of arithmetic units, and the above-mentioned byte arrangement instruction is provided. Based on the signal
It is configured to have means (selector) for selecting the outputs of the two types of arithmetic units.
本発明は、主記憶アクセスを、主記憶装置とレジスタフ
ァイル間で行い、すべての演算をレジスタファイル間で
行うように構成したデータ処理装置、例えば、命令縮小
型データ処理装置において、バイト並びの異なるデータ
を処理する方式に関する。The present invention provides a data processing device configured such that main memory access is performed between the main memory device and a register file, and all operations are performed between the register files, such as an instruction reduction type data processing device, in which byte sequences are different. Concerning methods of processing data.
従来から、バイトアドレス方式の計算機では、主記憶に
置かれる多バイト長のデータをアクセスするときに、そ
のデータの上位バイトを主記憶の下位アドレスのバイト
データと対応させる(Big−Endian)形式を用
いるものと、逆に多バイト長データの下位バイトを主記
憶の下位アドレスに対応させる(Li ttleJnd
ian)形式を用いるものとがある。Traditionally, in byte addressing type computers, when accessing multi-byte length data stored in main memory, a (Big-Endian) format is used in which the upper byte of the data corresponds to the byte data at the lower address of the main memory. Conversely, the lower byte of multi-byte data corresponds to the lower address of the main memory (LittleJnd).
ian) format.
過去の計算機では、このいずれか一方のみを扱っていた
が、異機種間でのデータ交換の機会が多い今日では、画
形式を扱う必要が生じている。このため、近年のプロセ
ッサにはこの画形式を扱う機能を備えたものがあるが、
その機能は十分ではなく、画形式の切り替えを簡単に行
えるようにすることが要求される。In the past, computers handled only one of these formats, but today, when there are many opportunities for data exchange between different models, it is necessary to handle both image formats. For this reason, some recent processors are equipped with the ability to handle this image format.
Its functionality is not sufficient, and it is required to be able to easily switch between image formats.
〔従来の技術と発明が解決しようとする課題〕第2図は
従来のバイト並びを扱うデータ処理装置を説明する図で
あり、(al) 、 (a2)は異なるバイト並びの形
式を示し、(b)は従来の2種のバイト並びに対する扱
い方式を示している。[Prior art and problems to be solved by the invention] Fig. 2 is a diagram illustrating a conventional data processing device that handles byte arrangement, where (al) and (a2) show different byte arrangement formats, and ( b) shows a conventional method for handling two types of byte arrangements.
前述のように、バイトアドレス方式の計算機においては
、(al) 、 (a2)図に示したように、主記憶に
置かれる多バイト長のデータをアクセスするときに、そ
のデータの上位バイトを主記憶の下位アドレスのバイト
データと対応させる(Big−Endian)(昇順)
形式を用いるもの((al)図参照)と、逆に多バイト
長データの下位バイトを主記憶の下位アドレスに対応さ
せる(Little−Indian) (降順)形式を
用いるもの((a2)図参照)とがある。As mentioned above, in a byte-addressing computer, when accessing multi-byte length data stored in main memory, the upper byte of the data is Correlate with the byte data at the lower address of memory (Big-Endian) (ascending order)
One uses the format (see figure (al)), and the other uses the Little-Indian (descending order) format (see figure (a2)), in which the lower byte of multi-byte data corresponds to the lower address of the main memory. There is.
=6
従来のプロセッサでは、上記の如き、画形式のバイト並
びを扱う、ために、第2図(b)のように、レジスタフ
ァイル(以下、単に、レジスタという)2と主記憶装置
1との間、もしくは演算器3と主記憶装置1との間に、
バイト並び変換器6を備え、データ転送時に、バイト並
びの変換を行っていた。=6 In conventional processors, in order to handle the byte arrangement of the image format as described above, as shown in FIG. or between the arithmetic unit 3 and the main storage device 1,
A byte sequence converter 6 is provided to convert the byte sequence during data transfer.
然し、プロセッサの高速化に伴う主記憶装置1との速度
ギャップにより、データ転送時にバイト並びの変換を行
うことの負荷が無視できないものとなり、この変換処理
が、プロセッサの高速化を妨げる要因の一つになってい
る。However, due to the speed gap with the main memory device 1 that occurs as processor speeds increase, the load of converting the byte order during data transfer cannot be ignored, and this conversion process is one of the factors that prevent processors from increasing speed. It has become.
又、従来の装置では、データロード時に取り込むデータ
のバイト並びをあらかじめ知っておく必要があった。そ
のため、主記憶装置1中に異なるデータ並びが混在して
いる場合などでは、予め、いずれのデータ並びであるか
を示す情報を取り込んでからでなければ、該多バイト長
のデータのアクセスができないため、ソフトウェア上の
不都合があった。Furthermore, with conventional devices, it is necessary to know in advance the byte arrangement of the data to be imported when loading data. Therefore, in cases where different data sequences coexist in the main memory 1, the multi-byte length data cannot be accessed unless information indicating which data sequence is included in advance. Therefore, there was a software problem.
該バイトデータの並びを指示する情報は、例えば、主記
憶上の一連のデータの先頭、或いは、最後等に置かれて
いることがある。Information indicating the arrangement of the byte data may be placed, for example, at the beginning or end of a series of data on the main memory.
従って、主記憶上のこのような構成のデータをアクセス
して、多バイト長データをデータ並びを示す情報よりも
前、若しくは、同時にアクセスしなければならない場合
などにおいては、レジスタ2に取り込んだデータが、演
算器3の並びと異なる場合等があり、該取り込んだデー
タをプログラム手続きなどによって、改めて、ロード、
若しく、変換する必要があった。Therefore, when accessing data with such a structure in main memory and accessing multi-byte long data before or at the same time as the information indicating the data arrangement, the data taken into register 2 may be different from the arrangement of the computing units 3, and the imported data must be loaded again by program procedure, etc.
I had to convert it.
本発明は上記従来の欠点に鑑み、上記の如き、Big−
Endian (昇順) 、Little4ndian
(降順)の画形式のバイト並びをサポートしつつ、主記
憶アクセス時の負荷を避け、且つ、画形式のバイト並び
を容易に扱えるデータ処理装置を提供することを目的と
するものである。In view of the above-mentioned conventional drawbacks, the present invention has been developed to
Endian (ascending order), Little4ndian
It is an object of the present invention to provide a data processing device that can easily handle the byte arrangement of the image format while supporting the byte arrangement of the image format (descending order), while avoiding the load when accessing the main memory.
上記の問題点は下記の如くに構成したデータ処理装置に
よって解決される。The above problems are solved by a data processing device configured as follows.
(1)主記憶アクセスを、主記憶装置とレジスタファイ
ル間で行い、すべての演算をレジスタファイル間で行う
ように構成した、所謂、命令縮小型のデータ処理装置で
あって、
該レジスタファイルに置かれた多バイト長データのバイ
ト並びを判別して、バイト並び指示信号■を出力する手
段と。(1) It is a so-called instruction reduction type data processing device configured such that main memory access is performed between the main memory and a register file, and all operations are performed between the register files. means for determining the byte arrangement of the multi-byte length data and outputting a byte arrangement instruction signal (■);
バイト単位に構成した算術論理演算器(ALU)に入力
される桁上げ7桁下げ信号を、上記バイト並び指示信号
■によって、上位、又は、下位の演算器の出力する信号
から選択する多バイト長算術論理演算器(多バイト長A
LU)を持つように構成する。Multi-byte length in which the carry and 7-digit down signals input to the arithmetic logic unit (ALU) configured in bytes are selected from the signals output from the upper or lower arithmetic unit by the byte arrangement instruction signal ■. Arithmetic logic unit (multi-byte length A
LU).
(2)上記のデータ処理装置において、上記多バイト長
算術論理演算器(多バイト長ALU)以外の演算器、例
えば、シックに対して、上記レジスタファイルとシック
間にバイト並び変換器(MUX)をもつように構成する
。(2) In the data processing device, for an arithmetic unit other than the multi-byte arithmetic and logic unit (multi-byte ALU), for example, a byte order converter (MUX) between the register file and the thick; Configure it to have .
(3)上記のデータ処理装置において、上記多バイト長
算術論理演算器(多バイト長ALU)以外の演算器、例
えば、乗算器に対して、2種類のバイト並びに対応する
2種類の乗算器1,2を有し、上記バイト並び指示信号
■に基づいて、該2種類の乗算器1.又は、2の出力を
選択する手段(セレクタ)を設けるように構成する。(3) In the above data processing device, two types of bytes and two corresponding types of multipliers 1 are provided for an arithmetic unit other than the multi-byte length arithmetic logic unit (multi-byte length ALU), for example, a multiplier. , 2, and the two types of multipliers 1 . Alternatively, the configuration is such that means (selector) for selecting two outputs is provided.
(4)上記の項1〜3のデータ処理装置において、上記
バイト並び指示信号■を生成するバイト並び情報を、該
データ処理装置の内部レジスタ、又は、演算命令コード
中に持つように構成する。(4) In the data processing apparatus of items 1 to 3 above, the byte alignment information for generating the byte alignment instruction signal (2) is configured to be included in an internal register or an operation instruction code of the data processing apparatus.
(5)上記の項1〜5のデータ処理装置において、上記
レジスタファイルに、上記演算命令では記述されない仲
介レジスタを設け、該仲介レジスタ間で、上記の項1〜
3に記載の演算を行うように構成する。(5) In the data processing device described in Items 1 to 5 above, an intermediate register not described in the operation instruction is provided in the register file, and between the intermediate registers,
It is configured to perform the calculation described in 3.
即ち、本発明によれば、主記憶アクセスを、主記憶装置
とレジスタファイル間で行い、すべての演算をレジスタ
ファイル間で行うように構成したデータ処理装置、例え
ば、命令縮小型データ処理装置において、レジスタの出
力は、多バイト長算術論理演算器(多バイト長へLU)
に対して、バイト並びを変えずに接続される。That is, according to the present invention, in a data processing device configured such that main memory access is performed between the main memory device and a register file and all operations are performed between the register files, for example, an instruction reduction type data processing device, The output of the register is a multi-byte length arithmetic logic unit (LU to multi-byte length)
is connected without changing the byte order.
該多バイト長算術論理演算器(多バイト長ALU)は、
バイト単位の低レベルALUによって構成される。各低
レベルALUの出力するキャリー(桁上げ7桁下げ/シ
フトアウト)ビットは、隣接バイトの低レベルALUに
送られる。The multi-byte length arithmetic logic unit (multi-byte length ALU) is
It is composed of a low-level ALU in units of bytes. The carry (carry up, 7 carry down/shift out) bits output by each low level ALU are sent to the low level ALU of the adjacent byte.
該低レベルALUへの入力キャリーは、隣接バイトのキ
ャリーから、バイト並び指示信号■に従って、下位バイ
ト→上位バイト、或いは、上位バイト峠下位バイトに選
択された後に入力される。The input carry to the low level ALU is selected from the carry of the adjacent byte, from the lower byte to the upper byte, or from the upper byte to the lower byte, according to the byte arrangement instruction signal (2).
これにより、数値として上位のバイトがレジスタ中の上
位側に格納されていても、下位側に格納されていても、
該バイト並びを意識することなく算術論理演算を行うこ
とが可能となる。As a result, whether the high-order byte of the numerical value is stored in the high-order side of the register or the low-order side,
It becomes possible to perform arithmetic and logical operations without being aware of the byte arrangement.
或いは、バイトの並びに対応した2種類の演算器、例え
ば、乗算器1.2を設けておき、該2つの乗算器1.又
は、2の結果から、バイト並び指示信号のに基づいて、
何れかを選択して出力するようにする。Alternatively, two types of arithmetic units corresponding to the arrangement of bytes, for example, multipliers 1.2, are provided, and the two multipliers 1.2 are provided. Or, from the result of 2, based on the byte alignment instruction signal,
Select one and output it.
又、レジスタファイルと演算器1例えば、シックとの間
に、バイト並び変換器(MIX)を設けておき、上記バ
イト並び指示信号■に基づいて、バイト並びを変換した
後、該シフタでシフト動作を行わせ、その後、元のバイ
ト並びに変換してシフト結果を出力するように構成する
。In addition, a byte order converter (MIX) is provided between the register file and the arithmetic unit 1, for example, thick, and after converting the byte order based on the above-mentioned byte order instruction signal (■), the shifter performs a shift operation. , and then converts it to the original byte order and outputs the shift result.
従って、本発明のデータ処理装置においては、主記憶装
置からレジスタへのデータ転送時に、データ並びの変換
を行わないため、主記憶アクセスの負荷が軽減される。Therefore, in the data processing device of the present invention, the load on main memory access is reduced because the data arrangement is not converted when transferring data from the main memory to the register.
又、演算器へのデータロード時に、いずれのデータ並び
であるかを知る必要がないため、画形式が混在するデー
タの扱いが容易になる効果が得られる。In addition, since it is not necessary to know which data arrangement the data is in when loading data into the arithmetic unit, it is possible to easily handle data in which image formats are mixed.
以下本発明の実施例を図面によって詳述する。 Embodiments of the present invention will be described in detail below with reference to the drawings.
第1図は本発明の一実施例を示した図であり、(a)は
多バイト長算術論理演算器(多バイト長ALU)の構成
例を示し、(b)はシステム構成の例を示している。FIG. 1 is a diagram showing an embodiment of the present invention, in which (a) shows an example of the configuration of a multi-byte length arithmetic logic unit (multi-byte length ALU), and (b) shows an example of the system configuration. ing.
本発明においては、バイト並びを意識することなく、レ
ジスタファイル2にデータを転送すると共に、演算器、
例えば、多バイト長算術論理演算器(多バイト長ALU
) 3で算術論理演算を行う際、該多バイト長算術論理
演算器(多バイト長ALU)3をバイト単位の低レベル
の算術論理演算器(ALtl)30で構成しておき、バ
イト並びを指示する信号■によって、例えば、各バイト
単位の低レベルの算術論理演算器(^LU) 30から
のキャリー信号の伝播方向を制御するとか、バイト並び
に対応した演算器、例えば、乗算器を2種類設けておき
、該2つの乗算器1,2での演算結果を、該バイト並び
を指示する信号■で選択するとか、或いは、レジスタフ
ァイル2と演算器、例えば、シフタ50の間に、バイト
並び変換器(MIX) 51.52を設けておき、上記
バイト並び指示信号■によって、該シフタ50への入出
力データのバイト並びを変換する手段が、本発明を実施
するのに必要な手段である。In the present invention, data is transferred to the register file 2 without being aware of the byte arrangement, and the arithmetic unit,
For example, a multi-byte length arithmetic logic unit (multi-byte length ALU)
) When performing arithmetic and logical operations in step 3, the multi-byte length arithmetic and logic unit (multibyte length ALU) 3 is configured with a byte-based low-level arithmetic and logic unit (ALtl) 30, and the byte order is instructed. For example, the direction of propagation of the carry signal from the low-level arithmetic and logic unit (^LU) 30 for each byte can be controlled by the signal ■, or two types of arithmetic units, such as multipliers, corresponding to the byte can be provided. Then, the calculation results of the two multipliers 1 and 2 are selected by the signal (■) instructing the byte arrangement, or byte arrangement conversion is performed between the register file 2 and the arithmetic unit, for example, the shifter 50. Means for converting the byte arrangement of input/output data to the shifter 50 by providing MIX devices (MIX) 51 and 52 and converting the byte arrangement of input/output data to the shifter 50 by the above-mentioned byte arrangement instruction signal (2) is a means necessary for carrying out the present invention.
尚、全図を通して同じ符号は同じ対象物を示している。Note that the same reference numerals indicate the same objects throughout the figures.
以下、第1図によって、本発明のデータ処理装置でのバ
イト並びの違いに対応したデータ処理方式を説明する。Hereinafter, with reference to FIG. 1, a data processing method corresponding to the difference in byte arrangement in the data processing apparatus of the present invention will be explained.
第1図(a)は、本発明の多バイト長算術論理演算回路
の構成例であり、レジスタ、及び、データバスが4バイ
ト長のデータ処理装置での例を示している。FIG. 1(a) shows an example of the configuration of a multi-byte arithmetic and logic operation circuit according to the present invention, and shows an example of a data processing device in which the register and data bus are 4 bytes long.
本図の例では、主記憶装置1とレジスタファイル2が直
接に接続されているが、該主記憶装置1とレジスタファ
イル2の間にキャッシュメモリを備えていてもよい。In the example shown in the figure, the main storage device 1 and the register file 2 are directly connected, but a cache memory may be provided between the main storage device 1 and the register file 2.
本発明は、上記の如き、主記憶アクセスを、主記憶装置
lとレジスタファイル2間で行い、すべての演算をレジ
スタファイル2間で行うように構成したデータ処理装置
、例えば、命令縮小型データ処理装置に適用される。The present invention provides a data processing device configured such that main memory access is performed between the main memory device l and the register file 2, and all operations are performed between the register file 2, such as an instruction reduction type data processing device. Applies to equipment.
先ず、(b)図に示したように、主記憶装置lからレジ
スタファイル2へのデータロードにおいて、データのバ
イト並びによらず、アドレス指定されたバイトがレジス
タの上位バイト側になるようにロードする。First, as shown in figure (b), when loading data from main memory l to register file 2, the addressed byte is loaded to the upper byte side of the register, regardless of the byte arrangement of the data. .
多バイト長算術論理演算器3は、(a)図に示したよう
にバイト単位の低レベルの算術論理演算器(以下、AL
Uという)30で構成されており、本実施例では、4つ
の低レベルALU30によって構成されていることが示
されている。各低レベルALU30は、レジスタのバイ
ト位置に対応しており、演算の際には、ソースレジスタ
1,220のバイト位置の等しいバイト同志が同し低レ
ベルALU30に入力される。The multi-byte length arithmetic and logic unit 3 is a byte-based low-level arithmetic and logic unit (hereinafter referred to as AL
In this embodiment, it is shown that it is composed of four low-level ALUs 30. Each low-level ALU 30 corresponds to a byte position of a register, and during an operation, bytes of the same byte position of the source registers 1 and 220 are input to the same low-level ALU 30.
該ALU30には、バイト並び指示信号■が入力され、
これによって低レベルALU30間のキャリー信号の伝
搬方向が制御される。A byte arrangement instruction signal ■ is input to the ALU 30,
This controls the propagation direction of the carry signal between the low level ALUs 30.
本図において、Sol、S02は当該多バイト長ALU
3からのキャリー出力を示し、Sll、S12は当該多
バイト長ALU 3へのキャリー人力を示している。又
、各低レベルALU30間を接続している信号線■が、
キャリー伝播路であり、上記バイト並び指示信号■によ
って、セレクタ(SEL) 31で、上位バイト→下位
バイト、或いは、下位バイト→上位バイトへのキャリー
信号の伝播が行われる。In this figure, Sol, S02 is the multi-byte length ALU
3, and Sll and S12 indicate the carry output to the multi-byte length ALU 3. Also, the signal line ■ connecting each low level ALU30 is
This is a carry propagation path, and the carry signal is propagated from the upper byte to the lower byte or from the lower byte to the upper byte in the selector (SEL) 31 in accordance with the above-mentioned byte arrangement instruction signal (2).
乗算器は、第1図(b)に示されているように、バイト
並び形式に対応した2種類の乗算器1. 240.41
があり、バイト並び指示信号■によって、セレクタ42
で、その出力が選択されるように機能する。As shown in FIG. 1(b), there are two types of multipliers, 1. 240.41
There is a byte arrangement instruction signal ■, selector 42
function so that its output is selected.
又、シフタ50は、−度に1ビツトから32ビツトまで
の任意のビット数をシフト (左シフト。The shifter 50 also shifts an arbitrary number of bits from 1 bit to 32 bits at a time (left shift).
又は、右シフト、又は、サーキュラシフト)可能なもの
である。該シフタ50の前後段に設けられているバイト
並び変換器(MUX) 51.52において、バイト並
び指示信号■に従ってバイト並びが変換される。, right shift, or circular shift). In byte arrangement converters (MUX) 51 and 52 provided before and after the shifter 50, the byte arrangement is converted in accordance with the byte arrangement instruction signal ■.
即ち、該バイト並び指示信号■によって、バイト並び変
換器(MIX) 51において、シフタ50のバイト並
びに対応したバイト並びに変換された後、シフト動作が
行われ、該シフトされた結果は、バイト並び変換器(M
UX) 52において、再度上記バイト並び指示信号■
によって、元のバイト並びに変換される。That is, in accordance with the byte arrangement instruction signal (2), the byte arrangement of the shifter 50 is converted into a corresponding byte arrangement in the byte arrangement converter (MIX) 51, and then a shift operation is performed, and the shifted result is converted into a byte arrangement converter (MIX) 51. Vessel (M
UX) At 52, the above byte arrangement instruction signal ■
is converted to the original byte order.
上記バイト並び指示信号■を生成する手段について、以
下に説明する。The means for generating the above-mentioned byte arrangement instruction signal (2) will be explained below.
前述のように、該バイト並び情報が、主記憶装置1上に
置かれている一連のデータ列の先頭、或いは、最後に置
かれている場合には、該データ列の構成はプログラムが
知っているので、該プログラム手段によって、該バイト
並び情報を、例えば、レジスタファイル2の特定のレジ
スタ、或いは、専用のフラグレジスタ21(第1図(a
)参照)に設定することで、該バイト並び指示信号■を
生成することができる。As mentioned above, if the byte arrangement information is placed at the beginning or end of a series of data strings stored in the main memory 1, the program does not know the structure of the data string. Therefore, the program means stores the byte order information, for example, in a specific register of the register file 2 or in the dedicated flag register 21 (FIG. 1(a)
)), it is possible to generate the byte arrangement instruction signal (2).
又、該バイト並び情報を、各種の演算命令のコード中に
持たせておくことで、該演算命令が図示されていない命
令レジスタに設定された時点等で該バイト並び指示信号
■を出力させることができる。Furthermore, by including the byte order information in the code of various arithmetic instructions, the byte order instruction signal ■ can be outputted at the time when the arithmetic instruction is set in an instruction register (not shown). I can do it.
又、上記実施例においては、レジスタファイル2間の演
算に対して、該バイト並び処理を行う例で説明したが、
例えば、メモリーメモリ間、メモリーレジスタ間等の命
令に対しては、上記レジスタファイル2内に、該演算命
令のコードで記述されない仲介レジスタ20を設けてお
き、該メモリメモリ間、メモリーレジスタ間等の命令が
検出されたとき、該仲介レジスタ20を介して、上記バ
イト並びに対応した処理を実行するように構成すること
で、該メモリーメモリ間、メモリーレジスタ間等の命令
に対しても、本発明の演算を提供することができる。In addition, in the above embodiment, an example was explained in which the byte alignment processing is performed for the operation between the register files 2, but
For example, for instructions between memories, between memory registers, etc., an intermediary register 20 that is not described in the code of the operation instruction is provided in the register file 2, and between the memories, between memory registers, etc. By configuring the above-mentioned byte and corresponding processing to be executed via the intermediary register 20 when an instruction is detected, the present invention can also be applied to instructions between memories, between memory registers, etc. operations can be provided.
このように、本発明は、バイト並びを意識することなく
、レジスタファイル2にデータを転送すると共に、演算
器、例えば、多バイト長算術論理演算器(多バイト長A
LU) 3で算術論理演算を行う際、該多バイト長算術
論理演算器(多バイト長ALU) 3をバイト単位の低
レベルの算術論理演算器(ALU) 30で構成してお
き、バイト並びを指示する信号■によって、例えば、各
バイト単位の低レベルの算術論理演算器(^LU) 3
0からのキャリー信号の伝播方向を制御するとか、バイ
ト並びに対応した演算器、例えば、乗算器を2種類設け
ておき、該2つの乗算器1. 240.41での演算結
果を、該バイト並びを指示する信号■で選択するとか、
或いは、レジスタファイル2と演算器、例えば、シック
500間に、バイト並び変換器(MIIX) 51.5
2を設けておき、上記バイト並び指示信号■によって、
該シック50への入出力データのバイト並びを変換する
ようにした所に特徴がある。In this way, the present invention transfers data to the register file 2 without being aware of the byte arrangement, and also transfers data to the register file 2 without being aware of the byte arrangement.
When performing arithmetic and logical operations on the multi-byte length arithmetic and logic unit (LU) 3, the multi-byte length arithmetic and logic unit (multi-byte length ALU) 3 is configured with a low-level arithmetic and logic unit (ALU) 30 in units of bytes, and the byte arrangement is For example, the low-level arithmetic and logic unit (^LU) for each byte is activated by the instructing signal ■.
To control the propagation direction of the carry signal from 0, two types of arithmetic units, for example, multipliers, corresponding to the bytes are provided, and the two multipliers 1. Selecting the calculation result in 240.41 with the signal ■ that instructs the byte arrangement,
Alternatively, a byte order converter (MIIX) 51.5 is installed between the register file 2 and the arithmetic unit, for example, the chic 500.
2 is provided, and by the above-mentioned byte arrangement instruction signal ■,
The feature is that the byte arrangement of input/output data to the thick 50 is converted.
以上、詳細に説明したように、本発明のデータ処理装置
は、主記憶アクセスを、主記憶装置とレジスタファイル
間で行い、すべての演算をレジスタファイル間で行うよ
うに構成したデータ処理装置、例えば、命令縮小型デー
タ処理装置において、該レジスタファイルに置かれた多
バイト長データのバイト並びを判別して、バイト並び指
示信号■を出力する手段と、バイト単位に構成した算術
論理演算器(ALU)に入力される桁上げ7桁下げ信号
を、上記バイト並び指示信号のによって、上位。As described above in detail, the data processing device of the present invention is a data processing device configured such that main memory access is performed between the main memory device and the register file, and all operations are performed between the register files. , an instruction reduction type data processing device includes means for determining the byte arrangement of multi-byte long data placed in the register file and outputting a byte arrangement instruction signal ■, and an arithmetic logic unit (ALU) configured in byte units. ), the carry and 7 digit down signals are input to the upper byte arrangement instruction signal.
又は、下位の演算器(ALU)の出力する信号から選択
する多バイト長算術論理演算器(多バイト長^LU)を
持つように構成する。又、上記多バイト長算術論理演算
器(多バイト長ALU)以外の演算器(シフタ等)に対
して、上記レジスタファイルと演算器間にバイト並び変
換器(MUX)をもつように構成する。又、上記多バイ
ト長算術論理演算器(多バイト長ALU)以外の演算器
(乗算器等)に対して、2種類のバイト並びに対応する
2種類の演算器(乗算器1.2)を有し、上記バイト並
び指示信号■に基づいて、該2種類の演算器の出力を選
択する手段(セレクタ)を有するようにしたものである
ので、レジスタへのデータロード時に、バイト並びを意
識することなく演算器にロードすることが可能となる効
果を奏し、かかるコンピュータシステムの性能向上に寄
与するところが大きいという効果が得られる。Alternatively, it is configured to have a multi-byte length arithmetic and logic unit (multi-byte length ^LU) that selects from signals output from a lower-order arithmetic unit (ALU). Furthermore, a byte order converter (MUX) is provided between the register file and the arithmetic units for arithmetic units (shifters, etc.) other than the multi-byte arithmetic and logic unit (multi-byte ALU). In addition, for arithmetic units (multipliers, etc.) other than the above-mentioned multi-byte length arithmetic and logic unit (multi-byte length ALU), two types of bytes and two corresponding types of arithmetic units (multipliers 1 and 2) are provided. However, since it has a means (selector) for selecting the output of the two types of arithmetic units based on the above-mentioned byte arrangement instruction signal (■), it is necessary to be aware of the byte arrangement when loading data into the register. This has the effect of making it possible to load the information into the arithmetic unit without any problems, thereby greatly contributing to improving the performance of such computer systems.
第1図は本発明の一実施例を示した図。
第2図は従来のバイト並びを扱うデータ処理装置を説明
する図。
である。
図面において、
■は主記憶装置。
2はレジスタファイル、又は、レジスタ。
3は多バイト長算術論理演算器(多バイト長ALU)
。
30はバイト単位の算術論理演算器(ALU)。
40は乗算器1. 41は乗算器2゜42はセレク
タ、50はシフタ。
51.52はバイト並び変換器(MIX) 。
6はバイト並び変換器。
■はバイト並び指示信号。
をそれぞれ示す。
1ヒ言己憶
1言己憶
従来のバイト並びを扱うデータ処理装置を説明する図第
図
(その1)
第
図
(その2)FIG. 1 is a diagram showing an embodiment of the present invention. FIG. 2 is a diagram illustrating a conventional data processing device that handles byte alignment. It is. In the drawing, ■ is the main storage device. 2 is a register file or register. 3 is a multi-byte length arithmetic logic unit (multi-byte length ALU)
. 30 is an arithmetic logic unit (ALU) in units of bytes. 40 is a multiplier 1. 41 is a multiplier 2, 42 is a selector, and 50 is a shifter. 51.52 is a byte alignment converter (MIX). 6 is a byte order converter. ■ is a byte alignment instruction signal. are shown respectively. Figure 1 (Part 1) Figure (Part 2) A diagram explaining a conventional data processing device that handles byte sequences
Claims (5)
ファイル(2)間で行い、すべての演算をレジスタファ
イル(2)間で行うように構成したデータ処理装置であ
って、 該レジスタファイル(2)に置かれた多バイト長データ
のバイト並びを判別して、バイト並び指示信号([1]
)を出力する手段(21)と、バイト単位に構成した算
術論理演算器(ALU)(30)に入力される桁上げ/
桁下げ信号を、上記バイト並び指示信号([1])によ
って、上位、又は、下位の算術論理演算器(ALU)(
30)の出力する信号から選択する多バイト長算術論理
演算器(多バイト長ALU)(3)を持つことを特徴と
するデータ処理装置。(1) A data processing device configured such that main memory access is performed between the main memory device (1) and a register file (2), and all operations are performed between the register file (2), the register file The byte arrangement of the multi-byte length data placed in (2) is determined, and the byte arrangement instruction signal ([1]
) and a carry/logic unit (21) for outputting
The carry down signal is sent to the upper or lower arithmetic logic unit (ALU) (
30) A data processing device characterized by having a multi-byte length arithmetic and logic unit (multi-byte length ALU) (3) that selects from the output signal.
算術論理演算器(多バイト長ALU)(3)以外の演算
器に対して、上記レジスタファイル(2)と演算器(5
0)間にバイト並び変換器(MUX)(51、52)を
もつことを特徴とするデータ処理装置。(2) In the above data processing device, the register file (2) and the arithmetic unit (5) are connected to the multi-byte length arithmetic logic unit (multi-byte length ALU) (3).
A data processing device characterized by having a byte order converter (MUX) (51, 52) between 0) and 0).
算術論理演算器(多バイト長ALU)(3)以外の演算
器に対して、2種類のバイト並びに対応する2種類の演
算器(40、41)を有し、上記バイト並び指示信号(
[1])に基づいて、該2種類の演算器(40、41)
の出力を選択する手段(セレクタ)(42)を有するこ
とを特徴とするデータ処理装置。(3) In the above data processing device, two types of bytes and two corresponding types of arithmetic units (40, 41) and the above-mentioned byte arrangement instruction signal (
[1]) Based on the above two types of arithmetic units (40, 41)
A data processing device comprising means (selector) (42) for selecting an output of.
記バイト並び指示信号([1])を生成するバイト並び
情報を、該データ処理装置の内部レジスタ(21)、又
は、演算命令コード中に持つことを特徴とするデータ処
理装置。(4) In the data processing device according to any one of claims 1 to 3, the byte order information for generating the byte order instruction signal ([1]) is stored in an internal register (21) of the data processing device or in an arithmetic instruction code. A data processing device characterized by having:
記レジスタファイル(2)に、上記演算命令では記述さ
れない仲介レジスタ(20)を設け、該仲介レジスタ(
20)間で、請求項1〜3に記載の演算を行うことを特
徴とするデータ処理装置。(5) In the data processing device according to any one of claims 1 to 5, the register file (2) is provided with an intermediary register (20) that is not described in the operation instruction, and the intermediary register (20) is provided in the register file (2).
20) A data processing device characterized in that the calculations according to claims 1 to 3 are performed.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2172010A JPH0460831A (en) | 1990-06-29 | 1990-06-29 | Data processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2172010A JPH0460831A (en) | 1990-06-29 | 1990-06-29 | Data processor |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0460831A true JPH0460831A (en) | 1992-02-26 |
Family
ID=15933854
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2172010A Pending JPH0460831A (en) | 1990-06-29 | 1990-06-29 | Data processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0460831A (en) |
-
1990
- 1990-06-29 JP JP2172010A patent/JPH0460831A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR910000364B1 (en) | Emulation system | |
| US5819117A (en) | Method and system for facilitating byte ordering interfacing of a computer system | |
| US4675806A (en) | Data processing unit utilizing data flow ordered execution | |
| US4378589A (en) | Undirectional looped bus microcomputer architecture | |
| KR970022770A (en) | Data processing device | |
| JP2001516916A (en) | Data processing device with digital signal processing capability | |
| NO843839L (en) | A LITTLE MEMORY FOR USE IN A CENTRAL DATA PROCESSING UNIT | |
| US5682531A (en) | Central processing unit | |
| US4339793A (en) | Function integrated, shared ALU processor apparatus and method | |
| US6061782A (en) | Mechanism for floating point to integer conversion with RGB bias multiply | |
| JPH1049369A (en) | Data processing device | |
| JP2617974B2 (en) | Data processing device | |
| US5265204A (en) | Method and apparatus for bit operational process | |
| JP2000322235A (en) | Information processing device | |
| JP2690406B2 (en) | Processor and data processing system | |
| US5210835A (en) | Data processing system having apparatus for increasing the execution speed of bit field instructions | |
| US5175816A (en) | Method and apparatus for bit operational process | |
| US4604722A (en) | Decimal arithmetic logic unit for doubling or complementing decimal operand | |
| JPH0522935B2 (en) | ||
| JPS619725A (en) | Microprogram control circuit | |
| JPS6312025A (en) | Adding and subtracting device | |
| JP2667018B2 (en) | Information processing device | |
| JP2756175B2 (en) | Code assignment method for dual processor DSP | |
| US6286081B1 (en) | Mechanism for ensuring data coherency during sequential readings of portions of data that changes with time | |
| JPS6149263A (en) | Information processing module |