- •Основы микропроцессорной техники
- •В.И. Енин
- •В.И. Енин
- •Введение
- •После изучения дисциплины необходимо знать
- •После изучения дисциплины необходимо уметь
- •В.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. Прикладное программное обеспечение
- •Заключение
- •Список использованных источников
- •Оглавление
- •Системы счисления и арифметические
Функционирование
По снятию сигнала RESET (сброс) процессор начинает выполнение инструкции, находящейся по адресу FFFF0h. Сигнал RESET устанавливает регистры в состояние CS=FFFFh, IP=0, DS=SS=ES=0 и сбрасывает все флаги. Далее следуют обычные инструкции или инструкции передачи управления. Среди инструкций следует выделить две.
Инструкция HALT (останов) переводит процессор в состояние останова, из которого его может вывести только аппаратное прерывание или аппаратный сброс. В этом режиме процессор не управляет шинами. Все тристабильные буферы отключены.
Инструкция WAIT (ждать) заставляет процессор ожидать активного (низкого уровня) сигнала на входе TEST#. До появления активного сигнала процессор также не управляет локальной шиной. В случае аппаратного прерывания после окончания его обслуживания процессор снова вернется в состояние ожидания. Проверка состояния входа TEST# используется для синхронизации с математическим сопроцессором 8087.
6.2. Процессоры 80286
Процессоры 80286 -второе поколения 16-разрядных процессоров, имеющих 24-разрядную шину адреса. Самым существенным отличием является механизм управления адресацией памяти. Он имеет специальные средства для работы в многопользовательских и многозадачных системах. Остановимся на существенных отличиях и дополнениях по сравнению с 8086.
В процессоре за счет улучшения архитектуры сокращено время выполнения команд, повышена тактовая частота и предусмотрено использование высокопроизводительного математического сопроцессора, предназначенного для выполнения операций над числами в формате плавающей запятой.
В процессоре 8086 было 14 регистров (IBM/XT). В процессоре 80286 имеется уже 14+5 видимых регистров, доступных пользователю. Имеется также ряд невидимых регистров. Назначение дополнительных регистров будет объяснено позже. Процессор имеет расширенную систему команд и может работать в двух режимах: режиме реальной адресации (Real Mode) и защищенном режиме (Protected Mode). Процессор после сброса начинает работать в реальном режиме (эмуляции 8086). Переключение в защищенный режим осуществляется одной командой после размещения в реальном режиме специальных таблиц дискрипторов в оперативной памяти. Обратное переключение - только по сигналу сброса.
Реальный режим
В реальном режиме метод генерации физического адреса прост. Содержимое сегментного регистра сдвигается влево на 4 бита и складывается со смещением. В результате получается 20-разрядный адрес Объем адресуемой памяти 1Мбайт. Под управлением операционной системы MS DOS процессор используют в реальном режиме работы.
Защищенный режим
В защищенном режиме содержимое сегментного регистра (называемого селектором) используется для поиска базового адреса в специальной таблице базовых адресов находящейся в оперативной памяти и созданной операционной системой при ее загрузке. Эта таблица называется дескрипторной таблицей или таблицей описания сегментов памяти. В ней кроме базовых адресов начала сегмента (24 разряда) содержится размер сегмента и байт с описанием доступа к нему. Размер записи в дескрипторной таблице 8 байт. В защищенном режиме процессор по селектору, хранящемуся в сегментном регистре, находит соответствующую запись в дескрипторной таблице, считывает значение 24-битового базового адреса сегмента, добавляет адрес-смещение и полученный адрес используется как искомый физический адрес байта или слова. Для того чтобы при каждом формировании адреса не обращаться к дескрипторной таблице за базовым адресом сегмента имеется теневой регистр базового адреса сегмента. При каждом изменении содержимого сегментного регистра процессор из дескрипторной таблицы, хранящейся в ОЗУ, читает в этот теневой регистр информацию о сегменте, в том числе и базовый адрес, который помещает в теневой регистр. Затем при генерации физического адреса используется базовый адрес из теневого регистра.
Теневые регистры (невидимые)
63 56 55 16 15 0 ← разряды
Права доступа |
Базовый адрес сегмента |
Размер |
|
|
|
|
|
|
|
|
|
|
|
|
CS |
DS |
SS |
ES |
Видимый GDTR
39 16 15 0 ← разряды
Базовый адрес таблицы |
Размер сегмента с таблицей |
Для указания места расположения в ОЗУ дескрипторной таблицы имеется видимый (доступный пользователю) регистр глобальной дескрипторной таблицы (GDTR). GDTR имеет 40 разрядов и содержит данные о положении в ОЗУ (базовый адрес) и размере дескрипторной таблицы. Для изменения содержимого GDTR используются команды чтения и записи GDTR.
Кроме глобальной дескрипторной таблицы имеется и локальная дескрипторная таблица. Селектор локальной дескрипторной таблицы содержится в видимом регистре локальной дескрипторной таблицы (LDTR). Селектор (содержимое LDTR) указывает на место (запись) в глобальной дескрипторной таблице (GDT), содержащую информацию о положении локальной дескрипторной таблицы. Эта информация переписывается в теневой регистр локальной дескрипторной таблицы.
Теневой регистр LDTR Видимый регистр LDTR
63 56 55 16 15 0 15 0
Права доступа |
Базовый адрес сегмента |
Размер |
Селектор LDTR |
Выбор таблицы (глобальной или локальной) при генерации адреса указывается специальным битом выбора таблицы в селекторе сегмента (сегментном регистре). Формат селектора сегмента (сегментного регистра) приведен ниже.
15 3 2 1 0
Индекс (Index) |
TI |
RTL |
Младшие 2 бита указывают уровень привилегий, используемый для защиты памяти. Второй бит указывает тип дескрипторной таблицы. Если TI=0, используется глобальная дескрипторная таблица. Если TI=1, используется локальная таблица. Старшие биты (3-15) содержат индекс, по которому осуществляется поиск записи в соответствующей дескрипторной таблице.
Поиск нужной записи в дескрипторной таблице ведется по индексу, который просто указывает номер 8-байтовой записи с информацией о положении и длине сегмента. Начало записи указывает GDTR. Если используется локальная таблица, то LDTR указывает номер записи в GDT, дающий адрес начала локальной дескрипторной таблицы, из которой по индексу аналогично определяется положение сегмента (адрес его начала).
Для переключения режима работы с обычного (при загрузки ОС) на защищенный используется специальный регистр состояния машины MSW (Machine State Word), содержащий слово состояния. Биты MSW управляют режимом адресации и взаимодействием с сопроцессором. Установка нулевого бита MSW переводит процессор в защищенный режим. Сброс этого флага возможен только по сигналу сброса. Защищенный режим используют ОС XENIX, UNIX, WINDOWS.