- This project was developed in RISC-V ISA.
- This project was used to improve both execution time and storage space from this project that used Counting Leading Zero (CLZ) to implement data encryption and decpytion.
- I removed inefficient register utilization and duplicate assembly instructions to enhance performance.
- In the execution timeperformance, the V1(optimized version) is 135 clock cycles shorter than that of
V0_a(original)
. - In the storage space performance, the size of V1(optimized version) is smaller than that of
V0_a(original)
. - The more detailed information is available at here.
- Performance compared versions:
No. Meaning optimized 0_c the benchmark with original C implementation unoptimized 0_a the benchmark with original Assembly implementation unoptimized 1 re-implementation with Assembly implementation optimized - Storage comparison using rv32emu
Version text data bss dec hex 0_a 732 0 0 732 2dc 0_c
(w/o optimal)53142 1876 1528 732 2dc 0_c
(O1)52128 1884 1528 55540 d8f4 0_c
(O2)52128 1884 1528 55540 d8f4 0_c
(Ofast)52698 1884 1528 56110 db2e 1 512 0 0 512 200 - Clock cycle time comparison using rv32emu
Version clock cycles(measured by rv32emu) 0_a 241 0_c w/o optimal 7825 0_c O1 optimal 7361 0_c O2 optimal 7361 0_c Ofast optimal 7070 V1 106