- •Основы микропроцессорной техники
- •В.И. Енин
- •В.И. Енин
- •Введение
- •После изучения дисциплины необходимо знать
- •После изучения дисциплины необходимо уметь
- •В.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. Прикладное программное обеспечение
- •Заключение
- •Список использованных источников
- •Оглавление
- •Системы счисления и арифметические
Инструкции процессора
Набор инструкций содержит основные группы операций: инструкции пересылки данных, арифметические и логические инструкции, инструкции работы со строками, инструкции передачи управления, инструкции управления процессором. Каждая команда содержит один или два байта кода инструкции, за которым может следовать 1, 2 или 4байта операнда или описателя его адреса. Перед инструкцией возможно применение однобайтного префикса для указания на использование заданного сегментного регистра вместо обычного, для указания на необходимость повтора инструкции указанное в регистре CX число раз. Процессор имеет 92 типа команд.
Сегментация памяти
Процессор предусматривает разделение пространства памяти и ввода- вывода. 20-разрядная шина адреса обеспечивает охват 1Мбайт физической памяти. Логическая память разбивается на сегменты размером по 64 Кбайта. Физический адрес формируется из двух 16-битных частей: адреса находящегося в сегменте (Seg) и исполнительного адреса (EA) суммируемых со смещением на 4 бита (A=16*Seg+EA). Исполнительный адрес может быть константой, содержимом регистра или ячейки памяти или суммой нескольких величин. С сегментацией связаны понятия ближнего и дальнего адреса. При ближнем (внутрисегментном) обращении указывается только смещение, а адрес сегмента определяется текущим содержимом соответствующего регистра сегмента. При дальнем (межсегментном) обращении указывается полный адрес, содержащий 16-битное значение сегмента (загружаемое в сегментный регистр) и 16-битное смещение.
При адресации внешних устройств используются только 16 разрядов адресной шины, следовательно, пространство ввода вывода ограничено 64Кбайт. Данные при обмене с внешним устройством (ВУ) помещаются в регистр AL или AX и выводятся из этих же регистров. Адрес устройства (регистра ввода-вывода) задается либо в команде (только младший байт, старший - нулевой), либо берется их регистра DX (16 - бит).
Методы адресации
Предусмотрено 24 способов адресации операндов. По существу режимы (методы) адресации можно разбить на 7 групп.
Регистровая адресация - операнд находится в регистре (mov AX,CL).
Непосредственная адресация - 8 или 16-битовый операнд находится в команде (mov AX, 0).
Прямая адресация - исполнительный адрес является составной частью команды (mov AX, ES:10).
Косвенная регистровая адресация - исполнительный адрес операнда содержится в базовом регистре BX, регистре указателя базы BP или индексных регистрах SI и DI (mov [SI], 0).
Адресация по базе - исполнительный адрес получается сложением значения сдвига с содержимом регистров BX или BP (mov AX 10[BX]).
Прямая адресация с индексированием - исполнительный адрес вычисляется как сумма значений сдвига и одного из индексных регистров DI или SI (mov AX, A[SI]).
Адресация по базе с индексированием - исполнительный адрес вычисляется как сумма значений базового регистра, индексного регистра и, возможно, сдвига (mov AX, A[AX][SI]).
Для составления программ обычно используют макроассемблер MASM, в котором формат команд имеет следующий вид:
Метка: мнемокод команды; комментарий .
Операнды, если они есть, перечисляются через запятую. Регистры указываются своими именами. Запись имени регистра обозначает обращение к самому регистру. Запись имени регистра в квадратных скобках эквивалентно обращению к содержимому регистра.
Непосредственные операнды задаются константами или константными выражениями ( mov AX, SI; mov BX, 5). Числовые константы применяются для арифметических выражений и для адресов памяти. Ассемблер преобразует все числовые константы в шестнадцатеричные числа и записывает байты в объектном коде в обратной последовательности – справа налево. Десятичный, шестнадцатеричный и двоичный формат обозначаются последней буквой соответственно D, H, B. Число без указания системы счисления воспринимается как десятичное.
Адреса записываются адресными выражениями, которые могут быть модифицированы по одному или двум регистрам.
Например: mov X, AH; mov X[BX][DI], 5; mov [BX], CL; .
При записи в символьной форме необходимо следить за правильным использованием типов операндов. Типы должны совпадать. В ассемблере тип определяется по виду одного из операндов. Уточнение можно ввести с помощью оператора PTR. Например: mov BYTE PTR [BX], 5; - пересылка байта.
Ассемблер имеет несколько директив определения данных, имеющих формат: «Имя данных директива(выражение)».
Имя элемента данных не является обязательным. Некоторые директивы записи: DB (байт), DW (слово), DD (двойное слово). Выражение может содержать константу, знак вопроса для неопределенного выражения или несколько констант разделенных запятыми. Выражение допускает повторение констант в следующем формате: «Имя данных директива число повторений выражение».
Примеры: DAT DB 25; выражение содержит константу.
DAT DB ? ; выражение содержит неопределенную константу.
DAT 5 DB(14); выражение содержит 5 байт 0ЕН.
Символьная строка определяется только директивой DB, в которой указывается более двух символов, заключенных в одиночные или двойные кавычки.