JPH1031618A - データ変換方式 - Google Patents
データ変換方式Info
- Publication number
- JPH1031618A JPH1031618A JP8205211A JP20521196A JPH1031618A JP H1031618 A JPH1031618 A JP H1031618A JP 8205211 A JP8205211 A JP 8205211A JP 20521196 A JP20521196 A JP 20521196A JP H1031618 A JPH1031618 A JP H1031618A
- Authority
- JP
- Japan
- Prior art keywords
- data
- precision
- cache
- path
- determination result
- 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.)
- Pending
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 キャッシュヒット時のデータ変換処理速度を
向上するためのデータ変換方式を提供することにある。 【解決手段】 図は浮動小数点データの場合の実施例で
あり、データキャッシュに書き込まれるデータはJ2に書
き込まれるのに平行してデータ判定回路Gにおいて単精
度か倍精度かと単精度の場合におけるデータの種類を判
定してデータ判定結果がJ3に書き込まれる。アライナA1
はパス4のデータとJ2からの読み出されたパス5のデータ
を入力し、いずれかのデータを選択し、かつ選択したデ
ータの内、データ変換不要のデータをパス7に出力し、
必要なデータをパス6に出力し、アライナA2はパス16の
データとJ3から読み出されたデータを入力し、いずれか
のデータを選択してパス18に出力し、精度変換回路Cは
パス6からのデータをパス18からのデータ判定結果に基
づき単精度データを倍精度データに変換する。
向上するためのデータ変換方式を提供することにある。 【解決手段】 図は浮動小数点データの場合の実施例で
あり、データキャッシュに書き込まれるデータはJ2に書
き込まれるのに平行してデータ判定回路Gにおいて単精
度か倍精度かと単精度の場合におけるデータの種類を判
定してデータ判定結果がJ3に書き込まれる。アライナA1
はパス4のデータとJ2からの読み出されたパス5のデータ
を入力し、いずれかのデータを選択し、かつ選択したデ
ータの内、データ変換不要のデータをパス7に出力し、
必要なデータをパス6に出力し、アライナA2はパス16の
データとJ3から読み出されたデータを入力し、いずれか
のデータを選択してパス18に出力し、精度変換回路Cは
パス6からのデータをパス18からのデータ判定結果に基
づき単精度データを倍精度データに変換する。
Description
【0001】
【発明の属する技術分野】本発明は、命令の実行におい
て、データキャッシュから読み出されたデータをデータ
変換する場合におけるデータ変換方式に関する。
て、データキャッシュから読み出されたデータをデータ
変換する場合におけるデータ変換方式に関する。
【0002】
【従来の技術】上記データ変換方式の従来技術を、デー
タが浮動小数点データであり、単精度の浮動小数点デー
タを倍精度の浮動小数点データに変換する場合につい
て、図4の構成図を用いて説明する。図4の構成図に示
す従来のデータ変換方式では、データの精度を単精度か
ら倍精度に変換しており、データアドレスタグJ1とデ
ータキャッシュメモリJ2からなるデータキャッシュ、
浮動小数点レジスタF1(以下、FR)、浮動小数点演
算器F2、データ判定回路G、データ変換回路としての
精度変換回路C、ラッチL1、L2を備え、セレクタS
1、S2、S3、アライナA1を備え、データパス1、
2、3、4、5、6、7、8、9、10、11、12、
13を備えている。FRは64ビット幅であり、単精度
データは32ビット、倍精度データは64ビットとす
る。データの精度を単精度から倍精度に変換するのは、
浮動小数点演算器が倍精度の演算器であるため、単精度
データの演算のためには、単精度データを倍精度データ
に変換してから演算する必要があるためである。
タが浮動小数点データであり、単精度の浮動小数点デー
タを倍精度の浮動小数点データに変換する場合につい
て、図4の構成図を用いて説明する。図4の構成図に示
す従来のデータ変換方式では、データの精度を単精度か
ら倍精度に変換しており、データアドレスタグJ1とデ
ータキャッシュメモリJ2からなるデータキャッシュ、
浮動小数点レジスタF1(以下、FR)、浮動小数点演
算器F2、データ判定回路G、データ変換回路としての
精度変換回路C、ラッチL1、L2を備え、セレクタS
1、S2、S3、アライナA1を備え、データパス1、
2、3、4、5、6、7、8、9、10、11、12、
13を備えている。FRは64ビット幅であり、単精度
データは32ビット、倍精度データは64ビットとす
る。データの精度を単精度から倍精度に変換するのは、
浮動小数点演算器が倍精度の演算器であるため、単精度
データの演算のためには、単精度データを倍精度データ
に変換してから演算する必要があるためである。
【0003】図7は浮動小数点データの形式の例を説明
する図であり、単精度データは1ビットの符号部と、8
ビットの指数部と、23ビットの仮数部で表現され、倍
精度データは1ビットの符号部と、11ビットの指数部
と、52ビットの仮数部で表現されている。データキャ
ッシュメモリJ2のデータの読み出し幅、及び書き込み
幅は64ビットとし、主記憶装置からデータキャッシュ
メモリJ2へのデータ転送は、64ビット*4cyc=
256ビットで、ターゲットアドレスのデータを含んだ
64ビットが先頭のサイクルに転送される方式とする。
また、命令の実行は、命令読み出しステージ(IFステ
ージ)、命令デコードステージ(Dステージ)、命令実
行ステージ(Eステージ)、メモリアクセスステージ
(Aステージ)、キャンセルステージ(Nステージ)、
書き込みステージ(Wステージ)からなるパイプライン
処理とする。
する図であり、単精度データは1ビットの符号部と、8
ビットの指数部と、23ビットの仮数部で表現され、倍
精度データは1ビットの符号部と、11ビットの指数部
と、52ビットの仮数部で表現されている。データキャ
ッシュメモリJ2のデータの読み出し幅、及び書き込み
幅は64ビットとし、主記憶装置からデータキャッシュ
メモリJ2へのデータ転送は、64ビット*4cyc=
256ビットで、ターゲットアドレスのデータを含んだ
64ビットが先頭のサイクルに転送される方式とする。
また、命令の実行は、命令読み出しステージ(IFステ
ージ)、命令デコードステージ(Dステージ)、命令実
行ステージ(Eステージ)、メモリアクセスステージ
(Aステージ)、キャンセルステージ(Nステージ)、
書き込みステージ(Wステージ)からなるパイプライン
処理とする。
【0004】以下、単精度浮動小数点ロード命令の実行
動作を例に説明する。該命令の動作概要は、単精度32
ビットデータを読み出して、そのデータの値に応じた適
切な倍精度フォーマットに変換した後、ターゲットのF
Rに書き込む動作を行うことである。IFステージでフ
ェッチした命令を、Dステージでデコードした結果、単
精度浮動小数点ロード命令と判明し、Eステージでター
ゲットアドレスの計算を行う。Aステージでは、32ビ
ット単精度データを得るためにデータアドレスタグJ1
のアクセスを行うが、キャッシュミスとなった場合で
は、主記憶装置からのデータ転送を行うため、データは
パス1、パス3を経由してデータキャッシュメモリJ2
に書き込まれる。また、この場合には、同時にターゲッ
トアドレスのデータを含む先頭サイクルのデータはデー
タキャッシュメモリJ2を迂回し、ラッチL2、パス4
を経由して、アライナA1に入力される。アライナA1
は、キャッシュヒット、キャッシュミスに応じてパス4
又はパス5の64ビットデータの何れか一方を選択して
パス7に出力する機能と、ターゲットアドレスに応じて
前記選択した、64ビットデータの前半又は後半32ビ
ットを選択してパス6に出力する機能がある。また、ア
ライナA1は、単精度データか、倍精度データかにかか
わらずパス7に64ビットデータを出力する。なお、図
示はしていないが、キャッシュヒットしたかキャッシュ
ミスしたかの結果に基づく制御信号がアライナA1に入
力されており、この制御信号によりパス4またはパス5
の選択が行われる。また、64ビットデータの前半又は
後半32ビットの選択は、ターゲットアドレス内にこの
選択のための1ビットが含まれ、この1ビットの値をア
ライナA1で判定することにより、前半又は後半32ビ
ットの選択が行われる。
動作を例に説明する。該命令の動作概要は、単精度32
ビットデータを読み出して、そのデータの値に応じた適
切な倍精度フォーマットに変換した後、ターゲットのF
Rに書き込む動作を行うことである。IFステージでフ
ェッチした命令を、Dステージでデコードした結果、単
精度浮動小数点ロード命令と判明し、Eステージでター
ゲットアドレスの計算を行う。Aステージでは、32ビ
ット単精度データを得るためにデータアドレスタグJ1
のアクセスを行うが、キャッシュミスとなった場合で
は、主記憶装置からのデータ転送を行うため、データは
パス1、パス3を経由してデータキャッシュメモリJ2
に書き込まれる。また、この場合には、同時にターゲッ
トアドレスのデータを含む先頭サイクルのデータはデー
タキャッシュメモリJ2を迂回し、ラッチL2、パス4
を経由して、アライナA1に入力される。アライナA1
は、キャッシュヒット、キャッシュミスに応じてパス4
又はパス5の64ビットデータの何れか一方を選択して
パス7に出力する機能と、ターゲットアドレスに応じて
前記選択した、64ビットデータの前半又は後半32ビ
ットを選択してパス6に出力する機能がある。また、ア
ライナA1は、単精度データか、倍精度データかにかか
わらずパス7に64ビットデータを出力する。なお、図
示はしていないが、キャッシュヒットしたかキャッシュ
ミスしたかの結果に基づく制御信号がアライナA1に入
力されており、この制御信号によりパス4またはパス5
の選択が行われる。また、64ビットデータの前半又は
後半32ビットの選択は、ターゲットアドレス内にこの
選択のための1ビットが含まれ、この1ビットの値をア
ライナA1で判定することにより、前半又は後半32ビ
ットの選択が行われる。
【0005】パス6に出力された32ビットデータは、
データ判定回路G、精度変換回路C、パス8、セレクタ
S2、パス10を経由してターゲットのFRに書き込ま
れる。ここで、データ判定回路Gでは図5に示す通り、
入力データの値を判定して、どのフォーマットに基づい
て単精度から倍精度に変換するかを選択するための判定
結果を出力する。精度変換回路Cでは図6に示すよう
に、前記データ判定回路Gの判定結果を使用して単精度
データを倍精度データへフォーマット変換する。
データ判定回路G、精度変換回路C、パス8、セレクタ
S2、パス10を経由してターゲットのFRに書き込ま
れる。ここで、データ判定回路Gでは図5に示す通り、
入力データの値を判定して、どのフォーマットに基づい
て単精度から倍精度に変換するかを選択するための判定
結果を出力する。精度変換回路Cでは図6に示すよう
に、前記データ判定回路Gの判定結果を使用して単精度
データを倍精度データへフォーマット変換する。
【0006】また、倍精度浮動小数点ロード命令の実行
では、データ変換は不要であるから、データキャッシュ
メモリJ2又は主記憶装置からの64ビット倍精度デー
タをアライナA1で選択した後、データ判定回路G、精
度変換回路Cを迂回するパス7、セレクタS2、パス1
0を経由して、ターゲットのFRに書き込む。なお、図
示はしていないが、Dステージでのデコード結果に基づ
く制御信号がセレクタS2に入力されており、この制御
信号によりパス7またはパス8またはパス9の信号の選
択が行われる。また、ストア命令の場合には、セレクタ
S3により、固定小数点ストア命令ならばGRからのパ
ス13を選択し、浮動小数点ストア命令ならばFRから
のパス11を選択し、パス2、パス3を経由して、デー
タキャッシュメモリJ2にデータを書き込む。また、浮
動小数点演算の実行では、パス11、パス12を経由し
てFRのデータを浮動小数点演算器F2に送り、演算結
果はパス9、パス10を経由してターゲットのFRに書
き込まれる。
では、データ変換は不要であるから、データキャッシュ
メモリJ2又は主記憶装置からの64ビット倍精度デー
タをアライナA1で選択した後、データ判定回路G、精
度変換回路Cを迂回するパス7、セレクタS2、パス1
0を経由して、ターゲットのFRに書き込む。なお、図
示はしていないが、Dステージでのデコード結果に基づ
く制御信号がセレクタS2に入力されており、この制御
信号によりパス7またはパス8またはパス9の信号の選
択が行われる。また、ストア命令の場合には、セレクタ
S3により、固定小数点ストア命令ならばGRからのパ
ス13を選択し、浮動小数点ストア命令ならばFRから
のパス11を選択し、パス2、パス3を経由して、デー
タキャッシュメモリJ2にデータを書き込む。また、浮
動小数点演算の実行では、パス11、パス12を経由し
てFRのデータを浮動小数点演算器F2に送り、演算結
果はパス9、パス10を経由してターゲットのFRに書
き込まれる。
【0007】
【発明が解決しようとする課題】しかし、このような従
来のデータ変換方式では、Aステージのキャッシュアク
セスの結果、キャッシュヒットした場合では、データは
データキャッシュメモリJ2、ラッチL1、パス5、パ
ス6、データ判定回路G、データ変換回路としての精度
変換回路C、パス8、パス10を経由してFRに書き込
まれる。このため、単精度浮動小数点ロード命令の実行
においては、ターゲットアドレスがキャッシュヒットし
た時は必ず、データキャッシュメモリJ2からのデータ
読み出しの時に精度変換回路Cで変換する前にデータ判
定回路Gを経由することとなり、処理速度が遅くなると
いう問題があった。本発明では上述の問題を解決するも
ので、キャッシュヒット時のデータ変換処理速度を向上
するための方式を提供することを目的とする。
来のデータ変換方式では、Aステージのキャッシュアク
セスの結果、キャッシュヒットした場合では、データは
データキャッシュメモリJ2、ラッチL1、パス5、パ
ス6、データ判定回路G、データ変換回路としての精度
変換回路C、パス8、パス10を経由してFRに書き込
まれる。このため、単精度浮動小数点ロード命令の実行
においては、ターゲットアドレスがキャッシュヒットし
た時は必ず、データキャッシュメモリJ2からのデータ
読み出しの時に精度変換回路Cで変換する前にデータ判
定回路Gを経由することとなり、処理速度が遅くなると
いう問題があった。本発明では上述の問題を解決するも
ので、キャッシュヒット時のデータ変換処理速度を向上
するための方式を提供することを目的とする。
【0008】
【問題を解決するための手段】上記目的を達成するた
め、本発明は、データキャッシュに、書き込まれたデー
タの種類を示すデータ判定結果をデータ毎に記憶するデ
ータ判定結果領域を設け、前記データキャッシュへのデ
ータの書き込みと平行して該データの種類を判定しデー
タ判定結果を前記データ判定結果領域に書き込むデータ
判定手段を設け、前記データキャッシュから読み出され
たデータとデータ判定結果を入力し、該データ判定結果
に基づき該データのデータ変換を行うデータ変換手段を
設けるようにしている。さらに、前記データキャッシュ
への書き込みデータと、前記データキャッシュからの読
み出しデータを入力し、該両データの内のいずれか一方
のデータを選択して出力する第1のアライナと、前記デ
ータ判定手段から出力されたデータ判定結果と、前記デ
ータキャッシュから読み出したデータ判定結果を入力
し、該両データ判定結果の内のいずれか一方のデータ判
定結果を選択して出力する第2のアライナを設け、該第
1のアライナと第2のアライナの出力を前記データ変換
手段の入力としてデータ変換を行うようにしている。さ
らに、前記第1のアライナは、前記データキャッシュへ
の書き込みデータと、前記データキャッシュからの読み
出しデータを入力し、該両データの内のいずれか一方の
データを選択し、かつ該選択したデータの内、データ変
換の必要のないデータを出力する出力端子と、データ変
換の必要なデータを出力する出力端子とを備え、該デー
タ変換の必要なデータを出力する出力端子を前記データ
変換手段の入力に接続するようにしている。また、前記
データキャッシュに書き込まれるデータは浮動小数点デ
ータであり、前記データの種類は単精度データか倍精度
データかの種類及び単精度データにおける種類であるよ
うにしている。
め、本発明は、データキャッシュに、書き込まれたデー
タの種類を示すデータ判定結果をデータ毎に記憶するデ
ータ判定結果領域を設け、前記データキャッシュへのデ
ータの書き込みと平行して該データの種類を判定しデー
タ判定結果を前記データ判定結果領域に書き込むデータ
判定手段を設け、前記データキャッシュから読み出され
たデータとデータ判定結果を入力し、該データ判定結果
に基づき該データのデータ変換を行うデータ変換手段を
設けるようにしている。さらに、前記データキャッシュ
への書き込みデータと、前記データキャッシュからの読
み出しデータを入力し、該両データの内のいずれか一方
のデータを選択して出力する第1のアライナと、前記デ
ータ判定手段から出力されたデータ判定結果と、前記デ
ータキャッシュから読み出したデータ判定結果を入力
し、該両データ判定結果の内のいずれか一方のデータ判
定結果を選択して出力する第2のアライナを設け、該第
1のアライナと第2のアライナの出力を前記データ変換
手段の入力としてデータ変換を行うようにしている。さ
らに、前記第1のアライナは、前記データキャッシュへ
の書き込みデータと、前記データキャッシュからの読み
出しデータを入力し、該両データの内のいずれか一方の
データを選択し、かつ該選択したデータの内、データ変
換の必要のないデータを出力する出力端子と、データ変
換の必要なデータを出力する出力端子とを備え、該デー
タ変換の必要なデータを出力する出力端子を前記データ
変換手段の入力に接続するようにしている。また、前記
データキャッシュに書き込まれるデータは浮動小数点デ
ータであり、前記データの種類は単精度データか倍精度
データかの種類及び単精度データにおける種類であるよ
うにしている。
【0009】
【発明の実施の形態】以下、本発明のデータ変換方式の
実施例を、データが浮動小数点データであり、単精度の
浮動小数点データを倍精度の浮動小数点データに変換す
る場合を例にして、図面に基づいて具体的に説明する。
図1に実施例の構成図を示す。図2には実施例における
動作例のキャッシュミスの場合のタイムチャートを示
し、図3には実施例における動作例のキャッシュヒット
の場合のタイムチャートを示す。図1の構成図に示すデ
ータ精度変換を行うプロセッサでは、データアドレスタ
グJ1とデータキャッシュメモリJ2からなるデータキ
ャッシュ、データ判定結果J3、浮動小数点レジスタF
1(以下、FR)、浮動小数点演算器F2、データ判定
回路G、データ変換回路としての精度変換回路C、ラッ
チL1、L2、L3、L4を備え、セレクタS1、S
2、S3、アライナA1、A2を備え、データパス1、
2、3、4、5、6、7、8、9、10、11、12、
13、14、15、16、17、18を備えている。F
Rは64ビット幅であり、単精度は32ビット、倍精度
は64ビットである。データキャッシュメモリJ2のデ
ータの読み出し幅、及び書き込み幅は64ビットとし、
主記憶装置からデータキャッシュメモリJ2へのデータ
転送は、64*4=256ビットで、ターゲットアドレ
スのデータを含んだ64ビットが先頭のサイクルに転送
される方式である。また、命令の実行は、命令読み出し
ステージ(IFステージ)、命令デコードステージ(D
ステージ)、命令実行ステージ(Eステージ)、メモリ
アクセスステージ(Aステージ)、キャンセルステージ
(Nステージ)、書き込みステージ(Wステージ)から
なるパイプライン処理である。
実施例を、データが浮動小数点データであり、単精度の
浮動小数点データを倍精度の浮動小数点データに変換す
る場合を例にして、図面に基づいて具体的に説明する。
図1に実施例の構成図を示す。図2には実施例における
動作例のキャッシュミスの場合のタイムチャートを示
し、図3には実施例における動作例のキャッシュヒット
の場合のタイムチャートを示す。図1の構成図に示すデ
ータ精度変換を行うプロセッサでは、データアドレスタ
グJ1とデータキャッシュメモリJ2からなるデータキ
ャッシュ、データ判定結果J3、浮動小数点レジスタF
1(以下、FR)、浮動小数点演算器F2、データ判定
回路G、データ変換回路としての精度変換回路C、ラッ
チL1、L2、L3、L4を備え、セレクタS1、S
2、S3、アライナA1、A2を備え、データパス1、
2、3、4、5、6、7、8、9、10、11、12、
13、14、15、16、17、18を備えている。F
Rは64ビット幅であり、単精度は32ビット、倍精度
は64ビットである。データキャッシュメモリJ2のデ
ータの読み出し幅、及び書き込み幅は64ビットとし、
主記憶装置からデータキャッシュメモリJ2へのデータ
転送は、64*4=256ビットで、ターゲットアドレ
スのデータを含んだ64ビットが先頭のサイクルに転送
される方式である。また、命令の実行は、命令読み出し
ステージ(IFステージ)、命令デコードステージ(D
ステージ)、命令実行ステージ(Eステージ)、メモリ
アクセスステージ(Aステージ)、キャンセルステージ
(Nステージ)、書き込みステージ(Wステージ)から
なるパイプライン処理である。
【0010】まず、単精度浮動小数点ロード命令の実行
動作を例に説明する。IFステージでフェッチした命令
を、Dステージでデコードした結果、単精度浮動小数点
ロード命令と判明し、Eステージでターゲットアドレス
の計算を行う。Aステージでは、32ビット単精度デー
タを得るためにデータアドレスタグJ1のアクセスを行
うが、キャッシュミスとなった場合では、主記憶装置か
らのデータ転送を行うため、データはパス1、パス3を
経由してデータキャッシュメモリJ2に書き込まれる。
この時、パス14を経由したデータはデータ判定回路G
に入力され、データ判定回路Gは、図5に示すとおり、
精度変換回路Cにおいてデータをどのフォーマットに基
づいて精度変換するかを示すデータ判定結果を出力す
る。このデータ判定結果は、データキャッシュに新たに
設けたデータ判定結果J3に書き込んでおく。データ判
定結果は、本実施例の場合、2ビットであり、データ判
定結果J3は32ビットのデータ毎に2ビットを記憶す
る。また、同時にターゲットアドレスのデータを含む先
頭サイクルのデータはデータキャッシュメモリJ2を迂
回し、ラッチL2、パス4を経由して、アライナA1に
入力される。また、キャッシュヒットした場合にはデー
タキャッシュメモリJ2はラッチL1、パス5を経由し
て、アライナA1に入力される。アライナA1は、キャ
ッシュヒット、キャッシュミスに応じてパス4又はパス
5の64ビットデータの何れか一方を選択してパス7に
出力する機能と、ターゲットアドレスに応じて前記選択
した64ビットデータの前半又は後半32ビットをパス
6に出力する機能がある。パス6に出力された32ビッ
トデータは、精度変換回路Cに入力される。なお、図示
はしていないが、キャッシュヒットしたかキャッシュミ
スしたかの結果に基づく制御信号がアライナA1に入力
されており、この制御信号によりパス4またはパス5の
選択が行われる。また、64ビットデータの前半又は後
半32ビットの選択は、ターゲットアドレス内にこの選
択のための1ビットが含まれ、この1ビットの値をアラ
イナA1で判定することにより、前半又は後半32ビッ
トの選択が行われる。
動作を例に説明する。IFステージでフェッチした命令
を、Dステージでデコードした結果、単精度浮動小数点
ロード命令と判明し、Eステージでターゲットアドレス
の計算を行う。Aステージでは、32ビット単精度デー
タを得るためにデータアドレスタグJ1のアクセスを行
うが、キャッシュミスとなった場合では、主記憶装置か
らのデータ転送を行うため、データはパス1、パス3を
経由してデータキャッシュメモリJ2に書き込まれる。
この時、パス14を経由したデータはデータ判定回路G
に入力され、データ判定回路Gは、図5に示すとおり、
精度変換回路Cにおいてデータをどのフォーマットに基
づいて精度変換するかを示すデータ判定結果を出力す
る。このデータ判定結果は、データキャッシュに新たに
設けたデータ判定結果J3に書き込んでおく。データ判
定結果は、本実施例の場合、2ビットであり、データ判
定結果J3は32ビットのデータ毎に2ビットを記憶す
る。また、同時にターゲットアドレスのデータを含む先
頭サイクルのデータはデータキャッシュメモリJ2を迂
回し、ラッチL2、パス4を経由して、アライナA1に
入力される。また、キャッシュヒットした場合にはデー
タキャッシュメモリJ2はラッチL1、パス5を経由し
て、アライナA1に入力される。アライナA1は、キャ
ッシュヒット、キャッシュミスに応じてパス4又はパス
5の64ビットデータの何れか一方を選択してパス7に
出力する機能と、ターゲットアドレスに応じて前記選択
した64ビットデータの前半又は後半32ビットをパス
6に出力する機能がある。パス6に出力された32ビッ
トデータは、精度変換回路Cに入力される。なお、図示
はしていないが、キャッシュヒットしたかキャッシュミ
スしたかの結果に基づく制御信号がアライナA1に入力
されており、この制御信号によりパス4またはパス5の
選択が行われる。また、64ビットデータの前半又は後
半32ビットの選択は、ターゲットアドレス内にこの選
択のための1ビットが含まれ、この1ビットの値をアラ
イナA1で判定することにより、前半又は後半32ビッ
トの選択が行われる。
【0011】同様に、キャッシュミスした場合、データ
判定回路Gのデータ判定結果もデータ判定結果J3を迂
回し、ラッチL4、パス16を経由してアライナA2に
入力され、キャッシュヒットした場合には、データ判定
結果J3の出力が、ラッチL3、パス17を経由してア
ライナA2に入力される。アライナA2は、キャッシュ
ヒット、キャッシュミスに応じてパス16又はパス17
のデータ判定結果の何れか一方を選択してパス18に出
力する機能を有する。パス18に出力されたデータ判定
結果は、精度変換回路Cに入力される。なお、図示はし
ていないが、キャッシュヒットしたかキャッシュミスし
たかの結果に基づく制御信号がアライナA2に入力され
ており、この制御信号によりパス16またはパス17の
選択が行われる。
判定回路Gのデータ判定結果もデータ判定結果J3を迂
回し、ラッチL4、パス16を経由してアライナA2に
入力され、キャッシュヒットした場合には、データ判定
結果J3の出力が、ラッチL3、パス17を経由してア
ライナA2に入力される。アライナA2は、キャッシュ
ヒット、キャッシュミスに応じてパス16又はパス17
のデータ判定結果の何れか一方を選択してパス18に出
力する機能を有する。パス18に出力されたデータ判定
結果は、精度変換回路Cに入力される。なお、図示はし
ていないが、キャッシュヒットしたかキャッシュミスし
たかの結果に基づく制御信号がアライナA2に入力され
ており、この制御信号によりパス16またはパス17の
選択が行われる。
【0012】精度変換回路Cは、パス6からの32ビッ
トデータと、パス18からのデータ判定結果が入力さ
れ、図6に示すように、データ判定結果にしたがい単精
度データを倍精度データへフォーマット変換する。
トデータと、パス18からのデータ判定結果が入力さ
れ、図6に示すように、データ判定結果にしたがい単精
度データを倍精度データへフォーマット変換する。
【0013】また、倍精度浮動小数点ロード命令の実行
では、データ精度変換は不要であるから、データキャッ
シュメモリJ2又は主記憶装置からの64ビット倍精度
データをアライナA1で選択した後、パス7、セレクタ
S2、パス10を経由して、ターゲットのFRに書き込
む。なお、図示はしていないが、Dステージでのデコー
ド結果に基づく制御信号がセレクタS2に入力されてお
り、この制御信号によりパス7またはパス8またはパス
9の信号の選択が行われる。
では、データ精度変換は不要であるから、データキャッ
シュメモリJ2又は主記憶装置からの64ビット倍精度
データをアライナA1で選択した後、パス7、セレクタ
S2、パス10を経由して、ターゲットのFRに書き込
む。なお、図示はしていないが、Dステージでのデコー
ド結果に基づく制御信号がセレクタS2に入力されてお
り、この制御信号によりパス7またはパス8またはパス
9の信号の選択が行われる。
【0014】また、ストア命令の場合には、セレクタS
3により、固定小数点ストア命令ならばGRからのパス
13を選択し、浮動小数点ストア命令ならばFRからの
パス11を選択し、パス2、パス3を経由して、データ
キャッシュメモリJ2に書き込む。この時、データをデ
ータキャッシュメモリJ2に書き込むと共に、パス1
4、データ判定回路G、パス15を経由して、データ判
定回路Gの出力をデータ判定結果J3に書き込む。この
ように、ストア命令ではデータ判定結果の値を更新して
おく必要がある。
3により、固定小数点ストア命令ならばGRからのパス
13を選択し、浮動小数点ストア命令ならばFRからの
パス11を選択し、パス2、パス3を経由して、データ
キャッシュメモリJ2に書き込む。この時、データをデ
ータキャッシュメモリJ2に書き込むと共に、パス1
4、データ判定回路G、パス15を経由して、データ判
定回路Gの出力をデータ判定結果J3に書き込む。この
ように、ストア命令ではデータ判定結果の値を更新して
おく必要がある。
【0015】また、浮動小数点演算の実行では、パス1
1、パス12を経由してFRのデータを浮動小数点演算
器F2に送り、演算結果はパス9、パス10を経由して
ターゲットのFRに書き込まれる。
1、パス12を経由してFRのデータを浮動小数点演算
器F2に送り、演算結果はパス9、パス10を経由して
ターゲットのFRに書き込まれる。
【0016】上記実施例では、データが浮動小数点デー
タであり、単精度の浮動小数点データを倍精度の浮動小
数点データに変換する場合のデータ変換方式の具体例に
ついて説明したが、データ変換対象となるデータは、浮
動小数点データに限られるものではなく、データキャッ
シュから読み出された後にデータ変換が必要とされるデ
ータであればよいのであって、このようなデータに本発
明のデータ変換方式が適用可能であることは云うまでも
ない。
タであり、単精度の浮動小数点データを倍精度の浮動小
数点データに変換する場合のデータ変換方式の具体例に
ついて説明したが、データ変換対象となるデータは、浮
動小数点データに限られるものではなく、データキャッ
シュから読み出された後にデータ変換が必要とされるデ
ータであればよいのであって、このようなデータに本発
明のデータ変換方式が適用可能であることは云うまでも
ない。
【0017】
【発明の効果】以上説明したように、本発明によれば、
データのデータキャッシュへの書き込みに平行してデー
タの種類をデータ判定し、データキャッシュにデータと
データ判定結果を書き込むようにしているため、キャッ
シュヒットした場合の読み出しデータはそのままデータ
変換回路でデータ変換されるため、従来技術に比べ、キ
ャッシュヒットした場合の読み出しデータのデータ変換
の処理速度を向上することができ、データ変換によるデ
ィレイの低減を図ることができる。
データのデータキャッシュへの書き込みに平行してデー
タの種類をデータ判定し、データキャッシュにデータと
データ判定結果を書き込むようにしているため、キャッ
シュヒットした場合の読み出しデータはそのままデータ
変換回路でデータ変換されるため、従来技術に比べ、キ
ャッシュヒットした場合の読み出しデータのデータ変換
の処理速度を向上することができ、データ変換によるデ
ィレイの低減を図ることができる。
【図1】本発明の実施例の構成を示す図である。
【図2】実施例におけるキャッシュミスの場合のタイム
チャートである。
チャートである。
【図3】実施例におけるキャッシュヒットの場合のタイ
ムチャートである。
ムチャートである。
【図4】従来技術に従う単精度データ変換方式の構成を
示す図である。
示す図である。
【図5】精度変換のためのデータ判定回路における処理
内容を示す図である。
内容を示す図である。
【図6】精度変換回路における処理内容を示す図であ
る。
る。
【図7】浮動小数点データのデータ形式の例を示す図で
ある。
ある。
J1 データアドレスタグ J2 データキャッシュメモリ J3 データ判定結果 F1 浮動小数点レジスタ F2 浮動小数点演算器 G データ判定回路 C 精度変換回路 L1〜L4 ラッチ S1〜S3 セレクタ A1、A2 アライナ 1〜18 パス
Claims (4)
- 【請求項1】 データキャッシュに、書き込まれたデー
タの種類を示すデータ判定結果をデータ毎に記憶するデ
ータ判定結果領域を設け、 前記データキャッシュへのデータの書き込みと平行して
該データの種類を判定しデータ判定結果を前記データ判
定結果領域に書き込むデータ判定手段を設け、 前記データキャッシュから読み出されたデータとデータ
判定結果を入力し、該データ判定結果に基づき該データ
のデータ変換を行うデータ変換手段を設けたことを特徴
とするデータ変換方式。 - 【請求項2】 請求項1記載のデータ変換方式におい
て、 前記データキャッシュへの書き込みデータと、前記デー
タキャッシュからの読み出しデータを入力し、該両デー
タの内のいずれか一方のデータを選択して出力する第1
のアライナと、前記データ判定手段から出力されたデー
タ判定結果と、前記データキャッシュから読み出したデ
ータ判定結果を入力し、該両データ判定結果の内のいず
れか一方のデータ判定結果を選択して出力する第2のア
ライナを設け、該第1のアライナと第2のアライナの出
力を前記データ変換手段の入力としてデータ変換を行う
ことを特徴とするデータ変換方式。 - 【請求項3】 請求項2記載のデータ変換方式におい
て、 前記第1のアライナは、前記データキャッシュへの書き
込みデータと、前記データキャッシュからの読み出しデ
ータを入力し、該両データの内のいずれか一方のデータ
を選択し、かつ該選択したデータの内、データ変換の必
要のないデータを出力する出力端子と、データ変換の必
要なデータを出力する出力端子とを備え、該データ変換
の必要なデータを出力する出力端子を前記データ変換手
段の入力に接続することを特徴とするデータ変換方式。 - 【請求項4】 請求項1乃至請求項3のいずれかの請求
項記載のデータ変換方式において、 前記データキャッシュに書き込まれるデータは浮動小数
点データであり、前記データの種類は単精度データか倍
精度データかの種類及び単精度データにおける種類であ
ることを特徴とするデータ変換方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8205211A JPH1031618A (ja) | 1996-07-16 | 1996-07-16 | データ変換方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8205211A JPH1031618A (ja) | 1996-07-16 | 1996-07-16 | データ変換方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1031618A true JPH1031618A (ja) | 1998-02-03 |
Family
ID=16503249
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8205211A Pending JPH1031618A (ja) | 1996-07-16 | 1996-07-16 | データ変換方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1031618A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006154979A (ja) * | 2004-11-25 | 2006-06-15 | Sony Corp | 浮動小数点数演算回路 |
| CN116560817A (zh) * | 2023-05-29 | 2023-08-08 | 北京百度网讯科技有限公司 | 任务执行方法、装置、电子设备和存储介质 |
-
1996
- 1996-07-16 JP JP8205211A patent/JPH1031618A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006154979A (ja) * | 2004-11-25 | 2006-06-15 | Sony Corp | 浮動小数点数演算回路 |
| US7949696B2 (en) | 2004-11-25 | 2011-05-24 | Sony Corporation | Floating-point number arithmetic circuit for handling immediate values |
| CN116560817A (zh) * | 2023-05-29 | 2023-08-08 | 北京百度网讯科技有限公司 | 任务执行方法、装置、电子设备和存储介质 |
| CN116560817B (zh) * | 2023-05-29 | 2024-05-07 | 北京百度网讯科技有限公司 | 任务执行方法、装置、电子设备和存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3810407B2 (ja) | 推測式プロセッサにおいて信頼性のないデータを含む命令の実行を削減するシステム及び方法 | |
| JP4344870B2 (ja) | 特殊浮動小数点数の迅速な検出のための浮動小数点値のタグ付け | |
| US4675809A (en) | Data processing system for floating point data having a variable length exponent part | |
| US6233670B1 (en) | Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating result bypassing | |
| EP0491693B1 (en) | Improved cpu pipeline having register file bypass on update/access address compare | |
| JP2000235491A (ja) | コンピュータ・プロセッサにおけるロード・エラーの処理 | |
| US5913054A (en) | Method and system for processing a multiple-register instruction that permit multiple data words to be written in a single processor cycle | |
| EP0126247B1 (en) | Computer system | |
| JPH11504744A (ja) | 単精度または倍精度で算術演算を行なうためのシステム | |
| JP3199465B2 (ja) | 情報処理装置 | |
| US5335330A (en) | Information processing apparatus with optimization programming | |
| JP3751402B2 (ja) | データ精度モード表示器を備えたマルチパイプライン・マイクロプロセッサ | |
| JPH07239780A (ja) | 1クロック可変長命令実行処理型命令読み込み電子計 算機 | |
| JP2580396B2 (ja) | パイプラインにおける分岐命令制御方式 | |
| US5732005A (en) | Single-precision, floating-point register array for floating-point units performing double-precision operations by emulation | |
| JPH1031618A (ja) | データ変換方式 | |
| JP3693556B2 (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 | |
| JP3132566B2 (ja) | 命令先行制御装置 | |
| JPH07191911A (ja) | アドレス変換装置及びマイクロプロセッサ算出方法 | |
| JP2685713B2 (ja) | データ処理装置 | |
| JP3445535B2 (ja) | バイパス制御回路 | |
| JPH06139071A (ja) | 並列計算機 | |
| JP2629479B2 (ja) | 情報処理装置 | |
| JPH0991139A (ja) | 情報処理装置 |