- •Основы микропроцессорной техники
- •В.И. Енин
- •В.И. Енин
- •Введение
- •После изучения дисциплины необходимо знать
- •После изучения дисциплины необходимо уметь
- •В.1. Роль и место курса “Микропроцессорная техника” в учебном процессе
- •1. Микропрограммные автоматы
- •После изучения главы необходимо знать
- •1.1. Автомат без памяти
- •1.2. Микропрограммный автомат
- •1.2.1. Автомат с памятью
- •1.2.2. Микропрограммный автомат в системе управления
- •1.2.3. Структурный автомат
- •1.3. Схемная реализация микропрограммных автоматов
- •2. МикропрограмМируемые контроллеры и микропроцессоры
- •После изучения главы необходимо знать
- •2.1. Блок микропрограммного управления
- •2.2. Блок обработки цифровых данных.
- •3. Принципы организации эвм
- •После изучения главы необходимо знать
- •3.1. Выполнение команд в эвм
- •Система команд и методы адресации
- •Подпрограммы
- •3.2. Общие принципы организации ввода-вывода
- •3.2.1. Программный режим ввода-вывода
- •3.2.2. Обмен информацией в режиме прерывания программы
- •3.2.3. Прямой доступ к памяти
- •3.2.4. Подключение внешних устройств
- •4. Архитектура однокристального микропроцессора
- •После изучения главы необходимо знать
- •4.1. Архитектура микропроцессора к580ик80а
- •4.1.1. Формат команд микропроцессора к580ик80а
- •4.1.2. Методы адресации микропроцессора к580ик80а
- •4.1.3. Команды безусловной и условной передач управления
- •4.1.4. Примеры команд процессора к580ик80а
- •4.2. Организация обмена в однокристальных микроЭвм
- •4.2.1. Функционирование микропроцессора
- •4.2.2. Подключение озу и регистров внешних устройств
- •5. Системы счисления и арифметические операции над числами
- •После изучения главы необходимо знать
- •5.1. Системы счисления для представления чисел в эвм
- •5.2. Представление в эвм целых двоичных чисел без знака
- •5.3. Представление в эвм целых чисел со знаком
- •5.3.1. Представление чисел со знаком в прямом коде
- •5.3.2. Представление чисел со знаком в дополнительном коде
- •5.3.3. Особенности выполнения сложения двоичных чисел без знака и со знаком
- •1. Примеры сложения чисел без знака.
- •2. Примеры сложения чисел со знаком.
- •5.4. Двоично-десятичная система представления чисел
- •5.5. Представление чисел в формате с плавающей точкой
- •Примеры представления чисел типа single
- •Примеры представления чисел типа real
- •6. Семейство процессоров х86
- •После изучения главы необходимо знать
- •6.1. Архитектура процессора 8086
- •Регистры процессора
- •Инструкции процессора
- •Сегментация памяти
- •Методы адресации
- •Распределение памяти
- •Прерывания
- •Функционирование
- •6.2. Процессоры 80286
- •Реальный режим
- •Защищенный режим
- •Прерывания
- •Регистр состояния задачи
- •Некоторые особенности функционирования
- •Функциональная схема pc at
- •7. Шина isa и интерфейсы сопряжения с устройствами управления
- •После изучения главы необходимо знать
- •7.1. Конструкция шины isa
- •Выводы шины isa
- •Распределение адресов на системной плате ат
- •Циклы магистрали
- •Прямой доступ к памяти
- •Регенерация памяти
- •Основные электрические характеристики линий isa
- •7.2. Проектирование устройств сопряжения для шины isa
- •7.2.1. Селекторы (дешифраторы) адреса
- •7.2.2. Операционная часть интерфейса
- •7.2.3. Микросхемы для построения интерфейсов Условные графические обозначения элементов цифровой техники
- •7.2.4. Микросхемы приемопередатчиков сигналов магистрали
- •Микросхемы селекторов адреса выходных регистров
- •8. Интерфейс centronics
- •После изучения главы необходимо знать
- •8.1. Порядок обмена по интерфейсу Centronics
- •8.2. Программируемый параллельный интерфейс ( ппи)
- •9. Обмен данными по интерфейсу rs-232
- •После изучения главы необходимо знать
- •9.1. Назначение линий связи rs-232
- •9.2. Подключение модема к rs-232
- •9.3. Подключение терминалов к rs-232
- •9.4. Подключение удаленных объектов управления
- •9.5. Назначение портов rs-232
- •10. Отсчёт реального времени в эвм
- •После изучения главы необходимо знать
- •10.1. Программируемый таймер
- •10.1.1. Режимы работы таймера
- •10.1.2. Таймер на системной плате ibm pc
- •10.2. Программируемый контроллер прерываний
- •10.2.1. Режимы работы пкп
- •10.2.2. Программирование пкп
- •10.3. Прерывания в ibm pc
- •10.3.1. Векторы прерывания
- •10.3.2. Прерывания bios и dos
- •10.3.3. Написание собственных прерываний
- •10.4. Отсчёт реального времени в эвм
- •10.5. Процедуры и функции для работы с прерываниями
- •После изучения главы необходимо знать
- •11.1. Архитектура 32-разрядных процессоров
- •11.1.1. Регистры процессора
- •11.1.2. Организация памяти
- •11.1.3. Режимы адресации
- •11.1.4. Ввод и вывод
- •11.1.5. Прерывания и исключения
- •11.1.6. Процессоры Pentium
- •11.2. Страничное управление памятью
- •11.3. Кэширование памяти
- •Кэш прямого отображения
- •Ассоциативный кэш
- •12. Однокристальные микроконтроллеры
- •После изучения главы необходимо знать
- •12.1. Однокристальный микроконтроллер к1816
- •12.2. Avr микроконтроллеры
- •12.3. Процессоры обработки сигналов
- •12.3.1. Однокристальный цифровой процессор обработки
- •12.3.2. Цифровые процессоры обработки сигналов (цпос)
- •13. Промышленное оборудование для цифровых систем управления
- •После изучения главы необходимо знать
- •13.1. Оборудование для централизованных систем управления
- •13.1.1. Персональные компьютеры для целей управления
- •13.1.2. Промышленные рабочие станции
- •13.1.3. Шасси для ibm совместимых промышленных компьютеров
- •13.1.4. Модульные промышленные компьютеры mic-2000
- •13.1.5. Процессорные платы
- •13.1.6. Устройства для сбора данных и управления
- •13.2. Оборудование для распределенных систем сбора данных и управления
- •13.2.1. Модули удаленного сбора данных и управления adam-5000
- •13.2.2. Модули удаленного сбора данных и управления adam-4000
- •13.3. Прикладное программное обеспечение
- •Заключение
- •Список использованных источников
- •Оглавление
- •Системы счисления и арифметические
5.3.3. Особенности выполнения сложения двоичных чисел без знака и со знаком
Конечное число разрядов используемых в ЭВМ двоичных чисел может приводить к появлению ошибок при выполнении арифметических операций. Рассмотрим эти ситуации на примере сложения 4-разрядных двоичных чисел.
1. Примеры сложения чисел без знака.
3 0011 6 0110 10 1010
+ 2 0010 + 7 0111 + 11 1011
5 0101 13 1101 21 10101
результат правильный результат правильный результат неверный
В третьем примере результат двоичного сложения равен 5, т.к. старший разряд выходящий за разрядную сетку игнорируется.
Эти примеры иллюстрируют следующее правило: если при сложении двоичных чисел без знака происходит перенос из старшего разряда, то результат арифметической операции оказывается неправильным.
2. Примеры сложения чисел со знаком.
5 0101 - 3 1101
+ 6 0110 - 6 1010
11 1011 дв.-доп. код числа -5 - 9 1 0111 дв.код числа +7
результат неверный результат неверный
перенос в старший разряд перенос из старшего разряда (игнорируется)
7 0111 - 8 1000
+ 7 0111 - 8 1000
14 1110 дв.-доп. код числа –2 -16 1 0000 дв. доп. код числа 0
результат неверный результат неверный
перенос в старший разряд перенос из старшего разряда (игнорируется)
6 0110
- 3 1101
3 1 0011 дв.-доп. код числа 3, результат правильный
перенос из старшего разряда (игнорируется) перенос в старший разряд
Примеры иллюстрируют следующее правило: - если при сложении двух двоичных чисел со знаком, представленных в двоично-дополнительном коде, происходит перенос в старший разряд или перенос из старшего разряда (один из них), то результат операции получается неверным, однако, - если переносов нет или имеют место оба таких переноса одновременно, результат операции оказывается правильным.
Ситуацию, когда имеет место один из переносов (перенос в старший разряд или перенос из старшего разряда) обычно называют арифметическим переполнением, наличие которого служит признаком неправильного выполнения операции сложения чисел со знаком.
5.4. Двоично-десятичная система представления чисел
В двоично-десятичной системе счисления десятичные цифры от 0 до 9 представляют 4-разрядными двоичными числами от 0000 до 1001 и каждая десятичная цифра занимает половину байта (4 бита). Преобразование из двоично-десятичной системы в десятичную (и обратно) выполняется путем прямой замены четырех двоичных цифр (одной тетрады) одной десятичной (и обратно). Две двоично-десятичные цифры занимают 1 байт.
С помощью 1 байта можно представлять значения от 0 до 99, а не от 0 до 255, как при использовании 8-разрядного двоичного числа без знака. Используя 1 байт для представления каждых двух десятичных цифр, можно сформировать двоично-десятичные числа с требуемым числом десятичных разрядов. Этот формат представления двоично-десятичных чисел называется упакованным. В ЭВМ используется также неупакованный формат, когда каждая цифра занимает байт.
Числа со знаком в двоично-десятичной системе имеют один дополнительный разряд (тетраду или байт) для знака. При этом используется представление двоично-десятичных чисел в прямом коде с кодированием знака минус единицей в старшем бите знакового разряда. Числа со знаком в двоично-десятичной системе могут быть представлены и в дополнительном коде, где минусу соответствует число 1001 (9) в знаковом разряде.
Сложение двоично-десятичных чисел, имеющих 1 десятичный разряд, выполняется как сложение 4-разрядных двоичных чисел без знака, но при получении результата больше 1001 необходимо производить коррекцию путем прибавления двоичного кода числа 6. Если первоначальное двоичное сложение или прибавление корректирующего числа приводит к возникновению переноса при сложении значений двух десятичных разрядов двоично-десятичных чисел, то осуществляется перенос в следующий десятичный разряд.
Примеры:
4 0100 5 0101 5 0101
+ 5 +0101 +9 +1001 +19 +0001 1001
9 1001 14 1110 = 14 24 0001 1110
р езультат правильный + 0110 коррекция + 0110
1 0100 0010 0100
п еренос в старший разряд 1 4 2 4
Несмотря на то, что память при двоично-десятичном представлении чисел используется менее эффективно, такая система нашла свое применение во многих устройствах ввода-вывода десятичных данных. Многие ЭВМ имеют полный набор команд обработки данных в двоично-десятичной системе. Во многих ЭВМ предусмотрена команда "Десятичная коррекция", позволяющая приспособить двоичные операции для обработки двоично-десятичных данных.