MMIX

MMIX (вимовляється ем-мікс) — 64-бітна RISC архітектура комп'ютера, розроблена Дональдом Кнутом з істотним внеском Джона Геннесі і Річарда Сайтса. За словами самого Дональда Кнута:

MMIX — комп'ютер, мета якого проілюструвати аспекти програмування на машинному рівні. У моїх книгах Мистецтво програмування він замінює MIX, машину стилю 1960-х років, яка грала ту ж роль. Я намагався так спроектувати MMIX, щоб його машинна мова була простою, витонченою, зручною для вивчення. У той же час я намагався включити всі ускладнення, які необхідні для досягнення високої ефективності на практиці, так що MMIX може бути реально побудований і навіть може бути конкурентоспроможним з деякими найшвидшими комп'ютерами загального призначення на ринку.

Оригінальний текст (англ.)

MMIX is a computer intended to illustrate machine-level aspects of programming. In my books The Art of Computer Programming, it replaces MIX, the 1960s-style machine that formerly played such a role... I strove to design MMIX so that its machine language would be simple, elegant, and easy to learn. At the same time I was careful to include all of the complexities needed to achieve high performance in practice, so that MMIX could in principle be built and even perhaps be competitive with some of the fastest general-purpose computers in the marketplace.

Призначений для навчання, дуже схожий з архітектурою Джона Геннессі і Девіда Патерсона DLX з книги Комп'ютерна архітектура: кількісний підхід.

Історія створення

[ред. | ред. код]

Коли в 1962 році Дональд Кнут приступив до написання своєї знаменитої серії книг Мистецтво програмування, йому необхідно було вирішити, яку мову програмування використовувати. Щоб раз і назавжди вирішити всі можливі проблеми, а також зберегти можливість описувати в книзі низькорівневі структури і алгоритми, автор вирішив розробити власний комп'ютер, призначений спеціально для навчання. Він отримав назву MIX.

Але протягом наступних трьох десятиліть у галузі комп'ютерних технологій відбулися серйозні зміни. MIX багато в чому застарів. Щоб Мистецтво програмування продовжувало залишатися актуальним джерелом інформації, автор вирішив розробити новий комп'ютер — MMIX, який є аналогом комп'ютерів, які завоювали велику частину ринку в 90-х роках XX століття.

Архітектура

[ред. | ред. код]

MMIX — 64-бітова архітектура комп'ютера, що має 256 64-бітних регістрів загального призначення і 32 64-бітних регістрів спеціального призначення. Має 32-бітні інструкції та 64-бітний адресний простір. Набір інструкцій комп'ютера MMIX включає 256 кодів команд, один з яких зарезервований для можливості розширення в майбутньому.

Апаратні реалізації

[ред. | ред. код]

Станом на 2008 рік, MMIX ще не був реалізований апаратно.

Програмні інструменти

[ред. | ред. код]

Набір інструкцій комп'ютера MMIX підтримується деякими програмами для розробки програмного забезпечення.

Емулятори і асемблери

[ред. | ред. код]

MMIXware — розроблений Дональдом Кнутом комплект програм, що включає в себе емулятор, асемблер MMIXAL, повну документацію, приклади програм та багато іншого.

Компілятор

[ред. | ред. код]

GNU Compiler Collection підтримує компіляцію програм мовою C/C++ в цільову архітектуру MMIX.