- •Основы микропроцессорной техники
- •В.И. Енин
- •В.И. Енин
- •Введение
- •После изучения дисциплины необходимо знать
- •После изучения дисциплины необходимо уметь
- •В.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.3. Структурный автомат
Рассмотрим синхронный структурный управляющий автомат, в котором сигналы на входных и выходных полюсах могут принимать 2 значения ("0" и "1"), состояние представлено двоичным числом и переход из одного состояние в другое происходит по тактовым сигналам (сигналам синхронизации). Тогда двоичный вектор выходных сигналов (совокупность двоичных сигналов на выходе) в каждый момент времени зависит от двоичного вектора входных сигналов и кода состояния, отражающего предысторию автомата, т.е. последовательности сигналов, поступивших на его вход до рассматриваемого момента. Автомат может быть описан 6 компонентами:
множеством (чисел) состояний автомата,
множеством двоичных векторов входных сигналов (входных чисел),
множеством двоичных векторов выходных сигналов (выходных чисел),
функцией переходов, которая ставит в соответствие паре "текущее состояние - входной вектор" состояние автомата в следующий момент,
функцией выходов, которая ставит в соответствие паре "текущее состояние - входной вектор" вектор выходных сигналов,
начальным состоянием.
Различают 2 класса автоматов: автомат Мили, выходные сигналы которого определяются состоянием автомата и входными сигналами, и автомат Мура, выходные сигналы которого определяются только состоянием.
Алгоритм работы автомата задается графическим и табличным способами.
При графическом задании алгоритм работы автомата представляется в виде ориентированного графа, вершины которого соответствуют состояниям, а дуги - переходам между ними. Каждой вершине присваивается двоичный код состояния, который записывается в ней. В начале дуги записываются входные сигналы, вызывающие данный переход. Для графа автомата Мили выходные сигналы, формируемые на переходе, записываются в конце дуги, а для автомата Мура - рядом с вершиной. Часто сигналы, имеющие значение "логического 0", не записываются. В конце дуги можно также записать возбуждаемые разряды памяти (регистра) состояний.
Р ассмотрим пример некоторого графа автомата представленного на рис. 1.2. Пусть автомат имеет одну входную линию внешнего управления, формирует три управляющих сигнала и имеет 4 состояния. Каждый из сигналов имеет два значения (0 или 1). Для обозначения текущего состояния автомата введем логические переменные Т0 ,Т1 и закодируем состояния автомата двоичными числами в порядке возрастания начиная с 00. Для кодирования требуется 2 двоичных разряда и, следовательно, достаточно двух логических переменных.
Введем систему обозначений. Обозначим внешний входной сигнал х, выходные управляющие сигналы - y0 , y1, y2 , разряды кода текущего состояния - T1, T0 , разряды кода следующего состояния - D1, D0. По алгоритму работы составляется граф автомата, начиная с нанесения вершин, представляющих состояния, затем - дуг, представляющих переходы.
И з рисунка видно, что из состояния Т1 Т0 (00) при x=0 автомат переходит в состояние Т1Т0 (01), формируя на переходе выходные сигналы y2 =0, y1 =0, y0=0. Из состояния Т1 Т0 при x =1 автомат переходит в состояние Т1Т0 (11), формируя на переходе выходные сигналы y2 =0, y1 =0, y0 =1.
При синтезе структурного автомата необходимо табличное задание. Автомат Мили описывается с помощью 2 таблиц (таблично заданных булевых функций): функции переходов и функции выходов. Логические функции переходов и выходов определяют соответственно зависимости состояния автомата на следующем временном промежутке и выходных сигналов от текущего состояния и входных сигналов. Автомат Мура описывается только функцией переходов, т.к. выходные сигналы жестко связаны с состояниями.
Аргументы функции |
Функция переходов
|
Функция выходов |
|||||
Вход |
Текущее состояние |
Следующее состояние |
Текущее состояние |
||||
X |
T1 |
T0 |
D1 |
D0 |
Y2 |
Y1 |
Y0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
нашем примере аргументами логических функций (входами комбинационной схемы) являются переменные x (входной сигнал) и T1,T0 (состояние), а функциями (выходами КС) являются: y2,y1,y0 (выходные сигналы автомата) и D1,D0 ( функции переходов, т.е. выходы кода следующего состояния). Табличное задание алгоритма работы автомата из рис.1.2 представлено в табл. 1.1.
Схемной реализацией системы булевых функций переходов и выходов является комбинационная схема (КС). Таким образом, в нашем примере КС должна иметь 3 входных полюса и 5 выходных. Таблица истинности КС, соответствующая рассмотренному графу автомата имеет вид объединенной таблицы функций переходов и выходов.
Таким образом, на вход комбинационной схемы должны поступать внешние управляющие сигналы и код состояния автомата с запоминающего регистра, хранящего код текущего состояния. Следовательно, выходы регистра состояния подключаются ко входам КС. Выходные сигналы КС, содержащие функцию выходов, являются управляющими сигналами для операционного автомата и подключаются к входам объекта управления. Выходные полюсы КС, содержащие функцию переходов (код следующего состояния) подключаются ко входу регистра для запоминания состояния по фронту синхросигнала внешнего тактового генератора (рис.1.3). Сохранение состояния на один такт необходимо для ликвидации непосредственной обратной связи между входами и выходами КС, ведущей к неконтролируемой автогенерации.
Число разрядов M кода состояния автомата и, следовательно, регистра определяется числом состояний автомата J и должно удовлетворять условию J 2М. Комбинационные схемы рассматриваются как автоматы с одним внутренним состоянием.
Функцию выходов КС можно записать в дизьюнктивной нормальной форме. Для этого каждую выходную переменную КС, представленную столбцом своих значений в таблице истинности, приравняем дизьюнкции коньюнкции всех входных переменных в строке, для которой значение данной выходной переменной равно 1.
D1 =x T1 T0 \/ x T1 T0 \/ x T1 T0 \/ x T1 T0
D0 =x T1T0 \/ x T1 T0 \/ x T1 T0 \/ x T1 T0
y0 =x T1T0\/ x T1 T0
y1 =x T1 T0 \/ x T1 T0 \/ x T1 T0
y2 =x T1T0 \/ x T1 T0 \/ x T1 T0
Таким образом, микропрограммный автомат состоит из комбинационной схемы (КС) и регистра, как элемента памяти, охваченных обратной связью. Комбинационная схема обычно реализуется на микросхемах (м/с) программируемой логической матрицы (ПЛМ) или перепрограммируемого постоянного запоминающего устройства (ППЗУ). Алгоритм работы автомата определяется содержимым (прошивкой) ППЗУ и может просто изменен заменой м/с ППЗУ.
Возможные функциональные схемы автоматов и их подключение к объектам управления представлены на рисунке 1.4. Автоматы имеют L входов внешнего управления, K входов обратной связи от ОА, М-разрядный код состояния и N управляющих выходов.
|
|
Рис.1.4. Структурные автоматы
Схема включает КС с (L+K+M) входными и N+M выходными полюсами и регистр, синхронизируемый от внешнего тактового генератора G. Разрядность регистра определяется разрядностью кодов состояния автомата M и числом (L+N) необязательно запоминаемых входных и выходных дискретных сигналов. При реализации КС на ППЗУ последняя имеет L+K+M адресных входов и N+M выходов данных. Регистр имеет не менее M разрядов. Часть (N) выходных разрядов КС являются выходными сигналами автомата и поступает на входы дискретного управления исполнительными механизмами объекта управления. Остальные M разрядов КС, содержащие код следующего состояния, поступают на вход регистра для записи по фронту тактового импульса.
Для синтеза автомата на первом этапе из алгоритма работы управляющего устройства в виде микропрограммного автомата определяется число его внутренних состояний и, следовательно, необходимое число разрядов регистра памяти. Проводится кодирование состояний и уточняется число внешних управляющих и выходных сигналов автомата. Вводится система обозначений для сигналов. За каждым входом автомата закрепляется входной сигнал, являющийся аргументом логической функции, реализуемой на КС. Исходя из алгоритма работы, составляется граф автомата. По заданному графу записываются функции переходов и выходов в табличной форме, объединение которых представляет таблицу истинности КС.
Получением таблицы истинности КС завершается синтез микропрограммного автомата. Сама комбинационная схема с найденной таблицей истинности аппаратно реализуется на м/с логических элементов, коммутаторов, ПЛММ, ППЗУ.
Двоичное число на входе КС можно рассматривать как адрес ячейки памяти (особенно при реализации КС на ППЗУ), содержимое которой появляется на ее выходе в виде совокупности управляющих сигналов (функция выходов), т.е. микрокоманды для ОА и кода следующего состояния. В формате данных на выходе комбинационной схемы можно выделить последовательность разрядов (N разрядов), содержащих микрокоманду для ОА (поле микрокоманды) и часть разрядов (M разрядов) адреса следующей микрокоманды (поле адреса микрокоманды). Поэтому последовательность сигналов на выходе КС можно рассматривать как последовательность формируемых автоматом микрокоманд, т.е. микропрограмму. В этом случае КС рассматривается как микропрограммная память, управление адресом которой осуществляется внешними управляющими сигналами, сигналами обратной связи с ОА и разрядами кода состояния (полем кода состояния) микрокоманды. Часть комбинационной схемы, содержащую таблицу переходов и регистр состояния можно рассматривать как подобие счетчика микрокоманд, особенно при последовательном увеличении кода состояния при отработке алгоритма. Формат данных на входе и выходе КС можно представить в виде:
Вход КС (адрес)
Внешние входы (поле управления переходами) |
Входы от ОА (поле управления условными ветвлениями) |
Входы состояния (поле формирования очередного адреса) |
Выход КС
Новое состояние (поле формирования очередного адреса) |
Микрокоманда для ОА |
Внешние входы и входы условий модифицируют адрес, реализуя условные переходы и переходы к одной из программ.
Такая интерпретация работы автомата в своем развитии привела к разработке эффективного аппарата современной цифровой техники - микропрограммному управлению, используемому при разработке микропрограммируемых систем управления.