МИКС (абстрактная машина)
-
История и архитектура MIX
- MIX — гипотетический компьютер из монографии Дональда Кнута «Искусство компьютерного программирования» (TAOCP)
- Номер модели MIX — 1009, полученный из номеров моделей и названий современных машин
- MIX читается как римская цифра 1009
- На смену MIX пришла новая архитектура MMIX, включенная в будущие выпуски TAOCP
-
Программные реализации
- Программные реализации MIX и MMIX разработаны компанией Knuth и доступны в свободном доступе
- Существует несколько производных от эмуляторов Knuth’s MIX/MMIX, таких как GNU MDK
-
Архитектура MIX
- MIX — гибридный двоично-десятичный компьютер
- В двоичном формате каждый байт состоит из 6 бит, в десятичном — из 2 десятичных цифр
- Байты сгруппированы в слова по пять байт плюс знак
- Большинство программ работают как в двоичном, так и в десятичном формате
- Регистры: rA, rX, rI1-rI6, rJ
- Память на 4000 слов, устройства ввода-вывода: ленточные, дисковые, карты, принтер, терминал, бумажная лента
-
Инструкции и программы
- Каждая машинная команда занимает одно слово и состоит из адреса, спецификации индекса, модификации и кода операции
- Программы часто используют самомодифицирующийся код для возврата из подпрограмм
- Программы создаются с использованием языка ассемблера MIXAL
-
Реализации и рекомендации
- MIX реализован в программном обеспечении Knuth’s MIXWare и GNU MDK
- Существует реализация для платы iCE40HX8K FPGA
- Рекомендации включают внешние ссылки и ссылки на другие образовательные проекты