Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по лекционным вопросам 1-29 МПТ 2008.doc
Скачиваний:
13
Добавлен:
14.04.2019
Размер:
1.46 Mб
Скачать

Вопрос 11. Механизм пакетной передачи данных по системной магистрали

Для обслуживания некоторых внутренних запросов при работе с памятью микропроцессорной системы процессору может понадобиться последовательность циклов обмена, во время которых передаются данные, расположенные в смежной области адресного пространства. Такая ситуация может иметь место при выборке операндов, имеющих разрядность большую, чем разрядность шины данных (например, 32-разрядный процессор может обращаться к 64- или 128-разрядным операндам), или при заполнении строки кэш-памяти (например, строка кэша процессора Pentium III имеет длину 32 байта, следовательно, для ее пересылки требуется четыре 64-разрядных цикла магистрали). Во всех таких случаях, когда требуется больше одного цикла для передачи данных, микропроцессор может выполнять пакетные циклы. Во время пакетного цикла между МП и памятью передается более одного слова, причем эти слова занимают смежные адреса и направление передачи для всех слов одинаково (т.е. все слова читаются из памяти или записываются в память). Такой протокол обмена по магистрали называется режимом пакетной передачи (Burst Mode).

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

  1. фаза адресации-идентификации, которая включает адресацию памяти и коммутацию направления передачи;

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

В стандартном цикле фаза 1 занимает такты T1 и T2, а фаза 2 – такты T3 и T4.

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

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

На рис. 18 приведена временная диаграмма пакетного цикла чтения из памяти. Пакетный цикл включает передачу четырех слов. Из рис. 18 видно, что для передачи четырех слов с помощью пакетного цикла требуется 10 тактов, в то время как передача четырех слов с помощью обычных циклов занимает 4 цикла  4 такта = 16 тактов.

Р ис. 15

Вопрос 12. Механизм транзакций при передаче данных по системной магистрали

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

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

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

Транзакция – выполнение обмена по одному из запросов, которое производится при определенном наборе состояний шины. Транзакции делятся на фазы, перекрывающие друг друга во времени.

Фаза – один из этапов обмена, характеризуемый определенным набором управляющих сигналов. Возможны следующие виды фаз:

  • фаза арбитража (Arbitration Phase);

  • фаза запроса (Request Phase);

  • фаза ошибки (Error Phase);

  • Фаза завершения (Snoop Phase);

  • фаза ответа (Response Phase);

  • фаза данных (Data Phase).

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

Взаимодействие агентов при обмене по шине осуществляется в строгой последовательности в разных тактах. Сигнал А выдается агентом-источником в такте Т1. В такте Т2 сигнал А считывается агентом-приемником. Реакция агента-приемника на сигнал А возможна не раньше следующего такта. В такте ТЗ агент-приемник выдает ответный сигнал В. Сигнал В будет принят другими агентами в следующем такте Т4.

Рассмотрим фазы выполнения транзакции с передачей данных. Если агент не является владельцем шины, то транзакция начинается с Фазы Арбитража, в которой агент становится владельцем шины. Далее транзакция переходит в Фазу Запроса. В этой фазе агент выдает информацию о типе запроса и адрес. Тип запроса включает: уникальный идентификатор транзакции, тип обращения (выборка команды, чтение или запись данных, ввод или вывод данных через внешние устройства, подтверждение прерывания и др.), информацию о передаваемых байтах, о длине транзакции и др. Если передается много информации, то фаза запроса может занимать более одного такта. Третья фаза любой транзакции – это Фаза Ошибки. В Фазе Ошибки выявляются возможные ошибки протокола передачи (например, нарушение четности адреса). При обнаружении ошибки повторяется Фаза Запроса, а при повторной ошибке реализуется специальное прерывание (исключительная ситуация).

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

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

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