Применение универсальных процессоров АП-20/АП-32 для обработки физической информации в Институте ядерной физики им. Г.И. Будкера

Применение универсальных процессоров АП-20/АП-32 для обработки физической информации в Институте ядерной физики им. Г.И. Будкера

1. Введение

В начале 80-х годов прошлого века в Институте ядерной физики СО АН сложилась довольно сложная ситуация с обработкой физической информации. Успешные эксперименты по изучению процессов е⁺ - е⁻ аннигиляции на встречных электрон-позитронных пучках на ускорителе ВЭПП-4 приводили к большим потокам данных, требующих своей обработки. Данные с магнитного детектора МД-1 подвергались трём стандартным этапам фильтрации, где отбор «полезных» событий проходил по всё более жёстким критериям на различных этапах. Каждый этап представлял собой некий «триггер», разрешающий дальнейшую обработку полученной информации. Наиболее простые отборы проходили на «первичном» и «вторичном» триггерах, реализованных аппаратно и представляющих собой схемы совпадений для определённых разрешённых комбинаций срабатывания различных подсистем детектора. Третьим же этапом фильтрации данных являлась работа программы реконструкции событий – довольно сложный алгоритм, реализованный на ЭВМ, выступающей уже «третичным триггером».

В ходе экспериментов перед обработкой «третичным триггером» данные в установленном формате записывались на магнитные ленты с помощью ЭВМ М-6000, эти ленты представляли собой «сырую» первичную информацию. Далее эти ленты подвергались обработке в пакетном режиме на ЭВМ ЕС-1061 для получения уже вторичной, обработанной информации. Работа третичного триггера – программы реконструкции событий на этой машине – занимала около суток для обработки одной ленты (2 часа процессорного времени или 8 часов астрономического). В то же время запись первичных лент шла со скоростью нескольких лент в сутки. В результате за 1983–1985 годы накопилось более 1000 лент необработанной первичной информации. Для их обработки необходимо было несколько лет непрерывной работы ЕС-1061 при продолжающемся накоплении первичных лент.

Проведённые оценки показали, что проблему обработки данных можно было бы решить за приемлемое

время на вычислительном комплексе с производительностью 8–10 млн. операций в секунду. Такой высокопроизводительный комплекс для обработки физической информации (ВКОФИ) был создан разработчиками института и введён в эксплуатацию в 1985 году. Основой вычислительного комплекса являлся процессор АП-20 оригинальной разработки. Работающая на нём программа реконструкции событий, восстанавливающая треки заряженных частиц в координатном объёме детектора, отсеивала ненужные «фоновые события». В процессе фильтрации событие считалось «полезным», если обнаруживался хотя бы один трек, проходящий через место встречи пучков. Программа осуществляла отбор и запись на вторичную ленту «полезных» событий из всей массы фоновых событий, записанных на первичные ленты. При этом происходил процесс сжатия информации – из 15–20 лент необработанных «сырых» данных получалась одна лента вторичной информации. Эта информация далее также подвергалась обработке программой гистограммирования (называемой иногда «четвертичным» триггером) на ЕС-1061, но это занимало уже вполне приемлемое время.

2. Архитектура ВКОФИ

Вычислительным ядром системы был процессор АП-20, в то время как загрузка в него программы, данных и вывод обработанной информации осуществлялись через процессор ввода-вывода, в качестве которого использовалась серийная ЭВМ «Электроника-100/25». Она же осуществляла считывание «сырых» данных с первичных лент и запись «полезных» событий на вторичные ленты. Сочленение ЭВМ и процессора осуществлялось через специально разработанный интерфейс шины Q-bus «Электороники-100/25».

Процессор АП-20 имел собственную оригинальную систему команд, поэтому программирование процессора АП-20 осуществлялось с помощью специально разработанного кросс-матобеспечения – комплекса программ, работающих на «Электронике-100/25» и осуществляющих трансляцию, сборку и загрузку программ процессора АП-20. На серийную ЭВМ были возложены также все функции по управлению ходом программы, её запуска и останова, синхронизацию потоков данных. Весь комплекс программ был реализован на макроассемблере «Э-100/25» и работал под управлением ОС «РАФОС». Комплекс программ включал ассемблер АП-20, редактор связей, отладчик и макрогенератор для перевода прикладных программ с языка высокого уровня на язык ассемблера.

3. Структура и характеристики АП-20

Процессор АП-20 имел модульную структуру и реализовывал архитектуру, которую сейчас принято называть RISС-архитектурой (reduced instruction set computer – компьютер с сокращённым набором команд). Особенностью такой архитектурой считается простота аппаратной части и упрощённый набор команд, за счёт чего снижается время исполнения самих команд и их обеспечивается их выполнение за один такт процессора. Упрощённая дешифрация команд и отказ от микропрограммирования являются следствием такого подхода. Именно этими особенностями обладал процессор АП-20. Он имел довольно простую систему команд и исполнял их за один такт процессора без применения микрокода.

В состав модулей процессора входили процессор целых чисел, память программ, память данных, блок управления, умножитель чисел в формате плавающей запятой, сумматор чисел с плавающей запятой, делитель, модуль тригонометрических функций, интерфейс с ЭВМ. Все модули размещались на общей магистрали с шинами данных, адресов и команд. Разрядность данных процессора – 24 разряда, размер оперативной памяти – 50 КБ. Производительность процессора можно было оценить в 10 MIPS (Million Instructions Per Second) поскольку АП-20 имел основную тактовую частоту в 10 МГц и выполнял операции над целыми числами за один такт процессора –100 нсек. Операции умножения и сложения чисел с плавающей точкой также выполнялись за один такт – 100 нсек, в то время как операции деления требовали время около 1,0 мксек. Стандартно такая производительность оценивается в 10 MFLOPS (Floating point OPerations per Second). Выборка команд из памяти программ совмещалась с исполнением предыдущей команды, то есть имел место простой двухступенчатый конвейер.

Время реконструкции одного события в координатной камере детектора на процессоре АП-20 составляло 18 мсек, в то время как на ЕС-1061 та же задача выполнялась за 76 мсек (то есть в 4,3 раза дольше), на Э-100/25 – 1380 мсек (в 76,6 раз дольше). От серийных ЭВМ процессор отличался, прежде всего, небольшим размером ОЗУ и малой разрядностью данных. Именно это делало его специализированным для небольшого класса задач. В качестве его элементной базы использовалась отечественная серия микросхем серии К500 эмиттерно-связанной логики (ЭСЛ).

4. Процессор АП-32: архитектура и особенности

Работа над АП-20 показала как достоинства новой архитектуры, так и возможности её дальнейшего развития. Ещё до окончания всех работ над АП-20 началась работа над его более мощным вариантом – процессором АП-32 с увеличенной разрядностью данных и команд (32 разряда), большим объёмом ОЗУ (2МБ), расширенным набором команд и регистров общего назначения (32 РОН), а также с аппаратной реализацией большинства элементарных функций. Тактовая частота процессора оставалась прежней – 10 МГц, и, таким образом, формально производительность оставалась на том же уровне – 10 MIPS/10 MFLOPS. Однако расширенный набор инструкций и больший размер памяти позволяли реализовывать гораздо более сложные алгоритмы. В качестве процессора ввода-вывода была выбрана также иная ЭВМ – «Электроника-60», как более компактная и технологичная.

Состав модулей процессора был примерно тот же и включал процессор целых чисел, блок управления, ОЗУ данных, ОЗУ программ, умножитель чисел с плавающей точкой, сумматор чисел с плавающей точкой, СПЭФ – сопроцессор элементарных функций, интерфейс с ЭВМ. В дальнейшем этот базовый набор был расширен за счёт БАП – буферного адаптера последовательной связи и адаптера графического дисплея. Кроме расширенной разрядности и размера ОЗУ процессор отличала от предшественника аппаратная реализация элементарных функций. Если в АП-20 использовались табличные методы с экстраполяцией и хранением табличных данных в ПЗУ, то в АП-32 был реализован иной принцип – итерационный метод на основе алгоритма Вол- дера. Этот метод основан на сдвигах трёх переменных (вращение вектора в плоскости X-Y на угол Z). Его аппаратная реализация стала достаточно быстрой и эффективной с появлением быстрых микросхем сдвига 1800-ой серии. Эта серия наряду с новой, 1500-й серией стала элементной базой нового процессора. Обе серии основывались на технологии ЭСЛ, которая имела в то время рекордное быстродействие.

Сопроцессор элементарных функций (модуль СПЭФ) позволял вычислять аппаратно с однократной точностью весь набор элементарных функций, входящий в базовый набор языка FORTRAN – деление, синус и косинус, арктангенс, квадратный корень, натуральный логарифм, экспоненту. В серийных ЭВМ аппаратно реализуется обычно только деление, причём на микропрограммном уровне. Программная реализация требует значительных затрат процессорного времени и реализуется на уровне библиотек подпрограмм языков высокого уровня. Использование аппаратного модуля СПЭФ также требует библиотеки подпрограмм для выполнения некоторых дополнительных операций – «нормализации» аргументов для введения аргумента в область сходимости алгоритма и «денормализации» результатов. Эти операции значительно проще вычисления самой функции программным способом, и их выполнение совместно с работой СПЭФ сокращало общее время вычисления функций примерно в десять раз. Так, вычисление функций с однократной точностью занимало на АП-32 3-4 мксек (в зависимости от функции) вместо 30-40 мксек при программной реализации. Для алгоритмов со значительной долей вычислений как тригонометрических (как в случае программы реконструкции), так и иных элементарных функций такая возможность давала существенный дополнительный выигрыш в общей производительности системы.

Новый расширенный набор инструкций позволил реализовать для процессора компиляторы с языков высокого уровня. Программистами команды разработчиков удалось реализовать два из них – компилятор FORTRAN-4 и Си.

Работы над процессором АП-32 были завершены в 1989 году, он был включён в состав системы сбора данных детектора КМД-2 на ускорителе ВЭПП-2М в качестве третичного триггера. Обработка данных процессором с отсеиванием фоновых событий теперь шла в режиме “оn-line” – то есть непосредственно в ходе эксперимента. При этом ввод данных для обработки осуществлялся не через медленную ЭВМ ввода-вывода, а через специальный последовательный интерфейс БАП, связанный с модулями системы сбора данных быстрой последовательной связью. Кроме обработки данных на процессор были возложены также функции мониторинга событий – процессор выводил часть реконструированных треков на 2 внешних графических дисплея, изображавших координатную камеру детектора в двух проекциях.

Ввиду того, что на момент своего создания процессор АП-32 имел относительно высокий уровень производительности, а программное обеспечение включало компиляторы с языков высокого уровня, его использование обещало большие перспективы для многих задач физики высоких энергий. Планировалось использовать вычислительную мощность процессора для моделирования работы экспериментальных установок физики плазмы. К сожалению, использование АП-32 в других задачах, помимо задачи третичного фильтра событий детектора КМД-2, прекратилось ввиду отъезда за границу специалистов, занятых в этом проекте. К середине 1990-х годов процессор морально устарел, его функции по обработке данных детектора КМД-2 планировалось переложить на новую разрабатываемую вычислительную систему, основанную на транспьютерах. АП-32 был выведен из эксплуатации в 1996 году.

Список литературы

  1. Г.А. Аксёнов, М.В. Бейлин, Ю.И. Мерзляков, В.Я. Сазанский. Высокопроизводительная система для обработки физической информации. «XII Международный симпозиум по ядерной электронике”, Дубна, 2-6 июля 1985г.
  2. Г.А. Аксёнов, А.В. Кислицын, Ю.И. Мерзляков, В.Я. Сазанский, И.А. Ткаченко, А.Г. Чертовских. Универсальный арифметический процессор АП-32. 1. Архитектура, система команд, технические характеристики. Препринт ИЯФ 89-175, Новосибирск, 1989.
  3. Г.А. Аксёнов, А.В. Кислицын, В.Я. Сазанский, А.Г. Чертовских. Универсальный арифметический процессор АП-32. 4. Арифметика с плавающей точкой, сопроцессор элементарных функций. Препринт ИЯФ 90-26, Новосибирск, 1990.
  4. Aksenov G.A., Demina R.Yu., Kislitsin A.V., Kozlov V.N., Merzlyakov Yu.I., Sazansky V.Ya., Tkachenko I.A., Chertovskikh A.G., Shekhman A.I. Using AP-32 in CMD-2 On-line Environment. 5th International Conference on Instrumentation for Colliding Beam Physics, World Scientific, 1990, pp. 441-445.
  5. Aksenov G.A., Anashkin E.V., Chertovskikh A.G., Khazin B.I., Kirpotin A.N., Merzlyakov Yu.I., Putmakov A.N., Sazansky V.Ya., Shekhman A.I., Solodov E.P., Thompson J., Zavarzin V.G. The CMD-2 Online Data Acquisition and control system. Proc. of the International Conference on Computing in High Energy Physics, `92, Geneva, 1992, pp. 783-791.

Об авторе: Институт ядерной физики им. Г.И. Будкера СО РАН
Материалы международной конференции SORUCOM 2011 (12–16 сентября 2011 года)
Помещена в музей с разрешения автора 14 января 2014