- •Основы микропроцессорной техники
- •В.И. Енин
- •В.И. Енин
- •Введение
- •После изучения дисциплины необходимо знать
- •После изучения дисциплины необходимо уметь
- •В.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. Прикладное программное обеспечение
- •Заключение
- •Список использованных источников
- •Оглавление
- •Системы счисления и арифметические
10.3.1. Векторы прерывания
Появление разрешенного запроса на линии IRQ вызывает передачу из контроллера прерываний в процессор вектора прерывания по второму импульсу сигнала предоставления прерывания INTA.
Вектор прерывания –это адрес программы обработки прерывания. Каждый вектор имеет длину 4 байта. В первом слове хранится значение указателя команд IP, а во втором – значение сегментного регистра кода (CS). Младшие 1024 байта содержат векторы прерывания и, таким образом, возможны 256 векторов. Совокупность векторов образует таблицу векторов. Вектор прерывания 0 начинается с ячейки 0000:0000, для прерывания 1 – с ячейки 0000:0004 и т. д. Вектор прерывания от таймера, вызванный запросом IRQ0, имеет значение 8h и, следовательно, размещается в памяти, начиная с адреса 0000: 0020h. Стартовый адрес программы ПЗУ, выполняющей прерывания 8h равен F000:FEA5h. Заметим, при чтении вектора, начиная с ячейки 0000:0020h, получим A5FE00F0 потому, что байты размещаются, начиная с младшего.
При выполнении прерывания процессор помещает в стек содержимое регистра флагов и адрес возврата (содержимое сегментного регистра кода CS и указателя инструкций IP), затем в CS:IP загружается адрес программы обработки прерывания из вектора прерывания. Процессор переходит к выполнения программы обработки прерывания. Программа обработки прерывания должна завершаться инструкцией IRET (возврат из прерывания), по которой из стека извлекаются и загружаются в соответствующие регистры адрес возврата и старое содержимое регистра флагов.
10.3.2. Прерывания bios и dos
Базовая система ввода- вывода (BIOS) при загрузке создает в начале памяти (по адресу 0) таблицу прерываний, которая содержит адреса обработчиков прерываний, и выполняет две операции (командные прерывания): INT 11h (запрос списка присоединенного оборудования) и INT 12h (запрос физической памяти). Следующим шагом BIOS определяет, имеется на диске или дискете операционная система и т.д.
Векторы прерываний системы BIOS делятся на 5 групп:
Векторы прерываний микропроцессора (0-7).
Векторы прерываний контроллера прерываний 8259А (8Н-0FH).
Входные точки процедур системы BIOS (10Н-1АН и 40Н)-функции обмена данных.
Вызовы процедур пользователя (1BH и 1CH).
Указатели системных таблиц (1DH, 1EH, 1FH, 41H).
Некоторые функции прерывания BIOS:
INT 05h – печать экрана, выполняет вывод содержимого экрана на печатающее устройство;
INT 08h – прерывание от таймера;
INT 10h – управление дисплеем;
INT 14h – управление коммуникационным адаптером;
Обмен данными и передача параметров в процедуры обработки ведется через регистры. Некоторые векторы BIOS могут затем переопределяться операционной системой. Заметим, что программы обработки прерываний BIOS во много зависят от аппаратной реализации ЭВМ.
Операционные системы при своей загрузке создают свои векторы прерывания с программами обработки, которые пользователь может включить в свою программу. При их выполнении используются прерывания BIOS, как прерывания низкого уровня.
Некоторые часто используемые функции прерывания DOS:
INT 20h – завершение программы и передача управления DOS;
INT 21h – запрос функций DOS, которая вызывает определенную функцию в соответствии с кодом в регистре AH;
INT 25h – абсолютное чтение с диска;
INT 26h – абсолютная запись на диск.
Наиболее часто используется INT 21H. Код функции устанавливается в регистре АН. Аргументы функции располагаются в регистрах, что уточняется по описанию прерывания.
Коды некоторых функций:
01h - ввод символа с клавиатуры с эхом на экран;
02h - вывод символа на экран;
05h - вывод символа на печать;
0Вh - проверка наличия ввода с клавиатуры;
25h - установка вектора прерывания;
35h - возвращает текущее значение вектора прерывания.
Пользователь может использовать в своих программах прерывания BIOS и DOS, список которых и особенности их выполнения приведены в технической литературе.