整数演算ユニット
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/28 10:14 UTC 版)
「Alpha 21064」の記事における「整数演算ユニット」の解説
整数演算ユニットは、整数演算命令を受け持つ。整数レジスタファイル (IRF) と E-box で構成されている。IRFには32本の64ビットレジスタがあり、4つのリードポートと2つのライトポートがある。これらポートは整数演算ユニットと分岐ユニットに同数ずつ配分されている。E-box には、加算器が1つ、論理演算ユニットが1つ、バレルシフタが1つ、乗算器が1つある。乗算とシフトとバイト操作を除く多くの整数演算命令は第5ステージで実行を完了するので、レイテンシは1サイクルである。バレルシフタはパイプライン化されているが、シフト命令とバイト操作命令は第6ステージの最後まで完了しないので、レイテンシは2サイクルとなる。乗算器は回路面積を節約するためパイプライン化されていない。そのため乗算命令のレイテンシは、オペランドの値によって19サイクルから23サイクルまで変化する。第7ステージで、整数演算命令は結果をIRFに書き込む。
※この「整数演算ユニット」の解説は、「Alpha 21064」の解説の一部です。
「整数演算ユニット」を含む「Alpha 21064」の記事については、「Alpha 21064」の概要を参照ください。
整数演算ユニット
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/28 10:15 UTC 版)
「Alpha 21164」の記事における「整数演算ユニット」の解説
2つの整数パイプラインと整数レジスタファイルで構成されている。2つのパイプラインは同一ではなく、加算パイプラインと乗算パイプラインに分かれており、実行できる命令も異なる。しかし、一般的な加算、論理演算、ロード、比較、条件付き転送命令などはどちらのパイプラインでも実行できる。乗算パイプラインだけが実行できる命令としては、シフト、ストア、乗算命令がある(乗算器そのものはパイプライン化されていない)。加算パイプラインだけが実行できる命令は、分岐命令である。 分岐、条件付き転送、乗算命令を除いた全命令は第5ステージで実行され、1サイクルのレイテンシで実行完了する。分岐と条件付き転送の実行は第6ステージになっており、比較命令を並行して実行し、その結果を使って動作可能になっている。 整数レジスタファイルは40本の64ビットレジスタを持ち、そのうち32本がAlphaアーキテクチャの規定するレジスタであり、残る8本はPALcode(英語版)がスクラッチパッド・メモリとして利用する。レジスタファイルには4つのリードポートと2つのライトポートがあり、2本のパイプラインに同数のポートが割り当てられている。
※この「整数演算ユニット」の解説は、「Alpha 21164」の解説の一部です。
「整数演算ユニット」を含む「Alpha 21164」の記事については、「Alpha 21164」の概要を参照ください。
整数演算ユニット
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/19 08:04 UTC 版)
整数演算ユニットには、整数レジスタファイル、3本のパイプライン(整数演算用2本、ロード/ストア用1本)がある。整数レジスタファイルには64ビット幅のレジスタが64本あり、うち32本がアーキテクチャ上のレジスタで、残る32本はリネーミング用である。レジスタファイルには読み取りポートが7つ、書き込みポートが3つある。2つの整数演算パイプラインには加算器と論理演算部がある。ただし、バレルシフタと分岐予測用ハードウェアがあるのは1本目のパイプラインだけで、2本目は乗算器と除算器へのアクセスに使用する。乗算器はパイプライン化されていて、32ビットではレイテンシが6サイクル、64ビットでは10サイクルとなっている。除算器はパイプライン化されておらず、1ビットあたり1サイクルかかる引き放し除算を採用しているので、32ビットでは35サイクル、64ビットでは67サイクルのレイテンシとなる。
※この「整数演算ユニット」の解説は、「R10000」の解説の一部です。
「整数演算ユニット」を含む「R10000」の記事については、「R10000」の概要を参照ください。
- 整数演算ユニットのページへのリンク