피드로 돌아가기
The RegisterInfrastructure
원문 읽기
RISC-V 기반 FPGA 설계부터 Microkernel OS 구축까지의 시스템 엔지니어링
One man, two kernels, and a lot of RISC-V
AI 요약
Context
레거시 IBM PC 및 Mainframe 아키텍처의 현대적 재해석과 QNX의 폐쇄적 라이선스 제약 상황 분석. 기존 QNX 6.4의 32-bit ILP32 구조를 RISC-V 환경의 64-bit LP64로 전환해야 하는 아키텍처 포팅 과제 직면.
Technical Solution
- NeoRV32 softCPU 기반의 25MHz RISC-V 코어를 FPGA(Olimex GateMate A1-EVB)에 구현한 하드웨어 설계
- UCS-2 Unicode 기반의 80x30 텍스트 출력 VGA 컨트롤러 및 QSPI 인터페이스를 통한 8MB PSRAM 확장 구조 채택
- S/360의 Channel I/O 모델과 PSW 개념을 유지하며 Little-endian 및 PC-relative addressing을 도입한 S/359 아키텍처 설계
- QNX 6.4 커널의 ILP32 모델을 RISC-V용 LP64 모델로 마이그레이션하여 64-bit 아키텍처 최적화 달성
- 정식 검증된 seL4 커널 기반의 QSOE/L과 자체 제작 SMP Microkernel인 Skimmer 기반의 QSOE/N 이원화 구조 설계
- 단일 Userspace와 통합 Build System을 공유하여 커널 교체 가능성을 확보한 유연한 OS 계층 구조 구축
실천 포인트
- 하드웨어 제약 상황에서 PSRAM 및 QSPI 인터페이스를 통한 메모리 확장 전략 검토 - 레거시 아키텍처 포팅 시 ILP32에서 LP64로의 데이터 모델 전환 필요성 확인 - 시스템 신뢰성 확보를 위해 Formal Verification이 완료된 seL4와 같은 Microkernel 도입 고려 - 커널 독립적인 Userspace 설계를 통해 인프라 하위 계층의 유연한 교체 가능성 확보