суббота, 25 июня 2016 г.

ЭВМ Наири

«Наири» – семейство ЭВМ, разработанных в Ереванском НИИ математических машин, включающее:
  1. «Наири» (так же называют «Наири-1») - машины первого поколения.
    1. «Наири-М»
    2. «Наири-С»
  2. «Наири-2» - машины первого поколения.
    1. «Наири-К»
  3. «Наири-3» - машины третьего поколения.
    1. «Наири-3-1»
    2. «Наири-3-2»
    3. «Наири 4»
Характеристика
Наири-1
Наири-М
Наири-С
Наири-К
Наири-2
Объем ОЗУ
(36-разрядов)
1К (ферритовое, время обращения 24мкс)
ПЗУ
16К (36-разрядное, на ферритах)
Тактовая частота, кГц
50
100
Скорость вычислений с плавающей точкой, операций/с
100
200
400
Внешние устройства
СТА-2М, РТА-50
(7 знаков/сек)
«Зоемтрон», ПЛ-20, СУ-1
«Консул-254», ПЛ-80, FS-1501
«Консул-254» | РТА-60, «Риони», ПЛ-80, FS-1501
Количество инструкций
44 команд
37 макрокоманд [в оригинале - «псевдооперации»]
50 команд
55 макрокоманд
48 команд
55 макрокоманд
Система команд
Двухадресная
Программы
5 стандартных
6 стандартных
11 стандартных
Площадь
20 м2

20м2
12 м2
20м2

Устройства описанные в строке «внешние устройства»:
  1. РТА-50. СТА-2М — рулонный телеграфный аппарат — телетайп. 
  2. ПЛ-80 — выходной перфоратор. 
  3. Консул-245, «Зоемтрон» — электрическая пишущая машинка. 
  4. FS-1501 — фотосчитывающее устройство.

Варианты ЭВМ

Наири-1

Среднее время решения функций:
  • Sin x, lg x, ex и т.д. – 70-100 мс
  • Решение системы линейных алгебраических уравнений 20-го порядка – 20 мин
  • Вычисление определителей 12-го порядка – 10 мин
  • Нахождение собственных значений матрицы 12-го порядка – 14 мин
  • Нахождение собственных значений и собственных векторов матрицы 12-го порядка – 1.5 ч
  • Решение алгебраического уравнения 42-го порядка – 1.5 ч

Наири-3

ОЗУ — 4К-32К 36 битных байт (время обращения 8мкс)
ПЗУ — 32К для микрокоманд (ПЗУ-А) и 24К 36-разрядных байт для хранения программ (ПЗУ-Э).
Устройства ввода-вывода: «Консул-254», FS-1501, ПЛ-80/2, МП-16-2 (малогабаритный печатающий механизм — принтер).
Программное обеспечение: аналогичен по составу и принципу действия аналогичны остальным машинам семейства «Наири».

Наири-3-1

Усовершенствованная версия Наири-3.
Добавлены устройства ввода с перфокарт, и на алфавитно-цифровую печать (АЦПУ-128-2М). Для хранения данных так же используется НМЛ. Машина теперь занимает 40 м2.
В программное обеспечение включены эмуляторы различных машин (Наири-2, Минск-22, Минск-22М), трансляторы языков ALGOL, FORTRAN, COBOL, стандартные программы (по составу аналогичны СП в машинах «Наири-1» и «Наири-2»).

Наири-3-2

Добавлена программа разделения времени между пользователями (1 пользователь — 1 задача), с раздачей приоритетам задачам.

Наири-4

Базовый комплект: ОЗУ 8К-32К, Ввод-вывод: ввод с перфоленты, «Консул», магнитный барабан «Эребуни» (80К).
Расширенный комплект: ОЗУ 32К-128К, шина внешних устройств, устройства ввода аналогичны.
Софт: ОС реального времени, на программном уровне совместима с «Наири-2».

Структура машины

Основные узлы:
  • арифметическое устройство (сумматор)
    37-разрядный триггерный регистр-сумматор (См). Выполняет арифметические и логические операции (сложение, сдвиги влево и вправо, сравнение) над двоичными кодами (числа с фиксированной запятой). 37-ой разряд используется в операциях умножения и деления. Состояние сумматора в двоичном виде отображается на пульте управления.
  • ОЗУ. Состоит из 1024 (или 2048, или 4096) ячеек. Кроме этого, в ОЗУ находятся 5 ячеек (подобие регистров общего назначения — РОН): a1..a5.
  • ПЗУ [в оригинале используется название ДЗУ — долговременное запоминающее устройство]. Состоит из 9 кассет по 2048 ячеек. В адресах 0..2047 (кассеты 20 и 21) прошиты программы управления. В адресах 2048..14335 прошиты программы из программного (математического) обеспечения машины.
  • Устройство управления.
    Состоит из: 36 битного регистра команд (РгК), 14 разрядного счетчика команд (СчК)
  • Пультом управления
    • панель сигнализации: наблюдение за работой и выбор режима.
      • Вкл/выкл питания, кнопки и индикаторы выбора режима, побитный вывод регистров См, РгК, СчК, Рг адреса ПЗУ, Рг адреса ОЗУ, РгВУ.
    • панель управления: проверка и наладка машины, отладка программы.
      • Клавиатура 36-разрядного кода, клавиатура останова по адресу (breakpoint), кнопки сброса регистров, кнопки записи данных с 36-разрядной клавиатуры в регистры (См, РкГ, СчК, РгОЗУ, РгПЗУ), клавиши контроля выполнения микропрограммы (пошаговое выполение - «Серия-тактовый», «Повторение операций», «Циклический сдвиг», «повторение микрокоманды», выполнение команды с пульта управления - «ПУ → РгДЗУ»)
  • Внешние устройства
  • Блок питания

Представление данных в памяти

Числа в машине представлены в памяти 5 типов:
  • дробные с фиксированной запятой (36 бит — знак, 35 — переполнение, 34..1 — значимая часть)
  • с плавающей точкой (36 — знак, 35 — переполнение, 34..8 — мантисса, 7 — знак порядка, 6..1 — порядок)
  • целые (аналогичны по строению с дробными с фиксированной запятой)
  • длинные (занимают две последовательные ячейки: в первой целая часть числа, во второй — дробная часть, при том в ячейке дробного числа биты 36 и 35 не используются)
  • комплексные (занимает последовательно две ячейки: в первой действительная часть числа, а во второй — мнимая. Обе ячейки по структуре аналогичны типу с плавающей точкой)

Программное обеспечение и режимы работы

Режимы работы переключаются нажатием на клавиши «Пуск-1», «Универсальный счетный» и «Выдача памяти».
«Пуск-1»
«Универсальный счетный»
«Выдача памяти»
Название программы
Краткое название
1
0
0
«Дешифрация Исходной Информации»
ДИИ
1
1
0
«Счетный режим»
СС
0
0
1
«Выдача памяти»
ВВ
Так же режимы можно сменять, вводя их краткие названия
Программа ДИИ предоставляет ввод буквенного кода программы, записанной в ПЗУ:
  • Тесты
  • АП — автоматическое программирование
  • СП — стандартные программы. Их можно использовать как самостоятельно, так и как подпрограмму для программы на ЯАП.
    1. су - решение системы линейных алгебраических уравнений по схеме Гаусса
    2. во — вычисление опеределителя матрицы
      ом — вычисление обратной матрицы
      сч — нахождение собственных чисел матрицы
      св — нахождение собственных векторов матрицы (методом Леверье-Фаддеева)
    3. обращение по адресу 2904 - умножение матриц (отсутствует в первых Наири)
    4. рк или ду - интегрирование системы обыкновенных дифференциальных уравнений (по формулам Рунге-Кутта)
    5. ил - вычисление определенного интеграла (по формуле Симпсона)
    6. ау - нахождение корней алгебраического уравнения (методами Берстоу и Бернулли)

Язык АП

Пример программы и ее выполнение на языке АП
В связи с особенностями устройств ввода (используется телетайп), русский и латинский алфавиты объединены (д=q, п=n, т=m, и=u) в один, а так же встроена поддержка нижних и верхних индексов, а так же символ квадратного корня () и отношений (≤, ≠, ≥).
Отдельно выделены переменные с именами i, j, к, n — целочисленные.
Операторы языка АП:
  • qоnусmuм - присвоение значения переменной
  • всmавuм - наращение перменной на число
  • ввеqем - ввод значений переменных
  • вычuслuм - присвоение переменной значения выражения
  • если A=B иqmи к N - оператор условного перехода
  • nечаmаем с N v - вывести значение переменной v c N знаками после запятой
  • инmервал N - сделать N возвратов каретки
  • хранuм n x или хранuм n y z — запоминание значения переменных для построения графика. N — количество значений функции (n=(max-min)/step+1).
  • начерmим N гр — построение одного (N=1) или двух (N=2) графиков. Так же выводятся максимальное и минимальное значения. Ось аргумента горизонтальна.
  • сnросuм - временная остановка выполнения программы и зацикленный запрос имени переменной и вывода её содержимого.
  • массuв к - вывод длины программы
  • массuв в - выдача кода программы
  • nрограмма N — обращение по адресу N, с которого начинается машинная программа.
  • решuм sN A x=0 - решение уравнения N-ного порядка. Коэфциенты равны 0..A
  • решuм рA Xm=0 - вычисление корней полинома. A - коэффициенты. принимают значения от 0..m. X - переменная. m - степень уравнения (M<=38)
  • осmанов - прекращение выполнения программы до нажатия [Пуск-2]
  • кончаем - некультурный оператор, останавливающий работу машины
  • исnолним N - начать выполнение программы с N-ного оператора

Машинные команды

Общий вид команды:
fiA1ΘA2zm+
f — код машинной команды (состоит из 1 буквы, 2-х буквенные операции с числами с плавающей запятой для «Наири-С» и «Наири-М») или макрокоманды (состоит из 2-х букв).
i — индекс машинной команды, принимает значения от 1 до 3. Так же его может и не быть совсем. (существуют 4 типа сложения, 4 умножения, 2 логических сложения)

A1 — адрес первого операнда или параметр
Θ — признак модификации команды. Он указывает что является аргументом A2 — число или адрес, а если число, то какова его длина. Значения Θ:
  • Θ=н (накопитель), первый аргумент это адрес.
  • Θ=к (короткий), то первый аргумент это короткое число (биты 14...1).
  • Θ=п (правый), то первый аргумент это число 1..18 бит, если команда безусловная и 1..14, если команда условная.
  • Θ=л (левый), то первый аргумент это число 19..36 бит в безусловной команде, и 19..32 в условной.
A2 — адреса второго операнда. Чаще всего в него и заносится результат.
z — признак условности команды. Благодаря расширенным возможностям ввода символов условия записываются привычными знаками: =, ≠, ≤, ≥, <, >, |, ∞. При признаке «|» команда выполняется при нажатой клавише «вариант» на пульте. А признак «∞» означает выполнение команды в случае переполнения.
m — адрес ячейки, содержимое которой проверяется на заданное условие.
+ - признак формирования команды. Если он установлен, то к коду команды прибавляется число, находящееся в 1 ячейке.

Список команд машинного языка
Код
Индекс 0
Индекс 1
Индекс 2
Индекс 3
Индекс 4
С
А2=А1+А2
А2=РОН2+A1
А2=А1+А2
анализ на переполнение
А2=РОН2+A1
анализ на переполнение
-
В
А2=А2-А1
А2=РОН2-А1
А2=А2-А1
анализ на переполнение
А2=РОН2-А1
анализ на переполнение
(для Наири2/К)
Вычитание модулей
У
А2=А1*А2
А2=РОН2*А1
А2=А1*А2
анализ на переполнение
А2=РОН2*А1
анализ на переполнение
-
Д
А2=А2/А1
А2=РОН2/А1
А2=А2/А1
анализ на переполнение
А2=РОН2/А1
анализ на переполнение
-
А
Right Shift (А2) на А1 = А2
Right Shift (А2) на А1 = А2
-
-
-
Б
Left Shift (А2) на А1 = А2
Left Shift (А2) на А1 = А2
-
-
-
Г
Right Shift (A2) на А1 = А2
Right Shift (A2+1) на А1 = А2
Left Shift (A2) на А1 = А2
Left Shift (A2+1) на А1 = А2
-
-
-
Х
Нет операции
-
-
-
-
L
A2 && A1 = A2
РОН2 && A1 = А2
-
-
-
Л
A2 or A1 = A2
РОН2 or A1 = А2
-
-
-
М
A2 (+) A1 = A2
РОН2 (+) A1 = А2
-
-
-
И
Переход без возврата
Переход с возвратом
Переход с остановом
Переход по ключу
-
Е
Изменение на А1 и запоминание в А2 СчК
Относительный переход (СчК=СчК+А1)
(для Наири2/К)
Переход по набору
(для Наири2/К)
Переход по разряду
-
П
А2=А1
А2=РОН2
-
-
-
Н
Нормализация (А1) = А2
Нормализация (РОН2) = А2
-
-
-
Ч
А2=РгВУ
-
-
-
-
О
А1 на печать
Модифицированный вывод А1
-
-
-
К
См=А1
Останов
См=РОН2
Останов
-
-
-
З
(для Наири2/К)
РОН7=А1
(для Наири2/К)
РОН7=А1
-
-
-
Список макрокоманд
Операции с числами с плавающей точкой
Сп
Сложение
Вп
Вычитание
Ов
Обратное вычитание
Уп
Умножение
Дп
Деление
Од
Обратное деление
Вм
Вычитание модулей
Ут
Умножение
Операции с целыми числами
Ут
Умножение
Дт
Деление
Операции с длинными числами
Сд
Сложение
Вд
Вычитание
Уд
Умножение
Дд
Деление
От
Отсылка

Операции с комплексными числами
Ск
Сложение
Вк
Вычитание
Ук
Умножение
Дк
Деление
Операции перевода форм чисел
Нд
Нормализация
Дн
Денормализация
Кп
Квадратный корень
Ln
Вычисление логарифма
Ex
e^x
Sn
sin(x)
Cs
cos(x)
Tg
Tg(x)
As
ArcSin(x)
Ac
ArcCos(x)
At
ArcTg(x)
Пп
Печать числа с плавающей точкой
Пт
Печать целого числа
Пч
Печать дробного числа
Пд
Печать длинного числа
Пк
Печать команды
Пс
Печать содержимого
Пи
Печать индекса

Комментариев нет:

Отправить комментарий