Аппаратно АЛУ кроме набора логических элементов содержит многоразрядный сумматор, например, 16-ти или 32-х разрядный.
Схема простейшего одноразрядного сумматора изображена на рис. 9.1. Сумматор состоит из двух полусумматоров, каждый из которых содержит по два логических элемента: "Исключающее ИЛИ" (=1) и "И" (&).
0
Рис. 9.1
Первый полусумматор арифметически складывает два бита: число B0 и перенос Pn . Результат суммы по модулю 2 появляется на выходе элемента «=1». В случае поступления двух логиеских единиц от B0 и Pn на выходе элемента «И» появляется «1». Второй полусумматор аналогично производит сложение бита суммы от первого полусумматора с битом числа A0. В результате этого на выходе полного сумматора Σ0 появляется сумма 3-х бит по модулю 2 и общий перенос Pn+1, снимаемый с выхода логического элемента “ИЛИ” (1), который используется для передачи сигнала переполнения на следующий сумматор старшего разряда. Для сложения двух четырехразрядных чисел (операндов) А и В требуется 4 сумматора, выходы которых Σ0, Σ1, Σ2, Σ3 отображают результат сложения, а общий выход переноса Pn+4 подается в следующий 5-ый разряд, в случае, если результат сложения не вписывается в 4-х разрядный формат, т.е. Σ >15.
Логическая операция "ИЛИ" дизъюнкция обозначается символом ∨ ( A∨ B), операция "И" конъюнкция – символом ∧ ( A∧ B) и операция "Исключающее ИЛИ" – символом ⊕ ( A⊕ B).
Таблица 9.1 Пример выполнения арифметическо-логических операций над числами A = 3 и B = 6 и записью результата F
Логические операции |
Арифметические операции |
||||
A∨ B |
A∧ B |
A⊕B |
A+ B |
A− B |
|
А |
0011 |
0011 |
0011 |
0011 (3) |
0011 (3) |
В |
0110 |
0110 |
0110 |
0110 (6) |
0110→1001+0001=1010 (-6) |
F |
0111 |
0010 |
0101 |
1001 (9) |
1101 (-3)→0010+0001=0011 (3) |
Пример выполнения указанных операций над числами А и В приведен в табл. 9.1. Аналогичные операции с инверсным кодом од-
ного из чисел обозначается черточкой, например, А ∧ B, а если ре-
зультат инверсный, то А∧В.
Арифметические операции сложение (+) и вычитание (-) отображены в табл. 9.1. Для выполнения операции вычитания, например A− B, используется тот же сумматор A+ (−B), но отрицательное число − B предварительно должно быть представлено в дополнительном коде. Для этого прямой код положительного числа В инвертируют, а затем прибавляют к нему единицу (в АЛУ эта операция выполняется автоматически). Например, представить в дополнительном коде число B = 0110:
− B = 0110 → инв. 1001+ 0001=1010.
Знак 1 в старшем разряде означает, что число отрицательное. Если после вычитания результат оказался отрицательным, то для представления его в положительном эквиваленте полученное число переводят из дополнительного кода в прямой код по такому же правилу, т.е. сначала число инвертируют, а затем прибавляют единицу
(см. табл. 9.1).
В таблице 9.2 приведен выбор логических или арифметических операций над операндами А и В, выполняемых микросхемой К155ИП3 (АЛУ) в зависимости от кода команды S и сигнала на входе переноса Рn .
Таблица 9.2
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.