┌──┌─┐┌──
──┘├─┘──┘ Presents
┐ ┌┐┐┌─┤ VMag, Issue 1, 1 June 1997
└─┘┘ ┘└─┘ ──────────────────────────
Обзор локальных шин PC-совместимых компьютеров.
В(в)одная часть.
С давних незапамятных времен человек начал задумываться,
как связать процессор со внешними устройствами. И придумал шины.
Причем человек очень сильно преуспел в деле придумывания шин, и
их появилось великое множество. Потом шины начали делить и
называть загадочными названиями. Тогда другие люди начали
задумываться, что такое шины, какие они бывают, чем отличаются, а
соответственно, какие лучше. В этом скромном и не претендующем на
полноту докладе, я постарался обобщить данные, полученные из
различных источников, и предоставить их вашему вниманию, дабы
было, куда посмотреть в случае суровой жизненной необходимости, а
не рыскать по библиотекам.
Часть первая. Шины расширения.
Итак, для начала - что такое шины вообще. В настоящее
время под шиной понимают аппаратный стандарт, на основе которого
выполняется управление связями центрального процессора (ЦП) и до-
полнительными платами (т.е. то, что раньше называлось магис-
тралью).
Как вы уже, наверное догадываетесь, шина расширения (или
системная шина) имеет прямое предназначение. Она позволяет под-
ключать устройства в компьютере и, как вы надеетесь, обеспечи-
вает их работу. Наиболее важными обязанностями шины расширения
являются соединения, обеспечивающие передачу информации между
микропроцессором и остальными схемами компьютера. Шина расшире-
ния осуществляет на только передачу информации, но и адресацию
данных. Кроме того по ней передаются сигналы синхронизации, необ-
ходимые для собственно синхронизации работы ЦП с остальными ус-
тройствами. Шины характеризуются пропускной способностью, кото-
рая измеряется в килобайтах (мега-, гига-...), и следовательно на
ее величину влияют как тактовая частота, на которой работает
шина, так и ее (шины) разрядность. Шины могут быть 8-, 16-, 32- и
даже 64- разрядными в зависимости от типа используемого микропро-
цессора.
Шина расширения PC.
Создавая свой первый РС, фирма IBM поступила очень дальновидно,
использовав шину расширения. Зря она, конечно, придумала свой
бестолковый (как это сейчас кажется) стандарт, но во-первых,
первый блин - комом, а во-вторых, IBM ориентировалась на пони-
жение цены РС. И тем не менее, не смотря на то, что в то время
существовали более перспективные стандарты (например, 16-бито-
вый S-100), после выпуска РС появилась причина следовать имен-
но стандарту шины расширения XT - ведь он использовался прес-
тижнейшей фирмой компьютерной индустрии. К тому же этот стан-
дарт обеспечивал все необходимое для того времени и того ком-
пьютера.
Итак, что же представляла собой ХТ-шина расшинения? По сути
дела, это, грубо говоря, продолжение контактов процессора. В
принципе, на процессор навесили буфера ввода/вывода для
повышения нагрузочной способности и назвали это Шиной
Расширения. Раз уж так получилось, пришлось использовать для
шины те же значения тактовой частоты, что и у центрального
процессора - то бишь 4.77 МГц, и ту же разрядность - то бишь 8
бит.
Шина расширения АТ.
За три года, прошедших между появлением РС и АТ, старая шина
порядком всем надоела, да и перестала удовлетворять более
современным системам на базе нового процессора. Не
удовлетворяли ограничения, накдадываемые шиной на работу с
памятью и разрядность шины данных. Итак, разработчики
аппаратуры столкнулись с интересной проблемой -
несовместимость новых идей со старой шиной, и невозможность
полного изменения шины расширения - это могло дорого обойтись
фирме IBM и другим производителям совместимых компьютеров и
комплектующих, и пошатнуть лидирующее положение IBM и неплохое
положение остальных. И в результате родился гибрид под
названием ISA. ISA совместима с платами расширения ХТ, в то же
время позволяет использовать "новшества", жизненно необходимые
системам на i80286. Например, 16-битовую линию данных, и
24-битовую линию адреса, что позволяет работать с 16МБ
оперативонй памяти (предел адресации для i80286). Конструкция
АТ позволила разделить прямое соединения шины расширения и ЦП.
Таким образом, тактовые частоты ЦП и шины могли отличаться.
Это позволило работать платам расширения на частотах, отличных
от тактовой частоты ЦП. Частота шины была выбрана 8МГц (что
обеспечивает максимальную пропускную способность до 16 МБ/с).
Таким образом вся система вынуждена работать на частоте шины,
и только процесстор (ну, и сопроцесор) считает на своей
частоте. Это было хорошо и приятно, пока существовали только
процессоры с тактовыми частотами 6 и 8МГц, а также тем платам
расширения, которым не нужно высокое быстродействие и которым
хватает 8МГц. К тому же некоторые платы не могут работать на
12-20МГц. (Возможно, тут снова сказался принцип IBM о
небольшой стоимости компьютера - понятно, что менее быстрая
плата дешевле...) Но и тут были исключения - например РС АТ 286
фирмы Limited (сейчас уже DELL), которые использовали
одинаковую тактовую частоту и для микропроцессора и для шины.
И поэтому те платы расширения, которые могли поддержать такую
архитектуру, обеспечивали значительно большую
производительность. Но стандарт IBM есть стандарт, и поэтому
он победил и был узаконен в 1988 году под названием ISA
(Industry Standsrd Architecture). Одним словом, ISA-АТ была,
естественно, лучше, чем ХТ. Для медленных 286-х машин.
Шина МСА.
По данным фирмы IBM, работы над этим новым стандартом начались
еще в 1983 году - т.е. даже до появления первых АТ. Все
производители ПК и плат расширения с нетерпением ждали
появления 32-разрядной шины, продолжающей старые традиции.
Однако новый стандарт, предложенный фирмой IBM, так радикально
отличался от всего того, что было раньше, что производители
плат расширения были в шоке. И IBM дала стандарту новое имя -
Micro Channel Architecture (MCA). Эта шина отличалась от
предыдущих во всем - даже форма и габариты разьемов и плат
была другая. Микроканал пересматривал заново разъем
расширения, чтобы соответствовать требованиям современной
технологии (например, в этом разъеме было натыкано очень много
заземляющих проводников, что улучшало помехозащищенность).
Микроканал мог одинаково хорошо работать как с 16-, так и
32-битными PS/2, что в совокупности с повышением частоты шины
до 10 (а возможо и дальнейшее повышение) предоставляло им
огромные возможности. Например, максимальная скорость
передачи данных увеличилась до 20 МБ/сек по сравнению с 8
МБ/сек у ISA. Но главное отличие МСА от остальных - в том, что
она не зависит ни от тактовой частоты, ни от типа процессора.
Таким образом, ЦП мог быть лишь одним из многих устройств,
подключенных к шине, а все функции, связанные с арбитражом
шины (т.е. решение вопросов о том, кому разрешить ее
использование в данный момент) реализуются на аппаратном
уровне. Была также предпринята попытка сделать
самоконфигурирующуюся систему, которая полностью так и не
увенчалась успехом, но тем не менее это была попытка. Не все
то золото, что блестит. Фирма IBM уже объявила о том, что
машины с МСА больше производиться не будут.
Шина EISA.
Итак, появился совершенно дикий стандарт МСА. Другим производи-
телям стало обидно, и они (во главе с Compaq Computer Corp.)
разработали свой 32-битовый стандарт шины. Знаменательная дата
его презентации - 13 сентября 1988 года. Новорожденному дали
имя EISA (Еxtended ISA). Новый стандарт является, по сути, до-
работкой старой доброй шины АТ. А поскольку одной из главных
задач при разработке нового стандарта была совместимость с ISA,
то естественно пришлось пожертвовать производительностью. Зато
можно использовать платы расширения даже для РС и АТ, работаю-
щие на 8 МГц. Преемственность с ISA обеспечивается "двухэтаж-
ным" разъемом, первый "этаж" которого повторяет разъем ISA, а
вот второй - уже свой, новый, EISA-разъем. EISA вроде бы даже
работает на 10 МГц - как и МСА. Необходимость в многопроцессор-
ных системах создала проблему взаимодействия нескольких интел-
лектуальных устройств на одной шине. В РС и АТ управление ши-
ной возложено на ЦП, что естественно снижает его производи-
тельность. В новой шине EISA арбитражные функции реализуются на
аппаратном уровне - специальной микросхемой Centralized
Arbitration Control - CAC. Таким образом, шина EISA является
чем-то средним между ISA и МСА, сочетая в себе некоторые воз-
можности арбитража шины и самоконфигурации второй и черепашье
быстродействие первой. Но сфера ее использования ограничена, в
основном, мощными серверами и рабочими станциями ввиду большой
стоимости как самих материнских плат с такой шиной, так и плат
расширения, которые (платы) к тому же в большинстве своем вов-
се не 32- , а 16-разрядные.
Подытожим.
Итак, что же мы имеем в настоящее время? Три стандарта на шины
расширения.
ISA - для 16-битных систем.
ЕISA - для 32-разрядных систем.
МСА - для IBM моделей 50 и выше.
По некоторым подсчетам, шина ISA занимает ведущее положение на
рынке - доля ISA-систем примерно в 4 раза превышает суммарную
долю систем с EISA и MCA. Все эти шины работают на очень ма-
леньких частотах, что, конечно увеличивает надежность работы с
платами расширения и совместимость с этими же платами, но, с
другой стороны, значительно тормозит всю систему - ведь, если
процессор может считать очень быстро, то это, конечно, хорошо,
но ведь то что он посчитает, он должен куда-то сунуть, а сде-
лать это он может только по шине, и тут начинается ручник... И
чем больше разница между частотой процессора и частотой шины,
тем больше хочется ускорить эту @#$%^& шину!.
Часть вторая. Локальные шины.
Появление архитектуры с локальной шиной было встречено с большим
энтузиазмом пользователей - ведь она сулила резкое повышение
производительности ПК. Локальная шина позволяет подключить
периферийные устройства не к медленной шине ввода-вывода, а к
быстрой магистрали большой разрядности. В результате повышается
скорость передачи данных между процессором и периферийными
устройствами. Это особенно важно при построении серверов и при
работе в системах, интенсивно использующих графику. Локальной
называется шина, подключеннная непосредственно к процессору.
Таким образом, поскольку цивилизация развивается по спирали, мы
снова приходим к старому доброму РС ХТ, который в свете новых
знаний можно назвать первым компьютером с локальной шиной
(имеются в виду IBM-совместимые компьютеры). Новый интерес к
локальной шине вызван не столько недостатками ISA, сколько
возросшими требованиями к производительности видео. Локальная
шина позволяет обрабатывать изображения если не на полной
частоте прошессора, то, по крайней мере, на частоте значительно
более высокой, чем частота шины расширения. Отчасти эту проблему
можно решить применением графических ускорителей, но остаются
еще и другие устройства, которые сдерживает стандарт ISA,
например, быстродействующие жесткие диски и сетевые карты. Таким
образом мы приходим к необходимости разработки нового стандарта
шины для связи процессора с быстродействующими внешними
устройствами.
Шина VESA Local Bus.
Первой широко применяемой локальной шиной стала VLBus, предло-
женная ассоциацией VESA (Video Electronics Standard
Association) в 1992 году. Эта 32-разрядная шина ориентирована
на семейство 486 и функционирует на тактовой частоте процессо-
ра. Поскольку она не является буфферизованной, число слотов
подключения к шине ограничено 3 (При тактовой частоте 50МГц
часто рекомендуется для повышения надежности использовать не
более 2-х слотов, а на частотах 66 МГц и выше эта шина практи-
чески не используется). Достоинства шины - простота, дешевизна,
высокая скорость передачи данных (~34 МБ/с средняя, до 120МБ/с
- пиковая скорость) - обусловили признание этой шины в качес-
тве промышленного стандарта. Новый стандарт нашел широкое при-
менение не только для видеосистемы, но и для запоминающих ус-
тройств и сетевого интерфейса. Стандарт распространяется также
на конструкцию разъема, что позволило создать обширный рынок
взаимозаменяемых плат. В настоящее время подготовлена новая
спецификация шины, предусматривающая расширение до 64 разрядов.
В VLBus-2 предусмотрены меры по повышению устойчивости работы.
Шина PCI.
А пока Ассоциация... разрабатывает новые стандарты своей ло-
кальной шины, скромная корпорация Intel в том же 1992 году
предложила собственную локальную шину - Peripherial Components
Interconnect (PCI). Строго говоря, PCI относится скорее не к
локальным шинам, а к так называемым шинам-"пристройкам"
(mezzanine BUS), поскотльку имеет между собой и локальной ши-
ной процессора специальный согласующий узел - "мост". Сейчас
уже около 200 производителей компьютеров поддежали эту специфи-
кацию локальной шины, и с каждым днем становится все больше
компьютеров и плат расширения, использующих эту шину. Таким об-
разом, PCI фактически становится стандартом для всей отрасли.
а сегодняшний день шина PCI считается лучшей реализацией ло-
кальной шины. Она рассчитана на работу в мультипроцессорной
среде и на подключение высокопроизводительных периферийных ус-
тройств. Это, например, графические и мультимедиа-платы, диско-
вые контроллеры и сетевые адаптеры. При этом PCI не заменяет, а
дополняет традиционные шины расширения, т.е. наряду с PCI-пла-
тами расширения можно использовать и обычные ISA, EISA, MCA
платы расширения. Но PCI по сравнению с ними имеет несколько
огромных преимуществ - например, возможность самоконфигурации
системы при установке плат расширения, а также наличие контрол-
лера, что позволяет использование PCI в системах на базе раз-
ных процессоров. Еще одно преимущество PCI пр сравнению с VLBus
- это то, что PCI поддерживает до 10 слотов. В отличие от
VLBus, шина PCI работает на фикстрованной тактовой частоте
33МГц и предусматривает напряжение питания для контроллеров как
5, так и 3.3 вольта. Новая спецификация PCI 2.1. является
64-разрядной и и функционирует на тактовых частотах 33 и 66МГц.
Скорость передачи данных может достигать 520МВ/s, что сравнимо
с возможностями процессоров Pentium 90/100. (Вопрос скорости
передачи данных очень интересен, так как в разных источниках
данные могут отличаться чуть ли не на порядок. Самой скромной
как всегда оказывается Intel - всего 132 МБ/сек. Видимо, Intel
имеет в виду т.н. "sustained"-скорость, т.е. среднюю, а 520
МБ/с - это "burst" - пиковая скорость передачи) Шина PCI стала
фактически стандартом для систем класса Pentium и практически
вытеснила шину VLBus даже для 486 систем. Связано это, во-пер-
вых, с ориентацией на использование режима самоконфигурации
(Plug and Play), полная поддержка которого предусмотрена в
Windows 95. В отличие от VLBus, спецификация PCI предусматри-
вает необходимые для его реализации средства (следует отметить,
тем не менее, что большинство плат с шиной PCI пока не поддер-
живают режим Plug&Play, для этого необходима специальная вер-
сия BIOS). Во-вторых, шина PCI является процессорно-независи-
мой и применяется также и в других платформах. Поэтому изгото-
вители графических адаптеров, контроллеров и т.п. активно под-
держивают применение PCI. В-третьих, цены на микросхемы кон-
троллеров, реализующих управление шиной, значительно урали, так
чтостоимость устройств с VLB и PCI практически сравнялась. И
последнее, но очень важное обстоятельство - активная работа по
внедрению шины PCI привела к резкому уменьшению количества
проблем с совместимостью, которые возникали на ранних этапах.
Кроме того, в PCI поддерживается арбитраж (естественно), кэш
второго уровня и собственный командный язык.
В заключение, хотелось бы отметить, что наиболее ярко
преимущества локальной шины проявляются при работе
видеосистемы, однако, по сведениям той же Intel, выигрыш в
производительности не очень большой - всего около 30%. Хотя,
разница должна стать заметнее с появлением более быстрых
процессоров.
Кстати, фирма Motorola, например, выбрала для своих систем на
PowerPC именно шину PCI. К тому же начали появляться системы с
мультишинной архитектурой, содержащие слоты для ISA, VLB и PCI
так сказать, "в одном флаконе".
Часть последняя. Заключение.
Итак, господа, в этом докладе (или реферате, или статье
- кому как нравится) я попытался пролить свет на то разнообразие
шин, которых сейчас развелось, как собак. Я надеюсь, мне удалось
кое-как объяснить основные отличия между шинами расширения и
локальными шинами, а также между всеми шинами вообще.
Прошу не судить строго мое "творение" - как могу, так и
пишу.
Часть самая последняя. Литература.
Более подробно можно о шинах (и не только) почитать в
"Библии" Уинна Роша, а еще лучше в славной книге "Inside the IBM
PC" Питера Нортона (если много денег).
При подготовке были использованы статьи из журнала
"Press Enter", "Hard and Soft", а также *.faq, скачанные с
Брестской BBS BRUS, и еще кое-чего.
Как говорится,
┌──┬──┬──┐
With my best wishes & regards, │ └┤ ││ │
Serg Simakovich AKA ├┐ │ ┌┤│││.
└──┴──┴┴┴┘
[ *Scientific Programming Society* ]
■ 2:454/2.9 aka /7.25@FidoNet
*****************************************************************
*****************************************************************
***** *****
***** Автор не несет ответственности за ущерб принесенный *****
***** этой статьей при неумелом ее использовании или *****
***** использовании не по назначению. *****
***** *****
*****************************************************************
*****************************************************************