Структура БПП. Часть 2.

Формирование адресов операндов и команд осуществляет управляющий 16-разрядный процессор, который состоит из 16 регистров общего назначения АЛУ и схем управления.

Блок арифметики БПП служит для выполнения арифметических операций с данными и содержит сумматор и умножитель с плавающей точкой. Сумматор выполняет операции сложения или вычитания над содержимым входных регистров. Данные в регистры могут быть загружены из блока памяти, с выхода умножителя или с собственного выхода. Операция выполняется в два такта, каждый из которых занимает один машинный цикл, выполняется независимо. Поэтому данные на выходе сумматора появляются каждые 200 нс (т.е. идет параллельное выполнение отдельных операций и конвейерное продвижение результатов). В первом такте производится сравнение экспонент двух чисел, выравнивание их дробных частей (мантисс) и складывание (или вычитание) последних, во втором — мантисса нормализуется и округляется. Умножитель осуществляет операцию умножения над содержимым двух входных регистров M1 и М2 умножителя, которые загружаются из тех же источников, что и сумматор. Результат формируется через три такта. Конвейерная организация обработки и параллельное выполнение отдельных операций позволяет, так же как в сумматоре, получать результат каждые 200 нс. В первом такте получается частичный результат умножения двух 28-разрядных мантисс и сложение экспонент, во втором — полное произведение мантисс, а в третьем — мантисса результата нормализуется и округляется.

Блок памяти состоит из пяти данных, табличной памяти и сверхоперативной памяти (СОЗУ). Память данных (ПД) представляет собой оперативную память емкостью 112 байт, организованную модулями по 16 байт (адресное пространство БПП позволяет адресоваться к 128 байт). Время цикла обращения к памяти 400 нс. Данные записываются в память через входной регистр, а считываются через выходной регистр.

Адрес записи или считывания определяется содержимым регистра адреса памяти данных блока управления. Регистр адреса памяти данных может загружаться с выхода АЛУ блока управления или его содержимое может увеличиваться или уменьшаться на 1 при последовательной выборке или записи данных. Загрузка данных может осуществляться из сумматора, умножителя, АЛУ и контроллера БПП (из мини-ЭВМ). Данными памяти данных пользуются сумматор, умножитель, СОЗУ. Схема управления обеспечивает защиту записи или считывания при обращении к памяти данных, если она занята. Память разделена (расслоена) на банки по 8 Кбайт, поэтому обращение к разным банкам можно производить каждые два такта БПП, а к одному и тому же — каждые три такта.

Для предотвращения «простоя» при выполнении алгоритмов введена СОЗУ, состоящая из двух блоков памяти по 32 слова каждый. За один такт может быть считан один операнд из СОЗУ1, другой из СОЗУ2, результат записан в СОЗУ1, а содержимое памяти данных переписано в СОЗУ2. Оба блока адресуются через регистр адреса сверхоперативной памяти, содержимое которого формируется так же, как и регистра адреса памяти данных. Данные в память могут поступать из сумматора, умножителя, АЛУ блока управления и из памяти микропрограмм.
Табличная память разделена на ПЗУ и ОЗУ и служит для хранения табличных данных (констант) отдельно от данных, размещенных в памяти данных. Табличная память связана с контроллером, а значит, и с мини-ЭВМ отдельным каналом. В ПЗУ записаны стандартные константы и значения синусов и косинусов. Емкость ПЗУ — 2,56К 38-разрядных слов. ОЗУ загружается с ЭВМ по отдельному каналу и служит для хранения таблиц пользователя. Емкость ОЗУ — 1К слов.

Считывание из табличной памяти осуществляется по адресу, который содержится в регистре адреса табличной памяти, загружаемого с выхода АЛУ, и может увеличиваться или уменьшаться на 1 при выборе последовательных ячеек памяти. Данные из табличной памяти передаются через буферный регистр табличной памяти в первый регистр сумматора или умножителя. Цикл обращения к памяти 200 нс.

Развитая система магистралей (все магистрали 38-разрядные), параллельная структура и конвейерный принцип организации обработки данных позволяют достичь высокой скорости вычислений — порядка 10 млн. операций с плавающей точкой в секунду.