Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
25
Добавлен:
11.05.2015
Размер:
178.12 Кб
Скачать

1

Приложение Б

Функциональные модули АЛУ

Функциональный модуль исполнения операций счёта изображён на рисунке Б.1 а.. Выполнение счётных операций на этом модуле выполняется после записи числа со входов DI (Data Input) установкой сигнала на управляющем входе WR (Write) в активное состояние на время определяемое быстродействием элементов счётчика. После записи может быть выполнена микрооперация установки режима накопления (+1) или вычитания (-1)

соответствующим управляющим сигналом на время переключения. В модуле счётчика предусматривается параллельный вывод числа DO по управляющему сигналу микрооперации «RD (ReaD) ». Потенциальный выход «OF» счётчика идентифицирует состояние переполнения счётчика

(состояние перед началом повтора счёта).

Обобщённые группы входов /выходов, указанные на рисунке Б.1, в

модуле счётчика представлены сигнальными шинами в следующем соответствии: 1А – DI; 4А - +1, -1, WR, RD; 5А – DO; 6А – OF. Группы входов 2А, 3А в модуле не используются, а группа выходов 6А показана не полной. Функциональный модуль исполнения операций сдвига числа в разрядной сетке изображён на рисунке Б.1 б.

Рисунок Б.1– Модули выполнения операций счёта (а) и сдвига (б)

2

Выполнение операций сдвига числа на этом модуле выполняется после записи числа со входов Data Input установкой сигнала на управляющем входе WR в активное состояние на время определяемое быстродействием элементов регистра. После записи числа, как и в регистре счётчика,

управляющий сигнал на входе. WRite переводится в неактивное состояние.

Направление сдвига устанавливается управляющим сигналом выбора направления («Right» - вправо, или «Left» - влево) на время выполнения сдвигов по выбранному направлению. Однократный сдвиг на один шаг по выбранному направлению инициируется управляющим импульсом на входе микрооперации Sh (Shift) регистра. В модуле регистра сдвига предусматривается параллельный вывод числа DO по управляющему сигналу микрооперации RD. После снятия сигнала Sh потенциальный выход CY

(CarrY) регистра остаётся в активированном состоянии и идентифицирует состояние переноса из старшей (или младшей в зависимости от направления и модификации сдвига) позиции разрядной сетки числа. В числе входных микроопераций регистра сдвига, если в составе АЛУ предусмотрено применение модификаций сдвиговых операций, должна предусматриваться микрооперация разрешения (Еnable» выбора модуля соответствующей модификации. Модификациями сдвиговых операций являются

арифметические (без сдвига знакового разряда с заполнением нулями освобождаемых позиций) сдвиги ShA (Shift Arithmetic), логические (с

включением в сдвиг всех разрядов, включая знаковый с заполнением нулями освобождаемых позиций) сдвиги ShL (Shift Logic), циклические (с передачей выдвигаемого разряда в освобождаемую позицию разрядной сетки) сдвиги

ShR (Shift Roll). В свою очередь операции циклического сдвига могут иметь подмодификации с включением и без включения бита «CarrY» в кольцо сдвигов. Для идентификации модуля и операции в микропрограмме перед подачей сигнала сдвиг (Sh) должны быть активированы микроприказы идентификации, модификации, подмодификации и направления сдвига.

Рисунок Б.2 – Модули логической обработки чисел

3

Группы входов /выходов, в моду-

ле регистра сдвига представлены сигнальными шинами в следующем соответствии: DI; R/L, Sh, WR, RD;

DO; CarrY. Модули выполнения логических преобразований, за исключением операции «Инверсия»,

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

Элементами построения многоразрядных модулей логических операций

над числами являются комбинационные. В состав таких модулей для хранения операндов А и В во время выполнения преобразования и использования результата включаются информационные регистры. Поэтому во внешнем описании этих модулей присутствуют входы микроопераций приёма и записи операндов (WRA, WRB) из внешних источников в эти регистры. Вход E во внешнем описании модулей предназначен для управления разрешением обращения к соответствующему модулю (выбор

модуля) по записи операндов и доступу результату преобразования DO при активном состоянии микроприказа RD. Группы входов /выходов в модуле

логической обработки представлены сигнальными шинами в следующем соответствии:DIA, DIB, E, WRA, WRB, RD, DO.

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

в модулях логической обработки, в модулях сложения/вычитания

применяются регистры рабочего хранения операндов.

4

Функциональный модуль арифметического сложения изображён на рисунке Б.3. Операция вычитания выполняется с применением модуля

суммирования с тем отличием, что вычитаемое преобразуется в форму числа со знаком и представляется в дополнительном коде. Назначение входов DIA,

DIB, D0, WRA, WRB, E, RD в сумматоре на рисунке Б.3 аналогично назначению входов модуля логической обработки чисел.

Внешнее описание модуля арифмети-

ческого сложения/вычитания расширено на один вход CYI и два выхода CYO, V. Вход

CYI предназначен для ввода бита переноса,

если это предусматривается контекстом алгоритма арифметической операции. По выходу CYO выдаётся потенциальный сигнал состояния бита переноса при

сложении положительных чисел (или заёма

Рисунок Б.3 – Модули при вычитании), а также переносы в сложения/вычитания чисел

знаковый разряд при работе с числами со знаком. Выход V предназначен для

вывода бита состояния переполнения разрядной сетки сумматора и иденти-

фикации

знака результата при

обработке чисел со знаком. Бит V

устанавливается (V=1) в двух случаях по формуле:

 

V = (ЗнР —>

CYO) Å (СтРч—> ЗнР),

- если при обработке чисел со знаком в результате устанавливается бит

CYO (перенос из знакового разряда ЗнР с учётом сложения знаковых разрядов), но отсутствует перенос из старшего разряда СтРч в знаковый разряд результата из следующего за ним старшего разряда модуля;

- если первый из названных переносов отсутствует, но имеет место перенос в знаковый разряд ЗнР из старшего разряда модуля числа СтРч.

Активное состояние бита V (V = 1) указывает на несответствие обрабатываемых чисел разрядной сетке АЛУ и требуется коррекция

5

порождающего алгоритма. В первом случае знак результата будет

отрицательный, а во втором - положительный. Предусматривая (если это

необходимо) в сумматоре выход переноса из старшего разряда модуля числа

в позицию знакового разряда CY2 ( на рисунке Б.3 не показан) можно идентифицировать знак суммы при переполнении.

Переполнение разрядной сетки будет отсутствовать в результате

суммирования (V =

0) при

отсутствии обоих переносов

или при

одновременном их наличии.

Установка знакового бита (ЗнР = 1) в этом

случае соответствует

отрицательному числу в дополнительном коде, а

сброс бита (ЗнР = 0) соответствует положительному числу в прямом коде.

Общепринятым является соглашение об использовании старшего бита

разрядной сетки (суммы или разности) в качестве знакового т.е. старший разряд полной суммы есть ЗнР. Для размерности машинного слова один байт

это разряд D7, для размерности два байта – разряд D15 и т.д. Состояние (V

Å ЗнР) при (V = 0) однозначно определяет знак полученного результата.

Комбинационный сумматор по физическим процессам переключения элементов является асинхронным устройством. После пераллельной записи

операндов с некоторой задержкой распространения (в основном определяемой задержкой распространения межразрядных переносов) на

выходе установится преобразованный результат. Повторная загрузка

операндов может производится после съёма результата с выхода сумматора в соответствии с принятым алгоритмом решения целевой задачи.

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

Группы входов /выходов в модуле сумматора представлены сигнальными шинами в следующем соответствии: DIA, DIB, CYI, E, WRA, WRB, RD, DO, V, CYO.

6

Арифметические операции умножения и деления чисел алгоритмически реализуются циклическими операциями приёма на сумматор множимого, сдвигом результата (или множимого) с целью образования частичных произведений и их суммирования в зависимости от состояний разрядов и размера множителя. Потребность в исполнении сдвигов и промежуточном хранении при выполнении умножения и деления обуславливает разделение процесса на временные этапы, применение синхронизации и синхронных устройств.

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

Операции умножения (деления )характеризуются следующими особыми чертами:

-при равных мноножимого (делимого) и множителя (делителя) размер результата удваивается;

-информационный состав входных слов блоков умножения (деления)

представляется знаком и модулем числа без знака;

-знак результата умножения (деления) блоках должен определятся независимо от модуля операндов и присваиваться результату по правилу: при одинаковых знаках сомножителей (или операндов деления) положительный,

апри разных знаках – отрицательный;

-умножение (деление) выполняется над модулями операндов без перевода в формат чисел со знаком до операции умножения (деления);

-при умножении дробных чисел число разрядов дробной части результата определяется суммой разрядов дробных частей операндов;

7

-при делении дробных чисел делимое и делитель рассматриваются как целые числа переносом запятой в делимом и делителе на одинаковое число разрядов и дописыавнием «0» справа в разряды того операнда, формат дробной части которого оказался недостаточным;

-полный формат целой и дробной частей частного не превышает разрядности целой и дробной частей операдов.

Указанные правила и технология получения результата могут быть

реализованы программами умножения и деления рассчитанными на

использование аппаратных блоков сумматоров, сдвига, логических операций.

В целях повышения быстродействия в выполнении операций умножения

(деления) их алгоритмы реализуются на аппаратном уровне.

В современных микропроцессорах примененяются блоки умножения

(деления) чисел с фиксированными алгоритмами и процессом функционирования. Процесс функционирования аппаратными средствами

умножителей и делителей управляется специализированными микро-

программными автоматами этих устройств. Внешние микрооперации централизованных МПУ призваны:

-управлять загрузкой операндов в блоки умножения, в принятой форме представления;

-инициировать запуск локального

МПУ умножителя (делителя) специаль-

ным микроприказом «Выполнить» (на входе MULtiply) по завершению загрузки операндов;

-управлять съёмом результата

умножения (деления).

Выделенные курсивом микро-

операции принято выполнять во времен-

ных тактах процесора, а внутренние микрооперации блока преобразования

Рисунок Б.4 – Модуль умножения чисел

8

синхронизируются отдельным источ-ником синхронизации с частотой повы-

шенной кратно разрядности операндов. На рисунке Б.4 приведено внешнее

описание блока умножения (деления).

На рисунке Б.4 обозначения DIA, DIB, WRA, WRB аналогичны

принятым на рисунке Б.3, но в качестве операндов приняты их модули

представленные в прямом коде. Сигнальные входы SA, SB соответствуют битам знака операндов A и B («1» - признак отрицательности модуля, «0» -

признак его положительности). Потенциальные выходы DOH, DOL, S

соответствуют старшей и младшей половинам кода результата оперании и

биту знака модуля результата. По входу MULtiply потенциальным сигналом

инициируется выполнение операции умножения (если для этого не

предусмотрено завершение записи операндов и их знаков). Потенциальный

выход ReaDY активным состоянием идентифицирует завершение выполнения операции умножения и может быть применён для снятия сигнала MULtiply внутри модуля при фиксации его состояния в модуле (или

вне его в ином случае).

 

 

Группы входов/выходов

модуле сумматора

представлены

сигнальными шинами: DIA, DIB, SA, SB, MUL, WRA, WRB,

DOH, DOL, S,

CYO. Во внешнем описании добавлен выход RDY.

 

Подобным внешним описанием можно представить модуль выполнения операции деления (с микроприказом DIVide вместо MULtiply) и

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

модулям реализации распространённых комбинированных операций могут

быть отнесены преобразователи, сочетающие выполнение операции

арифметического умножения с накоплением (суммированием)

С+ = A * B + С-

где С+ результат текущей операции, а С- - результат предшествующей операции. Переменная C порождается внутри модуля в результате обработки внешних операндов A, B и выдаётся на его выход. Приведенная

9

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

фильтрация, генерация сигналов сложной формы и пр.).