~~PAGEIMAGE:arch:risc-v:sipeed:rv-dock-write-perf:20240904-231454.png~~
====== RV-Dock C906 Write Performance ======
{{template>meta:template:pageinfo#tpl|desc=This page documents some experiment data on **XuanTie C906** cache write performance. }}
According to the **D1** user manual, the integrated **C906** supports __32kB D-cache__ and the following __write-through thresholds__:
* continuously storing ''4'' full cache lines.
* continuously storing ''16'' full cache lines.
* continuously storing ''64'' full cache lines.
Therefore, I would like to investigate the write performance under different configurations.
==== Environment And Benchmark ====
=== Environment ===
* Lichee RV-Dock board.
* Memory test region [''0x30000'', ''0x44000'').
=== Benchmark ===
- Specify ''1K'' region $R$ [$A_1$, $A_2$].
- Repeat writing data continuously from $A_1$ to $A_2$ until ''128MB'' of data is written. Then get the consumed time as a sample point.
- Increase $A_2$ by ''1kB'' and jump to [[#step-2|step 2]].
==== Experiment Result ====
=== Disable D-Cache ===
{{:arch:risc-v:sipeed:rv-dock-write-perf:20240904-230750.png?600}}
=== Enable D-Cache And Disable Write-Through ===
{{:arch:risc-v:sipeed:rv-dock-write-perf:20240904-231352.png?600}}
=== Enable D-Cache And Enable Write-Through With 4 Cache Line ===
{{:arch:risc-v:sipeed:rv-dock-write-perf:20240904-231206.png?600}}
=== Enable D-Cache And Enable Write-Through With 16 Cache Line ===
{{:arch:risc-v:sipeed:rv-dock-write-perf:20240904-231230.png?600}}
=== Enable D-Cache And Enable Write-Through With 64 Cache Line ===
{{:arch:risc-v:sipeed:rv-dock-write-perf:20240904-231258.png?600}}
=== All In One ===
{{:arch:risc-v:sipeed:rv-dock-write-perf:20240904-231454.png?600}}