Writing a RISC-V Emulator in Rust
Создание эмулятора RISC-V на Rust — это активно развивающийся проект, позволяющий собрать 64-битный эмулятор с нуля. После завершения курса вы сможете запускать в нем xv6 — простую Unix-подобную операционную систему. Проект охватывает основы компьютерной архитектуры: ISA, привилегированный режим, исключения, прерывания, периферийные устройства и системы виртуальной памяти. Исходный код доступен на GitHub в репозитории d0iasm/rvemu-for-book.
Проект разделен на два основных раздела: в первом рассматриваются аппаратные компоненты, необходимые для работы xv6, включая процессор с двумя инструкциями, память, системную шину, регистры управления и состояния, а также контроллеры прерываний и UART. Второй раздел посвящен наборам инструкций, начиная с базового RV64I Integer и включая расширения "M" для умножения и деления, и "A" для атомарных операций.