Данному образовательному сайту пришлось несколько раз менять свое имя. С 2022 года доступ к нему обеспечивается по URL
emc.orgfree.com

emc.km.ru (2001-2007) ==> educomp.org.ru (2007-2011) ==> educomp.runnet.ru (2011-2021) ==> emc.orgfree.com (2022-...)
Более подробно об истории сайта можно прочитать здесь.


Учебные модели компьютера



Модели (software):

"Е14" (parallel !!!)
"S9PU" (parallel)

Модели (hardware):






Награды сайта
Награды сайта 2005
MIX logo

"MIX" - это воображаемая модель ЭВМ, предложенная в книге известного американского профессора Дональда Кнута "Искусство программирования на ЭВМ" ( "The Art of Computer Programming").

В настоящий момент, совершенствуя свой фундаментальный труд, автор работает над новой моделью MMIX, которая и будет на данном сайте представлена более подробно. Для первоначального варианта модели "MIX" ограничимся краткой характеристикой.

Итак, "MIX" - это некоторая вымышленная машина, которую Д.Кнут предложил для изучения описываемых в книге задач. Сам автор пишет о ней так:

"MIX очень похожа на многие реально существующие в настоящее время машины (разве что в некоторых отношениях она изящнее). MIX выбран так, чтобы он был достаточно мощным и позволял писать короткие программы для большинства алгоритмов, но и достаточно простым, чтобы имеющиеся в нем операции было легко усвоить. ... Каждый, кого связывает с вычислительными машинами нечто большее, чем случайный интерес, вероятно, познакомился за свою жизнь с несколькими машинными языками. При разработке языка MIX мы специально стремились сделать его похожим на большинство существующих машинных языков, и поэтому он должен восприниматься без особого труда."

Интересно название модели, в которое Д.Кнут вложил сразу несколько смыслов. Во-первых, "mix" по-английски значит "смесь". Но это только начало. Есть еще как минимум две причины.

"Как и большинство машин, она имеет идентифицирующий номер - 1009, который был получен следующим образом. Выбрав 16 реальных машин, которые очень похожи на MIX и на которых MIX можно легко смоделировать, мы нашли среднее значение их номеров, взятых с одинаковым весом:
(360+650+709+7070+U3+SS80+1107+1604+G20+B220+S2000
+920+601+H800+PDP4+II)/16
Этот же номер можно получить более простым способом, прочитав название машины как число в римской системе счисления."

Регистры. Программист машины MIX может использовать 9 регистров:

  • A-регистр (сумматор) - 5 байтов и знак
  • X-регистр (расширение сумматора) той же структуры
  • I-регистры (индексные регистры) I1, I2, I3, I4, I5, I6, каждый из которых содержит 2 байта и знак
  • J-регистр (регистр перехода) - содержит 2 байта и знак +
Кроме них в MIX имеются:
  • триггер переполнения - 1 бит
  • индикатор сравнения - 3 (?!) состояния: меньше, равно и больше
  • память - 4000 слов из 5 байтов и знака
  • устройства ввода-вывода (карты, ленты и т.д.)

Байт трактуется Д.Кнутом очень своеобразно (изложить не берусь, почитайте сами!) Интересной особенностью машины является также возможность указывать не все машинное слово, а заданный интервал байтов, например:
(0:0) - только знак
(0:2) - знак и первые два байта
(0:5) - все слово
(1:5) - все слово без знака
(4:4) - только четвертый байт
(4:5) - два младших байта.


Формат команды:
012 345
+/-AAIFC
где C - код операции, F - поле, задающее количество байт (см. примеры выше), I - номер индексного регистра, A - 2 байта адреса. Разумеется, в отдельных командах имеются некоторые отличия от приведенного типичного распределения байтов.


Примеры команд:
LDA 2000, 2 (0:3) - загрузить в регистр A из ячейки с адресом 2000 + I2 содержимое поля 0 - 3
ADD 2000 (5:5) - прибавить к содержимому регистра A младший байт ячейки с адресом 2000
OUT 1000(3) - записать на ленту 3 один блок из 100 слов с адреса 1000


© Модель "MIX" - Д.Кнут
© Оформление Web-страницы Е.А.Еремин, 2002


Автор сайта - Евгений Александрович Еремин (Пермский государственный педагогический университет). e_eremin@yahoo.com


Free Web Hosting