ぼくのかんがえたさいきょうCPU レジスタセット
ようやく大和をお迎えできました。現在Lv55。
さて汎用レジスタをどう定義しようか。
ぼくのかんがえたさいきょうCPU ローカルレジスタ
ぼくのかんがえたさいきょうCPU ステータスレジスタ検討
ぼくのかんがえたさいきょうCPU ロードストア専用レジスタの検討
ステータスレジスタ類はASI空間に割り当てることにする。汎用レジスタは最大64本。レジスタのビット長さは決めない。LSB側が0bitに割り当て。
※絵を差し替え
汎用レジスタの本数はR0~から任意。R31まで。整数演算のみ扱う場合はこれだけあればよい。
R32~R63は汎用レジスタの拡張部分。浮動小数点演算の機能を持つ場合、浮動小数点レジスタF0~F31はこの領域に重ねる。これによりロード/ストアは整数演算と浮動小数点演算の区別なく行える。整数演算とのレジスタ転送も同様。
R32~の領域はレジスタウィンドウなどその他の拡張に割り当てることができる。
レジスタの幅は8/16/32/64~など定義できるが、IEEE754準拠の単精度浮動小数点を扱う場合は32bit長、倍精度浮動小数点演算を扱う場合は64bit長が必要になる。
R32~に浮動小数点レジスタを置く場合は汎用レジスタよりも大きいサイズを許容する。汎用レジスタR32~は下位ビットのみアクセスできる。浮動小数点と整数の転送はメモリを介する。
汎用レジスタが32本よりも多いアーキテクチャを探したら、SH-5は64本、IA-64は128本あった。このうちIA-64は後半部分をレジスタウィンドウとして使用する。
SuperH, Inc.
05-CC-10001 V1.0 SH-5 CPU Core, Volume 1: Architecture
さて汎用レジスタをどう定義しようか。
ぼくのかんがえたさいきょうCPU ローカルレジスタ
ぼくのかんがえたさいきょうCPU ステータスレジスタ検討
ぼくのかんがえたさいきょうCPU ロードストア専用レジスタの検討
ステータスレジスタ類はASI空間に割り当てることにする。汎用レジスタは最大64本。レジスタのビット長さは決めない。LSB側が0bitに割り当て。
※絵を差し替え
汎用レジスタの本数はR0~から任意。R31まで。整数演算のみ扱う場合はこれだけあればよい。
R32~R63は汎用レジスタの拡張部分。浮動小数点演算の機能を持つ場合、浮動小数点レジスタF0~F31はこの領域に重ねる。これによりロード/ストアは整数演算と浮動小数点演算の区別なく行える。整数演算とのレジスタ転送も同様。
R32~の領域はレジスタウィンドウなどその他の拡張に割り当てることができる。
レジスタの幅は8/16/32/64~など定義できるが、IEEE754準拠の単精度浮動小数点を扱う場合は32bit長、倍精度浮動小数点演算を扱う場合は64bit長が必要になる。
R32~に浮動小数点レジスタを置く場合は汎用レジスタよりも大きいサイズを許容する。汎用レジスタR32~は下位ビットのみアクセスできる。浮動小数点と整数の転送はメモリを介する。
汎用レジスタが32本よりも多いアーキテクチャを探したら、SH-5は64本、IA-64は128本あった。このうちIA-64は後半部分をレジスタウィンドウとして使用する。
SuperH, Inc.
05-CC-10001 V1.0 SH-5 CPU Core, Volume 1: Architecture
この記事へのコメント