고성능 임베디드 디바이스를 위한 RV32IMC명령어 확장을 지원하는 RISC-V 파이프라인 프로세서 설계 및 구현

Design and Implementation of RISC-V Pipeline Processor Supporting RV32IMC Instruction Extensions for High-Performance Embedded Devices

  • 박경우 (상명대학교 시스템반도체공학과) ;
  • 심현진 (상명대학교 시스템반도체공학과) ;
  • 김선희 (상명대학교 시스템반도체공학과) ;
  • 김용우 (한국교원대학교 기술교육과)
  • Kyeongwoo Park (Department of System Semiconductor Engineering, Sangmyung University) ;
  • Hyeonjin Sim (Department of System Semiconductor Engineering, Sangmyung University) ;
  • Sunhee Kim (Department of System Semiconductor Engineering, Sangmyung University) ;
  • Yongwoo Kim (Department of Technology Education, Korea National University of Education)
  • 투고 : 2024.05.30
  • 심사 : 2024.09.12
  • 발행 : 2024.09.30

초록

Recent research on embedded systems has become increasingly important due to their central role in high-performance embedded devices, including artificial intelligence, autonomous driving, and energy management technologies. Embedded systems are specialized computer systems designed to perform specific tasks while optimizing performance and minimizing memory usage. RISC-V, an open RISC-based instruction set architecture developed by the University of Berkeley in 2010, is well-suited for these systems. In addition to the base 32-bit integer instruction set, RISC-V supports extensions such as the M-extension for multiplication and division and the C-extension for instruction compression. In this paper, we propose the design of a 32-bit 5-stage pipeline RV32IMC processor aimed at high-performance embedded devices. By incorporating the RV32IMC instruction set, the proposed processor achieves enhanced computational efficiency and reduced code size, making it a strong candidate for energy-efficient, high-performance embedded applications. Furthermore, the design was validated on an Artix-7 field-programmable gate array, demonstrating the processor's feasibility and potential benefits for embedded systems.

키워드

과제정보

다음의 성과는 과학기술정보통신부와 연구개발특구진흥재단이 지원하는 과학벨트지원사업으로 수행된 연구결과입니다.

참고문헌

  1. J. Ramanujam, J. Hong, M. Kandemir, A. Narayan, and A. Agarwal, "Estimating and reducing the memory requirements of signal processing codes for embedded systems", IEEE, vol.54, pp. 286-294, 2006.
  2. A. Waterman, K. Asanovi, and RISC-V International, "The RISC-V instruction set manual, Volume I: UserLevel ISA, document version 20191213", 2019.
  3. R. P. Weicker, "Dhrystone: A synthetic systems programming benchmark", Communications of the ACM, Vol.27, No.10, pp.1013-1030, 1984. https://doi.org/10.1145/358274.358283
  4. EEMBC, "CoreMark - CPU Benchmark - MCU Benchmark", https://www.eembc.org/coremark/.
  5. M. Askarihemmat, S. Wagner, O. Bilaniuk, Y. Hariri, Y. Savaria, J. David, "BARVINN: Arbitrary Precision DNN Accelerator Controlled by a RISC-V CPU", Retrieved December, 31, 2022, from https://arxiv.org/abs/2301.00290.
  6. lowRISC, ibex. Retrieved May, 3, 2024, from https://github.com/lowRISC/ibex.
  7. riscv-boom, riscv-boom. Retrieved March, 18, 2024 from https://github.com/riscv-boom/riscv-boom.
  8. A. Amid, D. Biancolin, A. Gonzalez, D. Grubb, S. Karandikar, H. Liew, A. Magyar, H. Mao, A. Ou, N. Pemberton, P. Rigge, C. Schmidt, J. Wright, J. Zhao, Y. Sophia Shao, K. Asanovic, B. Nikolic, "Chipyard: Integrated Design, Simulation, and Implementation Framework for Custom SoCs", IEEE, vol.40, pp. 10-21, 2020.
  9. ucb-bar, chipyard. Retrieved May, 7, 2024, from https://github.com/ucb-bar/chipyard.
  10. chipsalliance, rocket-chip. Retrieved May, 13, 2024, from https://github.com/chipsalliance/rocket-chip
  11. openhwgroup, cva6. Retrieved May, 14, 2024, from https://github.com/openhwgroup/cva6
  12. ucb-bar, gemmini. Retrieved May, 11, 2024, from https://github.com/ucb-bar/gemmini
  13. syntacore, scr1. Retrieved May, 7, 2024, from https://github.com/syntacore/scr1.
  14. YosysHQ, PicoRV32. Retrieved March, 27, 2024, from https://github.com/YosysHQ/picorv32.
  15. S. Jo, J. Lee, Y. Kim, "A Design and Implementation of 32-bit Five-Stage RISC-V Processor Using FPGA", Journal of the Semiconductor & Display Technology, vol. 21, no. 4, pp. 27-32, 2022.
  16. S. Park, Y. Kim, "A Design and Implementation of 32- bit RISC-V RV32IM Pipelined Processor in Embedded Systems", Journal of the Semiconductor & Display Technology, vol. 22, no. 4, pp. 81-86, 2023.
  17. U. S. Patankar, A. Koel, "Review of basic classes of dividers based on division algorithm", IEEE, vol. 9, pp. 23035 - 23069, 2021.
  18. A. Waterman, Y. Lee, D. Patterson, K. Asanovi, "The RISC-V Compressed Instruction Set Manual, document version 20151205", 2015.
  19. T. Kanamori, H. Miyazaki, K. Kise, "RVCoreP-32IC: A high-performance RISC-V soft processor with an efficient fetch unit supporting the compressed instructions", Retrieved November, 23, 2020, from https://arxiv.org/abs/2011.11246.
  20. SpainHDL, VexRiscv. Retrieved November, 17, 2023, from https://github.com/SpinalHDL/VexRiscv.
  21. P. Davide, F. Conti, D. Rossi, M. Gautschi, A. Pullini, E. Flamand, L. Benini "Slow and steady wins the race? A comparison of ultra-low-power RISC-V cores for Internet-of-Things applications" 2017 27th International Symposium on Power and Timing Modeling, Optimization and Simulation (PATMOS), pp.1-8, 2017.
  22. Arm Limited Arm Cortex-M Processor Comparison Table. Retrieved October, 5, 2022, from https://developer.arm.com/documentation/102787/0100.