Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Алгоритмы сложения (вычитания) и умножения в АЛУ 7.4.1 Сложение





Структурная схема микропрограммы сложения показана на рис. 7.3. Выполнение этого алгоритма состоит в следующем:

1.Первое слагаемое а устанавливается на Рг1, анализируется его знак: если знак

отрицательный, то операнд инвертируется и передается на РгЗ, если положительный

- передается без инверсии через Рг2 на РгЗ

2.Второе слагаемое также устанавливается на Рг1 и анализируется его знак: если

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

начинается суммирование операндов на Рг2 (сумматоре)

3.После суммирования анализируется знак результата: если результат

отрицательный, то он инвертируется, если положительный - добавляется "+1" ЦП к



младшему разряду результата и выполняется анализ признаков переполнения 4.В случае переполнения разрядной сетки машины формируется признак переполнения j, если переполнение отсутствует, то выполняется переход на конец микропрограммы сложения. 7.4.2 Вычитание

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

Схема вычитателя числа А из числа В приведена на рисунке 7.4, а схема вычитателя числа В из числа А приведена на рисунке 7.5.


I


Рис. 7.6 Структурная схема арифметического устройства В приведённой на рис. 7.6 схеме используются четырёхвходовые коммутаторы, для управления каждым из которых достаточно двух бит. То есть для управления всей схемы в целом достаточно четырёх проводов управления. Попытаемся построить таблицу операций, которые будет выполнять эта схема. На результат операции будет влиять вход переноса сумматора PI, поэтому этот провод тоже включим в состав кода, управляющего схемой. Операции, которые выполняются арифметической схемой в зависимости от поданного на управляющие линии кода, приведены в табл. 7.1.

Проанализируем эту таблицу. Если на все управляющие входы подать низкий потенциал, то к входу сумматора будут подключены коды А и В без инверсии. В этом случае будет производиться операция суммирования. Эта ситуация отображена первыми двумя строками таблицы выполняемых операций. Операция вычитания осуществляется второй, третьей, восьмой и девятой строкой. В этом случае один из операндов поступает на вход сумматора через блок инверторов. Правда для получения дополнительного кода не хватает единицы, но её можно подать на вход переноса сумматора PI. Ещё одной часто используемой операцией является увеличение числа на единицу или уменьшение числа на единицу. Эти операции позволяют легко организовывать циклы в программе и переходить от предыдущего операнда к следующему. Такие операции могут быть выполнены при помощи кодов, записанных в строках четыре, семь, шестнадцать и двадцать пять. Кроме того, схема


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

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

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


Таблица 7.2

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


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

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

Рис. 7.7 Алгоритм умножения 1.В начале операции все регистры устанавливаются в нулевое состояние.

2.Множимое и множитель располагаются в определенных регистрах,

предусматриваются также регистры, в которых образуется сумма частичных

произведений.

3.Анализируется младший разряд множителя: если он имеет значение "1", то к

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

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

вправо.

5.Действия 3 и 4 повторяются п раз (п - разрядность сомножителей)

Структурная схема микропрограммы умножения показана на рис. 7.8. Ввиду

громоздкости деление здесь не рассматривается.


 


Рис. 7.8 Схема микропрограммы умножения 7.4.4 Деление

Арифметико-логическое устройство обеспечивает стандартный набор арифметических и логических операций. Также имеется два примитива деления, которые позволяют реализовывать многоцикловое деление. На рис. 7.9 показана блок-схема АЛУ.

АЛУ имеет три 16-битных регистра, доступных для программиста: X,Y -регистры операндов, a R - регистр результата. АЛУ использует входной сигнал переноса (CI), который означает, бит переноса в регистре арифметического состояния (ASTAT).


Рис. 7.9 блок-схема АЛУ АЛУ генерирует шесть статусных сигналов:

результат О (AZ)

отрицательный (AN)

перенос (АС)

переполнение результата (AV)

знак (AS)

состояние частного (AQ) Деление

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



7.5ЛАБОРАТОРНАЯ РАБОТА № 7
Цель работы: Исследовать стандартное арифметическо-логическое

Устройство.

Работа выполняется на плате П6 с использованием одной технологической карты VI-1.

Карта VI-1 позволяет исследовать АЛУ. При не нажатой кнопке SB2 общая шина подключается к выходу счетчика 10. Набирая любую необходимую информацию (кнопкой -SB1), контролируемую по индикатору HG-1 переписывают ее в регистры кода операций или операндов. Выход информации из АЛУ на индикатор HG-1 осуществляют сигналом, подаваемым на вход V микросхемы счетчика.

Стандартное АЛУ типа К155ИПЗ, как известно [2], может выполнять 64 логических или арифметическо-логических операции, в зависимости от сигналов, подаваемых на управляющие входы S, М и вход переноса Р().

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

Таблица входных кодов и выполняемых операций.

Таблица 7.2


I


При работе со стендом карта (VI-1) удобнее пользоваться, шестнадцатеричным

кодом операции, который набирается кнопкой, SB1 с контролем по индикатору

HG1.







Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.