OSECPUと第三世代OSASKの差異のメモ
- (by K, 2013.04.10)
- (osask.netに書こうと思ったんだけどパスワードを忘れて新規ページが作れない。メモを見つけるまでこっちに書いておく)
メモ
- gg02でも簡易レジスタsave・restoreはある。そしてこの命令にも精度指定がある。したがって、上位のビットは復元されないことになる。
- そしてその精度は、その関数の復元精度ということになり、それ以上のビット幅で使っているレジスタについては、呼び出し側で保存、復元する必要がある。これを支援するためにuse(Rxx, 128); みたいな疑似命令を用意してもいいかもしれない。
- でもちょっと待て。そもそも上位のビットを破壊しないのであれば、復元しなくてもいいのではないか?・・・その通りだ。
- しかし上位ビットを破壊しないという保証が難しい。16bitアーキテクチャで実行して、タスクセーブして64bit環境で復元した場合、上位を壊さないような命令で実行するのか?・・・それは違うだろう。
- これはビット数に依存しないでそこそこの性能を出すという目的のための代償だと思って割り切るべきだ。
こめんと欄