- •Основы микропроцессорной техники
- •В.И. Енин
- •В.И. Енин
- •Введение
- •После изучения дисциплины необходимо знать
- •После изучения дисциплины необходимо уметь
- •В.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. Прикладное программное обеспечение
- •Заключение
- •Список использованных источников
- •Оглавление
- •Системы счисления и арифметические
3.1. Выполнение команд в эвм
Программа, выполняемая в ЭВМ, записана в последовательных ячейках памяти в виде кодов команд. Первоначально, перед выполнением программы, в счетчик команд заносится адрес ячейки памяти, содержащей код первой команды программы. Далее процессор выполняет последовательность следующих операций. Процессор передает содержимое счетчика команд (адрес очередной команды) через шину адреса в регистр адреса памяти ОЗУ. Из адресуемой ячейки памяти извлекается код команды и через шину данных передается в регистр команд процессора. После считывания из памяти содержимого ячейки, адрес которой указывается регистром-счетчиком команд, содержимое этого регистра автоматически увеличивается и становится равным адресу следующей по порядку ячейки памяти. Если команда занимает в памяти ЭВМ два байта, то увеличение СК производится на два. Вслед за этим устройство управления процессора начинает интерпретацию команды, находящейся в его регистре команд. В начале определяется операция, которая должна быть выполнена процессором по данной команде, и, в соответствии с ней, вырабатываются сигналы для управления элементами процессора. Если необходимо, то производится ввод из ОЗУ операндов, затем осуществляется выполнения заданной операции. Результат операции пересылается в один из регистров или в память по адресу, определяемому устройством управления при интерпретации кода команды. На этом цикл выполнения команды заканчивается. Процессор снова помещает содержимое СК (адрес следующей команды) в регистр адреса памяти, производит считывание и выполнение следующей команды.
Система команд и методы адресации
Каждый тип ЭВМ имеет свою систему команд и методов адресации, т.е. способов нахождения операндов. Расширение ЭВМ (переход к более производительным поколениям) связано с увеличением разрядности адресов и операндов, появлением более гибкой системы адресации, новых типов данных и команд.
Команды (инструкции) содержат одно- или двухбайтный код инструкции, за которым могут следовать несколько байт, определяющих режим исполнения команды и операнды. Результат выполнения операции записывается в место, определенное инструкцией или место, заданное операндом назначения. Операнды могут находиться в памяти, регистрах процессора или непосредственно в команде. Типовой набор инструкций включает: команды пересылки данных, арифметическо-логических операций, десятичной коррекции, сдвиговых операций, условных и безусловных переходов по программе и т. д.
Набор команд процессора включает безадресные (без указания операнда), одноадресные (с одним операндом), и двухадресные команды. При этом используются различные метода адресации. Наиболее часто используемые методы:
1. Регистровый метод адресации - операнд находится в регистре, указанном в команде.
2. Косвенно-регистровый метод – указанный в команде регистр (или пара регистров) содержит адрес операнда.
3. Непосредственный метод адресации - операнд выбирается из ячейки, следующей за командным словом.
4. Абсолютный метод адресации - в байтах следующих за командным словом содержится абсолютный адрес операнда.
Команды условной или безусловной передачи управления (перехода) принудительно изменяют содержимое счетчика команд в соответствии со значением адреса перехода, задаваемого в команде. Обычно используют два способа указания адреса кода программы, на который происходит переход: указывают абсолютный адрес, на который следует перейти, или величину смещения адреса перехода относительно текущего значения счетчика команд (PC), т.е. адреса самой команды перехода. Указываемое в команде смещение может быть положительным или отрицательным, обеспечивая смещение в сторону старших или младших адресов соответственно. Аналогично изменяется содержимое счетчика команд при выполнении команды вызова процедуры (подпрограммы).
При эксплуатации и разработке систем управления объектами на базе ЭВМ необходимо тщательное изучение особенностей архитектуры используемых процессоров.
Стек
Стек - это один из способов организации памяти, используемый, для хранения адресов возврата и данных при обращении к подпрограммам и обработке прерываний. Стек - память магазинного типа, реализует последовательный способ доступа к данным, который коротко формулируют в виде: "первым пришел - последним вышел".
О бычно в ЭВМ под стек динамически выделяют определенное количество последовательных ячеек в адресном пространстве оперативной памяти. Доступ к ячейкам памяти, выделенным под стек, осуществляется путем специального режима адресации с использованием регистра - указателя стека (УС или SP). При работе со стеком содержимое регистра - указателя стека интерпретируется процессором как адрес ячейки памяти, в которой находится число, записанное в стек последним. Эта ячейка называется "вершиной стека". Общепринятым является заполнение стека данными в сторону уменьшения адресов его ячеек.
Начальная установка указателя стека выполняется операционной системой или пользователем до операций со стеком. Процедура начальной установки состоит в указании выделяемой под стек области памяти. Для этого записывают в указатель стека адрес ячейки памяти, являющейся "вершиной" пустого стека, т.е. максимальный адрес области ОЗУ, отводимой под стек.
При записи данного в стек процессор корректирует содержимое регистра-указателя стека, смещая его на одно слово в сторону уменьшения адресов, после чего в указываемую этим регистром ячейку памяти пересылается записываемое число. При засылке в стек следующего числа опять происходит коррекция, т.е. уменьшение содержимого указателя стека, и запись следующего числа уже в новую ячейку памяти. Таким образом, регистр-указатель стека всегда содержит адрес последней записанной ячейки стека, т.е. указывает на вершину стека. Метод адресации ячеек памяти, который используется при засылке чисел в стек, называется автодекрементный метод через регистр указателя стека (SP).
Чтение информации из стека или, как еще говорят, выталкивание числа из стека происходит следующим образом. Число прочитывается из ячейки памяти, адрес которой находится в регистре-указателе стека, после чего содержимое этого регистра автоматически корректируется в сторону увеличения адресов. При прочтении следующего числа производится аналогичная операция. Хотя при считывании числа из вершины стека используется термин "выталкивание", само число из ячейки стека никуда не девается. Просто коррекция регистра-указателя стека делает содержимое этой ячейки недоступным с помощью механизма работы со стеком. При записи в стек очередного числа оно будет записано по адресу числа, вытолкнутого (считанного) из стека перед этим. Метод адресации ячеек памяти, используемый при чтении чисел из стека, называется автоинкрементный метод адресации через SP.
Доступ к ячейкам стека осуществляется не по адресам, а только через так называемую "вершину стека". При записи данных в стек загружаемые данные последовательно помещаются на "вершину стека", при этом ранее записанные значения как бы проталкиваются вглубь стека. В каждый момент времени для чтения в стеке доступно только слово, находящееся на его вершине. Остальные данные могут быть прочитаны только в порядке, обратном их записи в стек путем последовательного "выталкивания" этих данных из глубины стека на его вершину. При этом информация о вытолкнутых данных теряется.