Семинар4 (Семинары), страница 2
Описание файла
Файл "Семинар4" внутри архива находится в папке "Семинары". Документ из архива "Семинары", который расположен в категории "". Всё это находится в предмете "микропроцессорная техника" из 5 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "микропроцессорная техника" в общих файлах.
Онлайн просмотр документа "Семинар4"
Текст 2 страницы из документа "Семинар4"
EISA Bus (Extended ISA) - жестко стандартизованное расширение ISA до 32 бит. Конструктивное исполнение обеспечивает совместимость с ней и обычных ISA-адаптеров (рис. 4.4). Узкие дополнительные контакты расширения (ряды Е, F, G, Н) расположены между ламелями разъема ISA и ниже ламелей А, В, С, D таким образом, что адаптер ISA, не имеющий дополнительных ключевых прорезей в краевом разъеме, не достает до них. Установка карт EISA в слоты ISA недопустима, поскольку ее специфические цепи попадут на контакты цепей ISA, в результате чего системная плата окажется неработоспособной (к счастью, «без дыма»).
Рис.4.4
Расширение шины касается не только увеличения разрядности данных и адреса: для режимов EISA используются дополнительные управляющие сигналы, обеспечивающие возможность применения более эффективных режимов передачи. В обычном (не пакетном) режиме передачи за каждую пару тактов может быть передано до 32 бит данных (один такт на фазу адреса, один - на фазу данных). Максимальную производительность шины реализует пакетный режим (Burst Mode) - скоростной режим пересылки пакетов данных без указания текущего адреса внутри пакета. В пакете очередные данные могут передаваться в каждом такте шины, длина пакета может достигать 1024 байт. Шина предусматривает и более производительные режимы DMA, при которых скорость обмена может достигать 33 Мбайт/с. Линии запросов прерываний допускают разделяемое использование, причем сохраняется и совместимость с ISA-картами: каждая линия запроса может программироваться на чувствительность как по перепаду (как в ISA), так и по низкому уровню. Шина допускает потребление каждой картой расширения мощности до 45 Вт, но это не означает, что мощность блока питания для системной платы на 8 слотов должна быть более 360 Вт - полную мощность, пожалуй, не потребляет ни один из адаптеров.
Арбитраж запросов выполняет устройство ISP (Integrated System Peripheral). Приоритеты (в порядке убывания): регенерация, DMA, CPU, Bus-Master Обязательной принадлежностью системной платы с шиной EISA является энергонезависимая память конфигурации NVRAM, в которой хранится информация об устройствах EISA для каждого слота. Формат записей стандартизован, для модификации конфигурационной информации применяется специальная утилита ECU (EISA Configuration Utility). Архитектура позволяет при использовании программно-конфигурируемых адаптеров автоматически разрешать конфликты использования системных ресурсов программным путем. Все изменения конфигурации возможны только в режиме конфигурирования, после выхода из которого необходима перезагрузка компьютера Изолированный доступ к портам ввода/вывода каждой карты во время конфигурирования обеспечивается просто: сигнал AEN, разрешающий декодирования адреса в цикле ввода/вывода, на каждый слот приходит по отдельной линии AENx, в это время программно-управляемой. Таким образом, можно по отдельности обращаться и к обычным картам ISA, но из этого нельзя извлечь особой выгоды, поскольку карты ISA не поддерживают обмена конфигурационной информацией, предусмотренного шиной EISA.
EISA - дорогая, но оправдывающая себя архитектура, применяющаяся в многозадачных системах, на файл-серверах и везде, где требуется высокоэффективное расширение шины ввода/вывода.
Логически эквивалентной шине ISA является шина PC-104, предназначенная для построения небольших встраиваемых контроллеров. В ее названии присутствует число контактов коннектора, на который выводятся сигналы шины ISA. От обычной шины ISA PC-104 отличается только типом коннектора и нагрузочными характеристиками линий. Основой контроллера является mРС с разъемом (розеткой) PC-104. Если требуется подключение платы расширения, она своим разъемом PC-104 (вилкой) вставляется в плату контроллера. Кроме вилки на плате расширения имеется и розетка PC-104 (коннектор двусторонний), так что можно собирать «бутерброд» из нескольких плат. Если плат более трех, то сверху «бутерброда» устанавливают терминатор. Для фиксации плат стандартизовано расположение крепежных отверстий, и платы скрепляются несущими стоечками (длинными винтами со втулками).
3.Шина PCI
PCI (Peripheral Component Interconnect) local bus - шина соединения периферийных компонентов. Называясь локальной, эта шина занимает особое место в современном РС-архитектуре (mezzanine bus) являясь мостом между системной шиной процессора и шиной ввода/вывода ISA/EISA или MCA. Эта шина разрабатывалась в расчете на Pentium-системы, но хорошо сочетается и с 486 процессорами, а также с процессорами серий, отличных от Intel x86. Шина PCI является четко стандартизированной высокопроизводительной и надежной шиной расширения ввода/вывода. В настоящее время действует спецификация PCI-2.1. При частоте шины 20-33 МГц теоретическая максимальная скорость достигает 132/264 Мбайт/с для 32/64 бит.
Шина является синхронной - фиксация всех сигналов выполняется по положительному перепаду (фронту) сигнала CLK. Версия 2.1 допускает частоту до 66 МГц при согласии всех абонентов шины. В каждой транзакции (обмене по шине) участвуют два устройства - инициатор обмена (Initiator или Master) и целевое устройство (Target или Slave).
Шина PCI все транзакции трактует как пакетные: каждая транзакция начинается фазой (циклом) адреса, за которой может следовать одна или несколько фаз данных. Для адреса и данных используются общие мультиплексированные линии AD. Четыре мультиплексированные линии С/ВЕ[3:0] используются для кодирования команд в фазе адреса и разрешения байт в фазе данных. В начале транзакции инициатор активизирует сигнал FRAME#, по шине AD передает целевой адрес, а по линиям C/BE информацию о типе транзакции (команде). Адресованное целевое устройство отзывается сигналом DEVSEL#, после чего инициатор может указать на свою готовность к обмену данными сигналом IRDY. Когда к обмену данными будет готово и целевое устройство, оно установит сигнал TRDY. Данные по шине AD могут передаваться только при одновременном наличии сигналов IRDY# и TRDY#. С помощью этих сигналов инициатор и целевое устройство согласуют свои скорости, вводя такты ожидания. На рис. 4.5 приведена временная диаграмма обмена, в которой и инициатор, и целевое устройство вводят такты ожидания. Если бы они оба ввели сигналы готовности в конце фазы адреса и не снимали их до конца обмена, то в каждом такте после фазы адреса передавались бы по 32 бита данных, что и обеспечило бы выход на предельную производительность обмена.
Рис.4.5
Количество фаз (циклов) данных в пакете заранее неопределено, но перед последним циклом инициатор обмена при введенном сигнале IRDY# снимает сигнал FRAME#. После последней фазы данных инициатор снимает сигнал IRDY# и шина переходит в состояние покоя (PCI Idle) - оба сигнала FRAME# и IRDY# находятся в пассивном состоянии. Максимальное количество циклов данных в пакете может быть неявно ограничено таймером, определяющим максимальное время, в течение которого инициатор может пользоваться шиной. Инициатор завершает транзакцию по одной из трех причин:
-
нормальное завершение выполняется по окончании обмена данными;
-
завершение по тайм-ауту (Time-out) происходит, когда во время транзакции у инициатора отбирают право на управление шиной (снятием сигнала GNT#) или когда истекает время, указанное в его таймере MLT (целевое устройство слишком медленное или начатая транзакция слишком длинная);
-
транзакция отвергается (Abort), когда в течение заданного времени инициатор не получает ответа целевого устройства (DEVSEL).
Транзакция может быть прекращена и по инициативе целевого устройства, для этого оно может ввести сигнал STOP#. Возможны три основных типа прекращения:
-
отключение (Disconnect) - сигнал STOP# вводится во время активности TRDY#. В этом случае транзакция завершается после фазы данных;
-
отключение с повтором (Disconnect/Retry) - сигнал STOP вводится при пассивном состоянии TRDY, и последняя фаза данных отсутствует. Такое завершение является указанием инициатору на необходимость повтора транзакции;
-
отказ (Abort) - сигнал STOP# вводится одновременно со снятием DEVSEL (в предыдущих случаях во время появление сигнала STOP сигнал DEVSEL был активен). В этом случае последняя фаза данных тоже отсутствует, но повтор не запрашивается.
Протокол квитирования обеспечивает надежность обмена - инициатор всегда получает информацию об отработке транзакции целевым устройством. Средством повышения надежности (достоверности) является применение контроля паритета: линии AD[31:0] и С/ВЕ#[3:0] и в фазе адреса, и в фазе данных защищены битом паритета PAR (количество единичных бит этих линий, включая РАR, должно быть четным). Действительное значение PAR появляется на шине с задержкой в один такт относительно линий AD и С/ВЕ#. При обнаружении ошибки целевым устройством со сдвигом еще на один такт вырабатывается сигнал PERR#. В подсчете паритета при передаче данных учитываются все байты, включая и недействительные (отмеченные высоким уровнем сигнала C/BEi). Состояние бит и недействительных байт данных должно оставаться стабильным во время фазы данных.
Арбитражем запросов на использование шины занимается специальный функциональный узел, входящий в состав чипсета системной платы. Каждое устройство-инициатор имеет пару сигналов - REQ для запроса на управление шиной и GNT# - подтверждение предоставления управления шиной. Схема приоритетов (фиксированный, циклический, комбинированный) определяется программированием арбитра.
Каждое устройство - потенциальный инициатор обмена (PCI Master) имеет собственный программируемый таймер MLT (Master Latency Timer), определяющий максимальное количество тактов шины, допустимое для одной транзакции. Программированием его значения при конфигурировании устройств осуществляется распределение полосы пропускания шины между абонентами шины.
Каждое целевое устройство имеет инкрементный механизм слежения за длительностью циклов (Incremental Latency Mechanism), который не позволяет интервалу между соседними фазами данных в пакете превышать 8 тактов шины. Если целевое устройство не успевает работать в таком темпе, оно обязано останавливать транзакцию.
Адресация памяти, портов и конфигурационных регистров различна. Байты шины AD, несущие действительную информацию, выбираются сигналами С/ВЕ[3:0] в фазах данных (внутри пакета эти сигналы могут менять состояние). В циклах обращения к памяти адрес, выровненный по границе двойного слова, передается по линиям AD[31:2], линии AD[1:0] задают порядок чередования адресов в пакете: 00 - линейное инкрементирование; 01 - чередование адресов с учетом длины строки кэш-памяти; lx - зарезервировано.
В циклах обращения к портам ввода/вывода для адресации любого байта используются все линии AD[31:0]. В циклах конфигурационной записи/считывания устройство выбирается индивидуальным сигналом IDSEL#, конфигурационные регистры выбираются двойными словами, используя линии AD[7:2], при этом AD[1:0]=00. Сигнал выборки IDSEL# воспринимается абонентом PCI только в фазе адреса, поэтому обычно в качестве него используют старшие биты адреса с позиционным кодированием адреса устройства.
Команды шины PCI определяются значениями бит С/ВЕ# в фазе адреса и включают 16 наименований (табл. 4.2).
В команде подтверждение прерывания контроллер прерываний передает вектор прерывания по шине AD.
Специальный цикл декодируется содержимым линий AD[15:0] и используется для указания на отключение (Shutdown), останов (Halt) процессора или специфические функции процессора, связанные с кэшем и трассировкой. Этим состояниям соответствуют коды 0000, 0001 и 0002; коды 0003-FFFFh зарезервированы.
В командах чтения и записи ввода/вывода линии AD содержат адрес байта, причем декодированию подлежат и биты AD0 и AD1 (несмотря на то, что имеются сигналы ВЕх#).
Порты PCI могут быть 8- или 16-битными. Для адресации портов на шине PCI доступны все 32 бита адреса, но процессоры х86 могут использовать только младшие 16 бит. Кроме того, на адресное пространство PCI влияет и 10-битное декодирование адреса, принятое в традиционной шине ISA, в результате чего каждый адрес порта на шине ISA имеет 64 псевдонима, смещенных друг от друга на 1К. Порты с адресами 0CF8 и 0CFC зарезервированы под регистры адреса и данных для доступа к конфигурационному пространству. Обращение к порту данных приведет к генерации шинного цикла конфигурационного чтения или записи по предварительно записанному адресу.
В командах чтения и записи памяти шина AD содержит адреса двойных слов, и линии AD0, AD1 не должны декодироваться - на конкретные байты указывают сигналы С/ВЕ[3:0]#.
Команды конфигурационного чтения и записи адресуются к конфигурационному пространству и обеспечивают доступ к 256-байтным структурам. Обращение идет двойными словами. Структура содержит идентификатор устройства и производителя, состояние и команду, информацию об используемых ресурсах и ограничения на использование шины.
Множественное чтение памяти используется для чтения больших блоков памяти без кэширования.
Двухадресный цикл применяется, когда физическая шина имеет всего 32 бита адреса, а требуется передача с 64-битной адресацией. В этом случае младшие 32 бита адреса передаются в цикле данного типа, а за ним следует обычный цикл, определяющий тип обмена и несущий старшие 32 бита адреса. Шина PCI допускает 64-битную адресацию и портов ввода/вывода, правда, для процессоров х86 это бесполезно, но есть и другие процессоры и платформы, использующие PCI.