- •Магомедов и. А. Микропроцессорные системы. Аппаратные и программные средства.
- •Глава 1. Микропроцессоры
- •Глава II. Программирование микропроцессоров
- •Глава III. Лабораторный практикум по программированию мп i80х86
- •Глава 1. Микропроцессоры
- •1.1. Назначение микропроцессоров
- •1.2. Универсальные микропроцессоры
- •1.2.2. Микропроцессоры компании amd
- •1.2.3. Микропроцессоры компании Cyrix
- •1.2.4. Микропроцессоры с архитектурой Alpha
- •1.2.5. Микропроцессоры с архитектурой sparc
- •1.2.6. Микропроцессоры Hewlett-Packard ра-8000
- •1.3. Микропроцессоры обработки сигналов
- •1.3.1. Сигнальные микропроцессоры компании
- •1.3.2. Сигнальные микропроцессоры компании Motorola
- •1.3.3. Микропроцессоры семейства dsp 560хх
- •1.4. Медийные микропроцессоры
- •1.5. Транспьютероподобные микропроцессоры
- •1.6. Нейропроцессоры
- •Глава II. Программирование микропроцессоров
- •2.1. Программная модель 32-разрядных процессоров
- •2.1.2. Типы данных
- •2.1.3. Регистры процессора
- •2.2. Форматы команд
- •2.3. Выбор операнда
- •2.4. Режимы адресации
- •Вопросы для самоконтроля к главе 2
- •Глава III. Лабораторный практикум по программированию мп i86
- •Обобщенная структурная схема микропроцессора х86
- •Организация основной памяти и средства аппаратной поддержки управления памятью
- •Выполнение программы
- •Формат операторов ассемблера
- •Определение полей памяти для размещения данных.
- •3.2. Операнды команд ассемблера
- •Команда пересылки данных
- •Команда загрузки исполнительного адреса
- •Команды загрузки указателя.
- •Команда записи в стек
- •Команда обмен данными
- •Команды сложения/ Команды вычитания
- •Команда изменения знака
- •Команда добавления /вычитания единицы
- •Команда сравнения
- •Команды умножения/ деления
- •Команда преобразования байта в слово, а слова - в двойное слово.
- •Команды передачи управления
- •Команды условного перехода
- •Команды организации циклической обработки
- •Команда перехода по обнуленному счетчику
- •Команды организации цикла с условием
- •Команды вызова подпрограмм
- •Команда возврата управления
- •Команды обработки строк
- •Логические команды
- •2. Программирование циклических процессов.
- •3. Моделирование одномерных массивов
- •4. Моделирование матриц
- •5. Преобразования ввода-вывода.
- •3.4. Основные команды отладчика afd
- •Fspec определяет имя файла, наименованного в соответствии с соглашениями dos. Для команды l расширением по умолчанию является “exe”;
- •String задает список значений или ascii строк (строка заключена в кавычки) разделенных пробелами или запятой.
- •Например: 1234 bx, ‘tromb’ ff.
- •Лабораторная работа № 1 Создание выполнимого файла, работа в отладчике, изучение оператора пересылки mov
- •Оператор mov
- •Индивидуальные задания
- •Лабораторная работа № 2 Сегментация памяти, директивы ассемблера
- •Прямая адресация
- •Косвенная адресация
- •Директива assume
- •Индивидуальные задания
- •Лабораторная работа №.3 Директивы equ, label, команды сложения и вычитания Директива equ
- •Директива label
- •Команды сложения и вычитания
- •Индивидуальные задания Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Вариант 11.
- •Вариант 12.
- •Лабораторная работа № 4 Изучение операторов обмена xchg и xlat
- •Индивидуальные задания Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Вариант 11.
- •Вариант 12.
- •П1. Команды пересылки данных
- •Система команд процессораi486
- •П2. Арифметические команды
- •П3. Логические команды
- •П4. Команды переходов
- •П5. Команды процессора i486
Глава II. Программирование микропроцессоров
2.1. Программная модель 32-разрядных процессоров
История 32-разрядных процессоров Intel началась с процессора Intel386 [1,31-34]. Он вобрал в себя все черты своих 16-разрядных предшественников 8086/88 и 80286 для обеспечения совместимости с громадным объемом программного обеспечения (ПО), существовавшего на момент его появления. Однако в процессорах 80386 преодолено жесткое ограничение на длину непрерывного сегмента памяти - 64 Кбайт
В защищенном режиме 32-разрядных процессоров оно отодвинулось до 4 Гбайт - предела физически адресуемой памяти, что тогда можно было считать почти «бесконечностью». Эти процессоры имеют поддержку виртуальной памяти объемом до 64 Тбайт [1,31-34], встроенный блок управления памятью поддерживает механизмы сегментации и страничной трансляции адресов (paging). Процессоры обеспечивают четырехуровневую систему защиты пространств памяти и ввода-вывода, а также переключение задач. Система команд расширена при сохранении всех команд 8086, 80286. Процессор может работать в одном из двух режимов и переключаться между ними достаточно быстро как в ту, так и в другую сторону [1,31-34].
Real Address Mode - режим реальной адресации (или просто реальный режим - Real Mode), полностью совместим с 8086. В этом режиме возможна адресация до 1 Мбайт физической памяти (на самом деле, как и у 80286, почти на 64 Кбайт больше).
Protected Virtual Address Mode - защищенный режим виртуальной адресации (или просто защищенный режим - Protected Mode). В этом режиме процессор позволяет адресовать до 4 Гбайт физической памяти, через которые при использовании механизма страничной адресации могут отображаться до 64 Тбайт виртуальной памяти каждой задачи.
Существенным дополнением является Virtual 8086 Mode - режим виртуального процессора 8086. Этот режим является особым состоянием задачи защищенного режима, в котором процессор функционирует как 8086. На одном процессоре в таком режиме может параллельно исполняться несколько задач с изолированными друг от друга ресурсами. При этом использование физического адресного пространства памяти управляется механизмами сегментации и трансляции страниц. Попытки выполнения недопустимых команд, выхода за рамки отведенного пространства памяти и разрешенной области ввода-вывода контролируются системой защиты.
«Неофициальный» режим Big Real Mode, он же Unreal Mode, который поддерживают все 32-разрядные процессоры, позволяет адресоваться ко всему 4-гигабайтному пространству памяти. В этом режиме инструкции исполняются так же, как и в реальном режиме, но с помощью дополнительных сегментных регистров FS и GS программы получают непосредственный доступ к данным во всей физической памяти.
Процессоры, начиная с Pentium и некоторых моделей 486, поддерживают также особый режим системного управления System Management Mode (SMM), при котором процессор выходит в иное, изолированное от остальных режимов пространство памяти. Этот режим используется в служебных и отладочных целях.
Процессоры могут оперировать с 8-, 16- и 32-битными операндами, строками байт, слов и двойных слов, а также с битами, битовыми полями и строками бит.
В этой главе рассмотрим базовую программную модель, общую для всех существующих на данный момент 32-разрядных процессоров х86. Эта модель охватывает набор регистров процессора, организацию памяти и ввода-вывода, типы данных, систему команд, прерывания и исключения.
