Студенты Токийского университета разработали собственную ISA, реализовали CPU на FPGA и компилятор C с нуля.
Для портирования Xv6 был написан компилятор C89 Ucc на языке OCaml.
Была добавлена аппаратная поддержка прерываний и механизм трансляции виртуальных адресов без защиты привилегий.
Для изучения особенностей ОС Xv6 его сначала перенесли на архитектуру MIPS.
В симулятор CPU добавили отладчик, обработку прерываний и трансляцию страниц.
Проблему несовместимости размеров типов в Xv6 решили изменением размера char до 8 бит.
Ошибка кэширования из-за алиасинга виртуальных адресов была устранена через «раскраску» страниц.
К марту Xv6 успешно заработал на симуляторе и на аппаратном CPU GAIA, включая игры sl, сапёра и 2048.
Финальным демо стало выполнение оригинальной задачи CPU-эксперимента: запуск трассировки лучей в Xv6 на самодельном CPU.
Get notified when new stories are published for "🇷🇺 Hacker News Русский"