Циклы обращения к магистрали

При обмене данными между центральным процессором (ЦП) и памятью или подсистемой ввода-вывода (ВВ) за один цикл обращения к магистрали передается одно слово или байт. Существуют несколько типовых циклов обмена:

  • • циклы чтения памяти и записи в память;
  • • циклы чтения и записи в устройства (порты) ВВ (при изолированном пространстве ВВ 10SEG);
  • • цикл чтения памяти программ (для архитектуры гарвардского типа);
  • • цикл чтения/записи в память (для двухшинной магистрали). Этот цикл, требующий однократной передачи адреса, используется для увеличения пропускной способности магистрали.

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

1-й набор

ЧтП – чтение памяти (Memory Read Command – MRDC);

ЗпП – запись в память (Memory Write Command – MWTC);

ЧтУВВ – чтение из устройства ВВ (Input/Output Read Command – IORC); ЗпУВВ – запись в устройство ВВ (Input/Output Write Command – IOWC); ЧтПП – чтение программной памяти (Program Segment Enable – PSEN).

2-й набор

Чт – чтение RD (Read);

Зп – запись WR (Write);

П/УВВ – выбор пространства памяти или ВВ (Memory or Input/Output – M/IO); ВПП – выбор памяти программ (Code – COD).

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

Временные диаграммы циклов обращения трехшинной и двухшинной магистрали изображены на рис. 6.5,а,б. Для разделения функций совмещенной ША/Д 2-шинной магистрали используется строб чтения адреса (ЧтА). Фиксация адреса осуществляется по срезу (переходу ЧтА из 1 в 0) в специальном адресном регистре (рис. 6.3,а).

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

• в цикле чтения:

■ адрес выставляется раньше, а снимается позже строба чтения Чт;

Циклы чтения и записи трехшинной (а) и двухшинной (б) магистрали

Рис. 6.5. Циклы чтения и записи трехшинной (а) и двухшинной (б) магистрали

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

Стробулучшает скоростные характеристики магистрали.

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

При классической организации обмена (рис. 6.6) внешнее устройство, находящееся в состоянии обмена, выдает сигнал ПОб= 1, в противном случае ПОб = 0. В каждом цикле обращения до окончания строба чтения/записи (или) ЦП проверяет (по срезу тактовых импульсов – ТИ) состояние сигнала ПОб. Если проверка показывает ПОб= 0, ЦП переходит в состояние ожидания подтверждения, генерируя сигнал ОжП= 1. После того, как установится сигнал подтверждения обмена и очередная проверка покажет ПОб = 1, ЦП снимает сигналы ожидания подтверждения (ОжП = 0) и чтения/записи (). Данные фиксируются по срезу (из 0 в 1) сигналов чтения/записи.

Завершение обмена внешнее устройство осуществляет сбросом сигнала подтверждения обмена (ПОб).

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

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

Рис. 6.6. Циклы чтения и записи с подтверждением обмена

возвратом к основной программе. Моменты возникновения таких событий не известны, поэтому не могут быть учтены при составлении основной программы. Процесс их обслуживания должен выполняться параллельно и скрытно от основной программы. Каждому прерыванию (исключению) программы предшествует радиальный сигнал запроса прерывания (ЗПрk), который генерируется внешним устройством (или ЦП) и вызывает подпрограмму обслуживания прерывания. Аппаратные и программные средства, обеспечивающие организацию и обслуживание прерываний, образуют систему прерывании. В том случае, когда событие вызывается внешним устройством, ЦП получает сигнал векторного запроса, свидетельствующий о появлении одного или нескольких радиальных запросов ЗПрk, и переходит к выполнению специального машинного цикла – цикла ввода вектора прерывания. В этом цикле вводится информация, связанная с номером к радиального запроса, и осуществляется переход к соответствующей подпрограмме обслуживания. Цикл ввода вектора прерывания отличается от пикта ввода данных тем, что используется строб подтверждения прерывания (ППр) вместо строба чтения устройства ввода-вывода (ЧтУВВ). При обслуживании прерываний основная программа взаимодействует с подпрограммой через размещаемые в памяти структуры данных – области взаимодействия, считывая и модифицируя данные в этих областях.

 
< Пред   СОДЕРЖАНИЕ     След >