Ripes
Экосистема RISC-VRipes — это графический симулятор компьютерной архитектуры от Мортена Борупа Петерсена, написанный на C++ с использованием Qt.
Как установить Ripes
Одна строка устанавливает Ripes на вашу машину. Установщик загружает последний выпуск с GitHub, выбирает файл, соответствующий вашей операционной системе и архитектуре, проверяет его контрольную сумму sha256 и устанавливает его в ваш домашний каталог. Права администратора не требуются.
curl -fsSL https://lyszt.net/install.sh | sh -s -- ripesКоманда работает в Linux и macOS. В Windows скачайте файл вручную, как описано ниже.
Вы также можете скачать Ripes самостоятельно: выберите свою операционную систему в диалоге загрузки и получите файл из официальных релизов GitHub.
| Метод | Требования | Как |
|---|---|---|
| Бинарные файлы релиза | Открыть страницу релизов | |
| В браузере | ripes.dk | |
| Сборка из исходного кода |
| git clone --recursive https://github.com/mortbopet/Ripes.gitcd Ripes/cmake .make |
Обзор
Ripes — это графический симулятор RISC-V. Симулятор — это программа, имитирующая процессор. Ripes отображает тракт данных процессора, схему проводов, регистров и блоков, через которые проходят данные, и подсвечивает её по мере продвижения инструкций.
Ripes включает несколько моделей процессора. Простейшая завершает одну инструкцию, прежде чем начать следующую. Конвейерные модели разбивают выполнение на этапы, такие как выборка инструкции из памяти, её декодирование и выполнение, и поддерживают несколько инструкций в работе одновременно, по одной на этап. Представление конвейера показывает конфликты — случаи, когда инструкции нужен результат, который более ранняя инструкция ещё не произвела, — и то, как процессор ожидает или пересылает данные для их разрешения.
Ripes также моделирует кэши — небольшие быстрые запоминающие устройства, хранящие недавно использованные данные рядом с процессором, — и устройства, такие как светодиоды и переключатели, которыми программа управляет, читая и записывая адреса памяти.
История
Morten Borup Petersen начал Ripes в 2017 году и до сих пор его поддерживает. Проект был представлен на Workshop on Computer Architecture Education в 2021 году в статье "Ripes: A Visual Computer Architecture Simulator".
Ripes написан на C++ с использованием фреймворка Qt и выпущен под лицензией MIT. Существуют сборки для Linux, Windows и macOS, а сборка WebAssembly запускает ту же программу в браузере на ripes.dk.
Где используется
Ripes подходит для курсов по архитектуре компьютеров, где студенты изучают, как процессор выполняет код. При установленном компиляторе RISC-V он также компилирует программы на C, поэтому студент может сравнить строку кода на C с машинным кодом, который для неё создаёт компилятор.
