1

アセンブリ言語で書かれたハノイの塔プログラムの実行時間を測定する必要があります。このタスクを実行するために使用される関数または特定のレジスタ値はありますか?

4

1 に答える 1

1

特に SPIM については知りませんが、どの mips プロセッサにも CPU クロックの半分でインクリメントするカウント レジスタがあります。SPIM がこのレジスタをエミュレートすると、プログラムの実行時間を簡単に測定できます。プログラムが実行される前と後にその内容を読むだけです。

SPIM がこのレジスタをエミュレートしないか、命令をカウントしない場合、MARS mips エミュレータがエミュレートします。一般に、エミュレータでの時間の測定は、ホストのハードウェア時間に応じて同じプログラムでも異なるため、無意味です。命令カウンターは、エミュレーター ホストに関係なく同じであるため、パフォーマンスのより良い尺度です。

MARS には命令カウンターがあり、SPIM プログラムを実行すると思います。

短い検索の後、私はこれを見つけました: http://www.cs.colostate.edu/~mstrout/spim/keepstats.html

命令をカウントする SPIM を修正しました。

于 2012-03-19T05:40:21.873 に答える