SPARCの浮動小数点レジスタについて

 SPARCの浮動小数点レジスタはちょっと変わっている。
 他のプロセッサは、64ビット長のレジスタ(MIPS,POWER ISA2.04)または80ビット長のレジスタ(IA-64,IA-32)1本で倍精度、単精度の数値を扱っている。
 MIPS I では2本の32ビット単精度レジスタを組み合わせて1本の倍精度レジスタとして扱っていたが、MIPS III では1本のレジスタを64ビットに拡張した。
 SPARCは、32ビット長のレジスタを基本に64本持っており、先頭から数えて32本を単精度、先頭から2本づつ数えて32本を倍精度、先頭から4本づつ数えて16本を四倍精度としている。
 これにより単精度と倍精度を混在して利用するときには、他のプロセッサがレジスタの本数内(例えば32レジスタだったら16単精度+16倍精度)でしか扱えないのに対し、単精度32本+倍精度16本などの構成が使える。
 コンテキスト切り替えによるレジスタ値の保存も64ビット×32本のプロセッサと同等の領域しか必要としない。効率的に利用している。SPARC64 VIIIfxも256本の浮動小数点レジスタを持っているが、拡張は容易だったろう。
 これらは32ビットプロセッサのSPARC V8の頃から定義してある。

PowerISA_2.04
MIPS IV Instruction Set
The SPARC Archtecture Manual V8
The SPARC Archtecture Manual V9

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 1

驚いた

この記事へのコメント

この記事へのトラックバック