Основы микропроцессорной техники | |
Раздел 1. Фиософия микропроцессорной техники | |
| «Структура курса | Раздел 1 | Раздел 2 | Раздел 3 | Раздел 4 | Раздел 5 | Раздел 6 | Раздел 7 | Глава 8 | Дополнения | |
| Раздел 1 - Страницы: «| 1 | 2 | 3 | 4 |» | |
1.3. Режимы работы микропроцессорной системыКак уже отмечалось, микропроцессорная система обеспечивает высокую гибкость работы, она способна настраиваться на любую задачу. Гибкость эта обусловлена прежде всего тем, что функции, выполняемые системой, определяются программой (программным обеспечением, software), которую выполняет процессор. Аппаратура (аппаратное обеспечение, hardware) остается неизменной при любой задачи. Записывая в память системы программу, можно заставить микропроцессорную систему выполнять любую задачу, поддерживаемых данной аппаратурой. К тому же шинная организация связей микропроцессорной системы позволяет достаточно легко заменять аппаратные модули, например, заменять память на новую большего объема или более высокого быстродействия, добавлять или модернизировать устройства ввода / вывода, наконец, заменять процессор на более мощный. Это также позволяет увеличить гибкость системы, продолжить ее жизни при любом изменении требований к ней. Но гибкость микропроцессорной системы определяется не только этим. Настраиваться на задачу помогает еще и выбор режима работы системы, т.е. режима обмена информацией с системной магистралью (шиной). Практически любая развитая микропроцессорная система (в том числе и компьютер) поддерживает три основных режима обмена магистрали:
Программный обмен информацией является основным в любой микропроцессорной системе. Он предусмотрен всегда, без него невозможны другие режимы обмена. В этом режиме процессор является единоличным хозяином (или Задатчики, Master) системной магистрали. Все операции (циклы) обмена информацией в данном случае инициируются только процессором, все они выполняются строго в порядке, предложенном программой, которая выполняется. Процессор читает (выбирает) из памяти коды команд и исполняет их, читая данные из памяти или из устройства ввода / вывода, обрабатывая их, записывая данные в память или передавая их в устройство ввода / вывода. Путь процессора по программе может быть линейным, циклическим, может содержать переходы (прыжки), но он всегда непрерывный и по лностью находится под контролем процессора. Ни на какие внешние события, не связанные с программой, процессор не реагирует (Рис. 1.11). Все сигналы на магистрали в данном случае контролируются процессором.
Обмен с использованием прерываний используется тогда, когда необходима реакция микропроцессорной системы на какое-то внешнее событие, прихода внешнего сигнала. В случае компьютера внешним событием может быть, например, нажатие на клавиши клавиатуры или приход локальной сетью пакета данных. Компьютер должен реагировать на это, соответственно, выводом символа на экран или же чтение и обработкой принятого из сети пакета. В общем случае организовать реакцию на внешнее событие можно тремя разными путями:
Проиллюстрировать эти три способа можно следующим простым примером. Допустим, вы готовите себе завтрак, поставив на плиту кипьятитися молоко. Естественно, на закипания молока надо реагировать, причем срочно. Как это организовать? Первый путь - постоянно следить за молоком, но тогда вы ничего другого делать не сможете. Вернее будет регулярно поглядывать на молоко, делая одновременно то другое. Это программный режим опросу флага. Второй путь - установить на кастрюлю с молоком датчик, который подаст звуковой сигнал при закипании молока, и спокойно заниматься другими делами. Услышав сигнал, вы снимете с плиты молоко. Правда, возможно, вам придется сначала закончить то, что вы начали делать, так что ваша реакция будет медленнее, чем в первом случае. Наконец, третий путь состоит в том, чтобы соединить датчик на кастрюле с управлением плитой так, чтобы при закипании молока горелка был выключен без вашего участия (правда, аналогия с ПДП здесь не очень точная, так как в данном случае на момент выполнения действия вас не отвлекают от работы). Первый случай опросу флага реализуется в микропроцессорной системе постоянным чтением информации процессором с устройства ввода / вывода, который связан с тем внешним устройством, на поведение которого необходимо срочно реагировать. Во втором случае в режиме прерывания процессор, получив запрос прерывания от внешнего устройства (часто называемый IRQ - Interrupt ReQuest), заканчивает выполнение текущей команды и переходит к программе обработки прерывания. Закончив выполнение программы обработки прерывания, он возвращается к прерванной программы с того места, где его прервали (Рис. 1.12). Здесь важно то, что вся работа, как и в случае программного режима, осуществляется самим процессором, внешнее событие просто временно отвлекает его от выполнения программы. Реакция на внешнее событие по прерыванию, в общем случае, медленнее, чем при программном режиме. Как и в случае программного обмена, тут все сигналы на магистрали выставляются процессором, то есть он полностью контролирует магистраль. Для обслуживания прерываний в систему иногда вводится специальный модуль контроллера прерываний, но он в обмене информацией не участвует. Его задача состоит в том , чтобы упростить работу процессора с внешними запросами прерываний. Этот контроллер обычно программно управляется процессором системной магистралью.
Естественно, никакого ускорения работы системы прерывания не дает. Его применение позволяет только отказаться от постоянного опроса флага внешней события и временно, до ее наступления, занять процессор выполнением каких-то других задач. Прямой доступ к памяти (ПДП, DMA) - это режим, принципиально отличается от двух ранее рассмотренных режимов тем, что обмен системной шиной идет без участия процессора. Внешнее устройство, требующее обслуживания, сигнализирует процессору, что режим ПДП необходим, в ответ на это процессор заканчивает выполнение текущей команды и отключается от всех шин, сигнализируя устройства, подавшего запрос, что обмен в режиме ПДП можно начинать. Операция ПДП сводится к пересылке информации с устройства ввода / вывода в память или из памяти в устройство ввода / вывода. Когда пересылка информации завершения процессор вновь возвращается к прерванной программы, продолжая ее с того места, где его прервали (Рис. 1.13). Это похоже на режим обслуживания прерываний, но в данном случае процессор не участвует в обмене. Как и в случае прерываний, реакция на внешнее событие при ПДП существенно медленнее, чем при программном режиме. Понятно, что в этом случае необходимо введение в систему дополнительного устройства (контроллера ПДП), который будет осуществлять полноценный обмен системной магистралью без всякого участия процессора. Причем процессор предварительно должен сообщить этом контроллеру ПДП, откуда ему следует принимать информацию и / или куда ее нужно помещать. Контроллер ПДП может считаться специализированным процессором, который отличается тем, что сам не участвует в обмене, не принимает в себя информацию и не выдает его (Рис. 1.14).
В принципе, контроллер ПДП может входить в состав устройства ввода / вывода, которому нужен режим ПДП или даже в состав нескольких устройств ввода / вывода. Теоретически обмен посредством прямого доступа к памяти может обеспечить более высокую скорость передачи информации, чем программный обмен, так как процессор передает данные медленнее, чем специализированный контроллер ПДП. Однако на практике это преимущество реализуется далеко не всегда. Скорость обмена в режиме ПДП обычно ограничено возможностями магистрали. К тому же необходимость программного задания режимов контроллера ПДП может свести на нет выигрыш от более высокой скорости пересылки данных в режиме ПДП. Поэтому режим ПДП применяется редко. Если в системе уже существует самостоятельный контроллер ПДП, то это может в ряде случаев существенно упростить аппаратуру устройств ввода / вывода, работающих в режиме ПДП. В этом, пожалуй, состоит единственное бесспорное преимущество режима ПДП. | |
«Структура курса Раздел 1 - Страницы:« | 1 | 2 | 3 | 4 | » | |