Популярные услуги

Режимы работы микропроцессорной системы

2021-03-09СтудИзба

6. Режимы работы микропроцессорной системы

Как уже отмечалось, микропроцессорная система обеспечивает большую гибкость работы, так как способна настраиваться на решение любой задачи. Гибкость эта обусловлена, прежде всего, тем, что функции, выполняемые системой, определяются программой (программным обеспечением, software), которую выполняет процессор. Аппаратура (аппаратное обеспечение, hardware) при этом остается неизменной. Кроме того шинная организация связей микропроцессорной системы позволяет легко заменять аппаратные модули, добавлять или модернизировать устройства ввода/вывода. Это также позволяет увеличить гибкость системы, продлить ее жизнь при любом изменении требований к ней.

Но гибкость микропроцессорной системы определяется не только этим. Так же присутствует возможность выбора режимов работы системы (режимов обмена информацией по системной шине).

Любая современная микропроцессорная система поддерживает три основных режима обмена по магистрали:

  • программный обмен информацией;
  • обмен с использованием прерываний (Interrupts);
  • обмен с использованием прямого доступа к памяти (ПДП, DMA — Direct Memory Access).

Программный обмен информацией является основным в любой микропроцессорной системе. Он предусмотрен всегда, без него невозможны другие режимы обмена. В этом режиме процессор является единоличным хозяином (или задатчиком, Master) системной магистрали. Все операции (циклы) обмена информацией в данном случае инициируются и контролируются только процессором, все они выполняются непрерывно и строго в порядке, предписанном исполняемой программой. Программа может быть линейной, содержать цикл, переходы (прыжки). Ни на какие внешние события, не связанные с программой, процессор не реагирует (рис. 6.1).

Описание: Программный обмен информацией.
Рис. 6.1. Программный обмен информацией.

Такой способ практически исключает работу с внешними устройствами (за исключением светодиодов), так как они часто являются «не готовыми» к обмену данными с МПС. Для того чтобы убедиться в их готовности, нужно периодически проверять флаг готовности/занятости. Такие проверки флага приводят к непроизводительным потерям времени процессора в циклах ожидания ответа от этих устройств. Для обеспечения возможности работы МПС с внешними устройствами, необходимо обеспечить возможность отработки обменов, инициированных внешними устройствами самостоятельно. Эту задачу решают с помощью специальных режимов работы МПС: по прерываниям и прямого доступа в память.

Обмен по прерываниям используется тогда, когда необходима реакция микропроцессорной системы на какое-то внешнее событие, на приход внешнего сигнала. Например, нажатие на клавишу клавиатуры или приход по локальной сети пакета данных. МПС должна реагировать на это, соответственно, выводом символа на экран или же чтением и обработкой принятого по сети пакета.

Рекомендуемые материалы

При поступлении внешнего сигнала (получив запрос на прерывание – IRQ Interrupt ReQuest), процессор прерывает свою работу (заканчивая выполнение текущей команды) и переходит к некоторому заранее заданному набору действий для обработки этого сигнала (выполняет программу обработки прерывания). Закончив выполнение программы обработки прерывания, он возвращается к прерванной программе с той точки, где его прервали (Рис. 6.2.).

Вся работа, как и в случае программного режима, осуществляется самим процессором, внешнее событие просто временно отвлекает его. Реакция на внешнее событие по прерыванию в общем случае медленнее, чем при программном режиме.

Описание: Обслуживание прерывания.
Рис. 6.2. Обслуживание прерывания.

Никакого ускорения работы системы режим «по прерываниям» не дает. Его применение позволяет лишь отказаться от постоянного опроса флага внешнего события и занять процессор выполнением каких-то других задач до наступления внешнего события.

Под прерыванием  понимается не только обслуживание запроса внешнего устройства.  Прерывание может быть программным (используется команда перехода на какую-то подпрограмму, из которой затем последует возврат в основную программу). Например, может быть предусмотрено прерывание по факту некорректного выполнения арифметической операции типа деления на ноль.

Любое прерывание обрабатывается через таблицу векторов (указателей) прерываний. В простейшем случае находятся адреса начала программ обработки прерываний, которые и называются векторами. В более сложных случаях в таблице векторов прерываний могут находиться не только адреса начала программ обработки прерываний, а так называемые дескрипторы (описатели) прерываний. Но конечным результатом обработки этого дескриптора все равно будет адрес начала программы обработки прерываний. Длина таблицы может быть довольно большой (до нескольких сот элементов). Обычно таблица векторов прерываний располагается в начале пространства памяти (в ячейках памяти с малыми адресами). Адрес каждого вектора (или адрес начального элемента каждого вектора) представляет собой номер прерывания.

В случае аппаратных прерываний номер прерывания задается устройством, запросившим прерывание. В конце программы обработки прерываний обязательно должна располагаться команда выхода из прерывания, выполнив которую, процессор возвращается к выполнению прерванной основной программы. Параметры процессора на время выполнения программы обработки прерывания сохраняются в стеке.

Во время выполнения программы обработки прерывания может поступить новый запрос на прерывание. В этом случае он обрабатывается точно так же, как описано, но основной программой считается прерванная программа обработки предыдущего прерывания.

Прямой доступ к памяти (ПДП, DMA) — это режим, принципиально отличающийся от двух ранее рассмотренных тем, что обмен по системной шине инициируется только внешним устройством и идет без участия процессора. Внешнее устройство, требующее обслуживания, сигнализирует процессору, что режим ПДП необходим, в ответ на это процессор заканчивает выполнение текущей команды и отключается от всех шин, сигнализируя запросившему устройству, что обмен в режиме ПДП можно начинать.

Операция ПДП сводится к пересылке информации из внешнего устройства в память или же из памяти во внешнее устройство. Когда пересылка информации будет закончена, процессор вновь возвращается к прерванной программе, продолжая ее с той точки, где его прервали (рис. 6.4). Это похоже на режим обслуживания прерываний, но в данном случае процессор не участвует в обмене. Как и в случае прерываний, реакция на внешнее событие при ПДП существенно медленнее, чем при программном режиме.

Понятно, что в этом случае требуется введение в систему дополнительного устройства (контроллера ПДП), которое будет осуществлять полноценный обмен по системной магистрали без всякого участия процессора. Причем процессор предварительно должен сообщить этому контроллеру ПДП, откуда ему следует брать информацию и/или куда ее следует помещать. Контроллер ПДП может считаться специализированным процессором, который отличается тем, что сам не участвует в обмене, не принимает в себя информацию и не выдает ее (рис. 6.5).

Описание: Обслуживание ПДП.
Рис. 6.4. Обслуживание ПДП.

Описание: Информационные потоки в режиме ПДП.
Рис. 6.5. Информационные потоки в режиме ПДП.

Обмен с помощью прямого доступа к памяти обеспечить более высокую скорость передачи информации, чем программный обмен, так как процессор передает данные медленнее. Скорость обмена в режиме ПДП обычно ограничивается лишь возможностями системной шины.

5.2. Алгоритм работы управляющего автомата УУ

Одной из основных частей устройства управления МП является цифровой (управляющий, первичный) автомат. В начале каждого машинного цикла цифровой автомат УУ генерирует сигнал синхронизации МП - системы СИНХРО. Каждому такту МП соответствует отдельное состояние первичного автомата. Общая структура алгоритма функционирования управляющего автомата в течение рабочего цикла выполнения команды показана на рис. 5.2.

Выполнение рабочего цикла команды начинается с опроса триггера прерывания. Если запрос прерывания поступил и прерывания разрешены, то автомат формирует машинный цикл обработки прерывания, в котором управление передается подпрограмме обработки прерывания, и она выполняется. При отсутствии прерывания, управляющий автомат формирует цикл выборки команды из памяти и формирует адрес следующей команды.

            Далее управляющий автомат дешифрирует код операции в команде и генерирует соответствующую коду операции серию управляющих сигналов, обеспечивающую выполнение в МП заданной операции.           

            Управляющий автомат в зависимости от сложности команды выполняет цикл команды за несколько (1-5) внутренних машинных циклов. Один машинный цикл требуется МП для одного обращения к памяти или УВВ. В стандартном машинном цикле может быть от трех до пяти состояний автомата.

           

Рабочий цикл может иметь различную длительность в силу различных причин:

  • команды могут иметь различную длину (однобайтовые, двухбайтовые, трехбайтовые),
  • имеются различные типы адресации (с непосредственно прямым или последовательным доступом).

Все такты Т1-Т5 имеют одинаковую длительность, но есть 3 исключения:

v состояние «Жду» - МП находится в состоянии ожидания операции;

v состояние «ПДП» - прямой доступ к памяти, в которое МП переходит под воздействием внешних сигналов управления  МП-системой;

v состояние «Останов» - в которое МП может быть введёт посредством команды останова.

Эти 3 состояния МП не связаны с тактовой частотой С1 и С2 и их продолжительность не определённая, т.к. зависит от внешних по отношению к МП событий. Эти состояния длятся целое число тактов и выход МП из этих состояний тактируется.

Вывод из рассмотренного алгоритма работы УА

1. МП приступает к анализу запросов на прерывание только после окончания выполнения текущей операции;

2. Из состояния «останов» МП может быть выведен двумя способами:

Ø поступившим внешним сигналом прерывания и соответствующим разрешением на него;

сигналом «сброс», который переводит УА в начальное состояние Т1.

Рис. 5.2. Алгоритм работы УА

Рис. 5.3. Временные диаграммы выполнения команды

         Временная диаграмма, изображенная на рис.5.3, определяет основной цикл команды МП. В первом такте синхронизации Т1 МП выставляет на шине адреса код адреса А0-15  очередной команды. Одновременно на линии синхронизации SYNC (СИНХРО) появляется единичный сигнал, который информацию на шине данных D0-7 как байт состояния SB процессора.         Сигнал SYNC также свидетельствует о начале машинного цикла. По окончании сигнала SYNC буферная схема шины данных, переводит шину данных D0-7 в режим ввода, о чем  свидетельствует единичный сигнал на линии DBIN шины управления.

         В такте Т2 МП осуществляет проверку готовности внешнего устройства (или памяти). Если внешнее устройство не формирует сигнал Готов (высокий уровень), то автомат управления МП переходит в состояние ожидания. В этом состоянии МП будет находиться до тех пор, пока на линии Ready не появится единичный сигнал, который будет свидетельствовать о том, что память или ВУ готовы к обмену. На временных диаграммах (рис.5.3) приведен вариант отсутствия готовности в течение одного такта и МП сформировал один такт ожидания Тож, в котором обнаружил единичный сигнал готовности Ready и перешел к рабочему такту Т3. В такте Т3  МП производит чтение или запись слова в память. Такты Т4 и Т5 отводятся для выполнения операции, заданной кодом операции команды. Выполнение некоторых сложных команд требует неоднократного прохода по циклу состояний автомата управления от Т1 до Т5.

Возможность управляющего автомата ожидать готовность операнда, наличие механизма анализа запросов на прерывание и запросов на захват шин позволяет МП формировать последовательность управляющих сигналов не только на основе команд исполняемой программы, но и под воздействием внешних управляющих сигналов Ready, INT, HOLD.

Например, это может быть использовано в работе с различными видами внешней памяти, имеющей разные времена доступа, а также с медленно действующими устройствами ввода-вывода (УВВ).

5.3. Цикл выполнения команды

Обработку команды можно разбить на ряд функционально завершенных действий (этапов), составляющих ее цикл (рис. 5.4, 5.5).

Описание: Цикл выполнения команды
Рис. 5.4. Цикл выполнения команды

Изучение цикла команды проведем при следующих начальных условиях и предположениях:

  • программа и операнды находятся в оперативном запоминающем устройстве (ОЗУ);
  • адрес ячейки ОЗУ, в которой находится выполняемая команда (k), зафиксирован на счетчике команд (СК);
  • команда считывается за одно обращение к ОЗУ;
  • команда, операнды и приемник результата используют прямую адресацию памяти.

Определим взаимодействие узлов и устройств ЭВМ на каждом этапе.

Описание: Структурная схема трехадресной ЭВМ

Рис. 5.5. Цикл выполнения команды

Первый этап – выборка исполняемой команды из ОЗУ. Для реализации этого этапа код k со счетчика команд СК передается в ячейку ОЗУ с адресом k. Содержимое этой ячейки, являющееся кодом этой команды, передать на регистр команд. Соответствующие передачи отмечены на рис. 5.4, рис. 5.5 цифрой 1.

Регистр адреса служит для хранения адреса, по которому происходит обращение к ОЗУ, на время этого обращения. Дешифратор преобразует поступающий на него адрес в унитарный код, который непосредственно воспринимается элементами схем памяти. Регистр команд предназначен для хранения в процессоре считанной из ОЗУ команды на время ее выполнения. На этом этапе после приема команды на РК дешифратор кода операции (ДшКОп) по операционной части выполняемой команды определяет тип команды. Сигнал с ДшКОп таким образом настраивает блок управления операциями (БУОп), что на его выходах формируются управляющие сигналы (УСi), которые необходимы для автоматического выполнения всего цикла команды вплоть до занесения в РК новой команды.

Если данная команда не является командой перехода, то реализуется следующая последовательность этапов как продолжение первого.

Второй этап – выборка первого операнда (a). Код из поля адреса первого операнда – a из РК передается в ОЗУ (в ячейку с адресом a) код этой ячейки передается в АЛУ. Соответствующие передачи обозначены на рис. 5.4, рис. 5.5 цифрой 2.

Третий этап – выборка второго операнда (b). Производится по аналогии со вторым этапом. Соответствующие передачи на рис. 5.4, рис. 5.5 отмечены цифрой 3.

Четвертый этап – выполнение операции в соответствии с полем кода операции команды. Еще в конце первого этапа дешифратор операций определил тип выполняемой команды. Операнды переданы в АЛУ на втором и третьем этапах. Блок управления операциями формирует управляющие сигналы, необходимые для выполнения данной операции в АЛУ. Результат выполненной в АЛУ операции сохраняется в его внутреннем регистре результата (РР), а признаки результата – в регистре признаков АЛУ. Соответствующие передачи и взаимодействия блоков обозначены на рис. 5.4, рис. 5.5 цифрой 4.

Пятый этап – обращение к ОЗУ и запись по адресу c результата операции. Здесь код поля c регистра команд передается в ОЗУ на РА. Затем в ячейку ОЗУ с адресом c записывается результат операции, находящийся в регистре результата АЛУ. Признаки результата записываются из регистра признаков АЛУ в регистр флагов компьютера, из которого они передаются в БУОп, если очередная считанная в РК команда окажется командой условного перехода. Соответствующие передачи обозначены на рис. 5.4, рис. 5.5 цифрой 5.

Шестой этап – формирование адреса ячейки ОЗУ, где находится следующая команда программы, то есть замена старого кода в счетчике команд на новый. Так как в ЭВМ предполагается естественный порядок выполнения программы, то следующая команда находится в ячейках ОЗУ, располагающихся сразу же вслед за ячейками, занятыми выполненной командой. Считая, что выполненная команда занимает в памяти Δ ячеек, получим, что суть этого этапа заключается в следующем изменении счетчика команд: СК = СК + Δ. На этом заканчивается цикл выполнения команды: в СК сформирован адрес следующей команды k +Δ. Выполнение этого этапа может совмещаться с выполнением предшествующих этапов, что и реализовано в большинстве ЭВМ.

Приведенная последовательность этапов повторяется и в дальнейшем для каждой из последующих команд программы, что обеспечивает автоматическое выполнение программы.

При выполнении команды перехода вышеизложенная последовательность этапов меняется. Выполнение этапов со второго по четвертый блокируется, происходит прибавление значения j к счетчику команд.

Как известно, команды МП могут состоять из одного, двух и более машинных слов, поэтому для выбора кода операции и выполнения всей команды требуется различное число машинных циклов. Обычно оно варьируется от одного до пяти: М1, М2, М3, М4, М5.

            Первым и обязательным для всех команд является машинный цикл М1, в котором производится выборка кода операции из памяти.

В свою очередь каждый машинный цикл для своего завершения требует от 3 до 5 отдельных шагов (машинных тактов): Т1, Т2, Т3, Т4, Т5:

· Т1 и Т2 – посылают адрес в память;

· Т3 – приводит к считыванию команды или данных из памяти;

· Т4 и Т5 – приводит к выполнению команды.

Описание: 2

Рис. 5.7.  Временная диаграмма выполнения команд

Такты 1 и 2 обычно называют фазой запроса, такт 3 – фазой считывания, а такт 4 и 5 – исполнительной фазой.

            В общем случае такты 1 и 2 чередуются с тактами 3 и 4. Эта последовательность может изменятся, когда встречаются команды, в которых отсутствует фаза исполнения, т.е. шаги 4 и 5.

            Первый (обязательный) машинный цикл продолжается 4 или 5 периодов тактовой частоты, последующие машинные циклы М2-М5 в нормальных условиях функционирования МП имеют длительность в три машинных такта каждый.   

            В результате продолжительность выполнения команд определяется содержанием исполняемых операций и варьируется  от 4 тактов за один машинный цикл до 18-20 тактов за пять машинных циклов.

            Каждый машинный такт имеет продолжительность в один период тактовой частоты. В результате при максимальной тактовой частоте 2МГц, период (а значит и один машинный такт) равен 0,5мкс.

2 МГц

-

0,5 мкс

16 МГц

-

0,055 мкс

40 МГц

-

0,025 мкс

66 МГц

Рекомендуем посмотреть лекцию "HP Superdome".

-

0,015 мкс

100 МГц

-

0,01 мкс

            В программах для каждой команды обычно указывается число переходов из одного состояния в другое. В связи с вышеизложенным и с учётом тактовой частоты данного МП число переходов позволяет сразу и однозначно определить время выполнения каждой команды из состава программы.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее