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

Разновидности операций на шине

Все сигналы базовой конфигурации шины PCI устанавливаются и сбрасываются по переднему фронту CLK.

A/D - единице соответствует высокий уровень, нулю - низкий. Активному значению управляющего сигнала соответствует 0 – низкий уровень.

Установка сигнала - это переход его по переднему фронту CLK в 0 - низкий уровень.

Сброс сигнала - это переход его по переднему фронту CLK в 1 - высокий уровень.

Установка и сброс сигнала на линии интерфейса происходит с задержкой по отношению к фронту CLK.

Считывание сигнала с линии производится тогда, когда сигнал принял стабильное, постоянное значение. Поэтому момент установки сигнала и его считывания разнесены во времени как минимум на один такт CLK.

Считывание сигнала и его сброс могут производиться одним и тем же импульсом CLK за счёт времени удержания. Поэтому минимальное время передачи данных составляет 1 такт.

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

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

Начало и продолжение транзакции

Транзакцию начинает задатчик, предварительно получив разрешение на работу на шине. Это разрешение задатчик получает от арбитра, послав ему сигнал запроса REQ# и получив разрешение GRN# от него.

Передача данных происходит при наличии активных значений сигналов FRAME#(Cycle Frame) - вырабатывается задатчикам и индицирует начало и течение операции передачи данных. IRDY#(Indicator Ready) - индицирует готовность задатчика завершить фазу данных текущей блочной передачи последовательности данных. TRDY#(Target Ready) - индицирует готовность исполнителя завершить фазу данных текущей блочной передачи. DEVSEL#(Device Select) - вырабатывается устройством - исполнителем текущей операции доступа. Сообщает о том, что исполнитель найден.

Если отсутствует сигнал IRDY# или TRDY#, то передачи данных нет, а идет такт ожидания. Если отсутствует сигнал DEVSEL#, то задатчик прекращает транзакцию по инициативе исполнителя.

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

Задатчик или исполнитель могут менять значения данных на шине AD только при активных значениях сигналов IRDY# и TRDY# соответственно. Если эти сигналы сброшены, то на шине AD удерживаются старые значения данных.

При операции записи, значения сигналов на шине C/BE# меняется на каждой фазе данных. При чтении значения C/BE# не меняется в течение всех фаз данных транзакции.

Окончание транзакции

На последней фазе данных обязательно сбрасывается FRAME# , но только тогда, когда сигнал IRDY# установлен. После того как исполнитель на последней фазе данных установит TRDY#, выполняется последняя передача данных от исполнителя к задатчику, транзакция заканчивается.

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

Способы завершения транзакций

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

1. Способ завершения транзакции задатчиком: заключается в следующем. Задатчик инициализирует завершение транзакции, когда сигнал FRAME# сброшен, а IRDY# установлен. Это указывает исполнителю, что наступает последняя фаза данных. Последняя передача данных происходит, когда установлены и IRDY#, и TRDY#. Транзакция завершается, когда и FRAME#, и IRDY# сброшены (состояние холостого хода шины).

Задатчик может прекращать транзакцию этим способом по двум причинам:

- когда задатчик заканчивает начатую им транзакцию;

- когда линия разрешения захвата шины задатчиком GRN сброшена и наступил момент Тайм-аут, когда исчерпано время, задаваемое Таймером задержки и транзакция прерывается.

Модифицированная версия этого способа завершения транзакции задатчиком используется тогда, когда исполнитель не отвечает на его адресацию сигналом DEVSEL#.

2. Способ завершения транзакции исполнителем: заключается в следующем. В этом случае используется сигнал STOP#. Исполнитель выдает сигнал STOP#, чтобы запросить завершение транзакции от задатчика. После установки, STOP# сохраняет активное значение до момента сброса FRAME#. Взаимосвязь между IRDY# и TRADY# не зависит от взаимодействия между STOP# и FRAME#. Поэтому данные могут быть переданы или не переданы до конца в текущей транзакции. Это зависит единственно от состояния IRDY# и TRDY#. Однако, когда сигнал STOP# установлен, а TRDY# сброшен, это указывает на невозможность дальнейшей передачи данных исполнителя. В этом случае, задатчик не ждет последней передачи данных, а немедленно завершает транзакцию.

Далее рассмотрим основные циклы работы шины, а именно Цикл чтения, Цикл записи, Арбитрация, Цикл конфигурации.

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