図面 (/)

技術 幾何学演算装置

出願人 株式会社ルネサステクノロジ
発明者 森中浩之河合浩行井上喜嗣小原淳子
出願日 2003年7月18日 (17年5ヶ月経過) 出願番号 2003-276605
公開日 2005年2月10日 (15年10ヶ月経過) 公開番号 2005-038319
状態 拒絶査定
技術分野 演算装置一般
主要キーワード 演算用メモリ 浮動小数点演算器 演算ステージ グローバルバス 浮動小数点演算ユニット 整数演算ユニット 入力メモリ データ読込み
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2005年2月10日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (13)

課題

中間データの転送時間を短くでき、幾何演算高速に行なうことが可能な幾何学演算装置を提供すること。

解決手段

整数演算用メモリ11、浮動小数点演算用メモリ12および13は、入力メモリ10から幾何学演算に必要なデータが転送される。整数演算ユニット15は、浮動小数点演算ユニット16および17と独立して動作し、整数演算用メモリ11に転送されたデータに対して整数演算を行なう。整数演算用ワークメモリ21は、整数演算ユニット15から直接アクセスできず、整数演算用メモリ11に記憶された整数演算ユニット15の中間データを保持する。したがって、データ転送時間が長い外部メモリに対する中間データの読込み/書込みを行なう必要がなくなり、幾何学演算を高速に行うことが可能となる。

概要

背景

近年、3次元グラフィックス高速に処理するための幾何学演算装置の開発が盛んに行なわれている。この幾何演算処理に関連する技術として、特開平9−265543号公報および特開2001−75779号公報に開示された発明がある。

特開平9−265543号公報に開示された幾何学演算装置は、グラフィックス座標変換輝度計算クリップ処理などの幾何学演算に必要なデータを記憶する入力メモリと、入力メモリを接続するグローバルバスと、グローバルバスに接続され、幾何学演算に必要なデータが転送される複数の浮動小数点演算用メモリと、入力メモリに記憶された幾何学演算に必要なデータを複数の浮動小数点演算用メモリに転送するシーケンサと、複数の浮動小数点演算用メモリと一対一に接続され、各浮動小数点演算用メモリに転送されたデータを用いて幾何学演算をそれぞれ独立に実行する複数の浮動小数点演算ユニットとを備える。

また、特開2001−75779号公報に開示された演算装置においては、浮動小数点演算器の演算結果を整数演算器の最終演算ステージに設けられたマルチプレクサに供給し、整数演算器に対するインストラクションによりマルチプレクサを切換えて、浮動小数点演算器の演算結果を汎用レジスタに保持して、整数演算を可能としたものである。
特開平9−265543号公報
特開2001−75779号公報

概要

中間データの転送時間を短くでき、幾何学演算を高速に行なうことが可能な幾何学演算装置を提供すること。整数演算用メモリ11、浮動小数点演算用メモリ12および13は、入力メモリ10から幾何学演算に必要なデータが転送される。整数演算ユニット15は、浮動小数点演算ユニット16および17と独立して動作し、整数演算用メモリ11に転送されたデータに対して整数演算を行なう。整数演算用ワークメモリ21は、整数演算ユニット15から直接アクセスできず、整数演算用メモリ11に記憶された整数演算ユニット15の中間データを保持する。したがって、データ転送時間が長い外部メモリに対する中間データの読込み/書込みを行なう必要がなくなり、幾何学演算を高速に行うことが可能となる。

目的

本発明は、上記問題点を解決するためになされたものであり、その目的は、中間データの転送時間を短くでき、幾何学演算を高速に行なうことが可能な幾何学演算装置を提供することである。

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

幾何演算に必要なデータを記憶する入力メモリと、前記入メモリから整数演算に必要なデータが転送される整数演算用メモリと、前記入力メモリから浮動小数点演算に必要なデータが転送される浮動小数点演算用メモリと、前記整数演算用メモリに転送されたデータに対して整数演算を行なう整数演算ユニットと、前記整数演算ユニットと独立して動作し、前記浮動小数点演算用メモリに転送されたデータに対して浮動小数点演算を行なう浮動小数点演算ユニットと、前記整数演算ユニットおよび前記浮動小数点演算ユニットによる演算結果が転送される出力メモリと、前記整数演算ユニットから直接アクセスできず、前記整数演算用メモリに記憶された前記整数演算ユニットの中間データを保持する整数演算用ワークメモリとを含む幾何学演算装置

請求項2

前記幾何学演算装置はさらに、前記浮動小数点演算ユニットから直接アクセスできず、前記浮動小数点演算用メモリに記憶された前記浮動小数点演算ユニットの中間データを保持する浮動小数点演算用ワークメモリを含む、請求項1記載の幾何学演算装置。

請求項3

前記整数演算用ワークメモリと前記浮動小数点演算用ワークメモリとは、共有メモリによって構成される、請求項2記載の幾何学演算装置。

請求項4

幾何学演算に必要なデータを記憶する入力メモリと、前記入力メモリから整数演算に必要なデータが転送される整数演算用メモリと、前記入力メモリから浮動小数点演算に必要なデータが転送される第1の浮動小数点演算用メモリと、前記整数演算用メモリに転送されたデータに対して整数演算を行なう整数演算ユニットと、前記整数演算ユニットと独立して動作し、前記第1の浮動小数点演算用メモリに転送されたデータに対して浮動小数点演算を行なう第1の浮動小数点演算ユニットと、前記整数演算ユニットおよび前記第1の浮動小数点演算ユニットによる演算結果が転送される出力メモリと、前記第1の浮動小数点演算ユニットから直接アクセスできず、前記第1の浮動小数点演算用メモリに記憶された前記第1の浮動小数点演算ユニットの中間データを保持する第1の浮動小数点演算用ワークメモリを含む幾何学演算装置。

請求項5

前記幾何学演算装置はさらに、入力メモリから浮動小数点演算に必要なデータが転送される第2の浮動小数点演算用メモリと、前記整数演算ユニットおよび前記第1の浮動小数点演算用メモリと独立して動作し、前記第2の浮動小数点演算用メモリに転送されたデータに対して浮動小数点演算を行なう第2の浮動小数点演算ユニットと、前記第2の浮動小数点演算ユニットから直接アクセスできず、前記第2の浮動小数点演算用メモリに記憶された前記第2の浮動小数点演算ユニットの中間データを保持する第2の浮動小数点演算用ワークメモリとを含む、請求項4記載の幾何学演算装置。

請求項6

前記第1の浮動小数点演算用ワークメモリと前記第2の浮動小数点演算用ワークメモリとは、共有メモリによって構成される、請求項5記載の幾何学演算装置。

技術分野

0001

本発明は、グラフィックスシステムにおける座標変換輝度計算クリップ処理などの幾何演算を行なう幾何学演算装置に関し、特に、処理速度の向上を図った幾何学演算装置に関する。

背景技術

0002

近年、3次元グラフィックス高速に処理するための幾何学演算装置の開発が盛んに行なわれている。この幾何学演算処理に関連する技術として、特開平9−265543号公報および特開2001−75779号公報に開示された発明がある。

0003

特開平9−265543号公報に開示された幾何学演算装置は、グラフィックスの座標変換、輝度計算、クリップ処理などの幾何学演算に必要なデータを記憶する入力メモリと、入力メモリを接続するグローバルバスと、グローバルバスに接続され、幾何学演算に必要なデータが転送される複数の浮動小数点演算用メモリと、入力メモリに記憶された幾何学演算に必要なデータを複数の浮動小数点演算用メモリに転送するシーケンサと、複数の浮動小数点演算用メモリと一対一に接続され、各浮動小数点演算用メモリに転送されたデータを用いて幾何学演算をそれぞれ独立に実行する複数の浮動小数点演算ユニットとを備える。

0004

また、特開2001−75779号公報に開示された演算装置においては、浮動小数点演算器の演算結果を整数演算器の最終演算ステージに設けられたマルチプレクサに供給し、整数演算器に対するインストラクションによりマルチプレクサを切換えて、浮動小数点演算器の演算結果を汎用レジスタに保持して、整数演算を可能としたものである。
特開平9−265543号公報
特開2001−75779号公報

発明が解決しようとする課題

0005

しかし、上述した特開平9−265543号公報に開示された幾何学演算装置において、グラフィックスの幾何学演算を行なう整数演算ユニットおよび浮動小数点演算ユニットは、演算の中間データを保存する機能を有していないため、中間データを外部メモリに保存する必要がある。外部メモリに対するデータ転送時間は長いため、演算能力の低下を招くといった問題点があった。

0006

また、特開2001−75779号公報に開示された演算装置においては、整数演算器に対するインストラクションによりマルチプレクサを切換えて、浮動小数点演算器の演算結果を汎用レジスタに保持して、整数演算を可能としたものである。しかし、汎用レジスタの数は限られており、演算の中間データの全てを汎用レジスタに保持しておくことはできない。

0007

本発明は、上記問題点を解決するためになされたものであり、その目的は、中間データの転送時間を短くでき、幾何学演算を高速に行なうことが可能な幾何学演算装置を提供することである。

課題を解決するための手段

0008

本発明のある局面に従えば、幾何学演算装置は、幾何学演算に必要なデータを記憶する入力メモリと、入力メモリから整数演算に必要なデータが転送される整数演算用メモリと、入力メモリから浮動小数点演算に必要なデータが転送される浮動小数点演算用メモリと、整数演算用メモリに転送されたデータに対して整数演算を行なう整数演算ユニットと、整数演算ユニットと独立して動作し、浮動小数点演算用メモリに転送されたデータに対して浮動小数点演算を行なう浮動小数点演算ユニットと、整数演算ユニットおよび浮動小数点演算ユニットによる演算結果が転送される出力メモリと、整数演算ユニットから直接アクセスできず、整数演算用メモリに記憶された整数演算ユニットの中間データを保持する整数演算用ワークメモリとを含む。

0009

本発明の別の局面に従えば、幾何学演算に必要なデータを記憶する入力メモリと、入力メモリから整数演算に必要なデータが転送される整数演算用メモリと、入力メモリから浮動小数点演算に必要なデータが転送される第1の浮動小数点演算用メモリと、整数演算用メモリに転送されたデータに対して整数演算を行なう整数演算ユニットと、整数演算ユニットと独立して動作し、第1の浮動小数点演算用メモリに転送されたデータに対して浮動小数点演算を行なう第1の浮動小数点演算ユニットと、整数演算ユニットおよび第1の浮動小数点演算ユニットによる演算結果が転送される出力メモリと、第1の浮動小数点演算ユニットから直接アクセスできず、第1の浮動小数点演算用メモリに記憶された第1の浮動小数点演算ユニットの中間データを保持する第1の浮動小数点演算用ワークメモリを含む。

発明の効果

0010

本発明のある局面によれば、整数演算用ワークメモリは、整数演算ユニットから直接アクセスできず、整数演算用メモリに記憶された整数演算ユニットの中間データを保持するので、データ転送時間が長い外部メモリに対する中間データの読込み/書込みを行なう必要がなくなり、幾何学演算を高速に行うことが可能となった。

0011

本発明の別の局面によれば、第1の浮動小数点演算用ワークメモリは、第1の浮動小数点演算ユニットから直接アクセスできず、第1の浮動小数点演算用メモリに記憶された第1の浮動小数点演算ユニットの中間データを保持するので、データ転送時間が長い外部メモリに対する中間データの読込み/書込みを行なう必要がなくなり、幾何学演算を高速に行うことが可能となった。

発明を実施するための最良の形態

0012

(第1の実施の形態)
図1は、本発明の第1の実施の形態における幾何学演算装置の概略構成を示すブロック図である。この幾何学演算装置は、グラフィックスの座標変換、輝度計算、クリップ処理などの幾何学演算に必要なデータを記憶する入力メモリ10と、整数演算に必要なデータが転送される整数演算用メモリ(ILM)11と、浮動小数点演算に必要なデータが転送される複数の浮動小数点演算用メモリ(FLM0,FLM1)12および13と、整数演算用メモリ11に記憶されるデータを用いて整数演算を行なう整数演算ユニット(IPU)15と、浮動小数点演算用メモリ12に記憶されるデータを用いて浮動小数点演算を行なう浮動小数点演算ユニット(FPU0)16と、浮動小数点演算用メモリ13に記憶されるデータを用いて浮動小数点演算を行なう浮動小数点演算ユニット(FPU1)17と、幾何学演算に必要なデータおよびその演算結果の転送を制御するシーケンサ18と、整数演算ユニット15、浮動小数点演算ユニット16および17による演算結果を格納する出力メモリ19と、整数演算ユニット15による中間データを一時的に記憶する整数演算用ワークメモリ(IWM)21と、浮動小数点演算ユニット16による中間データを一時的に記憶する浮動小数点演算用ワークメモリ(FWM0)22と、浮動小数点演算ユニット17による中間データを一時的に記憶する浮動小数点演算用ワークメモリ(FWM1)23とを含む。

0013

入力メモリ10、整数演算用メモリ11、浮動小数点演算用メモリ12および13は、グローバルバス14を介して接続される。また、整数演算ユニット15、浮動小数点演算ユニット16、17および出力メモリ19は、出力バス20を介して接続される。

0014

シーケンサ18は、入力メモリ10に記憶された幾何学演算に必要なデータを、グローバルバス14を介して整数演算用メモリ11、浮動小数点演算用メモリ12または13へ転送する制御を行なう。

0015

また、シーケンサ18は、整数演算用メモリ11、浮動小数点演算用メモリ12および13に記憶された幾何学演算に必要なデータを、整数演算ユニット15、浮動小数点演算ユニット16および17へ転送する制御を行なう。これらのデータ転送は、それぞれ並列に行なうことができる。

0016

また、シーケンサ18は、演算処理用メモリ11、浮動小数点演算用メモリ12および13に記憶された中間データを、整数演算用ワークメモリ21、浮動小数点演算用ワークメモリ22および23へ転送する制御と、整数演算用ワークメモリ21、浮動小数点演算用ワークメモリ22および23に記憶された中間データを、整数演算用メモリ11、浮動小数点演算用メモリ12および13へ転送する制御とを行なう。演算処理用メモリ11、浮動小数点演算用メモリ12および13と、整数演算用ワークメモリ21、浮動小数点演算用ワークメモリ22および23との間の中間データの転送は、それぞれ並列に行なうことができる。

0017

さらには、シーケンサ18は、整数演算ユニット15、浮動小数点演算ユニット16および17による演算結果を、出力バス20を介して出力メモリ19へ転送する制御を行なう。

0018

なお、整数演算用ワークメモリ21、浮動小数点演算用ワークメモリ22および23は、整数演算ユニット15、浮動小数点演算ユニット16および17から直接アクセスすることはできない。すなわち、それぞれのワークメモリは、それぞれの演算ユニットメモリアドレス空間にはマッピングされていない。

0019

図2は、本発明の第1の実施の形態における幾何学演算装置の整数演算の処理時間を説明するための図である。

0020

図2(a)は、整数演算用ワークメモリ21がない場合の整数演算の処理時間の一例を示している。まず、入力メモリ10から整数演算用メモリ11へのデータ転送が行なわれる(move1)。そして、整数演算用メモリ11から整数演算ユニット15へのデータ読込みが行なわれる(read1)。

0021

次に、整数演算ユニット15は、読込んだデータに対して整数演算を行ない(exe1)、その中間データを整数演算用メモリ11に書込む(write1)。そして、中間データを図示しない外部メモリに書込み(write2)、別の中間データを外部メモリから整数演算用メモリ11に読込む(read2)。

0022

次に、整数演算用メモリ11から整数演算ユニット15への中間データの読込みが行なわれる(read1)。そして、整数演算ユニット15は、読込んだ中間データに対して整数演算を行ない(exe1)、その演算結果が出力メモリ19へ転送される(move2)。

0023

仮に、中間データの外部メモリへの書込み(write2)および中間データの外部メモリからの読込み(read2)がそれぞれ10サイクルを要し、それ以外の処理がそれぞれ1サイクルで行なえるとすると、図2(a)に示す処理に、27サイクルを要することになる。

0024

図2(b)は、整数演算用ワークメモリ21がある場合の整数演算の処理時間の一例を示している。まず、入力メモリ10から整数演算用メモリ11へのデータ転送が行なわれる(move1)。そして、整数演算用メモリ11から整数演算ユニット15へのデータ読込みが行なわれる(read1)。

0025

次に、整数演算ユニット15は、読込んだデータに対して整数演算を行ない(exe1)、その中間データを整数演算用メモリ11に書込む(write1)。そして、中間データを整数演算用ワークメモリ21に書込み(write3)、別の中間データを整数演算用ワークメモリ21から整数演算用メモリ11に読込む(read3)。

0026

次に、整数演算用メモリ11から整数演算ユニット15への中間データの読込みが行なわれる(read1)。そして、整数演算ユニット15は、読込んだ中間データに対して整数演算を行ない(exe1)、その演算結果が出力メモリ19へ転送される(move2)。

0027

仮に、中間データの整数演算用ワークメモリ21への書込み(write3)および中間データの整数演算用ワークメモリ21からの読込み(read3)を含んだ全ての処理が1サイクルで行なえるとすると、図2(b)に示す処理に、9サイクルを要することになる。したがって、図2(a)に示す整数演算用ワークメモリ21がない場合と比較して、処理時間を33%(=9/27)に短縮することができる。

0028

図3は、本発明の第1の実施の形態における幾何学演算装置の浮動小数点演算の処理時間を説明するための図である。なお、浮動小数点演算ユニット16が浮動小数点演算を行なう場合について説明するが、浮動小数点演算ユニット17が浮動小数点演算を行なう場合も同様である。

0029

図3(a)は、浮動小数点演算用ワークメモリ22がない場合の浮動小数点演算の処理時間の一例を示している。まず、入力メモリ10から浮動小数点演算用メモリ12へのデータ転送が行なわれる(move1)。そして、浮動小数点演算用メモリ12から浮動小数点演算ユニット16へのデータ読込みが行なわれる(read1)。

0030

次に、浮動小数点演算ユニット16は、読込んだデータに対して浮動小数点演算を行ない(exe1)、その中間データを浮動小数点演算用メモリ12に書込む(write1)。そして、中間データを図示しない外部メモリに書込み(write2)、別の中間データを外部メモリから浮動小数点演算用メモリ12に読込む(read2)。

0031

次に、浮動小数点演算用メモリ12から浮動小数点演算ユニット16への中間データの読込みが行なわれる(read1)。そして、浮動小数点演算ユニット16は、読込んだ中間データに対して浮動小数点演算を行ない(exe1)、その演算結果が出力メモリ19へ転送される(move2)。

0032

仮に、中間データの外部メモリへの書込み(write2)および中間データの外部メモリからの読込み(read2)がそれぞれ10サイクルを要し、それ以外の処理がそれぞれ1サイクルで行なえるとすると、図3(a)に示す処理に、27サイクルを要することになる。

0033

図3(b)は、浮動小数点演算用ワークメモリ22がある場合の浮動小数点演算の処理時間の一例を示している。まず、入力メモリ10から浮動小数点演算用メモリ12へのデータ転送が行なわれる(move1)。そして、浮動小数点演算用メモリ12から浮動小数点演算ユニット16へのデータ読込みが行なわれる(read1)。

0034

次に、浮動小数点演算ユニット16は、読込んだデータに対して浮動小数点演算を行ない(exe1)、その中間データを浮動小数点演算用メモリ12に書込む(write1)。そして、中間データを浮動小数点演算用ワークメモリ22に書込み(write3)、別の中間データを浮動小数点演算用ワークメモリ22から浮動小数点演算用メモリ12に読込む(read3)。

0035

次に、浮動小数点演算用メモリ12から浮動小数点演算ユニット16への中間データの読込みが行なわれる(read1)。そして、浮動小数点演算ユニット16は、読込んだ中間データに対して浮動小数点演算を行ない(exe1)、その中間データが出力メモリ19へ転送される(move2)。

0036

仮に、中間データの浮動小数点演算用ワークメモリ22への書込み(write3)および中間データの浮動小数点演算用ワークメモリ22からの読込み(read3)を含んだ全ての処理が1サイクルで行なえるとすると、図3(b)に示す処理に、9サイクルを要することになる。したがって、図3(a)に示す浮動小数点演算用ワークメモリ22がない場合と比較して、処理時間を33%(=9/27)に短縮することができる。

0037

以上説明したように、本実施の形態における幾何学演算装置によれば、整数演算および浮動小数点演算の中間データを記憶するワークメモリを設けたので、中間データの転送時間を短くでき、幾何学演算を高速に行なうことが可能となる。

0038

また、整数演算用ワークメモリと浮動小数点演算用ワークメモリとが、それぞれ整数演算用メモリと浮動小数点演算用メモリとから独立して設けられるので、整数演算ユニットおよび浮動小数点演算ユニットから見たメモリアドレス空間は、整数演算用メモリおよび浮動小数点演算用メモリの分だけとなる。したがって、メモリアドレス空間を増やすことなく、ワークメモリの容量を増やすことが可能となる。

0039

なお、図1に示す本発明の第1の実施の形態における幾何学演算装置は、整数演算ユニットが1個、浮動小数点演算ユニットが2個の場合についてであったが、整数演算ユニットおよび浮動小数点演算ユニットはこれ以外の任意の数であっても、同様の効果が得られる。

0040

(第2の実施の形態)
図4は、本発明の第2の実施の形態における幾何学演算装置の概略構成を示すブロック図である。図1に示す第1の実施の形態における幾何学演算装置の概略構成と比較して、整数演算用ワークメモリ21を削除した点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。

0041

本実施の形態においては、整数演算に比べて浮動小数点演算の頻度が高い場合に、浮動小数点演算用ワークメモリ22および23のみを備えることで、中間データの転送時間の短縮を図るものである。

0042

図5は、浮動小数点演算と整数演算との比率が9対1と仮定した場合、浮動小数点演算用ワークメモリがない場合の処理時間と、浮動小数点演算用ワークメモリがある場合の処理時間とを示す図である。それぞれの処理時間は、図2および図3に示す個々の処理時間と同様である。

0043

図5に示すように、浮動小数点演算用ワークメモリ22および23がない場合、1回の演算に必要となるサイクル数は27サイクルとなる。また。浮動小数点演算用ワークメモリ22および23がある場合、1回の演算に必要となるサイクル数は10.8サイクルとなる。したがって、浮動小数点演算用ワークメモリ22および23がない場合と比較して、処理時間を40%(=10.8/27)に短縮することができる。

0044

以上説明したように、本実施の形態における幾何学演算装置によれば、第1の実施の形態において説明した効果に加えて、整数演算用ワークメモリを削除することができ、ワークメモリの実装面積を削減することが可能となる。

0045

なお、図4に示す本発明の第2の実施の形態における幾何学演算装置は、整数演算ユニットが1個、浮動小数点演算ユニットが2個の場合についてであったが、整数演算ユニットおよび浮動小数点演算ユニットはこれ以外の任意の数であっても、同様の効果が得られる。

0046

(第3の実施の形態)
図6は、本発明の第3の実施の形態における幾何学演算装置の概略構成を示すブロック図である。図1に示す第1の実施の形態における幾何学演算装置の概略構成と比較して、浮動小数点演算用ワークメモリ22および23を削除した点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。

0047

本実施の形態においては、浮動小数点演算に比べて整数演算の頻度が高い場合に、整数演算用ワークメモリ21のみを備えることで、中間データの転送時間の短縮を図るものである。

0048

浮動小数点演算と整数演算との比率が1対9と仮定した場合、整数演算用ワークメモリ21がない場合、1回の演算に必要となるサイクル数は27サイクルとなる。また、整数演算用ワークメモリ21がある場合、1回の演算に必要となるサイクル数は10.8サイクルとなる。したがって、整数演算用ワークメモリ21がない場合と比較して、処理時間を40%(=10.8/27)に短縮することができる。

0049

以上説明したように、本実施の形態における幾何学演算装置によれば、第1の実施の形態において説明した効果に加えて、浮動小数点演算用ワークメモリを削除することができ、ワークメモリの実装面積を削減することが可能となる。

0050

なお、図6に示す本発明の第3の実施の形態における幾何学演算装置は、整数演算ユニットが1個、浮動小数点演算ユニットが2個の場合についてであったが、整数演算ユニットおよび浮動小数点演算ユニットはこれ以外の任意の数であっても、同様の効果が得られる。

0051

(第4の実施の形態)
図7は、本発明の第4の実施の形態における幾何学演算装置の概略構成を示すブロック図である。図1に示す第1の実施の形態における幾何学演算装置の概略構成と比較して、整数演算用ワークメモリ21および浮動小数点演算用ワークメモリ23を削除した点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。

0052

本実施の形態においては、1個の浮動小数点演算ユニット16を使用する浮動小数点演算の頻度が高い場合に、浮動小数点演算用ワークメモリ22のみを備えることで、中間データの転送時間の短縮を図るものである。

0053

以上説明したように、本実施の形態における幾何学演算装置によれば、第1の実施の形態において説明した効果に加えて、整数演算用ワークメモリおよび1個の浮動小数点演算用ワークメモリを削除することができ、ワークメモリの実装面積を削減することが可能となる。

0054

なお、図7に示す本発明の第4の実施の形態における幾何学演算装置は、整数演算ユニットが1個、浮動小数点演算ユニットが2個の場合についてであったが、整数演算ユニットおよび浮動小数点演算ユニットはこれ以外の任意の数であっても、同様の効果が得られる。

0055

(第5の実施の形態)
図8は、本発明の第5の実施の形態における幾何学演算装置の概略構成を示すブロック図である。図1に示す第1の実施の形態における幾何学演算装置の概略構成と比較して、浮動小数点演算用ワークメモリ23を削除した点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。

0056

本実施の形態においては、整数演算ユニット15を使用する整数演算と、1個の浮動小数点演算ユニット16を使用する浮動小数点演算との頻度が高い場合に、整数演算用ワークメモリ21および浮動小数点演算用ワークメモリ22のみを備えることで、中間データの転送時間の短縮を図るものである。

0057

以上説明したように、本実施の形態における幾何学演算装置によれば、第1の実施の形態において説明した効果に加えて、1個の浮動小数点演算用ワークメモリを削除することができ、ワークメモリの実装面積を削減することが可能となる。

0058

なお、図8に示す本発明の第5の実施の形態における幾何学演算装置は、整数演算ユニットが1個、浮動小数点演算ユニットが2個の場合についてであったが、整数演算ユニットおよび浮動小数点演算ユニットはこれ以外の任意の数であっても、同様の効果が得られる。

0059

(第6の実施の形態)
図9は、本発明の第6の実施の形態における幾何学演算装置の概略構成を示すブロック図である。図1に示す第1の実施の形態における幾何学演算装置の概略構成と比較して、整数演算用ワークメモリ21、浮動小数点演算用ワークメモリ22および23を、共有ワークメモリ(CWM)24に置換した点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。

0060

本実施の形態においては、ある演算ユニットの中間データを別の演算ユニットが使用する頻度が高い場合に、共有ワークメモリ24を備えることで、中間データの転送時間の短縮を図るものである。

0061

図10は、本発明の第6の実施の形態における幾何学演算装置の1回の演算の処理時間を説明するための図である。図10(a)は、ワークメモリが全くない場合の1回の演算の処理時間の一例を示している。この処理時間は、図2(a)または図3(a)を用いて説明したものと同様である。

0062

図10(b)は、個別にワークメモリを備えるだけで、共有メモリがない場合の1回の演算の処理時間の一例を示している。まず、入力メモリ10から整数演算用メモリ11、浮動小数点演算用メモリ12または13(以下、単に演算用メモリと呼ぶ。)へのデータ転送が行なわれる(move1)。そして、演算用メモリから整数演算ユニット15、浮動小数点演算ユニット16または17(以下、単に演算ユニットと呼ぶ。)へのデータ読込みが行なわれる(read1)。

0063

次に、演算ユニットは、読込んだデータに対して演算を行ない(exe1)、その中間データを演算用メモリに書込む(write1)。そして、中間データをワークメモリに書込む(write2)。

0064

次に、中間データを別のワークメモリから別の演算用メモリに読込み(read2)、その中間データを当該演算用メモリに転送する(tran1)。そして、演算用メモリから演算ユニットへの中間データの読込みが行なわれる(read1)。そして、演算ユニットは、読込んだ中間データに対して演算を行ない(exe1)、その演算結果が出力メモリ19へ転送される(move2)。

0065

仮に、中間データの演算用ワークメモリへの書込み(write3)、中間データの演算用ワークメモリからの読込み(read3)および中間データの転送(tran1)を含んだ全ての処理が1サイクルで行なえるとすると、図10(b)に示す処理に、10サイクルを要することになる。

0066

図10(c)は、共有ワークメモリ24がある場合の1回の演算の処理時間の一例を示している。まず、入力メモリ10から演算用メモリへのデータ転送が行なわれる(move1)。そして、演算用メモリから演算ユニットへのデータ読込みが行なわれる(read1)。

0067

次に、演算ユニットは、読込んだデータに対して演算を行ない(exe1)、その中間データを演算用メモリに書込む(write1)。そして、中間データを共有ワークメモリ24に書込み(write3)、別の演算ユニットの中間データを共有ワークメモリ24から演算用メモリに読込む(read3)。

0068

次に、演算用メモリから演算ユニットへの中間データの読込みが行なわれる(read1)。そして、演算ユニットは、読込んだ中間データに対して演算を行ない(exe1)、その演算結果が出力メモリ19へ転送される(move2)。

0069

仮に、中間データの共有ワークメモリ24への書込み(write3)および中間データの共有ワークメモリ24からの読込み(read3)を含んだ全ての処理が1サイクルで行なえるとすると、図10(c)に示す処理に、9サイクルを要することになる。したがって、図10(b)に示す個別のワークメモリがある場合と比較して、処理時間を90%(=9/10)に短縮することができる。

0070

以上説明したように、本実施の形態における幾何学演算装置によれば、共有ワークメモリ24を備えるようにしたので、演算ユニットの中間データを別の演算ユニットに転送するサイクルが不要となり、第1〜第5の実施の形態と比較して、さらに中間データの転送時間を短縮することができ、幾何学演算をさらに高速に行なうことが可能となる。また、ワークメモリを共有メモリとすることによって、実装面積を削減することが可能となる。

0071

また、共有ワークメモリ24が、整数演算用メモリと浮動小数点演算用メモリとから独立して設けられるので、整数演算ユニットおよび浮動小数点演算ユニットから見たメモリアドレス空間は、整数演算用メモリおよび浮動小数点演算用メモリの分だけとなる。したがって、メモリアドレス空間を増やすことなく、ワークメモリの容量を増やすことが可能となる。

0072

なお、図9に示す本発明の第6の実施の形態における幾何学演算装置は、整数演算ユニットが1個、浮動小数点演算ユニットが2個の場合についてであったが、整数演算ユニットおよび浮動小数点演算ユニットはこれ以外の任意の数であっても、同様の効果が得られる。

0073

(第7の実施の形態)
図11は、本発明の第7の実施の形態における幾何学演算装置の概略構成を示すブロック図である。図1に示す第1の実施の形態における幾何学演算装置の概略構成と比較して、浮動小数点演算用ワークメモリ22および23を、共有ワークメモリ(FCWM)25に置換した点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。

0074

本実施の形態においては、ある浮動小数点演算ユニットの中間データを別の浮動小数点演算ユニットが使用する頻度が高い場合に、共有ワークメモリ25を備えることで、中間データの転送時間の短縮を図るものである。

0075

以上説明したように、本実施の形態における幾何学演算装置によれば、共有ワークメモリ25を備えるようにしたので、ある浮動小数点演算ユニットの中間データを別の浮動小数点演算ユニットに転送するサイクルが不要となり、第6の実施の形態において説明した効果と同様の効果を奏することが可能となる。

0076

なお、図11に示す本発明の第7の実施の形態における幾何学演算装置は、整数演算ユニットが1個、浮動小数点演算ユニットが2個の場合についてであったが、整数演算ユニットおよび浮動小数点演算ユニットはこれ以外の任意の数であっても、同様の効果が得られる。

0077

(第8の実施の形態)
図12は、本発明の第8の実施の形態における幾何学演算装置の概略構成を示すブロック図である。図1に示す第1の実施の形態における幾何学演算装置の概略構成と比較して、整数演算用ワークメモリ21および浮動小数点演算用ワークメモリ22を、共有ワークメモリ(IFCWM)26に置換した点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。

0078

本実施の形態においては、整数演算ユニット15の中間データを浮動小数点演算ユニット16が使用する頻度が高い場合、または浮動小数点演算ユニット16の中間データを整数演算ユニット15が使用する頻度が高い場合に、共有ワークメモリ26を備えることで、中間データの転送時間の短縮を図るものである。

0079

以上説明したように、本実施の形態における幾何学演算装置によれば、共有ワークメモリ26を備えるようにしたので、整数演算ユニットの中間データを浮動小数点演算用メモリに転送するサイクル、または浮動小数点演算ユニットの中間データを整数演算用メモリに転送するサイクルが不要となり、第6の実施の形態において説明した効果と同様の効果を奏することが可能となる。

0080

なお、図12に示す本発明の第8の実施の形態における幾何学演算装置は、整数演算ユニットが1個、浮動小数点演算ユニットが2個の場合についてであったが、整数演算ユニットおよび浮動小数点演算ユニットはこれ以外の任意の数であっても、同様の効果が得られる。

0081

今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。

図面の簡単な説明

0082

本発明の第1の実施の形態における幾何学演算装置の概略構成を示すブロック図である。
本発明の第1の実施の形態における幾何学演算装置の整数演算の処理時間を説明するための図である。
本発明の第1の実施の形態における幾何学演算装置の浮動小数点演算の処理時間を説明するための図である。
本発明の第2の実施の形態における幾何学演算装置の概略構成を示すブロック図である。
浮動小数点演算と整数演算との比率が9対1と仮定した場合、浮動小数点演算用ワークメモリがない場合の処理時間と、浮動小数点演算用ワークメモリがある場合の処理時間とを示す図である。
本発明の第3の実施の形態における幾何学演算装置の概略構成を示すブロック図である。
本発明の第4の実施の形態における幾何学演算装置の概略構成を示すブロック図である。
本発明の第5の実施の形態における幾何学演算装置の概略構成を示すブロック図である。
本発明の第6の実施の形態における幾何学演算装置の概略構成を示すブロック図である。
本発明の第6の実施の形態における幾何学演算装置の1回の演算の処理時間を説明するための図である。
本発明の第7の実施の形態における幾何学演算装置の概略構成を示すブロック図である。
本発明の第8の実施の形態における幾何学演算装置の概略構成を示すブロック図である。

符号の説明

0083

10入力メモリ、11整数演算用メモリ、12,13浮動小数点演算用メモリ、14グローバルバス、15整数演算ユニット、16,17浮動小数点演算ユニット、18シーケンサ、19出力メモリ、20出力バス、21整数演算用ワークメモリ、22,23浮動小数点演算用ワークメモリ、24〜26共有ワークメモリ。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ