ММИКС
-
История и разработка
- MMIX разработан Дональдом Кнутом и другими специалистами.
- Кнут начал разработку в 1999 году и выпустил стабильную версию в 2011 году.
- Процессор имеет номер «2009».
-
Архитектура и инструкции
- MMIX использует 64-разрядный RISC с 256 регистрами общего назначения и 32 регистрами специального назначения.
- Набор команд содержит 256 кодов операций и использует числа с плавающей запятой IEEE 754.
- Инструкции имеют символьную форму OP X,Y,Z.
-
Регистры и стек
- В микросхеме MMIX 256 общих регистров и 32 специальных регистра.
- Стек локальных регистров предоставляет каждой подпрограмме свои регистры.
- Специальные регистры включают rB, rD, rE, rH, rJ, rM, rR, rBB, rC, rN, rO, rS, rI, rT, rTT, rK, rQ, rU, rV, rG, rL, rA, RF, rP, rW, rX, rY, rZ, rWW, rXX, rYY, rZZ.
-
Прерывания и прерывания
- Программы MMIX могут быть прерваны внешними устройствами и инструкциями.
- Прерывания делятся на «отключения» и «ловушки».
- Ловушки отправляют управление операционной системе, а отключения — пользовательскому приложению.
-
Аппаратные и программные реализации
- По состоянию на 2015 год не существует известных аппаратных реализаций MMIX.
- Проект fpgammix реализует MMIX на языке Verilog.
- MMIX поддерживается рядом программных средств, включая MMIXware и MMIXX.
-
Компилятор и поддержка
- Коллекция компиляторов GNU включает серверную часть MMIX для GCC.
- Серверная часть MMIX для GCC активно разрабатывается и поддерживается добровольцами.
- Инструменты MMIX теоретически могут использоваться для компиляции и сборки операционных систем на MMIX.
-
MMIX: RISC-компьютер для Нового тысячелетия
- Кнут (2005) описывает MMIX как RISC-компьютер для нового тысячелетия.
- MMIX использует гипотетический язык ассемблера в TAoCP.
-
Дополнение к MMIX
- Мартин Рукерт (2015) выпустил дополнение к MMIX.
- Дополнение включает тома 1, 2 и 3 Дональда Э. Кнута.
-
Внешние ссылки
- Домашняя страница MMIX предоставляет информацию о проекте.
- Страница Дональда Кнута на MMIX содержит краткое введение и причины использования гипотетического языка ассемблера.
- Новостная страница Дональда Кнута MMIX включает симулятор с открытым исходным кодом, руководство программиста и примеры программ.
-
MMIXmasters
- Веб-сайт MMIXmasters предназначен для волонтеров, переводящих программы из TAOCP на новый MMIX.
-
VMMMIX
- VMMMIX — это виртуальная машина MMIX с консолью, жестким диском и системой ввода-вывода Ethernet.
- В настоящее время работает только под управлением Windows, но также поддерживает Linux.
-
Проект VMB
- The Virtual Motherboard Project предлагает набор устройств plug and play для использования с MMIX.