Описание эмулятора
«Сетунь ВС» является эмулятором МЦВМ Сетунь (троичной советской ЭВМ).
Основные элементами являются ОЗУ, регистры, панель управления и периферийные устройства ввода (ФТ-1, ФТ-2) и вывода (ЭУМ-46).
ОЗУ
ОЗУ в эмуляторе представлено как и в оригинале тремя банками памяти с 54 ячейками в каждой. Адреса и значения могут быть представлены как в троичном так и в девятеричном формате.
В оригинальной ЭВМ Сетуни это устройство обладает 9-разрядным сдвигающим регистром, посредством которого информация, поступающая на его вход в последовательной форме, преобразуется в параллельную форму для записи в запоминающее устройство, а информация, считываемая параллельно из запоминающего устройства, преобразуется в последовательную форму.
Регистры
«S» регистр результата. Представляет собой 18-ти разрядный триггерный регистр со сдвигом влево и вправо. При умножении число из регистра S может быть послано либо в регистр R в качестве множителя, либо на вход множительного устройства в качестве множимого. В регистр S число может быть принято из запоминающего устройства и из счетчика сдвигов при нормализации, во всех случаях оно проходит через сумматор. «R» регистр множителя. Состоит из 18 триггеров, управляющих ключами множительного устройства. «F» пяти разрядный регистр модификации «C» пяти разрядный регистр адреса команды «K» девяти разрядный регистр команды. Состоит из двух частей: 5ти разрядного триггерного регистра со сдвигом вправо, в котором помещаются адреса чисел и команд из оперативного запоминающего устройства, и 4х триггеров кода операции, 3 из которых определяют характер последовательности управляющих импульсов в зависимости от принятого на них кода, а 4й управляет механизмом модификации адресной части команды. «w» — определяет передачу управления при выполнении команд условного перехода. «MB» — адрес зоны магнитного барабана, к которой было последнее обращение.
Устройство вывода
Устройствами вывода является ЭУМ-46 и ПЛ. в эмуляторе частично реализована ЭУМ-46.
Устройства ввода
ФТ1, ФТ2 — осуществляют чтение данных с перфолент.
Панель управления
Начальный пуск: осуществляет загрузку данных с перфоленты с устройства ФТ-1 в ОЗУ Пуск: запускает программу на выполнение, в случае включенного режима «Однотактный режим» программа будет выполнятся пошагово нажатием кнопки «Пуск» Останов: прекращение выполнения программы, не реализовано. Команда с пульта: осуществляет выполнение набранной команды. Статус: отображает результат действий.
Код (троичный) | Код (девятеричный) | Название операции | Содержание команды |
---|---|---|---|
+00 | 30 | Посылка в S | (A*)=>(S) |
+0+ | 33 | Сложение в S | (S)+(A*)=>(S) |
+0- | 3х | Вычитание в S | (S)-(A*)=>(S) |
++0 | 40 | Умножение 0 | (S)=>(R); (A*)(R)=>(S) |
+++ | 43 | Умножение + | (S)+(A*)(R)=>(S) |
++- | 4х | Умножение - | (A*)+(S)(R)=>(S) |
+-0 | 20 | Поразрядное умножение | (A*)[x](S)=>(S) |
+-+ | 23 | Посылка в R | (A*)=>(R) |
+-- | 2х | Останов | Стоп; (A*)=>(R) |
0+0 | 10 | Условный переход 0 | A*=>(C) при w=0 |
0++ | 13 | Условный переход + | A*=>(C) при w=+ |
0+- | 1х | Условный переход - | A*=>(C) при w=- |
000 | 00 | Безусловный переход | A*=>(C) |
00+ | 03 | Запись из C | (C)=>(A*) |
00- | 0х | Запись из F | (F)=>(A*) |
0-0 | ц0 | Посылка в F | (A*)=>(F) |
0-- | цх | Сложение в F | (F)+(A*)=>(F) |
0-+ | ц3 | Сложение в F c (C) | (C)+(A*)=>F |
-+0 | у0 | Сдвиг | Сдвиг (S) на (A*)=>(S) |
-++ | у3 | Запись из S | (S)=>(A*) |
-+- | ух | Нормализация | Норм.(S)=>(A*); (N)=>(S) |
-00 | х0 | Вывод-ввод | Ввод в Фа*. Вывод из Фа* |
-0+ | х3 | Запись на МБ | (Фа*)=>(Мд*) |
-0- | хх | Считывание с МБ | (Мд*)=>(Фа*) |
--0 | ж0 | Не задействована | Стоп |
--+ | ж3 | Не задействована | Стоп |
--- | жх | Не задействована | Стоп |
Девятиричный | Троичный | |
---|---|---|
4 | ч | ++ |
3 | +0 | |
2 | +- | |
1 | 0+ | |
0 | 00 | |
z | ц | 0- |
y | у | -+ |
x | х | -0 |
w | ж | -- |
Основной режим работы с эмулятором
- Осуществляем загрузку программы в устройство фотоввода ФТ-1. В нижний фрейм вставляем программу, нажимаем «Загрузить ленту».
- Загрузку данных с ленты в ОЗУ осуществляем «Начальным пуском».
- После чего можем запустить выполнение кнопкой «Пуск». Дополнительно можно выбрать однотактный режим, когда выполнение будет происходить такт за тактом.
- После выполнения программы в статусном фрейме получим соответствующее уведомление.
Инструкция к тест-программе общей проверки машины /Тест 1/
Тест-программа вводится «начальным пуском» через устройство фотоввода ФТ-1, занимает три зоны. «Пуск» — осуществляет запуск выполнения программы. Ввод производится с автоматическим контролем. В случае неправильного ввода происходит останов по несовпадению контрольных сумм/ его адрес ОЦО/. Ввод неправильно введенной зоны повторяется нажатием кнопки «Пуск» после возврата этой зоны на фотовводе в исходное положение.
Тест программа проверяет правильность выполнения всех машинных операций. Она осуществляет диагностическую проверку машины, то есть если в случае сбоя при выполнении какой либо операции машина останавлдивается, то программа не указыват место неисправности, а оказывается известной только та группа операций, при выполнении которой получился неверный результат.
Время выполнения: 11 секунд.
Инструкция к тест-программе проверки множительного устройства /Тест 4/
Тест-программа вводится «начальным пуском» через устройство фотоввода ФТ-1, занимает две зоны. «Пуск» — осуществляет запуск выполнения программы. Ввод производится с автоматическим контролем.
Время выполнения: ~2 минуты.