- •Раздел 1 Архитектура микропроцессорного вычисления
- •Тема 1.1 Архитектура микропроцессора
- •1 Архитектура микропроцессора. Классификация
- •Контрольные вопросы:
- •Тема 1.2 Организация управления процессом обработки информации
- •1 Структура микропроцессора
- •2 Аппаратный принцип управления выполнением операций
- •3 Микропрограммный принцип управления выполнением операций
- •Контрольные вопросы:
- •Тема 1.3 Общая схема микропроцессора. Cisc и risc архитектура, основные принципы
- •1 Построение микропроцессорных систем
- •2 Режим выполнения основной программы
- •3 Режим вызова программы
- •4 Режим обслуживания прерываний и исключений
- •5 Режим прямого доступа к памяти
- •6 Конвейерный принцип выполнения команд
- •При идеальной (а) и реальной (б) загрузке 6-ступенчатого конвейера
- •Контрольные вопросы:
- •Тема 1.4 Ассемблерная мнемоника. Структура и форматы команд. Виды адресации. Система команд микропроцессора
- •1 Язык ассемблера. Основные понятия
- •Структура программы на ассемблере. Синтаксис ассемблера.
- •2 Символы языка ассемблера
- •3 Типы операторов ассемблера
- •Директивы ассемблера
- •Система команд процессора
- •Контрольные вопросы:
- •Тема 1.5 Организация памяти микропроцессорных вычислителей
- •1 Общие сведения о запоминающих устройствах (зу)
- •2 Основные параметры запоминающих устройств Основными параметрами запоминающих устройств являются:
- •3 Классификация запоминающих устройств
- •4 Основные структуры запоминающих устройств
- •Структура 3d
- •Контрольные вопросы:
- •Тема 1.6 Адресация в микропроцессорном вычислителе. Понятие адресного пространства. Методы полной и частичной дешифрации адресов
- •1 Форматы команд
- •2 Способы адресации операндов
- •Тема 1.7 Интерфейс и его функции. Параллельный и последовательный обмен информацией. Способы обмена данными.
- •1 Общие сведения об интерфейсах
- •2 Иерархия шин
- •4 Параллельные периферийные адаптеры
- •Режим 0
- •Режим 1
- •5 Программируемые связные адаптеры
- •6 Программируемые контроллеры прерываний
- •7 Контроллеры прямого доступа к памяти
- •8 Программируемые интервальные таймеры
- •Раздел 2 Системы на основе однокристальных микропроцессоров и микроконтроллеров
- •Тема 2.1 Особенности архитектуры однокристальных микропроцессоров. Обобщенная структура
- •1 Основные характеристики однокристальных микропроцессоров
- •2 Эволюция архитектуры однокристальных микропроцессоров Intel x86
- •3 Семейства однокристальных микроконтроллеров. Базовая органи-зация
- •4 Набор регистров мк - 51
- •5 Организация памяти мк-51
- •Периферийные средства мк – 51
- •Контрольные вопросы:
- •Тема 2.2 Система команд
- •3 Отладка и настройка микроконтроллерных систем
- •1 Типы команд
- •2 Расширение памяти программ и данных
- •3 Отладка и настройка микроконтроллерных систем
- •Глоссарий
- •Итоговый тест
- •Литература
2 Аппаратный принцип управления выполнением операций
Процессор является примером цифрового автомата-устройства, осуществляющего прием, хранение и преобразование дискретной информации по некоторому алгоритму. Теорию автоматов подразделяют на абстрактную и структурную. Абстрактная теория изучает поведение автомата, отвлекаясь от структуры (т.е. способа его построения, схемной реализации).
Автомат под действием входных сигналов принимает состояния в соответствии с набором значений входных сигналов и выдает сигнал, зависящий от внутреннего состояния либо от внутреннего состояния и входных сигналов.
Для хранения внутреннего состояния автомат должен иметь память; таким образом, автомат является устройством с памятью, т.е. устройством последовательностного типа.
Несмотря на то, что реальные автоматы могут иметь несколько входов и выходов, на каждом из которых в дискретные моменты времени (определяемые тактом работы) образуются сигналы, соответствующие лог. 0 и лог.1, в абстрактной теории удобно рассматривать автоматы с одним входом и одним выходом (рисунок 3).
Функционирование цифрового автомата происходит на трех множествах:
- множестве возможных входных сигналов х1, х2, … хn
- множестве внутренних состояний а0, а1 ... аk
- множестве возможных выходных сигналов y1, y2, … ym
Одно из состояний является начальным (состояние а0), и перед началом работы автомат всегда устанавливается в это состояние.
Рисунок 3 - Структурная схема автомата
Работа автомата определяется следующими функциями:
функцией переходов f, которая определяет состояние автомата a(t + 1) в момент t +1 в зависимости от состояния автомата a(t) и значения входного сигнала x(t) в момент t:
a(t + 1) = f(a(t); x(t)),
функцией выходов φ, определяющей зависимость выходного сигнала автомата y(t) от состояния автомата a(t) и входного сигнала x(t):
y(t) = φ (a(t); x(t)).
Автомат c функцией выходов, зависящей от состояния автомата и входного сигнала, называется автоматом Мили.
Другой тип автомата - автомат Мура. Особенность автомата Мура в том, что в нем выходной сигнал зависит лишь от внутреннего состояния a(t) и не зависит от входного сигнала. Функции переходов и выходов для него имеют вид
a(t + 1) = f(a(t); x(t)),
y(t) = φ(а(t)).
Функционирование автомата может быть задано в форме таблиц переходов и выходов либо с помощью так называемого графа.
Синтез управляющего устройства в форме автомата Мили и автомата Мура состоит из следующих этапов:
построение схемы алгоритма в микрооперациях;
построение схемы алгоритма в микрокомандах;
построение графа функционирования;
кодирование состояний устройства;
построение структурной схемы управляющего устройства;
структурная схема управляющего устройства;
построение таблицы функционирования комбинационного узла;
построение логической схемы комбинационного узла.
3 Микропрограммный принцип управления выполнением операций
Мы рассмотрели выполнение операций процессором в виде последовательности микрокоманд. Можно предусмотреть другой способ формирования управляющих сигналов, под действием которых в операционном устройстве выполняются микрокоманды.
Управляющие сигналы у1,....,уп на выходе управляющего устройства в каждом тактовом периоде имеют уровни лог. 0 и лог. 1. Таким образом, каждой микрокоманде на выходе управляющего устройства соответствует некоторая кодовая комбинация. Такие кодовые комбинации, называемые кодовыми комбинациями микрокоманд (или просто микрокомандами), можно хранить в специально предназначенной для них управляющей памяти. При этом выполнение операции сводится к выборке из управляющей памяти последовательно микрокоманд микропрограммы и выдаче с их помощью управляющих сигналов у1,....,уп в операционное устройство.
В управляющей памяти можно хранить много микропрограмм, предназначенных для выполнения различных операций. По выбранной из оперативной памяти команде в управляющей памяти находится соответствующая команде микропрограмма. Далее путем последовательного считывания микрокоманд найденной микропрограммы и их выполнения в операционном устройстве реализуется предусматриваемая командой операция. Такой способ реализации операций называется микропрограммным, а построенное на этом способе управляющее устройство - управляющим устройством с программируемой логикой.
На рисунке 4 изображена структурная схема процессора с управляющим устройством, построенным по принципу программируемой логики. Функции блока микропрограммного управления (БМУ) сводятся к определению адреса очередной микрокоманды (МК) в управляющей памяти (УП). Поступающая из оперативной памяти (ОП) команда содержит адрес первой МК той микропрограммы, которая реализует предусматриваемую командой операцию. Так решается задача поиска в УП микропрограммы, соответствующей данной команде. Адреса всех последующих МК определяются в БМУ следующим образом.
В формате МК (Рисунок 3) предусматривается поле адреса, которое содержит адрес очередной МК. Считав из УП микрокоманду, по содержимому ее поля адреса определим адрес следующей МК. Но так можно получить адреса МК при отсутствии в алгоритме разветвлений, т.е. условных переходов (УсП). Для реализации условных переходов в МК надо предусмотреть поле условных переходов, в котором указывается, имеет ли место условный или безусловный переход и при условном переходе - на значения каких условий следует ориентироваться при определении адреса очередной МК.
Рисунок 4 – Структурная схема процессора
с микропрограммным принципом управления
Пусть поле условных переходов построено следующим образом. Один из разрядов поля указывает вид перехода (например, 0 в этом разряде означает безусловный переход, 1 - условный переход). Кроме того, для каждого условия в поле условных переходов имеется разряд, указывающий участие данного условия в определении адреса. Если условный переход осуществляется по некоторому условию, то адрес очередной МК будем формировать замещением младшего разряда содержимого поля адреса текущей МК значением соответствующего условия (такую операцию называют модификацией адреса). Получается разветвление на два направления. В зависимости от значения условия образуются два различающихся в младшем разряде адреса и очередная МК считывается из одной либо другой ячейки УП. Если модифицировать два разряда содержимого поля адреса, то можно осуществить разветвление на четыре направления.
Поле управляющих сигналов МК используется для подачи управляющих сигналов в операционное устройство (ОУ). Таким образом, микрокоманда может быть разбита на две части: одна часть - поле адреса и поле условных переходов - определяет функционирование БМУ при нахождении адреса очередной МК и может быть названа микрокомандой БМУ; другая часть - поле управляющих сигналов - определяет функционирование ОУ и может быть названа микрокомандой ОУ.
Машинное представление команды в памяти микроконтроллера называется объектным кодом.
Организация работы процессора состоит из фаз:
1) выборка очередной команды (ВК);
2) декодирование выбранной команды (ДК);
3) формирование адреса операнда (ФА);
4) прием операнда из памяти (ПО);
5) выполнение операции (ВО);
6) размещение результата в памяти (РР).
Реализация каждого этапа занимает один такт машинного времени и производится устройствами и блоками процессора, образующими ступени исполнительного конвейера, на каждой из которых выполняется соответствующая микрооперация. При последовательной загрузке в конвейер выбираемых команд каждая его ступень реализует определенный этап выполнения очередной команды.
Время для исполнения одной команды называется командным циклом. Основное содержание фазы выборки состоит в считывании первого байта (слова) команды из памяти микроконтроллера и его ввод в специальный регистр команд IR (Instruction Register).
Независимо от архитектуры процессора в нем имеются кроме памяти программ CSEG (Code Segment) и памяти данных DSEG (Data Segment), программно доступные регистры RSEG (Register Segment). Внутренняя логическая организация RSEG очень разнообразна и играет определяющую роль в классификации архитектур. Одним из основных является регистр PC (Program Counter)-программный счетчик. Он связан с с адресацией памяти программ и служит указателем следующего элемента программной последовательности, подлежащей выборке и исполнению. Считывание байта происходит по адресу, хранящемся в программном счетчике PC. Одновременно с этим содержимое PC увеличивается на 1 или 2, указывая на следующий элемент объектного кода. Фаза выборки одинакова для всех команд.
Вывод:
Существует два принципиально разных подхода к проектированию микропрограммного автомата (управляющего устройства) процессора с использованием схемной логики и с использованием программируемой логики.
В первом случае в процессе проектирования подбирается некоторый набор цифровых микросхем (обычно малой и средней степени интеграции) и определяется такая схема соединения их выводов, которая обеспечивает требуемое функционирование (т.е. функционирование процессора определяется тем, какие выбраны микросхемы и по какой схеме выполнено соединение их выводов). Устройства, основанные на таком принципе схемной логики, способны обеспечивать наивысшее быстродействие при заданном типе технологии элементов. Недостаток этого принципа построения процессора состоит в трудности использования БИС и СБИС.
Второй подход предполагает построение процессора с использованием одной или нескольких БИС некоторого универсального устройства, в котором требуемое функционирование (т.е. специализация устройства на выполнение определенных функций) обеспечивается занесением в память устройства определенной программы (или микропрограммы).
В зависимости от введенной программы такое универсальное управляющее устройство способно обеспечивать требуемое управление операционным устройством при решении самых разнообразных задач. В этом случае число типов БИС, необходимых для построения управляющего устройства, окажется небольшим, а потребность в БИС каждого типа высокой, что обеспечит целесообразность их выпуска промышленностью.
