JPH04369726A - 演算制御回路 - Google Patents
演算制御回路Info
- Publication number
- JPH04369726A JPH04369726A JP3146233A JP14623391A JPH04369726A JP H04369726 A JPH04369726 A JP H04369726A JP 3146233 A JP3146233 A JP 3146233A JP 14623391 A JP14623391 A JP 14623391A JP H04369726 A JPH04369726 A JP H04369726A
- Authority
- JP
- Japan
- Prior art keywords
- register
- data
- registers
- carry
- 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
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】この発明は、データ処理装置の演
算制御回路に関するものである。
算制御回路に関するものである。
【0002】
【従来の技術】従来の演算制御回路としては、”電子通
信学会大学シリーズ,「計算機方式」,コロナ社(p3
0)”に示されている。図2は従来の演算制御回路の構
成を示すブロック図である。図2において、10〜40
はデータを格納するレジスタ、5〜12は各レジスタ1
0〜40の内容をバス100に出力するゲート、13は
バス100上のデータを入力され演算を行った後に各レ
ジスタ10〜40に格納する演算器である。また、13
aは演算器100の機能を制御するための機能制御信号
である。
信学会大学シリーズ,「計算機方式」,コロナ社(p3
0)”に示されている。図2は従来の演算制御回路の構
成を示すブロック図である。図2において、10〜40
はデータを格納するレジスタ、5〜12は各レジスタ1
0〜40の内容をバス100に出力するゲート、13は
バス100上のデータを入力され演算を行った後に各レ
ジスタ10〜40に格納する演算器である。また、13
aは演算器100の機能を制御するための機能制御信号
である。
【0003】以上のように構成された従来の演算制御回
路においては、バス100の幅より長いビット長のデー
タの演算処理を行う場合には、演算器13により、先ず
レジスタ20およびレジスタ40のデータに対して演算
を行い、この演算結果をレジスタ20に格納し、次にレ
ジスタ10およびレジスタ30のデータに対して演算を
行い、この演算結果をレジスタ10に格納することによ
り実現していた。
路においては、バス100の幅より長いビット長のデー
タの演算処理を行う場合には、演算器13により、先ず
レジスタ20およびレジスタ40のデータに対して演算
を行い、この演算結果をレジスタ20に格納し、次にレ
ジスタ10およびレジスタ30のデータに対して演算を
行い、この演算結果をレジスタ10に格納することによ
り実現していた。
【0004】なお、この場合、レジスタ10,20には
被演算データが格納されており、レジスタ30,40に
は演算データが格納されているとする。
被演算データが格納されており、レジスタ30,40に
は演算データが格納されているとする。
【0005】
【発明が解決しようとする課題】しかしながら、このよ
うに構成された従来の演算制御回路では、レジスタ20
およびレジスタ40のデータに対して演算を行い、この
演算結果をレジスタ20に格納した後に、レジスタ10
およびレジスタ30の内容に拘わらず、レジスタ10お
よびレジスタ30のデータに対して演算を行い、この演
算結果をレジスタ10に格納していた。したがって、レ
ジスタ10およびレジスタ30のデータに対する演算結
果が、レジスタ10の内容を更新することが不要な場合
でも、必ず2回の演算が実行されることとなる。その結
果、演算制御回路の演算処理速度が低下するという問題
があった。
うに構成された従来の演算制御回路では、レジスタ20
およびレジスタ40のデータに対して演算を行い、この
演算結果をレジスタ20に格納した後に、レジスタ10
およびレジスタ30の内容に拘わらず、レジスタ10お
よびレジスタ30のデータに対して演算を行い、この演
算結果をレジスタ10に格納していた。したがって、レ
ジスタ10およびレジスタ30のデータに対する演算結
果が、レジスタ10の内容を更新することが不要な場合
でも、必ず2回の演算が実行されることとなる。その結
果、演算制御回路の演算処理速度が低下するという問題
があった。
【0006】この発明の目的は、上記問題点に鑑み、演
算処理の高速化を実現した演算制御回路を提供すること
である。
算処理の高速化を実現した演算制御回路を提供すること
である。
【0007】
【課題を解決するための手段】この発明の演算制御回路
は、第1ビット長のデータを格納する第1および第2の
レジスタと、第1ビット長以下の第2ビット長のデータ
を格納する第3および第4のレジスタと、入出力データ
のビット長が第1ビット長以下である演算器と、この演
算器による第1および第2のレジスタに格納したデータ
に対する演算結果に、桁上がりが生じたかどうかを示す
キャリーフラグと、演算器による第3のレジスタに格納
したデータと第4のレジスタに格納したデータとキャリ
ーフラグの内容とに対する演算結果に対して、第4のレ
ジスタに格納したデータが有効か無効かを判定する判定
回路とを備え、演算器により第1および第2のレジスタ
に格納したデータに対して演算を実行し、この演算結果
を第1のレジスタに格納した際、キャリーフラグにより
桁上がりが示されておらず、かつ、判定回路により第4
のレジスタに格納したデータが無効であると判定された
場合に、演算器の演算処理を終了させるようにしたもの
である。
は、第1ビット長のデータを格納する第1および第2の
レジスタと、第1ビット長以下の第2ビット長のデータ
を格納する第3および第4のレジスタと、入出力データ
のビット長が第1ビット長以下である演算器と、この演
算器による第1および第2のレジスタに格納したデータ
に対する演算結果に、桁上がりが生じたかどうかを示す
キャリーフラグと、演算器による第3のレジスタに格納
したデータと第4のレジスタに格納したデータとキャリ
ーフラグの内容とに対する演算結果に対して、第4のレ
ジスタに格納したデータが有効か無効かを判定する判定
回路とを備え、演算器により第1および第2のレジスタ
に格納したデータに対して演算を実行し、この演算結果
を第1のレジスタに格納した際、キャリーフラグにより
桁上がりが示されておらず、かつ、判定回路により第4
のレジスタに格納したデータが無効であると判定された
場合に、演算器の演算処理を終了させるようにしたもの
である。
【0008】
【作用】この発明の構成によれば、演算器により第1お
よび第2のレジスタの格納したデータに対して演算を実
行した際に、この演算結果に桁上がりが生じたかどうか
をキャリーフラグにより検出し、かつ判定回路により第
4のレジスタの内容を検出する。そして、桁上がりが生
じておらず、かつ、第4のレジスタの内容が、演算器に
よる第3のレジスタの格納したデータと第4のレジスタ
の格納したデータとキャリーフラグの内容とに対する演
算結果に対して、無効であると判定された場合には、上
記第3のレジスタの格納したデータと第4のレジスタの
格納したデータとキャリーフラグの内容とに対する演算
を実行することがなく、演算器による演算処理を終了す
る。したがって、演算器の入出力データのビット長以上
のデータに対して演算を行なう場合に、不必要な演算の
実行をなくすことができる。
よび第2のレジスタの格納したデータに対して演算を実
行した際に、この演算結果に桁上がりが生じたかどうか
をキャリーフラグにより検出し、かつ判定回路により第
4のレジスタの内容を検出する。そして、桁上がりが生
じておらず、かつ、第4のレジスタの内容が、演算器に
よる第3のレジスタの格納したデータと第4のレジスタ
の格納したデータとキャリーフラグの内容とに対する演
算結果に対して、無効であると判定された場合には、上
記第3のレジスタの格納したデータと第4のレジスタの
格納したデータとキャリーフラグの内容とに対する演算
を実行することがなく、演算器による演算処理を終了す
る。したがって、演算器の入出力データのビット長以上
のデータに対して演算を行なう場合に、不必要な演算の
実行をなくすことができる。
【0009】
【実施例】図1はこの発明の一実施例の演算制御回路の
構成を示すブロック図である。図1において、1は第1
のレジスタとなる16ビットのレジスタ、2は第2のレ
ジスタとなる16ビットのレジスタ、3は第3のレジス
タとなる8ビットのレジスタ、4は第4のレジスタとな
る8ビットのレジスタ、14は判定回路となる8入力N
OR回路、15,16は選択回路、17はキャリーフラ
グ、18は演算器となる加算器であり、入出力データの
ビット長は16ビットである。また、19は加算器18
の演算順序回数を計数するカウンタ回路、20は演算が
終了した際に演算終了信号20aを出力する終了信号生
成回路である。また、100はバス、18aは加算器1
8の機能を制御するための機能制御信号、19aおよび
19bはカウンタ回路19の入力であるクロック信号お
よびスタート信号、19cはカウンタ回路19の出力で
あるCONT信号である。
構成を示すブロック図である。図1において、1は第1
のレジスタとなる16ビットのレジスタ、2は第2のレ
ジスタとなる16ビットのレジスタ、3は第3のレジス
タとなる8ビットのレジスタ、4は第4のレジスタとな
る8ビットのレジスタ、14は判定回路となる8入力N
OR回路、15,16は選択回路、17はキャリーフラ
グ、18は演算器となる加算器であり、入出力データの
ビット長は16ビットである。また、19は加算器18
の演算順序回数を計数するカウンタ回路、20は演算が
終了した際に演算終了信号20aを出力する終了信号生
成回路である。また、100はバス、18aは加算器1
8の機能を制御するための機能制御信号、19aおよび
19bはカウンタ回路19の入力であるクロック信号お
よびスタート信号、19cはカウンタ回路19の出力で
あるCONT信号である。
【0010】図1に示すように、演算制御回路は、16
ビットのデータを格納するレジスタ1,2と、8ビット
のデータを格納するレジスタ3,4と、入出力データの
ビット長が16ビットである加算器18と、この加算器
18によるレジスタ1,2の格納したデータに対する演
算結果に、桁上がりが生じたかどうかを示すキャリーフ
ラグ17と、加算器18によるレジスタ3,4とキャリ
ーフラグ17の内容とに対する演算結果に対して、レジ
スタ4の格納したデータが”有効”か”無効”かを判定
するための8入力NOR回路14と、加算器18の演算
順序回数を計数するカウンタ回路19とを備えており、
加算器18によりレジスタ1,2の格納したデータに対
して演算を実行し、この演算結果をレジスタ1に格納し
た際、キャリーフラグ17により桁上がりが示されてお
らず、かつ、8入力NOR回路14によりレジスタ4に
格納したデータが”無効”であると判定された場合に、
加算器18の演算処理を終了させるようにしたものであ
る。
ビットのデータを格納するレジスタ1,2と、8ビット
のデータを格納するレジスタ3,4と、入出力データの
ビット長が16ビットである加算器18と、この加算器
18によるレジスタ1,2の格納したデータに対する演
算結果に、桁上がりが生じたかどうかを示すキャリーフ
ラグ17と、加算器18によるレジスタ3,4とキャリ
ーフラグ17の内容とに対する演算結果に対して、レジ
スタ4の格納したデータが”有効”か”無効”かを判定
するための8入力NOR回路14と、加算器18の演算
順序回数を計数するカウンタ回路19とを備えており、
加算器18によりレジスタ1,2の格納したデータに対
して演算を実行し、この演算結果をレジスタ1に格納し
た際、キャリーフラグ17により桁上がりが示されてお
らず、かつ、8入力NOR回路14によりレジスタ4に
格納したデータが”無効”であると判定された場合に、
加算器18の演算処理を終了させるようにしたものであ
る。
【0011】以上のように構成した演算制御回路につい
て、以下その動作を説明する。なお、レジスタ1に被加
算データの下位16ビットを格納し、レジスタ2に加算
データの下位16ビットを格納し、また、レジスタ3に
被加算データの上位8ビットを格納し、レジスタ4に加
算データの上位8ビットを格納する。バス100を経由
して、データが各レジスタ1〜4に格納された後、カウ
ンタ回路19にスタート信号19bおよびクロック信号
19aが入力されると、カウンタ回路19がカウントを
開始し、カウンタの値を”00”から”01”に更新す
る。カウンタ回路19の出力するCONT信号19cに
より、選択回路15はレジスタ2を選択し、また選択回
路16はレジスタ1を選択する。この選択回路15およ
び16の出力を加算器18により加算し、この加算結果
をレジスタ1に格納する。また、この加算における桁上
がりはキャリーフラグ17に格納する。また、8入力N
OR回路14は、レジスタ4の内容がオールゼロの場合
には”1”を出力し、それ以外の場合には”0”を出力
する。8入力NOR回路14が”1”を出力した場合は
、加算器18によるレジスタ3,4とキャリーフラグ1
7とに対する演算結果に対して、レジスタ4の内容が”
無効”であることを示し、8入力NOR回路14が”0
”を出力した場合は、”有効”であることを示している
。
て、以下その動作を説明する。なお、レジスタ1に被加
算データの下位16ビットを格納し、レジスタ2に加算
データの下位16ビットを格納し、また、レジスタ3に
被加算データの上位8ビットを格納し、レジスタ4に加
算データの上位8ビットを格納する。バス100を経由
して、データが各レジスタ1〜4に格納された後、カウ
ンタ回路19にスタート信号19bおよびクロック信号
19aが入力されると、カウンタ回路19がカウントを
開始し、カウンタの値を”00”から”01”に更新す
る。カウンタ回路19の出力するCONT信号19cに
より、選択回路15はレジスタ2を選択し、また選択回
路16はレジスタ1を選択する。この選択回路15およ
び16の出力を加算器18により加算し、この加算結果
をレジスタ1に格納する。また、この加算における桁上
がりはキャリーフラグ17に格納する。また、8入力N
OR回路14は、レジスタ4の内容がオールゼロの場合
には”1”を出力し、それ以外の場合には”0”を出力
する。8入力NOR回路14が”1”を出力した場合は
、加算器18によるレジスタ3,4とキャリーフラグ1
7とに対する演算結果に対して、レジスタ4の内容が”
無効”であることを示し、8入力NOR回路14が”0
”を出力した場合は、”有効”であることを示している
。
【0012】ここで、キャリーフラグ17の内容が”0
”であり、かつ8入力NOR回路14が”1”を出力し
た場合には、終了信号生成回路20により演算終了信号
20aを出力する。これにより、演算を終了する。すな
わち、レジスタ1,2に格納した下位16ビットの加算
結果で上位8ビットへの桁上がりがなく、かつ、レジス
タ3に格納した上位8ビットに、加えるべき値(レジス
タ1に格納したデータ)がゼロである場合には、演算終
了信号20aを出力することによりレジスタ1およびレ
ジスタ3に対する演算を行わない。
”であり、かつ8入力NOR回路14が”1”を出力し
た場合には、終了信号生成回路20により演算終了信号
20aを出力する。これにより、演算を終了する。すな
わち、レジスタ1,2に格納した下位16ビットの加算
結果で上位8ビットへの桁上がりがなく、かつ、レジス
タ3に格納した上位8ビットに、加えるべき値(レジス
タ1に格納したデータ)がゼロである場合には、演算終
了信号20aを出力することによりレジスタ1およびレ
ジスタ3に対する演算を行わない。
【0013】一方、キャリーフラグ17の内容が”1”
か、または8入力NOR回路14が”0”を出力した場
合には、カウンタ回路19に次のクロック信号を入力す
ることにより、カウンタの値を”01”から”11”に
更新する。次に、カウンタ回路19が出力するCONT
信号19cにより、選択回路15はレジスタ4を選択し
、また、選択回路16はレジスタ3を選択する。そして
、この選択回路15,16の出力と、キャリーフラグ1
7の内容とを加算器18により加算し、この加算結果を
レジスタ3に格納する。その後、カウンタ回路19の出
力するCONT信号19cにより、終了信号生成回路2
0は演算の終了信号を発生する。
か、または8入力NOR回路14が”0”を出力した場
合には、カウンタ回路19に次のクロック信号を入力す
ることにより、カウンタの値を”01”から”11”に
更新する。次に、カウンタ回路19が出力するCONT
信号19cにより、選択回路15はレジスタ4を選択し
、また、選択回路16はレジスタ3を選択する。そして
、この選択回路15,16の出力と、キャリーフラグ1
7の内容とを加算器18により加算し、この加算結果を
レジスタ3に格納する。その後、カウンタ回路19の出
力するCONT信号19cにより、終了信号生成回路2
0は演算の終了信号を発生する。
【0014】以上、実施例によれば、加算器18により
レジスタ1,2の格納したデータに対して演算を実行し
た際に、この演算結果に桁上がりが生じたかどうかをキ
ャリーフラグ17により検出し、かつ8入力NOR回路
14によりレジスタ4の内容を検出する。そして、桁上
がりが生じておらず、かつ、レジスタ4の内容が、加算
器18によるレジスタ3,4の格納したデータとキャリ
ーフラグ17の内容とに対する演算結果に対して、”無
効”であると判定された場合には、レジスタ3,4に格
納したデータと、キャリーフラグ17の内容とに対する
演算を実行することがなく、加算器18による演算処理
を終了する。
レジスタ1,2の格納したデータに対して演算を実行し
た際に、この演算結果に桁上がりが生じたかどうかをキ
ャリーフラグ17により検出し、かつ8入力NOR回路
14によりレジスタ4の内容を検出する。そして、桁上
がりが生じておらず、かつ、レジスタ4の内容が、加算
器18によるレジスタ3,4の格納したデータとキャリ
ーフラグ17の内容とに対する演算結果に対して、”無
効”であると判定された場合には、レジスタ3,4に格
納したデータと、キャリーフラグ17の内容とに対する
演算を実行することがなく、加算器18による演算処理
を終了する。
【0015】したがって、入出力データのビット長が1
6ビットである加算器18を用いて、24ビットの加算
を行なう場合に、レジスタ3,4に格納した上位8ビッ
トのデータに対する不要な加算をなくすことができる。
6ビットである加算器18を用いて、24ビットの加算
を行なう場合に、レジスタ3,4に格納した上位8ビッ
トのデータに対する不要な加算をなくすことができる。
【0016】
【発明の効果】この発明の演算制御回路によれば、演算
器により第1および第2のレジスタの格納したデータに
対して演算を実行した際に、この演算結果に桁上がりが
生じたかどうかをキャリーフラグにより検出し、かつ判
定回路により第4のレジスタの内容を検出する。そして
、桁上がりが生じておらず、かつ、第4のレジスタの内
容が、演算器による第3および第4のレジスタの格納し
たデータと、キャリーフラグの内容とに対する演算結果
に対して、無効であると判定された場合には、上記第3
のレジスタの格納したデータと第4のレジスタに格納し
たデータとキャリーフラグの内容とに対する演算を実行
することがなく、演算器による演算処理を終了する。 したがって、演算器の入出力データのビット長以上のデ
ータに対して演算を行なう場合に、不必要な演算の実行
をなくすことができる。その結果、演算処理の高速化を
実現した演算制御回路を得ることができる。
器により第1および第2のレジスタの格納したデータに
対して演算を実行した際に、この演算結果に桁上がりが
生じたかどうかをキャリーフラグにより検出し、かつ判
定回路により第4のレジスタの内容を検出する。そして
、桁上がりが生じておらず、かつ、第4のレジスタの内
容が、演算器による第3および第4のレジスタの格納し
たデータと、キャリーフラグの内容とに対する演算結果
に対して、無効であると判定された場合には、上記第3
のレジスタの格納したデータと第4のレジスタに格納し
たデータとキャリーフラグの内容とに対する演算を実行
することがなく、演算器による演算処理を終了する。 したがって、演算器の入出力データのビット長以上のデ
ータに対して演算を行なう場合に、不必要な演算の実行
をなくすことができる。その結果、演算処理の高速化を
実現した演算制御回路を得ることができる。
【図1】図1はこの発明の一実施例の演算制御回路の構
成を示すブロック図である。
成を示すブロック図である。
【図2】図2は従来の演算制御回路の構成を示すブロッ
ク図である。
ク図である。
1 レジスタ(第1のレジスタ)2 レジ
スタ(第2のレジスタ)3 レジスタ(第3のレ
ジスタ)4 レジスタ(第4のレジスタ)18
加算器(演算器) 14 8入力NOR回路(判定回路)17
キャリーフラグ 19 カウンタ回路
スタ(第2のレジスタ)3 レジスタ(第3のレ
ジスタ)4 レジスタ(第4のレジスタ)18
加算器(演算器) 14 8入力NOR回路(判定回路)17
キャリーフラグ 19 カウンタ回路
Claims (1)
- 【請求項1】 第1ビット長のデータを格納する第1
および第2のレジスタと、前記第1ビット長以下の第2
ビット長のデータを格納する第3および第4のレジスタ
と、入出力データのビット長が前記第1ビット長以下で
ある演算器と、この演算器による前記第1および前記第
2のレジスタに格納したデータに対する演算結果に、桁
上がりが生じたかどうかを示すキャリーフラグと、前記
演算器による前記第3のレジスタに格納したデータと前
記第4のレジスタに格納したデータと前記キャリーフラ
グの内容とに対する演算結果に対して、前記第4のレジ
スタに格納したデータが有効か無効かを判定する判定回
路とを備え、前記演算器により前記第1および第2のレ
ジスタに格納したデータに対して演算を実行し、この演
算結果を前記第1のレジスタに格納した際、前記キャリ
ーフラグにより桁上がりが示されておらず、かつ、前記
判定回路により前記第4のレジスタに格納したデータが
無効であると判定された場合に、前記演算器の演算処理
を終了させるようにした演算制御回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3146233A JPH04369726A (ja) | 1991-06-18 | 1991-06-18 | 演算制御回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3146233A JPH04369726A (ja) | 1991-06-18 | 1991-06-18 | 演算制御回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04369726A true JPH04369726A (ja) | 1992-12-22 |
Family
ID=15403121
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3146233A Pending JPH04369726A (ja) | 1991-06-18 | 1991-06-18 | 演算制御回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04369726A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6675188B1 (en) | 1999-10-29 | 2004-01-06 | Nec Electronics Corporation | Counter control apparatus and control method thereof |
-
1991
- 1991-06-18 JP JP3146233A patent/JPH04369726A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6675188B1 (en) | 1999-10-29 | 2004-01-06 | Nec Electronics Corporation | Counter control apparatus and control method thereof |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0343645B2 (ja) | ||
| JPH0786826B2 (ja) | 整数除算回路 | |
| US20020194452A1 (en) | Modulo addressing based on absolute offset | |
| US6581086B1 (en) | Multiply and accumulate unit (MAC) and method therefor | |
| JPH04350724A (ja) | シフト量検出回路 | |
| JP2706459B2 (ja) | 小数乗算器を有するマイクロプロセッサ | |
| JP4015411B2 (ja) | 演算装置及びその演算装置を用いた情報処理装置 | |
| JP3043861B2 (ja) | データ処理装置 | |
| JP2001216136A (ja) | 加算回路およびプロセッサ | |
| JP3110072B2 (ja) | 事前正規化回路 | |
| JP2605715B2 (ja) | 除算回路 | |
| JPH0619700B2 (ja) | 演算装置 | |
| US4907185A (en) | Program-controlled computer with an interrupt capability for floating-point operation | |
| JPH0228828A (ja) | 最大値最小値検出回路 | |
| JP2928566B2 (ja) | オペランド読み出し装置 | |
| JPS60167030A (ja) | シフトフラグ生成方式及びシフトフラグ生成回路 | |
| JP3139011B2 (ja) | 固定小数点プロセッサ | |
| JPH0553759A (ja) | 固定小数点演算ユニツト | |
| JPH0610435Y2 (ja) | 小型電子式計算機 | |
| JPS619725A (ja) | マイクロプログラム制御回路 | |
| JP2908117B2 (ja) | ベクトル演算処理装置 | |
| JP2998324B2 (ja) | 正規化シフト装置および正規化シフト方法 | |
| JP3124361B2 (ja) | メモリデータロード装置 | |
| JPH04267432A (ja) | 演算回路 | |
| JPH01232429A (ja) | 乗算結果丸め方式 |