JPH0667847A - 演算方法及び演算回路 - Google Patents
演算方法及び演算回路Info
- Publication number
- JPH0667847A JPH0667847A JP4221254A JP22125492A JPH0667847A JP H0667847 A JPH0667847 A JP H0667847A JP 4221254 A JP4221254 A JP 4221254A JP 22125492 A JP22125492 A JP 22125492A JP H0667847 A JPH0667847 A JP H0667847A
- Authority
- JP
- Japan
- Prior art keywords
- shift
- data
- circuit
- data bus
- arithmetic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
(57)【要約】
【目的】 シフト動作の高速化と回路の簡素化を実現し
た演算方法及び演算回路を提供する。 【構成】 データバス1とデータバス2を介して入力さ
れたデータAとBをバレルシフタに入力してシフト量に
応じシフト動作を行わせるとともに、上記シフト動作と
並行してデータAとBをシフト量をもとにシフト量に対
応したデータを形成して算術論理演算回路に入力し、オ
ール1のデータと加算させ、この加算結果のオーバーフ
ローの有無によりバレルシフタによるシフト結果のオー
ル0を判定する。 【効果】 バレルシフタによるシフト動作ときに、それ
と同時に並行して行われる算術論理演算回路の加算動作
を行わせてシフト結果のオール0を判定できるので、バ
レルシフトに設けられるオール0を判定生成するフクグ
発生回路の削除と高速シフト演算ができる。
た演算方法及び演算回路を提供する。 【構成】 データバス1とデータバス2を介して入力さ
れたデータAとBをバレルシフタに入力してシフト量に
応じシフト動作を行わせるとともに、上記シフト動作と
並行してデータAとBをシフト量をもとにシフト量に対
応したデータを形成して算術論理演算回路に入力し、オ
ール1のデータと加算させ、この加算結果のオーバーフ
ローの有無によりバレルシフタによるシフト結果のオー
ル0を判定する。 【効果】 バレルシフタによるシフト動作ときに、それ
と同時に並行して行われる算術論理演算回路の加算動作
を行わせてシフト結果のオール0を判定できるので、バ
レルシフトに設けられるオール0を判定生成するフクグ
発生回路の削除と高速シフト演算ができる。
Description
【0001】
【産業上の利用分野】この発明は、演算方法及び演算回
路に関し、バレルシフタによるシフト演算を行う演算方
法及び演算回路に利用して有効な技術に関するものであ
る。
路に関し、バレルシフタによるシフト演算を行う演算方
法及び演算回路に利用して有効な技術に関するものであ
る。
【0002】
【従来の技術】マイクロプロセッサに設けられる演算器
として、図4に示すような回路が用いられ、算術論理演
算回路ALU、バレルシフタを用いて算術論理演算やシ
フト演算が行われる。フクグ生成回路FLG1は算術論
理演算回路ALUの演算結果から、フラグ生成回路FL
G2はバレルシフタの演算結果から、それぞれオーバー
フローや演算結果オール0などのヘラグを生成して命令
制御部に送る。
として、図4に示すような回路が用いられ、算術論理演
算回路ALU、バレルシフタを用いて算術論理演算やシ
フト演算が行われる。フクグ生成回路FLG1は算術論
理演算回路ALUの演算結果から、フラグ生成回路FL
G2はバレルシフタの演算結果から、それぞれオーバー
フローや演算結果オール0などのヘラグを生成して命令
制御部に送る。
【0003】
【発明が解決しようとする課題】本願発明者において
は、上記のようなマイクロプロセッサにおいては算術論
理演算動作とシフト動作とが同時に行われることが無い
ことに着目し、シフト動作の高速化と回路の簡素化を実
現することを考えた。
は、上記のようなマイクロプロセッサにおいては算術論
理演算動作とシフト動作とが同時に行われることが無い
ことに着目し、シフト動作の高速化と回路の簡素化を実
現することを考えた。
【0004】この発明の目的は、シフト動作の高速化と
回路の簡素化を実現した演算方法及び演算回路を提供す
ることにある。この発明の前記ならびにそのほかの目的
と新規な特徴は、本明細書の記述および添付図面から明
らかになるであろう。
回路の簡素化を実現した演算方法及び演算回路を提供す
ることにある。この発明の前記ならびにそのほかの目的
と新規な特徴は、本明細書の記述および添付図面から明
らかになるであろう。
【0005】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば、下
記の通りである。すなわち、データバス1とデータバス
2を介して入力されたデータAとBをバレルシフタに入
力してシフト量に応じシフト動作を行わせるとともに、
上記シフト動作と並行してデータAとBをシフト量をも
とにシフト量に対応したデータを形成して算術論理演算
回路に入力し、オール1のデータと加算させ、この加算
結果のオーバーフローの有無によりバレルシフタによる
シフト結果のオール0を判定する。
発明のうち代表的なものの概要を簡単に説明すれば、下
記の通りである。すなわち、データバス1とデータバス
2を介して入力されたデータAとBをバレルシフタに入
力してシフト量に応じシフト動作を行わせるとともに、
上記シフト動作と並行してデータAとBをシフト量をも
とにシフト量に対応したデータを形成して算術論理演算
回路に入力し、オール1のデータと加算させ、この加算
結果のオーバーフローの有無によりバレルシフタによる
シフト結果のオール0を判定する。
【0006】
【作用】上記した手段によれば、バレルシフタによるシ
フト動作ときに、それと同時に並行して行われる算術論
理演算回路の加算動作を行わせてシフト結果のオール0
を判定できるので、バレルシフトに設けられるオール0
を判定生成するフクグ発生回路の削除と高速シフト演算
ができる。
フト動作ときに、それと同時に並行して行われる算術論
理演算回路の加算動作を行わせてシフト結果のオール0
を判定できるので、バレルシフトに設けられるオール0
を判定生成するフクグ発生回路の削除と高速シフト演算
ができる。
【0007】
【実施例】図1には、この発明に係る演算回路の一実施
例のブロック図が示されている。データバス1(DBU
S1)とデータバス2(DBUS2)のデータは、レジ
スタファイルから読み出され、セレクタ1とセレクタ2
を通して算術演算論理回路ALUに入力される。この算
術論理演算回路ALUにより算術・論理の演算結果は、
ライトバスWBUSに伝えられる。このライトバスWB
USのデータは、上記レジスタファイルに書き込まれ
る。
例のブロック図が示されている。データバス1(DBU
S1)とデータバス2(DBUS2)のデータは、レジ
スタファイルから読み出され、セレクタ1とセレクタ2
を通して算術演算論理回路ALUに入力される。この算
術論理演算回路ALUにより算術・論理の演算結果は、
ライトバスWBUSに伝えられる。このライトバスWB
USのデータは、上記レジスタファイルに書き込まれ
る。
【0008】上記演算結果がオーバーフローを起こした
ときや、全ビットが0といういわゆるオール0のとき
は、ALU用フラグ発生回路FLGがこれを判別して、
命令制御部へフラグを出力する。
ときや、全ビットが0といういわゆるオール0のとき
は、ALU用フラグ発生回路FLGがこれを判別して、
命令制御部へフラグを出力する。
【0009】バレルシフタは、上記データバスDBUS
1とSBUS2を通してレジスタフェイルから読み出さ
れたデータを合成し、シフト信号によりシフトさせてラ
イトバスWBUSに送出する。この実施例においては、
このシフト動作において、算術論理演算回路ALUが何
も動作をしていないことに着目し、この算術論理演算回
路ALUを利用してシフト結果のオール0の判定動作を
行わせるようにするものである。この構成により、回路
の簡素化と高速動作化が可能になる。すなわち、バレル
シフタによるシフト動作と並行して算術論理演算回路A
LUによるオール0の判定が行われるから、オール0の
判定結果を高速に得ることができる。
1とSBUS2を通してレジスタフェイルから読み出さ
れたデータを合成し、シフト信号によりシフトさせてラ
イトバスWBUSに送出する。この実施例においては、
このシフト動作において、算術論理演算回路ALUが何
も動作をしていないことに着目し、この算術論理演算回
路ALUを利用してシフト結果のオール0の判定動作を
行わせるようにするものである。この構成により、回路
の簡素化と高速動作化が可能になる。すなわち、バレル
シフタによるシフト動作と並行して算術論理演算回路A
LUによるオール0の判定が行われるから、オール0の
判定結果を高速に得ることができる。
【0010】上記のように算術論理演算回路ALUを用
いてオール0の判定を行わせるために、次の回路が付加
される。データバスDBUS1とDBUS2がそれぞれ
16ビットからなるデータであるとき、シフト信号は5
ビットから構成される。この5ビットからなるシフト信
号は、論理回路により32ビットからなるセレクトデー
タに変換される。
いてオール0の判定を行わせるために、次の回路が付加
される。データバスDBUS1とDBUS2がそれぞれ
16ビットからなるデータであるとき、シフト信号は5
ビットから構成される。この5ビットからなるシフト信
号は、論理回路により32ビットからなるセレクトデー
タに変換される。
【0011】図2に、上記セレクトデータを形成方法を
説明するためのフローチャート図が示されている。5ビ
ットからなるシフト信号は、デコーダ回路によりシフト
量に相当したビットが1になるデコードデータに変換さ
れる。このデコードデータは、排他的論理和回路EOR
により、シフト量に対応したビットより右側のビットを
全て1にするセレクトデータに変換される。
説明するためのフローチャート図が示されている。5ビ
ットからなるシフト信号は、デコーダ回路によりシフト
量に相当したビットが1になるデコードデータに変換さ
れる。このデコードデータは、排他的論理和回路EOR
により、シフト量に対応したビットより右側のビットを
全て1にするセレクトデータに変換される。
【0012】セレクタ1は、前記のような通常の算術論
理演算回路の動作モードのときには、単にデータバスD
BUS1又はDBUS2のデータを取り込むような動作
を行う。これに対して、シフト動作モードのときには、
図3の動作概念図に示すように、上記セレクトデータに
対応してDBUS1とDBUS2のデータを取り込む。
すなわち、1に対応したビットはデータバスDBUS1
からデータを取り込み、0に対応したビットはデータバ
スDBUS2からデータを取り込む。このようにして、
バレルシフタのシフト結果と同じデータを形成して、算
術論理演算回路ALUの一方の入力に供給する。
理演算回路の動作モードのときには、単にデータバスD
BUS1又はDBUS2のデータを取り込むような動作
を行う。これに対して、シフト動作モードのときには、
図3の動作概念図に示すように、上記セレクトデータに
対応してDBUS1とDBUS2のデータを取り込む。
すなわち、1に対応したビットはデータバスDBUS1
からデータを取り込み、0に対応したビットはデータバ
スDBUS2からデータを取り込む。このようにして、
バレルシフタのシフト結果と同じデータを形成して、算
術論理演算回路ALUの一方の入力に供給する。
【0013】セレクタ2は、前記のような通常の算術論
理演算回路の動作モードのときには、単にデータバスD
BUS2のデータを取り込むような動作を行う。これに
対して、シフト動作モードのときには、オール1のデー
タを算術論理演算回路ALUの他方の入力に供給する。
これにより、算術論理演算回路ALUは、シフト結果に
対応したデータとオール1のデータとの加算演算を行
う。
理演算回路の動作モードのときには、単にデータバスD
BUS2のデータを取り込むような動作を行う。これに
対して、シフト動作モードのときには、オール1のデー
タを算術論理演算回路ALUの他方の入力に供給する。
これにより、算術論理演算回路ALUは、シフト結果に
対応したデータとオール1のデータとの加算演算を行
う。
【0014】もしも、シフト結果に対応したデータがオ
ール0のときには、算術論理演算回路ALUの演算結果
はオール1となってオーバーフロー無しとされる。これ
に対して、シフト結果に対応したデータにいずれか1ビ
ットでも1があれば、上記オール1との加算結果にオー
バーフローが生じることなり、ALUフラグ生成回路F
LGは、これを検出してオーバーフローのフクグを発生
する。
ール0のときには、算術論理演算回路ALUの演算結果
はオール1となってオーバーフロー無しとされる。これ
に対して、シフト結果に対応したデータにいずれか1ビ
ットでも1があれば、上記オール1との加算結果にオー
バーフローが生じることなり、ALUフラグ生成回路F
LGは、これを検出してオーバーフローのフクグを発生
する。
【0015】このように、シフト動作モードにおいて、
ALUフクグ生成回路FLGのフクグにオーバーフロー
が発生すれば、バレルシフタのシフト結果にオール0が
無いことを意味し、逆にALUフクグ生成回路FLGの
フクグにオーバーフローが発生しなければ、バレルシフ
タのシフト結果にオール0であることを意味するものと
してそれぞれの処理を行うようにするものである。
ALUフクグ生成回路FLGのフクグにオーバーフロー
が発生すれば、バレルシフタのシフト結果にオール0が
無いことを意味し、逆にALUフクグ生成回路FLGの
フクグにオーバーフローが発生しなければ、バレルシフ
タのシフト結果にオール0であることを意味するものと
してそれぞれの処理を行うようにするものである。
【0016】上記図3に示すように、バレルシフタによ
るシフト動作と、算術論理演算回路ALUによるオール
0の判定処理とが同時に並行して行われるものである。
それ故、従来のようにバレルシフタのシフト結果をバレ
ルシフタ用フラグ生成回路に入力して、オール0の判定
処理を行う場合に比べて、回路の簡素化が図られるとと
もに、オール0の判定結果を高速に知ることができ、オ
ール0の判定処理を含む一連のシフト動作の処理を早く
終わられることができ、高速シフト演算が実現できる。
るシフト動作と、算術論理演算回路ALUによるオール
0の判定処理とが同時に並行して行われるものである。
それ故、従来のようにバレルシフタのシフト結果をバレ
ルシフタ用フラグ生成回路に入力して、オール0の判定
処理を行う場合に比べて、回路の簡素化が図られるとと
もに、オール0の判定結果を高速に知ることができ、オ
ール0の判定処理を含む一連のシフト動作の処理を早く
終わられることができ、高速シフト演算が実現できる。
【0017】上記の実施例から得られる作用効果は、下
記の通りである。すなわち、 (1) データバス1とデータバス2を介して入力され
たデータAとBをバレルシフタに入力してシフト量に応
じシフト動作を行わせるとともに、上記シフト動作と並
行してデータAとBをシフト量をもとにシフト量に対応
したデータを形成して算術論理演算回路に入力し、オー
ル1のデータと加算させ、この加算結果のオーバーフロ
ーの有無によりバレルシフタによるシフト結果のオール
0を判定することにより、バレルシフタによるシフト動
作並行して算術論理演算回路の加算動作を利用してシフ
ト結果のオール0を判定できるので、バレルシフトに設
けられるオール0を判定生成するフクグ生成回路の削除
と高速シフト演算動作を実現できるという効果が得られ
る。
記の通りである。すなわち、 (1) データバス1とデータバス2を介して入力され
たデータAとBをバレルシフタに入力してシフト量に応
じシフト動作を行わせるとともに、上記シフト動作と並
行してデータAとBをシフト量をもとにシフト量に対応
したデータを形成して算術論理演算回路に入力し、オー
ル1のデータと加算させ、この加算結果のオーバーフロ
ーの有無によりバレルシフタによるシフト結果のオール
0を判定することにより、バレルシフタによるシフト動
作並行して算術論理演算回路の加算動作を利用してシフ
ト結果のオール0を判定できるので、バレルシフトに設
けられるオール0を判定生成するフクグ生成回路の削除
と高速シフト演算動作を実現できるという効果が得られ
る。
【0018】以上本発明者よりなされた発明を実施例に
基づき具体的に説明したが、本願発明は前記実施例に限
定されるものではなく、その要旨を逸脱しない範囲で種
々変更可能であることはいうまでもない。例えば、論理
回路やセレクタによってシトフ結果に対応したデータを
セレクトする回路は、種々の実施形態を採ることができ
る。この発明は、算術論理演算回路及びバレルシフタを
備えた演算回路及び演算方法に広く利用できる。
基づき具体的に説明したが、本願発明は前記実施例に限
定されるものではなく、その要旨を逸脱しない範囲で種
々変更可能であることはいうまでもない。例えば、論理
回路やセレクタによってシトフ結果に対応したデータを
セレクトする回路は、種々の実施形態を採ることができ
る。この発明は、算術論理演算回路及びバレルシフタを
備えた演算回路及び演算方法に広く利用できる。
【0019】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば、下
記の通りである。すなわち、データバス1とデータバス
2を介して入力されたデータAとBをバレルシフタに入
力してシフト量に応じシフト動作を行わせるとともに、
上記シフト動作と並行してデータAとBをシフト量をも
とにシフト量に対応したデータを形成して算術論理演算
回路に入力し、オール1のデータと加算させ、この加算
結果のオーバーフローの有無によりバレルシフタによる
シフト結果のオール0を判定することにより、バレルシ
フタによるシフト動作並行して算術論理演算回路の加算
動作を利用してシフト結果のオール0を判定できるの
で、バレルシフトに設けられるオール0を判定生成する
フクグ生成回路の削除と高速シフト演算動作を実現でき
る。
的なものによって得られる効果を簡単に説明すれば、下
記の通りである。すなわち、データバス1とデータバス
2を介して入力されたデータAとBをバレルシフタに入
力してシフト量に応じシフト動作を行わせるとともに、
上記シフト動作と並行してデータAとBをシフト量をも
とにシフト量に対応したデータを形成して算術論理演算
回路に入力し、オール1のデータと加算させ、この加算
結果のオーバーフローの有無によりバレルシフタによる
シフト結果のオール0を判定することにより、バレルシ
フタによるシフト動作並行して算術論理演算回路の加算
動作を利用してシフト結果のオール0を判定できるの
で、バレルシフトに設けられるオール0を判定生成する
フクグ生成回路の削除と高速シフト演算動作を実現でき
る。
【図1】この発明に係る演算回路の一実施例を示すブロ
ック図である。
ック図である。
【図2】この発明に係るシフト動作に用いられるセレク
トデータを形成方法を説明するためのフローチャート図
である。
トデータを形成方法を説明するためのフローチャート図
である。
【図3】この発明に係るシフト動作の一例を説明するた
めの概念図である。
めの概念図である。
【図4】従来の演算回路の一例を説明するためのブロッ
ク図である。
ク図である。
【符号の説明】 ALU…算術論理演算回路、FLG,FLG1…ALU
用フラグ形成回路、FLG2…シフタ用フクグ生成回
路、DBUS1…データバス1、DBUS2…データバ
ス2、WBUS…書き込みバス。
用フラグ形成回路、FLG2…シフタ用フクグ生成回
路、DBUS1…データバス1、DBUS2…データバ
ス2、WBUS…書き込みバス。
Claims (3)
- 【請求項1】 データバス1とデータバス2を介して入
力されたデータAとBをバレルシフタに入力して、シフ
ト量に応じシフト動作を行わせるとともに、上記シフト
動作と並行してデータAとBをシフト量をもとにシフト
量に対応したデータを形成して算術論理演算回路に入力
し、オール1のデータと加算させ、この加算結果のオー
バーフローの有無によりバレルシフタによるシフト結果
のオール0のフクグを得ることを特徴とする演算方法。 - 【請求項2】 データバス1及びデータバス2、シフト
信号によりデータバス1とデータバス2の信号を受けて
それを合成してシフト動作を行わせてライトバスに出力
させるバレルシフタと、シフト動作のときに上記シフト
信号を解読して形成されたセレクト信号によりデータバ
ス1とデータバス2の中からシフト結果に対応したデー
タを算術論理演算回路の一方に入力する第1のセレクタ
と、上記シフト動作のときにオール1の信号を算術論理
演算回路の他方に入力する第2のセレタクと、上記算術
論理演算回路の演算結果によりオーバフローの有無を出
力させるフクグ生成回路とを備えてなり、上記シフト動
作においてフクグ生成回路により生成されたオーバーフ
ロー出力信号をシフト結果オール0の信号として利用す
ることを特徴とする演算回路。 - 【請求項3】 上記デコーダ回路は、シフト量に対応し
たビットが1にされた解読信号を受け、第1のセレクタ
は1に対応したビットはデータバス1から取り込み、0
に対応したビットはデータバス2から取り込むものであ
ることを特徴とする請求項2の演算回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4221254A JPH0667847A (ja) | 1992-08-20 | 1992-08-20 | 演算方法及び演算回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4221254A JPH0667847A (ja) | 1992-08-20 | 1992-08-20 | 演算方法及び演算回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0667847A true JPH0667847A (ja) | 1994-03-11 |
Family
ID=16763892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4221254A Pending JPH0667847A (ja) | 1992-08-20 | 1992-08-20 | 演算方法及び演算回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0667847A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2768774A1 (fr) | 1997-09-22 | 1999-03-26 | Nissan Diesel Motor Company | Appareil d'admission de moteur a combustion interne |
KR101471227B1 (ko) * | 2010-05-28 | 2014-12-10 | 충북대학교 산학협력단 | 일진법 수의 데이터 처리 장치 및 이를 이용한 연산 방법 |
-
1992
- 1992-08-20 JP JP4221254A patent/JPH0667847A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2768774A1 (fr) | 1997-09-22 | 1999-03-26 | Nissan Diesel Motor Company | Appareil d'admission de moteur a combustion interne |
KR101471227B1 (ko) * | 2010-05-28 | 2014-12-10 | 충북대학교 산학협력단 | 일진법 수의 데이터 처리 장치 및 이를 이용한 연산 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100533296B1 (ko) | 리드/모디파이/라이트 유닛을 갖는 시스템 | |
US4908788A (en) | Shift control signal generation circuit for floating-point arithmetic operation | |
JPS633337B2 (ja) | ||
US5715186A (en) | Digital processing device with minimum and maximum search instructions | |
US5764550A (en) | Arithmetic logic unit with improved critical path performance | |
JPH0667847A (ja) | 演算方法及び演算回路 | |
JPH0371329A (ja) | 算術論理演算処理装置の演算制御回路 | |
JP2005508554A (ja) | データ操作を利用したデータの計算と処理方法、及び、その装置 | |
JP2000056949A (ja) | 4−2コンプレッサ回路および乗算器 | |
GB2354091A (en) | Zero result prediction. | |
US5481728A (en) | Data processor having circuitry for high speed clearing of an interrupt vector register corresponding to a selected interrupt request | |
JP2928680B2 (ja) | 複合条件処理方式 | |
US5944772A (en) | Combined adder and logic unit | |
JPS62197868A (ja) | パイプライン構成の直線近似変換回路 | |
JPH1063500A (ja) | 信号処理装置 | |
US7278087B2 (en) | Hardware circuit for the puncturing and repetitive coding of data streams, and a method for operating the said hardware circuit | |
US5220670A (en) | Microprocessor having ability to carry out logical operation on internal bus | |
KR940007722A (ko) | 고속 마이크로프로세서 브랜치 결정 회로 | |
US5148480A (en) | Decoder | |
JP2000259392A (ja) | 論理回路 | |
JPH0749778A (ja) | 演算装置 | |
KR100203742B1 (ko) | 멀티플렉스를 이용한 가산기 | |
JPH07147546A (ja) | ビタビ復号器 | |
JPH0517574B2 (ja) | ||
JPH04180125A (ja) | 加算器 |