- •Представление информации в эвм.
- •Системы счисления.
- •3.2. Представление чисел и команд в компьютере.
- •Представление информации в ячейках.
- •Двоичная дополнительная арифметика.
- •Кодирование информации
- •Синтез операционных автоматов с общими микрооперациями
- •Арифметика с плавающей запятой. Выполнение операций с плавающей запятой
- •Алгебраическое сложение чисел, представленных в форме с плавающей запятой
- •Методы умножения двоичных чисел
- •Умножение чисел, представленных в форме с фиксированной запятой
- •Умножение чисел, представленных в форме с плавающей запятой
- •Деление двоичных чисел Деление двоичных чисел, представленных в форме с с фиксированной запятой
- •Десятичная арифметика. Выполнение операций с десятичной арифметики
- •2.Общие теоретические положения при синтезе алу
- •Практическая работа № 2
- •Практическая работа № 2
- •С ускоренным переносом
- •Арифметические операции
2.Общие теоретические положения при синтезе алу
Часть вычислительной машины, выполняющая операции по обработке данных, называется процессором. Процессор-это аппаратные средства, предназначенные для обработки команд и данных. Состоит процессор из арифметико-логического устройства, производящего обработку данных, блока управления операциями и блока управления командами. Блок управления операциями осуществляет преобразование кодов операций в последовательность электрических сигналов, инициирующих во всех устройствах и блоках ЭВМ операции по переработке и перемещению информации. Блок управления командами управляет потоком команд определяющих характер действий машины и операнды, над которыми эти действия выполняются.
Арифметико-логическое устройство служит для выполнения арифметических и логических операций над двоичными числами - операндами. Операндами могут быть двоичные числа с фиксированной и плавающей запятой, десятичные числа, команды или их отдельные поля, логические коды, алфавитно-цифровые поля.
Рассмотрим функциональную схему АЛУ на примере простейших операций - арифметических операций над числами с фиксированной запятой и логическими кодами. Структура АЛУ будет понятна, если предварительно рассмотреть задачу сложения двух двоичных чисел. Например, необходимо сложить два числа: 00111 и 01101
первое число 00111
+
второе число 01101
перенос 1111
результат 10100
Операция сложения выполняется последовательно, начиная с младшего разряда и завершается сложением старших разрядов. Таким образом, при сложении двух чисел сумматор должен начинать сложение, начиная с младшего разряда, при этом должна формироваться сумма и перенес в следующий разряд. При сложении всех последующих разрядов должен учитываться перенос из предыдущего разряда. Для выполнения операции сложения в i-ом разряде (i=O.n=1) при сложении n- разрядных чисел может быть использована комбинационная схема с тремя входами и двумя выходами. В табл.2.1 указаны возможные значения сигналов на входе одноразрядного сумматора и соответствующие им значения выходных сигналов - суммы Сi и переноса в следующий разряд Pi.
Табл.2.1.
-
Входы
Выходы
ai
bi
Pi+1
Рi
Сi
0
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
Ниже, на рис.2.1. приведены карты Карно и булевы функции в нормальной дизъюнктивной форме (НДФ), которые описывают структуру одноразрядного сумматора.
ai bi
|
|
1 |
|
|
1 |
1 |
1 |
Pi+1 ai bi
|
1 |
|
1 |
1 |
|
1 |
|
Pi+1
Pi = aibi V Pi+1ai V biPi+1 (1)
Сi = aibiPi+1 V aibiPi+1 V aib i Pi+1 V ai biPi+1 (2)
2.1.Использование сумматора для выполнения арифметических операций
Рассмотрим выполнение операции вычитания. В большинстве ЭВМ находит применение путь, при котором числа, участвующие в операции, подвергаются преобразованию в обратный или дополнительный код. Для представления числа в обратном коде необходимо произвести поразрядную инверсию, например число 01100 в обратном коде выглядит как 10011. Для преобразования двоичного числа в дополнительный код необходимо к числу, представленному в обратном коде в младший разряд добавить единицу 10011+00001=10100. Тогда для выполнения операции вычитания в сумматоре необходимо вычитаемое представить в обратном или дополнительном коде. Например, необходимо произвести вычитание из 10011 числа 01010. При выполнении этой операции обычным путем результат будет следующим:
_ 10011
01010
01001
Если второе число представить в обратном и дополнительном кодах, то получим следующее:
+ 10011 + 10011
10101 10110
101000 101001
00001
01001
Таким образом, использование обратного кода требует осуществления переноса единицы из старшего разряда в младший, тогда как использование дополнительного кода для вычитаемого таких действий не требует, перенос в старший разряд должен игнорироваться (во внимание не приниматься).
Для реализации указанного пути необходимо сумматор по входам Bi снабдить дополнительными логическими элементами, с помощью которых будет осуществляться прямая или инверсная передача кодов Bi. Единица в младший разряд может быть добавлена подачей на вход Рn сумматора сигнала 1.
Рис 2.5. Схема комбинационного автомата i – го разряда сумматора – вычитателя.
Схема, способная производить прямую и инверсную передачу кодов Bi, приведена на рис.2.5.