Шина MCA
"До 1 апреля 1987 года жизнь в мире РС была
крайне простой: в байте было 8 бит, и при этом существовала
только одна шина, по которой эти биты можно было
передавать. Конечно, эта шина была "двух размеров"
- разрядностью 8 и 16 бит - но это была одна шина.
Но на следующий день - 2 апреля - все изменилось,
и, кажется, простота больше никогда не вернется."
В 1987 году компания IBM
прекратила выпуск серии
РС/АТ и начала производство линии PS/2. Одним из
главных отличий нового поколения персональных компьютеров
была новая системная шина MCA (Micro Channel
Architecture).
Эта шина не обладала обратной
совместимостью с ISA,
но зато содержала ряд передовых
для своего времени решений:
- 8/16/32-разрядная передача данных
- Пропускная способность составила 20 Mb/s при
частоте 10 MHz и максимальной пропускной способности
160 Mb/s (!), то есть больше, чем у 32-разрядной PCI
- Поддержка нескольких bus master. Любое устройство,
подключенное к шине, может получить право на ее
исключительное использование для передачи или
приема данных с другого соединенного с ней устройства.
Такое устройство, по сути, представляет собой
специализированный процессор, который может осуществлять
обмен данными по шине независимо от основного
процессора. Работу устройств арбитр шины (CACP
- Central Arbitration Control Point). При распределении
функций управления шиной арбитр исходит из уровня
приоритета, которым обладает то или иное устройство
или операция. Всего таких уровней четыре (в порядке
убывания):
- Регенерация системной памяти
- Прямой доступ к памяти (DMA)
- Платы адаптеров
- Процессор
Если устройству необходим контроль над шиной,
оно сообщает об этом арбитру. При первой возможности
(после обработки запросов с более высокими приоритетами)
арбитр передает ему управление шиной. Вне системы
приоритетов обслуживают только немаскируемые
прерывания (NMI - Non-Maskable Interrupts),
при возникновении которых управление немедленно
передается процессору
- 11-уровневые прерывания (11-level triggered
interrupts) вместо двухуровневых (trigger-edged)
у ISA позволяли делить (share) прерывания
между устройствами, что в свою очередь позволило
излечить одну из болезней первых PC - нехватку
линий IRQ
- 24 или 32 адресных линии позволяли адресовать
до 4 GB памяти
- Автоматическое конфигурирование устройств существенно
упростило установку новых плат. У компьютеров
с шиной MCA нет никаких перемычек или переключателей
- ни на системной плате, ни на платах расширения.
Вместо использования адресов портов ввода-вывода,
зашитых в железо, центральный процессор назначает
их при старте системы, базируюсь на информации,
считанной из ROM карты
- Асинхронный протокол передачи данных снижал
вероятность возникновения конфликтов и помех между
устройствами, подключенными к шине.
Не правда ли, очень продвинутый для 1987 года стандарт?
Однако эта архитектура не получила широкого распространения,
в первую очередь потому, что она была полностью
не совместима с ISA. Если пользователь переходил
на использование новой шины, то он был вынужден
покупать и все необходимые платы расширения с МСА-интерфейсом.
Хотя, возможно, развитие персональных компьютеров
пошло бы по-другому если бы не одно но. Дело в том,
что руководство IBM, посчитав свое лидирующее положение
на рынке персональных компьютеров незыблемым, предложило
независимым производителям, желающим использовать
шину МСА, совершенно кабальные условия, включающие
требование заплатить за использование шины ISA во
всех ранее произведенных компьютерах. Как Вы сами
понимаете, желающих оказалось, мягко скажем, немного.
Из серьезных компаний только Apricot и Olivetti
поддержали новую архитектуру (причем Olivetti принимала
активное участие в разработке конкурирующего стандарта
- EISA Большинство покупателей систем PS/2 "покупали
IBM", а не МСА. В результате огромная работа - было
разработано 6 типов слотов -
- 16-разрядные (основные слоты, которые устанавливается
во все компьютеры с шиной МСА)
- 32-разрядные (устанавливаются на компьютерах
с шиной МСА и процессором 386DX и выше. Так же,
как и в ISA, являются только расширением основного
слота, но, поскольку разрабатывались одновременно
с шиной, конструкция получилась более логичной)
- 16 и 32-разрядные с дополнениями для плат памяти
(устанавливаются в некоторых компьютерах с шиной
МСА, например, PS/2 моделей 70 и 80, имеют 8 дополнительных
контактов для работы с платами расширения памяти,
расположенных в самом начале разъема, обращенном
к задней стенке компьютера, перед основными контактами)
- 16 и 32-разрядные с дополнениями для видеоадаптеров
(предназначены для увеличения быстродействия видеосистемы.
Обычно в компьютере с шиной МСА установлен один
такой слот. 10 дополнительных контактов также
расположены в начале разъема и позволяют плате
видеоадаптера получить доступ к встроеннoй в системную
плату схеме VGA).
- пропала фактически даром. На данный момент ссылки
на архитектуру МСА практически не встречаются даже
на сайте IBM.
Local Bus
Все описанные ранее шины (за исключением MCA) имеют
общий недостаток - сравнительно низкую пропускную
способность. Это связано с тем, что шины разрабатывались
в расчете на медленные процессоры. В дальнейшем
быстродействие последнего возрастало, а характеристики
шин улучшались в основном экстенсивно, за счет добавления
новых линий. Препятствием для повышения частоты
шины являлось огромное количество выпущенных плат,
которые не могли работать на больших скоростях обмена
(МСА это касается в меньшей степени, но в силу вышеизложенных
причин эта архитектура не играла заметной роли на
рынке). В то же время в начале 90-х годов в мире
персональных компьютеров произошли изменения, потребовавшие
резкого увеличения скорости обмена с устройствами:
- Создание нового поколения процессоров типа Intel
80486, работающих на внешних частотах до 66 MHz
- Увеличение емкости жестких дисков и создание
более быстрых контроллеров
- Разработка и активное продвижение на рынок графических
интерфейсов пользователя (типа Windows) привели
к созданию новых графических адаптеров, поддерживающих
более высокое разрешение и большее количество
цветов (VGA и SVGA), что привело к нехватке пропускной
способности имеющихся шин (MCA, как уже говорилось,
не в счет).
Очевидным выходом из создавшегося положения является
следующий: осуществлять часть операций обмена данными,
требующих высоких скоростей, не через шину ввода/вывода,
а через шину процессора, примерно так же, как подключается
внешний кэш.
И в августе 1992 года ассоциация Video Electronic
Standard Association (VESA) - ассоциация, представляющая
более ста компаний - предложила использовать в компьютерах
на базе процессоров Intel-80486 подобную архитектуру,
называемой теперь шиной VESA (она же VL-Bus, она
же Local Bus). Иначе говоря шина VESA является продолжением
той магистрали, по которой микропроцессор обменивается
с оперативной памятью. Поэтому она оказалась очень
дешевой в реализации, и в 1993-1994 годах VL-Bus
получила широчайшее распространение на компьютерах
с процессором 80486 и его модификациях.
Основные характеристики VL-bus таковы:
- Поддержка процессоров серий 80386 и 80486. Шина
разработана для использования в однопроцессорных
системах, при этом в спецификации предусмотрена
возможность поддержки х86-несовместимых процессоров
с помощью моста (bridge chip)
- Максимальное количество bus master - 3 (не включая
контроллер шины). При необходимости возможна установка
нескольких подсистем для поддержки большего числа
master'ов
- Несмотря на то, что изначально шина была разработана
для работы с видеоконтроллерами, возможна поддержка
и других устройств (например, контроллерa жесткого
диска)
- Стандарт допускает работу шины на частоте до
66 MHz, однако электрические характеристики разъема
VL-bus ограничивают ее до 50 MHz (это ограничение,
естественно, не относится к интегрированным в
материнскую плату устройствам).
- Двунаправленная (bi-directional) 32-разрядная
шина данных поддерживает и 16-разрядный обмен.
В спецификацию заложена возможность 64-разрядного
обмена
- Поддержка DMA обеспечивается только для bus
master'ов. Шина не поддерживает специальных инициаторов
DMA
- Максимальная теоретическая пропускная способность
шины - 160 Мb/s (при частоте шины 50 MHz), а стандартная
- 107 Мb/s при частоте 33 MHz
- Поддерживается пакетный режим обмена (для материнских
плат 80486, поддерживающих этот режим). 5 линий
используется для идентификации типа и скорости
процессора, сигнал Burst Last (BLAST#)
используется для активизации этого режима. Для
систем, не поддерживающих этот режим, линия устанавливается
в 0
- Слот VL-bus устанавливается в линию за слотами
ISA/EISA/MCA, поэтому VL-платам доступны все линии
этих шин
- Поддерживается как интегрированный в процессор
кэш, так и кэш на материнской плате
- Напряжение питания 5 V. Устройства с уровнем
выходного сигнала 3.3 V поддерживаются при условии,
что они могут работать с уровнем входного сигнала
5 V.
Появление локальной шины было огромным шагом вперед
во всей компьютерной индустрии, так как она смогла
устранить сразу два узких места в системе: низкие
скорости обмена данными с графической картой и жестким
диском. Однако скоро выяснилось, что VESA - это
ничуть не более, чем сиюминутное решение. Это связано
с большим перечнем серьезных недостатков, присущих
шине, а именно:
- Ориентация на 486-ой процессор. VL-bus жестко
привязана к шине процессора 80486, которая отличается
от шин CPU Pentium и процессоров следующих поколений
- Ограниченное быстродействие. Как уже было сказано,
реальная частота VL-bus не может составлять больше
50 MHz. Причем при использовании процессоров с
множителем частоты шина использует основную частоту
(так, для 486DX2/66 частота шины будет 33 MHz).
Впрочем, для начала-середины 90-х годов скорости
было вполне достаточно, однако уже через несколько
лет ее могло бы и не хватить
- Схемотехнические ограничения. К качеству сигналов,
передаваемых по шине процессора, предъявляются
очень жесткие требования, соблюсти которые можно
только при определенных параметрах нагрузки каждой
линии шины. По мнению Intel, установка недостаточно
аккуратно разработанных VL-плат может привести
не только к потерям данных и нарушениям синхронизации,
но и к повреждению системы
- Ограничение количества плат. Это ограничение
вытекает также из необходимости соблюдения ограничений
на нагрузку каждой линии
Несмотря на существующие недостатки, локальная
шина смогла все же завоевать на какое-то время лидерство
на рынке, ибо реальной альтернативы в то время не
было. Однако это лидерство было недолгим, поскольку
корпорация Intel скоро разработала свою новинку
- шину PCI . По мнению компании, VL-bus базировалась
на технологиях 11-летней давности и являлась всего
лишь "заплаткой", компромиссом между производителями
(что, в принципе, было верно). Правда, VESA заявляла,
что обе шины могут уживаться совместно в одной системе.
Intel соглашалась, что такое соседство возможно,
но задавала встречный убийственный вопрос: "А зачем?".
Так что VLB начала быстро сходить с дистанции начиная
уже со второй половины 90-х годов, уступая место
новоявленной сопернице.
|