CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

速度比較

浮動小数点演算の速度を8087有り無しで比べてみました
 
プログラムの初期化部分で8087の有無の判定を行い大域変数_8087にフラグがセットされこれ以降、浮動小数点演算のたびに8087のコードかソフトエミュレーションかに分岐しますが途中でフラグをクリアして強制的にエミュレーション動作させています。
 
ここでは0~360度のsin(x)の算出を10Hzの割込みで時間計測しました。
 
イメージ 1

これをLSIC-86でコンパイル、実行させた結果です
 
イメージ 2
デフォルトの8087有り(_8087=1)では1.3秒、
強制的に8087無しソフトエミュレーション(_8087=0)では5.3秒と約4倍の速度差が出ています