JP2651267B2 - 演算処理装置及び演算処理方法 - Google Patents

演算処理装置及び演算処理方法

Info

Publication number
JP2651267B2
JP2651267B2 JP2198547A JP19854790A JP2651267B2 JP 2651267 B2 JP2651267 B2 JP 2651267B2 JP 2198547 A JP2198547 A JP 2198547A JP 19854790 A JP19854790 A JP 19854790A JP 2651267 B2 JP2651267 B2 JP 2651267B2
Authority
JP
Japan
Prior art keywords
data
precision
double
bit
precision operation
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
JP2198547A
Other languages
English (en)
Other versions
JPH0484219A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2198547A priority Critical patent/JP2651267B2/ja
Priority to EP91306881A priority patent/EP0468820B1/en
Priority to DE69131267T priority patent/DE69131267T2/de
Priority to KR1019910012891A priority patent/KR950004248B1/ko
Publication of JPH0484219A publication Critical patent/JPH0484219A/ja
Priority to US08/337,411 priority patent/US5515520A/en
Application granted granted Critical
Publication of JP2651267B2 publication Critical patent/JP2651267B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/382Reconfigurable for different fixed word lengths

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Nonlinear Science (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 概要 産業上の利用分野 従来の技術(第15図) 発明が解決しようとする課題(第16図) 課題を解決するための手段(第1〜第4図) 作用 実施例 (i)第1の実施例の説明(第5図〜第10図) (ii)第2の実施例の説明(第11図〜第14図) 発明の効果 〔概要〕 演算処理装置、特に倍精度データ用のビット線に伝送
される倍精度データや単精度データに基づいて演算処理
をする装置の単精度データの演算処理を高速に行う装置
に関し、 該倍精度データ用のビット線やベクトルレジスタのメ
モリ領域に「空き」を生じさせることなく、倍精度デー
タ用のビット線の上位,下位ビットに分けて単精度デー
タを伝送した場合であっも、該単精度データの演算処理
を高速に実行することを目的とし、 その第1の装置は、被演算データと演算データとを入
力して単精度被演算データ,単精度演算データ,倍精度
被演算データ,倍精度演算データを出力する第1のデー
タ変換手段と、前記単精度被演算データと単精度演算デ
ータを入力して単精度結果データを出力する単精度演算
手段と、前記倍精度被演算データと倍精度演算データを
入力して倍精度結果データを出力する倍精度演算手段
と、前記単精度結果データ及び倍精度結果データを入力
して演算結果データを出力する第2のデータ変換手段と
を具備することを含み構成し、 前記装置において、前記第1のデータ変換手段は、前
記被演算データ及び演算データが倍精度演算モードの場
合には、前記倍精度演算手段のみに倍精度被演算データ
及び倍精度演算データを出力し、前記被演算データ及び
演算データが単精度演算モードの場合には、前記単精度
演算手段に単精度被演算データ及び単精度演算データを
出力し、かつ、前記倍精度演算手段に被演算データ及び
演算データの一部をデータ変換処理した倍精度被演算デ
ータ及び倍精度演算データを出力することを含み構成
し、 その第2の装置は、前記装置において、前記被演算デ
ータ,演算データ及び演算結果データを格納する記憶手
段と、前記被演算データと演算データとを伝送する倍精
度データ用の転送手段とを具備することを含み構成し、 第2の装置において、前記記憶手段への被演算デー
タ,演算データ及び演算結果データの格納方法は、前記
記憶手段のビット幅に対してn分の1のビット幅の被演
算データ,演算データ及び演算結果データがn個に分割
されて格納され、かつ、前記n個に分割された被演算デ
ータ,演算データ及び演算結果データの格納位置が対応
付けられていることを含み構成する。
〔産業上の利用分野〕
本発明は、演算処理装置及び演算処理方法に関するも
のであり、更に詳しく言えば倍精度/単精度データ併用
の演算処理装置の単精度データの演算処理を高速に行う
データプロセッサ及びデータ処理方法に関するものであ
る。
近年、高機能、高性能化を図るコンピュータ等のデー
タ処理量の増大に伴い、与えられた論理計算や科学計算
等の数値演算処理を最も効率良く、かつ、高速に行う必
要がある。これらの処理装置には、倍精度データや単精
度データをパイプライン演算処理するベクトルプロセッ
サ等が使用されている。
これによれば、倍精度データ用の演算器を兼用して、
単精度データの演算処理をする場合に、倍精度データ用
のビット線に単精度データが伝送されたり、単精度デー
タが倍精度データに変換され、それが演算処理されてい
る。
このため、ベクトルレジスタのメモリ領域に「空き」
が生じたり、ビット線の下位mビットに「空き」を生じ
ている。また、倍精度データ用のビット線に上位、下位
ビットに分けて単精度データを伝送する方法も考えられ
るが、倍精度データ用の演算器1台を兼用するため、上
位mビットの演算処理が終了するまで下位mビットの演
算処理に移行することができない。このことで、倍精度
/単精度データを併用する演算処理装置の単精度データ
の高速演算処理の妨げとなるという問題がある。
そこで、ベクトルレジスタのメモリ領域や倍精度デー
タ用のビット線に「空き」を生じさせることなく、倍精
度データ用のビット線の上位,下位ビットに分けて単精
度データを伝送した場合であっも、該単精度データの演
算処理を高速に実行することができる装置及び方法が望
まれている。
〔従来の技術〕
第15,16図は、従来例に係る説明図である。
第15図は、従来例に係る64/32ビット併用演算処理装
置の構成図を示している。
図において、例えば、64ビット倍精度データや32ビッ
ト単精度データをパイプライン演算処理する64/32ビッ
ト併用演算処理装置(ベクトルプロセッサ等)は、ベク
トルレジスタ1,演算回路2,64ビット線3及びバス線4等
から成る。
また、演算回路2は64/32ビット選択入力回路2A,32→
64ビットフォーマット変換回路2B,倍精度演算器2C,64→
32ビットフォーマット変換回路2D及び64/32ビット選択
出力回路2Eから成る。
当該演算処理装置の機能は、倍精度演算モードWの場
合には、ベクトルレジスタ1から64ビットの倍精度被演
算データWXと64ビットの倍精度演算データWYとを64/32
ビット選択入力回路2Aにより選択入力して、該データWX
及びWYを倍精度演算器2Cにより演算処理し、その倍精度
結果データWZを64/32ビット選択出力回路2Eによりベク
トルレジスタ1に格納するものである。
また、単精度演算モードSの場合には、ベクトルレジ
スタ1から32ビットの単精度被演算データSXと32ビット
の単精度演算データSYとを該入力回路2Aにより選択入力
して、該データSX及びSYを一旦、32→64ビットフォーマ
ット変換回路2Bにより形式変換処理し、該形式変換され
た64ビットの倍精度被演算データWSXと62ビットの倍精
度演算データWSYとを倍精度演算器2Cにより演算処理
し、その結果データWSZを64→32ビットフォーマット変
換回路2Dにより形式変換処理し、該形式変換処理された
単精度結果データSZを該出力回路2Eを介してベクトルレ
ジスタ1に格納するものである。
これにより、一つの倍精度演算器2Cを用いて64ビット
倍精度/32ビット単精度データの演算処理をすることが
できる。
〔発明が解決しようとする課題〕
ところで、従来例の演算処理装置よれば64ビット線3
に倍精度被演算データWXや倍精度演算データWYを転送す
る倍精度演算モードWの場合には、演算処理性能に問題
がないが、そのビット線3に単精度被演算データSXや単
精度演算データSYを転送する単精度演算モードSの場合
には、第16図のような問題がある。
すなわち、同図(a)において、ベクトルレジスタ1
のメモリ領域Mに「空き」が生ずる。これは、予め設定
された2mビット倍精度データの格納領域にmビットの単
精度被演算データSXや単精度演算データSY等が格納され
るためである。例えば、64ビットの並列書込み/読出し
処理が可能なベクトルレジスタ1の場合、上位0/31ビッ
トに単精度被演算データSX,単精度演算データSY及びそ
の結果データSZが格納され、下位32〜64ビット分のメモ
リ領域Mに「空き」が生ずるものである。なお、mは2n
〔n=1,2…〕なる係数であり、単精度演算モードSの
並列処理ビット数を示している。
また、同図(a)の64ビット線3のように、その下位
mビットに「空き」が生ずる。
これは、予め設備された2mビット倍精度データ用のビ
ット線にmビットの単精度被演算データSXや単精度演算
データSY等が伝送されるためであり、例えば、64ビット
線3の上位0〜31ビットに単精度被演算データSX,単精
度演算データSYが伝送され、下位32〜63ビット分のビッ
ト線に「空き」が生ずるものである。
仮に、同図(b)のようにベクトルレジスタ1のメモ
リ「空き」領域に、下位32〜64ビットに単精度演算デー
タSX,単精度演算データSYを格納し、倍精度データ用の
ビット線に上位,下位ビットに分けて単精度データを伝
送した場合を考えると、その演算処理に多くの時間を要
することがある。
これは、倍精度演算器1台を倍精度/単精度モードの
演算処理に兼用することにより、上位mビットの演算処
理が終了するまで下位mビットの演算処理に移行するこ
とができなくなるためである。例えば、上位0〜31ビッ
トの単精度被演算データSXや単精度演算データSYを倍精
度被演算データWSXや倍精度演算データWSYに変換処理
し、それに基づいて倍精度演算処理をするため、その上
位0〜31ビットの単精度被演算データSXや単精度演算デ
ータSYに係る演算処理が終了するまで下位32〜63ビット
の単精度被演算データSXや単精度演算データSYの倍精度
演算処理ができなくなるためである。
このため、倍精度/単精度データを併用する演算処理
装置の単精度データの高速演算処理の妨げとなり、マイ
クロコンピュータ等の高機能、高性能化を図ることがで
きないという問題がある。
本発明は、かかる従来例の問題点に鑑み創作されたも
のであり、倍精度データ用のビット線やベクトルレジス
タのメモリ領域に「空き」を生じさせることなく、倍精
度データ用のビット線の上位,下位ビットに分けて単精
度データを伝送した場合であっても、該単精度データの
演算処理を高速に実行することが可能となる演算処理装
置及び演算処理方法の提供を目的とする。
〔課題を解決するための手段〕
第1図は、本発明に係る第1の演算処理装置の原理
図,第2図は、本発明に係る第1の演算処理方法の原理
図,第3図は、本発明に係る第2の演算処理装置の原理
図及び第4図は、本発明に係る第2の演算処理方法の原
理図をそれぞれ示している。
その原理的な装置は、出力のデータ幅が入力のデータ
幅と等しくなる浮動小数点方式のデータ同士を演算する
装置であって、前記浮動小数点方式のNビットの倍精度
のデータ又は前記浮動小数点方式のN/2ビットの2組の
単精度のデータが転送可能な倍精度用のデータバスと、
前記N/2ビットの単精度のデータ同士の演算を行って前
記浮動小数点方式のN/2ビットの単精度の演算結果デー
タを出力する第1の演算器と、前記Nビットの倍精度の
データ同士の演算を行って前記浮動小数点方式のNビッ
トの倍精度の演算結果データを出力する第2の演算器
と、前記倍精度の演算を行うときは、前記データバスか
らNビットの倍精度のデータを受けて前記第2の演算器
に供給し、前記単精度の演算を行うときは、前記データ
バスからN/2ビットの単精度のデータの1組を入力して
第1の演算器に供給し、かつ、前記データバスからN/2
ビットの単精度のデータの他の1組を入力して倍精度の
データに変換した後、前記倍精度のデータを前記第2の
演算器に供給する第1のデータ変換器と、前記単精度の
演算の他の1組を行う前記第2の演算器がNビットの倍
精度の演算結果データを出力するとき、該演算結果デー
タをN/2ビットの単精度の演算結果データに変換して出
力する第2のデータ変換器とを備えていることを特徴と
する。
本発明の第1の演算処理装置は、第1図において、任
意のデータフォーマットの被演算データX及び演算デー
タYを浮動小数点方式のN/2ビットの2組の単精度の被
演算データSX1,SX2及び演算データSY1,SY2に変換した
り、又は、任意のデータフォーマットの被演算データX
及び演算データYを浮動小数点方式のNビットの倍精度
の被演算データWX及び演算データWYに変換したりする第
1のデータ変換手段11と、前記第1のデータ変換手段11
から出力された前記単精度の被演算データSX1及び演算
データSY1を入力して単精度演算を行い浮動小数点方式
のN/2ビットの単精度の演算結果データSOを出力する単
精度演算手段12と、前記第1のデータ変換手段11から出
力された前記倍精度の被演算データWX及び演算データWY
を入力して倍精度演算を行い浮動小数点方式のNビット
の倍精度の演算結果データWOを出力する倍精度演算手段
13と、前記浮動小数点方式の単精度の演算結果データSO
又は前記浮動小数点方式の倍精度の演算結果データWOを
任意のデータフォーマットの演算結果データZに変換す
る第2のデータ変換手段14とを備え、 前記第1のデータ変換手段11は、倍精度演算時に、前
記倍精度の被演算データWX及び演算データWYを前記倍精
度演算手段13に出力し、単精度演算時に、1組の前記単
精度の被演算データSX1及び演算データSY1を前記単精度
演算手段12に出力すると共に、1組の前記単精度の被演
算データSX2及び演算データSY2を倍精度の被演算データ
WX及び演算データWYに変換した後、前記倍精度の被演算
データWX及び演算データWYを前記倍精度演算手段13に出
力し、 第2のデータ変換手段14は、単精度の演算の1組を行
う前記倍精度演算手段13が、倍精度の演算結果データWO
を出力するとき、前記倍精度演算手段13の出力をN/2ビ
ットの演算結果データSOに変換して出力することを特徴
とする。
本発明の第2の演算処理装置は、第3図に示すよう
に、第1の装置において、前記被演算データ、演算デー
タ及び演算結果データを格納する記憶手段15と、前記被
演算データ、演算データ及び演算結果データを伝送する
Nビットの倍精度用のデータ転送手段16とを備えている
ことを特徴とする。
本発明の第2の演算処理装置において、前記記憶手段
15は、データが並列に格納可能な所望のビットのメモリ
領域を有し、前記メモリ領域をn個に分割してn分の1
のビットの被演算データ、演算データ及び演算結果デー
タを該メモリ領域に格納するとき、n個のメモリ領域毎
に被演算データ、演算データ及び演算結果データを対応
付けることを特徴とする。
本発明の演算処理方法は、出力のデータ幅が入力のデ
ータ幅と等しくなる浮動小数点方式のデータ同士を演算
する方法であって、Nビットの倍精度の被演算データ及
び演算データ又はN/2ビットの2組の単精度の被演算デ
ータ及び演算データが転送可能な倍精度用のデータバス
を用いて倍精度演算又は2組の単精度演算を行う方法に
おいて、第2図に示すように、前記倍精度演算を行う時
は、ステップP1で前記データバスに倍精度の被演算デー
タ及び演算データを供給し、ステップP3で前記データバ
スから倍精度の被演算データ及び演算データを入力して
倍精度演算を行い浮動小数点方式のNビットの倍精度の
演算結果データを求め、前記単精度演算を行う時は、ス
テップP1で前記データバスに2組の単精度の被演算デー
タ及び演算データを供給し、ステップP4で前記データバ
スから1組の単精度の被演算データ及び演算データを入
力してNビットの倍精度の被演算データ及び演算データ
に変換し、ステップP6で前記データバスから他の1組の
単精度の被演算データ及び演算データを入力して単精度
演算を行い浮動小数点方式のN/2ビットの単精度の演算
結果データを求め、 前記単精度演算に並行して、ステップP5で前記変換さ
れたNビットの倍精度の被演算データ及び演算データを
入力して倍精度演算を行い浮動小数点方式のNビットの
倍精度の演算結果データを求め、 前記Nビットの倍精度の演算結果データをN/2ビット
の単精度の演算結果データに変換して出力することを特
徴とする。
本発明の第2の演算処理方法は、前記単精度演算時
に、N/2ビットの2組の単精度の被演算データ及びN/2ビ
ットの2組の単精度の演算データをメモリ領域に並列に
格納し、前記メモリ領域に格納された2組の被演算デー
タ及び2組の演算データをNビットの倍精度用のデータ
バスに並列に転送することを特徴として、上記目的を達
成する。
〔作用〕
本発明の原理的な装置の動作を説明する。浮動小数点
方式の2組の単精度を演算を行う場合、データバスはN/
2ビットの2組の単精度のデータを第1のデータ変換器
に並列に転送する。そして、第1のデータ変換器は、1
組のN/2ビットの単精度のデータを無変換のまま第2の
演算器に出力する。これにより、第1の演算器は、第1
のデータ変換器からのN/2ビットの単精度のデータを受
けて、単精度のデータ同士の単精度演算を行う。この結
果、入力のデータ幅と等しくなる浮動少数点方式のN/2
ビットの1組の単精度の結果データが第1の演算器から
出力される。
これに並行して、第1のデータ変換器は、他の1組の
N/2ビットの単精度のデータをNビットの倍精度のデー
タに変換する。ここで変換された倍精度のデータは第1
のデータ変換器から第2の演算器へ出力される。これに
より、第2の演算器は、第1のデータ変換器によって変
換されたNビットの倍精度のデータを受けて、倍精度の
データ同士の倍精度演算を行う。この結果、第2の演算
器から第2のデータ変換器へNビットの倍精度の演算結
果データが出力される。このデータを受けた第2のデー
タ変換器は、第2の演算器からのNビットの倍精度の演
算結果データをN/2ビットの単精度の結果データに変換
する。このデータ変換によって、入力のデータ幅に等し
くなる浮動小数点方式のN/2ビットの1組の単精度の結
果データが第2のデータ変換器から出力される。
なお、浮動小数点方式の倍精度の演算を行う場合は、
データバスがNビットの倍精度のデータを第2の演算器
に転送する。これにより、第2の演算器はNビットの倍
精度のデータを受けてNビットのデータ同士の倍精度演
算を行う。この演算結果により、入力のデータ幅と等し
くなる浮動小数点方式のNビットの倍精度の演算結果デ
ータが第2の演算器から出力される。
このように本発明の原理的な装置では、倍精度用のデ
ータバスを介してNビットの倍精度のデータが転送され
てきた場合は、第2の演算器が倍精度演算を行い、この
データバスを介してN/2ビットの単精度の2組のデータ
が転送されてきた場合は、第1の演算器が1組の単精度
演算を行い、第2の演算器が1組の単精度演算を倍精度
演算に置換して行うので、倍精度用のデータバスをフル
に使用した浮動小数点方式の倍精度演算又は2組の単精
度演算を行うことができる。
本発明の第1の装置では、第1図に示すように第1の
データ変換手段11、単精度演算手段12、倍精度演算手段
13及び第2のデータ変換手段14とを具備している。
例えば、任意のデータフォーマットの被演算データX
及び演算データYが第1のデータ変換手段11に入力され
ると、第1のデータ変換手段11は、その被演算データX
を浮動小数点方式のN/2ビットの単精度の2組の被演算
データSX1,SX2に変換し、かつ、その演算データYを浮
動小数点方式のN/2ビットの単精度の2組の演算データS
Y1,SY2に変換したり、又は、その被演算データXを浮動
小数点方式のNビットの倍精度の演算データWXに変換
し、かつ、その演算データYを浮動小数点方式のNビッ
トの倍精度の演算データWYに変換したりする。この際
に、倍精度演算モードWの場合には、被演算データX及
び演算データYに基づいて第1のデータ変換手段11から
倍精度演算手段13のみに倍精度被演算データWX及び倍精
度演算データWYが出力される。
また、単精度演算モードSの場合には、例えば、上位
ビットの被演算データX及び演算データYに基づいて第
1のデータ変換手段11から単精度演算手段12に単精度被
演算データSX及び単精度演算データSYが出力され、か
つ、倍精度演算手段13に被演算データX及び演算データ
Yの下位ビットを変換処理した倍精度被演算データWX及
び倍精度演算データWYが出力される。
このため、単精度被演算データSXと単精度演算データ
SYが単精度演算手段12に入力されると、該単精度演算手
段により単精度結果データSOが第2のデータ変換手段11
に出力される。これに併せて、倍精度被演算データWXと
倍精度演算データWYとが倍精度演算手段13に入力され、
該倍精度演算手段により倍精度結果データWOが第2のデ
ータ変換手段11に出力される。このことで、倍精度デー
タ用の転送手段(ビット線)の上位,下位ビットに単精
度被演算データSXや単精度演算データSYを分けて伝送す
ることができる。
これにより、従来例のように「空き」を生じさせるこ
となく倍精度データ用の転送手段を有効に使用するこ
と、及び単精度演算処理と倍精度演算処理とが並行演算
処理されることから単精度演算モードSの場合であって
も、該単程度データの演算処理を高速に実行することが
可能となる。
なお、本発明の第1の装置では、任意のデータフォー
マット、例えば、固定小数点方式のデータ同士の演算
を、浮動小数点方式の倍精度演算又は2組の単精度演算
に置き換えて行うことができる。
さらに、本発明の第2の装置によれば、記憶手段15及
び倍精度データ用の転送手段16が具備されている。
例えば、記憶手段15のビット幅φ=64ビットに対して
2分の1のビット幅b=32ビットの被演算データX,演算
データY及び演算結果データZが2個に分割されて、格
納され、かつ、2個に分割された被演算データSX1,SX
2,演算データSY1,SY2及び演算結果データSZ1,SZ2の
格納位置が対応付けられている。
このため、単精度演算モードSの場合には、記憶手段
15により、例えば、上位・下位ビットの被演算データS
X1,SX2及び演算データSY1,SY2の並行格納処理や倍精度
データ用の転送手段16により演算結果データSZ1,SZ2の
並列転送処理をすることが可能となる。
これにより、高速かつ、高性能のベクトルプロセッサ
等の演算処理装置を製造することが可能となる。
また、本発明の第1の方法によれば、第2図に示すよ
うに、少なくとも、ステップP2で単精度演算モードの場
合には、ステップP4単精度被演算データSX及び単精度演
算データSYの一部を倍精度被演算データWX及び倍精度演
算データWYにデータ変換処理し、次いでステップP5で倍
精度演算処理をし、併せて、ステップP6で単精度演算処
理をしている。
このため、従来例のように上位ビットの単精度被演算
データSXや単精度演算データSYに係る演算処理の終了を
持って下位ビットの単精度被演算データSXや単精度演算
データSYに係る演算を処理することなく、上位ビットの
被演算データX及び演算データYと下位ビットの被演算
データX及び演算データYとに基づいて同時に演算処理
に移行することができる。このことで、ステップP7にお
いて、単精度演算処理と倍精度演算処理とに基づいて演
算結果処理をすることが可能となる。
これにより、単精度演算モードSの場合であっても、
該単精度データの演算処理を高速に実行することが可能
となる。
また、本発明の第2の方法によれば、第4図に示すよ
うに、ステップP2で単精度演算モードSの場合には、予
め、ステップP4aで単精度被演算データSX又は単精度演
算データSYの並列格納処理をし、さらに、ステップP4b
で並列格納処理された単精度被演算データSX又は単精度
演算データSYに基づいて並列転送処理をしている。
このため、従来例のように、倍精度データ用のビット
線の下位ビットやベクトルレジスタのメモリ領域に「空
き」を生じさせることなく有効に使用すること、及び演
算処理を高速、かつ、効率良く実行することが可能とな
る。
これにより、高速かつ高性能のベクトルプロッセサ等
の演算処理装置を製造することが可能となる。
〔実施例〕
次に図を参照しながら本発明の実施例について説明を
する。
第5〜第14図は、本発明の実施例に係る演算処理装置
及び演算処理方法を説明する図である。
(i)第1の実施例の説明 第5図は、本発明の第1の実施例に係る演算処理装置
の構成図を示している。
図において、例えば、64ビット倍精度データや32ビッ
ト単精度データに基づいて加算処理する演算処理装置
は、第1のフォーマット変換回路21,単精度加算器22,倍
精度加算器23,第2のフォーマット変換回路24及び64ビ
ット線26A,26B等から成る。
すなわち、21は第1のデータ変換手段11の一実施例と
なる第1のフォーマット変換回路であり、単精度演算用
フォーマット変換回路21A,第1の倍精度演算用フォーマ
ット変換回路21B,第2の倍精度演算用のフォーマット変
換回路21C及び加算器入力セレクタ21Dから成る。
単精度演算用フォーマット変換回路21Aは、被演算デ
ータX及び演算データYが単精度演算モードSの場合
に、上位32ビットの単精度被演算データSX1,単精度演
算データSY1を単精度演算用のフォーマットに変換処理
して、例えば、上位ビットの被加数データSFX1及び加
数データSFY1を単精度加算器2に出力するものであ
る。
また、第1の倍精度演算用フォーマット変換回路21B
は、同様に単精度演算モードSの場合に、下位32ビット
の単精度被演算データSX2,単精度演算データSY2を倍
精度演算用のフォーマットに変換処理して、例えば、下
位ビットの被加数データSFX2及び加数データSFY2を入
力セレクタ21Dに出力するものである。
さらに、第2の倍精度演算用フォーマット変換回路21
Cは、被演算データX及び演算データYが倍精度演算モ
ードWの場合に、64ビットの倍精度被演算データWX,倍
精度演算データWYを倍精度演算用のフォーマットに変換
処理して、例えば、64ビットの被加数データWFX及び加
数データWFYを入力セレクタ21Dに出力するものであ
る。
なお、加算器入力セレクタ21Dは、単精度/倍精度演
算モードS,Wに基づいて下位ビットの被加数データWFX2
及び加数データWFY2又は64ビットの被加数データWFX
及び加数データWFYを倍精度加算器23に選択出力するも
のである。
22は単精度演算手段12の一実施例となる単精度加算器
であり、単精度演算モードSの場合に、単精度演算用の
フォーマットに変換処理された上位ビットの被加数デー
タSFX1及び加数データSFY1を加算処理して単精度演算
結果データSF0を出力するものである。
23は倍精度演算手段13の一実施例となる倍精度加算器
であり、単精度演算モードSの場合に、倍精度演算用の
フォーマットに変換処理された上位ビットの被加数デー
タSFX1及び加数データSFY1や倍精度演算モードWの場
合の倍精度演算用のフォーマットに変換処理された64ビ
ット被加数データWFX及び加数データWFYを加算処理し
て倍精度演算結果データWF0を出力するものである。な
お、両加算器22,23の内部回路や取り扱うデータ等につ
いては、第6,第7図において詳述する。
24は第2のデータ変換手段14の一実施例となる第2の
フォーマット変換回路であり、第1の単精度データ変換
回路24A,第2の単精度データ変換回路24B,倍精度データ
変換24C及びビット線出力セレクタ24Dから成る。
第1の単精度データ変換回路24Aは、単精度演算モー
ドSの場合に、単精度演算用のフォーマットに変換処理
されている上位32ビットの単精度演算結果データSF0を
データ変換処理して単精度結果データSOをビット線出力
セレクタ24Dに出力するものである。
また、第2の単精度データ変換回路24Bは、同様に単
精度演算モードSの場合に、倍精度演算用のフォーマッ
トに変換処理されている下位32ビットの倍精度演算結果
データWF0をデータ変換処理して単精度結果データSOを
出力するものである。
さらに、倍精度データ変換回路21Cは、倍精度演算モ
ードWの場合に、倍精度演算用のフォーマットに変換処
理されている64ビットの倍精度演算結果データWF0をデ
ータ変換処理して倍精度結果データWOをビット線出力セ
レクタ24Dに出力するものである。
なお、ビット線出力セレクタ24Dは、単精度/倍精度
演算モードS,Wに基づいて上位32ビットの単精度結果デ
ータSO,下位32ビットの単精度結果データSOや倍精度結
果データWOを結果データZとして選択出力するものであ
る。
また、26A,26Bは転送手段16の一実施例となる64ビッ
ト線であり、倍精度演算モードWの場合に、被演算デー
タX及び演算データYとして、64ビットの倍精度被演算
データWX及び倍精度演算データWYを伝送する。また、単
精度演算モードSの場合に、64ビット線26Aが被演算デ
ータXとして、上位32ビットに単精度被演算データSX1
及び下位32ビットに単精度被演算データSX2を電送し、
64ビット線26Bが演算データYとして上位32ビットに単
精度演算データSY1及び下位32ビットに単精度被演算デ
ータSY2を伝送するものである。
第6図は、本発明の各実施例に係る単精度/倍精度加
算器の構成図である。
図において、第1,第2の実施例に用いられる単精度加
算器22及び倍精度加算器23は、浮動少数点方式の加算処
理をする加算器の場合、符号部制御回路221,指数部比較
回路222,仮数部選択回路223,シフト回路224,ALU(演算
器)225及び数値丸め正規化回路226から成る。
符号部制御回路221は、第7図(a)に示すように単
精度/倍精度演算用のフォーマットに変換処理された単
精度データSDや倍精度データWDの符号部Sa,Sbの制御処
理をして第1の制御信号S1を出力するものである。ま
た、指数部比較回路222は、同様に、単精度データSDや
倍精度データWDの指数部Ea,Ebの比較処理をして第2〜
第4の制御信号S2〜S4を出力するものである。
仮数部選択回路223は、指数部比較回路222からの第4
の制御信号S4に基づいて単精度データSDや倍精度データ
WDの加数部Fa,被加数部Fbの選択処理をし、仮数部信号
SFa,被加数部信号SFbを出力するものである。シフト
回路224は、指数部比較回路222からの第3の制御信号S3
に基づいて被加数部信号SFbをシフトして被加数部シフ
ト信号SFCを出力するものである。ALU(演算器)225
は、加数部信号SFa及び被加数部シフト信号SFCを演算
処理して、その処理結果データS00を出力するものであ
る。
数値丸め正規化回路226は、符号部制御回路221からの
第1の制御信号S1と指数部比較回路222からの第3の制
御信号S3に基づいて、処理結果データS00の数値丸め正
規化処理をして単精度/倍精度演算用のフォーマットに
変換処理された単精度演算結果データSF0及び倍精度演
算結果データWF0を出力するものである。
第7図(a)〜(c)は、本発明の各実施例に係るデ
ータフォーマット図であり、同図(a)は、単精度デー
タや倍精度データのフォーマット図をそれぞれ示してい
る。
同図(a)において、SDは単精度データフォーマット
であり、単精度演算モードSの場合の被演算データX及
び演算データYを構成するものである。例えば、32ビッ
トの場合、IBM等の規格(IEE754−1985)によれば、符
号部Sが第0ビット,指数部Eが第1〜第8ビット,仮
数部Fが第9〜第31ビットに納められている。
また、WDは倍精度データフォーマットであり、倍精度
演算モードWの場合の被演算データX及び演算データY
を構成するものである。例えば、64ビットの場合、同規
格によれば、符号部Sが第0ビット,指数部Eが第1〜
第11ビット,仮数部Fが第12〜第63ビットに納められて
いる。
同図(b)は、単精度演算モードS時に、倍精度デー
タ用のビット線26aや26bに格納される単精度被演算デー
タSX1,SX2及び単精度演算データSY1,SY2のフォーマッ
ト図をそれぞれ示している。
例えば、加算処理をする場合には、64ビット線26Aの
上位0〜31ビットに単精度被演算データSX1となる被加
数が格納され、その下位32〜63ビットに単精度被演算
データSX2となる被加数が格納される。また、64ビッ
ト線26Bの上位0〜31ビットに単精度演算データSY1と
なる加数が格納され、その下位32〜63ビットに単精度
演算データSY2となる加数が格納される。
同図(c)は、単精度演算モードS時に、倍精度デー
タ用のビット線26Aや26Bに格納される単精度演算結果デ
ータSZ1,SZ2のフォーマット図をそれぞれ示している。
例えば、加算処理結果を伝送する場合には、64ビット
線26Cの上位0〜31ビットに単精度演算結果データSZ1
となる結果が格納され、その下位32〜63ビットに単精
度演算結果データSX2となる結果が格納される。
このようにして、本発明の実施例に係る第1の装置に
よれば、第5図に示すように第1のフォーマット変換回
路21,単精度加算器22,倍精度加算器23及び第2のフォー
マット変換回路24とが具備されている。
例えば、被演算データXと演算データYとが第1のフ
ォーマット変換回路21に入力されると、単精度被演算デ
ータSX,単精度演算データSY,倍精度被演算データWX,倍
精度演算データWYが出力される。この際に、倍精度演算
モードWの場合には、被演算データX及び演算データY
に基づいて第1のフォーマット変換回路21から倍精度加
算器23のみに倍精度被演算データWX及び倍精度演算デー
タWYが出力される。
また、単精度演算モードSの場合には、64ビット線26
Aを介して分割伝送されてくる上位0〜31ビットの単精
度被演算データSX1=被加数と64ビット線26Bを介し
て分割伝送されてくる上位0〜31ビットの単精度演算デ
ータSY1=加数とが第2のフォーマット変換回路24か
ら単精度加算器22に出力される。
かつ、64ビット線26Aを介して分割伝送されてくる下
位32〜63ビットに単精度被演算データSX2=被加数と
64ビット線26Bを介して分割伝送されてくる下位32〜63
ビットの単精度演算データSY1=加数とが第2のフォ
ーマット変換回路24からの倍精度加算器23に出力され
る。
このため、上位0〜31ビットの単精度被演算データS
X1=被加数と上位0〜31ビットの単精度演算データS
Y1=加数とが単精度加算器22に入力されると、該単精
度加算器22により単精度結果データSOが第2のフォーマ
ット変換回路24により出力される。これに併せて、下位
32〜63ビットの単精度被演算データSX2=被加数と下
位32〜63ビットの単精度演算データSY1=加数とが第
1のフォーマット変換回路22でフォーマット変換され、
そのフォーマット変換れた倍精度被演算データWFXと倍
精度演算データWFYとが倍精度加算器23に入力される。
これにより、倍精度加算器23より倍精度結果データWOが
第2のフォーマット変換回路24に出力される。このこと
で、64ビット線26Cの上位,下位ビットに単精度結果デ
ータSZ1やSZ2を分けて伝送することができる。
これにより、従来例のように「空き」を生じさせるこ
となく倍精度データ用の64ビット線26A〜26Cを有効に使
用すること、及び単精度演算処理と倍精度演算処理とが
並行演算処理されることから単精度演算モードSの場合
であっても、該単精度データの演算処理を高速に実行す
ることが可能となる。
次に、本発明の第1の実施例に係る演算処理方法につ
いて当該第1の装置の動作を補足しながら説明をする。
第8図は、本発明の第1の実施例に係る加算処理方法
のフローチャートであり、第9,第10図は、その単精度/
倍精度演算モード時の補足説明図である。
第8図において、例えば、64ビット倍精度データや32
ビット単精度データに基づいて加算処理する方法は、ま
ず、ステップP1で単精度/倍精度演算モードに基づい
て、被演算データX及び演算データYの入力処理をす
る。この際に、単精度演算モードSの場合には、単精度
データフォーマットSDに基づいて浮動少数点方式の被演
算データX及び演算データYが64ビット線26A,26Bによ
り伝送されてくる。また、倍精度演算モードWの場合に
は、倍精度データフォーマットWDに基づいて浮動少数点
方式の被演算データX及び演算データYが64ビット線26
A,26Bにより伝送されてくる。
次に、ステップP2で倍精度演算モードの場合には、ス
テップP3で倍精度被演算データWX及び倍精度演算データ
WYに基づいて倍精度加算処理をする。この際の処理は、
第5図,第9図(a),(b)に示すように、第1のフ
ォーマット変換回路21により倍精度演算用のフォーマッ
トに変換処理された64ビットの被加数データWFX及び加
数データWFYが倍精度加算器23により加算処理されて、
その倍精度演算結果データWF0が出力される。
次いで、ステップP2で単精度演算モードの場合には、
ステップP4で下位32〜63ビットの単精度被演算データS
X2=被加数と下位32〜63ビットの単精度演算データS
Y2=加数とを倍精度被演算データWFX2及び倍精度演
算データWFY2に変換処理する。この際の変換処理は、
第5図,第10図(a),(b)に示すように、まず、第
1のフォーマット変換回路22により、両データSX2,SY1
がフォーマット変換される。なお、第10図(a)では、
単精度被演算データWFX2についてのみを記載してい
る。そのフォーマット変換れた倍精度被演算データWFX
2と倍精度演算データWFY2とが倍精度加算器23に入力さ
れる。
さらに、ステップP5で変換処理された倍精度被演算デ
ータWFX2及び倍精度演算データWFY2に基づいて倍精度
加算処理をする。この際の処理は、同様に、第1のフォ
ーマット変換回路21により倍精度演算用のフォーマット
に変換処理された64ビットの被加数データWFX2及び加
数データWFY2が倍精度加算器23により加算処理され
て、その倍精度演算結果データWF0が出力される(第5
図,第10図(a),(b)参照)。
併せて、ステップP6で変換処理されなかった上位0〜
31ビットの単精度被演算データSX1=被加数と上位0
〜31ビットの単精度演算データSY1=加数とに基づい
て単精度加算処理をする。この際の処理は、同様に、第
1のフォーマット変換回路21により単精度演算用のフォ
ーマットに変換処理された32ビットの被加数データSFX
及び加数データSFYが単精度加算器22により加算処理さ
れて、その単精度演算結果データSF0が出力される(第
5図,第10図(a),(b)参照)。
その後、ステップP7で演算結果処理をする。この際の
処理は、第2のフォーマット変換回路24の第1の単精度
データ変換回路24A,第2の単精度データ変換回路24B,倍
精度データ変換24C及びビット線出力セレクタ24Dによ
り、単精度演算モードSの場合には、単精度演算用のフ
ォーマットに変換処理されている上位・下位32ビット×
2の単精度演算結果データSF0がデータ変換処理され
て、その単精度結果データSOが64ビット線26Cに出力さ
れる。また、倍精度演算モードWの場合には、倍精度演
算用のフォーマットに変換処理されている64ビットの倍
精度演算結果データWF0がデータ変換処理され、その倍
精度結果データWOが64ビット線26Aに出力される(第5
図,第9図(c),第10図(c)参照)。
これにより、64ビット倍精度データや32ビット単精度
データに基づいて加算処理することができる。
このようにして、本発明の第1の実施例に係る加算処
理方法によれば、第8図に示すように、少なくとも、ス
テップP2で単精度演算モードの場合には、ステップP4で
下位32〜63ビットの単精度被演算データSX2=被加数
と下位32〜63ビットの単精度演算データSY2=加数と
を倍精度被演算データWFX2及び倍精度演算データWFY2
に変換処理し、次いでステップP5で倍精度加算処理を
し、併せて、ステップP6で単精度加算処理をしている。
このため、従来例のように上位0〜31ビットの単精度
被演算データSXや単精度演算データSYに係る演算処理の
終了を待って下位32〜63ビットの単精度被演算データSX
や単精度演算データSYに係る加算処理をすることなく、
上位0〜31ビットの単精度被演算データSX1=被加算
と上位0〜31ビットの単精度演算データSY1=加数と
による単精度加算処理と、下位32〜63ビットの単精度被
演算データSX2=被加数及び下位32〜63ビットの単精
度演算データSY2=加数を倍精度被演算データWFX2
及び倍精度演算データWFY2にそれぞれ変換処理したデ
ータによる倍精度加算処理とを同時に実行することが可
能となる。このことで、ステップP7において、単精度演
算処理と倍精度演算処理とに基づいて同時に演算結果処
理をすることが可能となる。
これにより、単精度演算モードSの場合であっても、
該単精度データの演算処理を高速に実行することが可能
となる。
(ii)第2の実施例の説明 第11図は、本発明の第2の実施例に係る演算処理装置
の構成図である。
図において、第1の実施例と異なるのは、第2の実施
例では第1の実施例に係る演算処理装置にベクトルレジ
スタ25が付加され、ベクトルプロッセサを構成するもの
である。
すなわち、25は記憶手段15の一実施例となるベクトル
レジスタであり、被演算データX,演算データYを連続し
て格納し、それを順番に読み出して先の第1の実施例に
係る演算処理装置の第1のフォーマット変換回路21に出
力するものである。また、その演算結果データZを格納
するものである。また、ベクトルレジスタ25と第1の実
施例に係る演算処理装置とは、先に説明した倍精度デー
タ用の64ビット線26A〜26Cにより接続されている。
ベクトルレジスタ25は、例えば、ビット幅φ=64の場
合、メモリ領域VR0に被演算データX=要素数16〔A0〜
A9,AA〜AF〕が格納され、メモリ領域VR1に演算データ
Y=要素数16〔B0〜B9,BA〜BF〕が格納され、メモリ領
域VR2に演算結果データZ=要素数16〔C0〜C9,CA〜C
F〕が格納される。
第12図(a)〜(c)は、本発明の第2の実施例に係
るベクトルレジスタの説明図であり、各図は、被演算デ
ータX,演算データYの要素を示すデータフォーマット図
を示している。
同図(a)において、WD1は浮動少数点倍精度データ
であり、ベクトルレジスタ25のビット幅φ=64ビットに
対して0〜36ビットに格納されるものである。なお、該
データはメモリ領域VR0〜VR2の一要素になり、倍精度
演算モードW時のデータとなる。
同図(b)は、単精度演算モードS時のデータを示し
ている。同図において、SD1は浮動少数点単精度データ
であり、ベクトルレジスタ25のビット幅φ=64ビットに
対して2分の1のビット幅b=32ビットの被演算データ
X,演算データY及び演算結果データZが2個に分割され
て格納され、かつ、2個に分割された被演算データSX
1,演算データSY1,SY2及び演算結果データSZ1,SZ2の
格納位置が対応付けられる。すなわち、メモリ領域VR0
〜VR2の一要素0〜63ビットに2分割されて格納される
ものである。例えば、上位0〜31ビットに32(0〜31)
ビットの浮動少数点単精度データ1が格納され、下位32
〜63ビットに32(0〜31)ビットの浮動少数点単精度デ
ータ2が格納されるものである。
同図(c)は、同様に単精度演算モードS時の整数デ
ータを示している。同図において、整数データSD2は、
ベクトルレジスタ25のメモリ領域VR0〜VR2の一要素0
〜63ビットの分割されて格納されるものである。例え
ば、上位0〜31ビットに32(0〜31)ビットの整数デー
タ1が格納され、下位32〜63ビットに32(0〜31)ビッ
トの整数データ2が格納されるものである。
これにより、要素が異なる32ビットデータを64ビット
データ格納領域に分割して格納されることから、2種類
のデータを並行読出処理することができる。
このようにして、本発明の第2の実施例に係る装置に
よれば、第11に示すように第1の実施例に係る演算処理
装置において、ベクトルレジスタ25及び倍精度データ用
の64ビット線26A〜26Cが具備されている。
このため、単精度演算モードSと場合には、ベクトル
レジスタ25により、メモリ領域VR0〜VR2の一要素0〜
63ビットに分割されて格納される32(0〜31)ビットの
浮動少数点単精度データ1,浮動少数点単精度データ2,整
数データ1及び整数データ2に基づく単精度被演算デー
タSX及び単精度演算データSYの並行格納処理や倍精度デ
ータ用の64ビット線26A〜26Cにより該データSX及びSYの
並列転送処理をすることが可能となる。
これにより、高速かつ、高性能のベクトルプロッセサ
等の演算処理装置を製造することが可能となる。
次に、本発明の第2の実施例に係る演算処理方法につ
いて当該第2の装置の動作を補足しながら説明をする。
第13図は、本発明の第2の実施例に係る乗算処理方法
のフローチャートであり、第14図は、その乗算処理方法
の補足説明図である。
第13図において、例えば、32ビット単精度被演算デー
タSX1,SX2及び32ビット単精度演算データSY1,SY2に基
づいてパイプライン(乗算)処理する場合は、まず、ス
テップP1で単精度/倍精度演算モードに基づいて、32ビ
ット単精度被演算データSX1,SX2及び32ビット単精度演
算データSY1,SY2の入力処理をする。なお、第2の実施
例に係る倍精度演算モードW時の動作については、倍精
度乗算パイプライン処理をするものであり、基本的な動
作は第1の実施例と同様であるため説明を省略する。
従って、ステップP4aで並列格納処理されている32ビ
ット単精度被演算データSX1,SX2及び32ビット単精度演
算データSY1,SY2の並列読出し処理をする。この際に、
ベクトルレジスタ25のメモリ領域VR1,VR2に格納処理さ
れている32ビット単精度被演算データSX1,SX2及び32ビ
ット単精度演算データSY1,SY2が並列読出し処理され
る。
さらに、ステップP4bで並列読出し処理された32ビッ
ト単精度被演算データSX1,SX2及び32ビット単精度演算
データSY1,SY2の並列転送処理をする。この際に、第12
図の浮動少数点単精度データSD1のような32ビット単精
度被演算データSX1,SX2及び32ビット単精度演算データ
SY1,SY2が64ビット線26A,26Bにより伝送され、その
後、入力ラッチ処理される。
次に、ステップP4で上位0〜31ビットの単精度被演算
データSX1と上位0〜31ビットの単精度演算データSY1
とを倍精度被演算データWFX1及び倍精度演算データWF
Y1に変換処理する。この際の変換処理は、第5図,第10
図(a),(b)に示すように、両データSX1,SY1がフ
ォーマット変換される。そのフォーマット変換れた倍精
度被演算データWFX1と倍精度演算データWFY1とが倍精
度加算器23に入力される。
さらに、ステップP5で変換処理された倍精度被演算デ
ータWFX1及び倍精度演算データWFY1に基づいて倍精度
乗算パイプライン処理をする。この際の処理は、同様
に、第1のフォーマット変換回路21により倍精度演算用
のフォーマットに変換処理された64ビットの被加数デー
タWFX1及び加数データWFY1が倍精度加算器23により演
算処理されて、その倍精度演算結果データWF0が出力さ
れる(第5図,第10図(a),(b)参照)。
併せて、ステップP6で変換処理されなかった下位32〜
63ビットの単精度被演算データSX2と下位32〜63ビット
の単精度演算データSY2とに基づいて単精度乗算パイプ
ライン処理する。この際の処理は、同様に、第1のフォ
ーマット変換回路21により単精度演算用のフォーマット
に変換処理された32ビットの被加数データSFX及び加数
データSFYが単精度加算器22により演算処理されて、そ
の単精度演算結果データSF0が出力される(第5図,第
10図(a),(b)参照)。
その後、ステップP7で出力ラッチ処理をする。この際
の処理は、第2のフォーマット変換回路24の第1の単精
度データ変換回路24a,第2の単精度データ変換回路24B,
倍精度データ変換24C及びビット線出力セレクタ24Dによ
り、単精度演算用のフォーマットに変換処理されている
上位・下位32ビット×2の単精度演算結果データSF0が
データ変換処理されて、その単精度結果データSZ1,SZ2
がベクトルレジスタ25のメモリ領域VR2に転送格納され
る。
これにより、32ビット単精度データに基づいて単精度
/倍精度乗算パイプライン並行処理をすることができ
る。
このようにして、本発明の第2の実施例に係る演算処
理方法によれば第13図に示すように、予め、ステップP4
aで並列格納処理されている32ビット単精度被演算デー
タSX1,SX2及び32ビット単精度演算データSY1,SY2の並
列読出し処理をし、さらに、ステップP4bで並列読出し
処理された32ビット単精度被演算データSX1,SX2及び32
ビット単精度演算データSY1,SY2の並列転送処理をして
いる。
このため、従来例のように、倍精度データ用のビット
線の下位ビットやベクトルレジスタのメモリ領域に「空
き」を生じさせることなく有効に使用すること、及び演
算処理を高速、かつ、効率良く実行することが可能とな
る。
これにより、高速かつ高性能のベクトルプロッセサ等
の演算処理装置を製造することが可能となる。
なお、本発明の実施例では加算及び乗算処理について
述べたが、減算及び除算処理についても、減算を累算処
理するだけであるため同様な効果が得られる。
〔発明の効果〕
以上説明したように、本発明の各装置によれば、第1
のデータ変換手段,単精度演算手段,倍精度演算手段及
び第2のデータ変換手段とが具備されている。
このため、単精度演算モード時に、単精度被演算デー
タと単精度演算データに基づいて単精度演算手段による
単精度演算処理と、これに併せて、フォーマット変換さ
れた倍精度被演算データと倍精度演算データとに基づい
て倍精度演算手段による倍精度演算処理とを並行して実
行することが可能となる。
また、本発明の各方法によれば、倍精度演算処理に併
せて、単精度演算処理をしている。
このため、従来例のように上位ビットの単精度被演算
データや単精度演算データに係る演算処理の終了を持っ
て下位ビットの単精度被演算データや単精度演算データ
に係る演算処理をすることなく、単精度演算モード場合
であっても、該単精度データの演算処理を高速に実行す
ることが可能となる。
これにより、従来例のように、倍精度データ用のビッ
ト線の下位ビットやベクトルレジスタのメモリ領域に
「空き」を生じさせることなく有効に使用すること、及
び演算処理を高速、かつ、効率良く実行することが可能
となる。このことで、高性能のベクトルプロッセサ等の
演算処理装置の製造に寄与するところが大きい。
【図面の簡単な説明】
第1図は、本発明に係る第1の演算処理装置の原理図、 第2図は、本発明に係る第1の演算処理方法の原理図、 第3図は、本発明に係る第2の演算処理装置の原理図、 第4図は、本発明に係る第2の演算処理方法の原理図、 第5図は、本発明の第1の実施例に係る演算処理装置の
構成図、 第6図は、本発明の各実施例に係る単精度/倍精度加算
器の構成図、 第7図は、本発明の各実施例に係るデータフォーマット
図、 第8図は、本発明の第1の実施例に係る加算処理方法の
フローチャート、 第9図は、本発明の第1の実施例に係る倍精度データの
演算処理方法の補足説明図、 第10図は、本発明の第1の実施例に係る単精度データの
演算処理方法の補足説明図、 第11図は、本発明の第2の実施例に係る演算処理装置の
構成図、 第12図は、本発明の第2の実施例に係るベクトルレジス
タの説明図、 第13図は、本発明の第2の実施例に係る乗算処理方法の
フローチャート、 第14図は、本発明の第2の実施例に係る乗算処理方法の
補足説明図、 第15図は、従来例に係る64/32ビット併用演算処理装置
の構成図、 第16図は、従来例に係る問題点を説明する図である。 (符号の説明) 11……第1のデータ変換手段、 12……単精度演算手段、 13……倍精度演算手段、 14……第2のデータ変換手段、 15……記憶手段、 16……倍精度用の転送手段、 X……被演算データ、 Y……演算データ、 Z……演算結果データ、 SX……単精度被演算データ、 SY……単精度演算データ、 WX……倍精度被演算データ、 WY……倍精度演算データ、 SO……単精度結果データ、 WO……倍精度結果データ、 φ……記憶手段のビット幅、 b……被演算データ,演算データ及び演算結果データの
ビット幅、 X1,X2……Xn,…n個に分割された被演算データ、 Y1,Y2……Yn,…n個に分割された演算データ、 Z1,Z2……Zn,…n個に分割された演算結果データ。

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】出力のデータ幅が入力のデータ幅と等しく
    なる浮動小数点方式のデータ同士を演算する装置であっ
    て、 前記浮動小数点方式のNビットの倍精度のデータ又は前
    記浮動小数点方式のN/2ビットの2組の単精度のデータ
    が転送可能な倍精度用のデータバスと、 前記N/2ビットの単精度のデータ同士の演算を行って前
    記浮動小数点方式のN/2ビットの単精度の演算結果デー
    タを出力する第1の演算器と、 前記Nビットの倍精度のデータ同士の演算を行って前記
    浮動小数点方式のNビットの倍精度の演算結果データを
    出力する第2の演算器と、 前記倍精度の演算を行うときは、前記データバスからN
    ビットの倍精度のデータを受けて前記第2の演算器に供
    給し、 前記単精度の演算を行うときは、前記データバスからN/
    2ビットの単精度のデータの1組を入力して第1の演算
    器に供給し、かつ、前記データバスからN/2ビットの単
    精度のデータの他の1組を入力して倍精度のデータに変
    換した後、前記倍精度のデータを前記第2の演算器に供
    給する第1のデータ変換器と、 前記単精度の演算の他の1組を行う前記第2の演算器が
    Nビットの倍精度の演算結果データを出力するとき、該
    演算結果データをN/2ビットの単精度の演算結果データ
    に変換して出力する第2のデータ変換器とを備えている
    ことを特徴とする演算処理装置。
  2. 【請求項2】出力のデータ幅が入力のデータ幅と等しく
    なる浮動小数点方式のデータ同士を演算する方法であっ
    て、Nビットの倍精度の被演算データ及び演算データ又
    はN/2ビットの2組の単精度の被演算データ及び演算デ
    ータが転送可能な倍精度用のデータバスを用いて倍精度
    演算又は2組の単精度演算を行う方法において、 前記倍精度演算を行う時は、前記データバスに倍精度の
    被演算データ及び演算データを供給し、 前記データバスから倍精度の被演算データ及び演算デー
    タを入力して倍精度演算を行い浮動小数点方式のNビッ
    トの倍精度の演算結果データを求め、 前記単精度演算を行う時は、前記データバスに2組の単
    精度の被演算データ及び演算データを供給し、 前記データバスから1組の単精度の被演算データ及び演
    算データを入力してNビットの倍精度の被演算データ及
    び演算データに変換し、 前記データバスから他の1組の単精度の被演算データ及
    び演算データを入力して単精度演算を行い浮動小数点方
    式のN/2ビットの単精度の演算結果データを求め、 前記単精度演算に並行して、前記変換されたNビットの
    倍精度の被演算データ及び演算データを入力して倍精度
    演算を行い浮動小数点方式のNビットの倍精度の演算結
    果データを求め、 前記Nビットの倍精度の演算結果データをN/2ビットの
    単精度の演算結果データに変換して出力することを特徴
    とする演算処理方法。
  3. 【請求項3】前記単精度演算時に、N/2ビットの2組の
    単精度の被演算データ及びN/2ビットの2組の単精度の
    演算データをメモリ領域に並列に格納し、前記メモリ領
    域に格納された2組の被演算データ及び2組の演算デー
    タをNビットの倍精度用のデータバスに並列に転送する
    ことを特徴とする請求項2に記載の演算処理方法。
JP2198547A 1990-07-26 1990-07-26 演算処理装置及び演算処理方法 Expired - Fee Related JP2651267B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2198547A JP2651267B2 (ja) 1990-07-26 1990-07-26 演算処理装置及び演算処理方法
EP91306881A EP0468820B1 (en) 1990-07-26 1991-07-26 Data processing system for single-precision and double-precision data
DE69131267T DE69131267T2 (de) 1990-07-26 1991-07-26 Datenverarbeitungssystem für Daten mit einfacher Präzision und mit doppelter Präzision
KR1019910012891A KR950004248B1 (ko) 1990-07-26 1991-07-26 1배정밀 및 2배정밀 데이타의 데이타 처리 시스템
US08/337,411 US5515520A (en) 1990-07-26 1994-11-07 Data processing system for single-precision and double-precision data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2198547A JP2651267B2 (ja) 1990-07-26 1990-07-26 演算処理装置及び演算処理方法

Publications (2)

Publication Number Publication Date
JPH0484219A JPH0484219A (ja) 1992-03-17
JP2651267B2 true JP2651267B2 (ja) 1997-09-10

Family

ID=16392984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2198547A Expired - Fee Related JP2651267B2 (ja) 1990-07-26 1990-07-26 演算処理装置及び演算処理方法

Country Status (5)

Country Link
US (1) US5515520A (ja)
EP (1) EP0468820B1 (ja)
JP (1) JP2651267B2 (ja)
KR (1) KR950004248B1 (ja)
DE (1) DE69131267T2 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5631859A (en) * 1994-10-27 1997-05-20 Hewlett-Packard Company Floating point arithmetic unit having logic for quad precision arithmetic
US6643677B2 (en) * 1995-06-05 2003-11-04 Kabushiki Kaisha Toshiba Digital arithmetic integrated circuit
US6643765B1 (en) 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US7301541B2 (en) 1995-08-16 2007-11-27 Microunity Systems Engineering, Inc. Programmable processor and method with wide operations
US5742840A (en) 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
US6295599B1 (en) * 1995-08-16 2001-09-25 Microunity Systems Engineering System and method for providing a wide operand architecture
US5953241A (en) * 1995-08-16 1999-09-14 Microunity Engeering Systems, Inc. Multiplier array processing system with enhanced utilization at lower precision for group multiply and sum instruction
US7483935B2 (en) * 1995-08-16 2009-01-27 Microunity Systems Engineering, Inc. System and method to implement a matrix multiply unit of a broadband processor
US6385634B1 (en) 1995-08-31 2002-05-07 Intel Corporation Method for performing multiply-add operations on packed data
US7395298B2 (en) * 1995-08-31 2008-07-01 Intel Corporation Method and apparatus for performing multiply-add operations on packed data
US5778247A (en) * 1996-03-06 1998-07-07 Sun Microsystems, Inc. Multi-pipeline microprocessor with data precision mode indicator
US5752271A (en) * 1996-04-29 1998-05-12 Sun Microsystems, Inc. Method and apparatus for using double precision addressable registers for single precision data
US6058465A (en) * 1996-08-19 2000-05-02 Nguyen; Le Trong Single-instruction-multiple-data processing in a multimedia signal processor
US6230253B1 (en) * 1998-03-31 2001-05-08 Intel Corporation Executing partial-width packed data instructions
US6230257B1 (en) * 1998-03-31 2001-05-08 Intel Corporation Method and apparatus for staggering execution of a single packed data instruction using the same circuit
US6463525B1 (en) * 1999-08-16 2002-10-08 Sun Microsystems, Inc. Merging single precision floating point operands
US6701424B1 (en) * 2000-04-07 2004-03-02 Nintendo Co., Ltd. Method and apparatus for efficient loading and storing of vectors
FR2818145B1 (fr) * 2000-12-18 2003-11-28 Oreal Compositions cosmetiques antisolaires a base d'un melange synergetique de filtres et utilisations
WO2003021423A2 (en) * 2001-09-04 2003-03-13 Microunity Systems Engineering, Inc. System and method for performing multiplication
US7430578B2 (en) * 2001-10-29 2008-09-30 Intel Corporation Method and apparatus for performing multiply-add operations on packed byte data
US7340590B1 (en) * 2003-12-11 2008-03-04 Sun Microsystems, Inc. Handling register dependencies between instructions specifying different width registers
US7730117B2 (en) * 2005-02-09 2010-06-01 International Business Machines Corporation System and method for a floating point unit with feedback prior to normalization and rounding
US8412760B2 (en) 2008-07-22 2013-04-02 International Business Machines Corporation Dynamic range adjusting floating point execution unit
JP2012113508A (ja) * 2010-11-24 2012-06-14 Nec Fielding Ltd 浮動小数点演算回路、浮動小数点演算回路を備えたコンピュータ及びその演算制御方法と演算制御プログラム
US9411585B2 (en) * 2011-09-16 2016-08-09 International Business Machines Corporation Multi-addressable register files and format conversions associated therewith
US9727336B2 (en) 2011-09-16 2017-08-08 International Business Machines Corporation Fine-grained instruction enablement at sub-function granularity based on an indicated subrange of registers
US10007487B1 (en) * 2016-06-30 2018-06-26 Altera Corporation Double-precision floating-point operation
US10042607B2 (en) 2016-08-22 2018-08-07 Altera Corporation Variable precision floating-point multiplier
US10489877B2 (en) * 2017-04-24 2019-11-26 Intel Corporation Compute optimization mechanism
US10698685B2 (en) * 2017-05-03 2020-06-30 Intel Corporation Instructions for dual destination type conversion, mixed precision accumulation, and mixed precision atomic memory operations
JP6829838B2 (ja) * 2017-05-12 2021-02-17 株式会社Preferred Networks 演算装置及び演算システム
US10970078B2 (en) 2018-04-05 2021-04-06 Apple Inc. Computation engine with upsize/interleave and downsize/deinterleave options
US10831488B1 (en) 2018-08-20 2020-11-10 Apple Inc. Computation engine with extract instructions to minimize memory access
US10871946B2 (en) 2018-09-27 2020-12-22 Intel Corporation Methods for using a multiplier to support multiple sub-multiplication operations
US10732932B2 (en) 2018-12-21 2020-08-04 Intel Corporation Methods for using a multiplier circuit to support multiple sub-multiplications using bit correction and extension

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61224037A (ja) * 1985-03-29 1986-10-04 Fujitsu Ltd 多ビツト入力演算素子を用いた演算方式
JPH01162926A (ja) * 1987-12-18 1989-06-27 Fujitsu Ltd データ長可変演算装置
JPH03282926A (ja) * 1990-03-30 1991-12-13 Toshiba Corp 浮動小数点数演算装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4366548A (en) * 1981-01-02 1982-12-28 Sperry Corporation Adder for exponent arithmetic
US4612628A (en) * 1983-02-14 1986-09-16 Data General Corp. Floating-point unit constructed of identical modules
JPS59180732A (ja) * 1983-03-31 1984-10-13 Toshiba Corp デ−タ処理装置
JPS6097435A (ja) * 1983-11-02 1985-05-31 Hitachi Ltd 演算処理装置
JPS6194144A (ja) * 1984-10-13 1986-05-13 Nec Corp 浮動小数点加算回路
US5341506A (en) * 1984-12-10 1994-08-23 Nec Corporation Data flow processor with a full-to-half word convertor
JPS62229440A (ja) * 1986-03-31 1987-10-08 Toshiba Corp 配列乗算器
US4901268A (en) * 1988-08-19 1990-02-13 General Electric Company Multiple function data processor
US4949291A (en) * 1988-12-22 1990-08-14 Intel Corporation Apparatus and method for converting floating point data formats in a microprocessor
US5187795A (en) * 1989-01-27 1993-02-16 Hughes Aircraft Company Pipelined signal processor having a plurality of bidirectional configurable parallel ports that are configurable as individual ports or as coupled pair of ports
US4953119A (en) * 1989-01-27 1990-08-28 Hughes Aircraft Company Multiplier circuit with selectively interconnected pipelined multipliers for selectively multiplication of fixed and floating point numbers
US5268855A (en) * 1992-09-14 1993-12-07 Hewlett-Packard Company Common format for encoding both single and double precision floating point numbers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61224037A (ja) * 1985-03-29 1986-10-04 Fujitsu Ltd 多ビツト入力演算素子を用いた演算方式
JPH01162926A (ja) * 1987-12-18 1989-06-27 Fujitsu Ltd データ長可変演算装置
JPH03282926A (ja) * 1990-03-30 1991-12-13 Toshiba Corp 浮動小数点数演算装置

Also Published As

Publication number Publication date
US5515520A (en) 1996-05-07
JPH0484219A (ja) 1992-03-17
EP0468820A3 (en) 1993-01-07
EP0468820B1 (en) 1999-05-26
DE69131267D1 (de) 1999-07-01
DE69131267T2 (de) 1999-09-23
EP0468820A2 (en) 1992-01-29
KR950004248B1 (ko) 1995-04-27

Similar Documents

Publication Publication Date Title
JP2651267B2 (ja) 演算処理装置及び演算処理方法
KR102447636B1 (ko) 부동 소수점 수를 누산하기 위한 산술 연산을 수행하는 장치 및 방법
JP2662196B2 (ja) 演算結果正規化方法及び装置
JP3790307B2 (ja) データプロセッサ及びデータ処理システム
US5631859A (en) Floating point arithmetic unit having logic for quad precision arithmetic
US6049865A (en) Method and apparatus for implementing floating point projection instructions
JPH04127364A (ja) 積和算器
KR100203468B1 (ko) 부동소수점수를 위한 산술연산장치
JPH038018A (ja) 符号付き絶対値加減算器
JP3313560B2 (ja) 浮動小数点演算処理装置
US5247471A (en) Radix aligner for floating point addition and subtraction
EP0297588A2 (en) Trigonometric function arithmetic processor using pseudo-division
JP2511527B2 (ja) 浮動小数点演算器
US4118786A (en) Integrated binary-BCD look-ahead adder
JPH11296346A (ja) 浮動小数点2進4倍長語フォ―マット乗算命令装置
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
JP2002318792A (ja) データ演算処理装置及びデータ演算処理プログラム
JPS5932038A (ja) 浮動小数点加算器
JP3522167B2 (ja) 演算処理回路及び演算処理方法
JP2002304288A (ja) データ演算処理装置及びデータ演算処理プログラム
JPWO2002029546A1 (ja) 演算器及びそれを用いた電子回路装置
JPH06301710A (ja) 倍精度積和演算方法および装置
JP3014385B1 (ja) S/390プロセッサにおける2進4倍長語フォ―マット乗算命令の分割
JPH03131966A (ja) 情報処理装置
Pinkiewicz et al. Design of a composite arithmetic unit for rational numbers

Legal Events

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