JPH0553808A - Arithmetic processing unit - Google Patents
Arithmetic processing unitInfo
- Publication number
- JPH0553808A JPH0553808A JP3242758A JP24275891A JPH0553808A JP H0553808 A JPH0553808 A JP H0553808A JP 3242758 A JP3242758 A JP 3242758A JP 24275891 A JP24275891 A JP 24275891A JP H0553808 A JPH0553808 A JP H0553808A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- descriptors
- descriptor
- arithmetic processing
- alu
- 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
- 238000000034 method Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 8
- 229940037003 alum Drugs 0.000 description 2
- 230000010485 coping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Landscapes
- Advance Control (AREA)
- Multi Processors (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は複数のALU(論理演算
ユニット)を用いて高速演算処理を行う演算処理装置に
関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an arithmetic processing unit for performing high speed arithmetic processing using a plurality of ALUs (logical operation units).
【0002】[0002]
【従来の技術】一般のマイクロプロセッサにはALUが
1個設けられ、このALUは、入力する命令を解読し、
指定されたレジスタに格納されたデータに、その命令に
応じた演算処理を施して出力する、といった動作を行
う。しかしながら、例えばVLIW(Very long instru
ction word)アーキテクチャのデータ処理を行う演算処
理装置においては、複数のALUを設け複数の命令コー
ドから成る命令を各ALUで一挙に解読し、処理するも
のがある。図2に、このような従来の演算処理装置ブロ
ック図を示す。図2において、この装置にはそれぞれn
個の命令コードから構成される命令M1,M2…Msが
順に入力し、解読され処理される。これらの命令は、主
記憶装置等に格納される。その主記憶装置は、命令バス
10に接続されている。また、この命令バス10にはn
個のディスクリプタD1,D2…Dnが接続されてい
る。そしてこれらのディスクリプタD1,D2…Dn
は、それぞれALU1,ALU2…ALUnに接続され
ている。以上の構成の演算処理装置は、例えば命令M1
を構成する命令コードC1〜Cnを、それぞれ1つずつ
ディスクリプタD1〜Dnに格納し、これに接続された
対応するALU1〜ALUnによって命令コードを解読
し演算処理を実行する。このような構成によれば、同一
時間で複雑な演算処理を高速に行うことができる。2. Description of the Related Art A general microprocessor is provided with one ALU, which decodes an input instruction,
The data stored in the designated register is subjected to arithmetic processing according to the instruction and output. However, for example, VLIW (Very long instru
2. Description of the Related Art In some arithmetic processing devices that perform data processing of a ction word) architecture, a plurality of ALUs are provided and each ALU decodes and processes an instruction consisting of a plurality of instruction codes at once. FIG. 2 shows a block diagram of such a conventional arithmetic processing unit. In FIG. 2, this device has n
Instructions M1, M2, ... Ms composed of individual instruction codes are sequentially input, decoded and processed. These instructions are stored in the main storage device or the like. The main memory device is connected to the instruction bus 10. The instruction bus 10 has n
Descriptors D1, D2 ... Dn are connected. These descriptors D1, D2 ... Dn
Are connected to ALU1, ALU2 ... ALUn, respectively. The arithmetic processing device having the above-described configuration is, for example, the instruction M1.
Each of the instruction codes C1 to Cn configuring the above is stored in the descriptors D1 to Dn one by one, and the instruction codes are decoded by the corresponding ALU1 to ALUn connected to the descriptors and the arithmetic processing is executed. With such a configuration, complex arithmetic processing can be performed at high speed in the same time.
【0003】[0003]
【発明が解決しようとする課題】ところで、この種の演
算処理装置は、上記ディスクリプタ数を増加させ、一度
に解読できる命令コードを増加すればそれだけ性能が向
上する。従って、命令コードの互換性をを保ちながら次
第にディスクリプタ数を増加させ、その性能向上を図っ
てきた。従って、実際にはディスクリプタ数が様々な演
算処理装置が実用化されている。しかしながら、上記の
ような構成の演算処理装置では、ディスクリプタ数の少
ない演算処理装置で使用されている命令を、そのままデ
ィスクリプタ数の多い演算処理装置に入力しても、命令
長の不整合により適切な演算処理を実行することができ
ない。そこで予めディスクリプタ数を合わせるために、
命令コードに新たな命令コードをつなぎ合わせる等の前
処理が必要であった。また逆に、ディスクリプタ数の多
い演算処理装置で使用されていた命令が、ディスクリプ
タ数の少ない演算処理装置に入力した場合には、処理が
不可能で、実用上の互換性がないという問題があった。
本発明は以上の点に着目してなされたもので、ディスク
リプタ数の多い演算処理装置もディスクリプタ数の少な
い演算処理装置も、入力する命令の構成にかかわらず柔
軟に対処し得る演算処理装置を提供することを目的とす
るものである。By the way, in the arithmetic processing unit of this type, the performance is improved by increasing the number of descriptors and increasing the number of instruction codes that can be decoded at one time. Therefore, the number of descriptors has been gradually increased while maintaining the compatibility of instruction codes, and the performance has been improved. Therefore, in practice, arithmetic processing devices with various descriptor numbers have been put to practical use. However, in the arithmetic processing device having the above-described configuration, even if an instruction used in an arithmetic processing device with a small number of descriptors is directly input to an arithmetic processing device with a large number of descriptors, it is appropriate due to an instruction length mismatch. Arithmetic processing cannot be executed. Therefore, in order to match the number of descriptors in advance,
Preprocessing such as joining a new instruction code to the instruction code was necessary. On the other hand, if an instruction used in a processor with a large number of descriptors is input to a processor with a small number of descriptors, processing cannot be performed and there is a problem in that there is no practical compatibility. It was
The present invention has been made in view of the above points, and provides an arithmetic processing device capable of flexibly coping with an arithmetic processing device having a large number of descriptors and an arithmetic processing device having a small number of descriptors regardless of the configuration of an input instruction. The purpose is to do.
【0004】[0004]
【課題を解決するための手段】本発明の第1発明は、複
数のALUと、前記ALUの処理すべき命令を格納する
複数のディスクリプタと、入力する前記命令が複数の命
令コードから構成され、一の命令コードを一のディスク
リプタに格納するものとしたとき、全命令コードの格納
に必要なディスクリプタ数を指定するディスクリプタレ
ジスタと、前記命令コードを処理するALUを特定する
とともに、前記ディスクリプタレジスタの指示するディ
スクリプタ数を越える余剰のALUの出力を無効にする
ことを特徴とする演算処理装置である。本発明の第2発
明は、複数のALUと、前記ALUの処理すべき命令を
格納する複数のディスクリプタと、入力する前記命令が
複数の命令コードから構成され、一の命令コードを一の
ディスクリプタに格納するものとしたとき、全命令コー
ドの格納に必要なディスクリプタ数を指定するディスク
リプタレジスタと、前記全命令コードを複数に分割し
て、前記ディスクリプタレジスタの指示するディスクリ
プタ数の命令コードを、前記ALUを複数回使用して処
理することを特徴とする演算処理装置である。According to a first aspect of the present invention, a plurality of ALUs, a plurality of descriptors for storing instructions to be processed by the ALUs, and a plurality of instruction codes for inputting the instructions are input, When one instruction code is stored in one descriptor, the descriptor register that specifies the number of descriptors required to store all instruction codes and the ALU that processes the instruction code are specified, and the instruction of the descriptor register is specified. The arithmetic processing device is characterized by invalidating the output of the surplus ALU exceeding the number of descriptors to be processed. According to a second aspect of the present invention, a plurality of ALUs, a plurality of descriptors for storing instructions to be processed by the ALUs, and the input instruction are made up of a plurality of instruction codes, and one instruction code is assigned to one descriptor. When stored, the descriptor register that specifies the number of descriptors required to store all instruction codes, the all instruction code is divided into a plurality of instruction codes, and the instruction code of the number of descriptors that the descriptor register indicates is stored in the ALU. It is an arithmetic processing unit characterized by using and processing a plurality of times.
【0005】[0005]
【作用】この装置は、入力した命令の全命令コードの格
納に必要なディスクリプタ数を指定するディスクリプタ
数レジスタ11を備えている。そしてディスクリプタ数
レジスタ11の指示するディスクリプタ数を超える余剰
のALUがある場合、これを無効にし、ディスクリプタ
数が不足する場合には、全命令コードを複数に分割し
て、ALUを複数回使用して処理する。これにより、任
意の命令コード数の命令が入力してもその処理を誤りな
く実行することができる。This device is provided with a descriptor number register 11 for designating the number of descriptors required to store all the instruction codes of the input instruction. If there is a surplus ALU exceeding the number of descriptors indicated by the descriptor number register 11, it is invalidated, and if the number of descriptors is insufficient, all instruction codes are divided into a plurality of ALUs and the ALU is used a plurality of times. To process. As a result, even if an instruction having an arbitrary instruction code number is input, the processing can be executed without error.
【0006】[0006]
【実施例】以下、本発明を図の実施例を用いて詳細に説
明する。図1は、本発明の第1発明の演算処理装置実施
例を示すブロック図である。この装置は、命令コードC
1,C2…Cnから成る命令M1〜Msを順に処理する
ものである。これらの命令は記憶装置に格納され、命令
バス10を介して読み取られる。ここで、この命令バス
10には、上記命令コードを一つずつ格納し、それぞれ
m個のALU1〜ALUmに命令コードを供給するディ
スクリプタD1〜Dmが備えられている。また、本発明
においては、命令バス10にこの他に、ディスクリプタ
数レジスタ11が接続されている。このディスクリプタ
数レジスタ11は、各命令コードをそれぞれ一つのディ
スクリプタに格納するものとした時、命令M1〜Msを
構成する命令コードの格納に必要なディスクリプタ数を
指定するためのものである。図1の例では、例えば命令
M1はC1〜Cnのn個の命令コードから構成されるた
め、ディスクリプタ数レジスタ11には数値nが格納さ
れる。また、この実施例では、命令M1を構成する命令
コードC1〜Cnの数nは、装置に設けられたディスク
リプタ数mよりも小さいとする。The present invention will be described in detail below with reference to the embodiments shown in the drawings. FIG. 1 is a block diagram showing an embodiment of an arithmetic processing unit of the first invention of the present invention. This device has the instruction code C
Instructions M1 to Ms composed of 1, C2 ... Cn are sequentially processed. These instructions are stored in memory and read via instruction bus 10. Here, the instruction bus 10 is provided with descriptors D1 to Dm that store the above instruction codes one by one and supply the instruction codes to m ALU1 to ALUm, respectively. Further, in the present invention, the descriptor number register 11 is also connected to the instruction bus 10. The descriptor number register 11 is for designating the number of descriptors required to store the instruction codes forming the instructions M1 to Ms when each instruction code is stored in one descriptor. In the example of FIG. 1, for example, the instruction M1 is composed of n instruction codes C1 to Cn, so that the numerical value n is stored in the descriptor number register 11. Further, in this embodiment, the number n of the instruction codes C1 to Cn forming the instruction M1 is smaller than the number m of descriptors provided in the device.
【0007】上記のような装置においては、まず、n個
の命令コードから成る命令M1を処理する前に、ディス
クリプタ数レジスタ11に数値nを格納しておく。そし
て、そのディスクリプタ数nの格納により、装置に設け
られたディスクリプタD1〜Dm及びこれに接続される
ALU1〜ALUmのうち、ディスクリプタD1〜Dn
とALU1〜ALUnのみを有効に動作させる構成とす
る。即ち、n個以上のディスクリプタについてはその内
容が無効となり、また、これに接続されたALUの出力
も無効となる。このような構成は、具体的には、例えば
不要なディスクリプタについて、その書込みストローブ
信号を書込み不可の状態に固定しておくことで実現でき
る。ディスクリプタ数レジスタ11からはそのような制
御信号が所定のディスクリプタに供給されるものとす
る。なお、変形例としては、不要なALUのディスクリ
プタに演算処理をしないという命令を格納するようにし
てもよい。この場合には、この種の命令を生成し、格納
するといった処理が必要となる。In the above-mentioned device, first, the numerical value n is stored in the descriptor number register 11 before processing the instruction M1 consisting of n instruction codes. By storing the descriptor number n, the descriptors D1 to Dn among the descriptors D1 to Dm provided in the device and the ALU1 to ALUm connected to the descriptors D1 to Dn are stored.
And ALU1 to ALUn are operated effectively. That is, the contents of n or more descriptors are invalid, and the output of the ALU connected thereto is also invalid. Such a configuration can be realized by, for example, fixing the write strobe signal to an unwritable state for an unnecessary descriptor. It is assumed that such a control signal is supplied from the descriptor number register 11 to a predetermined descriptor. As a modification, an instruction not to perform arithmetic processing may be stored in a descriptor of an unnecessary ALU. In this case, it is necessary to generate and store this type of instruction.
【0008】図3に本発明の第2発明の演算処理装置実
施例ブロック図を示す。図の装置の全体構成は、図1に
示したものとほぼ同様である。しかしながらここでは、
そのディスクリプタが命令M1を構成する命令コードC
1〜Cnの数nよりも少ないk個とされている。このよ
うな場合においても、ディスクリプタ数レジスタ11
に、命令を構成する命令コードの数nを格納しておき、
以下の処理を実行することによって演算処理が可能とな
る。図4に第2発明の動作説明図を示す。第2発明にお
いては、まず、n個の命令コードのうち、初めのk個の
命令コードC1,C2…CkをディスクリプタD1〜D
kに格納する。この状態を図4(a)に示す。このよう
な状態で1回目の演算処理を実行する。その演算処理結
果は図示しないメモリの所定のアドレスに書き込まれ
る。次にこの演算が終了すると、命令M1のn番目より
も後の命令コードが取り出され、これがディスクリプタ
に格納される。即ち、命令コードCk+1…Cnがディ
スクリプタD1…Dn−kに格納される。なお、この場
合、ディスクリプタ数よりも命令コード数が少ない状態
となる。従って、第1発明で説明したように過剰のディ
スクリプタはその出力を無効にしておく。FIG. 3 shows a block diagram of a second embodiment of the arithmetic processing unit of the present invention. The overall configuration of the device shown in the figure is almost the same as that shown in FIG. However, here
The instruction code C whose descriptor constitutes the instruction M1
The number k is smaller than the number n of 1 to Cn. Even in such a case, the descriptor number register 11
Stores the number n of instruction codes that make up an instruction,
The arithmetic processing can be performed by executing the following processing. FIG. 4 shows an operation explanatory diagram of the second invention. In the second invention, first of the n instruction codes, the first k instruction codes C1, C2, ...
Store in k. This state is shown in FIG. In such a state, the first arithmetic processing is executed. The calculation processing result is written in a predetermined address of a memory (not shown). Next, when this operation is completed, the instruction code after the n-th instruction of the instruction M1 is fetched and stored in the descriptor. That is, the instruction codes Ck + 1 ... Cn are stored in the descriptors D1 ... Dn-k. In this case, the number of instruction codes is smaller than the number of descriptors. Therefore, as described in the first aspect of the invention, the excessive descriptors invalidate their output.
【0009】こうして2回目の処理を行い、その出力を
所定のメモリに格納する。これらの処理が終了した段階
では、当初からn個のディスクリプタを備えた演算処理
装置を用いて処理した結果と同様の結果が得られる。従
って、第2発明によって、実際のディスクリプタ数より
も長い命令が入力した場合においても、これを円滑に処
理することができる。上記のような構成によれば、VL
IWアーキテクチャのプロセッサについて、それぞれデ
ィスクリプタ数、即ちALU数が異なる装置間で命令コ
ードの互換性を保ち、命令の構成を変更することなくそ
のまま必要な処理が実行できる。従って、例えばディス
クリプタ数の非常に多い高性能の装置によってディスク
リプタ数の少ない装置で使用されていた命令をそのまま
処理することができるし、高速処理を要求される場合に
は、従来通り、命令に含まれる命令コード数を増加さ
せ、所定の性能を発揮するようにすればよい。In this way, the second processing is performed and the output is stored in a predetermined memory. At the stage where these processes are completed, the same result as the result obtained by using the arithmetic processing device having n descriptors from the beginning is obtained. Therefore, according to the second invention, even when an instruction longer than the actual number of descriptors is input, this can be smoothly processed. According to the above configuration, the VL
With regard to the processor of the IW architecture, the instruction code compatibility is maintained between devices having different descriptor numbers, that is, ALU numbers, and the necessary processing can be executed without changing the instruction configuration. Therefore, for example, an instruction used in a device with a small number of descriptors can be directly processed by a high-performance device with a large number of descriptors, and if high-speed processing is required, it is included in the instruction as usual. The number of instruction codes to be generated may be increased so that the prescribed performance is exhibited.
【0010】[0010]
【発明の効果】以上発明した本発明の演算処理装置は、
複数のALUを備えたVLIWアーキテクチャの処理装
置において、入力する命令の一の命令コードを一のディ
スクリプタに格納するものとした時、全命令コードの格
納に必要なディスクリプタ数を、予めディスクリプタ数
レジスタに格納し、ディスクリプタ数を超える余剰のA
LUの出力を無効にし、あるいは、命令コードを複数に
分割し、ALUを複数回使用して処理を行うため、異な
る装置間での命令コードの互換性を保つことができる。The arithmetic processing unit of the present invention as invented above is
In a processor having a VLIW architecture including a plurality of ALUs, when one instruction code of an input instruction is stored in one descriptor, the descriptor number required for storing all instruction codes is previously stored in the descriptor number register. Store the surplus A that exceeds the number of descriptors
The output of the LU is invalidated, or the instruction code is divided into a plurality of pieces and the ALU is used a plurality of times to perform the processing, so that the compatibility of the instruction code between different devices can be maintained.
【図1】本発明の第1発明の演算処理装置実施例を示す
ブロック図である。FIG. 1 is a block diagram showing an embodiment of an arithmetic processing unit of the first invention of the present invention.
【図2】従来の演算処理装置を示すブロック図である。FIG. 2 is a block diagram showing a conventional arithmetic processing unit.
【図3】本発明の第2発明の演算処理装置実施例を示す
ブロック図である。FIG. 3 is a block diagram showing an embodiment of an arithmetic processing unit of the second invention of the present invention.
【図4】本発明の第2発明の動作説明図である。FIG. 4 is an operation explanatory diagram of the second invention of the present invention.
C1〜Cn 命令コード D1〜Dn ディスクリプタ 11 ディスクリプタ数レジスタ C1 to Cn instruction code D1 to Dn descriptor 11 descriptor number register
Claims (2)
リプタと、 入力する前記命令が複数の命令コードから構成され、一
の命令コードを一のディスクリプタに格納するものとし
たとき、全命令コードの格納に必要なディスクリプタ数
を指定するディスクリプタ数レジスタと、 前記命令コードを処理するALUを特定するとともに、
前記ディスクリプタ数レジスタの指示するディスクリプ
タ数を越える余剰のALUの出力を無効にすることを特
徴とする演算処理装置。1. A plurality of ALUs, a plurality of descriptors for storing instructions to be processed by the ALUs, and a plurality of instruction codes for inputting the instructions to be input, wherein one instruction code is stored in one descriptor. Then, the descriptor number register that specifies the number of descriptors required to store all the instruction codes, and the ALU that processes the instruction code are specified.
An arithmetic processing unit, which invalidates the output of a surplus ALU exceeding the number of descriptors designated by the descriptor number register.
リプタと、 入力する前記命令が複数の命令コードから構成され、一
の命令コードを一のディスクリプタに格納するものとし
たとき、全命令コードの格納に必要なディスクリプタ数
を指定するディスクリプタ数レジスタと、 前記全命令コードを複数に分割して、前記ディスクリプ
タ数レジスタの指示するディスクリプタ数の命令コード
を、前記ALUを複数回使用して処理することを特徴と
する演算処理装置。2. A plurality of ALUs, a plurality of descriptors for storing instructions to be processed by the ALUs, and a plurality of instruction codes for inputting the instructions, wherein one instruction code is stored in one descriptor. In this case, the descriptor number register that specifies the number of descriptors required to store all instruction codes, the all instruction code is divided into a plurality, and the instruction code of the number of descriptors that the descriptor number register indicates is stored in the ALU. An arithmetic processing device characterized by being used a plurality of times for processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3242758A JPH0553808A (en) | 1991-08-28 | 1991-08-28 | Arithmetic processing unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3242758A JPH0553808A (en) | 1991-08-28 | 1991-08-28 | Arithmetic processing unit |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0553808A true JPH0553808A (en) | 1993-03-05 |
Family
ID=17093834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3242758A Pending JPH0553808A (en) | 1991-08-28 | 1991-08-28 | Arithmetic processing unit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0553808A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08241200A (en) * | 1994-12-09 | 1996-09-17 | Mitsubishi Electric Res Lab Inc | Vliw processor |
-
1991
- 1991-08-28 JP JP3242758A patent/JPH0553808A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08241200A (en) * | 1994-12-09 | 1996-09-17 | Mitsubishi Electric Res Lab Inc | Vliw processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3949379A (en) | Pipeline data processing apparatus with high speed slave store | |
US5204953A (en) | One clock address pipelining in segmentation unit | |
US6128614A (en) | Method of sorting numbers to obtain maxima/minima values with ordering | |
US4835733A (en) | Programmable access memory | |
KR940009094B1 (en) | Data processing system | |
US4037213A (en) | Data processor using a four section instruction format for control of multi-operation functions by a single instruction | |
US5341500A (en) | Data processor with combined static and dynamic masking of operand for breakpoint operation | |
KR100346515B1 (en) | Temporary pipeline register file for a superpipe lined superscalar processor | |
US4954943A (en) | Data processing system | |
JPH0248931B2 (en) | ||
JPS6019809B2 (en) | data processing equipment | |
JPH06332695A (en) | Data processor and control circuit thereof | |
US5452427A (en) | Data processing device for variable word length instruction system having short instruction execution time and small occupancy area | |
JPS58161042A (en) | Data processing system | |
KR920004279B1 (en) | Microprocessor with Pointer Register | |
JPS6368971A (en) | Vector processor | |
US4812970A (en) | Microprogram control system | |
US3480917A (en) | Arrangement for transferring between program sequences in a data processor | |
JPH0553808A (en) | Arithmetic processing unit | |
JPH02293931A (en) | Control unit | |
JPS60107137A (en) | Data processor with tag | |
GB2108737A (en) | Byte addressable memory for variable length instructions and data | |
US5187782A (en) | Data processing system | |
JP2583506B2 (en) | Data processing device | |
JPH0628034B2 (en) | Calculator with tag |