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

Занятие 2. Принципы организации арифметико-логических устройств Общие сведения

Арифметико-логические устройства (АЛУ) служат для выполнения арифметических и логических преобразований над словами, называемыми в этом случае операндами.

  • Выполняемые в АЛУ операции можно разделить на следующие группы: операции двоичной арифметики для чисел с фиксированной точкой; операции двоичной (или шестнадцатеричной) арифметики для чисел с плавающей точкой;

  • операции десятичной арифметики;

  • операции индексной арифметики (при модификации адресов команд);

  • операции специальной арифметики;

  • операции над логическими кодами (логические операции);

  • операции над алфавитно-цифровыми полями.

К арифметическим операциям относятся сложение, вычитание, вычитание модулей («короткие операции») и умножение и деление («длинные операции»). Группу логических, операций составляют операции дизъюнкция (логическое ИЛИ) и конъюнкция (логическое И) над много разрядными двоичными словами, сравнение кодов на равенство. Специальные арифметические операции включают в себя нормализацию, арифметический сдвиг (сдвигаются только цифровые разряды, знаковый разряд остается на месте), логический сдвиг (знаковый разряд сдвигается вместе с цифровыми разрядами). Обширная группа операций редактирования алфавитно-цифровой информации. Можно привести следующую классификацию АЛУ.

По способу действия над операндами АЛУ делятся на последовательные и параллельные. В последовательных АЛУ операнды представляются в последовательном коде, а операции производятся последовательно во времени над их отдельными разрядами. В параллельных АЛУ операнды представляются параллельным кодом и операции совершаются параллельно во времени над всеми разрядами операндов.

По способу представления чисел различают АЛУ:

1) для чисел с фиксированной точкой;

2) для чисел с плавающей точкой;

3) для десятичных чисел.

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

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

Структура АЛУ для сложения и вычитания чисел с фиксированной точкой.

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

Алгоритмы выполнения в АЛУ арифметических операций зависят от того, в каком виде хранятся в памяти ЭВМ числа - в прямом или дополнительном. В последнем случае сокращается время выполнения операции за счет исключения операции преобразования получаемого в АЛУ дополнительного кода отрицательного результата в прямой код, хотя при этом несколько усложняется операция умножения. Рассмотрим алгоритм алгебраического сложения двоичных чисел с фиксированной точкой при использовании дополнительного кода для представления чисел. При выполнении операции сложения производится сложение двоичных кодов, включая разряды знаков. Если при этом возникает перенос из знакового разряда суммы при отсутствии переноса в этот разряд или перенос в знаковый разряд при отсутствии переноса из разряда знака, то имеется переполнение разрядной сетки соответственно при отрицательной и положительной суммах.

Рис. 3 –Упрощенная структурная схема АЛУ

На рис. 3 Представлена упрощенная структурная схема АЛУ для операций сложения и вычитания n-разрядных (нулевой разряд знаковый) двоичных чисел с фиксированной точкой. Предполагается, что числа хранятся в памяти в дополнительном коде.

  • В состав АЛУ входят:

  • n-разрядный параллельный комбинационный сумматор См;

  • регистр сумматора РгСм;

  • входные регистры сумматора Рг*В и РгА;

  • входной регистр АЛУ Рг1.

Из оперативной памяти по входной информационной шине ШИВх в АЛУ поступают операнды. Операнды размещаются в Рг*В (первое слагаемое или уменьшаемое) и Рг*1 (второе слагаемое или вычитаемое); Рг*1 соединен с РгА цепями прямой и инверсной пере- дачи кода. Прямая передача используется при операции алгебраического сложения, а инверсная - при операции вычитания. Результат операции выдается из АЛУ в оперативную память по выходной информационной шине ШИВых. При выполнении операции б АЛУ помимо результата операции формируется 2-разрядный код признака результата ПР.

Примем, что код признака результата формируется комбинационной схемой ПР, на входы которой поступают сигналы, соответствующие значениям всех разрядов сумматора, а также сигналы переносов из знакового разряда ПнСм[0] и в знаковый из старшего цифрового разряда ПнСи[1]. При выполнении алгебраического сложения поступившие в АЛУ коды операндов находятся на входных регистрах Рг*Б и Рг*А сумматора. Код суммы формируется на выходах схемы См и запоминается в регистре суммы РгСм. Операция алгебраического вычитания может быть сведена к изменению знака вычитаемого и операции алгебраического сложения. Изменению знака соответствует следующая процедура: принятый в Рг*1 код числа передается инверсно в Рг*А и при сложении осуществляется прибавление единицы в младший разряд сумматора. Передачи информации в регистрах АЛУ производятся отдельными микрооперациями. Слово из Рг*1 в РгА может быть передано в прямом (управляющий сигнал ПрРгАГГ) или в инверсном (управляющий сигнал ПрРгАЙ) кодах. Ниже приведено совмещенное( описание микропрограммы операций сложения и вычитания на языке микроопераций.

ПрРгВ :РгБ : = ШИВх (прием операнда 1);

ПрРг1 : Рг1 := ШИВх (прием операнда 2);

Прием: если сложение, то РгА := Рг*1; иначе РгА : = инверсия [Рг1];

Сумма: если сложение, то РгСм := РгА+РгВ; иначе РгСм ;= РгА+РгВ+1,-

ПрУБ: если ПР = 11, то прерывание; иначе

ПрШИВых: ШИВых: =РгСм (выдача результата);

Конец.

Микрооперация ПрУБ состоит в выдаче в управляющий блок кода признака результата и в формировании запроса прерывания при переполнении разрядной сетки.

Устройства для выполнения логических операций

В состав операций, реализуемых ЭВМ, входят следующие:

  • поразрядные

  • логические операции;

  • суммирование по модулю 2;

  • логическое умножение И;

  • логическое сложение ИЛИ.

В результате поразрядной логической операции над словами X и У формируется слово 2, в котором 2[1] = Х[1] *У[1], где * - символ выполняемой операции. Для выполнения логических операций можно воспользоваться устройством, структурная схема которого приведена на рис. 4. Исходные операнды размещаются в регистрах Рг1 и Рг2, откуда побайтно можно переносить их содержимое в РгС и РгБ соответственно. Для реализации требуемых логических операций используется схема однобайтовых логических операций СОЛО, входящая в состав АЛУ и являющаяся комбинационной схемой, позволяющей реализовать поразрядные операции логического умножения И, логического сложения ИЛИ и суммирования по модулю 2 над двумя однобайтовыми операндами. Результат обработки байтов запоминается в регистре РгСОЛО, из которого его можно отправлять в выходной регистр РгСм.

Рис. 4 – Структурная схема блока логических операций

Помимо указанных логических операций в СОЛО выполняется операция сравнения двух байт, используемая, в частности, при обработке порядков над числами с плавающей запятой. Восьмиразрядная схема однобайтных логических операций состоит из восьми схем поразрядной обработки СПО и схемы сравнения слов длиной 1 байт. На выходах СОЛО КО — К7 формируется поразрядная конъюнкция двух байт, поданных на схему. На выходах МО — М7 образуется поразрядная сумма по модулю 2. На Вых1 и Вых2 формируются сигналы, определяющие результат сравнения байт, по численному значению в соответствии с таблицей:

На выходе К± образуется конъюнкция К± = Ci • Di, Где а и Р1-значения 1-тых разрядов кодов, хранящихся соответственно в регистрах РгС и РгО. На выходе М± формируется значение суммы по модулю 2 в соответствии с выражением М1 = а + т.

Выходы К1 и М± соединены с входами соответствующих разрядов регистра РгСОЛО. При выполнении микрооперации выходов К±. При выполнении микрооперации РгСОЛО := РгС * РгD в РгСОЛО заносятся значения состояний выходов К1. При выполнении микрооперации РгСОЛО := РгС + РгD в РгСОЛО заносятся значения состояний выходов М1. Если одновременно выполняются две микрооперации РгСОЛО := РгС • РгD и РгСОЛО := РгС + РгD, в РгСОЛО заносится результат поразрядной операции ИЛИ РгС \/ РгD.

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