logo search
КС-ZAO / Лекции ЦЭВМруский вариант11

§10.3. Умножитель – накопитель (умножитель)

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

Блок-схема умножителя-накопителя. В умножителе имеется два входных порта Х и Y разрядностью 16 бит и порт вывода результата Р разрядностью 32 бита. Результат разрядностью 32 бита передается в 40-разрядный сумматор/вычитатель, который прибавляет или вычитает новый результат из содержимого регистра умножителя MR или передает новый результат прямо в MR. Регистр MR имеет разрядность 40 бит. В данном руководстве весь регистр обозначен как MR. В действительности он состоит из трех регистров меньших размеров: MRO и MR1, которые имеют разрядность 16 бит, и MR2 разрядностью 8 бит.

Сумматор/вычитатель имеет разрядность, большую чем 32, чтобы предотвратить переполнение при выполнении серии операций умножителя-накопителя. Бит состояния переполнения умножения (MV) устанавливается, когда сумматор девяти битах регистра MR имеются старшие (беззнаковые) биты (при операциях над числами в дополнительном коде).

Регистры ввода/вывода умножителя аналогичны регистрам ввода/вывода АЛУ.

Порт ввода Х может принимать данные либо из регистров MX, либо из любого регистра по Р-шине (результатов). Р-шина соединяет регистры вывода всех вычислительных устройств, что позволяет использовать их сразу в качестве операндов ввода. Имеется два регистра MX: МХО и МХ1. Запись в эти регистры и считывание из них может производиться с шины ДПД. Два выхода регистров MX позволяют осуществлять ввод данных в умножитель одновременно с передачей данных на шину ДПД.

Порт ввода Y может принимать данные либо из регистров MY, либо из регистра MF. Имеется два регистра MY: MYO и MY1. Запись в эти регистры и считывание с них может производиться с шины ДПД, а запись также может быть произведена и с шины ДПП. В наборе команд предусматривается также считывание из этих регистров на шину ДПП, но в данном случае нет прямого соединения; в этой операции используется устройство обмена данными между шинами ДПД и ДПП. Один из регистров MY может обеспечивать ввод данных в умножитель, в то время как другой одновременно передает данные на шину ДПД.

Выходное значение умножителя-аккумулятора поступает либо в регистр MF, либо в регистр MR. MF является регистром обратной связи и позволяет использовать биты результата 16-31 в качестве вводимых через порт Y данных в последующем цикле. Регистр сумматора/вычитателя MR разрядностью 40 бит разделен на три составные части: MRO, MR1 и MR2. Каждый из этих регистров может загружаться непосредственно с шины ДПД и передавать данные либо на шину ДПД, либо на Р-шину.

Запись и считывание из любого регистра, связанного с умножителем-накопителем, может осуществляться в одном и том же цикле. Считывание из регистров происходит в начале цикла, а запись в регистры - в конце цикла. Следовательно, при считывании из регистра считывается значение, загруженное в этот регистр в конце предыдущего цикла. Новое значение, записанное в регистр, невозможно считать до следующего цикла. Это позволяет регистру ввода обеспечивать умножитель операндом в начале цикла и обновлять свое содержимое следующим операндом из памяти в конце этого же цикла. Это также позволяет хранить содержимое регистра результатов в памяти и обновлять его новым результатом в течении этого же цикла. Пример считывания и записи в течение одного цикла можно найти в главе 15 "Набор команд" в разделе "Многофункциональные команды".

В умножителе имеется двойной ряд регистров,. В действительности существует два набора регистров MR, MF, MX, MY. В любой определенный момент времени доступен только один ряд. Дополнительный ряд регистров может быть активизирован для чрезвычайно быстрого контекстного переключения. Таким образом, новая задача, например программа обслуживания прерываний, может выполняться без необходимости передачи текущих состояний в ЗУ.

Выбор основного или альтернативного ряда регистров определяется битом О в регистре состояния режима процессора (MSTAT). Если этот бит равен 0, то выбран основной ряд, если он равен 1 - альтернативный ряд регистров.

Операции умножителя-накопителя

В данном разделе описываются функции умножителя, форматы ввода данных и поведение умножителя при насыщении и переполнении.