Данному образовательному сайту пришлось несколько раз менять свое имя. С 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

Малютка: описание модели

Первое описание модели приведено в книге Сенокосов А.И., Гейн А.Г. "Информатика 8-9" в 1995 году. В дальнейшем авторы опубликовали еще несколько учебников (более полные ссылки на них см. здесь), но сама модель сохранилась без изменений.

Учебная ЭВМ "Малютка" представляет собой одноадресный компьютер с достаточно развитой системой команд. Он может обрабатывать 12-разрядные целые и вещественные числа (это единственная учебная модель, работающая с дробными числами). Помимо арифметических операций, "Малютка" способна также выполнять логические и некоторые другие команды. Объем памяти модели равен 25610 = 10016 байт.

Как у всякой одноадресной ЭВМ, большую роль у "Малютки" играет специальный регистр арифметико-логического устройства - сумматор. Именно в нем выполняются все операции и сохраняется их результат.

Общая схема выполнения операции на одноадресной ЭВМ следующая:

  • первый операнд (например, число) извлекается в сумматор;
  • между ним и вторым операндом производится действие (например, умножение);
  • результат записывается из сумматора в указанную ячейку памяти.

Вы уже знаете, что учебный компьютер "Малютка" 12-разрядный, а значит каждая его команда может быть записана 12 / 4 = 3 шестнадцатеричными цифрами. В большинстве этих команд первая цифра обозначает код операции, а две следующие - адрес ячейки, над которой производится действие (поскольку объем памяти равен 10016, двух цифр для адреса во всех случаях достаточно). Вот как выглядят примеры кодирования некоторых наиболее распространеных команд такого типа:
КодМнемоникаСодержание операции
0NNLDA (NN)извлечь содержимое ячейки памяти с номером NN на СМ
1NNSTA (NN)записать содержимое СМ в ячейку памяти с номером NN
ANNADD (NN)сложить содержимое СМ с содержимым ячейки NN
BNNMULT (NN)перемножить содержимое СМ и ячейки NN

Все данные в этой и всех следующих таблицах приведены в шестнадцатеричном виде. Во второй колонке приводятся мнемонические обозначения введенного авторами "Малютки" языка ассемблер.

Кроме приведенного в таблице формата команд, имеется ряд операций над сумматором. Поскольку в этом случае не нужен адрес ячейки, освободившиеся цифры кода используются для увеличения количества операций. Вот несколько примеров таких компьютерных инструкций:
КодМнемоникаСодержание операции
300NEGсмена знака СМ
301ABSабсолютная величина (модуль) СМ
C00IPRTвыдача СМ в формате целых чисел
C01RPRTвыдача СМ в формате дробных чисел
F00HLTостанов

Полная система команд "Малютки" приведена на отдельной странице.

На первый взгляд может показаться, что количество операций в одноадресной машине всегда втрое больше по сравнению с традиционной трехадресной архитектурой. Но это далеко не всегда так, поскольку результат предыдущей операции часто служит операндом для следующей, а значит описанная выше схема заметно сокращается. Для примера рассмотрим типичную программу вычисления арифметического выражения, скажем, 3(x+y)+2:
адрескодмнемоникарасшифровкакомментарии
00005(для служебных целей)начало программы
01...Xячейка под переменнуюзначение переменной X
02...Yячейка под переменнуюзначение переменной Y
03002dvaконстантаконстанта 2
04003triконстантаконстанта 3
05001lda (x)(001) ==> СМизвлечь X в СМ
06A02add (y)СМ + (002) ==> СМсложить СМ с Y
07B04mult (tri)СМ * (004) ==> СМумножить СМ на 3
08A03add (dva)СМ + (003) ==> СМприбавить к СМ 2
09C00iprtвывод СМвывести результат
0AF00hltстопокончание программы

Из таблицы видно, что для выполнения 3 арифметических операций требуется не 9, а только 4 команды (с 005 по 008).

Обратите внимание, что нулевая ячейка ячейка в "Малютке" всегда используется под служебную информацию - там хранится адрес начала программы. В дальнейшем мы не будем отображать эту ячейку в наших таблицах с программами.

Чтобы не затруднять первое знакомство, некоторые специфические особенности учебной ЭВМ "Малютка" обсуждаются на отдельной странице.


© Е.А.Еремин, 2001


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


Free Web Hosting