JPH02171922A - 中央演算処理装置 - Google Patents

中央演算処理装置

Info

Publication number
JPH02171922A
JPH02171922A JP63329711A JP32971188A JPH02171922A JP H02171922 A JPH02171922 A JP H02171922A JP 63329711 A JP63329711 A JP 63329711A JP 32971188 A JP32971188 A JP 32971188A JP H02171922 A JPH02171922 A JP H02171922A
Authority
JP
Japan
Prior art keywords
register
data
operand
bits
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
Application number
JP63329711A
Other languages
English (en)
Inventor
Keiichi Yoshioka
圭一 吉岡
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP63329711A priority Critical patent/JPH02171922A/ja
Publication of JPH02171922A publication Critical patent/JPH02171922A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、CPU等の演算処理装置に関し、特に演算
不要なサイクルの実行を省略し1;中央処理装置に関す
る。
[従来の技術] 第3図に一般的なCPUの構成例を示している。
CPUの内部バスに出力された実行すべきオベコ〜ド(
命令コード)及びオペランド(命令内容)等のデータは
、データ入出力ボートlでフエツチされ、命令レジスタ
2に格納される。命令の実行には、!クロックのサイク
ルで完了するしのから複数クロックを要するものがあり
、そのサイクルは夕・rミングコントロール回路3で制
御される。このタイミングコントロール回路3及び命令
レジスタ2で発生された信号は、命令デコードROM4
で所定のコントロール信号Scにデコート化され、演算
用のアキューム・レジスタ・ユニット(以下AL Uと
いう)5、プログラムカウンタ6、ABC,Dの汎用レ
ノスタフの制御用として用いられる。8は、外部システ
ムに対するC P Uの入出力部であるンステノ、制御
回路であり、CP Uの動作を制御するクロック、割込
み、書込/続出信号をやりとりする。9は、外部システ
ムに対するアドレス入出力ボートである。
前記ALU5及び汎用レノスタフは内部バスニ接続され
ており、汎用レジスタ7でラッチされたデータがA L
、 tJ 5に取り込まれることにより、このALU5
にて2値の演算が行なイっれるようになっており、3値
以上の演算の場合は次のような制御かなされる。
サイクル    cpu内部動作 命令コードのフェッチ オペランド(レジスタ(C))のフェッチレジスタ(A
)+レジスタ(B) (A+B)+−レノスタ(C)−會実行アドレス実行ア
ドレスでのデータのフェッチ 以下命令に従い実行 このように、A L U 5により、サイクル■の第1
の演算サイクルで2値の演算を行い、そして、サイクル
■の第2の演算サイクルにて萌の演算値と3値目の値と
を演算し、以下繰り返V形態をとっている。
「発明が解決しようとする課題7 ところが、例えば、レジスタA、B、Cの3値の加算演
算を行う場合で、レジスタCの値が0の場合、第1の演
算サイクルにてレジスタ(A)+レジスタ(B)の演算
のみを行えば済むのであるか、実際には、第2の演算サ
イクルで前記演算結果(−レジスタ(C)の不必要な演
算を行っており、そのために無駄な演算時間を要した。
この発明は、上述した問題点をなくすためになされたも
のであり、無駄な演算実行を省略して演算処理の高速化
を図った中央演算処理装置を提供することを目的とする
[課題を解決するための手段] 第1の発明になる中央演算処理装置は、演算数と被演算
数に対する演算を行う演算手段と、演算数及び被演算数
のデータを複数に分割して格納するレジスタと、レジス
タに格納された各分割データがOであるかを検出する零
検出器と、前記レジスタで格納されろ分割データ単位で
選択して前記演算手段に入力する入力選択部と、3値以
上の演算に対し、前記零検出器の判定に基づき、所定の
演算が行なわれるよう、前記演算手段、レジスタ及び人
力選択部を制御する命令デコード手段と、を備えたこと
を特徴とする。
第2の発明になる中央演算処理装置は、演算数と非演算
数に対する演算を行う演算手段と、レジスタに格納され
た演算数及び被演算数のデータがOであるかを検出1ろ
零検出器と、前記前記零検出器によりOのデータが検出
されたとき、当該0のデータに対する演算を省略するよ
う前記演算手段及びレジスタを制御する命令デコード手
段と、備えたこ七を特徴とする。
[作用] ビット長nの3値以−h(A、B、C,・・・)に対し
例えば加算演算を行うとき、演算手段(j1第1の演算
サイクルで/l−Bを行い、第2の演算サイクルで前記
演算結果(A+B)+Cを行い、このように、3値の加
算演算であれば2回の演算を必要とする。
しかるに、例えばCがすべてのビットでOの場合(以下
■の演算と呼ぶ)、第2の演算サイクルが不要となる。
又、一つの値がすべてのビットに対して0でなくとら、
例えば、Aの下位半分ALかOで、Bの上位半分Bll
がOであれば(以下■の演算という)、Aの上位半分A
I(のデータと、Bの下位半分BLのデータとを呼び出
すだけでA+3が求まり、第1の演算サイクルを省略で
きる。
第1の発明はこの点に着目しだらのであり、そのために
、レジスタは、データを複数に分割して格納可能とし、
レジスタに格納された分割データが0であるかいなかを
検出する零検出器を設けるとともに、分割データのデー
タ長単位で選択して演算手段に人力する入力選択部及び
、この入力選択部を制御4゛るための命令デコード手段
を設けた乙のであり、■の演算に対しては、レジスタに
格納されたCが零検出器によって全ビット0であると検
出されると、命令デコード手段によって上記第2の演算
サイクルが省略される。■の演算に対しては、入力選択
部により、レジスタからAの上位半分Allと、Bの下
位半分BLが選択され(A+B)のデータとして演算手
段の一方の人力部に人力され、該演算手段の他方の人力
部にはCが人力され、これにより、A+B+Cの演算が
1回の演算サイクルにて行なわれる。
尚、上記説明では、データを上位と下位とに2分したが
、データの分割数はこれに限定されない。
第2の発明では、■の演算のみ実行できるようにしたも
のであり、零検出器によってCがすべてのビットで0で
あると判定されると、命令デコード手段の制御によって
、第1の演算サイクル後、Cを加算する第2の演算サイ
クルが省略される。
[実施例] 第1図にこの発明の一実施例を示しており、ここでは、
AlO2及び汎用レジスタ7のレジスタA、B、C部の
主要部のみを示している。
各レジスタA、B、Cは、!6ビツトであり、次のビッ
ト構成で示すようにレジスタAは上位8ビツトのAIと
下位8ビツトのALとに分割され、命令デコードn0M
4よりのコントロール信号Scである^/ABHLが“
ビとなれば、レジスタA!(。
ALにラッチされていた上位8ビツトのデータと、下位
8ビツトのデータとは、それぞれABHバスと、ABL
バスとに読み出される。
そして、レジスタAH,ALにラッチされた各8ビツト
のデータがすべて0であるか否かを検出するための上位
零検出器71H,下位零検出器71Lが設けられる。
同様に、レジスタB及びCも、上位8ビツト(BH,C
H)と下位8ビツト(BL、CL)に分割され、それぞ
れ零検出器72H,72L及び、73H,73しを備え
る。零検出器によって0が検出されると、命令デコード
ROM4に送出される出力信号AZH,AZLSBZH
,BZL、及びCZHlCZLが1となる。この零検出
器の一例を第2図に示しており、8人力のNOR回路に
てなる。
16ビツト長の二組のデータが入力されるAlO2の2
つの入力部X、Yにおいても、上位8ビツトと下位8ビ
ツトとに対応して、人力選択部511−1.51L及び
52H,52Lがそれぞれ設けられる。入力部Xの上位
入力選択部511(には、命令デコードROM4より、
コントロール信号Scである、ABII/ALUX H
、BBH/ALUX H、CBII/ALUX Hが入
力され、入力部Xの下位入力選択部51Lには、八Bl
、/ALUX L 、BBL/ALUX L 、CBL
/ALUX Lが人力され、同様に、入力部Yの上位入
力選択部52Hには、^BH/ALU Y H、BB夏
1/ALU Y H、CB)I/ALU Y Hが入力
され、人力部Yの下位入力選択部52Lには、ABL/
ALU Y L 、、BBL/^LUY L 、CBL
/ALUY Lが人力される。
命令デコードROM4は、前記AZH−CZLの信号に
基づき、無駄な演算実行を省略できるよう、前記コント
ロール信号Scによって人力選択部51H〜52Lを制
御して上位あるいは下位の8ビツトのデータをAlO2
に選択的に入力する。
例えば、ABL/AL[IX Lが“l”となれば、A
BLバスの8ビツトのデータが下位入力選択部51Lで
選択され、AlO2のX入力部の下位8ビツトのデータ
として入力される。
次に上記構成のCPUの動作を3値の加算演算を行う場
合について述べる。
まず、零検出器において、上位零検出器71H272H
,731−1と、下位零検出器71L、72L。
73Lとにおいて、それぞれ−組以上の0が検出されな
かったとき、つまり、零検出器よりの出力信号AZH,
BZH,CZH1及びAZLBZLCZLにおいて、そ
れぞれ少なくとも一つ以上が“ビでなかったときは、3
値の加算演算において省略できないときであり、この場
合は、まず、第1の演算サイクルとして、レジスタAの
データがABHバスとABLバスとに読み出され、そし
て、ABH/ALUX Hと、^BL/^LUXLとが
“1”となることにより、ABHバス上の上位8ビツト
データが上位人力選択部51Hを介してA L U 5
のX入力部の上位8ビツトとして格納され、又、A[3
Lバス上の下位8ビツトデータが下位入力選択部51L
を介して同人力部Xの下位8ビツトとして格納される。
このようにしてA L U 5のX人力部にレジスタA
よりの16ビツトのデータが格納されると、次にレジス
タBの16ビツトのデータが同様にAL U 5のY入
力部に格納される。これにより、レジスタ(A)+レジ
スタ(B)の演算がなされ、同様に、第2の演算サイク
ルとして、第1の演算結果+レジスタ(C)がなされる
次に3つのレジスタのうち、例えばレジスタCのデータ
の!6ビツトがすべて0のときについて述べる。このと
きは、上位零検出器73■1及び下位零検出器73Lの
出力信号c z tt及びCZLが“ビとなり、これに
より、命令デコードROM4より、所定のコントロール
信号Scが出力される結果、ALU5において、レジス
タ(A)+レジスタ(B)の演算のみ行なわれ、第2の
演算サイクルは省略される。
レジスタBのデータがすべて0のとき(■の演算という
)は、第1の演算サイクルとして、レジスタ(A)+レ
ジスタ(C)の演算のみがなされ、このように一つのレ
ジスタのデータがすべてOのときはlサイクルの演算に
て加算演算が終了する。
次に、上位8ビツトか0のデータと下位8ビツトが0の
データとが別のレジスタにあったとき(■の演算という
)について述べる。例えば以下に示4−ピクト構成のご
とく、レジスタへの下位8ビツトと、レジスタBの上位
8ビツトとがずへて0のときは、ALU5のX人力部に
16ビツトのデータを格納する際、上位8ビツトにレジ
スタA)lの8ビツトのデータを格納し、下位8ビツト
には、レジスタBLの8ビツトのデータを格納すれば、
これにより、レジスタ(A)+レジスタ(B)の演算が
なされたことにより、このX入力部のデータと、他方の
Y人力部に格納したレジスタCのデータとを加算演算す
れば、lサイクルの演算にて3つのレジスタの加算演算
が行える。
上記実施例では、データを上位と下位とに2分したが、
データの分割数はこれに限定されない。
又、3値以上の演算に対してもこの発明は有効である。
尚、上記実施例は、■の演算に対しても無駄な演算の省
略が可能となるように、人力選択部を設けて、分割した
データ単位でALU5に入力可能としたが、■の演算に
対してのみ演算処理を行うのであれば、入力選択部は不
要であり、零検出器は、データが全ピッ+−0であるか
否かを検出できればよい。
[発明の効果] 以上説明したように、この発明は、データの一部もしく
はすべてでOの場合で、加減算を省略できるしのに対し
ては、無駄な演算を行わないようにしたので、その分、
演算処理時間を短縮できろ。
【図面の簡単な説明】
第1図はこの発明の中央演算処理装置の一実施例を示す
制御回路図、第2図は第1図における零検器の一例を示
す回路図、第3図は、一般的なCPUの構成を示すブロ
ック図である。 2・・・命令レジスタ、3・・・タイミングコントロー
ラ、4・・命令デコードROM、5・・ALU、6・・
・プログラムカウンタ、7・・・汎用レジスタ、51)
f。 52 H・・・上位入力選択部、51L、52L・・・
下位人力選択部、71 H,72H,731(・=上位
零検出器、71L、72L、73L・・・下位零検出器
。 特許出願人  株式会社 リコー

Claims (2)

    【特許請求の範囲】
  1. (1)演算数と被演算数に対する演算を行う演算手段と
    、演算数及び被演算数のデータを複数に分割して格納す
    るレジスタと、レジスタに格納された各分割データが0
    であるかを検出する零検出器と、前記レジスタで格納さ
    れる分割データ単位で選択して前記演算手段に入力する
    入力選択部と、3値以上の演算に対し、前記零検出器の
    判定に基づき、所定の演算が行なわれるよう、前記演算
    手段、レジスタ及び入力選択部を制御する命令デコード
    手段と、を備えたことを特徴とする中央演算処理装置。
  2. (2)演算数と被演算数に対する演算を行う演算手段と
    、レジスタに格納された演算数及び被演算数のデータが
    0であるかを検出する零検出器と、前記零検出器により
    0のデータが検出されたとき、当該0のデータに対する
    演算を省略するよう前記演算手段及びレジスタを制御す
    る命令デコード手段と、備えたことを特徴とする中央演
    算処理装置。
JP63329711A 1988-12-26 1988-12-26 中央演算処理装置 Pending JPH02171922A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63329711A JPH02171922A (ja) 1988-12-26 1988-12-26 中央演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63329711A JPH02171922A (ja) 1988-12-26 1988-12-26 中央演算処理装置

Publications (1)

Publication Number Publication Date
JPH02171922A true JPH02171922A (ja) 1990-07-03

Family

ID=18224418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63329711A Pending JPH02171922A (ja) 1988-12-26 1988-12-26 中央演算処理装置

Country Status (1)

Country Link
JP (1) JPH02171922A (ja)

Similar Documents

Publication Publication Date Title
US20020169942A1 (en) VLIW processor
US5005118A (en) Method and apparatus for modifying micro-instructions using a macro-instruction pipeline
TW201820125A (zh) 執行複數的熔合乘-加指令的系統與方法
JPH09231070A (ja) 情報処理回路、半導体集積回路装置、マイクロコンピュータ、電子機器
JPH02226420A (ja) 浮動小数点演算実行装置
JP3212213B2 (ja) データ処理装置
US5390306A (en) Pipeline processing system and microprocessor using the system
JP2993975B2 (ja) 中央演算処理装置
JPH02171922A (ja) 中央演算処理装置
JP3019818B2 (ja) データ処理方法
JP3511691B2 (ja) 演算処理装置
JPH02284225A (ja) 演算処理装置
JPH01195532A (ja) マイクロプロセッサー
JP2722493B2 (ja) レジスタ割り付け処理方法
JPH0512821Y2 (ja)
JPH02140832A (ja) 並列処理装置
JPH02148140A (ja) 情報処理装置における条件分岐制御方式
JPH0512009A (ja) デイジタル信号処理装置
JPH052472A (ja) 演算装置
JPH1063503A (ja) 演算処理装置及び演算処理方法
JPH0222417B2 (ja)
JPS5927351A (ja) デ−タ処理装置
JP2002073326A (ja) プログラム実行装置及びプログラム実行方法
JPS63197233A (ja) 情報処理装置
JPH0758459B2 (ja) マイクロプログラム制御装置