Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KOMAROV.DOC
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.32 Mб
Скачать

1.6. Функциональная схема мас

Основу MAC (рис. 1.7) составляют умножитель MULTIPLIER и сумматор/вычитатель ADD/SUBTRACT. Умножитель выполняет операции умножения (см. п. 1.17.6) над 16-битными кодами, присутствующими на его Х- и Y- входах. Результат операции (произведение) появляется на 32-битном выходе P(roduct) и подается на один вход сумматора/вычитателя, на второй вход которого подается содержимое регистра результата MR (Mac Result).

Регистр результата представляет собой совокупность трех регистров MR2…MR0, первый из которых (MR2) 8-битный, второй и третий – 16-битные.

В зависимости от команды (см. п. 1.17.6) сумматор/вычитатель может просто передать произведение в регистры MR1, MR0 (с выходов R1, R0 через мультиплексоры MUX 5, MUX 6), а также может сложить/ вычесть произведение с/из содержимым/содержимого регистра результата MR.

Произведение может быть запомнено не только в регистрах результата МR2…MR0 (через мультиплексоры MUX 4…MUX 6), но и в регистре обратной связи МF (Мас Feedback). При этом используется выход R1 сумматора/вычитателя, поскольку – это выход старшего слова произведения. Выход R0 содержит младшее слово произведения (наименее значимое), а выход R2 служит для вывода переносов/заемов, которые могут возникнуть при операциях сложения/вычитания.

При появлении переполнения МАС формирует признак MV (Mac oVerflow), который запоминается в регистре ASTAT.

Регистры результата MR2…MR0 связаны с шиной результата R BUS, поэтому их содержимое может быть использовано в качестве xop других арифметических устройств (см. пп. 1.5, 1.7). Кроме этого, они могут загружаться не только из сумматора/вычитателя, но и с шины данных ПД (DMD BUS). Через мультиплексор MUX 7 содержимое регистров результата MR2…MR0 также может быть считано на шину данных ПД (DMD BUS).

В качестве хор умножителя может выступать содержимое одного из МХ регистров (МХ1 или МХ0) или любого из регистров результата AR, MR2…MR0, SR1, SR0. Выбор хор обеспечивается мультиплексором MUX 2. В качестве yор умножителя может выступать содержимое одного из МY регистров (МY1 или МY0) или регистра обратной связи MF. Выбор yор обеспечивается мультиплексором MUX 3.

Регистры МХ1, МХ0 могут загружаться и считываться через шину данных ПД (DMD BUS). Регистры МY1, МY0 могут загружаться и считываться через шину данных ПД (DMD BUS) и загружаться с шины данных ПП (PMD BUS). Выбор шины обеспечивает мультиплексор MUX 1.

По свойствам все регистры МАС аналогичны регистрам ALU (см. п. 1.5).

1.7. Функциональная схема shifter

Устройство сдвига (УС, рис. 1.8) поддерживает выполнение команд ариф­метического сдвига, логического сдвига и нормализации (см. п. 1.17.7). Кроме этого, УС позволяет извлекать экспоненту числа, а также извлекать общую экспоненту целого блока чисел. Эти функции наиболее полезны при операциях с числами в формате с плавающей точкой.

УС может быть разделено на следующие блоки: сдвигатель (SHIF­TER ARRAY), блок OR/PASS, детектор экспоненты EXP DET, блок сравнения экспонент COMPARE.

Сдвигатель может поместить 16-битный входной код (I) в любое место 32-битного выхода (О). Всего существует 49 размещений входного кода в 32-битном пространстве выходного кода. Размещение (число сдвигов и направление сдвигов) определяются кодом на входе С и сигналом HI/LO сдвигателя.

В состав УС входят также регистры: входной (SI – Shifter Input), экспоненты (SE – Shifter Exponent) и блочной экспоненты (Shifter Block). Во входном регистре хранится входной 16-битный код сдвигателя и детектора экспоненты. С помощью DMD-шины можно считать и изменить (записать) содержимое этого регистра. Входным кодом для сдвигателя и детектора экспоненты может быть содержимое AR (см. п. 1.5), SR или MR (см. п. 1.6), поскольку все эти регистры связаны с R-шиной. Выбор производится мультиплексором MUX 2, который управляется кодом команды сдвига (см. п. 1.17.7).

Результат сдвига через блок OR/PASS помещается в 32-битный регистр SR (Shifter Result), который разделен на два 16-битных регистра SR0 и SR1. Кроме блока OR/PASS источниками кода для загрузки этих регистров могут быть DMD- и R-шины (через MUX 2, сдвигатель и блок OR/PASS). Выбор источника осуществляют мультиплексоры MUX 5, MUX 6. Выход SR регистра связан с одним из входов блока OR/PASS для реализации операций сдвига двойной точности, а также с DMD-шиной (через мультиплексор MUX 7)..

Во время выполнения операций нормализации и денормализации (см. п. 1.17.7) 8-битный регистр SE хранит экспоненту. Экспонента является целым числом со знаком и может быть загружена (и прочитана) через младшие 8 бит DMD-шины.

Во время выполнения операций над блоком чисел в формате с плавающей точкой (см. п. 1.17.7) 5-битный регистр SB хранит блочную экспоненту, т. е. число на которое должны быть сдвинуты все числа блока (обычно – это максимальная экспонента блок чисел). Блочная экспонента является целым числом со знаком и может быть загружена (и прочитана) через младшие 5 бит DMD-шины.

Когда содержимое регистров SE и SB считывается через DMD-шину, происходит расширение знака до 16 бит. По свойствам все регистры УС аналогичны регистрам ALU (см. п. 1.5).

Направление сдвига и число сдвигов определяется управляющим кодом на входе С сдвигателя. Положительное управляющее число определяет сдвиг влево, а отрицательное – вправо. Имеется три источника такого кода: содержимое регистра SE, инвертированное (через инвертор NEG) содержимое регистра SE и непосредственное значение из команды CMD. Выбор источника осуществляется мультиплексором MUX 4.

Значение сигнала HI/LO определяет размещение сдвинутого входного кода в 32-битном пространстве выходного кода. В частности, значение HI определяет размещение кода в регистре SR1, а LO – в регистре SR0. Табл. 1.3 показывает значения выходного кода сдвигателя при различных значениях управляющего кода и сигнала HI/LO.

Таблица 1.3

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]