Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / doc92 / Кузовлев.doc
Скачиваний:
24
Добавлен:
03.08.2013
Размер:
278.53 Кб
Скачать
  1. Система прерываний

Прерывания представляют собой средство изменения последовательности выполнения команд и операций в ответ на внешние асинхронно происходящие события (запросы на прерывание).

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

• организация вхождения в прерывающую программу;

• организация приоритетного выбора между запросами,

поступающими одновременно;

• организация возврата в прерванную программу.

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

Использование микросхемы КМ1804ВН1 позволяет реализовать схему векторного приоритетного прерывания с возможностью наращивания до 16 аппаратных прерываний. По другому такая схема носит название структуры системы прерываний с несколькими линиями запроса или радиальной структуры. В этой структуре предусмотрена своя линия запроса для каждого устройства. Структура с несколькими линиями запроса позволяет уменьшить время ответа, так как в ней устройство, пославшее запрос на прерывание, может быть сразу же идентифицировано. Но т.к. в данной работе прерывания обрабатываются на макро уровне (по заданию) данная система не обладает минимальным временем ответа. Это объясняется тем, что прерывания обрабатываются только после завершения текущей команды.

Рис.5. Система прерываний

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

Сигналы прерываний поступающие на входы INR7-INRO устройства управления прерываниями, преобразуются в вектор (в простейшем случае это простая шифрация). Полученный вектор поступает в ЦП.

Принцип работы системы прерываний:

При поступлении запроса на прерывание от периферийного устройства контроллер формирует вектор прерывания и посылает запрос на прерывание в ЦП.

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

Если же выясняется, что прерывание должно обрабатываться на макро уровне – в секвенсор запрос на прерывание не подается. Обработка прерывания произойдет после завершения выполнения текущей команды процессором.

  1. Разработка основной памяти

Т.к по заданию используется многопортовая память, то необходимо пояснить принцип её действия. Так же надо уточнить, что в данном случае используется 2х портовое запоминающее устройство. Т.к доступ к памяти будут иметь процессор, и сопроцессор ввода-вывода. Прототипом памяти выбрана существующая схема IDT7133(M).

Многопортовая память – это статическое ОЗУ с двумя или более независимыми интерфейсами, обеспечивающими доступ к пространству памяти через разделенные шины адреса, данных и управления.

Рис. 5.Упрощённая схема ОЗУ

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

 запись через порт L — запись через порт R;

 запись через порт L — чтение через порт R.

    При выполнении операции «запись через порт L — запись через порт R» состояние ячейки памяти будет оставаться неопределенным до тех пор, пока одно из активных устройств не завершит обращение к ней и не закончатся переходные процессы. В этом случае триггер примет устойчивое состояние, определенное «опоздавшим» устройством. При строго одновременном обращении триггер может принять любое состояние. При выполнении операции «запись через порт L — чтение через порт R» неопределенность существует только в отношении считываемых данных. С одинаковой вероятностью может быть считано как предыдущее значение ячейки памяти, так и вновь записанное в процессе текущего цикла обращения к памяти. Архитектура двухпортовой памяти предусматривает несколько способов разрешения таких конфликтных ситуаций: с помощью арбитражной логики

    Арбитражная логика. Арбитр двухпортового ОЗУ устраняет конфликты следующим образом. Сигналы адресных линий портов ADDRESS_L и ADDRESS_R поступают с двух направлений, и если их значения совпадают, то арбитр посылает одному из активных устройств сигнал BUSY' («запрет доступа»). Этот сигнал поступает в опоздавшее к моменту арбитража активное устройство, а при строго одновременных обращениях — в устройство, выбранное случайным образом. Сигнал BUSY' удерживается все время, пока не закончится операция обращения к памяти. Дополнительно с сигналом BUSY' внутри кристалла памяти формируется сигнал INTERNAL WRITE INHIBIT («блокировка записи»). При выполнении операции типа «чтение через порт R — чтение через порт L» арбитр также формирует сигналы занятости, но блокирование сигналов чтения не производится, и информация считывается одновременно через оба порта. Если адреса запрашиваемых ячеек разные, то доступ к содержимому ячейки памяти также производится одновременно через оба порта, так как в этом случае конфликты не возникают. Арбитр содержит элементы задержки DELAY, схему сравнения адресных линий ADD_COMP, логические элементы три И-НЕ, соединенные по схеме триггера, логические элементы для формирования сигналов занятости (рис. 3). Сигналы CE_L = 0 и CE_R = 0 вызывают формирование сигналов BUSY_L' = 1 и BUSY_R' = 1, что соответствует отсутствию запрета доступа к ОЗУ со стороны обоих активных устройств.

Рис. 6. Схема арбитражной логики

Наращивание информационной емкости двухпортовых ОЗУ достигается путем соединения всех одноименных выводов микросхем, кроме CE' («выбор кристалла»). Сигнал CE' обеспечивает обращение только к одному устройству в модуле памяти в каждый момент времени. Выводы сигналов занятости в этом случае соединяются по схеме «монтажное ИЛИ».

Наращивание разрядности шин данных (рис. 6) осуществляется путем соединения всех одноименных входов микросхем, кроме информационных, и характеризуется одной особенностью: c целью предотвращения тупиковых ситуаций (одновременная выдача сигналов занятости для обоих портов) используется система «ведущий/ведомый», предусматривающая применение микросхем двухпортовых статических ОЗУ с различной реализацией арбитражной логики. Первый тип арбитражной логики носит название «MASTER» и обеспечивает возможность работы микросхем памяти в режимах «обычный» или «ведущий» (формирует сигналы BUSY'_L, BUSY'_R). Второй тип носит название «SLAVE» и обеспечивает возможность работы только в режиме «ведомый» (принимает сигналы занятости, сформированные ведущим устройством).

Большинство микросхем двухпортовой памяти поддерживает организацию обмена данными между шинами с разным форматом слова. Для этого в составе памяти предусмотрена возможность независимого обращения к байтам в слове данных. Требуемая разрядность шины данных каждого порта задается аппаратно с помощью специальных управляющих выводов. В качестве примера рассмотрим, как реализована эта функция в микросхеме. Под управлением сигналов BE#3, BE#2, BE#1 и BE#0 задается следующий порядок доступа к данным в памяти:

BE#3 = 1, BE#2 = 1, BE#1 = 1 и BE#0 = 0 — разрешение доступа к байту 0;

BE#3 = 1, BE#2 = 1, BE#1 = 0 и BE#0 = 1 — разрешение доступа к байту 1;

BE#3 = 1, BE#2 = 0, BE#1 = 1 и BE#0 = 1 — разрешение доступа к байту 2;

BE#3 = 1, BE#2 = 1, BE#1 = 0 и BE#0 = 1 — разрешение доступа к байту 3;

BE#3 = 1, BE#2 = 1, BE#1 = 0 и BE#0 = 0 — разрешение доступа к двум младшим байтам;

BE#3 = 0, BE#2 = 0, BE#1 = 1 и BE#0 = 1 — разрешение доступа к двум старшим байтам;

BE#3 = 0, BE#2 = 0, BE#1 = 0 и BE#0 = 0 — разрешение доступа ко всему слову.

Соседние файлы в папке doc92