JPH0795262B2 - 演算処理装置 - Google Patents

演算処理装置

Info

Publication number
JPH0795262B2
JPH0795262B2 JP59248122A JP24812284A JPH0795262B2 JP H0795262 B2 JPH0795262 B2 JP H0795262B2 JP 59248122 A JP59248122 A JP 59248122A JP 24812284 A JP24812284 A JP 24812284A JP H0795262 B2 JPH0795262 B2 JP H0795262B2
Authority
JP
Japan
Prior art keywords
floating
data
point data
expression
identification information
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 - Lifetime
Application number
JP59248122A
Other languages
English (en)
Other versions
JPS61127033A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP59248122A priority Critical patent/JPH0795262B2/ja
Publication of JPS61127033A publication Critical patent/JPS61127033A/ja
Publication of JPH0795262B2 publication Critical patent/JPH0795262B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、演算処理装置に関し、特に、複数種類の浮動
小数点表現による浮動小数点データの演算を効率良く行
なう演算処理装置に関する。
〔発明の背景〕
浮動小数点演算は大きな数も小さな数も同じ精度で取扱
うことが可能なため、特に科学技術計算に於て利用され
ている表現方式である。
しかしながら、従来の浮動小数点表現では、指数表示部
(以後は単に指数部と呼ぶ)の長さが固定であつたた
め、表現できる数の範囲が限られるという欠点があると
共に、また、指数部の値が小さくて少ない情報で済む場
合にその空きスペースを仮数部の精度を上げることに利
用するというような柔軟性もないという欠点も指摘され
ていた。このため、これらの欠点を改善すべく、指数部
固定長表現にかわる指数部可変長表現による浮動小数点
演算が切望されており、何種類かの表現方式が提案され
ている。例えば、特開昭59-11444号公報に示されるよう
な方式が提案されている。
一方、指数部固定長表現に於ても、指数部のビツト数を
増やし、表現できる範囲を拡大しようという試みも提案
されている。
このような状況下に於て、複数種類の浮動小数点表現に
よる浮動小数点データに基づく浮動小数点演算を効率良
く行なうことが強く切望されている。
浮動小数点表現は一般的には、第2図に示すような形式
で示され、図中、101は数値の符号情報を示す1ビツト
の仮数符号部、102は指数の符号を示す1ビツトの指数
符号部、103は複数ビツトで構成される指数部、104は指
数部と仮数部との分離点、105は複数ビツトで構成され
る仮数部である。
指数部固定表現では、ある一つの表現方式に対して分離
点104は絶えず固定であるが、複数の表現方式をサポー
トする場合を考えれば異なつた複数の分離点をもつ指数
部固定長データの演算を実行する必要がある。
また、指数部可変長表現では、ある一つの表現方式に対
しても各データの値に応じて分離点104が移動する。
したがつて、複数種類の浮動小数点表現による浮動小数
点データに基づく浮動小数点演算を行なう場合には、各
表現方式毎に演算制御が異なるため、四則演算等の演算
命令を各表現方式毎に用意する必要がある。このため、
命令制御が複雑になつてしまうという問題点がある。
〔発明の目的〕
本発明の目的は上述した従来技術での問題点を除去した
データ処理装置を提供することにある。
〔発明の概要〕
このような目的を達成するために、本発明では、複数種
類の浮動小数点表現に基づく浮動小数点演算が実行可能
な演算処理装置に於て、主記憶装置からのデータを浮動
小数点レジスタへ読出すための専用のロード命令を各浮
動小数点表現毎に新規に追加し、さらに、各種ロード命
令により浮動小数点レジスタに読出されたデータに対し
て、そのデータの表現方式を識別するための情報を格納
するデータ制御ラツチを各浮動小数点レジスタ毎に設置
し、浮動小数点レジスタにロードしたデータ間で演算を
行なう場合には、特別な演算命令は新規に追加しないで
従来から用いている1組の演算命令を用い、演算の入力
データに対応したデータ制御ラツチの情報に基づき各種
表現の浮動小数点演算を実行可能なようにした演算処理
装置に特徴がある。
〔発明の実施例〕
第1図は本発明の一実施例を示す図である。本実施例は
1つの指数部固定表現と、1つの指数部可変長表現の2
つの表現方式に基づく浮動小数点演算を行なう場合の一
実施例であるが、更に表現方式を増加した場合にも拡張
が可能である。
図中、1は主記憶装置、2は命令制御ユニツト、3は浮
動小数点レジスタ(FR)ユニツト、4は演算ユニツト、
1−1は命令列格納エリア、1−2はデータ列格納エリ
ア、2−1は命令バツフア、2−2は命令レジスタ、2
−3は命令解読器、3−1〜3−7はセレクタ、3−8
〜3−9はデコーダ、3−10〜3−13はデータを識別す
るためのデータ制御ラツチ、3−14〜3−17は各各、浮
動小数点レジスタの0番(FR0)〜3番(FR3)、4−1
はOR回路、4−2はNOT回路、4−3〜4−4はAND回
路、4−5は固定長データの演算を行なう演算器、4−
6は可変長データの演算を行なう演算器、4−7はセレ
クタ、1〜12,l4−1〜l4−2は信号線である。
次に、本図を用いて、可変長データおよび固定長データ
を主記憶装置1から読出して浮動小数点レジスタFR0〜F
R3へロードするための処理手順、また、FR0〜FR3へロー
ドしたデータ間での演算処理手順を詳細に示す。
可変長データのロードを指定するロード命令(LQ)、お
よび固定長データのロードを指定するロード命令(LD)
は主記憶装置1の命令列格納エリア1−1に四則演算を
指定する演算命令、演算結果を主記憶に格納するストア
命令等と混在して格納されている。これらの命令列を主
記憶装置1から信号線1を介して読出し、命令バツフ
ア2−1にバツフアリングする。バツフアリングした命
令列を順次命令レジスタ2−2に読出して命令解読器2
−3で解読する。
可変長データのロードを指定するロード命令(LQ)を解
読した場合は次のような処理を行なう。なお、本ロード
命令では、主記憶装置1のデータ列格納エリア1−2に
格納されている可変長データのアドレスと、ロードすべ
き浮動小数点レジスタ(FR)番号が指定されているもの
とする。
命令で指定したアドレスをもとに、主記憶装置1から可
変長データを読出し、信号線l2、セレクタ3−1を介し
て命令で指定したFR番号に書込む。同時に、命令解読器
2−3は信号線l4、セレクタ3−2を介して、データを
ロードするFR番号に対応したデータ制御ラツチを‘1'に
セツトするための情報をデコーダ3−8へ転送する。デ
コーダ3−8では、FR番号を解読して対応するデータ制
御ラツチのSET端子にON信号を送出して‘1'をセツトす
る。
命令解読器2−3が固定長データのロードを指定するロ
ード命令(LD)を解読した場合の処理に於ては、FRへの
固定長データの書込みはLQ命令の場合と同様であるか、
データ制御ラツチへのセツトの手順が次のように異な
る。即ち、命令解読器2−3は信号線l5、セレクタ3−
3を介して、データをロードするFR番号に対応したデー
タ制御ラツチを‘0'にセツトするための情報をデコーダ
3−9へ転送する。そして、デコーダ3−9では、FR番
号を解読して対するデータ制御ラツチのRESET端子にON
信号を送出して‘0'をセツトする。
次に、FR0〜FR3へロードしたデータ間での演算処理手順
について記す。なお、演算命令では、四則演算等の演
算、および、2つの入力データが格納されているFR番号
と演算結果を格納するFR番号を指定するものとする。
第1の入力データはセレクタ3−6、信号線l9を介し
て、第2の入力データはセレクタ3−7、信号線l10を
介して読出し、演算器4−5あるいは演算器4−6へ転
送する。また、第1および第2の入力データに対応する
データ制御ラツチの値が読出されるが、第1のデータに
対応する制御ラツチの値はセレクタ3−4、信号線l7を
介して、第2のデータに対応するデータ制御ラツチの値
はセレクタ3−5、信号線l8を介して読出し、演算器4
−6とOR回路4−1へ転送する。OR回路4−1へ転送さ
れた第1と第2のデータ制御ラツチの値はORが取られ、
結果が直接AND回路4−4へ、また、NOT回路4−2で反
転されてAND回路4−3へ転送される。このデータ制御
ラツチの読出しと並行して、命令解読器2−3は信号線
l6を介して演算情報(例えば、演算の起動指示、四則演
算等の演算種類、演算結果を格納するFR番号等)を、AN
D回路4−3と信号線l4−1を介して、あるいはAND回路
4−4と信号線l4−2を介して、各々、演算器4−5あ
るいは演算器4−6へ送出する。
即ち、第1と第2の入力データに対応するデータ制御ラ
ツチの値が共に、‘0'であれば、即ち、共に固定長デー
タがあれば演算情報を演算器4−5へ転送し、それ以外
の場合、即ち、どちらの入力データが可変長データであ
るとき、または、共に可変長データであるときは演算情
報を演算器4−6へ転送して演算を実行する。
なお、第1と第2の入力データに対応するデータ制御ラ
ツチの値が不一致の場合には例外ケースとすることも考
えられる。
なお信号線l7とl8を介して読出されるデータ制御ラツチ
の値は演算器4−6に入力され、信号線l7の値が‘1'で
あれば第1入力データが可変長、‘0'であれば固定長、
また、信号線l8の値が‘1'であれば第2入力データが可
変長、‘0'であれば固定長であると認識して演算を実行
する。一方、演算器4−5には信号線l7とl8は入力され
ていないが、信号線l4−1を介して演算情報が入力され
る場合には、第1と第2の入力データは共に固定長であ
ると認識して演算を実行するものとする。
そして、起動された演算器の演算結果はセレクタ4−
7、信号線l3を介して指定されたFR番号へ格納される。
なお、ここでは、演算器4−5から出力される演算結果
は固定長、演算器4−6から出力される演算結果は可変
長であるとする。
一方、演算結果に対応したデータ制御ラツチへの書込み
は次のように行なう。即ち、演算器4−5から結果が出
力される場合には信号線11、セレクタ3−3、デコー
ダ3−9を介して情報が転送され、演算結果が格納され
るFR番号に対応したデータ制御ラツチに‘0'がセツトさ
れる。また、演算器4−6から結果が出力される場合に
は、信号線l12、セレクタ3−2、デコーダ3−8を介
して情報が転送され、演算結果が格納されるFR番号に対
応したデータ制御ラツチに‘1'がセツトされる。
第1図に示した本実施例では、演算器を2面もうけ、一
方は固定長データの演算専用に、他方を可変長データの
演算専用(2つの入力データのうち、一方でも可変長デ
ータである場合も含めて)としているが、別々にもうけ
なくても、演算器は1面として固定長データも可変長デ
ータも実行可能なように構成することも可能である。
また、最近の計算機での処理は、いわゆるマルチプログ
ラミングが行なわれているため、実行中のプログラムが
途中で一旦打切られ、処理を再開するということが起り
得る。このときは、浮動小数点レジスタの内容を退避/
回復する必要があるが、同時に、データ制御ラツチの内
容も退避/回復する必要があるが、データ量が少ないた
めオーバヘツドはほぼ無視できるものと思われる。
次に本発明で引用する指数部可変長浮動小数点表現につ
いて詳細に記す。
本表現方式の要点は、指数部の先行する‘0'の列あるい
は‘1'の列により指数部の長さを決定する点にある。指
数部の長さの決定法について、以下、具体的に説明す
る。
数値の浮動小数点による本表現は次のように規定され
る。
(i) 本表現では、数0と無限大とを次の通り表現で
きる。
0 :“000……0" ……(1) 無限大:“100……0" ……(2) 次に、上記以外の数について述べる。
(ii) 数xが正の場合には、次の通りである。数xが
指数eと仮数mとで、次のように表現されるものとす
る。
x=2・m ……(3) ここで、θは整数であり、またmは一意的に表わされる
ための条件として次の式が成立しなくてはならない。
1≦m<2 ……(4) また、仮数部mを2進数で表現したものは、次のように
示される。
m=1・m1m2m3…… ……(5) ただし、負数の表現は、2の補数を用いる。いま、上式
(3)のθの値と指数部とを関係づけるための値とし
て、を使用するものとする。θの2進数表現を、次の
ように定める。
a) θ≧0のとき =θ+1 =0……01θn……θ1 ……(6) (2進数表現) b) θ<0のとき =θ−1 =1……10θn……θ1 ……(7) (2進数表現) 上式(6)(7)において、の2進数表現はを十分
表現できるだけの大きな一定の桁数で行うものとする。
例えば、数100の2進数表現は、上式(3)より指数部
Θであるからθ=6であり、上式(6)より=7と
なる。したがつて、 100=26×(25/16) =7=0……0111 (2進数表現) である。
結局θ≧0のとき、先頭から1ビツト以上の“0"の後に
1ビツトの“1"が続き、その次にθn……θ1のn個の有
意数字(上記の場合11)が続く。nは、“1"の後の有意
数字の個数である。
本発明では、指数部の長さは可変であり、2n+2ビツト
である。n=0であるときは、の2進数表現は0……
01(θ≧0の場合)、あるいは1……10(θ<0の場
合)である。
したがつて、(イ)本表現方式のビツト配置は、第3図
に示すようになり、第2図の従来の表現に比べて指数の
符号情報は次に述べる指数部左半部の“1"の列であるか
“0"の列であるかの区別に含まれ、指数部の長さが可変
であり、また指数部106a,106b全体の長さと、指数部左
半分の“0"の列あるいは“1"の列の長さとの関係は、2n
+2から一意的に決まる。
(ロ)数値の符号情報のビツト1は、正の場合には0で
ある(これは、従来の表現と同じ)。
(ハ)指数部は次のように規定される。
a) θ≧0のとき 1……10θn……θ1 ……(8) b) θ<0のとき 0……01θn……θ1 ……(9) ただし、指数部左半分の“1"あるいは“0"の列の長さを
n+1とする。
(ニ)仮数部は、データの値の表現に用いられた全ビツ
ト数から、数値の符号情報の1ビツト、指数部の2n+2
を除いた残りであり、上式(5)のm1,m2から順に仮数
部に与えられただけの桁数をとり、m1が“0"のときはビ
ツト“0"、m1が“1"のときはビツト“1"とし、m2,m3
…についても同じようにする。
なお、小数点の左の1桁の“1"は常に“1"であつて冗長
な情報のため、本表現中のビツトには含ませない。
第3図は、本表現による浮動小数点表現を示す図であ
り、数100の浮動小数点表現値を、第4図は、本表現に
よる−7〜7の浮動小数点表現値を示す図である。
数100は、数値が正であるから符号ビツト1は“0"であ
り、またn=2であるから、指数部は2n+2=6ビツト
長である。すなわち、指数部2Θは、θで表わされるか
ら、 θ=111011 (2進数表現) であり、仮数部mは、 m=1、1001 (2進数表現) である。したがつて、数100の本表現は、次のようにな
る。
x100=01110111001000…… なお、右端の……は任意個の“0"を付加しても、同じ値
を表わすことを意味している。
また、数−100の本表現は、(8)′から指数部は先の
ものの0と1を反転した 000100 であり、仮数部は(5)′から であるから次の通りである。
x-100=10001000111000…… 本表現による浮動小数点演算の処理手順としては、例え
ば、次のような手順が考えられる。
(1) 指数部前半部の‘0'あるいは‘1'の列の計数 (2) 指数部と仮数部の分離 (3) 加減算の場合、指数部の値の調整 (4) 演算 (5) 正規化 (6) 指数部と仮数部の結合 (7) ‘0'あるいは‘1'の列の挿入 以上の手順のうち、(3)〜(5)は従来の指数部固定
長浮動小数点表現の場合と同様に行なわれる。また、
(1),(2),(6),(7)については公開特許公
報58-114826号で開示されている。
〔発明の効果〕
以上述べた如く、本発明の演算処理装置は、複数種類の
浮動小数点表現による浮動小数点データに基づく演算を
行なう際、四則演算等の多種類の浮動小数点演算命令を
各種の浮動小数点表現毎に複数組用意する必要がなく、
一組だけを用いて制御することにより命令制御を簡単化
でぎる効果がある。
また、命令数を大巾に増加させることは命令コードが不
足するという問題を引き起こすが、このような問題につ
いても充分対処できる効果がある。
さらに、主記憶には、これらの表現の任意のものを有す
る浮動小数点データを混在して保持した上で、演算にあ
っては、各表現の表現の利点を生かしたまま行なうこと
が出来る。
【図面の簡単な説明】
第1図は本発明の一実施例を示す構成図、第2図は一般
的な浮動小数点のデータ表現形式を示す図、第3図と第
4図は本発明で引用する指数部可変長の浮動小数点表現
に基づく数値例を示す図である。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】指数部および仮数部の少なくとも一方の表
    現が互いに異なる複数の浮動小数点表現で表示された浮
    動小数点データを保持する主記憶と、 浮動小数点データを保持する複数のレジスタと、 各レジスタに対応して設けられ、そのレジスタに保持さ
    れた浮動小数点データの表現を識別する識別情報を保持
    する手段と、 該複数の表現に対応して設けられた複数種類のロード命
    令の任意の一つが実行されたことに応答して、該主記憶
    内位置から浮動小数点データを該複数のレジスタの任意
    の一つにロードする回路と、 該一つのロード命令に応答して、その一つのレジスタに
    対応して設けられた上記保持手段に、そのロード命令が
    対応する識別情報を格納する手段と、 該複数の浮動小数点表現のデータに共通に定めた複数の
    演算命令の任意の一つに応答して、該複数のレジスタの
    一つに保持された浮動小数点データと、その一つのレジ
    スタに対応して設けられた上記識別手段とからそれぞれ
    浮動小数点データおよび識別情報を読み出す手段と、 その読み出された浮動小数点データを、その読み出され
    た識別情報が指定する表現を有する浮動小数点データと
    見なして、その浮動小数点データに対して、該一つの演
    算命令が指定する演算を実施し、演算結果としてその表
    現で表された浮動小数点データを出力する演算回路と、 該演算結果と、該読み出された識別情報と同じ識別情報
    とをそれぞれ該複数のレジスタの一つと、そのレジスタ
    に対応して設けられた上記保持手段に書込む手段とを有
    する演算処理装置。
JP59248122A 1984-11-26 1984-11-26 演算処理装置 Expired - Lifetime JPH0795262B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59248122A JPH0795262B2 (ja) 1984-11-26 1984-11-26 演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59248122A JPH0795262B2 (ja) 1984-11-26 1984-11-26 演算処理装置

Publications (2)

Publication Number Publication Date
JPS61127033A JPS61127033A (ja) 1986-06-14
JPH0795262B2 true JPH0795262B2 (ja) 1995-10-11

Family

ID=17173555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59248122A Expired - Lifetime JPH0795262B2 (ja) 1984-11-26 1984-11-26 演算処理装置

Country Status (1)

Country Link
JP (1) JPH0795262B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5911444A (ja) * 1983-06-24 1984-01-21 Hitachi Ltd 浮動小数点数演算装置

Also Published As

Publication number Publication date
JPS61127033A (ja) 1986-06-14

Similar Documents

Publication Publication Date Title
US6151669A (en) Methods and apparatus for efficient control of floating-point status register
EP0823085B1 (en) Method and apparatus for improved branch prediction accuracy in a superscaler microprocessor
US4745547A (en) Vector processing
US5276891A (en) Alignment of sign, data, edit byte operand results for storage in memory
JPH0145649B2 (ja)
US6370639B1 (en) Processor architecture having two or more floating-point status fields
US3297998A (en) List control
US6578059B1 (en) Methods and apparatus for controlling exponent range in floating-point calculations
US6058470A (en) Specialized millicode instruction for translate and test
US6055623A (en) Specialized millicode instruction for editing functions
US6067617A (en) Specialized millicode instructions for packed decimal division
EP0167959A2 (en) Computer vector register processing
US6212539B1 (en) Methods and apparatus for handling and storing bi-endian words in a floating-point processor
EP0180157A2 (en) Information processing unit
US5265204A (en) Method and apparatus for bit operational process
EP1019829B1 (en) Method and apparatus for transferring data between a register stack and a memory resource
JP2748957B2 (ja) データ処理装置
US6240540B1 (en) Cyclic redundancy check in a computer system
KR950006587B1 (ko) 마이크로 프로세서
US6055624A (en) Millicode flags with specialized update and branch instructions
JPS5917457B2 (ja) 2進化10進訂正装置
KR910001708B1 (ko) 중앙처리장치
JPH0795262B2 (ja) 演算処理装置
US6513053B1 (en) Data processing circuit and method for determining the first and subsequent occurences of a predetermined value in a sequence of data bits
JPH02278424A (ja) 正規化装置