... | ... | @@ -39,7 +39,7 @@ RV32IM向けにコンパイルしたCoreMarkのトレースは[内部用wiki](ht |
|
|
|
|
|
パイプライン化を完成させた後に行う課題になります。
|
|
|
|
|
|
パイプライン化を行うと、適宜ストールを発生させる必要があります。特に、ストールの要因として大きな部分を占めるのは、分岐命令です。分岐命令の結果が確定するまで、次の PC がわからないことが原因ですが、「多分次の PC はこの値」と予測できれば、投機的に次の命令を実行することができます(投機的に、というのは「無駄になるかもしれないが、予測が当たれば(性能面で)得になる」というようなニュアンスです)。
|
|
|
パイプライン化を行うと、適宜ストールを発生させる必要があります。特に、ストールの要因として大きな部分を占めるのは、分岐命令です。分岐命令の結果が確定するまで、次の PC がわからないことが原因ですが、「多分次の PC (分岐命令の**飛び先**)はこの値」と予測できれば、投機的に次の命令をフェッチして実行することができます(投機的に、というのは「無駄になるかもしれないが、予測が当たれば(性能面で)得になる」というようなニュアンスです)。
|
|
|
|
|
|
分岐予測ミス時に、間違って実行しかけてしまった命令をなかったことにする機構を実装する必要があります。
|
|
|
|
... | ... | |