Шпаргалка: Шины данных
Шины адреса и данных
Системные и локальные шины
Основной обязанностью системной шины является передача информации между базовым микропроцессором и остальными электронными компонентами компьютера. По этой шине осуществляется также адресация устройств и происходит обмен специальными служебными сигналами. Таким образом, упрощенно системную шину можно представить как совокупность сигнальных линий, объединенных по их назначению (данные, адреса, управление). Передачей информации по шине управляет одно из подключенных к ней устройств или специально выделенный для этого узел, называемый арбитром шины.
Системная шина 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, обслуживание запросов на прерывание которых производит схема, чувствительная к фронту сигнала. Понятно, что прерывания, активные по уровню, менее подвержены шумам и помехам, нежели обычные. К тому же (теоретически) по одной и той же физической линии можно передавать бесконечно большое число уровней прерывания. Таким образом, одна линия прерывания может использоваться для нескольких запросов.
Для компьютеров с шиной EISA предусмотрено автоматическое конфигурирование системы. Каждый изготовитель плат расширения для компьютеров с шиной EISA поставляет вместе этими платами и специальные файлы конфигурации. Информация из этих файлов используется на этапе подготовки системыработе, которая заключается в разделении ресурсов компьютера между отдельными платами. Для "старых" плат адаптеров пользователь должен сам подобрать правильное положение DIP-перекдючателей (рис. 25) и перемычек, однако сервисная программа на EISA-компьютерах позволяет отображать установленные положения соответствующих переключателей на экране монитора и дает некоторые рекомендации по правильной их установке. Помимо этого в архитектуре EISA предусматривается выделение определенных групп адресов ввода-вывода для конкретных слотов шины — каждому разъему расширения отводится адресный диапазон 4 Кбайта, что также позволяет избежать конфликтов между отдельными платами EISA.
Заметим, что компьютеры, использующие системные платы с шиной EISA, достаточно дорогие. К тому же шина по-прежнему тактируется частотой около 8—10 МГц, а скорость передачи увеличивается в основном благодаря увеличению разрядности шины данных.
Локальные шины
Разработчики компьютеров, системные платы которых основывались на микропроцессорах 180386/486, стали использовать раздельные шины для памяти и устройств ввода-вывода, что позволило максимально задействовать возможности оперативной памяти, так как именно в данном случае память может работать с наивысшей для нее скоростью. Тем не менее при таком подходе вся система не может обеспечить достаточной производительности, так как устройства, подключенные через разъемы расширения, не могут достичь скорости обмена, сравнимой с процессором. В основном это касается работы с контроллерами накопителей и видеоадаптерами. Для решения возникшей проблемы стали использовать так называемые локальные (local) шины, которые непосредственно связывают процессор с контроллерами периферийных устройств.
Первые IBM PC-совместимые компьютеры с локальными шинами не были, естественно, стандартизованы. Одним из ведущих изготовителей персональных компьютеров, впервые реализовавшим видеоподсистему с локальной шиной, была компанияNECTechnologies. Еще в 1991 году эта фирма представила свою оригинальную разработку Image Video.
Шины VL-bus и PC I
В последнее время появились две локальные шины, признанные промышленными: VL-bus (или VLB), предложенная ассоциацией VESA (Video Electronics Standards Association), и PCI (Peripheral Component Interconnect), разработанная фирмой Intel. Обе эти шины предназначены, вообще говоря, для одного и того же — для увеличения быстродействия компьютера, позволяя таким периферийным устройствам, как видеоадаптеры и контроллеры накопителей, работать с тактовой частотой до 33 МГц и выше. Обе шины используют разъемы типа МСА. На этом, впрочем, их сходство и заканчивается, поскольку требуемая цель достигается разными средствами.
Если VL-bus является, по сути, расширением шины процессора (вспомним шину IBM PC/XT), то PCI по своей организации более тяготеет к системным шинам, например к EISA, и представляет собой абсолютно новую разработку. Строго говоря, PCI относится к классу так называемых mezzanine-шин, то есть шин-"пристроек", поскольку между локальной шиной процессора и самой PCI находится специальная микросхема согласующего "моста" (bridge).
Так как VL-bus продолжает шину процессора без промежуточных буферов, ее схемная реализация оказывается более дешевой и простой. Первая спецификация VESA, в частности, предусматривает, что к шине, которая является локальной 32-разрядной шиной системного микропроцессора, может подключаться до трех периферийных устройств. Некоторые изготовители, впрочем, убеждены, что добиться устойчивой работы трех устройств на высоких частотах вообще невозможно, и устанавливают на свои платы только 2 слота. Ограничение на число устройств связано с тем, что электрическая нагрузочная способность на сигнальные линии любого процессора весьма невелика.
В качестве устройств, подключаемых к VL-bus, в настоящее время выступают контроллеры накопителей, видеоадаптеры и сетевые платы. Конструктивно VL-bus выглядит как короткий соединитель типа МСА (112 контактов), установленный, например, рядом с разъемами расширения ISA или EISA. При этом 32 линии используются для передачи данных и 30 — для передачи адреса. Максимальная скорость передачи по шине VL-bus теоретически может составлять около 130 Мбайт/с. Стоит отметить, что на VL-bus не предусмотрен арбитр шины. К счастью, большинство подключаемых к ней устройств являются "пассивными", то есть сами не инициируют передачу данных. Тем не менее во избежание возможных конфликтов между подключенными к шине устройствами в спецификации выделяются "управляющие" (master) и "управляемые" (slave) адаптеры. Для "управляющих" устройств на системных платах обычно определены свои "мастерные" слоты. По замыслу разработчиков, подобные "управляющие" устройства могли осуществлять арбитраж на шине.
После появления процессора Pentium ассоциация VESA приступила к работе над новым стандартом VL-bus (версия 2). Он предусматривает, в частности, использование 64-разрядной шины данных и увеличение количества разъемов расширения (предположительно три разъема на 40 МГц и два на 50 Мгц). Ожидаемая скорость передачи теоретически должна возрасти до 400 Мбайт/с. Заметим, что в настоящее время шина VL-bus представляет из себя сравнительно недорогое дополнение для компьютеров на базе 486-х процессоров с шиной ISA, причем с обеспечением обратной совместимости.
Спецификация шиныPCI обладает несколькими преимуществами перед основной версией VL-bus. Так, использовать PCI можно вне зависимости от типа процессора. Специальный контроллер заботится о разделении управляющих сигналов локальной шины процессора и PCI-шины и, кроме того, осуществляет арбитраж наPCI. Именно поэтому данная шина может использоваться и в иных компьютерных платформах. Следует отметить, что гибкость и быстродействие этой шины предполагают и большие аппаратные затраты, чем для VL-bus. Тем не менее шина PCI стала практическим стандартом для систем на базе Pentium и не менее успешно используется в 486-х компьютерах.
В соответствии со спецификацией PCI к шине могут подключаться до 10 устройств. Это, однако, не означает использования такого же числа разъемов расширения — ограничение относится к общему числу компонентов, в том числе расположенных на системной плате. Поскольку каждая плата расширения PCI может разделяться между двумя периферийными устройствами, то уменьшается общее число устанавливаемых разъемов. В отличие от VL-bus шина PCI работает на фиксированной тактовой частоте 33 МГц и предусматривает напряжение питания для контроллеров как 5, так и 3,3 В, а также обеспечивает режим их автоконфигурации (plug and play — "включай и работай"). Заметим, что, например, PCI-карты, рассчитанные на напряжение 5 В, могут вставляться только в соответствующие слоты, которые конструктивно отличаются от слотов для напряжения 3,3 В.
Впрочем,имеются и так называемые универсальные PCI-адаптеры, которые работают в любом из слотов. Шина PCI может использовать 124-контактный (32-разрядная) или 188-контактный разъем (64-разрядная передача данных), при этом теоретически возможна скорость обмена составляет соответственно 132 и 264 Мбаита/с Спецификация PCI 2.1 в расчете на микропроцессор Pentium (100 МГц) определяет работу с частотой 33—66 МГц и скоростью обмена до 520 Мбайт/с. На системных платах устанавливается обычно не более трех-четырех разъемов PCI.
Отдельно хотелось бы сказать о так называемых разделяемы (shared) слотах ISA/PCI. Поскольку слоты для шины PCI располагаются параллельно разъемам системной шины, то на систем ной плате из-за ее ограниченного размера достаточно трудно разместить требуемое количество тех и других. Именно поэтому не которые производители и используют разделяемую, или shared конфигурацию. В этом случае один из слотов PCI располагается настолько близко к разъему системной шины, что можно использовать только один из них, то есть подключить либо ISA-, либо PCI-устройство, но, разумеется, в соответствующий разъем.
--> ЧИТАТЬ ПОЛНОСТЬЮ <--