- •Основы микропроцессорной техники
- •В.И. Енин
- •В.И. Енин
- •Введение
- •После изучения дисциплины необходимо знать
- •После изучения дисциплины необходимо уметь
- •В.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. Прикладное программное обеспечение
- •Заключение
- •Список использованных источников
- •Оглавление
- •Системы счисления и арифметические
11.1.2. Организация памяти
В 32-разрядных процессорах используется побайтная адресация. Байты, слова (16 бит), двойные слова (32 бит) записываются в последовательности байтовых ячеек памяти, начиная с младшего байта. Адресом слова или двойного слова является адрес его младшего байта.
Более крупными единицами являются страницы и сегменты. Память может логически организовываться в виде одного или множества сегментов, которые могут выгружаться на диск и по мере необходимости с него подкачиваться в память. Кроме сегментации, в защищенном режиме (Paging) возможно разбиение логической памяти на страницы размером 4 Кбайта, каждая из которых может отображаться на любую область физической памяти. Сегментация и разбиение на страницы могут применяться в любых сочетаниях. Сегментация является средством организации логической памяти, которая используется на прикладном уровне. Разбиение на страницы используется на системном уровне для управления физической памятью.
Применительно к памяти различают три адресных пространства: логическое, линейное и физическое. Основным режимом работы 32-разрядных процессоров является защищенный режим, в котором работают все механизмы преобразования адресных пространств.
Формирование физического адреса (Рис.11.3.) начинается с формирования эффективного адреса, получаемого суммированием компонентов base, index, displacement с учетом масштаба scale. Логический адрес, называемый виртуальным, состоит из селектора сегмента (в реальном режиме – просто адреса сегмента) и эффективного адреса, называемого смещением (offset). Блок сегментации транслирует логическое адресное пространство в пространство линейных адресов. Линейный адрес образуется сложением базового адреса сегмента с эффективным адресом. Базовый адрес сегмента в реальном режиме получается умножением содержимого используемого сегментного регистра на 16 (сдвигом влево на 4 разряда). В защищенном режиме базовый адрес загружается из дескриптора, хранящегося в таблице. Запись в дескрипторной таблице определяется по селектору, загруженному в используемый сегментный регистр.
32-битный физический адрес памяти образуется после преобразования линейного адреса блоком страничной переадресации. Он выводится на внешнюю шину адреса процессора. В простейшем случае (при отключенном блоке страничной переадресации) физический адрес совпадает с линейным. Включенный блок страничной переадресации осуществляет трансляцию линейного адреса в физический страницами размером 4 Кбайт (для старших поколений процессоров также возможны страницы размером 2 или 4 Мбайт). Блок переадресации может включаться только в защищенном режиме.
32-разрядная шина адреса позволяет адресовать 4 Гбайт физической памяти, но в реальном режиме доступен только 1 Мбайт, начинающийся с младших адресов. В реальном режиме при попытке использования эффективного адреса, выходящего за границу 64-килобайтного сегмента вызывается исключение.
11.1.3. Режимы адресации
Система команд 32-разрядных процессоров предусматривает 11 режимов адресации. При обращении к памяти эффективный адрес вычисляется с использованием следующих компонентов:
смещения (Displacement или Disp) — 8-, 16- или 32-битное числа, включенного в команду;
базы (Base) — содержимое базового регистра, обычно используемого указания на начало некоторого массива;
индекса (Index) — содержимого индексного регистра, обычно используемого для выбора элемента массива;
масштаба (Scale) — множителя (1, 2, 4 или 8), указанного в коде инструкции. Этот элемент используется для указания размера элемента массива. Метод доступен только при 32-битной адресации.
Эффективный адрес вычисляется по формуле
ЕА = Base + Index Scale + Disp.
Отдельные слагаемые в этой формуле могут отсутствовать.
Процессор может работать с 32- или 16-битной адресацией. 16-битна адресация работает так же, как и в процессорах 8086 и 80286, при этом используются младшие 16 бит соответствующих регистров. В реальном режиме по умолчанию используется 16-битная адресация. Но, с помощью префикса изменения разрядности адреса текущей инструкции, можно переключиться на 32-битную.
В защищенном режиме адресация по умолчанию определяется битом D дескриптора используемого кодового сегмента: при D=0 — 16 бит, при D=1 используется 32 бита. Префикс разрядности адреса переключает разрядность для текущей инструкции на противоположную.
Процессор предусматривает 11 режимов адресации:
регистровый – операнд содержится в регистре;
непосредственный – операнд размещается за словом команды;
прямая адресация (Direct Mode) с эффективным адресом равным EA=Disp;
косвенная регистровая адресация (Register Indirect Mode) с эффективным адресом EA=Base;
базовая адресация (Based Mode) с эффективным адресом EA=Base+Disp;
индексная адресация (Index Mode) EA=Index+Disp;
масштабированная индексная адресация (Scaled Index Mode) EA=ScaleIndex+Disp;
базово-индексная адресация (Based Index Mode) EA=Base+Index;
масштабированная базово-индексная адресация (Based Scaled Index Mode) EA= Base +ScaleIndex;
базово-индексная адресация со смещением (Based Index Mode with Displacement) EA=Base+Index+Disp;
масштабированная базово-индексная адресация со смещением (Based Scaled Index Mode with Displacement) EA=Base+ScaleIndex+Disp.
При обращении к памяти использование сегментных регистров по умолчанию определяется типом обращения. Для большинства типов обращения возможно на время текущей инструкции использовать альтернативный сегментный регистр, путем установки префикса замены регистра перед кодом инструкции.