Программное обеспечение БПП

Так как БПП работает с данными, расположенными в своей памяти данных, то перед выполнением микропрограммы выбранного алгоритма необходимо передать массивы данных из ОЗУ ЭВМ в память данных БПП, если они еще не участвовали в обработке. По окончании обработки нужно «выгрузить» данные в память ЭВМ. Эти операции осуществляет контроллер. При этом в регистр памяти ЭВМ заносится адрес ячейки памяти, с которой производится чтение или запись, а в регистре счета слов устанавливается число передаваемых слов в дополнительном коде. Передача данных в (из) память (и) БПП может производиться с прерыванием по концу передачи и без прерывания. В первом случае в регистре управления НДК должен быть установлен разряд 06 (прерывание разрешено). При равенстве нулю содержимого регистра счета слов устанавливается разряд 07 регистра управления и происходит прерывание с адресом вектора 314. Подпрограмма обработки прерывания должна определить причину прерывания и выполнить дальнейшие действия, предусмотренные основной программой.

Кроме того, прерывание с адресом вектора 314 может происходить по ошибкам обращения к памяти данных БПП или к памяти ЭВМ (обращение по существующему адресу).

Направление передачи данных определяется установкой разряда 03 регистра управления НДК, а запуск передачи данных — установкой разряда 00.

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

  • MOV # 0, @ # КР — адрес первого входного массива;
  • MOV # 1000, @ # РУП — заносим в R0 устройства вычисления адреса (УВА);
  • MOV # 2, @ # KP — приращение первого входного массива;
  • MOV # 1001, @ # РУП — заносим в R1 УВА;
  • MOV # 200, @ # КР — адрес второго входного массива;
  • MOV # 1002, @ # РУП — заносим в R2 УВА;
  • MOV # 2, @ # KP — приращение второго входного массива;
  • MOV # 1003, @ # РУП — заносим в R3 УВА;
  • MOV # 2, @ # KP — адрес выходного массива;
  • MOV # 1004; @ # РУП — заносим в R4 УВА;
  • MOV # 4, @ # РУП — приращение выходного массива;
  • MOV # 1,005, @ # КР — заносим в R5 УВА;
  • MOV # 0, @ # КР — код операции (0 — сложение);
  • MOV # 1006, @ # РУП — заносим в R6 УВА;
  • MOV # 200, @ # KP — число элементов выходного массива;
  • MOV # 1040, @ # РУП — заносим в AR0 ПУ;
  • МОV # 1000, @ # РУНД К — разрешение прерывания по вектору 310 по концу работы микропрограммы.

После формирования таблицы осуществляется пуск программы путем установки разряда 14 регистра управления панелью с начального адреса выбранной микропрограммы, записанного в клавишный регистр. БПП выполняет выбранный алгоритм, по окончании которого производится прерывание с адресом вектора прерывания 310.

Программы, реализующие эти процедуры для всех алгоритмов БПП, объединены в пакет программ в виде объектных модулей. Модули имеют имена, соответствующие выполняемым функциям. Обращение к модулю по имени возможно из программы на Фортране и Ассемблере.

Обращение из Фортран-программы производится с помощью оператора:

CALL имя модуля (а1, а2, а3, ..., аn), где ai, ..., аn — параметры, требуемые для выполнения функции.

Обращение из программы на Ассемблере производится с помощью оператора JSR с предварительной засылкой адреса таблицы параметров (АТП) в регистр R5:

МОV # АТП, R5

JSR PC, имя модуля.

Пакет программ поставляется на перфоленте в виде объектного модуля. Загрузочный модуль получается совместно с программой пользователя с помощью программы Компоновщик ПЛОС или ФОДОС. Пакет программ занимает 32768 байт оперативной памяти ЭВМ. Пользователю поставляется также на перфолентах программа отладки и тесты, обеспечивающие проверку правильности функционирования БПП.

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