Введение

Компьютерная шина Micro Channel, или микроканальная шина, — это запатентованная 16- или 32-битная параллельная компьютерная шина, представленная компанией IBM в 1987 году и использовавшаяся в компьютерах PS/2 и других до середины 1990-х годов. Её название обычно сокращают как "MCA", хотя IBM этого не делает. В продукции IBM она пришла на смену шине ISA и впоследствии сама была заменена архитектурой шины PCI.

Предыстория

Развитие Micro Channel было вызвано как техническими, так и бизнес-факторами.

Доля рынка

Считалось, что, создав новый стандарт, IBM вновь получит контроль над стандартизацией посредством обязательного лицензирования. Однако, поскольку получение патентов может занять три года и более, к моменту анонса Micro Channel лицензироваться могли только патенты, связанные с ISA. Патенты на важные функции Micro Channel, такие как автоматическая конфигурация Plug and Play, были выданы IBM лишь после того, как PCI вытеснил Micro Channel с рынка. Общая реакция была сдержанной, а влияние Micro Channel на мировом рынке персональных компьютеров оказалось незначительным.

Дизайн

Архитектура Micro Channel была разработана инженером Четом Хитом. Многие из разработанных карт Micro Channel использовали контроллер интерфейса CHIPS P82C612 MCA, что значительно облегчило создание реализаций MCA.

Обзор

Micro Channel был в основном 32-битной шиной, но система также поддерживала 16-битный режим, разработанный для снижения стоимости разъемов и логики в машинах на базе Intel, таких как IBM PS/2. Однако ситуация была не столь простой: как 32-битные, так и 16-битные версии изначально имели ряд дополнительных разъемов для карт памяти, что привело к огромному количеству физически несовместимых карт памяти, подключаемых к шине. Со временем память перешла на локальную шину процессора, что устранило эту проблему. С положительной стороны, качество сигнала значительно улучшилось, поскольку Micro Channel добавил контакты заземления и питания и расположил их таким образом, чтобы минимизировать помехи: заземление или питание находились в пределах трех контактов от каждого сигнала. Также было добавлено расширение разъема для видеокарт. Это расширение использовалось для аналогового сигнала с видеокарты, который затем направлялся через системную плату на собственный выход монитора системы. Преимущество заключалось в том, что на системных платах Micro Channel могла быть установлена базовая графическая система VGA или MCGA, а графические карты более высокого уровня (XGA или другие ускорители) могли использовать тот же порт. Дополнительные карты могли обходиться без устаревших VGA-режимов, используя встроенную графическую систему при необходимости, и позволяли использовать один разъем системной платы для графики, который можно было модернизировать. Карты Micro Channel также имели уникальный 16-битный программно-читаемый идентификатор, который стал основой ранней системы Plug and Play. BIOS и/или ОС могли считывать идентификаторы, сравнивать их со списком известных карт и выполнять автоматическую настройку системы. Это приводило к сбоям при загрузке, когда более старая версия BIOS не распознавала новую карту, вызывая ошибку при запуске. В свою очередь, это вынудило IBM регулярно выпускать обновленные загрузочные диски (The CMOS Setup Utility). Достаточно полный список известных идентификаторов доступен (см. раздел «Внешние ссылки»). В комплекте с этими загрузочными дисками шли ADF-файлы, которые считывались программой настройки и предоставляли информацию о конфигурации карты. ADF был простым текстовым файлом, содержащим информацию об адресации памяти и прерываниях карты. Хотя карты MCA стоили почти вдвое дороже, чем сопоставимые карты, не относящиеся к MCA, маркетинг подчеркивал, что любому пользователю было легко обновить или добавить дополнительные карты в свой ПК, тем самым экономя значительные расходы на услуги техника. В этой критической области самое большое преимущество архитектуры Micro Channel было одновременно и ее самым большим недостатком, и одной из основных причин ее упадка. Чтобы добавить новую карту (видео, принтер, память, сеть, модем и т. д.), пользователю просто нужно было подключить карту MCA и вставить настроечную дискету (которая поставлялась с ПК), чтобы автоматически интегрировать новую карту в исходное оборудование, вместо того чтобы обращаться к дорого обученному технику, который мог бы вручную внести все необходимые изменения. Все настройки прерываний (часто сложная задача) и другие изменения выполнялись автоматически ПК, считывая старую конфигурацию с дискеты, внося необходимые изменения в программное обеспечение, а затем записывая новую конфигурацию обратно на дискету. Однако на практике это означало, что пользователь должен был хранить ту же дискету, привязанную к этому ПК. Для небольшой компании с несколькими ПК это было неудобно, но выполнимо. Но для крупных организаций с сотнями или даже тысячами ПК постоянное сопоставление каждого ПК с собственной дискетой было логистически маловероятным или невозможным. Без оригинальной обновленной дискеты никакие изменения в картах ПК не могли быть внесены. После того, как этот опыт повторился тысячи раз, руководители бизнеса поняли, что их идеальный сценарий простоты обновления не работал в корпоративном мире, и они стали искать лучший процесс.

Передача данных

Базовая скорость передачи данных микроканала была увеличена с 8 МГц до 10 МГц. Это могло быть скромным увеличением с точки зрения тактовой частоты, но большая ширина шины, в сочетании с выделенным контроллером шины, использовавшим передачи в режиме burst mode, означала, что эффективная пропускная способность была до пяти раз выше, чем у ISA. Для более быстрой передачи адресная шина могла быть повторно использована для данных, что еще больше увеличивало эффективную ширину шины. При частоте 10 МГц достигалась пропускная способность 40 МБ/с при 32-битной ширине, а в более поздних моделях RS/6000 скорость передачи данных была увеличена до 20 МГц, а пропускная способность – до 80 МБ/с. Некоторые функции микроканала с более высокой пропускной способностью были доступны только на платформе RS/6000 и первоначально не поддерживались на картах, работающих на платформе Intel. Благодаря bus mastering, каждая карта могла напрямую взаимодействовать с другой, что обеспечивало производительность, независимую от центрального процессора. Одним из потенциальных недостатков многомастерной архитектуры были возможные коллизии при попытке нескольких карт одновременно получить управление шиной, но Micro Channel включал в себя механизм арбитража для устранения таких ситуаций и позволял мастеру использовать burst mode. Карты Micro Channel имели полный контроль над шиной до 12 миллисекунд, что было достаточно для буферизации входящих данных от устройств, таких как ленточные накопители и устройства связи, которые могли переполнить буфер. Поддержка нескольких bus master и улучшенный арбитраж позволяли нескольким таким устройствам сосуществовать и совместно использовать системную шину. Устройства, поддерживающие bus mastering в Micro Channel, могли даже использовать шину для прямого обмена данными друг с другом (peer-to-peer) со скоростью, превышающей скорость системного процессора, без какого-либо вмешательства системы. Теоретически, системы на архитектуре Micro Channel могли масштабироваться, как мэйнфреймы, путем добавления только интеллектуальных bus master, без необходимости периодической модернизации центрального процессора. Улучшенный арбитраж обеспечивал более высокую пропускную способность системы за счет более эффективной передачи управления. Усовершенствованная обработка прерываний подразумевала использование прерываний, чувствительных к уровню, для обработки системных запросов. Вместо выделенной линии прерывания можно было совместно использовать несколько линий для обеспечения большего количества возможных прерываний, что решало проблему конфликтов линий прерывания шины ISA. Все сигналы запроса прерывания были "публичными" в архитектуре Micro Channel, что позволяло любой карте в шине функционировать как процессор ввода-вывода для непосредственного обслуживания прерываний устройств ввода-вывода. ISA ограничивала всю такую обработку только процессором системы. Аналогично, сигналы запроса и подтверждения bus mastering были публичными, что позволяло устройствам, подключенным к шине, отслеживать задержку для управления внутренним буфером процессоров ввода-вывода. Эти функции не были реализованы в PCI, что требовало, чтобы вся поддержка ввода-вывода осуществлялась исключительно процессором системной платы. Последним важным улучшением архитектуры Micro Channel был POS (Programmable Option Select) – программируемый выбор опций, который позволял выполнять все настройки программным путем. Сейчас это воспринимается как должное, но в то время настройка была сложной задачей для систем ISA. POS была простой системой, включавшей идентификаторы устройств в прошивке, которые должны были интерпретироваться драйверами компьютера. (Этот тип системы программной конфигурации сегодня известен как Plug and Play). Однако эта функция не оправдала ожиданий: автоматическая конфигурация работала хорошо, когда работала, но часто давала сбой, приводя к не загружаемому компьютеру, и устранение проблемы вручную было намного сложнее, чем настройка системы ISA, отчасти потому, что документация к устройству MCA обычно предполагала, что автоматическая конфигурация будет работать, и поэтому не предоставляла необходимой информации для ручной настройки, в отличие от документации к устройствам ISA, которая по необходимости содержала подробные сведения (однако физическое удаление и проверка всех настроек IRQ, а затем поиск и установка нового IRQ для нового устройства – если подходящий был доступен – для ISA не было приятным занятием и было недоступно многим пользователям. Очевидно, почему была предпринята попытка перейти к программной арбитражной конфигурации, и почему эта попытка в конечном итоге увенчалась успехом в виде PnP).

Прием

В ноябре 1983 года журнал The Economist заявил, что доминирование стандарта IBM PC на рынке персональных компьютеров не является проблемой, поскольку "это может способствовать развитию конкуренции". Журнал предсказал, что архитектура Micro Channel была впервые представлена вместе с выпуском линейки PS/2 в 1987 году, и три из четырех новых машин были оснащены ею. Ее использование в IBM распространилось на RS/6000, AS/400 и, в конечном итоге, на системы IBM 9370 – самые младшие представители линейки System/370. IBM лицензировала эту архитектуру другим компаниям за комиссию от одного до пяти процентов от выручки. Tandy Corporation первой выпустила компьютер на базе Micro Channel – модель 5000 MC, но глава компании Джон Роуч сказал: "Я удивлен, что вообще кто-то захочет ее использовать"; Tandy продавала этот компьютер, по его словам, только потому, что на него был некоторый спрос. NCR Corporation полностью приняла Micro Channel: они разработали и построили высокопроизводительные персональные компьютеры, рабочие станции и серверные платформы с ее поддержкой, включая собственные логические компоненты на основе архитектуры Micro Channel, такие как SCSI, графические адаптеры, сетевые карты и звуковые карты. Несколько других производителей, включая Apricot, Dell, Research Machines и Olivetti, также приняли ее, но лишь для части своего модельного ряда ПК. Несмотря на то, что MCA представляла собой значительное техническое улучшение по сравнению с ISA, вскоре стало очевидно, что IBM плохо организовала ее внедрение и маркетинг. IBM обладала сильными патентами на системные особенности архитектуры Micro Channel и требовала от производителей систем Micro Channel выплаты лицензионных сборов, а также активно добивалась патентов, чтобы блокировать продажу третьими лицами нелицензионных реализаций. Рынок клонов ПК не хотел платить IBM роялти за использование этой новой технологии и в основном оставался на 16-битной шине AT (которая была принята и переименована в ISA, чтобы избежать товарного знака "AT" от IBM) и ручной конфигурации, хотя VESA Local Bus (VLB) на короткое время приобрела популярность для машин Intel '486. Для серверов технические ограничения старой ISA были слишком серьезными, и в конце 1988 года "Группа девяти" во главе с Compaq объявила о создании конкурирующей высокопроизводительной шины – Extended Industry Standard Architecture (EISA). Она предлагала аналогичные преимущества Micro Channel, но с двумя дополнительными преимуществами: возможность использования старых плат ISA и независимость от контроля IBM. В течение нескольких лет EISA и Micro Channel боролись за долю рынка в сегменте серверов, но в 1996 году IBM фактически признала свое поражение, выпустив собственные серверы с шиной EISA. В 2001 году руководитель IBM Роберт Моффет заявил, что из ошибок компании на рынке ПК "самой очевидной является Micro Channel". В течение нескольких лет после появления в 1992 году PCI в значительной степени вытеснила Micro Channel, EISA и VLB.

Консорциум

В ответ на распространение EISA, IBM и тринадцать производителей карт Micro Channel и периферийных устройств сформировали Ассоциацию разработчиков Micro Channel. Этот консорциум был создан для рассмотрения и определения приоритетов в развитии Micro Channel, а также для поиска более эффективных способов распространения технической информации о Micro Channel среди сторонних разработчиков. К 1992 году в ассоциацию входило 92 члена, включая IBM. Даже после прекращения IBM выпуска систем MCA в 1995 году, консорциум продолжал проводить встречи и поддерживал онлайн-каталог устройств MCA.

Усыновление третьей стороной

В конце 1980-х – начале 1990-х годов было выпущено несколько компьютеров, не являющихся PS/2. Эти компьютеры сторонних производителей также назывались клонами PS/2 или клонами MCA. Первым компьютером стороннего производителя на базе микроканала стал Tandy Corporation 5000 MC в 1988 году. Несмотря на значительные затраты на исследования и разработки со стороны производителей компьютеров Micro Channel – частично из-за высоких лицензионных сборов, которые IBM взимала за право законного использования технологии Micro Channel – к 1990 году большинство клонов MCA не обладали полной совместимостью с архитектурой Micro Channel или платами расширения на базе Micro Channel. К моменту, когда IBM прекратила выпуск линейки персональных компьютеров PS/2 (которая в 1987 году послужила средством представления Micro Channel широкой публике), в 1992 году, NCR Corporation оставалась одним из немногих производителей, продолжавших выпускать клоны MCA.

Карты

Карты расширения для шины Micro Channel обычно предназначались для высокопроизводительных графических рабочих станций или серверов, обеспечивая подключения SCSI, Token Ring, Ethernet, IBM 5250 и IBM 3270.