Skip to content

Instantly share code, notes, and snippets.

@nuta
Created June 13, 2021 12:54
Show Gist options
  • Save nuta/5a3fbafb822953caf209843745b55250 to your computer and use it in GitHub Desktop.
Save nuta/5a3fbafb822953caf209843745b55250 to your computer and use it in GitHub Desktop.
Cache memory experiment on Resea IPC on Raspberry Pi 3B+
Booting Resea v0.9.0 (dc57ce1)...
[kernel] Booted CPU #0
[vm] ready
[benchmark_server] starting benchmark server...
[benchmark] starting IPC benchmark...
{"type":"metric","key":"reading cycle counter","value":30}
[benchmark] reading cycle counter: cycles: avg=31, min=30, max=376
[benchmark] reading cycle counter: l1d_cache_access: avg=0, min=0, max=0
[benchmark] reading cycle counter: l2d_cache_access: avg=0, min=0, max=0
[benchmark] reading cycle counter: mem_access: avg=10, min=10, max=174
[benchmark] reading cycle counter: l1_tlb_refill: avg=0, min=0, max=1
[benchmark] reading cycle counter: num_exceptions: avg=0, min=0, max=1
{"type":"metric","key":"memcpy (8-bytes)","value":951}
[benchmark] memcpy (8-bytes): cycles: avg=1024, min=951, max=14133
[benchmark] memcpy (8-bytes): l1d_cache_access: avg=0, min=0, max=0
[benchmark] memcpy (8-bytes): l2d_cache_access: avg=0, min=0, max=0
[benchmark] memcpy (8-bytes): mem_access: avg=26, min=25, max=229
[benchmark] memcpy (8-bytes): l1_tlb_refill: avg=0, min=0, max=0
[benchmark] memcpy (8-bytes): num_exceptions: avg=0, min=0, max=1
{"type":"metric","key":"memcpy (64-bytes)","value":7315}
[benchmark] memcpy (64-bytes): cycles: avg=7656, min=7315, max=21187
[benchmark] memcpy (64-bytes): l1d_cache_access: avg=0, min=0, max=0
[benchmark] memcpy (64-bytes): l2d_cache_access: avg=0, min=0, max=0
[benchmark] memcpy (64-bytes): mem_access: avg=140, min=138, max=341
[benchmark] memcpy (64-bytes): l1_tlb_refill: avg=0, min=0, max=0
[benchmark] memcpy (64-bytes): num_exceptions: avg=0, min=0, max=1
{"type":"metric","key":"memcpy (512-bytes)","value":56699}
[benchmark] memcpy (512-bytes): cycles: avg=58343, min=56699, max=71055
[benchmark] memcpy (512-bytes): l1d_cache_access: avg=0, min=0, max=0
[benchmark] memcpy (512-bytes): l2d_cache_access: avg=0, min=0, max=0
[benchmark] memcpy (512-bytes): mem_access: avg=1050, min=1034, max=1238
[benchmark] memcpy (512-bytes): l1_tlb_refill: avg=0, min=0, max=0
[benchmark] memcpy (512-bytes): num_exceptions: avg=0, min=0, max=1
{"type":"metric","key":"IPC round-trip (simple)","value":131022}
[benchmark] IPC round-trip (simple): cycles: avg=135070, min=131022, max=159010
[benchmark] IPC round-trip (simple): l1d_cache_access: avg=0, min=0, max=0
[benchmark] IPC round-trip (simple): l2d_cache_access: avg=0, min=0, max=0
[benchmark] IPC round-trip (simple): mem_access: avg=2565, min=2529, max=3041
[benchmark] IPC round-trip (simple): l1_tlb_refill: avg=4, min=4, max=6
[benchmark] IPC round-trip (simple): num_exceptions: avg=2, min=2, max=3
{"type":"metric","key":"IPC round-trip (with 1-byte ool)","value":2752013}
[benchmark] IPC round-trip (with 1-byte ool): cycles: avg=2768550, min=2752013, max=3896607
[benchmark] IPC round-trip (with 1-byte ool): l1d_cache_access: avg=0, min=0, max=0
[benchmark] IPC round-trip (with 1-byte ool): l2d_cache_access: avg=0, min=0, max=0
[benchmark] IPC round-trip (with 1-byte ool): mem_access: avg=48220, min=48119, max=62554
[benchmark] IPC round-trip (with 1-byte ool): l1_tlb_refill: avg=158, min=158, max=192
[benchmark] IPC round-trip (with 1-byte ool): num_exceptions: avg=40, min=40, max=42
Booting Resea v0.9.0 (dc57ce1)...
[kernel] Booted CPU #0
[vm] ready
[benchmark_server] starting benchmark server...
[benchmark] starting IPC benchmark...
{"type":"metric","key":"reading cycle counter","value":30}
[benchmark] reading cycle counter: cycles: avg=30, min=30, max=58
[benchmark] reading cycle counter: l1d_cache_access: avg=0, min=0, max=0
[benchmark] reading cycle counter: l2d_cache_access: avg=0, min=0, max=0
[benchmark] reading cycle counter: mem_access: avg=0, min=0, max=0
[benchmark] reading cycle counter: l1_tlb_refill: avg=0, min=0, max=0
[benchmark] reading cycle counter: num_exceptions: avg=0, min=0, max=0
{"type":"metric","key":"memcpy (8-bytes)","value":54}
[benchmark] memcpy (8-bytes): cycles: avg=54, min=54, max=78
[benchmark] memcpy (8-bytes): l1d_cache_access: avg=0, min=0, max=0
[benchmark] memcpy (8-bytes): l2d_cache_access: avg=0, min=0, max=0
[benchmark] memcpy (8-bytes): mem_access: avg=0, min=0, max=0
[benchmark] memcpy (8-bytes): l1_tlb_refill: avg=0, min=0, max=0
[benchmark] memcpy (8-bytes): num_exceptions: avg=0, min=0, max=0
{"type":"metric","key":"memcpy (64-bytes)","value":231}
[benchmark] memcpy (64-bytes): cycles: avg=232, min=231, max=278
[benchmark] memcpy (64-bytes): l1d_cache_access: avg=0, min=0, max=0
[benchmark] memcpy (64-bytes): l2d_cache_access: avg=0, min=0, max=0
[benchmark] memcpy (64-bytes): mem_access: avg=0, min=0, max=0
[benchmark] memcpy (64-bytes): l1_tlb_refill: avg=0, min=0, max=0
[benchmark] memcpy (64-bytes): num_exceptions: avg=0, min=0, max=0
{"type":"metric","key":"memcpy (512-bytes)","value":1575}
[benchmark] memcpy (512-bytes): cycles: avg=1578, min=1575, max=2444
[benchmark] memcpy (512-bytes): l1d_cache_access: avg=0, min=0, max=0
[benchmark] memcpy (512-bytes): l2d_cache_access: avg=0, min=0, max=0
[benchmark] memcpy (512-bytes): mem_access: avg=0, min=0, max=0
[benchmark] memcpy (512-bytes): l1_tlb_refill: avg=0, min=0, max=0
[benchmark] memcpy (512-bytes): num_exceptions: avg=0, min=0, max=0
{"type":"metric","key":"IPC round-trip (simple)","value":5564}
[benchmark] IPC round-trip (simple): cycles: avg=5739, min=5564, max=7111
[benchmark] IPC round-trip (simple): l1d_cache_access: avg=0, min=0, max=0
[benchmark] IPC round-trip (simple): l2d_cache_access: avg=0, min=0, max=0
[benchmark] IPC round-trip (simple): mem_access: avg=0, min=0, max=0
[benchmark] IPC round-trip (simple): l1_tlb_refill: avg=0, min=0, max=0
[benchmark] IPC round-trip (simple): num_exceptions: avg=0, min=0, max=0
{"type":"metric","key":"IPC round-trip (with 1-byte ool)","value":108983}
[benchmark] IPC round-trip (with 1-byte ool): cycles: avg=110069, min=108983, max=140066
[benchmark] IPC round-trip (with 1-byte ool): l1d_cache_access: avg=0, min=0, max=0
[benchmark] IPC round-trip (with 1-byte ool): l2d_cache_access: avg=0, min=0, max=0
[benchmark] IPC round-trip (with 1-byte ool): mem_access: avg=0, min=0, max=0
[benchmark] IPC round-trip (with 1-byte ool): l1_tlb_refill: avg=0, min=0, max=0
[benchmark] IPC round-trip (with 1-byte ool): num_exceptions: avg=0, min=0, max=0
{"type":"metric","key":"IPC round-trip (with PAGE_SIZE-sized ool)","value":116085}
[benchmark] IPC round-trip (with PAGE_SIZE-sized ool): cycles: avg=117026, min=116085, max=136014
[benchmark] IPC round-trip (with PAGE_SIZE-sized ool): l1d_cache_access: avg=0, min=0, max=0
[benchmark] IPC round-trip (with PAGE_SIZE-sized ool): l2d_cache_access: avg=0, min=0, max=0
[benchmark] IPC round-trip (with PAGE_SIZE-sized ool): mem_access: avg=0, min=0, max=0
[benchmark] IPC round-trip (with PAGE_SIZE-sized ool): l1_tlb_refill: avg=0, min=0, max=0
[benchmark] IPC round-trip (with PAGE_SIZE-sized ool): num_exceptions: avg=0, min=0, max=0
[vm] benchmark: terminated its execution
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment