8단계 RISC-V 소프트 프로세서에서 FreeRTOS 지연 시간을 위한 RV32/RV64 트레이드오프 분석
요약
커스텀 8단계 RISC-V 소프트 프로세서에서 FreeRTOS를 구현하고 RV32와 RV64 간의 지연 시간 차이를 분석한 연구입니다. RV64가 트랩 프레임 및 데이터 구조 확장으로 인해 태스크 스위칭과 선점에서 더 높은 오버헤드를 보임을 입증했습니다.
핵심 포인트
- RV32 대비 RV64의 태스크 스위칭 오버헤드 36.6% 증가
- RV64의 태스크 선점 오버헤드 17.7% 증가
- 오버헤드 원인: 확장된 트랩 프레임 및 커널 데이터 구조
- RTL, 펌웨어 및 벤치마크 코드 오픈 소스 공개
많은 상용 RISC-V 플랫폼이 실시간 운영체제 (RTOS) 지원을 제공하지만, 커스텀 베어메탈 (bare-metal) RISC-V 소프트 프로세서에서 선점형 RTOS (preemptive RTOS)를 활성화하는 방법을 설명하는 실제 사례는 여전히 제한적입니다. 이로 인해 프로세서 마이크로아키텍처 (microarchitecture), 인터럽트 처리 (interrupt handling), 그리고 RTOS 컨텍스트 스위칭 (context switching) 사이의 상호작용을 단순한 하드웨어 구현 사례만으로는 이해하기 어렵습니다. 본 논문은 머신 모드 CSR (machine-mode CSRs), CLINT 타이머, 트랩 및 예외 제어 로직 (trap and exception control logic), 그리고 필수적인 컨텍스트 스위치 경로를 갖춘 커스텀 8단계 RV32/RV64 RISC-V 소프트 프로세서 상에서의 FreeRTOS 설계 및 평가를 제시합니다. 이 플랫폼을 사용하여, 동일한 마이크로아키텍처 구성 및 펌웨어 구조 하에서 Rhealstone에서 파생된 두 가지 지연 시간 마이크로벤치마크(microbenchmarks)인 태스크 스위칭 (task switching)과 태스크 선점 (task preemption)을 mcycle 카운터로 측정하여 RV32와 RV64를 비교합니다. RV64는 태스크 스위칭과 선점에서 각각 36.6%와 17.7% 더 많은 사이클을 필요로 합니다. 명령어 수준 분석 (Instruction-level analysis) 결과, 이러한 오버헤드는 두 배로 늘어난 RV64 트랩 프레임 (trap frame), 더 넓어진 포인터 기반 커널 데이터 구조 (pointer-based kernel data structures), 그리고 64비트 스케줄러 우선순위 처리 (64-bit scheduler priority handling) 때문인 것으로 나타났습니다. RTL, 펌웨어 및 벤치마크 코드는 오픈 소스로 공개됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.AR의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기