JP3551291B2 - シリアル数値演算装置 - Google Patents
シリアル数値演算装置 Download PDFInfo
- Publication number
- JP3551291B2 JP3551291B2 JP33993097A JP33993097A JP3551291B2 JP 3551291 B2 JP3551291 B2 JP 3551291B2 JP 33993097 A JP33993097 A JP 33993097A JP 33993097 A JP33993097 A JP 33993097A JP 3551291 B2 JP3551291 B2 JP 3551291B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- shift
- bit
- serial
- mantissa
- 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
Links
Images
Landscapes
- Complex Calculations (AREA)
Description
【発明の属する技術分野】
本発明は、アナログ信号入出力装置等に用いられるシリアル数値演算装置に掛り、特に低コストで製造できる改良に関する。
【0002】
【従来の技術】
アナログ信号入出力装置は、4−20mA等のアナログ信号を入出力するもので、入力されたアナログ信号を0−100%への変換等の演算を行って上位バスに接続されるデータ収集装置に伝送したり、操作監視装置からの設定値等の指令をアナログ信号に変換して出力するものである。このような装置において、演算を行うために、市販の数値演算プロセッサや、汎用のマイクロコントローラにファームウェアを組み込んでいる。
【0003】
【発明が解決しようとする課題】
しかし、数値演算プロセッサを使用する場合には、コストが高くなるという課題がある。また、ファームウェアを用いる構成によれば、電子部品を多用しており、製造コストが増大するという課題があった。本発明は、上述の課題を解決したもので、部品点数を削減しながら外部データを演算したり、必要な数値演算の行えるシリアル数値演算装置を提供することを目的とする。
【0004】
上記の目的を達成するために、本発明は次のとおりの構成になったシリアル数値演算装置である。
(1)右シフトと左シフトができ、要求される演算精度分のビット幅を持つ複数本のシフトレジスタと、
これらシフトレジスタから二本を選択する入力セレクタと、
この入力セレクタで選択されたシフトレジスタについて1ビット幅を演算する1ビット演算ユニットと、
この1ビット演算ユニットの演算結果を、外部のシリアルデバイスに送ったり、前記入力レジスタを介して前記複数本のシフトレジスタの中で演算結果を格納するシフトレジスタに送る出力セレクタと、
を有することを特徴とするシリアル数値演算装置。
【0005】
(2)前記入力レジスタは、外部のシリアルデバイスの出力を選択し、任意の演算用シフトレジスタに格納することを特徴とする(1)記載のシリアル数値演算装置。
【0006】
(3)前記シフトレジスタは、右シフトできる指数部レジスタと、右シフト及び左シフトできる仮数部レジスタと、指数部の符号ビットに該当する指数部符号ビットと、仮数部の符号ビットに該当する仮数部符号ビットとを有することを特徴とする(1)記載のシリアル数値演算装置。
(4)前記シフトレジスタは、前記仮数部レジスタに対する演算用の拡張ビットを有することを特徴とする(3)記載のシリアル数値演算装置。
【0007】
(5)外部シリアルROMから送られる命令をプログラムカウンタに従い格納するコマンドバッファと、
当該命令に従って各アルゴリズムを実行して(1)記載のシリアル数値演算装置を制御する演算制御回路と、
を有することを特徴とするシリアル数値演算装置。
【0008】
【発明の実施の形態】
以下図面を用いて、本発明を説明する。図1は本発明の一実施例を示す構成ブロック図である。コマンドバッファ(cmdbuf)10は、ROM等から送られる数値演算命令をフェッチする。演算制御部20は、プログラムカウンタPCとコマンドバッファ10の命令に従って、演算レジスタ回路30の制御を実行する。この命令の種類には、右シフト命令、左シフト命令、固定小数点による加減乗除演算、浮動小数点による加減乗除演算、バイナリをフロートに変換する命令、フロートをバイナリに変換する命令等がある。
【0009】
シリアル演算レジスタ回路30は、固定小数点データ又はバイナリーデータを取り扱うもので、複数のシフトレジスタr1〜rnを有している。入力セレクタsel1は、複数のシフトレジスタr1〜rnのうち2個を選択する。1ビット演算ユニットALUは、セレクタselで選択されたシフトレジスタの所定の1ビットについて演算を行う2入力1出力型になっている。出力セレクタsel2は、1ビット演算ユニットALUで演算された結果を外部のシリアルデバイスに送ったり、入力セレクタsel1を介して結果を格納するシフトレジスタrnに送る。
【0010】
このように構成された装置の動作を説明する。例えば、シフトレジスタr1とr2間の足し算を行い、結果をシフトレジスタrnに格納する命令がフェッチされたとする。すると、出力セレクタsel2は、シフトレジスタr1,r2を選択し、ビットシリアルで1ビット演算ユニットALUへ入力する。1ビット演算ユニットALUの出力は、入力セレクタsel1へ入力され、シフトレジスタrnにその結果が格納される。外部のデータを演算する場合は、入力セレクタsel1で任意のシリアルデバイスの出力が選択され、任意の演算レジスタへ格納される。
【0011】
さらに、演算レジスタは右シフト左シフトできるので、例えばシフトレジスタr1で左シフトしたデータをシフトレジスタr2に右シフトインしたり、シフトレジスタr1で右シフトしたデータをシフトレジスタr2に左シフトインしたりできる。この動作により、掛け算や割算等の演算も可能になる。
【0012】
図2はレジスタ回路と演算ユニットの説明図で、(A)はシリアル型、(B)はパラレル型を表している。シリアル型では、nビットのシリアルレジスタから1ビット演算ユニットALUに信号が1ビット毎に送られて、必要な演算が行われる。パラレル型では、nビットのパラレルレジスタからnビット演算ユニットALUに信号が一括して送られて、必要な演算が行われる。
【0013】
シリアル型のパラレル型に対する優位点は、1ビット毎に演算するのでバスラインが簡素化される点である。プロセス制御においては、制御周期毎に演算すれば良いので、シリアル型の1ビット演算ユニットALUを用いても演算は充分に間に合うのである。
【0014】
図3は演算制御部20の構成ブロック図である。命令デコーダ21は、コマンドバッファ10の命令に従って、各命令のシーケンス部22〜24に実行要求をする。シフトシーケンス部22は、バイナリーデータに対する加減算を行うもので、シフト演算等に対処する。フロートシーケンス部23は、浮動小数点データに対する加減演算(adsbf)、乗除演算(mldvf)、を行うもので、バイナリーデータと浮動小数点データのデータ型式変換演算(b2f,f2b)を含んでいる。レジスタシーケンス部24は、EEPROMのドライブシーケンス(eep_drv)、RAMのドライブシーケンス(iram_drv)、シフトレズタのドライブシーケンス(sfr_drv)を含んでいる。演算レジスタ制御部(cal_ctl)25は、各シーケンス部22〜24から送られるシーケンス信号を演算レジスタ部30に送る。
【0015】
図4は浮動小数点演算用のシリアル演算レジスタの構成ブロック図である。ここでは、3本の演算用シフトレジスタを有している。各演算用シフトレジスタは、右シフトできる指数部レジスタre1と、右シフト及び左シフトできる仮数部レジスタrf1_lと、指数部の符号ビットに該当する指数部符号ビットrs1と、仮数部の符号ビットに該当する仮数部符号ビットre1_1と、仮数部レジスタに対する演算用の拡張ビットrf1_hを有している。
【0016】
図5は単精度の浮動小数点型式を格納する場合のビット配置図である。単精度の浮動小数点型式は、IEEE754にFLOAT型式として規定されており、1ビットの符号と、8ビットの指数部と、23ビットの仮数部を有している。各演算用シフトレジスタは、1ビットの指数部符号ビットrs1〜3と、8ビットの指数部レジスタre1〜3と、25ビットの仮数部レジスタrf1〜3を有している。
r1[31:0]={rs1,re1[7:0],rf1[22:0]}
r2[31:0]={rs2,re2[7:0],rf2[22:0]}
r3[31:0]={rs3,re3[7:0],rf3[22:0]}
【0017】
このうち、指数部符号ビットは、指数部同士の演算で必要な符号ビットであり、ロードやストア等の初期化時は”0”である。また、演算用シフトレジスタの25ビットの仮数部レジスタrf1〜3は、例えばrf1を例にすると次のように構成されている。
rf1={rf1_h[24:23],rf1_l[22:0]}
【0018】
本来、FLOAT型式の仮数部は23ビットであるが、演算用に2ビット拡張している。rf1_h[24]は仮数部同士の演算で必要な符号ビットであり、rf1_h[23]は1の位の数である。小数点位置は、23と22ビットの間である。演算用シフトレジスタr1に、FLOAT型式をロード/ストアする場合には、自動的にrf1_h[24:23]={0,1}が挿入される。尚、バイナリBIN型式がロード/ストアされる場合には、自動的にrf1_h[24:23]={0,0}が挿入される。尚、仮数部レジスタrf1は左シフトも可能であり、例えば仮数部レジスタrf1で左シフトしたデータを仮数部レジスタrf2に右シフトインすることで、掛け算や割算等の演算も可能になる。
【0019】
指数部レジスタ及び仮数部レジスタは、それぞれ独立した符号付き固定小数点バイナリデータとして指数部同士、或いは仮数部同士ビットシリアルで演算が実行されるため、ALUは1ビット演算回路ですむ。このようにして、IEEE754の浮動小数点形式及び固定小数点バイナリ形式の四則演算、FLOAT型式とBIN型式変換等が容易に実現できる。
【0020】
尚、上記実施例においては、演算レジスタ回路30として演算用シフトレジスタが3本の場合を例を示したが、本発明はこれに限定されるものではなく、4本以上あっても差し支えない。
【0021】
【発明の効果】
以上説明したように、本発明によれば次の効果が得られる。
請求項1記載の発明によれば、 右シフトと左シフトができ、要求される演算精度分のビット幅を持つ複数本のシフトレジスタと、
これらシフトレジスタから二本を選択する入力セレクタと、
この入力セレクタで選択されたシフトレジスタについて1ビット幅を演算する1ビット演算ユニットと、
この1ビット演算ユニットの演算結果を、外部のシリアルデバイスに送ったり、前記入力レジスタを介して前記複数本のシフトレジスタの中で演算結果を格納するシフトレジスタに送る出力セレクタと、
を有する構成とすると、シリアル演算なのでビットパラレルに演算器を構成する場合に比較して回路規模が小さくなり、ゲートアレイの集積化が容易になる。これによって、部品点数を削減しながら必要な数値演算の行えるシリアル数値演算装置を実現できる。
【0022】
請求項2記載の発明によれば、前記入力レジスタは、外部のシリアルデバイスの出力を選択し、任意の演算用シフトレジスタに格納する構成とすると、外部データを演算できる。
【0023】
請求項3記載の発明によれば、前記シフトレジスタは、右シフトできる指数部レジスタと、右シフト及び左シフトできる仮数部レジスタと、指数部の符号ビットに該当する指数部符号ビットと、仮数部の符号ビットに該当する仮数部符号ビットとを有する構成とすると、浮動小数点データの四則演算が行える。
請求項4記載の発明によれば、仮数部レジスタは演算用の拡張ビットを有する構成とすると、演算精度が高くなる。
【0024】
請求項5記載の発明によれば、外部シリアルROMから送られる命令をプログラムカウンタに従い格納するコマンドバッファと、
当該命令に従って各アルゴリズムを実行して請求項1記載のシリアル数値演算装置を制御する演算制御回路と、
を有する構成とすると、命令に対応してシリアル数値演算を実行する装置が実現できる。
【図面の簡単な説明】
【図1】本発明の一実施例を示す構成ブロック図である。
【図2】レジスタ回路と演算ユニットの説明図である。
【図3】演算制御部20の構成ブロック図である。
【図4】浮動小数点演算用のシリアル演算レジスタの構成ブロック図である。
【図5】単精度の浮動小数点型式を格納する場合のビット配置図である。
【符号の説明】
10 コマンドバッファ
20 演算制御部
30 演算レジスタ回路
ALU 1ビット演算ユニット
r1〜rn シフトレジスタ
sel セレクタ
Claims (5)
- 右シフトと左シフトができ、要求される演算精度分のビット幅を持つ複数本のシフトレジスタと、
これらシフトレジスタから二本を選択する入力セレクタと、
この入力セレクタで選択されたシフトレジスタについて1ビット幅を演算する1ビット演算ユニットと、
この1ビット演算ユニットの演算結果を、外部のシリアルデバイスに送ったり、前記入力レジスタを介して前記複数本のシフトレジスタの中で演算結果を格納するシフトレジスタに送る出力セレクタと、
を有することを特徴とするシリアル数値演算装置。 - 前記入力レジスタは、外部のシリアルデバイスの出力を選択し、任意の演算用シフトレジスタに格納することを特徴とする請求項1記載のシリアル数値演算装置。
- 前記シフトレジスタは、右シフトできる指数部レジスタと、右シフト及び左シフトできる仮数部レジスタと、指数部の符号ビットに該当する指数部符号ビットと、仮数部の符号ビットに該当する仮数部符号ビットとを有することを特徴とする請求項1記載のシリアル数値演算装置。
- 前記シフトレジスタは、前記仮数部レジスタに対する演算用の拡張ビットを有することを特徴とする請求項3記載のシリアル数値演算装置。
- 外部シリアルROMから送られる命令をプログラムカウンタに従い格納するコマンドバッファと、
当該命令に従って各アルゴリズムを実行して請求項1記載のシリアル数値演算装置を制御する演算制御回路と、
を有することを特徴とするシリアル数値演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33993097A JP3551291B2 (ja) | 1997-12-10 | 1997-12-10 | シリアル数値演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33993097A JP3551291B2 (ja) | 1997-12-10 | 1997-12-10 | シリアル数値演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11175314A JPH11175314A (ja) | 1999-07-02 |
JP3551291B2 true JP3551291B2 (ja) | 2004-08-04 |
Family
ID=18332112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33993097A Expired - Fee Related JP3551291B2 (ja) | 1997-12-10 | 1997-12-10 | シリアル数値演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3551291B2 (ja) |
-
1997
- 1997-12-10 JP JP33993097A patent/JP3551291B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11175314A (ja) | 1999-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100994862B1 (ko) | 선택가능한 하위 정밀도에 대하여 감소된 전력 요구조건들을 가지는 부동 소수점 프로세서 | |
US6009451A (en) | Method for generating barrel shifter result flags directly from input data | |
US6209017B1 (en) | High speed digital signal processor | |
US7236995B2 (en) | Data processing apparatus and method for converting a number between fixed-point and floating-point representations | |
JP3536063B2 (ja) | デジタル乗算システム | |
US5247471A (en) | Radix aligner for floating point addition and subtraction | |
JPH0850545A (ja) | 最小/最大検索命令を有するデジタル処理装置 | |
JPS62191926A (ja) | 演算装置 | |
JPH05250146A (ja) | 整数累乗処理を行なうための回路及び方法 | |
JP3551291B2 (ja) | シリアル数値演算装置 | |
US6202078B1 (en) | Arithmetic circuit using a booth algorithm | |
JPH0346024A (ja) | 浮動小数点演算器 | |
JP3579087B2 (ja) | 演算器およびマイクロプロセッサ | |
KR20140138053A (ko) | 특히 함수 모델을 순수 하드웨어에 기초하여 연산하기 위한 함수 모델 유닛 내에서 사용하기 위한 fma 유닛 | |
KR100315303B1 (ko) | 디지탈 신호 처리기 | |
JP3336986B2 (ja) | 信号処理プロセッサ及びそれに用いる丸め機能付き積和演算器 | |
KR100251547B1 (ko) | 디지탈신호처리기(Digital Sgnal Processor) | |
JP2951685B2 (ja) | 固定小数点演算器 | |
KR100246472B1 (ko) | 디지탈신호처리기 | |
JP4428778B2 (ja) | 演算装置及び演算方法並びに計算装置 | |
KR100297544B1 (ko) | 디지탈신호처리기 | |
KR100265358B1 (ko) | 고속의쉬프팅장치 | |
JP2007072857A (ja) | 演算処理装置および情報処理装置 | |
JP2003084972A (ja) | 条件付減算命令の実行速度を改善し、命令が正しく実行されるオペランドの範囲を拡大する方法 | |
KR100251546B1 (ko) | 디지탈신호처리기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040401 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040414 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080514 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090514 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100514 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100514 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110514 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140514 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |