
- •Учебная программа дисциплины – Syllabus
- •1. 1Данные о преподавателях:
- •1. 2 Данные о дисциплине:
- •1.5. Краткое содержание дисциплины:
- •1.6. Виды и перечень заданий и сроки их выполнения:
- •Виды заданий и сроки их выполнения
- •1. 7 Список литературы
- •1.8. Система оценки знаний
- •Распределение рейтинговых баллов по видам контроля
- •Календарный график сдачи всех видов контроля по дисциплине «Цифровые устройства и микропроцессоры»
- •Оценка знаний студентов
- •1.9 Политика и процедура
- •2. Содержание активного раздаточного материала
- •2. 1 Тематический план курса
- •Системы счисления
- •Кодирование положительных и отрицательных чисел
- •Алгебраическое сложение чисел с фиксированной запятой
- •Умножение чисел в прямом коде.
- •Умножение чисел в дополнительном коде.
- •Деление чисел с фиксированной запятой
- •Деление двоичных чисел в прямом коде.
- •Деление двоичных чисел в дополнительном коде.
- •Функции алгебры логики (фал).
- •Способы задания фал.
- •Комбинационные схемы и реализация булевых функций.
- •Конечные автоматы
- •Компаратор
- •Триггеры
- •Регистры
- •Счетчики
- •Сумматоры
- •Иерархическая организация зу
- •О рганизация буферных зу
- •Тема лекции 9. Микропроцессоры (мп) и микропроцессорные системы(мпс). Классификация мп и мпс. Структура базового мп
- •Структура базового мп
- •Микропроцессоры
- •Интерфейсы микро-эвм.
- •Озу динамического типа (dram)
- •Тема лекции 13. Архитектура микропроцессоров(мп) и микропроцессорных систем (мпс). Шинная организация ibm pc. Система шин. Передача информации в мпс. Методы ввода/вывода и их классификация.
- •Методы ввода/вывода и их классификация
- •Сигнальные процессоры dsp (цифровая обработка сигналов dsp (digital signal processor) ) представляют собой специализированные процессоры для приложений, требующих интенсивных вычислений .
- •2.3 Наименование тем лабораторные занятия, их содержание и объем в часах (15 часов)
- •2.4. Самостоятельная работа студентов под руководством преподавателя (срсп) (45часов).
- •2.6 Курсовая работа
- •2.7. Тестовые задания для самоконтроля с указанием правильных ответов (не более 30)
- •Коды правильных ответов
- •2.8. Перечень экзаменационных вопросов по пройденному курсу (80 вопросов)
- •Глоссарий
- •Умк дс обсужден на заседании кафедры
Кодирование положительных и отрицательных чисел
В ЭВМ выполнение операции вычитания (или алгебраического сложения) чисел сводится к арифметическому сложению их кодов, что приводит к упрощению структуры арифметического блока. Это достигается путем представления чисел в прямом [Х]пр, обратном[Х]обр и дополнительном [Х]доп кодах.
Прямой код. Пусть имеется число X в виде правильной дробиұ0,g1 ,g2..., gn, тода правило образования прямого кода правильной дроби имеет вид:
Согласно этому правилу запись прямого кода положительного числа имеет следующий вид: [X+]пр=0,g1 ,g2..., gn, а прямой код отрицательного числа[Х-]пр=0,g1 ,g2..., gn.
Прямой код целого числа образуется по следующему правилу:
где n - количество разрядов для представления чисел. В ЭВМ прямой код используется для выполнения операций умножения и деления, для хранения операндов в различных запоминающих устройствах, при вводе и выводе информации.
Алгебраическое сложение отрицательных чисел выполняется в дополнительном или обратном кодах. Обратный код отрицательной дроби имеет вид: [X]обp=1,d1,d2,...dn , где
т.е. для перехода от прямого кода отрицательного числа к обратному необходимо в знаковый разряд записать единицу, а в цифровых разрядах единицы заменить нулями, нули - единицами. По этим же правилам осуществляется переход к обратному коду целого отрицательного числа.
Дополнительный код. Для получения дополнительного кода отрицательного числа в знаковый разряд кода записывается единица, в цифровых разрядах единицы заменяются нулями, нули - единицами, и к младшему разряду прибавляется единица. Таким образом, дополнительный код отрицательного числа может быть получен из обратного путем прибавления 1 к младшему разряду. Изображения положительных чисел в дополнительном и обратном кодах совпадают с изображениями в прямом коде.
В различных кодах нуль представляется следующим образом:
Алгебраическое сложение чисел с фиксированной запятой
Операции алгебраического сложения и вычитания двоичных чисел в машинах осуществляются в обратном и дополнительном кодах. Использование этих кодов позволяет заменить определение разности вычислением суммы. Для обнаружения переполнения по результату операции анализируются переносы из старшего разряда в знаковый и из знакового разряда.
При алгебраическом сложении чисел с использованием обратного (или дополнительного) кода положительные слагаемые подаются на вход сумматора в прямом коде, а отрицательные в обратном (дополнительном) коде. В арифметическом сложении кодов участвуют и разряды знаков, которые рассматриваются как старшие разряды. При использовании обратного кода перенос, возникающий из знакового разряда, прибавляется к младшему разряду кода суммы, а при использовании дополнительного кода перенос из знакового разряда отбрасывается. Если полученная алгебраическая сумма имеет положительный знак, то результат получается в прямом коде, если знак суммы отрицательный - в обратном или дополнительном кодах.
П р им е р 1.5. Сложить два числа с разными знаками:X=+0.11001,У=-0,01010 в обратном и дополнительном кодах. При этомХ+У>0.
Р е ш е н ие. Представим числа X и У в обратных кодах:[Х]обр=[Х]пр=0,11001; [У]обр=1,10101. Сложим коды чисел:
0,11001
+ 1,10101
10,01110
+ 1
[Х]пр+[У]обр= 0,01111 =[Х+У]обр=[Х+У]пр
Ответ: Х+У=+0,01111.
Представим числа X и У в дополнительных кодах: [Х]доп=[Х]пр=0,11001, [У]доп=1,10110. Сложим коды чисел:
0,11001
+ 1,10110
[Х]пр+[У]доп= 10,01111 =[Х+У]доп=[Х+У]пр
отбрасывается
Ответ: Х+У=+0,01111.
П p им e p 1.6. Сложить два числа(Х+У<0) с разными знаками в обратном и дополнительном кодах:X=-0,11001,У=+0,01010.
Р е ш е н ие. Представим числа X и У в обратных кодах:[Х]обр=1,00110 [У]обр= [У]пр=0,01010. Сложим коды чисел:
0,00110
+ 0,01010
[Х]обр+[У]пр= 1,10000 =[Х+У]обр
[Х+У]пр =1,01111. Ответ: Х+У=-0,01111.
Представим числа X и У в дополнительных кодах:[Х]доп=1,00111; [У]доп=[У]пр=0,01010.
Сложим коды чисел:
1,00110
+ 0,01010
1,10001
[Х]доп+[У]пр =1,10001 = [Х+У]доп, [Х+У]пр =1,01111.
Ответ: Х+У=-0,01111.
П р им е р 1.7. Сложить числаX=-0,10101 иУ=-0,00110 в обратном и дополнительном кодах.
Р е ш е н ие. Представим числа X и У в обратных кодах:[Х]обр=1,01010, [У]обр=1,1101. Сложим коды чисел:
1,01010
+ 1,11001
11,00011
+ 1 циклический перенос
[Х]обр+[У]обр=1,00100 =[Х+У]обр, [Х+У]пр=1,11011
Ответ: Х+У=-0,110011.
Представим числа X и У в дополнительных кодах: [Х]доп=1,01011,[У]доп=1,11010. Сложим коды чисел:
1,01011
+ 1,11010
[Х]доп+[У]доп= 11,00101
=[Х+У]доп
отбрасывается
Ответ: Х+У=-0,11011.
При сложении кодов двух чисел с одинаковыми знаками может возникнуть переполнение. Полученный результат при этом превосходит по абсолютной величине максимально допустимое значение для данного формата чисел. В ЭВМ переполнение разрядной сетки фиксируется, и вырабатывается сигнал " Переполнение". При с ложении двух положительных чисел имеет место переполнение, если образован перенос из старшего значащего разряда в знаковый, а из знакового разряда перенос отсутствует.
П р им е р 1.8. Сложить числаX=0,11001 и У=0,10101. Сумма в прямом коде будет равна:
+
[Y]пр =0,10101
1,01110
0
1
Сумма получена с переполнением.
При сложении двух отрицательных чисел, если имеет место переполнение, то образуется перенос из знакового разряда, а перенос в знаковый разряд отсутствует.
П р им е р 1.9. Сложить числаX=-0,11001 иУ=-0,10101. Сумма в дополнительном коде будет равна:
+
[Y]доп =1,01011
0,10010
1
0
Сумма получена с переполнением.
Основная литература: 1 [62-88], 3 [51-82]
Дополнительная литература:7 [111-145], 9 [305-361]
Контрольные вопросы:
Назовите основные системы счисления?
Какие действия необходимо произвести для сложения чисел?
Как преобразовать прямой код двоичных чисел в обратный и дополнительный код?
Чем отличается кодировка отрицательных и положительных чисел?
Чем отличается сложение чисел с фиксированной и плавающей запятой?
Тема лекции 2. Арифметические и логические основы цифровых устройств (ЦУ) и микропроцессоров. (МП). Операции умножения и деления.
Умножение двоичных чисел с произвольным сочетанием знаков удобно выполнять, если сомножители заданы в прямом коде. В этом случае независимо от знаков модуль произведения определяется перемножением модуля множимого на все разряды множителя и последующего сложения полученных частичных произведений, а знак произведения определяется как сумма по модулю 2 знаков обоих сомножителей. Процесс получения произведения сводится к умножению множимого X на каждую цифру уiмножителя У:
Частичные произведения Пi=Х·Уi, получаемые при этом, последовательно складываются. Сумма всех частичных произведений образует полное произведение.
В ЭВМ умножение чисел обычно сводится к выполнению операций сложения и сдвига. При умножении двух n-разрядных чисел результат произведения представляется 2n-разрядным числом. Умножение чисел можно производить, начиная с младших разрядов, либо со старших разрядов множителя. В процессе умножения можно сдвигать либо сумму частичных произведений(СЧП), либо множимое. Комбинируя эти возможности получают четыре основных метода умножения.
1. Умножение младшими разрядами вперед множителя со сдвигом СЧП вправо.
2. Умножение младшими разрядами вперед множителя со сдвигом множимого влево при неподвижной СЧП.
3. Умножение старшими разрядами вперед множителя со сдвигом СЧП влево и неподвижном множимом.
4. Умножение старшими разрядами вперед множителя при сдвиге вправо множимого при неподвижной СЧП.
Техническая реализация первого метода умножения проще, чем реализация других методов.