русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Архитектура микропроцессорных систем


Дата добавления: 2013-12-23; просмотров: 5119; Нарушение авторских прав


Рис. 1.15. Обслуживание ПДП

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

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

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

Практически любая развитая микропроцессорная система (в том чис­ле и компьютер) поддерживает три основных режима обмена по магист­рали:

• программный обмен информацией;

• обмен с использованием прерываний (Interrupts);

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

 

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



Рис. 1.13. Программный обмен информацией

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

 

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

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

o с помощью постоянного программного контроля факта наступления события (так называемый метод опроса флага или polling);

o с помощью прерывания, то есть насильственного перевода процес­сора с выполнения текущей программы на выполнение экстренно необходимой программы;

o с помощью прямого доступа к памяти, то есть без участия процессо­ра при его отключении от системной магистрали.

Проиллюстрировать эти три способа можно следующим простым при­мером. Допустим, вы готовите себе завтрак, поставив на плиту кипятиться молоко. Естественно, на закисание молока надо реагировать, причем сроч­но. Как это организовать? Первый путь — постоянно следить за молоком, но тогда вы ничего другого не сможете делать. Правильнее будет регуляр­но поглядывать на молоко, делая одновременно что-то другое. Это про­граммный режим с опросом флага. Второй путь — установить на кастрю­лю с молоком датчик, который подаст звуковой сигнал при закипании молока, и спокойно заниматься другими делами. Услышав сигнал, вы вык­лючите молоко. Правда, возможно, вам придется сначала закончить то, что вы начали делать, так что ваша реакция будет медленнее, чем в первом случае. Наконец, третий путь состоит в том, чтобы соединить датчик на кастрюле с управлением плитой так, чтобы при закипании молока горелка была выключена без вашего участия (правда, аналогия с ПДП здесь не очень точная, так как в данном случае на момент выполнения действия вас не отвлекают от работы).

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

Во втором случае в режиме прерывания процессор, получив запрос пре­рывания от внешнего устройства (часто называемый IRQ — Interrupt ReQuest), заканчивает выполнение текущей команды и переходит к про­грамме обработки прерывания. Закончив выполнение программы обра­ботки прерывания, он возвращается к прерванной программе с той точ­ки, где его прервали (рис. 1.14).

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

Для обслуживания прерываний в систему иногда вводится специаль­ный модуль контроллера прерываний, но он в обмене информацией не участвует. Его задача состоит в том, чтобы упростить работу процессора с внешними запросами прерываний. Этот контроллер обычно программно управляется процессором по системной магистрали.

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

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

 

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

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

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



 


Системная магистраль

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

В принципе контроллер ПДП может входить в состав устройства вво­да/вывода, которому необходим режим ПДП или даже в состав несколь­ких устройств ввода/вывода.

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

Если в системе уже имеется самостоятельный контроллер ПДП, то это может в ряде случаев существенно упростить аппаратуру устройств ввода/ вывода, работающих в режиме ПДП. В этом, пожалуй, состоит единствен­ное бесспорное преимущество режима ПДП.

 

До сих пор мы рассматривали только один тип архитектуры микропро­цессорных систем — архитектуру с общей, единой шиной для данных и команд (одношинную, или принстонскую, фон-неймановскую архитектуру). Соответственно, в составе системы в этом случае присутствует одна общая память, как для данных, так и для команд (рис. 1.15).

Общая шина данных и команд

Рис. 1.17. Архитектура с общей шиной данных и команд.

Но существует также и альтернативный тип архитектуры микропроцессорной системы — это архитектура с раздельными шинами данных и команд (двухшинная, или гарвардская, архитектура). Эта архитектура предполагает наличие в системе отдельной памяти для данных и отдельной па­мяти для команд (рис. 1.16). Обмен процессора с каждым из двух типов памяти происходит по своей шине.

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

Рассмотрим некоторые достоинства и недостатки обоих архитектур­ных решений.

Архитектура с общей шиной (принстонская, фон-неймановская) проще
, она не требует от процессора одновременного обслуживания двух шин,
контроля обмена по двум шинам сразу. Наличие единой памяти данных и команд позволяет гибко распределять ее объем между кодами данных и команд. Например, в некоторых случаях нужна большая и сложная про­грамма, а данных в памяти надо хранить не слишком много. В других слу­чаях, наоборот, программа требуется простая, но необходимы большие объемы хранимых данных. Перераспределение памяти не вызывает ника­ких проблем, главное — чтобы программа и данные вместе помещались в памяти системы. Как правило, в системах с такой архитектурой память бывает довольно большого объема (до десятков и сотен мегабайт). Это по­зволяет решать самые сложные задачи.

Рис. 1.18. Архитектура с раздельными шинами данных и команд.

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

В чем же преимущество архитектуры с двумя шинами (гарвардской)?

В первую очередь, в быстродействии.

Дело в том, что при единственной шине команд и данных процессор вынужден по одной этой шине принимать данные (из памяти или устрой­ства ввода/вывода) и передавать данные (в память или в устройство ввода/ вывода), а также читать команды из памяти. Естественно, одновременно эти пересылки кодов по магистрали происходить не могут, они должны производиться по очереди. Современные процессоры способны совмес­тить во времени выполнение команд и проведение циклов обмена по сис­темной шине. Использование конвейерных технологий и быстрой кэш-­памяти позволяет им ускорить процесс взаимодействия со сравнительно медленной системной памятью. Повышение тактовой частоты и совер­шенствование структуры процессоров дают возможность сократить время выполнения команд. Но дальнейшее увеличение быстродействия систе­мы возможно только при совмещении пересылки данных и чтения команд, то есть при переходе к архитектуре с двумя шинами.

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

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

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

 

1.6. Типы микропроцессорных систем.

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

 

Основные типы следующие:

микроконтроллеры — наиболее простой тип микропроцессорных
систем, в которых все или большинство узлов системы выполнены в
виде одной микросхемы;

контроллеры — управляющие микропроцессорные системы, выполненные в виде отдельных модулей;

микрокомпьютеры — более мощные микропроцессорные системы
с развитыми средствами сопряжения с внешними устройствами.

компьютеры (в том числе персональные) — самые мощные и наиболее универсальные микропроцессорные системы.

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

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

Контроллеры, как правило, создаются для решения какой-то отдель­ной задачи или группы близких задач. Они обычно не имеют возможнос­тей подключения дополнительных узлов и устройств, например, большой памяти, средств ввода/вывода. Их системная шина чаще всего недоступна пользователю. Структура контроллера проста и оптимизирована под мак­симальное быстродействие. В большинстве случаев выполняемые про­граммы хранятся в постоянной памяти и не меняются. Конструктивно кон­троллеры выпускаются в одноплатном варианте.

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

Наконец, компьютеры и самые распространенные из них — персональ­ные компьютеры — это самые универсальные из микропроцессорных си­стем. Они обязательно предусматривают возможность модернизации, а также широкие возможности подключения новых устройств. Их систем­ная шина, конечно, доступна пользователю. Кроме того, внешние устрой­ства могут подключаться к компьютеру через несколько встроенных пор­тов связи (количество портов доходит иногда до 10). Компьютер всегда имеет сильно развитые средства связи с пользователем, средства длитель­ного хранения информации большого объема, средства связи с другими компьютерами по информационным сетям. Области применения компьютеров могут быть самыми разными: математические расчеты, обслуживание доступа к базам данных, управление работой сложных электронных систем, компьютерные игры, подготовка документов и т.д.

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

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

Классические микропроцессорные системы на базе микросхем процессоров и микропроцессорных комплектов выпускаются сейчас довольно редко, в первую очередь, из-за сложности процесса разработки и отладки этих систем. Данный тип микропроцессорных систем выбирают в основ­ном тогда, когда микроконтроллеры не могут обеспечить требуемых ха­рактеристик.

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


Контрольные вопросы



<== предыдущая лекция | следующая лекция ==>
Шинная структура связей. | Общие принципы построения микропроцессорных систем.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.