RDMSR - Throughput and Uops
With unroll_count=500 and no inner loop
- Code:
0: 0f 32 rdmsr
- Init:
MOV RCX, 0xE7
- Show nanoBench command
- Results:
- Instructions retired: 1.0
- Core cycles: 92.28
- Reference cycles: 72.43
- UOPS_EXECUTED.THREAD: 80.0
- RETIRE_SLOTS: 83.0
- UOPS_MITE: 0.0
- UOPS_MS: 83.0
- UOPS_PORT_0: 18.0
- UOPS_PORT_1: 15.0
- UOPS_PORT_2: 0.0
- UOPS_PORT_3: 0.0
- UOPS_PORT_4: 0.0
- UOPS_PORT_5: 17.0
- UOPS_PORT_6: 30.0
- UOPS_PORT_7: 0.0
- DIV_CYCLES: 0.0
- ILD_STALL.LCP: 0.0
- UOPS_MITE>=1: 0.0
With unroll_count=500, no inner loop, and 1 NOP
- Code:
0: 0f 32 rdmsr
2: 90 nop
- Init:
MOV RCX, 0xE7
- Show nanoBench command
- Results:
- Instructions retired: 2.0
- Core cycles: 93.12
- Reference cycles: 73.2
- UOPS_EXECUTED.THREAD: 80.0
- RETIRE_SLOTS: 84.0
- UOPS_MITE: 1.0
- UOPS_MS: 83.0
- UOPS_PORT_0: 18.0
- UOPS_PORT_1: 15.0
- UOPS_PORT_2: 0.0
- UOPS_PORT_3: 0.0
- UOPS_PORT_4: 0.0
- UOPS_PORT_5: 17.0
- UOPS_PORT_6: 30.0
- UOPS_PORT_7: 0.0
- DIV_CYCLES: 0.0
- ILD_STALL.LCP: 0.0
- UOPS_MITE>=1: 1.0
With loop_count=1000 and unroll_count=10
- Code:
0: 0f 32 rdmsr
- Init:
MOV RCX, 0xE7
- Show nanoBench command
- Results:
- Instructions retired: 1.2
- Core cycles: 93.2
- Reference cycles: 73.29
- UOPS_EXECUTED.THREAD: 80.1
- RETIRE_SLOTS: 83.1
- UOPS_MITE: 0.1
- UOPS_MS: 83.0
- UOPS_PORT_0: 18.0
- UOPS_PORT_1: 14.9
- UOPS_PORT_2: 0.0
- UOPS_PORT_3: 0.0
- UOPS_PORT_4: 0.0
- UOPS_PORT_5: 17.1
- UOPS_PORT_6: 30.1
- UOPS_PORT_7: 0.0
- DIV_CYCLES: 0.0
- ILD_STALL.LCP: 0.0
- UOPS_MITE>=1: 0.1
With loop_count=100 and unroll_count=100
- Code:
0: 0f 32 rdmsr
- Init:
MOV RCX, 0xE7
- Show nanoBench command
- Results:
- Instructions retired: 1.02
- Core cycles: 92.08
- Reference cycles: 72.41
- UOPS_EXECUTED.THREAD: 80.01
- RETIRE_SLOTS: 83.01
- UOPS_MITE: 0.01
- UOPS_MS: 83.0
- UOPS_PORT_0: 17.98
- UOPS_PORT_1: 15.01
- UOPS_PORT_2: 0.0
- UOPS_PORT_3: 0.0
- UOPS_PORT_4: 0.0
- UOPS_PORT_5: 17.0
- UOPS_PORT_6: 30.02
- UOPS_PORT_7: 0.0
- DIV_CYCLES: 0.0
- ILD_STALL.LCP: 0.0
- UOPS_MITE>=1: 0.01