ЭВМ лекции
.pdf18. Арифметико-логическое устройство
Арифметико-логическое устройство выполняет над словами ряд действий.
Основой АЛУ служит сумматор, схема которого может быть дополнена логикой,
расширяющей функциональные возможности АЛУ и обеспечивающей его перестройку с одной операции на другую.
Выполняемые в АЛУ операции можно разделить на следующие группы:
∙операции двоичной арифметики для чисел с фиксированной точкой;
∙операции двоичной (или шестнадцатеричной) арифметики для чисел с плавающей точкой;
∙операции десятичной арифметики;
∙операции индексной арифметики (при модификации адресов команд);
∙операции специальной арифметики;
∙операции над логическими кодами (логические операции);
∙операции над алфавитно-цифровыми полями.
Современные ЭВМ общего назначения обычно реализуют операции всех приведенных выше групп, а малые и микроЭВМ, микропроцессоры и
специализированные ЭВМ часто не имеют аппаратуры арифметики чисел с плавающей точкой, десятичной арифметики и операций над алфавитно- цифровыми полями. В этом случае эти операции выполняются специальными подпрограммами. К арифметическим операциям относятся сложение, вычитание, вычитание модулей («короткие операции») и умножение и деление («длинные операции»). Группу логических операций составляют операции дизъюнкция (логическое ИЛИ) и конъюнкция (логическое И) над многоразрядными двоичными словами, сравнение кодов на равенство. Специальные арифметические операции включают в себя нормализацию, арифметический сдвиг (сдвигаются только цифровые разряды, знаковый разряд остается на месте), логический сдвиг (знаковый разряд сдвигается вместе с цифровыми разрядами). Обширна группа операций редактирования алфавитно-цифровой информации.
101
Классификация АЛУ По способу действия над операндами АЛУ делятся на последовательные и
параллельные. В последовательных АЛУ операнды представляются в последовательном коде, а операции производятся последовательно во времени над их отдельными разрядами. В параллельных АЛУ операнды представляются
параллельным кодом и операции совершаются параллельно во времени над всеми разрядами операндов.
По способу представления чисел различают АЛУ:
∙для чисел с фиксированной точкой;
∙для чисел с плавающей точкой;
∙для двоично-десятичных чисел.
По характеру использования элементов и узлов АЛУ делятся на блочные и многофункциональные. В блочном АЛУ операции над числами с фиксированной и плавающей точкой, двоично-десятичными числами и алфавитно-цифровыми полями выполняются в отдельных блоках, при этом повышается скорость работы, так как блоки могут параллельно выполнять соответствующие операции, но значительно возрастают затраты оборудования. В многофункциональных АЛУ
операции для всех форм представления чисел выполняются одними и теми же схемами, которые коммутируются нужным образом в зависимости от требуемого режима работы.
По своим функциям АЛУ является операционным блоком, выполняющим микрооперации, обеспечивающие прием из других устройств (например, памяти) операндов, их преобразование и выдачу результатов преобразования в другие устройства. Арифметико-логическое устройство управляется управляющим блоком, генерирующим управляющие сигналы, инициирующие выполнение в АЛУ определенных микроопераций. Генерируемая управляющим блоком
последовательность сигналов определяется кодом операции команды и оповещающими сигналами.
Устройства управления делятся на:
∙УУ с жесткой, или схемной логикой;
∙УУ с программируемой логикой (микропрограммные УУ).
102
Вустройствах управления первого типа для каждой команды, задаваемой кодом операции, строится набор комбинационных схем, которые в нужных тактах вырабатывают необходимые управляющие сигналы.
Вмикропрограммных УУ каждой команде ставится в соответствие совокупность хранимых в специальной памяти слов – микрокоманд. Каждая из микрокоманд содержит информацию о микрооперациях, подлежащих выполнению в данном такте, и указание, какое слово должно быть выбрано из памяти в следующем такте.
Обычно АЛУ – четырехразрядные, и для наращивания разрядности объединяются с формированием последовательных или параллельных переносов.
АЛУ имеет входы операндов A и B, входы выбора операций S, вход переноса
Ci и вход M, сигнал которого задает тип выполняемых операций: логические
(M=1) или арифметико-логические (M=0). Результат операции вырабатывается на выходах F, выходы G и H дают функции генерации и прозрачности, используемые для организаций параллельных переносов при наращивании размерности АЛУ. Сигнал C0 – выходной перенос, а выход A=B есть выход сравнения на равенство с открытым коллектором.
Условное графическое обозначение АЛУ представлено на рис.18.1.
Рис. 18. 1 Условное графическое обозначение АЛУ
103
Перечень выполняемых АЛУ операций дан в таблице (за обозначения 1 и 0
приняты двоичные наборы 1111 и 0000 соответственно). Л
S |
Логические функции M=1 |
Арифметико-логические функции M=0 |
||||||||||||||||||||||
0000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A + Ci |
|||||||||
|
|
|
A |
|||||||||||||||||||||
0001 |
|
A B |
|
|
|
A B + Ci |
||||||||||||||||||
0010 |
|
|
|
|
|
|
|
|
|
A Ú |
|
|
+ Ci |
|||||||||||
|
|
AB |
||||||||||||||||||||||
|
|
B |
||||||||||||||||||||||
0011 |
0 |
|
|
|
|
|
|
|
–1+ Ci |
|||||||||||||||
0100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ Ci |
||
|
AB |
A + AB |
||||||||||||||||||||||
0101 |
|
|
|
B |
|
|
|
|
|
|
|
|
+ Ci |
|||||||||||
|
|
|
A B + AB |
|||||||||||||||||||||
0110 |
A Å |
|
B |
A - B - 1 + Ci |
||||||||||||||||||||
0111 |
|
AB |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
AB - 1 + Ci |
|||||||||||||||||||||||
|
|
|||||||||||||||||||||||
1000 |
|
|
B |
|
A+AB+Ci |
|||||||||||||||||||
|
A |
|
||||||||||||||||||||||
1001 |
A Å B |
|
A+B+Ci |
|||||||||||||||||||||
1010 |
|
|
|
B |
A |
B |
+ AB+ Ci |
|||||||||||||||||
1011 |
|
AB |
|
AB-1+Ci |
||||||||||||||||||||
1100 |
1 |
|
|
|
|
|
|
A+A+Ci |
||||||||||||||||
1101 |
A |
|
|
A B + A + Ci |
||||||||||||||||||||
B |
||||||||||||||||||||||||
1110 |
A B |
A |
B |
+ A + Ci |
||||||||||||||||||||
1111 |
|
|
|
A |
|
A-1+Ci |
Логические операции – поразрядные, при арифметических операциях учитываются межразрядные переносы.
Шестнадцать логических функций, представленных в таблице, позволяют воспроизводить все функции двух переменных.
Ниже представлена структурная схема АЛУ.
При операциях над словами большой размерности АЛУ соединяются друг с другом с организацией последовательных или параллельных переносов. В последнем случае совместно с АЛУ применяют микросхемы – блоки ускоренного переноса, получающие от отдельных АЛУ функции генерации и прозрачности, а также входной перенос и вырабатывающие сигналы переноса.
104
Рис. 18. 2 Схема АЛУ
Рис. 18. 3
105
19. Умножители
Умножение двоичных чисел осуществляется по следующему алгоритму (M1, M2 – множители разрядности n, P – произведение):
Рис. 19. 1
Работа такого умножителя связана с большим числом повторений, что
приводит к увеличению |
времени |
||
выполнения |
программы. |
В |
|
вычислительной |
технике |
большее |
распространение получили матричные
умножители.
Пусть имеются два целочисленных двоичных множителя Am=am-1…a0 и Bn=bn- 1…b0. Их перемножение выполняется по схеме:
106
Произведение выражается числом Pm+n=pm+n-1pm+n-2…p0. Члены вида aibj вырабатываются параллельно работающими во времени конъюнкторами. Их сложение в столбцах составляет основную операцию для умножителя.
|
a3 |
a2 |
a1 |
a0 |
b3 |
a3b3 |
a2b3 |
a1b3 |
a0b3 |
b2 |
a3b2 |
a2b2 |
a1b2 |
a0b2 |
b1 |
a3b1 |
a2b1 |
a1b1 |
a0b1 |
b0 |
a3b0 |
a2b0 |
a1b0 |
a0b0 |
Разряды произведения определяются суммой элементов побочной диагонали матрицы.
Рис. 19. 2
107
20. Аналого-цифровые преобразователи
Аналого-цифровой преобразователь (АЦП) —это устройство,
преобразующее входной аналоговый сигнал в дискретный код (цифровой сигнал). Обратное преобразование осуществляется при помощи ЦАП (цифро-аналогового преобразователя).
Дискретизацией сигнала называется измерительное преобразование непрерывного сигнала x(t) в последовательность мгновенных значений этого сигнала X(kiT), соответствующих определенным моментам времени kiT (T – шаг дискретизации).
Рис.20. 1
Дискретизацию сигнала по времени можно проводить с постоянным шагом T=const или с переменным шагом T=var.
Как правило, АЦП — электронное устройство, преобразующее напряжение в двоичный цифровой код. Некоторые неэлектронные устройства, такие как преобразователь угол-код, следует также относить к АЦП.
В качестве аналогового сигнала может выступать любая физическая непрерывно меняющаяся величина либо ее эквивалент. Часто используют эквивалент напряжения для получения цифровой информации о температуре, токе, частоте и т.д.
Разрядность АЦП характеризует количество дискретных значений, которые преобразователь может выдать на выходе. Измеряется в битах. Например, АЦП, способный выдать 28=256 дискретных значений (0..255), имеет разрядность 8 бит,
поскольку
108
Разрешение (разрешающая способность) АЦП – это способность АЦП различать два значения входного сигнала. Разрешение может быть определено в терминах входного сигнала и выражено, например, в вольтах. Разрешение по напряжению равно напряжению, соответствующему максимальному выходному коду, деленному на количество выходных дискретных значений. Например:
Диапазон входных значений = от 0 до 10 вольт Разрядность АЦП 12 бит: 212 = 4096 уровней квантования
Разрешение по напряжению: (10-0)/4096 = 0.00244 вольт = 2.44 мВ На практике разрешение АЦП ограничено отношением сигнал/шум входного
сигнала. При большой интенсивности шумов на входе АЦП различение соседних уровней входного сигнала становится невозможным, то есть ухудшается разрешение. При этом реально достижимое разрешение описывается
эффективной разрядностью (effective number of bits — ENOB), которая меньше,
чем реальная разрядность АЦП. При преобразовании сильно зашумленного сигнала младшие биты выходного кода практически бесполезны, так как содержат шум.
Частота дискретизации – частота, с которой производится аналого- цифровое преобразование сигнала.
Время преобразования – время от начала преобразования до появления на выходе АЦП соответствующего кода.
Большинство АЦП считаются линейными, хотя аналого-цифровое преобразование по сути является нелинейным процессом (поскольку операция отображения непрерывного пространства в дискретное — операция нелинейная). Термин линейный применительно к АЦП означает, что диапазон входных значений, отображаемый на выходное цифровое значение, связан по линейному закону с этим выходным значением. На рисунке представлена идеальная функция преобразования для линейного АЦП (зависимость дискретного отображения аналогового сигнала от его физической величины).
109
Аналоговый сигнал является непрерывной функцией времени, в АЦП он преобразуется в последовательность цифровых значений.
Следовательно, необходимо определить частоту
выборки цифровых значений из аналогового сигнала.
Частота, с которой производятся цифровые значения,
получила название частота дискретизации АЦП.
Поскольку реальные АЦП не могут произвести аналого-цифровое преобразование мгновенно,
входное аналоговое значение должно удерживаться постоянным по крайней мере от начала до конца процесса преобразования (этот интервал времени называют время преобразования). Эта задача может решаться путем использования специальной схемы на входе АЦП — устройства выборки-хранения — УВХ. УВХ, как правило, хранит входное напряжение в конденсаторе, который соединен со входом через аналоговый ключ: при замыкании ключа происходит выборка входного сигнала (конденсатор заряжается до входного напряжения), при размыкании — хранение. Многие АЦП, выполненные в виде интегральных микросхем содержат встроенное УВХ.
Основой построения АЦП является аналоговый компаратор. Компаратор (аналоговых сигналов) — электронная схема, принимающая на свои входы два аналоговых сигнала и выдающая логический «0» или «1», в зависимости от того, какой из сигналов больше.
Существуют следующие типы аналого-цифровых преобразователей:
∙АЦП прямого преобразования или параллельный АЦП;
∙АЦП дифференциального кодирования;
∙АЦП сравнения с пилообразным сигналом;
∙АЦП с уравновешиванием заряда;
∙Конвейерные АЦП;
∙Сигма-Дельта АЦП;
110