- •Основы микропроцессорной техники
- •В.И. Енин
- •В.И. Енин
- •Введение
- •После изучения дисциплины необходимо знать
- •После изучения дисциплины необходимо уметь
- •В.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. Прикладное программное обеспечение
- •Заключение
- •Список использованных источников
- •Оглавление
- •Системы счисления и арифметические
После изучения главы необходимо знать
Регистры микропроцессоров 8086 и 80286, их разрядность и назначение,
способы формирования физического адреса в реальном и защищенном режимах,
методы адресации,
распределение адресного пространства памяти,
функциональную схему микро-ЭВМ и особенности функционирования,
организацию векторной системы прерываний.
6.1. Архитектура процессора 8086
Процессор имеет 16-разрядную шину данных и 20-разрядную шину адреса, что позволяет адресовать до 1Мбайта памяти. Процессор поддерживают аппаратные и программные прерывания и прямой доступ к памяти. Предусмотрено использование математического сопроцессора 8087, существенно повышающего производительность вычислений с плавающей запятой. В процессоре применена конвейерная архитектура, позволяющая выполнять выборку команд из памяти и их декодирование во время выполнения внутренних операций. Конвейер имеет 6-байтную очередь инструкций. Блок предварительной выборки при наличии двух свободных байт в очереди старается ее заполнить в то время, когда внешняя шина процессора не занята операциями обмена. Это повышает производительность за счет сокращения времени простоя операционных узлов процессора.
Функционально процессор можно разделить на 2 блока, работающие независимо: блок сопряжения с магистралью (Bus Interface Unit, BIU) и исполнительный блок (Execution Unit, EU). Такое разделение стало возможным благодаря использованию конвейера (очереди) команд.
Блок сопряжения с магистралью заполняет этот конвейер командами, ожидающими выполнения. В момент, когда исполнительный блок заканчивает текущую команду, следующая команда, как правило, уже подготовлена для немедленного исполнения. В случае перехода очередь сбрасывается и экономии времени нет. Блок сопряжения с магистралью выполняет выборку команд из памяти и пересылку данных между исполнительной аппаратурой и внешним миром. Он содержит указатель команд, в котором хранится адрес очередной выбираемой команды, байтовую очередь потока команд и регистры сегментов, используемые для адресации физической памяти. Длина очереди - 6 байтов.
И сполнительный блок не имеет связи с системной магистралью. Если команда требует обращения к памяти или к внешней магистрали исполнительный блок посылает запрос блоку сопряжения на выборку или запись данных. Все адреса, с которыми оперирует исполнительный блок -16-разрядные. Блок сопряжения выполняет преобразование адресов, чтобы иметь доступ к 1Мбайту памяти. Исполнительный блок в своем составе имеет 16-разрядное АЛУ, регистр флагов (признаков), набор регистров общего назначения, индексные и указательные регистры.
Регистры процессора
Процессор имеет 14 16-разрядных регистров . Операнды могут иметь 8 или 16 бит и представлять двоичные и двоично-десятичные числа. Структура регистров процессора приведена на рисунке 6.1. 16-битные регистры общего назначения (РОН) AX, BX, CX, DX состоят из двух 8-битных половинок, к которым можно обращаться по именам AH, BH, CH, DH (старшие байты) AL, BL, CL, DL (младшие байты). Это позволяет программам, разработанным для 8-раздядных ЭВМ (8080) выполняться после повторной трансляции. Регистры в командах могут адресоваться явно. В ряде команд подразумевается неявное использование регистров. Например: AX (аккумулятор) используется в командах умножения, деления, ввода и вывода слова; CX- как счетчик циклов и указатель длины строковых операций, DX - при умножении и делении слов, при операциях ввода- вывода он содержит номер порта и т.д. (смотри описание команд).
Регистры-указатели SP (указатель стека), BP (указатель базы) и индексные регистры SI (индекс источника), DI (индекс приемника) допускают только 16-битное обращение. SI и DI предназначены для удобства доступа к данным в текущем сегменте данных; SP, BP - в текущем сегменте стека.
16-битные сегментные регистры используются для задания текущих сегментов (областей) памяти. В блок регистров - указателей сегментов входят: регистр сегмента кодов команд CS (Code Segment), регистр сегмента данных DS (DATA Segment ), регистр сегмента стека SS(Stack Segment ), регистр дополнительного сегмента данных ES (Extra Segment). Эти регистры могут модифицироваться только непосредственными командами их загрузки. Использование сегментных регистров определяется типом обращения к памяти. Для некоторых типов обращений возможно применение альтернативных сегментных регистров, которое вводится префиксами команд CS:,SS:,DS:,ES. Это значит, что сегмент, из которого считывается операнд, в общем случае, можно явно указать, если перед командой поставить специальный однобайтный префикс. Он определяет, из какого текущего сегмента считывается операнд. При отсутствии префикса операнд берется из текущего сегмента данных.
Указатель команд IP содержит смещение следующей выполняемой команды в текущем сегменте кода CS. Играет роль счетчика команд. Регистр-указатель инструкций IP не доступен программисту, но он явно управляется командами переходов, прерываниями и исключениями.
Регистр флагов (FLAGS) содержит расширенный набор признаков, по которым возможны переходы, и биты управляющие режимом работы процессора: разрешение прерывания, трассировка (пошаговое прохождение), направление смещения индекса при работе со строками.
Данные
Процессор поддерживает следующие типы данных: байты, слова, целый без знака, целый (8 и16-разрядный) в дополнительном коде, двоично-десятичный, ближний указатель (16-разрядный логический адрес внутри сегмента), дальний указатель (20-разрядный логический адрес, состоящий из адреса сегмента и смещения), строка (последовательность байтов или слов длиной до 64Кбайт).