JPH0266624A - Data processor - Google Patents

Data processor

Info

Publication number
JPH0266624A
JPH0266624A JP63218821A JP21882188A JPH0266624A JP H0266624 A JPH0266624 A JP H0266624A JP 63218821 A JP63218821 A JP 63218821A JP 21882188 A JP21882188 A JP 21882188A JP H0266624 A JPH0266624 A JP H0266624A
Authority
JP
Japan
Prior art keywords
arithmetic
data
register
selector
logic unit
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
JP63218821A
Other languages
Japanese (ja)
Other versions
JP2760808B2 (en
Inventor
Ryuichi Satomura
里村 隆一
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 JP63218821A priority Critical patent/JP2760808B2/en
Publication of JPH0266624A publication Critical patent/JPH0266624A/en
Application granted granted Critical
Publication of JP2760808B2 publication Critical patent/JP2760808B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE:To perform a series of arithmetic actions at a high speed by adding plural computing elements connected to a shared bus to an instruction executing means and supplying data again through an exclusive register which stores the arithmetic result with no intervention of the shared bus. CONSTITUTION:A barrel shifter 16 transfers the arithmetic subject data and the arithmetic result data via the internal buses BUS1, BUS2 and BUS3 serving as the shared buses, receives the arithmetic subject data with no intervention of those internal buses and also stores the arithmetic result data. In other words, the exclusive registers 28 and 29 are prepared for the shifter 16. The output terminal of the register 28 is connected to the BUS1 as well as to the input terminal of a selector 22. The output terminal of this selector 22 is connected to one of two input terminals of the shifter 16. The output terminal of the register 29 is connected to the BUS2 as well as to the input terminal of a selector 24 whose output terminal is connected to the other input terminal of the shifter 16.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータ処理装置さらには算術論理演算のための
演算器とレジスタの構成に関し、例えばマイクロプログ
ラム制御されるプロセッサに適用して有効な技術に関す
るものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to data processing devices, as well as the configuration of arithmetic units and registers for arithmetic and logic operations, and is a technology that is effective when applied to, for example, microprogram-controlled processors. It is related to.

〔従来技術〕[Prior art]

プロセッサのようなデータ処理装置の実行部には算術論
理演算器やバレルシフタ、さらにはソースレジスタやデ
スティネーションレジスタとされる各種レジスタが含ま
れ、従来それらは単数もしくは複数の内部バスを共有す
るように結合されている。このような実行部で所要の演
算を行う場合。
The execution unit of a data processing device such as a processor includes an arithmetic and logic unit, a barrel shifter, and various registers called source registers and destination registers. Conventionally, these registers share one or more internal buses. combined. When performing the required calculations in such an execution part.

ソースレジスタのデータを内部バスを介して演算器に与
え、その演算結果をディスティネーションレジスタに格
納する。このような演算サイクルにおいて、演算対象デ
ータは必ず内部バスから所要の演算器に与えられ、更に
その演算結果は内部バスを介して所要レジスタに戻され
るから、1の演算サイクルでは基本的に1つの演算器し
か動作させることができない。
The data in the source register is given to the arithmetic unit via the internal bus, and the result of the arithmetic operation is stored in the destination register. In such an operation cycle, the data to be operated on is always given to the required arithmetic unit from the internal bus, and the operation result is returned to the required register via the internal bus, so basically one operation cycle Only arithmetic units can be operated.

尚、実行部に含まれる演算器とレジスタの構成について
記載された文献の例としては1981年5月発行のrI
EEEマイクロ」第26頁乃至第38頁がある。
An example of a document that describes the configuration of the arithmetic units and registers included in the execution section is rI published in May 1981.
EEE Micro” pages 26 to 38.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

演算対象データは必ず共有バスを介してレジスタから演
算器に与えられ、演算結果データも内部バスを介して所
要レジスタに戻されるような従来の構成では、内部バス
上における転送データの競合回避のため1の演算サイク
ルでは基本的に1つの演算器しか動作させることができ
ないため、複数の演算器を用いて一連の演算動作をサイ
クリックに行うような場合には演算器の利用回数に呼応
する動作ステップが必要になり、演算処理の高速化を図
るにも限界があった。例えば算術論理演算器とバレルシ
フタを用いて加算とシフト操作によりnビットの被乗数
とnビットの乗数との乗算を行う場合、上位nビットに
0、下位nビットに乗数を入れた20ビツトを生成する
。この2nビツトの最下位ビットが1のときに上位nビ
ットに被乗数を加算し、0のときは上位nビットに0を
加算し、この結果に対して2nビツトを全体的に右へ(
最下位ビット側へ)1ビツトシフトさせ、以下同様の操
作をn回繰り返し、その結果残った2nビツトを乗算結
果とする。このとき、個々の加算操作で得られた値やシ
フト操作で得られた値は夫々共有レジスタに蓄えられ、
次のステップに供されなければならないが、加算操作で
得られた値やシフト操作で得られた値を共有レジスタに
転送するには各演算器が共有する内部バスを利用しなけ
ればならないため、転送データの競合を回避するにはそ
のような乗算に少なくとも2n回の動作サイクルが必要
になる。
In the conventional configuration, in which the data to be operated on is always given from the register to the arithmetic unit via the shared bus, and the operation result data is also returned to the required register via the internal bus, it is necessary to avoid contention of transferred data on the internal bus. Basically, only one arithmetic unit can be operated in one arithmetic cycle, so when a series of arithmetic operations is performed cyclically using multiple arithmetic units, the operation corresponds to the number of times the arithmetic unit is used. Steps were required, and there was a limit to speeding up arithmetic processing. For example, when multiplying an n-bit multiplicand by an n-bit multiplier by adding and shifting using an arithmetic logic unit and a barrel shifter, 20 bits are generated with 0 in the upper n bits and the multiplier in the lower n bits. . When the least significant bit of these 2n bits is 1, add the multiplicand to the upper n bits, and when it is 0, add 0 to the upper n bits, and for this result, move the 2n bits as a whole to the right (
Then, the same operation is repeated n times, and the remaining 2n bits are used as the multiplication result. At this time, the values obtained from individual addition operations and values obtained from shift operations are stored in shared registers, respectively.
In order to transfer the values obtained from the addition operation and the values obtained from the shift operation to the shared register, the internal bus shared by each arithmetic unit must be used. Such a multiplication requires at least 2n operating cycles to avoid conflicts in transferred data.

本発明の目的は複数の演算器を用いた一連の演算動作の
高速化を図ることができるデータ処理装置を提供するこ
とにある。
An object of the present invention is to provide a data processing device that can speed up a series of arithmetic operations using a plurality of arithmetic units.

本発明の前記並びにそのほかの目的とし新規な特徴は本
明細書の記述及び添付図面から明らかになるであろう。
The above and other objective and novel features of the present invention will become apparent from the description of this specification and the accompanying drawings.

〔課題を解決するための手段〕[Means to solve the problem]

本願において開示される発明のうち代表的なものの概要
を簡単に説明すれば下記の通りである。
A brief overview of typical inventions disclosed in this application is as follows.

すなわち、命令を実行するための実行手段に、共有バス
に結合された複数の演算器を備え、上記演算器を5演算
結果を共有バスを通さずに蓄える専用レジスタから再び
データが供給され得るように構成するものである。
That is, the execution means for executing instructions is provided with a plurality of arithmetic units connected to a shared bus, and data can be supplied to the arithmetic units again from a dedicated register that stores the results of five operations without passing them through the shared bus. It consists of:

このとき、上記演算器には、セレクタを介して専用デー
タレジスタの出力データ又は共有バスから与えられるデ
ータを選択的に供給可能とすることが、演算器を汎用的
に利用する上において望ましい。そして、セレクタによ
る入力データの選択制御を含む各種演算制御はマイクロ
命令による制御とすることができる。
At this time, it is desirable to be able to selectively supply the output data of the dedicated data register or the data given from the shared bus to the arithmetic unit via a selector in order to make general use of the arithmetic unit. Various calculation controls including selection control of input data by the selector can be controlled by microinstructions.

〔作 用〕[For production]

上記した手段によれば、ある演算器が共有バスから与え
られるデータを処理してその処理結果を共有バスに与え
るとき、他の演算器は専用レジスタから与えられるデー
タを処理したり、演算結果を専用レジスタに格納するこ
とができ、これにより、複数の演算器は同一演算サイク
ルにおいて共有バスの競合を回避して並列演算処理が可
能になり、これが複数の演算器を用いた一連の演算動作
の高速化を達成するように働く。
According to the above-mentioned means, when a certain arithmetic unit processes data given from a shared bus and gives the processing result to the shared bus, other arithmetic units process data given from a dedicated register or send the result of the operation to the shared bus. This allows multiple arithmetic units to perform parallel arithmetic processing in the same arithmetic cycle by avoiding contention on the shared bus. Works to achieve high speed.

〔実施例〕〔Example〕

第4図には本発明に係るデータ処理装置の一実施例であ
るプロセッサが示される。同図に示されるプロセッサ1
は、特に制限されないが、公知の半導体集積回路製造技
術によってシリコン基板のような1個の半導体基板に形
成される。
FIG. 4 shows a processor which is an embodiment of the data processing apparatus according to the present invention. Processor 1 shown in the figure
is formed on a single semiconductor substrate such as a silicon substrate by a known semiconductor integrated circuit manufacturing technique, although it is not particularly limited.

このプロセッサ1は入出力回路2を介して結合される外
部の図示しないプログラムメモリからマクロ命令をフェ
ッチし、その命令をマイクロプログラム制御に基づいて
実行部3で実行する制御形態を有する。
This processor 1 has a control form in which a macro instruction is fetched from an external program memory (not shown) connected via an input/output circuit 2, and the instruction is executed by an execution unit 3 based on microprogram control.

上記実行部3による各種演算処理手順などを記述したマ
イクロプログラムはマイクロROM (リード・オンリ
・メモリ)4に格納される。このマイクロROM4は、
命令フェッチ部5にフェッチされたマクロ命令の命令コ
ードをデコードする命令デコーダ6の出力やシーケンス
コントローラ7の出力によってアクセスされることによ
り、マイ′クロプログラムを構成するマイクロ命令が順
次読み出される。
A microprogram describing various arithmetic processing procedures by the execution unit 3 is stored in a micro ROM (read-only memory) 4. This micro ROM4 is
The microinstructions constituting the microprogram are sequentially read out by being accessed by the output of an instruction decoder 6 that decodes the instruction code of the macroinstruction fetched by the instruction fetch unit 5 and the output of the sequence controller 7.

上記命令フェッチ部5は、入出力回路2及び命令フェッ
チバス8を介して図示しないメモリから与えられるマク
ロ命令をフェッチする。命令デコーダ6は、マクロ命令
に含まれる命令コードをデコードして得られるアドレス
情報に基づいて上記マイクロROM4をアクセスする。
The instruction fetch unit 5 fetches macro instructions provided from a memory (not shown) via the input/output circuit 2 and the instruction fetch bus 8. The instruction decoder 6 accesses the micro ROM 4 based on address information obtained by decoding the instruction code included in the macro instruction.

これにより、そのマクロ命令で指示される演算処理など
を行うための一連のマイクロ命令群の先頭のマイクロ命
令が読み出される。上記マクロ命令で指示される演算処
理を行うための一連のマイクロ命令群の第2番目以降の
マイクロ命令は、直前に読み出されたマイクロ命令のネ
タストアドレスフィールドの情報が上記シーケンスコン
トローラ7に供給されることによって指示される。この
ようにしてマイクロROM4から読み出されるマイクロ
命令はマイクロ命令デコーダ9に供給される。このマイ
クロ命令デコーダ9は、与えられたマイクロ命令をデコ
ードし、実行部3などに対する制御信号10を生成する
As a result, the first microinstruction of a series of microinstructions for performing the arithmetic processing specified by the macroinstruction is read out. For the second and subsequent microinstructions in a series of microinstructions for performing arithmetic processing instructed by the macroinstruction, the information in the netast address field of the microinstruction read immediately before is supplied to the sequence controller 7. Directed by what is done. The micro-instructions read out from the micro-ROM 4 in this manner are supplied to the micro-instruction decoder 9. This microinstruction decoder 9 decodes the applied microinstruction and generates a control signal 10 for the execution unit 3 and the like.

上記実行部3はマイクロ命令デコーダ9から出力される
制御信号1oに基づいてデータやアドレスの演算を行い
、内部データ/アドレスバス11を介して上記入出力回
路2に結合される。尚、内部データ/アドレスバス11
又は命令フェッチバス8の何れを外部とインタフェース
するかの選択はシーケンスコントローラ7の指示に基づ
いて制御され、命令フェッチサイクルにおいては命令フ
ェッチバス8が選択されるようになっている。
The execution unit 3 performs data and address calculations based on the control signal 1o output from the microinstruction decoder 9, and is coupled to the input/output circuit 2 via the internal data/address bus 11. Furthermore, the internal data/address bus 11
The selection of which of the instruction fetch buses 8 to interface with the outside is controlled based on instructions from the sequence controller 7, and the instruction fetch bus 8 is selected in the instruction fetch cycle.

第1図には上記実行部3に含まれるデータ演算系の一例
が示される。
FIG. 1 shows an example of a data calculation system included in the execution section 3.

この実行部3のデータ演算系は、特に制限されないが、
算術論理演算器15.1ビツトのシフタ17、及びバレ
ルシフタ16を演算器として備えると共に、3個の共有
レジスタ18〜20を有する。これら演算器15〜17
及び共有レジスタ18〜20は、特に制限されないが、
基本的に夫々4ビツトの内部バスBUSI、BUS2.
BUS3を共有する。即ち、算術論理演算器15による
演算結果やバレルシフタ16によるシフト演算結果は内
部バスBUS3に与えられ、この内部バスBUS3には
共有レジスタ18〜2oの入力端子が結合される。上記
バスBUSIは、共有レジスタ19の出力端子やシフタ
17の入力端子に結合されると共に、セレクタ21を介
して算術論理演算器15の一方の入力端子、さらにはセ
レクタ22を介してバレルシフタ16の一方の入力端子
に接続し得るようになっている。上記内部バスBUS2
は、共有レジスタ18.20の出力端子に結合されると
共に、セレクタ23を介して算術論理演算器15の他方
の入力端子、さらにはセレクタ24を介してバレルシフ
タ16の他方の入力端子に接続し得るようになっている
The data calculation system of this execution unit 3 is not particularly limited, but
Arithmetic logic unit 15. It is provided with a 1-bit shifter 17 and a barrel shifter 16 as arithmetic units, and also has three shared registers 18-20. These computing units 15 to 17
and the shared registers 18 to 20 are not particularly limited, but
Basically, internal buses BUSI, BUS2 .
Share BUS3. That is, the operation results by the arithmetic and logic operator 15 and the shift operation results by the barrel shifter 16 are applied to the internal bus BUS3, and the input terminals of the shared registers 18 to 2o are coupled to the internal bus BUS3. The bus BUSI is coupled to the output terminal of the shared register 19 and the input terminal of the shifter 17, and also to one input terminal of the arithmetic and logic unit 15 via the selector 21, and further to one of the barrel shifter 16 via the selector 22. It can be connected to the input terminal of Above internal bus BUS2
is coupled to the output terminal of the shared register 18.20, and can be connected to the other input terminal of the arithmetic and logic unit 15 via the selector 23, and further to the other input terminal of the barrel shifter 16 via the selector 24. It looks like this.

上記バレルシフタ16は、特に制限されないが、セレク
タ22.24を介して双方の入力端子に与えられるデー
タに対して任意ビット数のシフト操作を行う。ここで、
バレルシフタ16は、演算対象データや演算結果データ
を内部バスBUSI。
The barrel shifter 16 performs a shift operation of an arbitrary number of bits on data applied to both input terminals via the selectors 22 and 24, although this is not particularly limited. here,
The barrel shifter 16 transfers calculation target data and calculation result data to an internal bus BUSI.

BUS2.BUS3を介してやりとりするほか、共有バ
スとしてのそれら内部バスBUSI、BU32、BUS
3を通さずに演算対象データを受は取ると共にその演算
結果データを蓄え得るようになっている。即ち、バレル
シフタ16のための専用レジスタ28.29が設けられ
、当該一方の専用レジスタ28の出力端子は上記内部バ
スBUS1と共に上記セレクタ22の入力端子に結合さ
れる。このセレクタ22の出力端子はバレルシフタ16
の一方の入力端子に結合される。また、もう一方の専用
レジスタ29の出力端子は、出力端子がバレルシフタ1
6の他方の入力端子に結合された上記セレクタ24の入
力端子に内部バスBUS2と共に結合される。そして、
上記専用レジスタ28.29の入力端子はバレルシフタ
16の出力端子に結合される。尚、当該バレルシフタ1
6の出力端子と内部バスBUS3との間にはバレルシフ
タ16の出力を専用レジスタ28又は29だけが取り込
むときに、内部バスBUSa上の他のデータがそのよう
なバレルシフタ16の出力データによって破壊されない
ようにするため、選択的に高出力インピーダンス状態を
採り得るゲート30が設けられている。
BUS2. In addition to communicating via BUS3, these internal buses BUSI, BU32, and BUS as shared buses
3, data to be calculated can be received and the data resulting from the calculation can be stored. That is, dedicated registers 28 and 29 are provided for the barrel shifter 16, and the output terminal of one of the dedicated registers 28 is coupled to the input terminal of the selector 22 together with the internal bus BUS1. The output terminal of this selector 22 is the barrel shifter 16
is coupled to one input terminal of In addition, the output terminal of the other dedicated register 29 is connected to the barrel shifter 1.
The input terminal of the selector 24, which is coupled to the other input terminal of the selector 6, is coupled together with the internal bus BUS2. and,
The input terminals of the dedicated registers 28 , 29 are coupled to the output terminals of the barrel shifter 16 . In addition, the barrel shifter 1
Between the output terminal of 6 and the internal bus BUS3, when only the dedicated register 28 or 29 takes in the output of the barrel shifter 16, there is a connection so that other data on the internal bus BUSa is not destroyed by such output data of the barrel shifter 16. In order to achieve this, a gate 30 is provided which can selectively assume a high output impedance state.

上記セレクタ22.24に対する選択制御、並びに専用
レジスタ28.29の入出力制御やゲート30の出力制
御、さらにはバレルシフタ16によるシフト操作はマイ
クロプログラムに従って制御されるようになっている。
Selection control of the selectors 22 and 24, input/output control of the dedicated registers 28 and 29, output control of the gate 30, and shift operation by the barrel shifter 16 are controlled according to a microprogram.

上記算術論理演算器15は、特に制限されないが、セレ
クタ21.23を介して双方の入力端子から与えられる
データに対して加減算を行う。ここで、上記算術論理演
算器15は、演算対象データや演算結果データを内部バ
スBUSI、BUS2、BUS3を介してやりとりする
ほか、共有バスとしてのそれら内部バスBUSI、BU
S2゜BUS3を通さずに演算対象データを受は取ると
共にその演算結果データを蓄え得るようになっている。
The arithmetic and logic unit 15 performs addition and subtraction on data supplied from both input terminals via the selectors 21 and 23, although this is not particularly limited. Here, the arithmetic and logic unit 15 exchanges operation target data and operation result data via internal buses BUSI, BUS2, and BUS3, and also uses these internal buses BUSI and BU as shared buses.
Data to be calculated can be received without passing through the S2° BUS3, and data resulting from the calculation can be stored.

即ち、算術論理演算器15のための専用レジスタ25.
26が設けられ、当該一方の専用レジスタ25の出力端
子は上記シフタ17の出力端子と内部バスBUSIと共
に上記セレクタ21の入力端子に結合される。このセレ
クタ21の出力端子は算術論理演算器15の一方の入力
端子に結合される。また、もう一方の専用レジスタ26
の出力端子は、出力端子が算術論理演算器15の他方の
入力端子に結合された上記セレクタ23の入力端子に結
合される。このセレクタ23には、特に制限されないが
、上記専用レジスタ26や内部バスBUS 1から与え
られるデータのほかに4ビツトの論理「0」データも与
えられるようになっている。そして、上記専用レジスタ
25.26の入力端子は算術論理演算器15の出力端子
に結合される。尚、当該算術論理演算器15の出力端子
と内部バスBUS3との間には算術論理演算器15の出
力を専用レジスタ25又は26だけが取り込むときに、
内部バスBUS3上の他のデータがそのような算術論理
演算器15の出力データによって破壊されないようにす
るため、選択的に高出力インピーダンス状態を採り得る
ゲート27が設けられている。
That is, a dedicated register 25. for the arithmetic logic unit 15.
26, and the output terminal of one of the dedicated registers 25 is coupled to the input terminal of the selector 21 along with the output terminal of the shifter 17 and the internal bus BUSI. The output terminal of the selector 21 is coupled to one input terminal of the arithmetic and logic unit 15. Also, the other dedicated register 26
The output terminal of is coupled to the input terminal of the selector 23 whose output terminal is coupled to the other input terminal of the arithmetic and logic unit 15. This selector 23 is adapted to receive 4-bit logic "0" data in addition to the data supplied from the dedicated register 26 and the internal bus BUS1, although this is not particularly limited. The input terminals of the dedicated registers 25 and 26 are coupled to the output terminal of the arithmetic and logic unit 15. Note that when only the dedicated register 25 or 26 takes in the output of the arithmetic and logic unit 15 between the output terminal of the arithmetic and logic unit 15 and the internal bus BUS3,
In order to prevent other data on the internal bus BUS3 from being destroyed by such output data of the arithmetic and logic unit 15, a gate 27 is provided which can selectively assume a high output impedance state.

上記セレクタ21.23に対する選択制御、並びに専用
レジスタ25.26の入出力制御やゲート27の出力制
御、さらには算術論理演算器15による演算操作は基本
的にマイクロプログラムに従って制御されるようになっ
ている。特に制限されないが、セレクタ23において、
論理「0」データを選択するか内部バスBUS2からの
データを選択するかの制御に当たっては、バレルシフタ
16のシフト操作によってオーバーフローされる最下位
ビットOFBが参照される。このような制御は専ら乗算
で必要とされ、その詳細は後で説明する。
Selection control for the selectors 21 and 23, input/output control of the dedicated registers 25 and 26, output control of the gate 27, and arithmetic operations by the arithmetic and logic unit 15 are basically controlled according to a microprogram. There is. Although not particularly limited, in the selector 23,
In controlling whether to select logical "0" data or data from internal bus BUS2, the least significant bit OFB overflowed by the shift operation of barrel shifter 16 is referred to. Such control is required exclusively for multiplication, the details of which will be explained later.

第2図には上記セレクタ21,23.専用レジスタ25
,26、及びゲート27の詳細な一例が示される。同図
には内部バスBUSI、BUS2゜BUS3の1ビツト
分のバス信号線BUS1i。
FIG. 2 shows the selectors 21, 23. Dedicated register 25
, 26, and gate 27 are shown. In the figure, a bus signal line BUS1i for 1 bit of internal buses BUSI, BUS2 and BUS3 is shown.

BIS2i、BUS3iに関する構成が代表的に示され
る。
The configuration regarding BIS2i and BUS3i is shown as a representative.

上記専用レジスタ25は、特に制限されないが、バス信
号線の1ビツトに対して2ビツトのスタティックラッチ
回路を備え、夫々にはクロックドインバータ32.33
で構成される入力ゲートを介して算術論理演算器15の
出力が選択的に与えられるようになっている。一方のス
タティックラッチ回路は、特に制限されないが、インバ
ータ34とこれに帰還結合されたクロックドインバータ
35によって構成され、同様に他方のスタティックラッ
チ回路もインバータ36とこれに帰還結合されたクロッ
クドインバータ37によって構成される。入力ゲートと
してのクロックドインバータ32.33は上記制御信号
の10の一部である入力制御信号φi工、φ12によっ
て選択制御され、これに呼応して上記クロックドインバ
ータ35,37は制御信号φill φ12によってそ
の制御ゲートが制御される。尚、本実施例において各種
クロックドインバータはローレベルの制御信号によって
高出力インピーダンス状態を採り、ハイレベルの制御信
号によって入力信号の反転レベルを出力可能な状態に制
御される。
Although not particularly limited, the dedicated register 25 includes a 2-bit static latch circuit for 1 bit of the bus signal line, and clocked inverters 32 and 33, respectively.
The output of the arithmetic and logic unit 15 is selectively given through an input gate consisting of the following. Although not particularly limited, one static latch circuit includes an inverter 34 and a clocked inverter 35 coupled in feedback to the inverter 34, and similarly, the other static latch circuit includes an inverter 36 and a clocked inverter 37 coupled in feedback to the inverter 34. Consisted of. The clocked inverters 32 and 33 as input gates are selectively controlled by the input control signals φi and φ12, which are part of the control signals 10, and in response, the clocked inverters 35 and 37 are controlled by the control signals φill and φ12. The control gate is controlled by In this embodiment, various clocked inverters are controlled to take a high output impedance state by a low-level control signal, and to be able to output an inverted level of an input signal by a high-level control signal.

上記セレクタ21は、特に制限されないが、上記シフタ
17からのデータを入力端子に受けるクロックドインバ
ータ38、バス信号線BUS 1 iから供給されるデ
ータを入力端子に受けるクロックドインバータ39、上
記セレクタ25に含まれるインバータ34.36の出力
端子に入力端子が結合されたクロックドインバータ40
,41、及びそれらクロックドインバータ38,39,
40゜41の出力端子にワイヤードオア結合された論理
整合用インバータ42を含む。上記クロックドインバー
タ38,39,40.41は制御信号10の一部である
選択制御信号φ131 φ141 φ1g+φiGによ
って選択制御される。
The selector 21 includes, but is not particularly limited to, a clocked inverter 38 that receives data from the shifter 17 at its input terminal, a clocked inverter 39 that receives data supplied from the bus signal line BUS 1 i at its input terminal, and the selector 25. a clocked inverter 40 whose input terminal is coupled to the output terminal of an inverter 34, 36 included in the clocked inverter 40;
, 41, and their clocked inverters 38, 39,
It includes a logic matching inverter 42 which is wired-OR coupled to the output terminal of 40°41. The clocked inverters 38, 39, 40, and 41 are selectively controlled by selection control signals φ131 φ141 φ1g+φiG, which are part of the control signal 10.

上記専用レジスタ26も専用レジスタ25と同様に、バ
ス信号線の1ビツトに対して2ビツトのスタティックラ
ッチ回路を備え、夫々にはクロックドインバータ44.
45で構成される入力ゲートを介して算術論理演算器1
5の出力が選択的に与えられるようになっている。一方
のスタティックラッチ回路は、特に制限されないが、イ
ンバータ46とこれに帰還結合されたクロックドインバ
ータ47によって構成され、同様に他方のスタティック
ラッチ回路もインバータ48とこれに帰還結合されたク
ロックドインバータ49によって構成される。入力ゲー
トとしてのクロックドインバータ44.45は上記制御
信号の10の一部である入力制御信号φ171 φio
によって選択制御され、これに呼応して上記クロックド
インバータ47.49は制御信号φlt+ φiIlに
よってその制御ゲートが制御される。
Similar to the dedicated register 25, the dedicated register 26 also includes a 2-bit static latch circuit for 1 bit of the bus signal line, and each clocked inverter 44.
The arithmetic logic unit 1 is connected to the
5 outputs are selectively given. Although not particularly limited, one static latch circuit includes an inverter 46 and a clocked inverter 47 coupled in feedback thereto, and similarly, the other static latch circuit includes an inverter 48 and a clocked inverter 49 coupled in feedback thereto. Consisted of. Clocked inverters 44, 45 as input gates receive input control signals φ171 φio which are part of 10 of the above control signals.
In response, the control gates of the clocked inverters 47 and 49 are controlled by control signals φlt+φiIl.

上記セレクタ23は、特に制限されないが、専用レジス
タ26を構成するインバータ46.48の出力端子に入
力端子が結合されたクロックドインバータ50,51、
バス信号線BUS2iに入力端子が結合されたクロック
ドインバータ52、及びそれらクロックドインバータ5
0,51.52の出力端子にワイヤードオア結合された
論理整合用インバータ53を含む。上記クロックドイン
バータ50,51.52は制御信号10の一部である選
択制御信号φ191 φi工。、φi工、によって選択
制御される。更に乗算用の選択論理として、バス信号線
BUS2iに入力端子が結合されたクロックドインバー
タ54と、論理「0」データを入力端子に受けるクロッ
クドインバータ55とが上記インバータ53の入力端子
にワイヤードオア結合される。クロックドインバータ5
4は、制御信号1oの1つとされる乗算指定制御信号φ
mtPと上記オーバーフロービットOFBとを2人力と
するアンドゲート56の出力によって選択制御され、上
記クロックドインバータ55は、上記アンドゲート56
から出力される信号の反転信号と上記乗算指定制御信号
φmtpとを2人力とするアンドゲート57の出力信号
によって選択制御される。この乗算用選択論理において
は、乗算指定制御信号φm t pがハイレベルにアサ
ートされているとき、オーバーフロービットOFBがハ
イレベルであるならバス信号線BUS2iから供給され
るデータを算術論理演算器15に供給可能とし。
The selector 23 includes, but is not particularly limited to, clocked inverters 50 and 51 whose input terminals are coupled to the output terminals of the inverters 46 and 48 that constitute the dedicated register 26;
A clocked inverter 52 whose input terminal is coupled to the bus signal line BUS2i, and these clocked inverters 5
It includes a logic matching inverter 53 which is wired-OR coupled to the output terminals of 0, 51, and 52. The clocked inverters 50, 51, and 52 receive selection control signals φ191 and φi, which are part of the control signal 10. , φi, is selected and controlled. Further, as selection logic for multiplication, a clocked inverter 54 whose input terminal is coupled to the bus signal line BUS2i, and a clocked inverter 55 which receives logic "0" data at its input terminal are connected to the input terminal of the inverter 53 by wired OR. be combined. clocked inverter 5
4 is a multiplication designation control signal φ, which is one of the control signals 1o.
The clocked inverter 55 is selectively controlled by the output of the AND gate 56 which has mtP and the overflow bit OFB.
The selection is controlled by the output signal of an AND gate 57 which uses the inverted signal of the signal outputted from the multiplication designation control signal φmtp and the multiplication designation control signal φmtp. In this multiplication selection logic, when the multiplication designation control signal φm t p is asserted at a high level, if the overflow bit OFB is at a high level, the data supplied from the bus signal line BUS2i is sent to the arithmetic and logic unit 15. Available.

オーバーフロービットOFBがローレベルであるならバ
ス信号線BUS2 iから供給されるデータに換えて論
理rOJデータを算術論理演算器15に供給可能とする
。乗算指定制御信号φm t pがローレベルにネゲー
トされているときにはクロックドインバータ54.55
は供に高出力インピーダンス状態にされる。
If the overflow bit OFB is at a low level, logical rOJ data can be supplied to the arithmetic and logic unit 15 in place of the data supplied from the bus signal line BUS2i. When the multiplication designation control signal φmtp is negated to low level, the clocked inverters 54 and 55
Both are placed in a high output impedance state.

上記ゲート27は、特に制限されないが、算術論理演算
器15の出力端子に入力端子が結合される論理整合用イ
ンバータ60と、この論理整合用インバータ60に出力
端子に入力端子が結合され制御端子には上記制御溝信号
10の1つとされる選択制御信号φ112が供給される
クロックドインバータ59によって構成される。
The gate 27 includes, but is not particularly limited to, a logic matching inverter 60 whose input terminal is coupled to the output terminal of the arithmetic logic unit 15, and a logic matching inverter 60 whose output terminal is coupled to the input terminal and which is connected to a control terminal. is constituted by a clocked inverter 59 to which a selection control signal φ112, which is one of the control groove signals 10, is supplied.

尚、バレルシフタ16側のセレクタ22.24や専用レ
ジスタ28.29についても基本的には第2図と同様に
構成することができる。
Incidentally, the selectors 22, 24 and the dedicated registers 28, 29 on the barrel shifter 16 side can basically be constructed in the same manner as shown in FIG.

このように上記バレルシフタ16や算術論理演算器15
を用いた演算では、演算対象データを内部バスBUSI
、BUS2から得てそれを内部バスBUS3にもどして
やるというデータの流れと。
In this way, the barrel shifter 16 and the arithmetic logic operator 15
In calculations using
, the flow of data is obtained from BUS2 and returned to the internal bus BUS3.

演算対象データを専用レジスタから得てその演算結果を
再び専用レジスタに戻してやるというデータの流れとを
選択可能になり、例えば算術論理演算器15が演算対象
データを内部バスBUSI。
It is now possible to select a data flow in which the data to be operated on is obtained from a dedicated register and the result of the operation is returned to the dedicated register.For example, the arithmetic and logic unit 15 transfers the data to be operated on to the internal bus BUSI.

BUS2から得て演算を行うとき、専用レジスタ28.
29のデータを利用するようにすれば、バレルシフタ1
6によるシフト演算やその演算結果を格納する操作を、
算術論理演算器15による算術論理演算やその演算結果
を格納する操作に並列して行うことができる。逆に、バ
レルシフタ16が演算対象データを内部バスBUSI、
BUS2から得てシフト操作を行うとき、専用レジスタ
25.26のデータを利用するようにすれば、算術論理
演算器15による算術論理演算やその演算結果を格納す
る操作をバレルシフタ16によるシフト演算やその演算
結果を格納する操作に並列して行うことができる。
When performing calculations obtained from BUS2, dedicated registers 28.
If you use the data of 29, barrel shifter 1
The shift operation by 6 and the operation to store the result of the operation are as follows.
This can be performed in parallel with the arithmetic and logic operations performed by the arithmetic and logic unit 15 and the operation of storing the operation results. Conversely, the barrel shifter 16 transfers the operation target data to the internal bus BUSI,
If the data in the dedicated registers 25 and 26 is used when performing a shift operation obtained from BUS2, the arithmetic and logic operation by the arithmetic and logic unit 15 and the operation of storing the result of the operation can be performed by the shift operation and the like by the barrel shifter 16. This can be done in parallel to the operation of storing the calculation result.

次に乗算を一例として本実施例の動作を説明する。Next, the operation of this embodiment will be explained using multiplication as an example.

例えば、共有レジスタ20に格納された被乗数す、b、
blb、と共有レジスタ18に格納された乗数c、Q2
Q1c0との乗算について説明する。このときの乗算手
法は加算とシフト操作の繰返し手法とし、算術論理演算
器15による加算結果は共有レジスタ19に格納し、ま
た、バレルシフタ16によるシフト操作の結果は専用レ
ジスタ29に格納するものとする。尚、当該乗算に際し
て上記制御信号φm t pはアサートされる。
For example, the multiplicands stored in the shared register 20 are
blb, and the multiplier c stored in the shared register 18, Q2
Multiplication with Q1c0 will be explained. The multiplication method at this time is a repeating method of addition and shift operations, and the addition result by the arithmetic and logic unit 15 is stored in the shared register 19, and the result of the shift operation by the barrel shifter 16 is stored in the dedicated register 29. . Note that the control signal φm t p is asserted during the multiplication.

ここで先ず当該乗算は概ね下記式のようにして行われ、 +    c  Xb   b、  b、  b。First, the multiplication is performed roughly as shown in the following formula, + c c Xb b, b, b.

aff4   al13a02aolao。aff4 al13a02aolao.

+    c  X b   b   b   b。+ c c X b b.

”14   at3a12 atz4ユニ+cXbbb
b a24   a23 azz a24ユ1求めるべき演
算結果はa34a33a22a31a3゜a2゜al。
”14 at3a12 atz4 uni+cXbbb
b a24 a23 azz a24yu1 The calculation result to be obtained is a34a33a22a31a3゜a2゜al.

ao。とされる。ao. It is said that

このような乗算の処理手順の詳細な一例は第3図に示さ
れ、以下この第3図をも参照しなから当該加算演算を説
明する。
A detailed example of such a multiplication processing procedure is shown in FIG. 3, and the addition operation will be described below without also referring to FIG.

共有レジスタ19は全4ビツト0に初期設定されており
、先ず、共有レジスタ18に格納された乗数c、Q2Q
1c、を内部バスBUS2からノンオペレーション状態
のバレルシフタ16を通して専用レジスタ29にセット
する。
The shared register 19 is initially set to all 4 bits of 0, and first the multipliers c and Q2Q stored in the shared register 18 are
1c is set in the dedicated register 29 from the internal bus BUS2 through the barrel shifter 16 in a non-operating state.

次のサイクルでは、初期設定された共有レジスタ19の
データooooが内部バスBus 1に。
In the next cycle, the initialized data oooo of the shared register 19 is transferred to the internal bus Bus 1.

そして共有レジスタ20に格納されている被乗数す、b
zbxboが内部バスBUS2に出力される。
And the multiplicands stored in the shared register 20, b
zbxbo is output to internal bus BUS2.

これにより、バレルシフタ16は内部バスBUS1から
データooooを採り込むと共に専用レジスタ29から
乗数c、c2cic0を取り込んで、下位側に1ビット
シフト操作し、オーバーフローした最下位ビットc0が
オーバーフロービットOFBとしてセレクタ23に与え
られる。一方、算術論理演算器15は、内部バスBUS
1からデータ0000を取り込むと共に、セレクタ23
に与えられたオーバーフロービットOFBとしてのビッ
トC0のレベルに従ってセレクタ23からデータooo
o又は被乗数す、b、b□b0が与えられ、これによっ
て算術論理演算器15は、実質的にC6xb、b2b、
b、の値とデータ0000との加算を行って演算結果a
03a02ao工a0゜を得る。このとき、バレルシフ
タ16は、当該加算演算に並行してそのときのシフト操
作で得られた下位4ビットOc、c2c1を再び専用レ
ジスタ29に戻す処理を行う。算術論理演算器15で得
られた加算結果a03a02a01ao。は共有レジス
タ19に格納される。
As a result, the barrel shifter 16 takes in the data oooo from the internal bus BUS1, and also takes in the multipliers c and c2cic0 from the dedicated register 29, and shifts it by 1 bit to the lower side, and the overflowed least significant bit c0 is set as the overflow bit OFB by the selector 23. given to. On the other hand, the arithmetic and logic unit 15 uses the internal bus BUS.
In addition to importing data 0000 from 1, the selector 23
Data ooo is sent from the selector 23 according to the level of bit C0 as overflow bit OFB given to
o or the multiplicands s, b, b□b0 are given, so that the arithmetic and logic unit 15 substantially performs C6xb, b2b,
By adding the value of b and data 0000, the calculation result a
Obtain 03a02ao engineering a0°. At this time, the barrel shifter 16 performs a process of returning the lower 4 bits Oc, c2c1 obtained by the shift operation at that time to the dedicated register 29 in parallel with the addition operation. The addition result a03a02a01ao obtained by the arithmetic logic unit 15. is stored in the shared register 19.

そして次のサイクルでは、共有レジスタ19のデータa
offa02alllaooが内部バスBUSIに、そ
して共有レジスタ20に格納されている被乗数す、b、
blboが内部バスBUS2に出力される。
Then, in the next cycle, data a of the shared register 19
offa02alllaoo is stored on the internal bus BUSI and the multiplicand stored in the shared register 20, b,
blbo is output to internal bus BUS2.

これにより、バレルシフタ16は内部バスBUS1から
データa o3 a o2 a l、z a 0゜を採
り込むと共に専用レジスタ29からデータOcmC,C
,を取り込んで、下位側に1ビットシフト操作し、オー
バーフローした最下位ビットc1がオーバーフロービッ
トOFBとしてセレクタ23に与えられる。
As a result, the barrel shifter 16 takes in the data a o3 a o2 a l, z a 0° from the internal bus BUS1, and also takes in the data OcmC, C from the dedicated register 29.
, is taken in and shifted by one bit to the lower order side, and the overflowed least significant bit c1 is given to the selector 23 as the overflow bit OFB.

一方、シフタ17は内部バスBUS 1からデータa0
3 C02aax a、。を取り込んで下位側に1ビツ
トシフトさせ、最上位ビットには前サイクルで算術論理
演算器15から出力されたキャリCARを取り込んだデ
ータa。4a03a02a01を算術論理演算器15に
与える。算術論理演算器15は、当該データa。4a0
3a02aOLを取り込むと共に、セレクタ23に与え
られたオーバーフロービットOFBとしてのビットC工
のレベルに従ってセレクタ23からデータ0000又は
被乗数す、b2bib、が与えられ、これによって算術
論理演算器15は、実質的にc、Xb、b2b1b0の
値とデータa04a。
On the other hand, shifter 17 transfers data from internal bus BUS1 to data a0.
3 C02aax a,. Data a is taken in and shifted one bit to the lower side, and the most significant bit is taken in the carry CAR output from the arithmetic and logic unit 15 in the previous cycle. 4a03a02a01 is given to the arithmetic and logic unit 15. The arithmetic logic unit 15 receives the data a. 4a0
3a02aOL is taken in, and data 0000 or multiplicand b2bib is given from the selector 23 according to the level of the bit C as the overflow bit OFB given to the selector 23, so that the arithmetic and logic unit 15 substantially , Xb, the values of b2b1b0 and data a04a.

3aOZallとの加算を行って演算結果aL3a11
aよ1a□。を得る。このとき、バレルシフタ16は、
当該加算演算に並行してそのときのシフト操作で得られ
た下位4ビツトa。l、oc3c2を再び専用レジスタ
29に戻す処理を行う、算術論理演算器15で得られた
加算結果a工1azza□、al、は共有レジスタ19
に格納される。
Perform addition with 3aOZall and get the calculation result aL3a11
ayo1a□. get. At this time, the barrel shifter 16
The lower 4 bits a obtained by the shift operation at that time in parallel with the addition operation. The addition result a processing 1azza□, al, obtained by the arithmetic and logic unit 15, which performs the process of returning oc3c2 to the dedicated register 29, is stored in the shared register 19.
is stored in

引き続く次のサイクルでは、共有レジスタ19のデータ
alffalZaliaL。が内部バスBUS 1に、
そして共有レジスタ2oに格納されている被乗数す、b
2b□b、が内部バスBUS2に出力される。
In the subsequent next cycle, the data in the shared register 19 is alffalZaliaL. is on internal bus BUS 1,
And the multiplicands stored in the shared register 2o, b
2b□b, is output to the internal bus BUS2.

これにより、バレルシフタ16は内部バスBUS1から
データa1.a工aai1a工。を取り込むと共に専用
レジスタ29からデータa0゜Oc、C2を取り込んで
、下位側に1ビットシフト操作し、オーバーフローした
最下位ビットc2がオーバーフロービットOFBとして
セレクタ23に与えられる。
As a result, the barrel shifter 16 transfers the data a1. a engineering aai1a engineering. At the same time, the data a0°Oc, C2 is taken in from the dedicated register 29, and shifted by 1 bit to the lower order side, and the overflowed least significant bit c2 is given to the selector 23 as the overflow bit OFB.

一方、シフタ17は内部バスBUSIからデータa工、
a工2a工tax。を取り込んで下位側に1ビツトシフ
トさせ、最上ビットには前サイクルで算術論理演算器1
5から出力されたキャリCARを取り込んだデータa1
4a□、a□zaz□を算術論理演算器15に与える。
On the other hand, the shifter 17 transfers data from the internal bus BUSI to
A-work 2A-work tax. is taken in and shifted one bit to the lower side, and the uppermost bit is assigned to the arithmetic logic unit 1 in the previous cycle.
Data a1 that captures the carry CAR output from 5
4a□, a□zaz□ are given to the arithmetic and logic unit 15.

算術論理演算器15は、当該データa14ai3a工2
a工、を取り込むと共に、セレクタ23に与えられたオ
ーバーフロービットOFBとしてのビットc2のレベル
に従ってセレクタ23からデータ0OoO又は被乗数b
3b2b1b、が与えられ、これによって算術論理演算
器15は、実質的にc2Xb、b、biboの値とデー
タa 14 a 13a工za工□との加算を行って演
算結果a23a22a21agoを得る。このとき、バ
レルシフタ16は、当該加算演算に並行してそのときの
シフト操作で得られた下位4ビツトa1゜ao。Oc3
を再び専用レジスタ29に戻す処理を行う。算術論理演
算器15で得られた加算結果a23a2!a21am。
The arithmetic logic unit 15 processes the data a14ai3a
At the same time, data 0OoO or multiplicand b is fetched from the selector 23 according to the level of bit c2 as the overflow bit OFB given to the selector 23.
3b2b1b is given, and thereby the arithmetic and logic unit 15 substantially adds the values of c2Xb, b, bibo and the data a 14 a 13a za za □ to obtain the operation result a23a22a21ago. At this time, the barrel shifter 16 outputs the lower 4 bits a1゜ao obtained by the current shift operation in parallel with the addition operation. Oc3
A process is performed to return the data to the dedicated register 29 again. The addition result a23a2 obtained by the arithmetic and logic unit 15! a21am.

は共有レジスタ19に格納される。is stored in the shared register 19.

さらに次のサイクルでは、共有レジスタ19のデータa
Z3 azz C21a、。が内部バスBUSIに、そ
して共有レジスタ20に格納されている被乗数b3b2
bより、が内部バスBUS2に出力される。
Furthermore, in the next cycle, data a of the shared register 19
Z3 azz C21a. is stored on the internal bus BUSI and the multiplicand b3b2 is stored in the shared register 20.
b is output to the internal bus BUS2.

これにより、バレルシフタ16は内部バスBUS1から
データa23aZ□a2□a2゜を取り込むと共に専用
レジスタ29からデータa工。ao。Oc、を取り込ん
で、下位側に1ビットシフト操作し、オーバーフローし
た最下位ビットC1がオーバーフロービットOFBとし
てセレクタ23に与えられる。
As a result, the barrel shifter 16 takes in the data a23aZ□a2□a2° from the internal bus BUS1 and also takes in the data a2 from the dedicated register 29. ao. Oc, is taken in, shifted one bit to the lower order side, and the overflowed least significant bit C1 is given to the selector 23 as the overflow bit OFB.

一方、シフタ17は内部バスBUS 1からデータaz
+az2az□a2゜を取り込んで下位側に1ビツトシ
フトさせ最上ビットには前サイクルで算術論理演算器1
5から出力されたキャリCARを取り込んだデータa2
4aZ3aZ2aZLを算術論理演算器15に与える。
On the other hand, the shifter 17 receives data az from the internal bus BUS1.
Take in +az2az□a2゜ and shift it to the lower side by 1 bit, and the uppermost bit is set to arithmetic logic unit 1 in the previous cycle.
Data a2 that captures the carry CAR output from 5
4aZ3aZ2aZL is given to the arithmetic and logic unit 15.

算術論理演算器15は、当該データa24a23aZ□
aztを取り込むと共に、セレクタ23に与えられたオ
ーバーフロービットOFBとしてのビットc3のレベル
に従ってセレクタ23からデータ00oO又は被乗数す
、b2bより。が与えられ、これによって算術論理演算
器15は、実質的にc3Xb、b、b、b、の値とデー
タaZ4a23a2xaz□との加算を行って演算結果
a33 C32aaz C3゜を得る。このときバレル
シフタ16は、当該加算演算に並行してそのときのシフ
ト操作で得られた下位4ビツトa2゜al。a、oOを
再び専用レジスタ29に戻す処理を行う。算術論理演算
器15で得られた加算結果a33a3□a3□a、。は
共有レジスタ19に格納される。
The arithmetic logic unit 15 calculates the data a24a23aZ□
azt is taken in, and data 00oO or the multiplicand b2b is sent from the selector 23 according to the level of bit c3 as the overflow bit OFB given to the selector 23. As a result, the arithmetic and logic unit 15 substantially adds the value of c3Xb, b, b, b and the data aZ4a23a2xaz□ to obtain the operation result a33 C32aaz C3°. At this time, the barrel shifter 16 outputs the lower 4 bits a2°al obtained by the current shift operation in parallel with the addition operation. Processing is performed to return a and oO to the dedicated register 29 again. The addition result a33a3□a3□a, obtained by the arithmetic and logic unit 15. is stored in the shared register 19.

そして最後のサイクルでは、共有レジスタ19のデータ
a33 C32C3z C3Gが内部バスBUS 1に
、そして共有レジスタ20に格納されている被乗数す、
b2b1boが内部バスBUS2に出力される。
Then, in the last cycle, the data a33 C32C3z C3G of the shared register 19 is transferred to the internal bus BUS 1, and the multiplicand stored in the shared register 20 is transferred to the internal bus BUS 1.
b2b1bo is output to internal bus BUS2.

これにより、バレルシフタ16は内部バスBUS1から
データa33 a32 a3L a3゜を取り込むと共
に専用レジスタ29からデータaZ11aillao。
As a result, the barrel shifter 16 takes in data a33 a32 a3L a3° from the internal bus BUS1, and data aZ11aillao from the dedicated register 29.

0を取り込んで、下位側に1ビットシフト操作し、オー
バーフローした最下位ビットOがオーバーフロービット
○FBとしてセレクタ23に与えられる。
0 is taken in and shifted one bit to the lower side, and the overflowed least significant bit O is given to the selector 23 as the overflow bit FB.

一方、シフタ17は内部バスBUSIからデータ”j3
a32a3□a、。を取り込んで下位側に1ビツトシフ
トさせ最上ビットには前サイクルで算術論理演算器15
から出力されたキャリCARを取り込んだデータa34
a33a32a3□を算術論理演算器15に与える。算
術論理演算器15は、当該データa34a33a3□a
3□を取り込むと共に、セレクタ23に与えられたオー
バーフロービットOFBとしてのビット0に従ってセレ
クタ23からデータ0000が与えられ、これによって
算術論理演算器15は、ooooとデータa34a33
a311a31との加算を行って演算結果a34a33
a32a31を得る。
On the other hand, the shifter 17 receives data "j3" from the internal bus BUSI.
a32a3□a,. is taken in and shifted by 1 bit to the lower side, and the uppermost bit is transferred to the arithmetic logic unit 15 in the previous cycle.
Data a34 that captures the carry CAR output from
a33a32a3□ is given to the arithmetic and logic unit 15. The arithmetic logic unit 15 calculates the data a34a33a3□a
3□, data 0000 is given from the selector 23 according to bit 0 as the overflow bit OFB given to the selector 23, and thereby the arithmetic and logic unit 15 reads oooo and data a34a33.
Perform addition with a311a31 and get the calculation result a34a33
Obtain a32a31.

このときバレルシフタ16は、当該加算演算に並行して
そのときのシフト操作で得られた下位4ビツトa30a
20a工。ao。を再び専用レジスタ29に戻す処理を
行う。算術論理演算器15で得られた加算結果a34a
33a32a3□は共有レジスタ19に格納される。
At this time, the barrel shifter 16 transfers the lower 4 bits a30a obtained by the current shift operation in parallel with the addition operation.
20a engineering. ao. A process is performed to return the data to the dedicated register 29 again. Addition result a34a obtained by arithmetic logic unit 15
33a32a3□ is stored in the shared register 19.

このような演算サイクルにより、共有レジスタ19の格
納データa34a33a32a31と専用レジスタ29
の格納データa、。a20aLOa11゜とによって。
Through such arithmetic cycles, the stored data a34a33a32a31 of the shared register 19 and the dedicated register 29
Stored data a, . By a20aLOa11°.

被乗数b 3 b z b 1b aと乗数C3QzQ
lc、との演算結果であるデータa34 a33 a3
2 aax a30 a2゜a工。
Multiplicand b 3 b z b 1b a and multiplier C3QzQ
Data a34 a33 a3 which is the result of calculation with lc.
2 aax a30 a2゜a engineering.

ao。が得られる。ao. is obtained.

上記実施例によれば以下の作用効果を得る。According to the above embodiment, the following effects are obtained.

(1)算術論理演算器15による加算操作とバレルシフ
タ16によるシフト操作は概ね並列的に行われ、算術論
理演算器15による加算結果を共有レジスタ19に格納
するとき、バレルシフタのシフト操作で得られた結果は
内部バスBUS3を介することなく専用レジスタ29に
格納される。したがって、被乗数す、b、b□b、と乗
数c3c2cmcoとの乗算を行うためのサイクル数は
5乗数C1C2ClCoを最初に専用レジスタ29に設
定するサイクルを含めても6サイクルで済む、これに対
し専用レジスタ29が無いような従来の構成ではバレル
シフタ16によるシフト操作と算術論理演算器15によ
る加算操作とを夫々異なるサイクルで実行しなければ、
加算操作の結果とシフト操作の結果を所定のレジスタに
格納するときそれらのデータが内部バス上で競合もしく
は撹乱されるため、8サイクルが必要とされる。したが
って、本実施例の実行部で乗算などを行う場合にその演
算処理能力もしくは演算処理速度を向上させることがで
きる。
(1) The addition operation by the arithmetic and logic unit 15 and the shift operation by the barrel shifter 16 are generally performed in parallel, and when the addition result by the arithmetic and logic unit 15 is stored in the shared register 19, the result obtained by the shift operation of the barrel shifter is The result is stored in the dedicated register 29 without going through the internal bus BUS3. Therefore, the number of cycles required to multiply the multiplicands b, b□b, and the multiplier c3c2cmco is 6 cycles even including the cycle for first setting the 5 multiplier C1C2ClCo in the dedicated register 29; In the conventional configuration without the register 29, the shift operation by the barrel shifter 16 and the addition operation by the arithmetic and logic unit 15 must be performed in different cycles.
Eight cycles are required because the results of the add operation and the result of the shift operation are stored in the predetermined registers because their data may conflict or be disrupted on the internal bus. Therefore, when performing multiplication or the like in the execution section of this embodiment, it is possible to improve the arithmetic processing capacity or the arithmetic processing speed.

(2)上記バレルシフタ16や算術論理演算器15を用
いた演算では、演算対象データを内部バスBUSI、B
US2から得てそれを内部バスBUS3もどしてやると
いうデータの流れと、演算対象データを専用レジスタか
ら得てその演算結果を再び専用ジスタに戻してやるとい
うデータの流れとを選択可能になり、例えば算術論理演
算器15が演算対象データを内部バスBUSI、BUS
2から得て演算を行うとき、専用レジスタ28,29の
データを利用するようにすれば、バレルシフタ16によ
るシフト演算やその演算結果を格納する操作を、算術論
理演算器15による算術論理演算やその演算結果を格納
する操作に並列して行うことができる。逆に、バレルシ
フタ16が演算対象データを内部バスBUSI、BUS
2から得てシフト操作を行うとき、専用レジスタ25.
26のデータを利用するようにすれば、算術論理演算器
15による算術論理演算やその演算結果を格納する操作
を、バレルシフタ16によるシフト演算やその演算結果
を格納する操作に並列して行うことができる。したがっ
て、乗算に限らず算術論理演算器15とバレルシフタ1
6とを用いる各種演算効率の向上を図ることができる。
(2) In calculations using the barrel shifter 16 and arithmetic logic unit 15, data to be calculated is transferred to internal buses BUSI, B
It is now possible to select between a data flow in which data is obtained from US2 and returned to the internal bus BUS3, and a data flow in which data to be operated on is obtained from a dedicated register and the result of the operation is returned to the dedicated register.For example, arithmetic logic The arithmetic unit 15 transfers the data to be calculated to the internal buses BUSI and BUS.
If the data in the dedicated registers 28 and 29 is used when performing calculations obtained from 2, the shift calculation by the barrel shifter 16 and the operation of storing the result of the calculation can be performed by the arithmetic and logic operation by the arithmetic and logic unit 15 and its operation. This can be done in parallel to the operation of storing the calculation result. Conversely, the barrel shifter 16 transfers the operation target data to the internal buses BUSI and BUS.
When performing a shift operation obtained from 25.2, the dedicated register 25.
By using the data of 26, the arithmetic and logic operations by the arithmetic and logic unit 15 and the operation of storing the operation results can be performed in parallel with the shift operation and the operation of storing the operation results by the barrel shifter 16. can. Therefore, in addition to multiplication, the arithmetic logic unit 15 and the barrel shifter 1
It is possible to improve the efficiency of various calculations using 6 and 6.

(3)上記作用効果より、乗算のように複数の演算器を
用いる演算処理のためのマイクロプログラムのステップ
数低減にも寄与することができる。
(3) The above effects can also contribute to reducing the number of steps in a microprogram for arithmetic processing using a plurality of arithmetic units, such as multiplication.

(4)専用レジスタ25,26,28.29の利用は選
択可能であるから、各種演算に対する汎用性も高い。
(4) Since the use of the dedicated registers 25, 26, 28, and 29 can be selected, versatility for various calculations is also high.

以上本発明者によってなされた発明を実施例に基づいて
具体的に説明したが、本発明は上記実施例に限定されず
その要旨を逸脱しない範囲において種々変更することが
できる。
Although the invention made by the present inventor has been specifically described above based on examples, the present invention is not limited to the above-mentioned examples and can be modified in various ways without departing from the gist thereof.

例えば演算器は1個の算術論理演算器と1個のバレルシ
フタに限定されず、複数個の適宜の演算器に変更可能で
あり、例えば算術論理演算器の数を増やすこともできる
。特に複数個の演算器を並列動作可能とする本発明にお
いては、演算器の数が多ければこれに従って並列動作可
能な演算器の数も増やすことができるため、それに呼応
して演算処理速度向上の度合いも増すことができるよう
になる。
For example, the arithmetic unit is not limited to one arithmetic and logic unit and one barrel shifter, but can be changed to a plurality of appropriate arithmetic units, and for example, the number of arithmetic and logic units can be increased. In particular, in the present invention, which allows multiple arithmetic units to operate in parallel, if the number of arithmetic units increases, the number of arithmetic units that can operate in parallel can also increase accordingly. The degree can also be increased.

また、上記実施例では乗算を一例にその動作説明を行っ
たが、複数の演算器の並列動作を可能とする演算の種類
はこれに限定されず、その他の演算にも適用することが
できる。例えば複数個の算術論理演算器を含む場合に、
1の算術論理演算器を加算処理に使い、他の演算器をカ
ウンタとして利用することによって所要の演算を行うよ
うな場合にも利用することができる。このような演算処
理においても演算処理速度は従来の概ね2倍となる。尚
、乗算演算の手順は第3図に示される手順に限定されな
い。
Further, in the above embodiment, the operation was explained using multiplication as an example, but the type of operation that enables parallel operation of a plurality of arithmetic units is not limited to this, and can be applied to other operations as well. For example, when including multiple arithmetic and logic units,
It can also be used in cases where one arithmetic and logic unit is used for addition processing and the other arithmetic units are used as counters to perform required operations. Even in such calculation processing, the calculation processing speed is approximately twice that of the conventional method. Note that the procedure for the multiplication operation is not limited to the procedure shown in FIG.

以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるマイクロプログラム
制御方式のプロセッサに適用した場合について説明した
が、本発明はそれに限定されず、マイクロコンピュータ
や演算機能を有する周辺コントローラ、さらにはオフィ
ースコンピュータやエンジニアリングワークステーショ
ンなどのための各種中央処理装置に広く適用することが
できる。本発明は少なくとも複数の演算器を備えてデー
タ処理を行う条件のものに適用することができる。
In the above explanation, the invention made by the present inventor was mainly applied to a microprogram control type processor, which is the field of application that formed the background of the invention, but the present invention is not limited thereto, The present invention can be widely applied to peripheral controllers having the following functions, as well as various central processing units for office computers, engineering workstations, etc. The present invention can be applied to systems that are equipped with at least a plurality of arithmetic units and perform data processing.

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

本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記の通りである。
A brief explanation of the effects obtained by typical inventions disclosed in this application is as follows.

すなわち、演算結果を共有バスを通さずに蓄える専用レ
ジスタから再びデータが供給され得るように構成した演
算器を含むことにより、複数の演算器が同一演算サイク
ルにおいて並列演算を行っても、共有バス上で並列演算
のためのデータの競合を阻止して、演算対象データの供
給や演算結果データの格納が可能になり、このようなデ
ータの競合を回避しながら可能とされる複数の演算器に
よる並列動作により、複数の演算器を用いた一連の演算
動作を高速化することができるという効果がある。特に
、データ処理装置がマイクロプログラム制御される場合
には演算のためのマイクロプログラムステップ数の低減
に寄与することができる。
In other words, by including an arithmetic unit configured so that data can be supplied again from a dedicated register that stores the arithmetic result without passing it through the shared bus, even if multiple arithmetic units perform parallel operations in the same arithmetic cycle, the shared bus By preventing data conflicts for parallel operations, it is possible to supply operation target data and store operation result data. Parallel operation has the effect of speeding up a series of arithmetic operations using a plurality of arithmetic units. In particular, when the data processing device is microprogram controlled, it can contribute to reducing the number of microprogram steps for calculations.

そして演算器には、セレクタを介して専用データレジス
タの出力データ又は共有バスから与えられるデータを選
択的に供給可能とすることにより、演算器の汎用利用を
可能にすることができる。
By making it possible to selectively supply the output data of the dedicated data register or the data given from the shared bus to the arithmetic unit via the selector, the arithmetic unit can be used for general purposes.

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

第1図は本発明の一実施例であるプロセッサに含まれる
実行部の一例を示す回路図、 第2図は第1図の実行部に含まれる算術論理演算器のた
めの専用レジスタやセレクタの一例を示す回路図、 第3図は本実施例のプロセッサで実行可能な乗算の処理
手順の一例を示す説明図、 第4図は本発明の一実施例であるプロセッサの全体を概
略的に示すブロック図である。 1・・・プロセッサ、3・・・実行部、4・・・マイク
ロROM、15・・・算術論理演算器、16・・・バレ
ルシフタ、17・・・シフタ、18,19.20・・・
共有レジスタ、21,22,23.24・・・セレクタ
、25゜26・・・専用レジスタ、28.29・・・専
用レジスタ、BUSI、BUS2.BUS3・・・内部
バス、OFB・・・オーバーフロービット、φmtp・
・・乗算指定制御信号。 Q3i1  G35  Q:j2031第3図 第4図
FIG. 1 is a circuit diagram showing an example of an execution section included in a processor that is an embodiment of the present invention, and FIG. A circuit diagram showing an example; FIG. 3 is an explanatory diagram showing an example of a multiplication processing procedure that can be executed by the processor of this embodiment; FIG. 4 schematically shows the entire processor that is an embodiment of the present invention. It is a block diagram. DESCRIPTION OF SYMBOLS 1... Processor, 3... Execution unit, 4... Micro ROM, 15... Arithmetic logic unit, 16... Barrel shifter, 17... Shifter, 18, 19.20...
Shared register, 21, 22, 23.24... Selector, 25°26... Dedicated register, 28.29... Dedicated register, BUSI, BUS2. BUS3...internal bus, OFB...overflow bit, φmtp.
...Multiplication specification control signal. Q3i1 G35 Q:j2031Figure 3Figure 4

Claims (1)

【特許請求の範囲】 1、命令を実行するための実行手段を有し、この実行手
段は、共有バスに結合された複数の演算器を備え、上記
演算器は、演算結果を共有バスを通さずに蓄える専用レ
ジスタから再びデータが供給可能にされたデータ処理装
置。 2、上記演算器の専用データレジスタは、演算器の入力
端子に接続される共有バス毎に設けられ、演算器の入力
端子は、セレクタを介して内部バス及び専用レジスタの
出力端子に結合された請求項1記載のデータ処理装置。 3、実行すべき命令を格納する制御記憶手段を備え、こ
の制御記憶手段から順次読み出されるマイクロ命令に従
って上記実行手段による演算が制御される請求項2記載
のデータ処理装置。
[Claims] 1. An execution means for executing an instruction, the execution means includes a plurality of arithmetic units coupled to a shared bus, and the arithmetic units send their operation results through the shared bus. A data processing device that can be supplied with data again from a dedicated register that stores data without any interruption. 2. The dedicated data register of the above-mentioned arithmetic unit is provided for each shared bus connected to the input terminal of the arithmetic unit, and the input terminal of the arithmetic unit is coupled to the internal bus and the output terminal of the dedicated register via a selector. The data processing device according to claim 1. 3. The data processing apparatus according to claim 2, further comprising control storage means for storing instructions to be executed, and operations by said execution means are controlled in accordance with microinstructions read out sequentially from said control storage means.
JP63218821A 1988-09-01 1988-09-01 Data processing device Expired - Lifetime JP2760808B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63218821A JP2760808B2 (en) 1988-09-01 1988-09-01 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63218821A JP2760808B2 (en) 1988-09-01 1988-09-01 Data processing device

Publications (2)

Publication Number Publication Date
JPH0266624A true JPH0266624A (en) 1990-03-06
JP2760808B2 JP2760808B2 (en) 1998-06-04

Family

ID=16725874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63218821A Expired - Lifetime JP2760808B2 (en) 1988-09-01 1988-09-01 Data processing device

Country Status (1)

Country Link
JP (1) JP2760808B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195356A (en) * 1990-11-27 1992-07-15 Mitsubishi Electric Corp Bus circuit

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5840667A (en) * 1981-08-19 1983-03-09 インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン Microprocessor
JPS6123232A (en) * 1984-07-11 1986-01-31 Nec Corp Arithmetic unit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5840667A (en) * 1981-08-19 1983-03-09 インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン Microprocessor
JPS6123232A (en) * 1984-07-11 1986-01-31 Nec Corp Arithmetic unit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195356A (en) * 1990-11-27 1992-07-15 Mitsubishi Electric Corp Bus circuit

Also Published As

Publication number Publication date
JP2760808B2 (en) 1998-06-04

Similar Documents

Publication Publication Date Title
CA1176757A (en) Data processing system for parallel processings
US6219775B1 (en) Massively parallel computer including auxiliary vector processor
US4761755A (en) Data processing system and method having an improved arithmetic unit
US3980992A (en) Multi-microprocessing unit on a single semiconductor chip
JP2835103B2 (en) Instruction designation method and instruction execution method
EP0053457B1 (en) Data processing apparatus
US3943494A (en) Distributed execution processor
US4314333A (en) Data processor
EP0016523B1 (en) Data processing unit and data processing system comprising a plurality of such data processing units
JPH0850575A (en) Programmable processor,method for execution of digital signal processing by using said programmable processor and its improvement
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPS61248135A (en) Pipeline type processor and control thereof
JPS63273134A (en) Method and apparatus for altering microinstruction using microinstruction pipeline
Kartashev et al. A multicomputer system with dynamic architecture
JPH0545985B2 (en)
GB1585285A (en) Parallel data processor apparatus
JP2983542B2 (en) Processing speed-up device
US3325785A (en) Efficient utilization of control storage and access controls therefor
JPS6061864A (en) Parallel vector processor
US4771376A (en) Processor
US4598358A (en) Pipelined digital signal processor using a common data and control bus
US5822557A (en) Pipelined data processing device having improved hardware control over an arithmetic operations unit
JPH0266624A (en) Data processor
GB2138182A (en) Digital processor
CA1138118A (en) Next address generation logic in a data processing system