PowerPCシミュレータであるPSIMをgdbで使った時の実行時間です。
PSIMサイトで公開しているテストプログラムの一つである、
profile/bench.beを実行してみました。
実行時間はrunを実行してプロンプトがもどってくるまでの時間を
目視で3回計りました。
BASH.EXE-2.02$ ~/bin/powerpc-unknown-eabisim-gdb.exe bench.be GNU gdb 4.18 Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "--host=i586-pc-cygwin32 --target=powerpc-unknown-eab i"... (gdb) target sim -I -e netbsd Connected to the simulator. (gdb) load (gdb) run Starting program: /taneda/develop/gdb-4.18/psim/test/profile/bench.be Program exited normally. (gdb) quit CPU #1 executed 680,057 Add instructions. CPU #1 executed 1,471,822 Add Immediate instructions. CPU #1 executed 693,108 Add Immediate Carrying instructions. CPU #1 executed 1,415,729 Add Immediate Shifted instructions. CPU #1 executed 471,909 Add to Zero Extended instructions. CPU #1 executed 1,847,431 Branch instructions. CPU #1 executed 1,999,250 Branch Conditional instructions. CPU #1 executed 571,911 Branch Conditional to Link Register instructions. CPU #1 executed 327,226 Compare instructions. CPU #1 executed 1,083,742 Compare Immediate instructions. CPU #1 executed 145,867 Compare Logical instructions. CPU #1 executed 442,414 Compare Logical Immediate instructions. CPU #1 executed 1 Condition Register XOR instruction. CPU #1 executed 207,746 Divide Word instructions. CPU #1 executed 208,550 Divide Word Unsigned instructions. CPU #1 executed 212,016 Extend Sign Byte instructions. CPU #1 executed 286,232 Extend Sign Half Word instructions. CPU #1 executed 690,535 Load Byte and Zero instructions. CPU #1 executed 911,914 Load Halfword and Zero instructions. CPU #1 executed 1 Load Word And Reserve Indexed instruction. CPU #1 executed 8,161,576 Load Word and Zero instructions. CPU #1 executed 100,001 Move from Special Purpose Register instructions. CPU #1 executed 100,000 Move to Special Purpose Register instructions. CPU #1 executed 888,205 Multiply Low Word instructions. CPU #1 executed 2,298,394 OR instructions. CPU #1 executed 521,912 OR Immediate instructions. CPU #1 executed 2,190,842 Rotate Left Word Immediate then AND with Mask instructions. CPU #1 executed 663,613 Shift Left Word instructions. CPU #1 executed 1,151,564 Shift Right Algebraic Word Immediate instructions. CPU #1 executed 230,570 Store Byte instructions. CPU #1 executed 297,858 Store Half Word instructions. CPU #1 executed 4,396,294 Store Word instructions. CPU #1 executed 1 Store Word Conditional Indexed instruction. CPU #1 executed 571,911 Store Word with Update instructions. CPU #1 executed 887,803 Subtract From instructions. CPU #1 executed 1 System Call instruction. CPU #1 executed 207,746 XOR instructions. CPU #1 executed 47,270,559 cycles. CPU #1 executed 18,864,127 stalls waiting for data. CPU #1 executed 1 stall waiting for serialization. CPU #1 executed 767,750 branches. CPU #1 executed 3,650,842 conditional branches fell through. CPU #1 executed 767,750 successful branch predictions. CPU #1 executed 1,231,500 unsuccessful branch predictions. CPU #1 executed 1,556,834 branch if the condition is FALSE conditional branches. CPU #1 executed 442,416 branch if the condition is TRUE conditional branches. CPU #1 executed 571,911 branch always conditional branches. CPU #1 executed 14,580,081 1st single cycle integer functional unit instructions. CPU #1 executed 571,916 2nd single cycle integer functional unit instructions. CPU #1 executed 1,504,502 multiple cycle integer functional unit instructions. CPU #1 executed 15,260,659 load/store functional unit instructions. CPU #1 executed 4,418,594 branch functional unit instructions. CPU #1 executed 36,335,752 instructions that were accounted for in timing info. CPU #1 executed 9,764,027 reads (690,535 1-byte, 911,914 2-byte, 8,161,578 4-byte, 0 8-byte). CPU #1 executed 5,496,634 writes (230,570 1-byte, 297,858 2-byte, 4,968,206 4-byte, 0 8-byte). CPU #1 executed 426 icache misses. CPU #1 executed 36,335,752 instructions in total.