JP5309636B2 - 演算処理装置及び演算処理装置の制御方法 - Google Patents
演算処理装置及び演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP5309636B2 JP5309636B2 JP2008073434A JP2008073434A JP5309636B2 JP 5309636 B2 JP5309636 B2 JP 5309636B2 JP 2008073434 A JP2008073434 A JP 2008073434A JP 2008073434 A JP2008073434 A JP 2008073434A JP 5309636 B2 JP5309636 B2 JP 5309636B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- precision
- instruction
- processing unit
- 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
Links
- 238000000034 method Methods 0.000 title claims description 44
- 230000008569 process Effects 0.000 claims description 25
- 230000015654 memory Effects 0.000 claims description 21
- 238000013500 data storage Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Nonlinear Science (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
Description
まずはじめに、本発明の実施例を適用するプロセサについて説明する。
SPARC−V9における浮動小数点レジスタの構成については上述したが、本発明の実施例を適用するプロセサは、浮動小数点レジスタを更に拡張する。
まず、命令セットに拡張演算レジスタ(XAR)を更新するSXAR(Set XAR)命令という命令を定義する。
まず、プロセサの構成を図6に示す。
図8に、単精度浮動小数点演算命令を処理する演算処理部のデータの流れを示す。図8に示すように、浮動小数点演算処理部65では、命令制御を行う命令デコード部63から命令オペコードを受け取り、命令オペコードがオペコードデコード84される。デコードの結果、単精度浮動小数点演算を指示された場合は、浮動小数点演算器81は入力レジスタ82から入力される入力データの上位4バイトのみを用いた演算を行い、下位4バイトは無視する。そして出力時には上位4バイトに演算結果を、下位4バイトにはゼロを出力し、演算出力レジスタ83に一旦格納し、次のサイクルでその8バイトをリネーミングレジスタ67に書き込む。
図10に通常単精度浮動小数点データつまり4バイト書き込みをする場合を、図11に代替単精度浮動小数点データつまり8バイト書き込みをする場合を示し、図を参照して説明する。
図12に単精度浮動小数点ストア命令を処理するストア処理部69のデータの流れを示す。ストア処理部69においても、通常単精度浮動小数点ストア命令か、代替単精度浮動小数点ストア命令かによって処理を区別することなく、共通の処理を行う。すなわち、単精度浮動小数点ストア命令に対しストア処理部は、浮動小数点レジスタ71からのストアデータの読み出しを行い、ストア対象となる4バイトデータを、ストア処理部69にある、ストア命令ごとに1つ割り当てられるストアバッファ121の上位4バイトにアライン
して書き込む。ストアデータの下位4バイトに関しては、キャッシュへ書き込む際に無視をするのでデータは何であってもよい。
命令デコード部63では、キャッシュメモリ上に単精度浮動小数点データの書き込みを行う通常単精度小数点ストア命令と代替単精度小数点ストア命令ともに、キャッシュメモリに書き込むレングスを4バイトとしてデコードする。ストアバッファ121には、データをストアするアドレスを送出するとともに、このストアレングス情報(4バイト)を送出する。コミット制御部73からはストア命令のコミット時に、通常単精度小数点ストア命令と代替単精度小数点ストア命令で共通のストアコミット指示信号がストア処理部69に送出され、ストア処理部69はこれを契機にストアデータの上位4バイトをキャッシュメモリ(1次データキャッシュ72)に書き込む処理をする。このように単精度浮動小数点ストア命令を処理する場合、ストア処理部69、コミット制御部73では、通常単精度浮動小数点ストア命令と代替単精度浮動小数点ストア命令との区別をせずに同等の動作をする。通常単精度浮動小数点ストア命令か、代替単精度浮動小数点ストア命令かの差異は、読み出すレジスタアドレス生成の仕方にある。
レスを生成する。
以上のように本実施例のプロセサの、単精度浮動小数点演算命令、単精度浮動小数点ロード命令、単精度浮動小数点ストア命令の際の動作について説明した。
レジスタリネーミングテーブルの構成を図15に示す。
アウトオブオーダ処理を行うプロセサでは、レジスタの依存関係を検出するためのレジスタリネーミングを行うが、浮動小数点レジスタの更新を行う通常単精度演算命令の場合、レジスタリネーミングを4バイト単位で行い、代替浮動小数点演算命令の場合は8バイト単位で行う必要がある。レジスタリネーミングには、各レジスタがライト保留状態か否かを示す1ビットと、リネームされた最新のリネーミングレジスタアドレスを保持するテーブルが必要になる。一般的にプロセサにおいてこのテーブルは高速に参照更新される必要があるので、命令デコード回路の近い場所にラッチ回路によって構成される。このラッチで構成されたテーブルの参照更新にかかる回路規模の削減は、プロセサの動作周波数に大きく貢献する。SPARC−V9アーキテクチャにおいては、%f0から%f31、つまり%d0から%d30に関して、4バイト長のレジスタに対するリネーミングレジスタ番号を持つ必要があり、%d0から%d30まで32個のレジスタについてリネーミングレジスタ番号を保持するテーブルが必要である。一方%d32から%d510までは、8バイト長のレジスタに対するリネーミングレジスタ番号を持つことになるので240個のレジスタについてリネーミングレジスタ番号を保持するテーブルになる。これは%d32から%d510までが単精度浮動小数点データを代替単精度浮動小数点データとして8バイト長で管理するからであり、仮に通常の4バイト長の単精度浮動小数点データで管理し、単精度浮動小数点レジスタは%f0から%f255であるように定義してしまうと、%f32から%f255までだけで、224個のリネーミングレジスタ番号を保持できるテーブルが必要になってしまう。
異なる場所(例えば、上位4バイトから演算器出力結果から得られて、下位4バイトは浮動小数点レジスタから得られるなど)から出力される場合にも、ハードウェアでデータバイパス制御を正しく行うためには、4バイトごとに入力データの選択を行う必要があり、それぞれに対してこの選択回路が必要になる。図16はこのことを示したものである。
以上のように、本実施例の単精度浮動小数点データの格納方式によれば、単精度浮動小数点データの処理を扱う場合でも倍精度浮動小数点レジスタで扱うことが可能となる。これにより、レジスタの依存関係を検出するための回路として倍精度浮動小数点レジスタの依存関係検出回路を利用することが可能となる。これによりハードウェア回路の追加を抑えることが可能となる。
以上のように本実施例の単精度浮動小数点レジスタの格納方式によれば、プロセサのハードウェア量を抑えることができる。ハードウェア回路が複雑化しないため、プロセサの動作周波数を向上させることができ、これによってプロセサの性能向上に貢献することができる。
(付記1)
倍精度浮動小数点データを格納可能な大きさを有する、倍精度浮動小数点データと単精
度浮動小数点データとが格納されるレジスタを備えるプロセサにおいて、
単精度浮動小数点データが指定された場合、前記レジスタの上位半分に入力した単精度浮動小数点データを書き込むとともに、前記レジスタの下位半分にオールゼロを書き込むことを特徴とする単精度浮動小数点データ格納方式。
(付記2)
倍精度浮動小数点データを格納可能な大きさを有する、倍精度浮動小数点データと単精度浮動小数点データとが格納されるレジスタを備えるプロセサの単精度浮動小数点データ格納方法において、
単精度浮動小数点データ処理が指定され、且つ第一の処理が指定された場合、前記レジスタの上位半分に入力した単精度浮動小数点データを、前記レジスタの下位半分にオールゼロを書き込み、
単精度浮動小数点データ処理が指定され、且つ第二の処理が指定された場合、前記レジスタの上位半分に入力した単精度浮動小数点データを書き込むとともに、前記レジスタの下位半分には書き込みを行わない、
ことを特徴とする単精度浮動小数点データ格納方法。
(付記3)
更に、命令をデコードし、該命令のデコード結果に基づいて、前記レジスタへの書き込み処理を実行することを特徴とする付記2記載の単精度浮動小数点データ格納方法。
(付記4)
更に、前記レジスタへの書き込みを行う前に、前記第一の処理または前記第二の処理にそれぞれ対応するデータを一旦リネーミングレジスタに格納し、
前記第一の処理が指定された場合には、前記リネーミングレジスタのデータをそのまま書き込み、
前記第二の処理が指定された場合には、前記デコード結果に含まれる前記レジスタへの書き込み先アドレスが偶数の場合には、前記レジスタの上位半分に前記リネーミングレジスタの上位半分のデータを書き込み、前記レジスタへの書き込み先アドレスが奇数の場合には、前記レジスタの下位半分に前記リネーミングレジスタの上位半分のデータを書き込む、
ことを特徴とする付記3記載の単精度浮動小数点データ格納方法。
(付記5)
倍精度浮動小数点データと単精度浮動小数点データとを格納するレジスタと、
単精度浮動小数点データ処理が指定された場合、前記レジスタの上位半分に入力した単精度浮動小数点データを書き込むとともに、前記レジスタの下位半分にオールゼロを書き込む制御部と、
を備えることを特徴とするプロセサ。
(付記6)
倍精度浮動小数点データを格納可能な大きさを有する、倍精度浮動小数点データと単精度浮動小数点データとが格納されるレジスタと、
単精度浮動小数点データ処理が指定され、且つ第一の処理が指定された場合、前記レジスタの上位半分に入力した単精度浮動小数点データを、前記レジスタの下位半分にオールゼロを書き込む一方、単精度浮動小数点データ処理が指定され、且つ第二の処理が指定された場合、前記レジスタの上位半分に入力した単精度浮動小数点データを書き込むとともに、前記レジスタの下位半分には書き込みを行わない制御部と、
を備えることを特徴とするプロセサ。
(付記7)
更に、命令をデコードするデコーダを備え、
前記制御部は、前記デコーダによる命令デコード結果に基づいて、前記レジスタへの書き込み処理を実行することを特徴とする付記6記載のプロセサ。
(付記8)
更に、
前記レジスタへの書き込みを行う前に、前記第一の処理または前記第二の処理にそれぞれ対応するデータを一旦格納するリネーミングレジスタと、
前記デコーダがデコードした命令の制御信号および前記レジスタへの書き込み先アドレスをセットし、前記リネーミングレジスタに格納されたデータを前記レジスタへの格納をコミットするコミット制御部と、
を備え、
前記第一の処理が指定された場合には、前記リネーミングレジスタのデータをそのまま書き込み、
前記第二の処理が指定された場合に、前記コミット制御部にセットされたレジスタへの書き込み先アドレスが偶数の場合には、前記レジスタの上位半分に前記リネーミングレジスタの上位半分のデータを書き込み、前記レジスタへの書き込み先アドレスが奇数の場合には、前記レジスタの下位半分に前記リネーミングレジスタの上位半分のデータを書き込む、
ことを特徴とする付記6記載のプロセサ。
(付記9)
更に、
前記第一の処理または前記第二の処理を指定するとともに、該指定情報を保持する第二のレジスタを備えることを特徴とする付記6記載のプロセサ。
(付記10)
前記第二のレジスタは拡張演算レジスタで、該拡張演算レジスタが有効か否かで、前記第一の処理または前記第二の処理を区別することを特徴とする付記9記載のプロセサ。
(付記11)
更に、命令をデコードするデコーダを備え、
前記デコーダが単精度浮動小数点演算処理、単精度浮動小数点ロード・ストア処理を指示する命令をデコードするとき、前記第二のレジスタの指定に基づいて、読み出しまたは書き込みのレジスタアドレスを単精度浮動小数点データ単位で指示するか、倍精度浮動小数点データ単位で指示するかを使い分けることを特徴とする付記9記載のプロセサ。
(付記12)
更に、
命令をデコードするデコーダと、
演算処理を行う演算処理部と、
ロード処理を行うロード処理部と、
を備え、
前記デコーダは、単精度浮動小数点演算処理、単精度浮動小数点ロード処理を指示する命令をデコードするとき、前記第一の処理および前記第二の処理に対応して共通のオペコードを前記演算処理部および前記ロード処理部に送り、
前記演算処理部および前記ロード処理部は前記第一のレジスタの上位半分に結果を出力し、下位半分のデータをオールゼロで出力する、ことを特徴とする付記9記載のプロセサ。
(付記13)
更に、
命令をデコードするデコーダと
演算処理を行う演算処理部と、
ストア処理を行うストア処理部と、
を備え、
前記デコーダは、単精度浮動小数点演算処理、単精度浮動小数点ストア処理を指示する命令をデコードするとき、前記第一の処理および前記第二の処理に対応して共通のオペコードを前記演算処理部および前記ストア処理部に送り、
前記演算処理部および前記ストア処理部は前記第一のレジスタの上位半分の長さのデータだけを入力として演算処理、またはストア処理を行うことを特徴とする付記9記載のプ
ロセサ。
62 2次キャッシュ/メモリ部
63 命令デコード部
64 レジスタリネーミングテーブル
65 演算処理部
66 アドレス生成部
67 リネーミングレジスタ
68 ロード処理部
69 ストア処理部
70 固定小数点レジスタ
71 浮動小数点レジスタ
72 1次データキャッシュ
73 コミット制御部
74 拡張演算レジスタ(XAR)
75 メモリアドレス生成部
81 浮動小数点演算器
82 入力レジスタ
83 演算出力レジスタ
84 オペコードデコード
91 ロード出力レジスタ
92 オペコードデコード
121 ストアバッファ
Claims (9)
- 所定の精度を有する単精度データ又は前記単精度データの倍の精度を有する倍精度データのいずれかを格納可能なデータレジスタと、
前記単精度データを第一のデータ形式により前記データレジスタに書き込む場合、前記データレジスタの上位半分又は下位半分の一方に前記単精度データを書き込むとともに他方には所定値を書き込み、前記単精度データを第二のデータ形式により前記データレジスタに書き込む場合、前記データレジスタの上位半分又は下位半分の一方に前記単精度データを書き込むとともに他方には書き込みを行わない制御部を備えることを特徴とする演算処理装置。 - 前記演算処理装置はさらに、
命令をデコードするデコーダを備え、
前記制御部は、
前記デコーダによる命令のデコード結果に基づいて、前記単精度データを前記第一のデータ形式又は前記第二のデータ形式のいずれにより前記データレジスタに書き込むことを特徴とする請求項1に記載の演算処理装置。 - 前記演算処理装置はさらに、
前記第一のデータ形式又は前記第二のデータ形式のいずれにより前記データレジスタに書き込むかを指定するデータ形式指定情報を保持する拡張レジスタを備えることを特徴とする請求項1に記載の演算処理装置。 - 前記演算処理装置はさらに、
命令をデコードするデコーダと、
データを保持するキャッシュメモリを備え、
前記デコーダが、単精度データに対する演算を前記第一のデータ形式により行う単精度演算命令、単精度データを前記第一のデータ形式により前記データレジスタにロードする単精度ロード命令又は前記データレジスタが前記第一のデータ形式により保持する単精度データを前記キャッシュメモリに保持させる単精度ストア命令のいずれかの命令をデコードする場合、前記いずれかの命令のオペコードに含まれるレジスタ指定情報と前記拡張レジスタに保持された前記レジスタ指定情報を拡張する拡張レジスタ指定情報とに基づいて、前記いずれかの命令がアクセスを行うデータレジスタを指定することを特徴とする請求項3記載の演算処理装置。 - 前記演算処理装置はさらに、
命令をデコードするデコーダと、
演算命令を実行する演算処理部を有し、
前記デコーダは、
前記単精度データに対する演算を行う単精度演算命令を実行する場合、前記第一のデータ形式に対する単精度演算命令と前記第二のデータ形式に対する単精度演算命令との間で共通のオペコードを前記演算処理部に出力し、
前記演算処理部は、
前記デコーダが出力したオペコードに基づき、前記データレジスタの上位半分又は下位半分の一方に前記単精度演算命令の演算結果を出力するとともに、他方には所定値を出力することを特徴とする請求項1に記載の演算処理装置。 - 前記演算処理装置はさらに、
命令をデコードするデコーダと、
ロード命令を実行するロード処理部を有し、
前記デコーダは、
前記単精度データを前記データレジスタにロードする単精度ロード命令をデコードする場合、前記第一のデータ形式に対する単精度演算命令と前記第二のデータ形式に対する単精度演算命令との間で共通のオペコードを前記ロード処理部に出力し、
前記ロード処理部は、
前記デコーダが出力したオペコードに基づき、前記データレジスタの上位半分又は下位半分の一方に前記単精度データを出力するとともに、他方には所定値を出力することを特徴とする請求項1に記載の演算処理装置。 - 前記演算処理装置はさらに、
命令をデコードするデコーダと、
データを保持するキャッシュメモリと、
ストア命令を実行するストア処理部を有し、
前記デコーダは、
前記データレジスタが前記第一のデータ形式により保持する単精度データを前記キャッシュメモリに保持させる単精度ストア命令をデコードする場合、前記第一のデータ形式に対する単精度ストア命令と前記第二のデータ形式に対する単精度ストア命令との間で共通のオペコードを前記ストア処理部に出力し、
前記ストア処理部は、
前記デコーダが出力したオペコードに基づき、前記データレジスタの上位半分又は下位半分の一方に保持された前記単精度データのみを前記キャッシュメモリに出力することを特徴とする請求項1に記載の演算処理装置。 - 所定の精度を有する単精度データ又は前記単精度データの倍の精度を有する倍精度データのいずれかを格納可能なデータレジスタを有する演算処理装置の制御方法において、
前記単精度データを第一のデータ形式により前記データレジスタに書き込む場合、前記演算処理装置が有する制御部が、前記データレジスタの上位半分又は下位半分の一方に前記単精度 データを書き込むとともに他方には所定値を書き込み、
前記単精度データを第二のデータ形式により前記データレジスタに書き込む場合、前記制御部が、前記データレジスタの上位半分又は下位半分の一方に前記単精度データを書き込むとともに他方には書き込みを行わないことを特徴とする演算処理装置の制御方法。 - 前記演算処理装置の制御方法において、
前記演算処理装置はさらに、データレジスタ間の依存関係を検出するリネーミングレジスタを有し、
前記データレジスタに対する前記単精度データの書き込みを行う前に、前記単精度データを前記リネーミングレジスタに保持させ、
前記単精度データを前記第一のデータ形式により前記データレジスタに書き込む場合、前記演算処理装置が有する制御部が、レジスタ指定情報で指定されるデータレジスタの上位半分又は下位半分の一方に前記単精度データを書き込むとともに他方には所定値を書き込み、
前記単精度データを前記第二のデータ形式により前記データレジスタに書き込む場合かつ前記レジスタ指定情報が偶数である場合、前記制御部が、前記データレジスタの上位半分に前記リネーミングレジスタが保持する単精度データを書き込み、
前記単精度データを前記第二のデータ形式により前記データレジスタに書き込む場合かつ前記レジスタ指定情報が奇数である場合、前記制御部が、前記データレジスタの下位半分に前記リネーミングレジスタが保持する単精度データを書き込むことを特徴とする請求項8記載の演算処理装置の制御方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008073434A JP5309636B2 (ja) | 2008-03-21 | 2008-03-21 | 演算処理装置及び演算処理装置の制御方法 |
EP08168705A EP2104033B1 (en) | 2008-03-21 | 2008-11-10 | Single-precision floating-point data storing method and processor |
US12/276,788 US8412761B2 (en) | 2008-03-21 | 2008-11-24 | Single precision floating-point data storing method and processor |
CN200810178904.8A CN101539850B (zh) | 2008-03-21 | 2008-11-27 | 单精度浮点数据存储方法和处理器 |
KR1020080120003A KR101026821B1 (ko) | 2008-03-21 | 2008-11-28 | 단정밀도 부동 소수점 데이터의 저장 방법 및 프로세서 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008073434A JP5309636B2 (ja) | 2008-03-21 | 2008-03-21 | 演算処理装置及び演算処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009230339A JP2009230339A (ja) | 2009-10-08 |
JP5309636B2 true JP5309636B2 (ja) | 2013-10-09 |
Family
ID=40122469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008073434A Expired - Fee Related JP5309636B2 (ja) | 2008-03-21 | 2008-03-21 | 演算処理装置及び演算処理装置の制御方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8412761B2 (ja) |
EP (1) | EP2104033B1 (ja) |
JP (1) | JP5309636B2 (ja) |
KR (1) | KR101026821B1 (ja) |
CN (1) | CN101539850B (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5309636B2 (ja) * | 2008-03-21 | 2013-10-09 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
CN101930355B (zh) * | 2010-08-24 | 2013-07-24 | 中国航天科技集团公司第九研究院第七七一研究所 | 实现寄存器文件分组编址、读写控制方法的寄存器电路 |
CN101930356B (zh) * | 2010-08-24 | 2013-03-20 | 中国航天科技集团公司第九研究院第七七一研究所 | 用于浮点协处理器的寄存器文件分组编址、读写控制方法 |
CN103984524B (zh) * | 2014-05-15 | 2016-07-06 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种面向risc处理器的三端口浮点寄存器文件 |
US20170322808A1 (en) * | 2016-05-05 | 2017-11-09 | Cirrus Logic International Semiconductor Ltd. | Low-power processor with support for multiple precision modes |
US10379851B2 (en) | 2017-06-23 | 2019-08-13 | International Business Machines Corporation | Fine-grained management of exception enablement of floating point controls |
US10725739B2 (en) | 2017-06-23 | 2020-07-28 | International Business Machines Corporation | Compiler controls for program language constructs |
US10684852B2 (en) | 2017-06-23 | 2020-06-16 | International Business Machines Corporation | Employing prefixes to control floating point operations |
US10481908B2 (en) | 2017-06-23 | 2019-11-19 | International Business Machines Corporation | Predicted null updated |
US10310814B2 (en) | 2017-06-23 | 2019-06-04 | International Business Machines Corporation | Read and set floating point control register instruction |
US10514913B2 (en) | 2017-06-23 | 2019-12-24 | International Business Machines Corporation | Compiler controls for program regions |
US10740067B2 (en) | 2017-06-23 | 2020-08-11 | International Business Machines Corporation | Selective updating of floating point controls |
US10671497B2 (en) | 2018-01-19 | 2020-06-02 | International Business Machines Corporation | Efficient and selective sparing of bits in memory systems |
JP6604393B2 (ja) | 2018-03-08 | 2019-11-13 | 日本電気株式会社 | ベクトルプロセッサ、演算実行方法、プログラム |
CN108304217B (zh) * | 2018-03-09 | 2020-11-03 | 中国科学院计算技术研究所 | 将长位宽操作数指令转换为短位宽操作数指令的方法 |
US11372643B2 (en) * | 2018-11-09 | 2022-06-28 | Intel Corporation | Systems and methods for performing instructions to convert to 16-bit floating-point format |
US11093246B2 (en) | 2019-09-06 | 2021-08-17 | International Business Machines Corporation | Banked slice-target register file for wide dataflow execution in a microprocessor |
US11157276B2 (en) * | 2019-09-06 | 2021-10-26 | International Business Machines Corporation | Thread-based organization of slice target register file entry in a microprocessor to permit writing scalar or vector data to portions of a single register file entry |
US11119774B2 (en) | 2019-09-06 | 2021-09-14 | International Business Machines Corporation | Slice-target register file for microprocessor |
US20240004664A1 (en) * | 2022-06-30 | 2024-01-04 | Advanced Micro Devices, Inc. | Split register list for renaming |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61138333A (ja) | 1984-12-10 | 1986-06-25 | Nec Corp | 演算モジユ−ル |
US5740093A (en) * | 1995-12-20 | 1998-04-14 | Intel Corporation | 128-bit register file and 128-bit floating point load and store for quadruple precision compatibility |
US5778247A (en) * | 1996-03-06 | 1998-07-07 | Sun Microsystems, Inc. | Multi-pipeline microprocessor with data precision mode indicator |
US5784588A (en) * | 1997-06-20 | 1998-07-21 | Sun Microsystems, Inc. | Dependency checking apparatus employing a scoreboard for a pair of register sets having different precisions |
US5884070A (en) * | 1997-06-25 | 1999-03-16 | Sun Microsystems, Inc. | Method for processing single precision arithmetic operations in system where two single precision registers are aliased to one double precision register |
JP3526269B2 (ja) | 2000-12-11 | 2004-05-10 | 株式会社東芝 | ネットワーク間中継装置及び該中継装置における転送スケジューリング方法 |
JP4443100B2 (ja) | 2002-07-31 | 2010-03-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラム変換方法、これを用いたデータ処理装置及びプログラム |
US7191316B2 (en) | 2003-01-29 | 2007-03-13 | Sun Microsystems, Inc. | Method and a system for using same set of registers to handle both single and double precision floating point instructions in an instruction stream |
US7418606B2 (en) | 2003-09-18 | 2008-08-26 | Nvidia Corporation | High quality and high performance three-dimensional graphics architecture for portable handheld devices |
US20070011222A1 (en) | 2005-07-07 | 2007-01-11 | Dance Sherman M | Floating-point processor for processing single-precision numbers |
JP5309636B2 (ja) * | 2008-03-21 | 2013-10-09 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
-
2008
- 2008-03-21 JP JP2008073434A patent/JP5309636B2/ja not_active Expired - Fee Related
- 2008-11-10 EP EP08168705A patent/EP2104033B1/en not_active Not-in-force
- 2008-11-24 US US12/276,788 patent/US8412761B2/en not_active Expired - Fee Related
- 2008-11-27 CN CN200810178904.8A patent/CN101539850B/zh not_active Expired - Fee Related
- 2008-11-28 KR KR1020080120003A patent/KR101026821B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20090101064A (ko) | 2009-09-24 |
JP2009230339A (ja) | 2009-10-08 |
US8412761B2 (en) | 2013-04-02 |
CN101539850B (zh) | 2015-04-01 |
KR101026821B1 (ko) | 2011-04-04 |
CN101539850A (zh) | 2009-09-23 |
EP2104033A1 (en) | 2009-09-23 |
EP2104033B1 (en) | 2011-07-06 |
US20090240757A1 (en) | 2009-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5309636B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP6807383B2 (ja) | 転送プレフィックス命令 | |
US8601239B2 (en) | Extended register addressing using prefix instruction | |
JP5808348B2 (ja) | マシン状態に基づいた命令の分割 | |
JP6942298B2 (ja) | ベクトル演算命令の例外条件処理 | |
US6594754B1 (en) | Mapping destination logical register to physical register storing immediate or renamed source register of move instruction and using mapping counters | |
JP2005202964A (ja) | 割り込みをタイプ別に計数する方法、システムおよびプログラム | |
KR100308512B1 (ko) | 편집 기능을 위한 전문 밀리코드 지시 | |
KR100317769B1 (ko) | 압축 기억된 십진수 나눗셈에 대한 전문 밀리코드 명령 | |
KR100322726B1 (ko) | 번역 및 테스트를 위한 전문 밀리코드 명령 | |
JP3983482B2 (ja) | 高速ディスプレースメント付きpc相対分岐方式 | |
CN111522586B (zh) | 信息处理装置、非暂态计算机可读介质和信息处理方法 | |
JP3630804B2 (ja) | データ処理装置 | |
KR100322725B1 (ko) | 전문 갱신 및 분기 명령을 이용하는 밀리코드 플래그 | |
CN112912843A (zh) | 具有精确中断和/或重写的向量指令 | |
US20140365751A1 (en) | Operand generation in at least one processing pipeline | |
JP4533432B2 (ja) | Tlb相関型分岐予測器及びその使用方法 | |
JP5263497B2 (ja) | 信号処理プロセッサ及び半導体装置 | |
JP5263498B2 (ja) | 信号処理プロセッサ及び半導体装置 | |
JP5311008B2 (ja) | 信号処理プロセッサ及び半導体装置 | |
JP2569867B2 (ja) | 実効アドレス先行計算型パイプラインマイクロプロセッサ | |
JP2000187583A (ja) | プロセッサ | |
JPH0756760A (ja) | リカバリ装置 | |
JPH03186935A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101119 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130204 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130617 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5309636 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |