JPH0266624A - データ処理装置 - Google Patents

データ処理装置

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
English (en)
Other versions
JP2760808B2 (ja
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/ja
Publication of JPH0266624A publication Critical patent/JPH0266624A/ja
Application granted granted Critical
Publication of JP2760808B2 publication Critical patent/JP2760808B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータ処理装置さらには算術論理演算のための
演算器とレジスタの構成に関し、例えばマイクロプログ
ラム制御されるプロセッサに適用して有効な技術に関す
るものである。
〔従来技術〕
プロセッサのようなデータ処理装置の実行部には算術論
理演算器やバレルシフタ、さらにはソースレジスタやデ
スティネーションレジスタとされる各種レジスタが含ま
れ、従来それらは単数もしくは複数の内部バスを共有す
るように結合されている。このような実行部で所要の演
算を行う場合。
ソースレジスタのデータを内部バスを介して演算器に与
え、その演算結果をディスティネーションレジスタに格
納する。このような演算サイクルにおいて、演算対象デ
ータは必ず内部バスから所要の演算器に与えられ、更に
その演算結果は内部バスを介して所要レジスタに戻され
るから、1の演算サイクルでは基本的に1つの演算器し
か動作させることができない。
尚、実行部に含まれる演算器とレジスタの構成について
記載された文献の例としては1981年5月発行のrI
EEEマイクロ」第26頁乃至第38頁がある。
〔発明が解決しようとする課題〕
演算対象データは必ず共有バスを介してレジスタから演
算器に与えられ、演算結果データも内部バスを介して所
要レジスタに戻されるような従来の構成では、内部バス
上における転送データの競合回避のため1の演算サイク
ルでは基本的に1つの演算器しか動作させることができ
ないため、複数の演算器を用いて一連の演算動作をサイ
クリックに行うような場合には演算器の利用回数に呼応
する動作ステップが必要になり、演算処理の高速化を図
るにも限界があった。例えば算術論理演算器とバレルシ
フタを用いて加算とシフト操作によりnビットの被乗数
とnビットの乗数との乗算を行う場合、上位nビットに
0、下位nビットに乗数を入れた20ビツトを生成する
。この2nビツトの最下位ビットが1のときに上位nビ
ットに被乗数を加算し、0のときは上位nビットに0を
加算し、この結果に対して2nビツトを全体的に右へ(
最下位ビット側へ)1ビツトシフトさせ、以下同様の操
作をn回繰り返し、その結果残った2nビツトを乗算結
果とする。このとき、個々の加算操作で得られた値やシ
フト操作で得られた値は夫々共有レジスタに蓄えられ、
次のステップに供されなければならないが、加算操作で
得られた値やシフト操作で得られた値を共有レジスタに
転送するには各演算器が共有する内部バスを利用しなけ
ればならないため、転送データの競合を回避するにはそ
のような乗算に少なくとも2n回の動作サイクルが必要
になる。
本発明の目的は複数の演算器を用いた一連の演算動作の
高速化を図ることができるデータ処理装置を提供するこ
とにある。
本発明の前記並びにそのほかの目的とし新規な特徴は本
明細書の記述及び添付図面から明らかになるであろう。
〔課題を解決するための手段〕
本願において開示される発明のうち代表的なものの概要
を簡単に説明すれば下記の通りである。
すなわち、命令を実行するための実行手段に、共有バス
に結合された複数の演算器を備え、上記演算器を5演算
結果を共有バスを通さずに蓄える専用レジスタから再び
データが供給され得るように構成するものである。
このとき、上記演算器には、セレクタを介して専用デー
タレジスタの出力データ又は共有バスから与えられるデ
ータを選択的に供給可能とすることが、演算器を汎用的
に利用する上において望ましい。そして、セレクタによ
る入力データの選択制御を含む各種演算制御はマイクロ
命令による制御とすることができる。
〔作 用〕
上記した手段によれば、ある演算器が共有バスから与え
られるデータを処理してその処理結果を共有バスに与え
るとき、他の演算器は専用レジスタから与えられるデー
タを処理したり、演算結果を専用レジスタに格納するこ
とができ、これにより、複数の演算器は同一演算サイク
ルにおいて共有バスの競合を回避して並列演算処理が可
能になり、これが複数の演算器を用いた一連の演算動作
の高速化を達成するように働く。
〔実施例〕
第4図には本発明に係るデータ処理装置の一実施例であ
るプロセッサが示される。同図に示されるプロセッサ1
は、特に制限されないが、公知の半導体集積回路製造技
術によってシリコン基板のような1個の半導体基板に形
成される。
このプロセッサ1は入出力回路2を介して結合される外
部の図示しないプログラムメモリからマクロ命令をフェ
ッチし、その命令をマイクロプログラム制御に基づいて
実行部3で実行する制御形態を有する。
上記実行部3による各種演算処理手順などを記述したマ
イクロプログラムはマイクロROM (リード・オンリ
・メモリ)4に格納される。このマイクロROM4は、
命令フェッチ部5にフェッチされたマクロ命令の命令コ
ードをデコードする命令デコーダ6の出力やシーケンス
コントローラ7の出力によってアクセスされることによ
り、マイ′クロプログラムを構成するマイクロ命令が順
次読み出される。
上記命令フェッチ部5は、入出力回路2及び命令フェッ
チバス8を介して図示しないメモリから与えられるマク
ロ命令をフェッチする。命令デコーダ6は、マクロ命令
に含まれる命令コードをデコードして得られるアドレス
情報に基づいて上記マイクロROM4をアクセスする。
これにより、そのマクロ命令で指示される演算処理など
を行うための一連のマイクロ命令群の先頭のマイクロ命
令が読み出される。上記マクロ命令で指示される演算処
理を行うための一連のマイクロ命令群の第2番目以降の
マイクロ命令は、直前に読み出されたマイクロ命令のネ
タストアドレスフィールドの情報が上記シーケンスコン
トローラ7に供給されることによって指示される。この
ようにしてマイクロROM4から読み出されるマイクロ
命令はマイクロ命令デコーダ9に供給される。このマイ
クロ命令デコーダ9は、与えられたマイクロ命令をデコ
ードし、実行部3などに対する制御信号10を生成する
上記実行部3はマイクロ命令デコーダ9から出力される
制御信号1oに基づいてデータやアドレスの演算を行い
、内部データ/アドレスバス11を介して上記入出力回
路2に結合される。尚、内部データ/アドレスバス11
又は命令フェッチバス8の何れを外部とインタフェース
するかの選択はシーケンスコントローラ7の指示に基づ
いて制御され、命令フェッチサイクルにおいては命令フ
ェッチバス8が選択されるようになっている。
第1図には上記実行部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の他方の入力端子に接続し得るようになっている
上記バレルシフタ16は、特に制限されないが、セレク
タ22.24を介して双方の入力端子に与えられるデー
タに対して任意ビット数のシフト操作を行う。ここで、
バレルシフタ16は、演算対象データや演算結果データ
を内部バス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が設けられている。
上記セレクタ22.24に対する選択制御、並びに専用
レジスタ28.29の入出力制御やゲート30の出力制
御、さらにはバレルシフタ16によるシフト操作はマイ
クロプログラムに従って制御されるようになっている。
上記算術論理演算器15は、特に制限されないが、セレ
クタ21.23を介して双方の入力端子から与えられる
データに対して加減算を行う。ここで、上記算術論理演
算器15は、演算対象データや演算結果データを内部バ
スBUSI、BUS2、BUS3を介してやりとりする
ほか、共有バスとしてのそれら内部バスBUSI、BU
S2゜BUS3を通さずに演算対象データを受は取ると
共にその演算結果データを蓄え得るようになっている。
即ち、算術論理演算器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が設けられている。
上記セレクタ21.23に対する選択制御、並びに専用
レジスタ25.26の入出力制御やゲート27の出力制
御、さらには算術論理演算器15による演算操作は基本
的にマイクロプログラムに従って制御されるようになっ
ている。特に制限されないが、セレクタ23において、
論理「0」データを選択するか内部バスBUS2からの
データを選択するかの制御に当たっては、バレルシフタ
16のシフト操作によってオーバーフローされる最下位
ビットOFBが参照される。このような制御は専ら乗算
で必要とされ、その詳細は後で説明する。
第2図には上記セレクタ21,23.専用レジスタ25
,26、及びゲート27の詳細な一例が示される。同図
には内部バスBUSI、BUS2゜BUS3の1ビツト
分のバス信号線BUS1i。
BIS2i、BUS3iに関する構成が代表的に示され
る。
上記専用レジスタ25は、特に制限されないが、バス信
号線の1ビツトに対して2ビツトのスタティックラッチ
回路を備え、夫々にはクロックドインバータ32.33
で構成される入力ゲートを介して算術論理演算器15の
出力が選択的に与えられるようになっている。一方のス
タティックラッチ回路は、特に制限されないが、インバ
ータ34とこれに帰還結合されたクロックドインバータ
35によって構成され、同様に他方のスタティックラッ
チ回路もインバータ36とこれに帰還結合されたクロッ
クドインバータ37によって構成される。入力ゲートと
してのクロックドインバータ32.33は上記制御信号
の10の一部である入力制御信号φi工、φ12によっ
て選択制御され、これに呼応して上記クロックドインバ
ータ35,37は制御信号φill φ12によってそ
の制御ゲートが制御される。尚、本実施例において各種
クロックドインバータはローレベルの制御信号によって
高出力インピーダンス状態を採り、ハイレベルの制御信
号によって入力信号の反転レベルを出力可能な状態に制
御される。
上記セレクタ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によ
って選択制御される。
上記専用レジスタ26も専用レジスタ25と同様に、バ
ス信号線の1ビツトに対して2ビツトのスタティックラ
ッチ回路を備え、夫々にはクロックドインバータ44.
45で構成される入力ゲートを介して算術論理演算器1
5の出力が選択的に与えられるようになっている。一方
のスタティックラッチ回路は、特に制限されないが、イ
ンバータ46とこれに帰還結合されたクロックドインバ
ータ47によって構成され、同様に他方のスタティック
ラッチ回路もインバータ48とこれに帰還結合されたク
ロックドインバータ49によって構成される。入力ゲー
トとしてのクロックドインバータ44.45は上記制御
信号の10の一部である入力制御信号φ171 φio
によって選択制御され、これに呼応して上記クロックド
インバータ47.49は制御信号φ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に供給可能とし。
オーバーフロービットOFBがローレベルであるならバ
ス信号線BUS2 iから供給されるデータに換えて論
理rOJデータを算術論理演算器15に供給可能とする
。乗算指定制御信号φm t pがローレベルにネゲー
トされているときにはクロックドインバータ54.55
は供に高出力インピーダンス状態にされる。
上記ゲート27は、特に制限されないが、算術論理演算
器15の出力端子に入力端子が結合される論理整合用イ
ンバータ60と、この論理整合用インバータ60に出力
端子に入力端子が結合され制御端子には上記制御溝信号
10の1つとされる選択制御信号φ112が供給される
クロックドインバータ59によって構成される。
尚、バレルシフタ16側のセレクタ22.24や専用レ
ジスタ28.29についても基本的には第2図と同様に
構成することができる。
このように上記バレルシフタ16や算術論理演算器15
を用いた演算では、演算対象データを内部バスBUSI
、BUS2から得てそれを内部バスBUS3にもどして
やるというデータの流れと。
演算対象データを専用レジスタから得てその演算結果を
再び専用レジスタに戻してやるというデータの流れとを
選択可能になり、例えば算術論理演算器15が演算対象
データを内部バスBUSI。
BUS2から得て演算を行うとき、専用レジスタ28.
29のデータを利用するようにすれば、バレルシフタ1
6によるシフト演算やその演算結果を格納する操作を、
算術論理演算器15による算術論理演算やその演算結果
を格納する操作に並列して行うことができる。逆に、バ
レルシフタ16が演算対象データを内部バスBUSI、
BUS2から得てシフト操作を行うとき、専用レジスタ
25.26のデータを利用するようにすれば、算術論理
演算器15による算術論理演算やその演算結果を格納す
る操作をバレルシフタ16によるシフト演算やその演算
結果を格納する操作に並列して行うことができる。
次に乗算を一例として本実施例の動作を説明する。
例えば、共有レジスタ20に格納された被乗数す、b、
blb、と共有レジスタ18に格納された乗数c、Q2
Q1c0との乗算について説明する。このときの乗算手
法は加算とシフト操作の繰返し手法とし、算術論理演算
器15による加算結果は共有レジスタ19に格納し、ま
た、バレルシフタ16によるシフト操作の結果は専用レ
ジスタ29に格納するものとする。尚、当該乗算に際し
て上記制御信号φm t pはアサートされる。
ここで先ず当該乗算は概ね下記式のようにして行われ、 +    c  Xb   b、  b、  b。
aff4   al13a02aolao。
+    c  X b   b   b   b。
”14   at3a12 atz4ユニ+cXbbb
b a24   a23 azz a24ユ1求めるべき演
算結果はa34a33a22a31a3゜a2゜al。
ao。とされる。
このような乗算の処理手順の詳細な一例は第3図に示さ
れ、以下この第3図をも参照しなから当該加算演算を説
明する。
共有レジスタ19は全4ビツト0に初期設定されており
、先ず、共有レジスタ18に格納された乗数c、Q2Q
1c、を内部バスBUS2からノンオペレーション状態
のバレルシフタ16を通して専用レジスタ29にセット
する。
次のサイクルでは、初期設定された共有レジスタ19の
データooooが内部バスBus 1に。
そして共有レジスタ20に格納されている被乗数す、b
zbxboが内部バス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に格納される。
そして次のサイクルでは、共有レジスタ19のデータa
offa02alllaooが内部バスBUSIに、そ
して共有レジスタ20に格納されている被乗数す、b、
blboが内部バスBUS2に出力される。
これにより、バレルシフタ16は内部バスBUS1から
データa o3 a o2 a l、z a 0゜を採
り込むと共に専用レジスタ29からデータOcmC,C
,を取り込んで、下位側に1ビットシフト操作し、オー
バーフローした最下位ビットc1がオーバーフロービッ
トOFBとしてセレクタ23に与えられる。
一方、シフタ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。
3aOZallとの加算を行って演算結果aL3a11
aよ1a□。を得る。このとき、バレルシフタ16は、
当該加算演算に並行してそのときのシフト操作で得られ
た下位4ビツトa。l、oc3c2を再び専用レジスタ
29に戻す処理を行う、算術論理演算器15で得られた
加算結果a工1azza□、al、は共有レジスタ19
に格納される。
引き続く次のサイクルでは、共有レジスタ19のデータ
alffalZaliaL。が内部バスBUS 1に、
そして共有レジスタ2oに格納されている被乗数す、b
2b□b、が内部バスBUS2に出力される。
これにより、バレルシフタ16は内部バスBUS1から
データa1.a工aai1a工。を取り込むと共に専用
レジスタ29からデータa0゜Oc、C2を取り込んで
、下位側に1ビットシフト操作し、オーバーフローした
最下位ビットc2がオーバーフロービットOFBとして
セレクタ23に与えられる。
一方、シフタ17は内部バスBUSIからデータa工、
a工2a工tax。を取り込んで下位側に1ビツトシフ
トさせ、最上ビットには前サイクルで算術論理演算器1
5から出力されたキャリCARを取り込んだデータa1
4a□、a□zaz□を算術論理演算器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。
は共有レジスタ19に格納される。
さらに次のサイクルでは、共有レジスタ19のデータa
Z3 azz C21a、。が内部バスBUSIに、そ
して共有レジスタ20に格納されている被乗数b3b2
bより、が内部バスBUS2に出力される。
これにより、バレルシフタ16は内部バスBUS1から
データa23aZ□a2□a2゜を取り込むと共に専用
レジスタ29からデータa工。ao。Oc、を取り込ん
で、下位側に1ビットシフト操作し、オーバーフローし
た最下位ビットC1がオーバーフロービットOFBとし
てセレクタ23に与えられる。
一方、シフタ17は内部バスBUS 1からデータaz
+az2az□a2゜を取り込んで下位側に1ビツトシ
フトさせ最上ビットには前サイクルで算術論理演算器1
5から出力されたキャリCARを取り込んだデータa2
4aZ3aZ2aZLを算術論理演算器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に格納される。
そして最後のサイクルでは、共有レジスタ19のデータ
a33 C32C3z C3Gが内部バスBUS 1に
、そして共有レジスタ20に格納されている被乗数す、
b2b1boが内部バスBUS2に出力される。
これにより、バレルシフタ16は内部バスBUS1から
データa33 a32 a3L a3゜を取り込むと共
に専用レジスタ29からデータaZ11aillao。
0を取り込んで、下位側に1ビットシフト操作し、オー
バーフローした最下位ビットOがオーバーフロービット
○FBとしてセレクタ23に与えられる。
一方、シフタ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を得る。
このときバレルシフタ16は、当該加算演算に並行して
そのときのシフト操作で得られた下位4ビツトa30a
20a工。ao。を再び専用レジスタ29に戻す処理を
行う。算術論理演算器15で得られた加算結果a34a
33a32a3□は共有レジスタ19に格納される。
このような演算サイクルにより、共有レジスタ19の格
納データa34a33a32a31と専用レジスタ29
の格納データa、。a20aLOa11゜とによって。
被乗数b 3 b z b 1b aと乗数C3QzQ
lc、との演算結果であるデータa34 a33 a3
2 aax a30 a2゜a工。
ao。が得られる。
上記実施例によれば以下の作用効果を得る。
(1)算術論理演算器15による加算操作とバレルシフ
タ16によるシフト操作は概ね並列的に行われ、算術論
理演算器15による加算結果を共有レジスタ19に格納
するとき、バレルシフタのシフト操作で得られた結果は
内部バスBUS3を介することなく専用レジスタ29に
格納される。したがって、被乗数す、b、b□b、と乗
数c3c2cmcoとの乗算を行うためのサイクル数は
5乗数C1C2ClCoを最初に専用レジスタ29に設
定するサイクルを含めても6サイクルで済む、これに対
し専用レジスタ29が無いような従来の構成ではバレル
シフタ16によるシフト操作と算術論理演算器15によ
る加算操作とを夫々異なるサイクルで実行しなければ、
加算操作の結果とシフト操作の結果を所定のレジスタに
格納するときそれらのデータが内部バス上で競合もしく
は撹乱されるため、8サイクルが必要とされる。したが
って、本実施例の実行部で乗算などを行う場合にその演
算処理能力もしくは演算処理速度を向上させることがで
きる。
(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とを用いる各種演算効率の向上を図ることができる。
(3)上記作用効果より、乗算のように複数の演算器を
用いる演算処理のためのマイクロプログラムのステップ
数低減にも寄与することができる。
(4)専用レジスタ25,26,28.29の利用は選
択可能であるから、各種演算に対する汎用性も高い。
以上本発明者によってなされた発明を実施例に基づいて
具体的に説明したが、本発明は上記実施例に限定されず
その要旨を逸脱しない範囲において種々変更することが
できる。
例えば演算器は1個の算術論理演算器と1個のバレルシ
フタに限定されず、複数個の適宜の演算器に変更可能で
あり、例えば算術論理演算器の数を増やすこともできる
。特に複数個の演算器を並列動作可能とする本発明にお
いては、演算器の数が多ければこれに従って並列動作可
能な演算器の数も増やすことができるため、それに呼応
して演算処理速度向上の度合いも増すことができるよう
になる。
また、上記実施例では乗算を一例にその動作説明を行っ
たが、複数の演算器の並列動作を可能とする演算の種類
はこれに限定されず、その他の演算にも適用することが
できる。例えば複数個の算術論理演算器を含む場合に、
1の算術論理演算器を加算処理に使い、他の演算器をカ
ウンタとして利用することによって所要の演算を行うよ
うな場合にも利用することができる。このような演算処
理においても演算処理速度は従来の概ね2倍となる。尚
、乗算演算の手順は第3図に示される手順に限定されな
い。
以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるマイクロプログラム
制御方式のプロセッサに適用した場合について説明した
が、本発明はそれに限定されず、マイクロコンピュータ
や演算機能を有する周辺コントローラ、さらにはオフィ
ースコンピュータやエンジニアリングワークステーショ
ンなどのための各種中央処理装置に広く適用することが
できる。本発明は少なくとも複数の演算器を備えてデー
タ処理を行う条件のものに適用することができる。
〔発明の効果〕
本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記の通りである。
すなわち、演算結果を共有バスを通さずに蓄える専用レ
ジスタから再びデータが供給され得るように構成した演
算器を含むことにより、複数の演算器が同一演算サイク
ルにおいて並列演算を行っても、共有バス上で並列演算
のためのデータの競合を阻止して、演算対象データの供
給や演算結果データの格納が可能になり、このようなデ
ータの競合を回避しながら可能とされる複数の演算器に
よる並列動作により、複数の演算器を用いた一連の演算
動作を高速化することができるという効果がある。特に
、データ処理装置がマイクロプログラム制御される場合
には演算のためのマイクロプログラムステップ数の低減
に寄与することができる。
そして演算器には、セレクタを介して専用データレジス
タの出力データ又は共有バスから与えられるデータを選
択的に供給可能とすることにより、演算器の汎用利用を
可能にすることができる。
【図面の簡単な説明】
第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図

Claims (1)

  1. 【特許請求の範囲】 1、命令を実行するための実行手段を有し、この実行手
    段は、共有バスに結合された複数の演算器を備え、上記
    演算器は、演算結果を共有バスを通さずに蓄える専用レ
    ジスタから再びデータが供給可能にされたデータ処理装
    置。 2、上記演算器の専用データレジスタは、演算器の入力
    端子に接続される共有バス毎に設けられ、演算器の入力
    端子は、セレクタを介して内部バス及び専用レジスタの
    出力端子に結合された請求項1記載のデータ処理装置。 3、実行すべき命令を格納する制御記憶手段を備え、こ
    の制御記憶手段から順次読み出されるマイクロ命令に従
    って上記実行手段による演算が制御される請求項2記載
    のデータ処理装置。
JP63218821A 1988-09-01 1988-09-01 データ処理装置 Expired - Lifetime JP2760808B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63218821A JP2760808B2 (ja) 1988-09-01 1988-09-01 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63218821A JP2760808B2 (ja) 1988-09-01 1988-09-01 データ処理装置

Publications (2)

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

Family

ID=16725874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63218821A Expired - Lifetime JP2760808B2 (ja) 1988-09-01 1988-09-01 データ処理装置

Country Status (1)

Country Link
JP (1) JP2760808B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195356A (ja) * 1990-11-27 1992-07-15 Mitsubishi Electric Corp バス回路

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5840667A (ja) * 1981-08-19 1983-03-09 インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン マイクロプロセツサ
JPS6123232A (ja) * 1984-07-11 1986-01-31 Nec Corp 演算装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5840667A (ja) * 1981-08-19 1983-03-09 インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン マイクロプロセツサ
JPS6123232A (ja) * 1984-07-11 1986-01-31 Nec Corp 演算装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195356A (ja) * 1990-11-27 1992-07-15 Mitsubishi Electric Corp バス回路

Also Published As

Publication number Publication date
JP2760808B2 (ja) 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 (ja) 命令指定方法及び命令実行方式
EP0053457B1 (en) Data processing apparatus
US5327543A (en) System for selectively masking operand portions for processing thereof
US3739352A (en) Variable word width processor control
US4524416A (en) Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
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 (ja) プログラマブルプロセッサ、前記プログラマブルプロセッサを用いてデジタル信号処理を行なうための方法およびその改良
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPS61248135A (ja) パイプライン式プロセツサ及びその制御方法
JPS63273134A (ja) マクロ命令パイプラインを用いてマイクロ命令を変更する方法及び装置
Kartashev et al. A multicomputer system with dynamic architecture
JPH0545985B2 (ja)
GB1585285A (en) Parallel data processor apparatus
US3325785A (en) Efficient utilization of control storage and access controls therefor
US4503511A (en) Computing system with multifunctional arithmetic logic unit in single integrated circuit
US4771376A (en) Processor
JPH0477346B2 (ja)
JPH0266624A (ja) データ処理装置
GB2138182A (en) Digital processor