JPS61127033A - 演算処理装置 - Google Patents

演算処理装置

Info

Publication number
JPS61127033A
JPS61127033A JP59248122A JP24812284A JPS61127033A JP S61127033 A JPS61127033 A JP S61127033A JP 59248122 A JP59248122 A JP 59248122A JP 24812284 A JP24812284 A JP 24812284A JP S61127033 A JPS61127033 A JP S61127033A
Authority
JP
Japan
Prior art keywords
data
floating point
length
instruction
exponent
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.)
Granted
Application number
JP59248122A
Other languages
English (en)
Other versions
JPH0795262B2 (ja
Inventor
Koichiro Omoda
面田 耕一郎
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

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、演算処理装置に関し、特に、複数種類の浮動
小数点表現による浮動小数点データの演算を効率良く行
なう演算処理装置に関する。
〔発明の背景〕
浮動小数点演算は大きな数も小さな数も同じ精度で取扱
うことが可能なため、特に科学技術計算に於て利用され
ている表現方式である。
しかしながら、従来の浮動小数点表現では、指数表示部
(以後は単に指数部と呼ぶ)の長さが固定であったため
5表現できる数の範囲が限られるという欠点があると共
に、また、指数部の値が小さくて少ない情報で済む場合
にその空きスペースを仮数部の精度を上げることに利用
するというような柔軟性もないという欠点も指摘されて
いた。
このため、これらの欠点を改善すべく、指数部固定長表
現にかわる指数部可変長表現による浮動小数点演算が切
望されており、何種類かの表現方式が提案されている。
例えば、特開昭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番(FRO)〜3番(
FR3)、4−1はOR回路、4−2はNOT回路、4
−3〜4−4はAND回路、4−5は固定長データの演
算を行なう演算器、4−6は可変長データの演算を行な
う演算器、4−7はセレクタ、fil 〜R12,12
4−1−Q4−2は信号線である。
次に1本図を用いて、可変長データおよび固定長データ
を主記憶装置1から読出して浮動小数点レジスタFRO
〜FR3ヘロードするための処理手順、また、FRO〜
FR3ヘロードしたデータ間での演算処理手順を詳細に
示す。
可変長データのロードを指定するロード命令(LQ) 
、および固定長データのロードを指定するロード命令(
L D)は主記憶装置1の命令列格納エリア1−1に四
則演算を指定する演算命令、演算結果を主記憶に格納す
るストア命令等と混在して格納されている。これらの命
令列を主記憶装置1から信号線Q1を介して読出し、命
令バッファ2−1にバッファリングする。バッファリン
グした命令列を順次命令レジスタ2−2に読出して命令
解読器2−3で解読する。
可変長データのロードを指定するロード命令(LQ)を
解読した場合は次のような処理を行なう。なお1本ロー
ド命令では、主記憶装置土のデータ列格納エリア1−2
に格納されている可変長データのアドレスと、ロードす
べき浮動小数点レジスタ(FR)番号が指定されている
ものとする。
命令で指定したアドレスをもとに、主記憶装置1から可
変長データを読出し、信号線N、lセレクタ3−1を介
して命令で指定したFR番号に書込む。同時に、命令解
読器2−3は信号線Q4、セレクタ3−2を介して、デ
ータをロードするFR番号に対応したデータ制御ラッチ
を′1′にセットするための情報をデコーダ3−8へ転
送する。デコーダ3−8では、FR番号を解読して対応
するデータ制御ラッチのSET端子にON信号を送出し
て′1′をセットする。
命令解読器′2−3が固定長データのロードを指定する
ロード命令(LD)を解読した場合の処理に於ては、F
Rへの固定長データの書込みはLQ命令の場合と同様で
あるか、データ制御ラッチへのセットの手順が次のよう
に異なる。即ち、命令解読器2−3は信号線I25.セ
レクタ3−3を介して、データをロードするFR番号に
対応したデータ制御ラッチを′0′にセットするための
情報をデコーダ3−9へ転送する。そして、デコーダ3
−9では、FR番号を解読して対するデータ制御ラッチ
のRrF、SET端子にON信号を送出してl Olを
セットする。
次に、FRO−FR3ヘロードしたデータ間での演算処
理手順について記す、なお、演算命令では、四則演算等
の演算、および、2つの入力データが格納されているF
R番号と演算結果を格納するFR番号を指定するものと
する。
第1の入力データはセレクタ3−6.信号線Q9を介し
て、第2の入力データはセレクタ3−7、信号線121
0を介して読出し、演算器4−5あるいは演算器4−6
へ転送する。また、第1および第2の入力データに対応
するデータ制御ラッチの値が読出されるが、第1のデー
タに対応する制御ラッチの値はセレクタ3−4、信号線
Q7を介して、第2のデータに対応するデータ制御ラッ
チの値はセレクタ3−5、信号mQsを介して読出し、
演算器4−6とOR回路4−1へ転送する60R回路4
−1へ転送された第1と第2のデータ制御ラッチの値は
○Rが取られ、結果が直接AND回路4−4へ、また、
NOT回路4−2で反転されてAND回路4−3へ転送
される。このデータ制御ラッチの読出しと並行して、命
令解読器2−3は信号線a6を介して演算情報(例えば
、演算の起動指示、四則演算等の演算種類、演算結果を
格納するFR番号等)を、AND回路4−3と信号線Q
4−1を介して、あるいはAND回路4−4と信号線Q
4−2を介して、各々、演算器4−5あるいは演算器4
−6へ送出する。
即ち、第1と第2の入力データに対応するデータ制御ラ
ッチの値が共に′0′であれば、即ち、共に固定長デー
タがあれば演算情報を演算器4−5へ転送し、それ以外
の場合、即ち、どちらの入力データが可変長データであ
るとき、または、共に可変長データであるときは演算情
報を演算器4−6へ転送して演算を実行する。
なお、第1と第2の入力データに対応するデータ制御ラ
ッチの値が不一致の場合には例外ケースとすることも考
えられる。
なお、信号HQ7とQ8を介して読出されるデータ制御
ラッチの値は演算器4−6に入力され、信号、iu7の
値がIl+であれば第1人力データが可変長、′O′で
あれば固定長、また、信号線Q8の値が111であれば
第2人力データが可変長、′0′であれば固定長である
と認識して演算を実行する。一方、演算器4−5には信
号線Q7とQ8は入力されていないが、信号線Q4−1
を介して演算情報が入力される場合には、第1と第2の
入力データは共に固定長であると認識して演算を実行す
るものとする。
そして、起動された演算器の演算結果はセレクタ4−7
、信号線Q3を介して指定されたFR番号へ格納される
。なお、ここでは、演算器4−5から出力される演算結
果は固定長、演算器4−6から出力される演算結果は可
変長であるとする。
一方、演算結果に対応したデータ制御ラッチへの書込み
は次のように行なう。即ち、演算器4−5から結果が出
力される場合には信号線+211、セレクタ3−3、デ
コーダ3−9を介して情報が転送され、演算結果が格納
されるFR番号に対応したデータ制御ラッチに101 
がセットされる。
また、演算器4−6から結果が出力される場合には、信
号線Q12、セレクタ3−2.デコーダ3−8を介して
情報が転送され、演算結果が格納されるFR番号に対応
したデータ制御ラッチに′1′がセットされる。
第1図に示した本実施例では、演算器を2面もうけ、一
方は固定長データの演算専用に、他方を可変長データの
演算専用(2つの入力データのうち、一方でも可変長デ
ータである場合も含めて)としているが、別々にもうけ
なくても、演算器は1面として固定長データも可変長デ
ータも実行可能なように構成することも可能である。
また、最近の計算機での処理は、いわゆるマルチプログ
ラミングが行なわれでいるため、実行中のプログラムが
途中で一旦打切られ、処理を再開するということが起り
得る。このときは、浮動小数点レジスタの内容を退避/
回復する必要があるが、同時に、データ制御ラッチの内
容も退避/回復する必要があるが、データ量が少ないた
めオーバヘッドはほぼ無視できるものと思われる。
次に本発明で引用する指数部可変長浮動小数点表現につ
いて詳細に記す。
本表現方式の要点は、指数部の先行する( Olの列あ
るいは′1′の列により指数部の長さを決定する点にあ
る。指数部の長さの決定法について、以下、具体的に説
明する。
数値の浮動小数点による本表現は次のように規定される
(i)本表現では、数0と無限大とを次の通り表現でき
る。
O: “000・・・・・・・・・0′″   ・・・
(1)無限大:”100・・・・・・・・・O11・・
・(2)次に、上記以外の数について述べる。
(if)数Xが正の場合には、次の通りである。数Xが
指数eと仮数mとで、次のように表現されるものとする
x=211・m・・・(3) ここで、θは整数であり、またmは一意的に表わされる
ための条件として次の式が成立しなくてはならない。
1≦m<2              ・・・(4)
また、仮数部mを2進数で表現したものは1次のように
示される。
m=1・m1m、m、”       −(5)ただし
、負数の表現は、2の補数を用いる。いま、上式(3)
の0の値と指数部とを関係づけるための値として、工を
使用するものとする。θの2進数表現を、次のように定
める。
a)θ≧0のとき θ=θ+1 =0・・・・010.・・・・θ1     ・・・(
6)(2進数表現) b)θくOのとき θ=θ−1 =1・・・・1oθ8・・・・01      ・・・
(7)(2進数表現) 上式(6)(7)において、Tの2進数表現はTを十分
表現できるだけの大きな一定の桁数で行うものとする。
例えば、数100の2進数表現は、上式(3)より指数
部2@であるからθ=6であり、上式(6)%式% 結局θ≧0のとき、先頭から1ビツト以上の“O”の後
に1ビツトの“1”が続き、その次にO3・・・・θ、
のn個の有意数字(上記の場合11)が続<anは、“
11′の後の有意数字の個数である。
本発明では、指数部の長さは可変であり、2n+2ビツ
トである。n=0であるときは、θの2進数表現はO・
・・・01(θ≧Oの場合)、あるいは1・・・・10
(θく0の場合)である。
したがって、(イ)本表現方式のビット配置は、第3図
に示すようになり、第2図の従来の表現に比べて指数の
符号情報は次に述べる指数部左半部の111”の列であ
るか“0”の列であるかの区別に含まれ、指数部の長さ
が可変であり、また指数部106a、106b全体の長
さと、指数部左半分の“O11の列あるいはII I 
IIの列の長さとの関係は、2n+2から一意的に決ま
る。
(ロ)数値の符号情報のビット1は、正の場合にはOで
ある(これは、従来の表現と同じ)。
(ハ)指数部は次のように規定される。
a)θ≧Oのとき 1・・・・10θ、・・・・O1・・・(8)b)θく
0のとき 0・・・・01θ、・・・・O1・・・(9)ただし、
指数部左半分のat 1 rtあるいはIt OIIの
列の長さをn+1とする。
(ニ)仮数部は、データの値の表現に用いられた全ビッ
ト数から、数値の符号情報の1ビツト、指数部の2n+
2を除いた残りであり、上式(5)のm、、m、から順
に仮数部に与えられただけの桁数をとり、m、が0”の
ときはビット810”、mlが111 Itのときはビ
ット111 IIとし、m、。
m、・・・・・についても同じようにする。
なお、小数点の左の1桁の“1”は常に“1”であって
冗長な情報のため、本表現中のビットには含ませない。
第3図は、本表現による浮動小数点表現を示す図であり
、数100の浮動小数1点表現値を、第4図は、本表現
による−7〜7の浮動小数点表現値を示す図である。
数100は、数値が正であるから符号ビット1は“OI
Iであり、またn = 2であるから、指数部は2 n
 + 2 = 6ビツト長である。すなわち、指数部2
°は、θで表わされるから、 θ=111011       (2進数表現)であり
、仮数部mは、 m=1.1001       (2進数表現)である
、したがって、数100の本表現は、次のようになる。
xl。。=01110111001000・・・・なお
、右端の・・・・は任意側の7101jを付加しても、
同じ値を表わすことを意味している。
また、数−100の本表現は、(8)′から指数部は先
のものの0と1を反転した であり、仮数部は(5)′から であるから次の通りである。
x−、l、、=10001000111000・・・・
本表現による浮動小数点演算の処理手順としては、例え
ば、次のような手順が考えられる。
(1)指数部前半部の′0″あるいは′1′の列の計数 (2)指数部と仮数部の分離 (3)加減算の場合、指数部の値の調整(4)演算 (5)正筑化 (6)指数部と仮数部の結合 (7)  ’O’あるいは′1′の列の挿入以上の手順
のうち、(3)〜(5)は従来の指数部固定長浮動小数
点表現の場合と同様に行なわれる。
また、(1)、(2)、(6)、(7)については公開
特許公報58−114826号で開示されている。
〔発明の効果〕
以上述べた如く1本発明の演算処理装置は、複数種類の
浮動小数点表現による浮動小数点データに基づく演算を
行なう際、四則演算等の多種類の浮動小数点演算命令を
各種の浮動小数点表現毎に複数組用意する必要がなく、
−組だけを用いて制御することにより命令制御を簡単化
できる効果がある。
また、命令数を大巾に増加させることは命令コードが不
足するという問題を引き起こすが、このような問題につ
いても充分対処できる効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示す構成図、第2図は一般
的な浮動小数点のデータ表現形式を示す図、第3図と第
4図は本発明で引用する指数部可変長の浮動小数点表現
に基づく数値例を示す図である。 蔓 2 図 篤3図 菖4図

Claims (1)

  1. 【特許請求の範囲】 1、2種類以上の浮動小数点表現方式で表示される浮動
    小数点データの演算を行なう演算処理装置であつて、主
    記憶から該データを浮動小数点レジスタへ読出すための
    ロード命令であつて、該浮動小数点表現方式毎に設定さ
    れる該ロード命令を解読する命令解読手段と、該浮動小
    数点レジスタ毎に設置され、該浮動小数点表現方式に対
    応したデータであることを識別する識別情報を格納する
    格納手段と、該ロード命令により該浮動小数点レジスタ
    に読出したデータに対して、所定の該識別情報を該格納
    手段に書込むための第1の書込み手段と、各種演算命令
    の実行に於て、該浮動小数点レジスタから演算入力デー
    タを読出す際に、該演算入力データに対応する該識別情
    報を該格納手段から読出すための読出し手段と、該各種
    演算命令の実行に於て、演算結果データを該浮動小数点
    レジスタへ書込む際に、該演算結果データに対応する該
    識別情報を該格納手段に書込むための第2書込み手段と
    を有することを特徴とする演算処理装置。 2、該浮動小数点表現方式のうち、指数部固定長浮動小
    数点表現方式および指数部可変浮動小数点表現方式を含
    む第1項の演算処理装置。 3、該指数部固定長浮動小数点表現方式のうち、指数部
    の長さを該指数部前半部の‘0’の列あるいは‘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 true JPS61127033A (ja) 1986-06-14
JPH0795262B2 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)

Citations (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 浮動小数点数演算装置

Patent Citations (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
JPH0795262B2 (ja) 1995-10-11

Similar Documents

Publication Publication Date Title
US4398245A (en) Data processing system having an instruction pipeline for processing a transfer instruction
US4745547A (en) Vector processing
JPS6097435A (ja) 演算処理装置
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
JPH0145649B2 (ja)
US4777592A (en) Information processing system comprising a register renewal waiting control circuit with renewal register number registering means
US6055623A (en) Specialized millicode instruction for editing functions
US6058470A (en) Specialized millicode instruction for translate and test
US6067617A (en) Specialized millicode instructions for packed decimal division
JPS623461B2 (ja)
JP2748957B2 (ja) データ処理装置
US6055624A (en) Millicode flags with specialized update and branch instructions
JPS61127033A (ja) 演算処理装置
US5001629A (en) Central processing unit with improved stack register operation
US4977497A (en) Data processor
US6240540B1 (en) Cyclic redundancy check in a computer system
US20030041229A1 (en) Shift processing unit
TW201810034A (zh) 用於累和的系統、設備及方法
US6513053B1 (en) Data processing circuit and method for determining the first and subsequent occurences of a predetermined value in a sequence of data bits
US6944745B2 (en) Exception handling for single instructions with multiple data
CN112912843A (zh) 具有精确中断和/或重写的向量指令
US5754810A (en) Specialized millicode instruction for certain decimal operations
EP0336091A2 (en) Pipeline type microprocessor
US20090327332A1 (en) Method for implementing a bit-reversed increment in a data processing system
JPS61288230A (ja) パイプライン制御方式