isa adapter что это

ISA и EISA — одни из первых стандартов шин

В этой статье мы хотим рассказать вам о некогда хорошо известной, но теперь редко использующейся технологии – технологии ISA, а также сходной с ней технологии ЕISA.

История происхождения и принцип действия

ISA представляет собой устаревший стандарт системной шины и шины ввода/вывода персональных IBM-совместимых компьютеров, использовавшийся в 1980-х-начале 1990-х гг. Аббревиатура ISA расшифровывается как Industry Standard Architecture (промышленный стандарт архитектуры). Уже самое это название свидетельствует о том, что шина в то время являлась фактическим стандартом и была принята к использованию практически всеми производителями компьютерного оборудования.

8-разрядная ISA – это одна из самых старых технологий ПК, появившаяся практически одновременно с первыми компьютерами архитектуры IBM. Её внедрение позволило пользователям подключать дополнительные устройства в её слоты расширения. Впервые шина была разработана для систем на основе процессора Intel 8088 (PC и PC/ХT) еще в 1981 г. Позже, для процессора 80286 (PC/AT), для того, чтобы в полной мере реализовать его возможности, в 1984 г. была разработана 16-разрядная ISA.

Таким образом, существуют 2 основные версии шины – 8-битная и 16-битная. Имели место также единичные попытки некоторых разработчиков ввести свои оригинальные варианты 32-разрядной, но они не получили широкого распространения.

Шина имела несколько слотов расширения, количество которых в системах XT/AT варьировалось от 3 до 8, и в которые пользователь мог вставить дополнительные устройства – платы расширения. При этом слот ISA 16-битной версии разработан таким образом, чтобы в него можно было вставить 8-битные устройства. Слот 16-разрядной шины всего лишь несколько длиннее 8-битных и имеет 98 контактов; слот 8-битной версии имеет 62 контакта.

Максимальная пропускная способность 16-разрядной шины составляет чуть более 8 МБ/c. Устройства, вставленные в слот расширения, благодаря 24-адресным линиям шины могут адресовать 16 МБ памяти. Кроме того, она поддерживает 16 аппаратных прерываний, краткое описание которых мы приводили в статье, посвященной IRQ.

В первых версиях ISA работала на одинаковой частоте с процессором. Однако в последующих реализациях из-за того, что частота процессоров значительно увеличилась, шина получила возможность работать при помощи отдельного тактового генератора.

Как выглядит слот расширения ISA. Материнская плата с двумя 8-разрядными слотами и тремя 16-разрядными слотами.

Достоинства шины:

Тем не менее, она имела и ряд серьезных недостатков, которые побудили отказаться от ее использования:

EISA – улучшенная версия ISA

Эти недостатки была призвана устранить шина EISA (Extended ISA, т.е. расширенная ISA). В её разработке участвовали многие известные производители компьютерной техники, такие, как Compaq Computer, Epson, Hewlett-Packard, NEC, Zenith и некоторые другие.

EISA с самого начала позиционировалась, как преемница ISA, а не как ее конкурент. Поэтому она была полностью совместима с устройствами ISA. Устройства EISA должны были вставляться в слот такой же длины, как и 16-разрядный слот ISA, но отличались наличием дополнительных коннекторов. Она поддерживала функцию bus mastering для устройства, что позволяло передавать управление шиной какой-либо плате в слоте расширения. Также поддерживалась автоматическая конфигурация устройства. Однако она была ограниченной, поскольку для этой цели пользователю предлагалась специальная программная утилита, а новейшие на то время операционные системы, такие, как Windows 95, не были в состоянии автоматически конфигурировать устройства EISA.

Теоретическая пропускная способность EISA составляла 32 МБ/c, однако на практике из-за накладных расходов транспортных протоколов она составляла около 20 МБ/с.

В конце 1980-х, во время расцвета систем, основанных на процессорах 80386 и 486, EISA казалась весьма перспективной и сумела «убрать с дороги» тогдашний альтернативный проект от IBM – шину MCA. Но время ее активного применения оказалось сравнительно недолгим. Благодаря внедрению форм-фактора ATX а также получившей популярность технологии локальных шин, шины ISA и EISA практически вышли из употребления, уступив место такой современной локальной шине, как PCI. Тем не менее, разъемы ISA и EISA еще долго можно было встретить на материнских платах, где в качестве основной шины служила PCI.

Заключение

В этой статье мы привели краткое описание шин ISA и EISA, рассказали об их истории и принципах работы. Они стали важной вехой в развитии шин ввода/вывода и оказали большое влияние на развитие таких современных шин ввода/вывода, как PCI, PCI Express и AGP. Industry Standard Architecture до сих пор используется во многих старых компьютерах, а устройства с интерфейсом ISA до сих пор применяются во многих областях.

Источник

Шина ISA (Industrial Standard Architecture)

Устройства, подключенные к шине, делятся на две основных категории — bus masters и bus slaves. Bus masters — это устройства, способные управлять работой шины, т.е инициировать запись/чтение и т.д. Bus slaves — соответственно, устройства, которые могут только отвечать на запросы. Правда, есть еще «интеллектуальные слуги» (intelligent slaves), но мы их пока для ясности замнем. Ну вот, собственно, и все, что нужно знать про шины для того, чтобы понять, о чем пойдет речь дальше.

Компания IBM в 1981 представила новую шину для использования в компьютерах серии PC/XT. Шина была крайне проста по дизайну, содержала 53 сигнальных линии и 8 линий питания и представляла собой синхронную 8-битную шину с контролем четности и двухуровневыми прерываниями (trigger-edge interrupts), при использовании которых устройства запрашивают прерывания, изменяя состояние линии соответствующего IRQ с 0 на 1 или обратно. Такая организация запросов прерываний позволяет использовать каждое прерывание только одному устройству. Кроме того, шина не поддерживала дополнительных bus masters, и единственными устройствами, управляющими шиной, были процессор и контроллер DMA на материнской плате.

62-контактный слот включал 8 линий данных, 20 линий адреса (А0-А19), 6 линий запроса прерываний (IRQ2-IRQ7). Таким образом, объем адресуемой памяти составлял 1 Мбайт, и при частоте шины 4.77 МГц пропускная способность достигала 1.2 Мбайта/сек.

Забавно, что IBM не опубликовала полного описания шины с временными диаграммами сигналов на линиях данных и адреса, поэтому первым разработчикам плат расширения пришлось изрядно потрудиться. Для особо любопытных предоставляется возможность познакомиться с этой информацией.

Реализация bus mastering не была особенно удачной, поскольку, например, запрос на освобождение шины (‘Bus hang-off’) к текущему bus master обрабатывался несколько тактов, к тому же каждый master должен был периодически освобождать шину, чтобы дать возможность провести обновление памяти (memory refresh), или сам проводить обновление. Для обеспечения обратной совместимости с 8-битными платами большинстиво новых возможностей было реализовано путем добавления новых линий. Так как АТ был построен на основе процессора Intel 80286, который был существенно быстрее, чем 8088, пришлось добавить генератор состояний ожидания (wait-state generator). Для обхода этого генератора используется свободная линия (контакт В8 NOWS-‘No Wait State’) исходной 8-битной шины. При установке этой линии в 0 такты ожидания пропускаются. Использование в качестве NOWS линии исходной шины позволяло разработчикам делать как 16-битные, так и 8-битные «быстрые» платы.

Новый слот содержал 4 новых адресных линии (LA20-LA23) и копии трех младших адресных линий (LA17-LA19). Необходимость в таком дублировании возникла из-за того, что адресные линии ХТ были линиями с задержкой (latched lines), и эти задержки приводили к снижению быстродействия периферийных устройств. Использование дублирующего набора адресных линий позволяло 16-битной карте в начале цикла определить, что к ней обращаются, и послать сигнал о том, что она может осуществлять 16-битный обмен. На самом деле, это ключевой момент в обеспечении обратной совместимости. Если процессор пытается осуществить 16-битный доступ к плате, он сможет это сделать только в том случае, если получит от нее соответствующий отклик IO16. В противном случае чипсет инициирует вместо одного 16-битного цикла два 8-битных. И все бы было хорошо, но адресных линий без задержки всего 7, поэтому платы, использующие диапазон адресов меньший, чем 128Кбайт, не могли определить, находится ли переданный адрес в их диапазоне адресов, и, соответственно, послать отклик IO16. Таким образом, многие платы, в том числе платы EMS, не могли использовать 16-битный обмен. Подробнее о функционировании шины ISA можно прочитать в описании.

Несмотря на отсутствие официального стандарта и технических «изюминок» шина ISA превосходила потребности среднего пользователя образца 1984 года, а «засилье» IBM AT на рынке массовых компьютеров привело к тому, что производители плат расширения и клонов AT приняли ISA за стандарт. Такая популярность шины привела к тому, что слоты ISA до сих пор присутствуют на всех системных платах, и платы ISA до сих производятся. Правда, Microsoft в спецификации PC99 предусматривает отказ от ISA, но, как говорится, до этого нужно еще дожить.

Читайте также:  при какой температуре кислород превращается в жидкость

Источник

Эволюция шин для видеокарт: от ISA до PCIe

В далеком 1981 году создатели IBM PC и подумать не могли о том, что всего через двадцать пять лет компактные домашние компьютеры смогут выдавать практически фотореалистичную картинку с миллионами полигонов, а игровые миры раскинутся на тысячи виртуальных километров.

Интересно, что сказал бы Герман Холлерит (Herman Hollerith), узнав, что основанная им компания по изготовлению перфокарт и счетных машин в очередной раз оказалась у истоков наших ретро-исследований?

От простого к сложному

В 1981 году компания IBM представила первый в мире персональный компьютер — IBM PC. В нем использовалась допотопная видеокарта с возможностью вывода монохромного изображения, но не это главное. Все наше внимание приковано к шине Industry Standard Architecture (ISA), разработанной в недрах IBM. Основное назначение ISA — соединение периферийных компонентов с системой.

Шина ISA использовалась далеко не только (и даже не столько) для нужд видеокарт. Сторонние производители выпустили массу дополнительных устройств для расширения возможностей компьютера. Оно и понятно, ведь тогда в системную плату не устанавливали звуковой кодек, сетевой контроллер и т.д. Все это можно было реализовать лишь с помощью карт расширения. Сами по себе ISA-порты не сильно отличались от более привычных PCI-разъемов.

Предшественниками полноценных видеокарт были чипы с возможностью вывода спрайтов на экран. Графические возможности компьютеров в те времена не волновали людей: когда IBM представила первый в мире чип с поддержкой вывода нескольких цветов, люди и не поняли, зачем это нужно. Графические карты для интерфейса ISA в середине 1980-х выпускали компании Cirrus Logic, Avance Logic, ATI, S3.

EISA заткнула за пояс шину MCA от IBM и стала стандартом де-факто.

Изначально у шины ISA было много ограничений: недостаточная пропускная способность, малое число прерываний, система распределения питания не ахти. Заменить ISA должна была шина Micro Channel Architecture (MCA), представленная в 1987 году вместе с компьютером IBM PS/2. Новая разработка решила многие проблемы, свойственные ISA: частота шины поднялась до 10 МГц, появился вменяемый Plug-n-Play (до этого прописывать новое устройство в систему приходилось вручную), шина стала 32-битной. Теоретическая пропускная способность MCA достигала 66 Мб/с, на практике — максимум 40 Мб/с. Устройства наконец-то могли общаться друг с другом напрямую, минуя центральный процессор. С такими улучшениями MCA могла бы стать индустриальным стандартом, но IBM сама все испортила. Компания не стала развивать рынок периферии для новой шины, более того, тщательно тормозила этот процесс — сторонние производители должны были получать специализированный ID для каждого устройства, за право выпуска устройств под MCA нужно было платить лицензионные отчисления и роялти. И это при том, что IBM не получила патенты на шину.

История сохранила лишь несколько упоминаний о видеокартах под MCA. Очевидно, что производители испугались всех трудностей, связанных с лицензированием и получением ID. Да и стоило ли мучиться? Компьютеры с шиной MCA оказались значительно дороже аналогов с использованием ISA. Все большей популярностью пользовались системы от Dell, Research Machines и Olivetti. Самые известные дискретные видеокарты для MCA — это монструозные IBM XGA, XGA-2, несколько моделей от Infotronic, Actix и ATI. Кстати, примерно в то же время появился разъем VGA (D-sub) для подключения мониторов.

Видеокарта ATI Mach32 для шины VLB едва помещалась в корпуса того времени. Да-да, и тогда выпускали громадные видеокарты.

Производителям компьютеров основательно поднадоела политика IBM. В итоге они объединились и начали работать над альтернативным стандартом. Альянс AST Research, Compaq, Epson, Hewlett-Packard, NEC, Olivetti, Tandy, WYSE и Zenith Data Systems шутливо назвали «Бандой девяти». Результаты их труда обозначились уже в 1988 году, когда партнеры представили 32-битную шину Extended Industry Standard Architecture (EISA). Она обладала всеми преимуществами MCA, но при этом представляла собой лишь надстройку над классической ISA, что позволило сохранить совместимость с 8- и 16-битными компонентами. Лицензия на шину стоила копейки.

Внешне порты EISA были похожи на 16-битные разъемы ISA — они точно так же были разделены на части для сохранения совместимости. С точки зрения производителей, шина EISA не сильно отличалась от оригинальной ISA, так что и видеокарт с ее поддержкой было выпущено предостаточно.

Надстройка продлила жизнь ISA, но в начале 1990-х была представлена шина VESA Local Bus (VL-bus, VLB). За ее разработку ответственна всем известная ассоциация Video Electronics Standards Association (VESA), основанная NEC в середине 1980-х годов. Почему бы не успокоиться на время и не продолжить использование EISA? Все просто — производителям опять не хватало скорости. Решением стала совершенно неудобная по современным меркам «добавка» в виде PCI-образного порта, который располагался в один ряд с 16-битным разъемом ISA, таким образом продлевая его. Устройство с поддержкой VLB устанавливалось сразу в два разъема — порт VLB обслуживал обращения к памяти, а ISA обрабатывал прерывания. Топорное решение, ничего не скажешь.

Несмотря на все недостатки, VLB стала стандартом де-факто в компьютерах с процессорами Intel 80486. Многочисленные производители видеокарт представили длинные модели с двумя разъемами.

В 1991 году ATI выпустила видеокарту Mach 8, которая могла обрабатывать картинку без помощи процессора. Уже в 1992 году последовала Mach 32 с возможностью ускорения обработки графического интерфейса Windows. Начались первые войны за рынок графики. В стычках участвовали S3, Cirrus Logic, ATI, PowerVR, Rendition и более мелкие игроки. На горизонте замаячили трехмерные пространства и аппаратное ускорение графики.

Назад в будущее

Проследив за компьютерным рынком, Intel решила взять все в свои руки и начала работу над шиной Peripheral Component Interconnect (PCI). Intel подошла к вопросу со всей серьезностью и организовала специальную группу для продвижения стандарта — PCI Special Interest Group (PCI-SIG). В нее вошли представители наиболее крупных IT-компаний.

Карта расширения с четырьмя дополнительными разъемами ISA. Такие устройства использовали, когда доступных портов уже не хватало.

Финальные спецификации PCI 1.0 были готовы к 1993 году. В серверах новый интерфейс заменил и EISA, и MCA. Захват рынка настольных компьютеров произошел не сразу — на тот момент люди были вполне довольны возможностями VLB. С появлением мощных процессоров Pentium недостатки шины стали очевидны — пользователям не давали жить постоянные помехи, наводки от оборудования и испорченные данные на жестких дисках.

В один прекрасный момент Intel представила процессор Pentium Pro в паре с новым чипсетом, в нем место VLB не нашлось. Да, вот так просто компания взяла, да и убрала разъем. Силовые наклонности Intel проявляются и по сей день, ведь именно она форсировала переход на Serial ATA, ратовала за отказ от PS/2 в пользу USB. Что интересно, интерфейс EISA тогда сохранили — соответствующие разъемы оставались на платах еще довольно долго.

К выходу Pentium II в 1995 году PCI-SIG представила спецификации PCI 2.0 (33 МГц). В новой версии была решена проблема прерываний и определения установленных устройств — под эти цели отвели дополнительный канал связи. Периферия могла свободно обращаться к памяти, выделять для себя необходимые участки, а технологию Plug-n-Play довели до ума.

Участники PCI-SIG не почивали на лаврах и продолжали работу над стандартом — в последующие годы появились ревизии 2.1, 2.2 и даже 3.0. Самая ходовая версия PCI обладала пропускной способностью 133 Мб/с. Тем временем на рынке видеокарт только разгоралась борьба за место под солнцем. Производители работали над реализацией аппаратного ускорения 3D-графики. Ярчайшие представители той эпохи — разновидности S3 ViRGE и первый комбинированный 2D/3D графический ускоритель ATI Rage. Не выдержав конкуренции, рынок видеокарт начали покидать различные компании. Многие из них — например, Cirrus Logic — перепрофилировались и успешно существуют до сих пор.

Читайте также:  что делать если в фортнайт слетают настройки

Разъемы PCI Express даже внешне не похожи на PCI, от одноименного предшественника остались лишь воспоминания.

Все описанные тогдашние модели использовали интерфейс PCI — до поры до времени он обеспечивал достаточную пропускную способность. История шины как идеального интерфейса для видеокарт стала подходить к концу с появлением на рынке компаний 3Dfx и NVIDIA. К 1997 году последняя представила сравнительно мощную Riva 128, ATI продолжила развивать Rage, а 3Dfx выпустила легендарные 3D-акселераторы Voodoo и Voodoo 2. Несмотря на то, что шина PCI позволяла вытворять фокусы, вроде установки двух Voodoo 2 и объединения их в режим SLI, пропускной способности стало не хватать. И снова на арену вышла Intel.

Главное уязвимое место шины PCI заключается в том, что 133 Мб/с делятся между всеми установленными устройствами. Стало быть, для требовательной графической карты нужен обособленный разъем. На разработку Accelerated Graphics Port (AGP) ушло немного времени. Первую версию интерфейса представили вместе с процессорами Pentium II для Slot 1. Шина AGP 1x обеспечила пропускную способность до 266 Мб/с. Впервые соединение с процессором было прямым — их «общению» никто больше не мешал. Появилась дополнительная адресация, которая позволила видеокартам посылать новый запрос во время получения уже заказанных данных.

Первая волна видеокарт под AGP не заставила себя долго ждать. В числе пионеров были Rendition Verite V2200, 3dfx Voodoo Banshee, NVIDIA RIVA 128, 3Dlabs PERMEDIA 2, Intel i740, ATI Rage, Matrox Millennium II и S3 ViRGE GX/2. Разумеется, многие из них при работе задействовали переходной мост.

В дальнейшем Intel совершенствовала шину AGP — появились AGP 2x, AGP 4x и AGP 8x. Каждая новая версия отличалась от предыдущей еще большей пропускной способностью и улучшенными электротехническими характеристиками. AGP 8x обладала внушительной пропускной способностью 2133 Мб/с. Достигнуть этого предела производители видеокарт не успели, по команде Intel индустрия двинулась дальше.

На протяжении всей истории человечества всегда находились провокаторы в хорошем смысле слова, выдумщики и просто светлые головы. Люди, которые никогда не сидели на месте и старались привнести в мир что-то новое. Встречайте одного из таких — Чета Хита (Chet Heath).

Этот сотрудник IBM с тридцатилетним стажем отвечал за разработку многих ключевых компонентов, которые в том или ином виде присутствуют в компьютерах и по сей день. В нашей статье мы затронули сразу два из них — шину MCA и технологию Plug-n-Play. Подобных ему в IBM называют «дикими утками» (wild duck), и именно они вращают колесо прогресса.

Хит пока является единственным сотрудником IBM, дважды получившим награду компании за технологические достижения! Зная, какое влияние оказал «Голубой гигант» на компьютерную индустрию, можно предположить, что Чету мы обязаны многим.

В июне 2000 года Хит покинул родные пенаты. Стало тесно — руководство компании не захотело принимать в оборот предлагаемую им серверную технологию, а раз так, надо двигать дальше. В данный момент наш герой трудится в роли технологического директора на славу компании OmniCluster. Посмотрим, что еще он явит миру.

Задел на будущее

Переход на PCI Express вызвал немало вопросов. К моменту появления интерфейса в 2004 году многие лишь недоуменно поднимали бровь — зачем нужна пропускная способность порядка 4 Гб/с, если видеокарты до сих пор не используют всех возможностей AGP 8x? И зачем возвращаться к PCI?

Уже потом люди узнали, что от PCI-архитектуры в PCI Express осталось только название, шина таит в себе много новых возможностей. Так, инновационный интерфейс вернул позабытую технологию 3Dfx SLI в виде подретушированных NVIDIA SLI и ATI CrossFire. Как обычно, при переходе на новую шину широко использовали переходные мосты. История повторяется вот уже который раз, и с каждым новым витком она становится все интереснее!

Источник

Радости экспериментов с ISA и PCI

С момента появления домашних компьютеров существует возможность расширять их функционал путём установки большего количества RAM, более ёмких накопителей, дополнительных комплектующих. Но только с появлением IBM PC привычной стала идея о полностью открытой модульной компьютерной системе. А именно, концепция карт расширения позволила пользователям компьютеров не зависеть от конфигураций систем, предлагаемых производителями. Подобные конфигурации можно было, в ограниченных пределах, расширять комплектующими, рассчитанными исключительно на эти системы. Благодаря универсальным картам расширения появились целые отрасли промышленности, они стали и причиной возникновения большого рынка любительских устройств, которые можно было подключать к компьютерам.

В первом IBM PC было пять 8-битных слотов расширения, подключённых прямо к процессору 8088. Компьютер IBM PC/AT был основан на процессоре 80286, в результате слоты стали 16-битными. С помощью слотов расширения к компьютеру можно было подключать практически всё что угодно: графические и сетевые карты, дополнительную память, какие-то особые платы. Хотя для этих слотов расширения и не существовало официального наименования, во времена PC/AT их называли, соответственно, PC-шинами и AT-шинами. А название Industry Standard Architecture (ISA) — это ретроним, который придумали создатели клонов PC.

Такая открытость ISA означала то, что можно было достаточно легко и дёшево создавать собственные ISA-карты. То же касалось и шины PCI, которая появилась после ISA и была такой же открытой. В результате до сих пор существует полная жизни экосистема, в которой есть место и любительским звуковым картам, рассчитанным на слоты PCI или ISA, и картам расширения, позволяющим оснастить IBM PC 1981-го года поддержкой USB, и много чему ещё.

С чего начать тому, кто в наши дни хочет заняться работой с ISA- и PCI-картами?

Цена простоты

Сверху вниз: 8-битная XT-карта, 16-битная AT/ISA карта, 32-битная EISA-карта

О шине ISA, и о появившихся до неё шинах PC/AT, нужно знать одну важную вещь. Это — не особенно универсальные шины, так как они используются для работы с устройствами, подключёнными к шинам адреса и памяти процессоров 8088 и 80286. Это значит, что, например, тактовая частота шины равняется тактовой частоте соответствующего процессора. А именно, для PC-шины это — 4,77 МГц, а для PC/AT-шины — это 6-8 МГц. Хотя 8-битные карты обычно можно использовать в 16-битных слотах, нет гарантии того, что такие карты, подключённые к этим слотам, будут нормально работать.

По мере того, как разработчики клонов PC использовали в своих моделях компьютеров всё более быстрые процессоры, частота шины AT, в итоге, пришла к значениям, находящимся где-то между 10 и 16 МГц. Это, понятно, привело к тому, что многие существующие AT-карты (ISA) работали в подобных системах неправильно. Через некоторое время большинство производителей оборудования сделало так, чтобы частота шины не была бы напрямую связана с частотой процессора. Но несмотря на то, что в названии шины ISA есть намёк на нечто стандартизированное, настоящего стандарта этой шины не существовало.

Правда, была попытка стандартизировать замену ISA, получившую название Extended ISA (EISA). Эта 32-битная шина, работавшая на частоте 8,33 МГц, была создана в 1988 году. Хотя на рынке домашних компьютеров она и не «взлетела», некоторым вниманием она пользовалась среди пользователей серверного оборудования, особенно — как более дешёвая альтернатива собственной шине IBM Micro Channel architecture (MCA). Компания IBM задумывала эту шину в качестве замены ISA.

В итоге же шина ISA дожила до наших дней, сохранившись, в основном, в промышленном оборудовании и во встраиваемых системах (например, в виде шины LPC), в то время как в других сферах был сначала осуществлён переход на PCI, а позже — на PCIe. А вот интерфейсы для подключения видеокарт к компьютерам шли своим путём. Речь идёт о шинах VESA Local Bus (VLB) и Accelerated Graphics Port (AGP), которые представляют собой специализированные интерфейсы, нацеленные на нужды GPU.

Начало работы с новыми старыми технологиями

Естественным результатом этой бурной истории, в той её части, которая касается ISA, стало то, что тому, кто решил создать новую «карту расширения ISA», следует действовать с осторожностью. Для того чтобы подобное изделие отличалось бы по-настоящему широкой совместимостью, можно разработать 8-битную карту, которая может работать на шинах с частотами, находящимися в диапазоне от 4,77 до 20 МГц. А на разработку 16-битных карт стоит обратить внимание тем, кому не нужно поддерживать компьютеры, основанные на процессоре 8088. При разработке PC/104-карт вообще не должно быть никаких проблем с совместимостью, так как эта шина до крайности близка к наиболее стандартному варианту ISA.

Читайте также:  с какими болезнями опорно двигательного аппарата дают инвалидность

При разработке устройств для ISA и PCI физический интерфейс тоже особых проблем не доставляет, так как и в том и в другом случаях используются контакты, расположенные на ребре платы. Именно такой вариант расположения контактов на платах, актуальный до наших дней, был выбран, преимущественно, из-за его дешевизны и надёжности. На плате расширения нет какого-то физического коннектора. Там, на краю, находятся лишь контактные площадки, которые позволяют подключить плату к слоту. При проектировании подобных плат, правда, надо обращать внимание на их толщину, так как от неё зависит надёжность контакта. Обычно хорошо показывает себя толщина платы в 1,6 мм.

Если кто-то хочет самостоятельно создать ISA или PCI-плату — в интернете можно найти параметры контактов для таких плат. Например — этот отличный обзор. Тут, в частности, есть сведения о расстоянии между контактными площадками, о форме платы в том месте, где находятся контакты, о размерах контактных площадок и о других параметрах плат и контактов.

При проектировании электрических цепей плат стоит знать о том, что ISA использует напряжение в 5 В, а PCI может использовать 5 В, 3,3 В, или и то и другое. В случае с PCI платы различают, используя выступы в PCI-слотах и выемки на картах (ключи). Так, если в слоте имеется один выступ, расположенный на расстоянии 56,21 мм от той его стороны, на котором находятся разъёмы подключаемой к нему карты, то это будет слот, рассчитанный на карты, поддерживающие напряжение 3,3 В. Выступ, расположенный на расстоянии 104,77 мм от края слота, указывает на слот для 5 В-карт. На краях карт есть соответствующие выемки. Если карта поддерживает и 5, и 3,3 В — то на ней будет две выемки (это — так называемые универсальные карты).

Ключи на PCI-картах и разъёмах

Существуют 32-битные и 64-битные варианты PCI. Причём, всеобщий интерес на рынке домашних компьютеров вызвал именно первый вариант шины. Если говорить о развитии PCI, то можно отметить интерфейс PCI-X. Эта шина, в 64-битном варианте, в основном, применялась в серверных системах. В PCI-X удвоена максимальная частота шины (с 66 до 133 МГц) и убрана поддержка 5 В. Поэтому PCI-X-карты часто работают при их установке в слоты PCI, рассчитанные на 3,3 В (то же самое справедливо и для PCI-карт, устанавливаемых в слоты PCI-X). 64-битная карта, и PCI, и PCI-X, может перейти в 32-битный режим в том случае, если она установлена в более короткий, 32-битный слот.

Работа с шинами

Каждое устройство, подключённое к шине, увеличивает нагрузку на неё. Кроме того, если речь идёт о шинах с общими линиями связи, важно, чтобы отдельные устройства могли бы отключаться от этих линий в то время, когда они эти линии не используют. Обычно для реализации такой схемы работы используется буферный элемент с тремя состояниями. Например — такой, как распространённый 74LS244.

Логическая схема 74LS244

74LS244 может не только обеспечивать изоляцию, что умеют и стандартные цифровые буферы. Этот элемент может переключаться в высокоимпедансное состояние (Hi-Z), что равносильно отключению устройства.

В случае с ISA-картами нам, для организации правильного взаимодействия с шиной, нужно нечто вроде 74LS244 или его двунаправленного варианта 74LS245. У каждой сигнальной линии должен быть буфер или «защёлка». Подробнее об этом можно почитать здесь. А тут описан хороший пример современной ISA-карты, называемой Snark Barker и представляющей собой клон SoundBlaster.

PCI-карты, по идее, тоже можно создавать, используя подобный подход, но обычно в коммерческих PCI-картах используют специализированные интегральные схемы для ускорения ввода-вывода, которые предоставляют компонентам карт простой интерфейс, похожий на ISA. Подобные решения в наши дни, правда, нельзя назвать дешёвыми (если только не рисковать, связываясь с чем-то вроде WCH CH365). Поэтому хорошей альтернативой подобным решениям является реализация PCI-контроллера на базе FPGA. MCA-версия вышеупомянутой карты Snark Barker использует для взаимодействия с шиной MCA CPLD. На сайтах вроде OpenCores имеются проекты, ориентированные на PCI, которые можно использовать в качестве отправной точки для собственных разработок.

Обмен данными с шинами ISA и PCI

После создания новенькой платы с золотыми контактами, и после того, как на ней распаяны буферные элементы или FPGA, нужно ещё и иметь возможность обмениваться данными с шиной ISA или PCI, пользуясь соответствующим протоколом. К счастью, существует множество материалов по ISA, например — этот. А вот протокол PCI, вроде протокола PCIe, это — «коммерческая тайна». В результате соответствующие данные можно официально (и небесплатно) достать лишь на сайте PCI-SIG. Правда, спецификации, всё же, «утекли» в общий доступ.

Конечно, можно использовать существующие ISA- или PCI-проекты в качестве шаблона или руководства для собственных проектов. Вышеупомянутые проекты CPLD/FPGA предлагают нам механизм, позволяющий избежать необходимости в самостоятельной реализации протоколов, а значит — помогают сразу добраться до самого интересного. Создателю платы, в любом случае, придётся использовать систему прерываний (IRQ) для соответствующей шины (выделенные сигнальные линии, основанные, в последних версиях PCI, на сообщениях), а так же учитывать возможность использования DMA (DRQn и DACKn в ISA). Рассказ о тонкостях шин ISA и PCI займёт целую статью. Правда, тем, у кого были ISA-карты с переключателями, или (что хуже), с ISA PnP (Plug’n’Pray), многое из этого должно быть уже знакомо.

Как и в случае с любой другой общей шиной, схема взаимодействия с шиной при записи или чтении данных предусматривает запрос доступа к шине у «хозяина шины» или, в случае с шиной PCI с несколькими «хозяевами», использование процедуры арбитража. К карте расширения, кроме того, можно обращаться напрямую (вот материал об этом, в котором речь идёт об ISA). В Linux это подразумевает использование программ ядра ( sys/io.h ). Сначала получают соответствующие разрешения, а потом уже можно отправлять данные в конкретный IO-порт, соответствующий карте. В целом это выглядит так:

В случае с ISA адрес IO-порта задаётся в самой плате, а для распознавания адреса используется декодер, находящийся на линиях адресного сигнала. Часто на платах для выбора адреса, а так же — линий IRQ и DMA использовались переключатели или перемычки. Технология ISA PnP была призвана улучшить этот процесс, но по факту принесла больше вреда, чем пользы. В случае с PCI технология PnP является частью стандарта. Шина PCI осуществляет поиск устройств при загрузке, а встроенная ROM (BIOS) запрашивает у карт сведения об их нуждах, после чего адреса и другие параметры задаются автоматически.

Итоги

Конечно, если говорить о разработке собственных ISA- или PCI-плат, то тут были рассмотрены лишь самые основы этого дела. Но, надеюсь, мой материал позволил вам хотя бы увидеть общую картину происходящего. Многое из того, что нужно конкретному разработчику карт расширения, зависит от того, какую именно карту он хочет создать, от того является ли она простой 8-битной картой ISA (PC/XT), или 64-битной картой PCI-X.

Правда, шины ISA и PCI хороши тем, что они доступны даже любителям. Скорости этих шин, если нужно отлаживать или анализировать платы, вполне укладываются в возможности любительского аппаратного обеспечения и соответствующих осциллографов. Использование достаточно медленных параллельных шин данных означает, что дифференциальные сигналы тут не применяются, а это облегчает трассировку плат.

Хотя те старые шины, о которых мы говорили, не являются игроками той же лиги, что и шина PCIe, их возможности и их широкая доступность означают, что они могут дать старым компьютерам второй шанс. Даже если речь идёт о чём-то очень простом, вроде накопителя, основанного на флэш-памяти, предназначенного для первого IBM PC.

Занимались ли вы разработкой собственных ISA- или PCI-карт?

Источник

Сказочный портал