Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПС.doc
Скачиваний:
76
Добавлен:
22.05.2015
Размер:
446.98 Кб
Скачать

3 Шины:

1. Адресная шина системы

2. Шина данных системы

3. Шина управления системы

Логическое состояние этих 3 шин описывает коммуникационный тракт системы в любой момент времени. Коммуникационный тракт = это путь, который данные, представленные в виде электрических сигналов, проходят в системе от одной точки к другой.

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

Шина данных всегда двунаправленная, так как предполагает передачу информации в обоих направлениях. Наиболее часто встречающийся тип выходного каскада для линий этой шины — выход с тремя состояниями.

Обычно шина данных имеет 8, 16, 32 или 64 разряда. Понятно, что за один цикл обмена по 64-разрядной шине может передаваться 8 байт информации, а по 8-разрядной — только один байт. Разрядность шины данных определяет и разрядность всей магистрали. Например, когда говорят о 32-разрядной системной магистрали, подразумевается, что она имеет 32-разрядную шину данных.

Шина адреса — вторая по важности шина, которая определяет максимально возможную сложность микропроцессорной системы, то есть допустимый объем памяти и, следовательно, максимально возможный размер программы и максимально возможный объем запоминаемых данных. Количество адресов, обеспечиваемых шиной адреса, определяется как 2N, где N — количество разрядов. Например, 16-разрядная шина адреса обеспечивает 65 536 адресов. Разрядность шины адреса обычно кратна 4 и может достигать 32 и даже 64. Шина адреса может быть однонаправленной (когда магистралью всегда управляет только процессор) или двунаправленной (когда процессор может временно передавать управление магистралью другому устройству, например контроллеру ПДП). Наиболее часто используются типы выходных каскадов с тремя состояниями или обычные ТТЛ (с двумя состояниями).

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

Шина управления — это вспомогательная шина, управляющие сигналы на которой определяют тип текущего цикла и фиксируют моменты времени, соответствующие разным частям или стадиям цикла. Кроме того, управляющие сигналы обеспечивают согласование работы процессора (или другого хозяина магистрали, задатчика, master) с работой памяти или устройства ввода/вывода (устройства-исполнителя, slave). Управляющие сигналы также обслуживают запрос и предоставление прерываний, запрос и предоставление прямого доступа.

Сигналы шины управления могут передаваться как в положительной логике (реже), так и в отрицательной логике (чаще). Линии шины управления могут быть как однонаправленными, так и двунаправленными. Типы выходных каскадов могут быть самыми разными: с двумя состояниями (для однонаправленных линий), с тремя состояниями (для двунаправленных линий), с открытым коллектором (для двунаправленных и мультиплексированных линий).

Самые главные управляющие сигналы — это стробы обмена, то есть сигналы, формируемые процессором и определяющие моменты времени, в которые производится пересылка данных по шине данных, обмен данными. Чаще всего в магистрали используются два различных строба обмена:

  • Строб записи (вывода), который определяет момент времени, когда устройство-исполнитель может принимать данные, выставленные процессором на шину данных;

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

  1. Ввод-вывод и режимы его обслуживания;

Вводом-выводом (ВВ) называются передачи данных между ядром ЭВМ,

включающим в себя процессор и основную память, и периферийными устройствами.

Архитектура ввода-вывода (режимы работы, форматы команд, особенности прерываний,

скорость обмена и др.) непосредственно влияет на эффективность всей микропроцессорной

системы.

За время эволюции ЭВМ подсистема ВВ претерпела наибольшие изменения

благодаря расширению сферы применения ЭВМ и появлению новых ПУ. Особенно важную

роль средства ВВ играют в управляющих ЭВМ. Разработка аппаратных и программных

средств ВВ является наиболее сложным этапом проектирования новых систем на базе

микропроцессора вследствие разнообразия подключаемых ПУ.

Несмотря на разнообразие ПУ, разработано несколько стандартных способов

подключения их к микропроцессору и программирования ввода-вывода. В

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

- программный ввод-вывод (программно-управляемый);

- ввод-вывод по прерываниям (форсированный ввод-вывод);

- прямой доступ к памяти (ПДП).

Программный ввод-вывод характеризуется тем, что инициирование и управление

вводом-выводом осуществляется процессором, а ПУ играет пассивную роль, сообщая

микропроцессору свое состояние, т.е. готовность к операциям ввода-вывода.

Ввод-вывод по прерываниям инициируется не процессором, а периферийным

устройством генерирующий специальный сигнал прерывания. Процессор реагирует на этот

сигнал готовности ПУ к передаче данных и переходит на подпрограмму обслуживания

устройства, вызвавшего это прерывание. Действия, выполняемые этой подпрограммой,

определяются пользователем, а непосредственно операциями ввода-вывода управляет

процессор.

В режиме прямого доступа к памяти (ПДП) действия микропроцессора

приостанавливаются, он отключается от системной шины и совершенно не участвует в

операциях ввода-вывода. Все операции по обмену данными производятся под управлением

ПУ.

  1. Организация программного ввода-вывода;

Данный режим характеризуется тем, что все действия по вводу-выводу реализуются

командами прикладной программы. Инициатива проведения операций ввода-вывода в этом

способе исходит от микропроцессора. Для большинства ПУ до выполнения операций ввода-

вывода необходимо убедиться в их готовности, после чего непосредственно осуществляется

обмен данными. Таким образом, ввод-вывод является асинхронным. Для определенной

категории ПУ (например, индикаторы на светодиодах) отсутствует необходимость проверки

готовности к операциям ввода-вывода, в этом случае в соответствующих местах программы

используются команды ввода IN или вывода OUT. Такая передача данных называется

синхронным или безусловным вводом –выводом.

Общее состояние ПУ в этом режиме ввода–вывода характеризуется флагом

готовности READY, называемым также флажком готовности/занятости (READY/BUSY).

Иногда состояния готовности и занятости идентифицируются отдельными флажками

READY и BUSY, входящими в слово состояния устройства.

Интерпретация флажка READY в устройствах ввода и устройствах вывода различна.

Для устройств ввода обычно принимается следующая интерпретация флажка READY и

выполняемых с ним операциям:

- состояние READY=0 означает отсутствие входных данных в регистре ввода;

- состояние READY=1 определяет наличие входных данных в регистре ввода;

- подпрограмма инициализации сбрасывает флажок READY;

- при загрузке входных данных ПУ в регистр ввода флажок READY автоматически

устанавливается;

- при вводе данных (считывании) микропроцессором флажок READY сбрасывается.

Для устройств вывода соответствующие состояния и действия имеют другой смысл:

- состояние READY=0 означает недоступность регистра вывода для приема данных

от микропроцессора;

- состояние READY=1 сигнализирует о доступности регистра вывода;

- подпрограмма инициализации устанавливает флажок READY;

- при выводе (записи) данных микропроцессором флажок READY сбрасывается;

- при восприятии выходных данных из регистра вывода непосредственно в ПУ

флажок READY автоматически устанавливается.

Микропроцессор проверяет флажок готовности с помощью одной или нескольких

команд. Если флажок установлен, инициируется собственно ввод или вывод одного или

нескольких слов данных. Когда же флажок сброшен, микропроцессор выполняет цикл из 2-3

команд с повторной проверкой флажка READY до тех пор, пока устройство не будет готово

к операциям ввода-вывода. Данный цикл называется циклом ожидания и реализуется в

различных микропроцессорах по-разному.

Основной недостаток программного ввода-вывода связан с непроизводительными

потерями времени микропроцессора в циклах ожидания. Для некоторых ПУ основное время

микропроцессора приходиться на бесполезные циклы ожидания, в которых он не выполняет

какой-либо полезной работы. К достоинству программного ВВ относят простоту его

реализации, не требующих дополнительных аппаратных средств.

  1. Ввод-вывод в режиме прерываний, последовательность событий при возникновении прерываний;

При организации режима прерывания в микропроцессорных системах

непроизводительные потери времени микропроцессора в циклах ожидания резко

сокращаются. Это позволяет строить гибкие системы прерывания с подключением большого

количества устройств, работающих с различными скоростями.

Рассмотрим принципы организации ввода-вывода в режиме прерывания. При

выполнении текущей программы могут возникать события, как внешние, так и внутренние

по отношению к микропроцессору, которые требуют немедленной реакции с его стороны.

Эта реакция состоит в том, что при возникновении подобных событий микропроцессор

должен прервать обработку текущей программы и перейти к выполнению другой программы

однозначно связанной с данным событием. По завершению этой программы микропроцессор

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

прерыванием программ.

Каждое событие, требующее прерывание, должно сопровождаться сигналом,

оповещающим микропроцессор о его возникновении. Этот сигнал называется запросом

прерывания (INT). Программы, затребованные запросами прерывания, называются

прерывающими программами, а программы, выполнявшиеся до появления запросов

прерывания, будем называть прерываемыми программами.

Запросы на прерывание могут возникать как внутри микропроцессора, так и от ПУ. К

первым относятся, например, запросы при возникновении таких событий, как переполнение

разрядной сетки, попытка деления на 0, сигнал от систем автоматического контроля и т.д.

Запросы прерывания возникают по мере необходимости в обмене информации.

Каждое ПУ может посылать в микропроцессор сигнал запроса прерывания INT, когда

оно готово к операциям ввода-вывода, который требует немедленной реакции

микропроцессора. Сигнал INT появляется в произвольные моменты времени, асинхронно по

отношению к действиям микропроцессора, и управлять его появлением программа не может.

Поэтому, заранее неизвестно, в какой точке программы, и какие ПУ инициируют

прерывания.

Следовательно, непосредственное использование команд ввода-вывода

представляется невозможным, а для этого необходимо микропроцессору придать

дополнительные аппаратные и программные средства, совокупность которых получила

название системы прерывания.

Основное назначение системы прерывания - это автоматическое прерывание

программ с целью увеличения его скоростью переключения.

Основные функции системы прерывания:

1) приостановка и сохранение состояния прерываемой программы;

2) идентификация прерывающего устройства и организация перехода к

прерывающей программе.

3) восстановление состояния прерванной программы и возврат к ней;

4) программное изменение приоритетов запросов.

Программа обслуживания прерывания (прерывающая программа) непосредственно

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

конкретного ПУ.

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

аккумулятор, программный счетчик, некоторые РОН, содержимое которых могут быть

модифицированы. С другой стороны прерываемая программа должна быть возобновлена с

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

регистры микропроцессора. Кроме как увеличения времени выполнения, факт обслуживания

прерывания не должен влиять на прерываемую программу.

Для сохранения содержимого внутренних регистров микропроцессора удобно

использовать в качестве такого временного хранилища стек.

Практически в каждом микропроцессоре реализована особая структура системы

прерываний, а программируемые БИС управления прерываниями еще более увеличивают

число разновидностей этой структуры.

Однако общая последовательность реакции различных микропроцессоров на сигнал

прерывания примерно одинакова и содержит следующие действия:

- ПУ генерирует сигнал прерывания, который подается на вход прерывания

микропроцессора (INT); на этой линии по схеме ИЛИ объединяются запросы всех ПУ,

работающих в режиме прерывания;

- микропроцессор завершает текущую команду и, если прерывания разрешены (не

замаскированы), формируют сигнал INTA (INT ACK) подтверждения прерывания; до

получения этого сигнала ПУ сохраняет активный уровень сигнала INT;

- осуществляется запоминание содержимого программного счетчика и некоторых

РОН в стеке;

- микропроцессор идентифицирует прерывающее ПУ для перехода к

соответствующей подпрограмме обслуживания;

- выполняется короткая (30-50 байт) подпрограмма обслуживания прерывания, в

которой запрограммированы действия по передаче данных, модификации указателей,

проверке окончания операций ВВ и др.;

- восстанавливается состояние прерванной программы, для чего запомненное

содержимое регистров извлекаются из стека;

- возобновляется выполнение прерываемой программы; это действие инициируется

командой возврата из прерывания RTI, являющейся последней командой подпрограммы

обслуживания прерывания.

Процессы запоминания содержимого внутренних регистров после восприятия сигнала

прерывания называются контекстным переключением микропроцессора.

Скорость контекстного переключения оказывает заметное влияние на

производительность ЭВМ, особенно в условиях интенсивных прерываний. Поэтому во

многих микропроцессорах предусматриваются средства ускорения контекстного

переключения. Например, команды, которые загружают в стек и извлекают из стека

содержимое группы регистров. Из общей последовательности событий при прерываниях

видно, что они похожи на действия при вызове подпрограммы. Однако вызов подпрограммы

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

инициируется внешним сигналом, момент появления которого предсказать невозможно. Тем

не менее, реакцию микропроцессора на сигнал прерывания, позволяет считать прерывание

аппаратным вызовом подпрограммы.

  1. Виды прерываний и особенности их реализации;

Существуют два основных вида прерывания: программное прерывание и аппаратное

прерывание.

Программное прерывание реализуется введением специальных команд прерывания в

систему команд процессора. Введение таких специальных команд позволяет создавать

гибкие и мощные программные средства (например, операционные системы).

Аппаратные прерывания могут инициироваться как операционными блоками

микропроцессора, так и устройствами внешними по отношению к нему. Аппаратные

прерывания подразделяются на маскируемые прерывания и немаскируемые прерывания.

Маскируемые прерывания реализуется только при условии разрешения прерывания.

Процессор реагирует на запросы маскируемых прерываний по линии INT, если установлен

внутренний триггер разрешения прерываний INTE, называемой также маской. На рис.3.3

приведена функциональная внутренняя схема прерываний.

Состояние триггера разрешения прерывания INTE идентифицируется выходным

сигналом разрешения прерывания с такой же мнемоникой INTE. Если INTE=0, прерывания

запрещены (замаскированы) и процессор не реагирует на сигнал INT=1. С помощью команд

разрешения EI и запрещения DI прерываний можно программно управлять состоянием

триггера INTE, и пользователь может защитить от прерываний критические сегменты

прикладной программы.

При восприятии прерывания триггер прерывания IFF переводиться в нулевое

состояние, что приводит к запрещению инкремента программного счетчика и генерированию

сигнала подтверждения прерывания INTA.

При этом сбрасывается триггер INTE и в дальнейшем разрешить прерывание можно

только командой EI. Для программного управления ПУ в их регистрах управления и

состояния предусмотрен специальный бит INTEN разрешения прерывания (маска). Иногда

биты масок всех устройств объединяются в специальный регистр. Наконец, в некоторых

микропроцессорах бит маскирования прерывания входит в слово состояния процессора PSW.

Немаскируемые прерывания реализуют режим безусловного прерывания.

Микропроцессор воспринимает запросы прерывания независимо от того, в каком состоянии

находится триггер разрешения прерывания. Эти прерывания должны отражать ситуации, в

которых желательно немедленное прерывание (например, ошибка аппаратуры контроля,

уменьшение напряжения сети до критического уровня и т.д.).

3.3.3. Идентификация прерывающего устройства системы прерывания

Когда в микропроцессорных системах имеется несколько ПУ, работающих в режиме

прерываний, сигналы их запросов на обслуживание прерываний объединяются по схеме

ИЛИ и подаются на вход INT микропроцессора. В этом случае возникает задача

идентификации ПУ, т.е. однозначного перехода к определенной подпрограмме

обслуживания. Решение этой задачи возлагается на систему прерывания. Разработано

несколько способов решения этой проблемы, различающихся скоростью реакции

микропроцессора и объемом дополнительных аппаратных средств. При реализации любого

способа необходимо назначить устройствам определенные приоритеты.

  1. Подпрограммы обслуживания прерываний и требования к ним;

Все подпрограммы обслуживания прерываний 8XC196KC/KD обрабатываются следующим образом.

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

2. Команда PUSHA сохраняет содержимое PSW, INT_MASK, INT_MASK1 и регистра выбора окна (WSR) в стеке и затем очищает PSW, INT_MASK и INT_MASK1.

Кроме арифметических флагов PSW содержит бит глобального разрешения прерываний (I) и бит разрешения PTS (PSE). Очищая PSW, INT_MASK и INT_MASK1 регистр, команда PUSHA маскирует все маскируемые прерывания, отключает стандартное обслуживание прерываний и PTS.

Команда PUSHA также запрещает вызовы по прерыванию, пока не выполнится следующая команда .

3. Команда LDB INT_MASK1, #xxxxxxxxB допускает те прерывания, которые могут прервать текущую подпрограмму обработки прерываний. В примере, приведенном выше, только EXTINT может прервать подпрограмму обработки прерывания по приему.

Разрешая или запрещая обслуживание прерываний, программное обеспечение устанавливает собственное обслуживание приоритетов прерываний.

4. Команда EI повторно разрешает обработку прерывания и запрещает вызовы по прерыванию, пока не выполнится следующая команда.

5. Фактически подпрограмма обработки прерывания выполняется внутри приоритетной структуры, установленной программным обеспечением.

6. В конце обслуживающей подпрограммы команда POPA восстанавливает первоначальное содержание PSW, INT_MASK, INT_MASK1 и WSR регистров. Любые изменения, сделанные в этих регистрах в течение подпрограммы обработки прерывания, не сохраняются. Так как вызовы по прерыванию не могут происходить сразу после команды POPA, последняя команда (RET) будет выполнена раньше, чем придет другой вызов по прерыванию. После своего выполнения команда POPA будет повторно допускать отложенное прерывание. Если контроллер прерывания обслуживал отложенное прерывание перед выполнением команды RET, то адрес возврата к коду, который выполнялся, когда произошло первоначальное прерывание, будет сохранен в стеке. Это не представляет проблему для потока программы, зато может приводить к переполнению стека, если прерывания происходят с высокой частотой.

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

  1. Программный полинг при идентификации устройства вызвавшего прерывание;

Простейшее решение проблемы идентификации, почти не требующих

дополнительных аппаратных средств, заключается в программном опросе (полинге) флажков

готовности (сигналов прерывания) ПУ.

На рис.3.4 приведен типичный вариант программного полинга. Первым проверяется

флажок готовности ПУ1 с наибольшим приоритетом. Если оно не запрашивало

обслуживание, опрашивается следующее ПУ и т.д.

Когда встречается первое устройство готовое к операциям ВВ, управление передается

подпрограмме обслуживания этого устройства. При завершении обслуживания в полинге

может быть запрограммировано одно из следующих действий:

1. Управление возвращается в основную программу без проверки готовности

остальных ПУ. Здесь гарантируется обязательная проверка в каждом цикле полинга ПУ с

высоким приоритетом, так как обслуживание их блокирует обслуживание устройств с

меньшим приоритетом.

2. Управление возвращается к программе полинга, т.е. в точку проверки прерывания

следующего ПУ (на рис.3.4 это показано цифрой). Этот способ гарантирует проверку в

каждом цикле полинга всех устройств.

Для ускорения полинга сигналы прерываний всех устройств подключаются к

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

соответствующей подпрограмме обслуживания.

Недостаток программного полинга заключается в увеличении времени реакции на

запросы устройств, так как в этом случае необходима проверка всех устройств, даже тех

которые не требуют обслуживания. При увеличении числа ПУ быстро увеличивается время

реакции на запрос. Основное достоинство программного полинга заключается в простоте его

реализации, почти не требующей дополнительных аппаратных средств.

  1. Аппаратный полинг при идентификации устройства вызвавшего прерывание;

В случае аппаратного полинга (дейзи - цепочка, приоритетная цепочка, гирляндное

или каскадное включение устройств) микропроцессор и все ПУ соединяются таким образом,

что микропроцессор может осуществить автоматический запрос с целью идентификации

прерывающего устройства, как показано на рис.3.5.

Когда микропроцессор реагирует на запрос прерывания, он формирует сигнал

подтверждения прерывания INTA, на линии, которая последовательно проходит через все

устройства. При прохождении сигнала по цепочке проверяется состояние флажков

готовности ПУ. Если ПУ не формирует сигнал прерывания, сигнал INTA проходит в

следующее ПУ, пока не встретит активное ПУ. Это ПУ блокирует дальнейшее

распространение сигнала INTA по цепочке.

Приоритет ПУ задается их физической близостью к микропроцессору по линии INTA.

Затем активное ПУ передает по шине данных свой адрес (вектор прерывания), сопровождая

его импульсом STROBE. Этот адрес имеет однозначное соответствие с начальным адресом

подпрограммы обслуживания прерывания данного устройства.

Время реакции микропроцессора на запрос прерывания определяется временем

распространения сигнала INTA в цепочке и намного превышает времени реакции

относительно программного полинга, но он требует дополнительные аппаратные средства

для определения приоритета, а также для формирования адреса подпрограммы

обслуживания.

Адрес (вектор прерывания), возвращаемый прерывающим устройством, обычно

встраивается в интерфейсную плату, и его с помощью перемычек и переключателей может

изменять пользователь. Приоритет ПУ определяется размещением его интерфейсной платы в

разъеме, занимающее фиксированное положение в схеме.

  1. Векторные и вложенные прерывания;

Одним из распространенных способов организации системы прерывания является

векторное приоритетное прерывание. Этот способ реализуется с помощью дополнительных

аппаратных средств в виде интерфейсных БИС и называются контроллерами прерываний.

Система прерывания при такой организации имеет несколько уровней прерываний (линий

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

каждый уровень имеет свой вектор прерывания.

Для реализации векторного приоритетного прерывания необходимо распределить

приоритеты между уровнями и обеспечить механизм взаимодействия подпрограмм

обслуживания прерывания соответствующих уровней.

Распределение приоритетов между уровнями могут реализовываться различными

способами.

Одним из этих способов является векторное прерывание с фиксированным

приоритетом. Каждому уровню (входу) запросов прерывания присваивается фиксированный

приоритет в порядке возрастания. Запрос с более высоким приоритетом прерывает

обслуживание прерывания с меньшим приоритетом.

Вторым способом является векторное прерывание с циклическим приоритетом.

Каждому входу, как и в предыдущем случае, присваивается фиксированный приоритет.

После запроса прерывания и выполнения соответствующей подпрограммы обслуживания

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

вход будет иметь низший приоритет.

Этот способ характерен для таких применений, в которых ПУ имеют одинаковый

приоритет и ни одному из них нельзя отдать предпочтения.

Реализация векторного прерывания с адресуемым приоритетом аналогична второму

способу, но допускает программное определение уровня запросов прерывания, которому

назначается низший приоритет.

Запрещение прерывания на время обслуживания любого ПУ может привести к потере

запросов прерываний высокоприоритетных устройств, появляющихся при обслуживании

устройств с меньшими приоритетами. Для исключения такой ситуации возникает

необходимость использования механизма вложения прерываний, который позволит

обеспечить взаимодействие подпрограмм обслуживания соответствующих уровней между

собой.

Прерывание подпрограмм обслуживания прерываний называется вложенным

прерыванием. На рис.3.6. показан процесс вложения прерываний.

В момент t1 запрашивает обслуживание устройство ПУ4 и микропроцессор переходит

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

момент времени t2 запросом ПУ3 с более высоким приоритетом. Подпрограмма

обслуживания ПУ3 в момент времени t3 прерывается запросом ПУ2 с еще более высоким

приоритетом, и по завершении обслуживания ПУ2 в момент времени t4 управление

возвращается к продолжению обслуживания ПУ3. В интервале t5-t6 аналогичным образом

обслуживается запрос ПУ1 с максимальным приоритетом, после чего управление

последовательно возвращается к прерванным подпрограммам обслуживания ПУ3 и ПУ4.

Наконец, в момент t8 возобновляется выполнение основной программы. Для того, чтобы

процессор реагировал на запросы прерываний в начале каждой подпрограммы обслуживания

их необходимо разрешать командой EI.

Для организации вложенных прерываний в каждой подпрограмме обслуживания

прерываний необходимо выполнить следующие действия:

- разрешить прерывание;

- временно запомнить приоритет прерванной программы;

- загрузить в схему приоритетных прерываний новый текущий приоритет;

- собственно обслужить прерывание;

- восстановить прежний приоритет;

- возобновить прерванную программу с помощью команды RTI.

  1. Ввод-вывод с прямым доступом к памяти;

Передачу данных между микро-ЭВМ и периферийными устройствами обычно называют вводом-выводом информации. Желательно, чтобы такая передача происходила с большой скоростью. В общем случае различают по крайней мере три способа ввода-вывода: программно-управляемый, с отображением в памяти и с прямым доступом к памяти. Все эти способы сейчас широко используются. Чтобы получить полное представление о том, что такое ввод-вывод с прямым доступом к памяти (ПДП), следует ознакомиться со всеми названными способами. Программно-управляемый ввод-вывод и ввод-вывод с отображением в памяти могут быть реализованы с использованием прерываний; при этом выполнение ввода-вывода может инициироваться периферийными устройствами. ПРОГРАММНО-УПРАВЛЯЕМЫЙ ВВОД-ВЫВОД При использовании данного способа ввода-вывода всеми операциями управляет программа центрального процессора. Другими словами, периферийное устройство выполняет действия по вводу или выводу данных под управлением ЦП. Обычно в набор команд машины включены команды ввода-вывода, которые служат для передачи данных к периферийным устройствам и из этих устройств через порты ввода-вывода. Все данные, которыми ЦП обменивается с периферийными устройствами, проходят через эти порты, и для осуществления ввода-вывода требуется использование ресурсов ЦП. Блок-схема системы программно-управляемого ввода-вывода типичной микро-ЭВМ показана на рис. 7.1. В табл. 7.1 приведен пример фрагмента программы, служащего для вывода данных в периферийное устройство. Программно-управляемый ввод-вывод прост в реализации и не требует никаких затрат адресов памяти. Кроме того, в распоряжении программиста имеются специальные команды для пересылки данных в процессе обмена информацией с периферийными устройствами. По сравнению с другими способами программно-управляемый ввод-вывод относительно дешев. Однако ему присущи следующие недостатки. Так как устройства ввода-вывода работают асинхронно по отношению к ЦП, последний не может узнать, в какой момент периферийное устройство готово к пересылке данных, и должен периодически опрашивать устройство для выяснения его готовности. Это приводит к снижению эффективности операции ввода-вывода. Кроме того, в связи с тем что ЦП участвует в действиях по вводу-выводу, его ресурсы оказываются занятыми в течение пересылки и опроса и не могут быть использованы для выполнения других задач. По этим причинам применение программно-управляемого ввода-вывода ограничивается работой с низкоскоростными устройствами.

  1. Порты ввода-вывода;

Для подключения к компьютеру внешних устройств служат адаптеры ввода- вывода, называемые также портами ввода- вывода. Как правило, на IBM компьютерах установлен параллельный синхронный порт со стандартным интерфейсом Centronics, два последовательных асинхронных порта с интерфейсом RS-232 и порт игрового адаптера. Такой набор портов имеется на многофункциональной плате ввода- вывода, вставляемой в один из слотов материнской платы. MS DOS может работать одновременно с тремя портами Centronics, которые имеют логические имена LPT1, LPT2 и LPT3. Обычно одному из них (чаще всего LPT1) присваивается имя PRN. Параллельный порт позволяет пересылать одновременно 8 бит (1 байт) по 8 параллельным проводникам и несколько управляющих сигналов. Длина кабеля, соединяющего компьютер и внешнее устройство (обычно принтер) через такой порт не может превышать 3 метра, из-за малой помехозащищенности кабеля. Кабель со стороны, подключаемой к компьютеру, имеет 25- контактный разъем D-shell, а со стороны внешнего устройства (принтера) 36- контактный разъем Centronics. Четыре порта RS-232 обеспечивают последовательную передачу данных по 1 биту, на расстояния более 30 метров. Последовательные порты имеют логические имена COM1, COM2, COM3 и COM4, обычно первому из них присваивается имя AUX. К такому порту подключается мышь, трекбол, световое перо, последовательный принтер, внешний модем и другие устройства. Интерфейс RS-232 предусматривает 25 сигналов, из них могут использоваться только девять. Соединительный кабель RS-232 имеет 9- или 25-контактные разъем. Игровой адаптер - устройство изначально предназначенное для подключения двух джойстиков через Y - кабель. Игровой адаптер имеет в своем составе аналого - цифровой преобразователь и четыре аналоговых входа, что позволяет подключать к компьютеру аналоговые устройства (аналоговый термо - датчик), а также четыре дискретных (цифровых) входа.

  1. Программно-аппаратное обеспечение ввода дискретных сигналов;

Характеристики аппаратного обеспечения определяют:

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

• количество входных и выходных каналов;

• тип аналоговых входов (дифференциальный или с общим проводом);

• точность АЦП и ЦАП, определяемая числом разрядов преобразователей и их

нелинейностью;

• время АЦ и ЦА преобразования, апертурное время и максимальная частота

выборки АЦП;

• схема запуска АЦП (внешним сигналом, внутренним программно управляемым

таймером и др.);

• максимальные скорости ввод–вывода сигналов;

• наличие и емкость внутреннего буфера памяти.

Характеристики программного обеспечения определяют:

• тип операционной системы;

• наличие готовых драйверов для УВВС;

• наличие библиотеки готовых функций в поставляемом ПО для проектирования

собственных драйверов;

• наличие специальной графической среды для разработки ПО для УВВС.

  1. Организация ввода «коротких» логических сигналов;

  1. Организация подсистем ввода аналоговых сигналов;

  1. Аналого-цифровые преобразователи их характеристики;

Аналого-цифровой преобразователь(АЦП,англ.Analog-to-digital converter, ADC) — устройство, преобразующее входной аналоговый сигнал в дискретный код (цифровой сигнал). Обратное преобразование осуществляется при помощиЦАП(цифро-аналогового преобразователя, DAC).

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

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

Термин линейныйприменительно к АЦП означает, что диапазон входных значений, отображаемый на выходное цифровое значение

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

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

Например, голосовой сигнал имеет лапласово распределениеамплитуды. Это означает, что окрестность нуля по амплитуде несёт больше информации, чем области с большей амплитудой. По этой причине логарифмические АЦП часто применяются всистемах передачи голосадля увеличения динамического диапазона передаваемых значений без изменения качества передачи сигнала в области малых амплитуд.

8-битные логарифмические АЦП с a-закономилиμ-закономобеспечивают широкий динамический диапазон и имеют высокое разрешение в наиболее критичном диапазоне малых амплитуд; линейный АЦП с подобным качеством передачи должен был бы иметь разрядность около 12 бит.

Ошибки квантованияявляются следствием ограниченного разрешения АЦП. Этот недостаток не может быть устранён ни при каком типе аналого-цифрового преобразования. Абсолютная величина ошибки квантования при каждом отсчёте находится в пределах от нуля до половины МЗР.

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

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

  1. Цифро-аналоговые преобразователи их характеристики;

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

Аналого-цифровой преобразователь (АЦП) производит обратную операцию.

Звуковой ЦАП обычно получает на вход цифровой сигнал в импульсно-кодовой модуляции(англ.PCM, pulse-code modulation). Задача преобразования различных сжатых форматов в PCM выполняется соответствующимикодеками.

ЦАП находятся в начале аналогового тракта любой системы, поэтому параметры ЦАП во многом определяют параметры всей системы в целом. Далее перечислены наиболее важные характеристики ЦАП.

  • Разрядность— количество различных уровней выходного сигнала, которые ЦАП может воспроизвести. Обычно задается вбитах; количество бит естьлогарифмпо основанию 2 от количества уровней. Например, однобитный ЦАП способен воспроизвести два (21) уровня, а восьмибитный — 256 (28) уровней. Разрядность тесно связана сэффективной разрядностью(англ.ENOB, Effective Number of Bits), которая показывает реальное разрешение, достижимое на данном ЦАП.

  • Максимальная частота дискретизации— максимальная частота, на которой ЦАП может работать, выдавая на выходе корректный результат. В соответствии стеоремой Шенона-Найквиста(известной также кактеорема Котельникова), для корректного воспроизведения аналогового сигнала из цифровой формы необходимо, чтобы частота дискретизации была не менее, чем удвоенная максимальная частота в спектре сигнала. Например, для воспроизведения всего слышимого человеком звукового диапазона частот, спектр которого простирается до 20 кГц, необходимо, чтобы звуковой сигнал был дискретизован с частотой не менее 40 кГц. Стандарт Audio CD устанавливает частоту дискретизации звукового сигнала 44,1 кГц; для воспроизведения данного сигнала понадобится ЦАП, способный работать на этой частоте. В дешевых компьютерныхзвуковых картахчастота дискретизации составляет 48 кГц. Сигналы, дискретизованные на других частотах, подвергаются передискретизации до 48 кГц, что частично ухудшает качество сигнала.

  • Монотонность— свойство ЦАП увеличивать аналоговый выходной сигнал при увеличении входного кода.

  • THD+N (суммарные гармонические искажения + шум)— мера искажений и шума вносимых в сигнал ЦАПом. Выражается в процентах мощности гармоник и шума в выходном сигнале. Важный параметр при малосигнальных применениях ЦАП.

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

  • Статические характеристики:

    • DNL (дифференциальная нелинейность) характеризует, насколько приращение аналогового сигнала, полученное при увеличении кода на 1 младший значащий разряд(МЗР), отличается от правильного значения;

    • INL (интегральная нелинейность) характеризует, насколько передаточная характеристикаЦАП отличается от идеальной. Идеальная характеристика строго линейна; INL показывает, насколько напряжение на выходе ЦАП при заданном коде отстоит от линейной характеристики; выражается в МЗР;

    • усиление;

    • смещение.

  • Частотные характеристики:

    • SNDR (отношение сигнал/шум+искажения) характеризует в децибелах отношение мощности выходного сигнала к суммарной мощности шума и гармонических искажений;

    • HDi (коэффициент i-й гармоники) характеризует отношениеi-й гармоники к основной гармонике;

    • THD (коэффициент гармонических искажений) — отношение суммарной мощности всех гармоник (кроме первой) к мощности первой гармоники.

  1. Назначение мультимикропроцессорных систем;

Значительные успехи в микропроцессорной технике привели к появлению и развитию на рубеже 70-80-х годов ХХ столетия весьма перспективных и обладающих большим быстродействием по сравнению с традиционными ЭВМ мультимикропроцессорных систем (ММПС), которые весьма значительно повлияли на развитие современной науки и техники.

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

С другой стороны, развитие микропроцессорных средств влияет на достижения в области теории проектирования вычислительной техники: появляются все более перспективные архитектуры ММПС и их компонентов (RISK – процессоры, транспьютеры, сигнальные процессоры и т.п.).

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

Мультимикропроцессорные системы (ММПС) делятся на распределенные и сосредоточенные (централизованные).

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

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

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

Функциональные расширители делятся на две группы: ведомые (подчиненные) и сопроцессоры.

  1. Классификация архитектур микропроцессорных систем по М. Флину;

По-видимому, самой ранней и наиболее известной является классификация архитектур вычислительных систем, предложенная в 1966 году М.Флинном. Классификация базируется на понятии потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором. На основе числа потоков команд и потоков данных Флинн выделяет четыре класса архитектур: ОКОД(SISD),МКОД(MISD),ОКМД(SIMD),МКМД(MIMD).

ОКОД(SISD) (single instruction stream / single data stream) - одиночный поток команд и одиночный поток данных. К этому классу относятся, прежде всего, классические последовательные машины, или иначе, машины фон-неймановского типа, например, PDP-11 или VAX 11/780. В таких машинах есть только один поток команд, все команды обрабатываются последовательно друг за другом и каждая команда инициирует одну операцию с одним потоком данных. Не имеет значения тот факт, что для увеличения скорости обработки команд и скорости выполнения арифметических операций может применяться конвейерная обработка

ОКМД(SIMD) (single instruction stream / multiple data stream) - одиночный поток команд и множественный поток данных. В архитектурах подобного рода сохраняется один поток команд, включающий, в отличие от предыдущего класса, векторные команды. Это позволяет выполнять одну арифметическую операцию сразу над многими данными - элементами вектора. Способ выполнения векторных операций не оговаривается, поэтому обработка элементов вектора может производится либо процессорной матрицей, как в ILLIAC IV, либо с помощью конвейера, как, например, в машине CRAY-1.

МКОД(MISD) (multiple instruction stream / single data stream) - множественный поток команд и одиночный поток данных. Определение подразумевает наличие в архитектуре многих процессоров, обрабатывающих один и тот же поток данных. Однако ни Флинн, ни другие специалисты в области архитектуры компьютеров до сих пор не смогли представить убедительный пример реально существующей вычислительной системы, построенной на данном принципе. Ряд исследователей относят конвейерные машины к данному классу, однако это не нашло окончательного признания в научном сообществе. Будем считать, что пока данный класс пуст.

МКМД(MIMD) (multiple instruction stream / multiple data stream) - множественный поток команд и множественный поток данных. Этот класс предполагает, что в вычислительной системе есть несколько устройств обработки команд, объединенных в единый комплекс и работающих каждое со своим потоком команд и данных.

  1. SMP архитектура мультимикропроцессорных систем;

Симметричное мультипроцессирование (англ. Symmetric Multiprocessing, сокращённо SMP) — архитектура многопроцессорных компьютеров, в которой два или более одинаковых процессоров подключаются к общей памяти. Большинство многопроцессорных систем сегодня используют архитектуру SMP.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]