===== 06 TIM CPU MULT DIV TIME | BIOS 19951204 System ROM Version 3.0 11/18/96 A BadVaddr as the group starts: 800154CE cpu/mult div timing (timer 2, system clock) nop 00000000 00000000: 547 cycles for 100 nop, 20 nops 00000000 00000000: 2572 cycles for 100 mult 00000000 00000003: 1147 cycles for 100 multu 00000000 00000003: 1147 cycles for 100 mult rt 00000003 00000000: 1127 cycles for 100 mult 00000001 00000003: 1127 cycles for 100 multu 00000001 00000003: 1127 cycles for 100 mult rt 00000003 00000001: 1132 cycles for 100 mult 000007FF 00000003: 1127 cycles for 100 multu 000007FF 00000003: 1127 cycles for 100 mult rt 00000003 000007FF: 1127 cycles for 100 mult 00000800 00000003: 1427 cycles for 100 multu 00000800 00000003: 1427 cycles for 100 mult rt 00000003 00000800: 1127 cycles for 100 mult 000FFFFF 00000003: 1427 cycles for 100 multu 000FFFFF 00000003: 1427 cycles for 100 mult rt 00000003 000FFFFF: 1127 cycles for 100 mult 00100000 00000003: 1827 cycles for 100 multu 00100000 00000003: 1827 cycles for 100 mult rt 00000003 00100000: 1127 cycles for 100 mult 7FFFFFFF 00000003: 1827 cycles for 100 multu 7FFFFFFF 00000003: 1832 cycles for 100 mult rt 00000003 7FFFFFFF: 1147 cycles for 100 mult FFFFFFFF 00000003: 1127 cycles for 100 multu FFFFFFFF 00000003: 1847 cycles for 100 mult rt 00000003 FFFFFFFF: 1127 cycles for 100 mult 80000000 00000003: 1827 cycles for 100 multu 80000000 00000003: 1827 cycles for 100 mult rt 00000003 80000000: 1127 cycles for 100 div 12345678 00000003: 4147 cycles for 100 divu 12345678 00000003: 4147 cycles for 100 div by 0 12345678 00000000: 4147 cycles for 100 mult, 20 nops 7FFFFFFF 00000003: 2572 cycles for 100 div, 20 nops 12345678 00000003: 4156 cycles for 100 mult 00100000 00000003 then n nops then mflo: mult, 0 nops, mflo: 1847 cycles for 100 mult, 1 nops, mflo: 1841 cycles for 100 mult, 2 nops, mflo: 1843 cycles for 100 mult, 3 nops, mflo: 1840 cycles for 100 mult, 4 nops, mflo: 1841 cycles for 100 mult, 5 nops, mflo: 1841 cycles for 100 mult, 6 nops, mflo: 1846 cycles for 100 mult, 7 nops, mflo: 1840 cycles for 100 mult, 8 nops, mflo: 1845 cycles for 100 mult, 9 nops, mflo: 1854 cycles for 100 mult, 10 nops, mflo: 1855 cycles for 100 mult, 11 nops, mflo: 1859 cycles for 100 mult, 12 nops, mflo: 1761 cycles for 100 mult, 13 nops, mflo: 1862 cycles for 100 mult, 14 nops, mflo: 1969 cycles for 100 div, 5 nops, mflo: 4142 cycles for 100 div, 10 nops, mflo: 4146 cycles for 100 div, 30 nops, mflo: 4190 cycles for 100 div, 33 nops, mflo: 4188 cycles for 100 div, 34 nops, mflo: 4192 cycles for 100 div, 35 nops, mflo: 4087 cycles for 100 div, 36 nops, mflo: 4185 cycles for 100 div, 37 nops, mflo: 4299 cycles for 100 what waits for a busy multiply (rs 00100000): mult then mfhi: 1837 cycles for 100 mult, no read: 436 cycles for 100 div, no read: 441 cycles for 100 mult then mtlo: 541 cycles for 100 mult then mthi: 541 cycles for 100 mult then mult then mflo: 1940 cycles for 100 mult then mtlo then mflo: 648 cycles for 100 loads, 100 turns of the load and a nop: RAM KSEG0 80024F4C lw: 954 cycles for 100 RAM KSEG1 A0024F4C lw: 956 cycles for 100 scratchpad 1F800100 lw: 545 cycles for 100 BIOS BFC00100 lw: 2940 cycles for 100 BIOS BFC00100 lh: 1753 cycles for 100 BIOS BFC00100 lb: 1148 cycles for 100 EXP1 1F000084 lb: 1149 cycles for 100 EXP2 1F802000 lb: 1547 cycles for 100 EXP3 1FA00000 lh: 1045 cycles for 100 EXP3 1FA00000 lb: 1053 cycles for 100 I_STAT 1F801070 lw: 750 cycles for 100 DPCR 1F8010F0 lw: 744 cycles for 100 timer 0 1F801100 lw: 744 cycles for 100 JOY_STAT 1F801044 lh: 757 cycles for 100 CDROM status 1F801800 lb: 1247 cycles for 100 GPUSTAT 1F801814 lw: 744 cycles for 100 MDEC status 1F801824 lw: 744 cycles for 100 SPUSTAT 1F801DAE lh: 2245 cycles for 100 SPU word 1F801DAC lw: 4240 cycles for 100 cache control FFFE0130 lw: 544 cycles for 100 RAM lw, used at once: 957 cycles for 100 RAM lw, used after 1 nop: 1258 cycles for 100 RAM lw, used after 2 nops: 1357 cycles for 100 RAM lw, used after 3 nops: 1356 cycles for 100 RAM lw then lw: 1464 cycles for 100 BIOS lw, used at once: 2923 cycles for 100 BIOS lw, used after 3 nops: 3320 cycles for 100 stores, 100 turns of n stores: RAM, 1 sw: 452 cycles for 100 RAM, 2 sw: 564 cycles for 100 RAM, 3 sw: 667 cycles for 100 RAM, 4 sw: 888 cycles for 100 RAM, 5 sw: 1114 cycles for 100 RAM, 6 sw: 1316 cycles for 100 RAM, 7 sw: 1522 cycles for 100 RAM, 8 sw: 1722 cycles for 100 RAM, 4 sw then lw: 2105 cycles for 100 RAM, sw then lw: 1470 cycles for 100 scratchpad, 1 sw: 441 cycles for 100 scratchpad, 8 sw: 1148 cycles for 100 I_MASK, 1 sw: 420 cycles for 100 I_MASK, 4 sw: 845 cycles for 100 I_MASK, sw then lw: 820 cycles for 100 a store, n instructions, then a load of its word: RAM sw, 1 nop, lw: 1468 cycles for 100 RAM sw, 2 nops, lw: 1480 cycles for 100 RAM sw, 3 nops, lw: 1472 cycles for 100 RAM sw, 4 nops, lw: 1469 cycles for 100 RAM sw, 6 nops, lw: 1579 cycles for 100 RAM sw, lw of another word: 1479 cycles for 100 RAM 4 sw, lw of another word: 2107 cycles for 100 chain-looping's loop: 1653 cycles for 100 RAM lw, used after 4 nops: 1356 cycles for 100 IO and BIOS loads used after the delay slot: I_STAT lw, used at once: 750 cycles for 100 I_STAT lw, used after 1 nop: 1035 cycles for 100 I_STAT lw, used after 2 nops: 1137 cycles for 100 I_STAT lw then lw: 1140 cycles for 100 BIOS lw, used after 1 nop: 3220 cycles for 100 BIOS lw, used after 2 nops: 3320 cycles for 100 BIOS lw then lw: 5418 cycles for 100 stores to other devices, each writing back what is there: GP0 NOP, 1 sw: 420 cycles for 100 GP0 NOP, 4 sw: 818 cycles for 100 CDROM index, 1 sb: 622 cycles for 100 CDROM index, 4 sb: 2436 cycles for 100 SPU main volume, 1 sh: 805 cycles for 100 SPU main volume, 4 sh: 3213 cycles for 100 scratchpad, 4 sw: 749 cycles for 100 RAM, 1 sh: 442 cycles for 100 RAM, 4 sh: 892 cycles for 100 RAM, 4 sb: 903 cycles for 100 card 5, the store-then-load curve with baselines: RAM sw, 5 nops, lw: 1479 cycles for 100 RAM sw, 7 nops, lw: 1660 cycles for 100 RAM sw, 8 nops, lw: 1775 cycles for 100 RAM 5 nops, lw (no store): 1252 cycles for 100 RAM 7 nops, lw (no store): 1458 cycles for 100 RAM 9 nops, lw (no store): 1651 cycles for 100 chain-looping's loop, the sw a nop: 1468 cycles for 100 I_STAT lw, used after 3 nops: 1149 cycles for 100 I_STAT lw, used after 4 nops: 1144 cycles for 100 SPU word lw then lw: 8244 cycles for 100 mthi and mtlo after a busy multiply (rs 00100000): mult, mthi, mfhi: 650 cycles for 100 mult, mthi, mflo: 646 cycles for 100 mult, mtlo, mfhi: 653 cycles for 100 code from uncached RAM (KSEG1): nop loop: 3103 cycles for 100 nop, 20 nops loop: 15292 cycles for 100 RAM lw loop: 3516 cycles for 100 Done.