Шины адреса и данныхРефераты >> Программирование и компьютеры >> Шины адреса и данных
Системные и локальные шины
Основной обязанностью системной шины является передача информации между базовым микропроцессором и остальными электронными компонентами компьютера. По этой шине осуществляется также адресация устройств и происходит обмен специальными служебными сигналами. Таким образом, упрощенно системную шину можно представить как совокупность сигнальных линий, объединенных по их назначению (данные, адреса, управление). Передачей информации по шине управляет одно из подключенных к ней устройств или специально выделенный для этого узел, называемый арбитром шины.
Системная шина IBM PC и IBM PC/XT была предназначена Для одновременной передачи только 8 бит информации, так как используемый в компьютерах микропроцессор 18088 имел 8 линий данных. Кроме того, системная шина включала 20 адресных линий, которые ограничивали адресное пространство пределом в 1 Мбайт. Для работы с внешними устройствами в этой шине были предусмотрены также 4 линии аппаратных прерываний (IRQ) и 4 линии для требования внешними устройствами прямого доступа в память (DMA, Direct Memory Access). Для подключения плат расширения использовались специальные 62-контактные Разъемы. Заметим, что системная шина и микропроцессор синхронизиоовались от одного тактового генератора с частотой 4,77 МГц. Таким образом, теоретически скорость передачи данных могла достигать более 4,5 Мбайта/с.
Шина ISA
В компьютерах PC/AT, использующих микропроцессор i80286, впервые стала применяться новая системная шина ISA (Industry Standard Architecture), полностью реализующая возможности упомянутого микропроцессора. Она отличалась наличием дополнительного 36-контактного разъема для соответствующих плат расширения. За счет этого количество адресных линий было увеличено на четыре, а данных — на восемь. Теперь можно было передавать параллельно уже 16 разрядов данных, а благодаря 24 адресным линиям напрямую обращаться к 16 Мбайтам системной памяти. Количество линий аппаратных прерываний в этой шине было увеличено с 7 до 15, а каналов DMA — с 4 до 7. Надо отметить, что новая системная шина ISA полностью включала в себя возможности старой 8-разрядной шины, то есть все устройства, используемые в PC/XT, могли без проблем применяться и в PC/AT 286. Системные платы с шиной ISA уже допускали возможность синхронизации работы самой шины и микропроцессора разными тактовыми частотами, что позволяло устройствам, выполненным на платах расширения, работать медленнее, чем базовый микропроцессор. Это стало особенно актуальным, когда тактовая частота процессоров превысила 10—12 МГц. Теперь системная шина ISA стала работать асинхронно с процессором на частоте 8 МГц. Таким образом, максимальная скорость передачи теоретически может достигать 16 Мбайт/с.
Шина EISA
С появлением новых микропроцессоров, таких, как i80386 и i486, стало очевидно, что одним из вполне преодолимых препятствий на пути повышения производительности компьютеров с этими микропроцессорами является системная шина ISA. Дело в том, что возможности этой шины для построения высокопроизводительных систем следующего поколения были практически исчерпаны. Новая системная шина должна была обеспечить наибольший возможный объем адресуемой памяти, 32-разрядную передачу данных, в том числе и в режиме DMA, улучшенную систему прерываний и арбитраж DMA, автоматическую конфигурацию системы и плат расширения. Такой шиной для IBM PC-совместимых компьютеров стала EISA (Extended Industry Standard Architecture). Заметим, что системные платы с шиной EISA первоначально были ориентированы на вполне конкретную область применения новой архитектуры, а именно на компьютеры, оснащенные высокоскоростными подсистемами внешней памяти на жестких магнитных дисках с буферной кэш-памятью. Такие компьютеры до сих пор используются в основном в качестве мощных файл-серверов или рабочих станций.
В EISA-разъем на системной плате компьютера помимо, разумеется, специальных EISA-плат может вставляться либо 8-, либо 16-разрядная плата расширения, предназначенная для обыкновенной PC/AT с шиной ISA. Это обеспечивается простым, но поистине гениальным конструктивным решением. EISA-разъемы имеют два ряда контактов, один из которых (верхний) использует сигналы шины ISA, а второй (нижний) — соответственно EISA. Контакты в соединителях EISA расположены так, что рядом с каждым сигнальным контактом находится контакт "Земля". Благодаря этому сводится к минимуму вероятность генерации электромагнитных помех, а также уменьшается восприимчивость к таким помехам.
Шина EISA позволяет адресовать 4-Гбайтное адресное пространство, доступное микропроцессорам 180386/486. Однако доступ к этому пространству могут иметь не только центральный процессор, но и платы управляющих устройств типа bus master — главного абонента (то есть устройства, способные управлять передачей данных по шине), а также устройства, имеющие возможность организовать режим DMA. Стандарт EISA поддерживает многопроцессорную архитектуру для "интеллектуальных" устройств (плат), оснащенных собственными микропроцессорами. Поэтому данные, например, от контроллеров жестких дисков, графических контроллеров и контроллеров сети могут обрабатываться независимо, не загружая при этом основной процессор. Теоретически максимальная скорость передачи по шине
EISA в так называемом пакетном режиме (burst mode) может достигать 33 Мбайт/с. В обычном (стандартном) режиме она не превосходит, разумеется, известных значений для ISA.
На шине EISA предусматривается метод централизованного Управления, организованный через специальное устройство — системный арбитр. Таким образом поддерживается использовало ведущих устройств на шине, однако возможно также предоставление шины запрашивающим устройствам по циклическому принципу.
Как и для шины ISA, в системе EISA имеется 7 каналов DMA. выполнение DMA-функций полностью совместимо с аналогич-
ными операциями на ISA-шине, хотя они могут происходить и несколько быстрее. Контроллеры DMA имеют возможность поддерживать 8-, 16- и 32-разрядные режимы передачи данных. В общем случае возможно выполнение одного из четырех циклов обмена между устройством DMA и памятью системы. Это ISA-совместимые циклы, использующие для передачи данных 8 тактов шины; циклы типа А, исполняемые за б тактов шины; циклы типа В, выполняемые за 4 такта шины, и циклы типа С (или burst DMA), в которых передача данных происходит за один такт шины. Типы циклов А, В и С поддерживаются 8-, 16- и 32-разрядными устройствами, причем возможно автоматическое изменение размера (ширины) данных при передаче в не соответствующую размеру память. Большинство ISA-совместимых устройств, использующих DMA, могут работать почти в 2 раза быстрее, если они будут запрограммированы на применение циклов А или В, а не стандартных (и сравнительно медленных) ISA-циклов. Такая производительность достигается только путем улучшения арбитража шины, а не в ущерб совместимости с ISA. Приоритеты DMA в системе могут быть либо "вращающимися" (переменными), либо жестко установленными. Линии прерывания шины ISA, по которым запросы прерывания передаются в виде перепадов уровней напряжения (фронтов сигналов), сильно подвержены импульсным помехам. Поэтому в дополнение к привычным сигналам прерываний на шине ISA, активным только по своему фронту, в системе EISA предусмотрены также сигналы прерываний, активные по уровню. Причем для каждого прерывания выбор той или иной схемы активности может быть запрограммирован заранее. Собственно прерывания, активные по фронту, сохранены в EISA только для совместимости со "старыми" адаптерами ISA, обслуживание запросов на прерывание которых производит схема, чувствительная к фронту сигнала. Понятно, что прерывания, активные по уровню, менее подвержены шумам и помехам, нежели обычные. К тому же (теоретически) по одной и той же физической линии можно передавать бесконечно большое число уровней прерывания. Таким образом, одна линия прерывания может использоваться для нескольких запросов.