JP3139011B2 - 固定小数点プロセッサ - Google Patents

固定小数点プロセッサ

Info

Publication number
JP3139011B2
JP3139011B2 JP02268949A JP26894990A JP3139011B2 JP 3139011 B2 JP3139011 B2 JP 3139011B2 JP 02268949 A JP02268949 A JP 02268949A JP 26894990 A JP26894990 A JP 26894990A JP 3139011 B2 JP3139011 B2 JP 3139011B2
Authority
JP
Japan
Prior art keywords
data
overflow
memory
accumulator
bits
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.)
Expired - Fee Related
Application number
JP02268949A
Other languages
English (en)
Other versions
JPH04145524A (ja
Inventor
美恵子 由井
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP02268949A priority Critical patent/JP3139011B2/ja
Publication of JPH04145524A publication Critical patent/JPH04145524A/ja
Application granted granted Critical
Publication of JP3139011B2 publication Critical patent/JP3139011B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は固定小数点プロセッサに関する。
〔従来の技術〕 LSI技術の発展により高速の固定小数点プロセッサが
出現してきたために、ディジタル信号処理のような演算
処理を多く行う処理も、固定小数点プロセッサにより容
易に実現することができるようになっている。このよう
な用途に用いられる固定小数点プロセッサにおいては、
演算処理におけるオーバフローに対する処理は極めて重
要であり、従来様々な方法により対処してきているが、
その一つとして、オーバフロー時の拡張ビットを設ける
という方法がある。
この拡張ビット方式について説明する。固定小数点プ
ロセッサにおいては、オーバーフロー時に符号反転が生
じるという問題点がある。この対応策として考えられた
のが上記の拡張ビット方式である。この拡張ビット方式
とは、算術論理演算回路(以後、ALUと云う)およびア
キュムレート・レジスタの上位ビットを拡張してオーバ
フローに対処する方法である。即ち、オーバフロー時
に、符号ビットを上位にシフトすることにより、前記オ
ーバフロー状態をなくする方法である。換言すれば、予
め小数点より上位にビットを拡張しておく方法である。
拡張ビットのフォーマット例が第5図に示されている
が、第5図に示されるように、符号ビットが小数点以上
の領域において拡張され、当該拡張ビットの拡張により
小数点より上位のオーバーフロー領域が確保される。
次に、拡張ビットによる演算例を以下に示す。
一例として、 7FFFH+0001H という計算をすると、この和は、16ビットだけあれば80
00Hとなって負の値になってしまうが、拡張ビットとし
て4ビットがあれば、桁上げされたビットはデータとな
って和は08000Hとなり、小数点より上位にビットが拡張
されるが符号は変らず、計算値の精度は保持される。従
って、小数点以上に4ビットを持つ20ビットのレジスタ
と同様になる。
第6図に示されるのは、従来例のブロック図であり、
内部データバス202に対応して、ALU8(16ビット+拡張
ビット4ビット)と、アキュムレータ9(16ビット+拡
張ビット4ビット)と、レジスタ10と、メモリ11と、を
備えて構成される。
この従来例における演算は以下のようにして行われ
る。データ105の入力に対応して、アキュムレータ9の
データ内容と、レジスタ10(16ビット)またはメモリ11
(16ビット)のデータ内容は、ALU8において演算され、
その演算結果はアキュムレータ9に入力される。更に、
アキュムレータ9のデータ内容はレジスタ10またはメモ
リ11に転送される。しかし、拡張ビットを持たないレジ
スタ10またはメモリ11にデータを転送する際には、アキ
ュムレータ9の拡張ビットの値は転送されずに破棄され
てしまう。従って、演算途中においてオーバーフローを
検出して、オーバーフローに対する処理(例えば、正の
最大値、負の最大値への張付け)するためには、演算処
理に要するプログラムの命令ステップ数が多くなってし
まうとう問題がある。
この従来例におけるプログラム例のフローチャートを
第7図に示す。第7図において、1000個のデータ(a,
b)のi番目の数ai,biをi=1から1000まで順に加算
し、その和をsiとしてメモリ11に転送する。前記ai,bi
はメモリ11に格納されている。
この演算例の場合には、第6図において、最初に、デ
ータaiをメモリ11から読出してアキュムレータ9に転送
する。次に、メモリ11からデータbiを読出してALU8に転
送し、アキュムレータ9のデータ内容と加算して、この
演算結果をアキュムレータ9に入力する。この値が上記
のsiとなる。この加算値siをメモリ11に転送する前に、
ALU8における演算結果siがオーバーフローしていないか
を拡張ビットの値によって判断し、オーバーフローして
いる場合には、その対応処理として、第8図に示される
ようなフローチャートによる処理を行う。
第8図において、si≧0の場合には、siを正の最大値
7FFFHにするという処理を行い、また、si<0の場合に
には、siを負の最大値8000Hにするという処理を行って
からデータを転送する。また、オーバーフローしていな
ければ、そのままデータを転送する。
〔発明が解決しようとする課題〕
上述した従来の固定小数点プロセッサにおいては、AL
Uの演算結果を転送しようとする時点において、それ以
前の演算中においてオーバーフローが生じ、拡張ビット
にビットが拡張されている場合には、ソフトウェア的に
しか対応することがきず、命令ステップ数(特に、ダイ
ナミックなステップ数)が多くなり、演算時間が長くか
かってしまうという欠点がある。
〔課題を解決するための手段〕
本発明の固定小数点プロセッサは、算術論理演算回路
およびアキュムレート・レジスタにおけるオーバーフロ
ー時に対応して、所定の拡張ビットを有する固定小数点
プロセッサにおいて、前記アキュムレート・レジスタか
ら、拡張ビットを有しないレジスタまたはメモリに対し
て、演算データを転送する命令が実行される時点におい
て、前記アキュムレート・レジスタにおいて、前記演算
データが拡張ビットに拡張されている場合においての
み、割込み信号を生成して出力する手段を備えて構成さ
れる。
〔実施例〕
次に、本発明について図面を参照して説明する。第1
図は、本発明の一実施例のブロック図である。第1図に
示されるように、本実施例は、内部データバス201に対
応して、ALU1(16ビット+拡張4ビット)と、アキュム
レータ2(16ビット+拡張4ビット)と、レジスタ3
(16ビット)と、メモリ4(16ビット)と、割込み発生
回路5と、を備えて構成される。
本実施例における演算は以下のようにして行われる。
データ101の入力に対応して、アキュムレータ2のデー
タ内容と、レジスタ3またはメモリ4のデータ内容と
は、ALU1において演算されて、その演算結果はアキュム
レータ2に入力される。そして、更に、アキュムレータ
2のデータ内容は、レジスタ3またはメモリ4に転送さ
れる。この時点において、演算結果がオーバーフローし
ている場合には、割込み発生回路5からは所定の割込み
信号104が出力される。
割込み発生回路5は、第2図に示されるように、デコ
ーダ6と割込み信号発生回路7とを含んで構成されてお
り、デコーダ6には、所定の転送命令102が入力されて
おり、この転送命令102が実行されると、アキュムレー
タ2から送られてくる符号の値と拡張ビットの値とを含
むデータ103がデコードされ、当該データが拡張ビット
に拡張されている場合には“1"レベルが出力される。
第3図に示されるのは、デコーダ6における真理値表
である。従って、デコーダ6よりは“0"または“1"の何
れかのレベルが出力されるが、デコーダ6からの出力レ
ベルが“1"レベルの場合には、割込み信号発生回路7か
らは割込み信号104が発生される。
第4図に示されるのは、前述の従来例と同様の演算を
行った場合のプログラム例に対応するフローチャートで
ある。メモリ4に格納されている1000個のデータ(a,
b)のi番目の数ai,biは、i=1から1000まで加算さ
れ、その和をsiとしてメモリ4に転送される。aiおよび
biはメモリ4に格納されている。この例を、第1図に示
される本実施例の演算回路により動作させる場合には、
最初に、データaiをメモリ4からアキュムレータ2に転
送する。次に、メモリ4からデータbiをALU1に転送し、
アキュムレータ2のデータ内容と加算して、この加算デ
ータをアキュムレータ2に入力する。この値をsiとし、
このsiをメモリ4に転送する前に、割込み発生回路5に
おいて、アキュムレータ2のデータ内容がオーバーフロ
ーしているか否かがチェックされる。オーバーフローし
ている場合には、割込み信号104が発生される。また、
オーバーフローしていない時には、割込み信号104は発
生されず、そのままsiはメモリ4に転送される。
なお、オーバーフローしている場合の処理としては、
si≧0場合にはsiを正の最大値7FFFHとし、si<0の場
合にはsiを負の最大値8000Hとするという処理を行う。
割込みルーチンからのリターン後において、補正された
siはメモリ4に転送される。
〔発明の効果〕
以上、詳細に説明したように、本発明は、アキュムレ
ータから送られてくる符号ビットおよび拡張ビットを含
む演算データを入力し、所定の転送命令の実行に伴な
い、前記演算データがオーバーフローしているか否かを
チェックして、当該オーバーフローが存在している時の
み、所定の割込み信号を生成する手段を備えることによ
り、前記オーバーフローの有無に関連するフローチャー
トにおける判断ステップを低減させることが可能とな
り、演算処理時間を短縮することができるという効果が
ある。
【図面の簡単な説明】
第1図は、本発明の一実施例のブロック図、第2図は前
記実施例における割込み発生回路のブロック図、第3図
は前記割込み発生回路におけるデコーダの真理値表を示
す図、第4図は、前記実施例のプログラムに対応するフ
ローチャートを示す図、第5図は拡張ビットのフォーマ
ット例を示す図、第6図は従来例のブロック図、第7図
は従来例のプログラムに対応するフローチャートを示す
図、第8図は従来例におけるオーバーフロー時における
オーバーフロー時の処理内容のフローチャートを示す図
である。 図において、1,8……ALU、2,9……アキュムレータ、3,1
0……レジスタ、4、11……メモリ、5……割込み発生
回路、6……デコーダ、7……割込み信号発生回路。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】算術論理演算回路およびアキュムレート・
    レジスタにおけるオーバーフロー時に対応して、所定の
    拡張ビットを有する固定小数点プロセッサにおいて、 前記アキュムレート・レジスタから、拡張ビットを有し
    ないレジスタまたはメモリに対して、演算データを転送
    する命令が実行される時点において、前記アキュムレー
    ト・レジスタにおいて、前記演算データが拡張ビットに
    拡張されている場合においてのみ、割込み信号を生成し
    て出力する手段を備えることを特徴とする固定小数点プ
    ロセッサ。
JP02268949A 1990-10-05 1990-10-05 固定小数点プロセッサ Expired - Fee Related JP3139011B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02268949A JP3139011B2 (ja) 1990-10-05 1990-10-05 固定小数点プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02268949A JP3139011B2 (ja) 1990-10-05 1990-10-05 固定小数点プロセッサ

Publications (2)

Publication Number Publication Date
JPH04145524A JPH04145524A (ja) 1992-05-19
JP3139011B2 true JP3139011B2 (ja) 2001-02-26

Family

ID=17465533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02268949A Expired - Fee Related JP3139011B2 (ja) 1990-10-05 1990-10-05 固定小数点プロセッサ

Country Status (1)

Country Link
JP (1) JP3139011B2 (ja)

Also Published As

Publication number Publication date
JPH04145524A (ja) 1992-05-19

Similar Documents

Publication Publication Date Title
EP0136834B1 (en) A digital circuit performing an arithmetic operation with an overflow
US6099158A (en) Apparatus and methods for execution of computer instructions
JPH05216624A (ja) 演算装置
KR960003044B1 (ko) 수치표현 변환장치 및 그것을 사용한 벡터ㆍ프로세서ㆍ유니트
EP0234495B1 (en) Arithmetic circuit capable of executing floating point operations and fixed point operations
US4503511A (en) Computing system with multifunctional arithmetic logic unit in single integrated circuit
US4677582A (en) Operation processing apparatus
JPH0343645B2 (ja)
US4878191A (en) Multiplication circuit capable of operating at a high speed with a small amount of hardware
JP3139011B2 (ja) 固定小数点プロセッサ
JPH034936B2 (ja)
US6065034A (en) Circuit and method employing an adder for sign extending operands
US5504867A (en) High speed microprocessor branch decision circuit
JPH0619700B2 (ja) 演算装置
JP2557629B2 (ja) 割込方式
JPS63111535A (ja) デ−タ処理装置
JP2743685B2 (ja) 固定小数点プロセッサ
JP3110072B2 (ja) 事前正規化回路
JP2801472B2 (ja) 浮動小数点演算装置
JPH0553759A (ja) 固定小数点演算ユニツト
JP2556171B2 (ja) 演算回路
JP2908117B2 (ja) ベクトル演算処理装置
JPS6250853B2 (ja)
JPH01240961A (ja) Dma転送方式
JPH0368412B2 (ja)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees