Шины (работа 1)

ИВАНОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

КАФЕДРА СИСТЕМ, ТЕХНОЛОГИЙ, ОРГАНИЗАЦИИ ПРОИЗВОДСТВА И АСУ.

РЕФЕРАТ

«ШИНЫ»

Выполнил студент

1ого курса 3ей группы

экономического факультета

Попадюк А. В.

Проверил Голяков С. М.

ИВАНОВО – 1999

Содержание:

Шина ISA (Industrial Standard Architecture)

3

Шина EISA (Extended Industry Standard Architecture)

6

Шина MCA (Micro Channel Architecture)

7

Локальная шина (Local bus)

9

Шина PCI (Peripheral Component Interconnect bus)

11

Шина AGP (Accelerated Graphic Port)

13

Шина USB (Universal Serial Bus)

15

Шина IEEE 1394 (Firewire)

20

(Intelligent Input/Output)

24

Шина EV-6

27

Список использованных материалов:

29

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

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

Недостатки шины, вытекающие из простоты конструкции, очевидны. Поэтому для использования в компьютерах IBM-AT ('Advanced Technology') в 1984 году была представлена новая версия шины, впоследствии названной ISA. Сохраняя совместимость со старыми 8-битными платами расширения, новая версия шины обладала рядом существенных преимуществ, как то:

    добавление 8 линий данных позволило вести 16-битный обмен данными;

    добавление 4 линий адреса позволило увеличить максимальный размер адресуемой памяти до 16 МВ;

    были добавлены 5 дополнительных trigger-edged линий IRQ;

    была реализована частичная поддержка дополнительных bus masters;

    частота шины была увеличена до 8 MHz;

    пропускная способность достигла 5.3 МВ/сек.

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

Контакт

Название сигнала

Контакт

Название сигнала

B1

Ground

A1

I/O Channel Check

B2

Reset Driver

A2

Data7

B3

+5V

A3

Data6

B4

IRQ2

A4

Data5

B5

-5V

A5

Data4

B6

DMA Request 2

A6

Data3

B7

-12V

A7

Data2

B8

J8/NOWS1

A8

Data1

B9

+12V

A9

Data0

B10

Ground

A10

I/O Channel Ready

B11

Memory Write

A11

Address Enable

B12

Memory Read

A12

Address19

B13

I/O Write

A13

Address18

B14

I/O Read

A14

Address17

B15

DMA Acknoledge3

A15

Address16

B16

DMA Request3

A16

Address15

B17

DMA Acknoledge1

A17

Address14

B18

DMA Request1

A18

Address13

B19

Refresh

A19

Address12

B20

Clock

A20

Address11

B21

IRQ7

A21

Address10

B22

IRQ6

A22

Address9

B23

IRQ5

A23

Address8

B24

IRQ4

A24

Address7

B25

IRQ3

A25

Address6

B26

DMA Acknoledge2

A26

Address5

B27

Terminal Count

A27

Address4

B28

Address Latch Enable

A28

Address3

B29

+5V

A29

Address2

B30

Oscillator

A30

Address1

B31

Ground

A31

Address0

Таблица 1. Назначение контактов разъема 8-разрядной шины ISA

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

Контакт

Название сигнала

Контакт

Название сигнала

B1

Ground

A1

I/O Channel Check

B2

Reset Driver

A2

Data7

B3

+5V

A3

Data6

B4

IRQ2

A4

Data5

B5

-5V

A5

Data4

B6

DMA Request 2

A6

Data3

B7

-12V

A7

Data2

B8

No Wait States

A8

Data1

B9

+12V

A9

Data0

B10

Ground

A10

I/O Channel Ready

B11

Memory Write

A11

Address Enable

B12

Memory Read

A12

Address19

B13

I/O Write

A13

Address18

B14

I/O Read

A14

Address17

B15

DMA Acknoledge3

A15

Address16

B16

DMA Request3

A16

Address15

B17

DMA Acknoledge1

A17

Address14

B18

DMA Request1

A18

Address13

B19

Refresh

A19

Address12

B20

Clock

A20

Address11

B21

IRQ7

A21

Address10

B22

IRQ6

A22

Address9

B23

IRQ5

A23

Address8

B24

IRQ4

A24

Address7

B25

IRQ3

A25

Address6

B26

DMA Acknoledge2

A26

Address5

B27

Terminal Count

A27

Address4

B28

Address Latch Enable

A28

Address3

B29

+5V

A29

Address2

B30

Oscillator

A30

Address1

B31

Ground

A31

Address0

Ключ

Ключ

D1

Memory Access 16 bit

C1

System Bus High

D2

I/O 16 bit

C2

Latch Address 23

D3

IRQ10

C3

Latch Address 22

D4

IRQ11

C4

Latch Address 21

D5

IRQ12

C5

Latch Address 20

D6

IRQ15

C6

Latch Address 19

D7

IRQ14

C7

Latch Address 18

D8

DMA Acknoledge0

C8

Latch Address 17

D9

DMA Request1

C9

Memory Read

D10

DMA Acknoledge5

C10

Memory Write

D11

DMA Request5

C11

Data8

D12

DMA Acknoledge6

C12

Data9

D13

DMA Request6

C13

Data10

D14

DMA Acknoledge7

C14

Data11

D15

DMA Request7

C15

Data12

D16

+5V

C16

Data13

D17

Master 16 bit

C17

Data14

D18

Ground

C18

Data15

Таблица 2. Назначение контактов разъема 16-разрядной шины ISA.

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

Шина EISA

(Extended Industry Standard Architecture)

Шина EISA явилась "асимметричным ответом" производителей клонов РС на попытку IBM поставить рынок под свой контроль. В сентябре 1988 года Compaq, поддержанный "бандой девяти" - Wyse, AST Research, Tandy, собственно Compaq, Hewlett-Packard, Zenith, Olivetti, NEC и Epson - представил 32-разрядное расширение шины ISA с полной обратной совместимостью. Основные характеристики новой шины были следующими:

    32-разрядная передача данных;

    максимальная пропускная способность - 33 МВ/сек;

    32-разрядная адресация памяти позволяла адресовать до 4 GB (как и в расширении ISA, новые адресные линии были без задержки);

    поддержка multiply bus master;

    возможность задания уровня двухуровневого (edge-triggered) прерывания (что позволяло нескольким устройствам использовать одно прерывание, как и в случае многоуровневого (level-triggered) прерывания);

    автонастройка плат расширения;

Как и в случае 16-разрядного расширения, новые возможности обеспечивались путем добавления новых линий. Поскольку дальше удлинять разъем ISA было некуда, разработчики нашли оригинальное решение: новые контакты были размещены между контактами шины ISA и не были доведены до края разъема. Специальная система выступов на разъеме и щелей в EISA-картах позволяла им глубже заходить в разъем и подсоединяться к новым контактам. (Правда, утверждают, что при большом желании можно запихнуть и ISA-карту так, чтобы она замкнула EISA-контакты. Не знаю, не пробовал, т.к. большого опыта общения с EISA у меня нет: маленький был еще). Поскольку на данный момент шина EISA практически вымерла, приводить значения контактов разъема не имеет смысла. Стоит отметить лишь две новых сигнальных линии - EX32 и EX16, которые определяли, что bus slave поддерживает соответственно 32- и 16-разрядный цикл EISA. Если ни один из этих сигналов не был получен в начале цикла шины, выполнялся цикл ISA.

Важной особенностью шины являлась возможность для любого bus master обращаться к любому устройству памяти или периферийному устройству, даже если они имели разные разряды шины. Говоря о полной обратной совместимости с ISA, следует отметить, что ISA-карты, естественно, не поддерживали разделение прерываний, даже будучи вставленными в EISA-коннектор. Что касается поддержки multiply bus master, то она представляла собой улучшенную и дополненную версию таковой для ISA. Также присутствовали четыре уровня приоритета:

  1. схемы обновления памяти;

    DMA;

    процессор;

    адаптеры шины

и арбитр шины EISA - периферийный контроллер (ISP - Integrated System Peripheral) - "следил за порядком". Кроме этого, наличествовало еще одно устройство - Intel's Bus Master Interface Chip (BMIC), которое следило за тем, чтобы master "не засиживался" на шине. Через определенное количество тактов master "снимался" с шины и генерировалось немаскируемое прерывание.

MCA против EISA

Сразу же после выхода шины EISA началась "шинная война", причем это была не столько война между архитектурами (они обе ушли в прошлое), сколько война за контроль IBM над рынком персональных компьютеров. И эту войну корпорация с треском проиграла. Да, архитектура MCA по заложенным техническим решениям и перспективам развития выглядела предпочтительнее. Но, как ни странно, именно это оказалось вторым фактором, который ее сгубил. Сравнительная характеристика шин EISA и MCA представлена в виде табл. 3.

MCA

EISA

Пропускная способность, МВ/сек

20

33

Способ передачи данных

асинхронный

Синхронный

Размер карты (длина х ширина), мм

292.1 х 88.2

333.5 х 127.0

Таблица 3. Сравнительная характеристика шин EISA и MCA.

Площадь поверхности карты EISA в 1.65 раза больше. А если еще учесть, что адаптер EISA мог потреблять более чем в 2 раза больше мощности, чем адаптер MCA, становится ясно, что делать периферию под EISA было и проще и дешевле.

Кроме того, в "шинной войне", как и везде, присутствует "рука Intel". В стремлении освободить рынок для новых процессоров 80386 и 80486, Intel выпускал EISA-чипсеты, не поддерживающие 286 процессор (не правда ли, знакомая ситуация), в то время, как шина MCA прекрасно работала и на компьютерах с 286. Таким образом, перспективная разработка IBM так и осталась перспективной разработкой, но и шина EISA не стала хитом: к тому времени, когда потребности компьютеров среднего уровня переросли возможности шины ISA, разработчики перешли, минуя EISA, к локальной шине.

Шина MCA

(Micro Channel Architecture)

"До 1 апреля 1987 года жизнь в мире РС была крайне простой: в байте было 8 бит, и при этом существовала только одна шина, по которой эти биты можно было передавать. Конечно, эта шина была "двух размеров" - разрядностью 8 и 16 бит - но это была одна шина. Но на следующий день - 2 апреля - все изменилось, и, кажется, простота больше никогда не вернется."

Крис Лонг (Chris Long) PC User.

В 1987 году компания IBM прекратила выпуск серии РС/АТ и начала производство линии PS/2. Одним из главных отличий нового поколения персональных компьютеров была новая системная шина - Micro Channel Architecture (MCA). Эта шина не обладала обратной совместимостью с ISA, но зато содержала ряд передовых для своего времени решений:

    8/16/32-разрядная передача данных;

    20 МВ/сек пропускная способность при частоте шины 10 MHz (в 4 раза больше,чем у ISA!) при максимально возможной пропускной способности шины 160 МВ/сек !!! (больше, чем у 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 года? Возможно, все развитие персональных компьютеров пошло бы по другому пути, если бы не одно но - деньги. Дело в том, что IBM, посчитав свое лидирующее положение на рынке персональных компьютеров незыблемым, предложило независимым производителям, желающим использовать шину МСА, совершенно кабальные условия, включающие требование заплатить за использование шины ISA во всех ранее произведенных компьютерах!!! Как Вы сами понимаете, желающих оказалось, мягко скажем, немного. Из серьезных компаний только Apricot и Olivetti поддержали новую архитектуру (причем Olivetti принимала активное участие в разработке конкурирующего стандарта - EISA). Большинство покупателей систем PS/2 "покупали IBM", а не МСА. В результате огромная работа - было разработано 6 типов слотов -

    16-разрядные (основные слоты, которые устанавливается во все компьютеры с шиной МСА);

    32-разрядные ( устанавливаются на компьютерах с шиной МСА и процессором 386DX и выше. Так же, как и в ISA, являются только расширением основного слота, но, поскольку разрабатывались одновременно с шиной, конструкция получилась более логичной);

    16 и 32-разрядные с дополнениями для плат памяти (устанавливаются в некоторых компьютерах с шиной МСА, например, PS/2 моделей 70 и 80, имеют 8 дополнительных контактов для работы с платами расширения памяти, расположенных в самом начале разъема, обращенном к задней стенке компьютера, перед основными контактами);

    16 и 32-разрядные с дополнениями для видеоадаптеров (предназначены для увеличения быстродействия видеосистемы. Обычно в компьютере с шиной МСА установлен один такой слот. 10 дополнительных контактов также расположены в начале разъема и позволяют плате видеоадаптера получить доступ к встроеннщй в системную плату схеме VGA)

пропала фактически даром. На данный момент ссылки на архитектуру МСА практически не встречаются даже на сайте IBM (насколько мне известно, в настоящее время архитектура МСА используется IBM только в RISC-системах, например, сервер RS/6000 построен на базе шины МСА с пропускной способностью 160 МВ/сек), поэтому приводить таблицы значений контактов не буду.

Локальная шина (Local bus)

Все описанные ранее шины имеют общий недостаток - сравнительно низкую пропускную способность. Это связано с тем, что шины разрабатывались в расчете на медленные процессоры. В дальнейшем быстродействие процессора возрастало, а характеристики шин улучшались в основном "экстенсивно", за счет добавления новых линий. Препятствием для повышения частоты шины являлось огромное количество выпущенных плат, которые не могли работать на больших скоростях обмена (МСА это касается в меньшей степени, но в силу вышеизложенных причин эта архитектура не играла заметной роли на рынке). В то же время в начале 90-х годов в мире персональных компьютеров произошли изменения, потребовавшие резкого увеличения скорости обмена с устройствами:

    создание нового поколения процессоров типа Intel 80486, работающих на частотах до 66 MHz;

    увеличение емкости жестких дисков и создание более быстрых контроллеров;

    разработка и активное продвижение на рынок графических интерфейсов пользователя (типа Windows или OS/2) привели к созданию новых графических адаптеров, поддерживающих более высокое разрешение и большее количество цветов (VGA и SVGA).

Очевидным выходом из создавшегося положения является следующий: осуществлять часть операций обмена данными, требующих высоких скоростей, не через шину ввода/вывода, а через шину процессора, примерно так же, как подключается внешний кэш. Такая конструкция получила название локальной шины (Local Bus). Рисунки 1 и 2наглядно демонстрируют различие между обычной архитектурой и архитектурой с локальной шиной.

Локальная шина не заменяла собой прежние стандарты, а дополняла их. Основными шинами в компьютере по-прежнему оставались ISA или EISA, но к ним добавлялись один или несколько слотов локальной шины. Первоначально эти слоты использовались почти исключительно для установки видеоадаптеров, при этом к 1992 году было разработано несколько несовместимых между собой вариантов локальных шин, исключи-тельные права на которые принадлежа-ли фирмам-изготови-телям. Естественно, такая неразбериха сдерживала распро-странение локальных шин, поэтому VESA (Video Electronic Standard Association) - ассоциация, представ-ляющая более 100 компаний – предло-жила в августе 1992 года свою спецификацию локальной шины.

Локальная шина VESA (VL-bus)

Основные характеристики VL-bus таковы.

    Поддержка процессоров серий 80386 и 80486. Шина разработана для использования в однопроцессорных системах, при этом в спецификации предусмотрена возможность поддержки х86-несовместимых процессоров с помощью моста (bridge chip).

    Максимально число bus master - 3 (не включая контроллер шины). При необходимости возможна установка нескольких подсистем для поддержки большего числа masterов.

    Несмотря на то, что изначально шина была разработана для поддержки видеоконтроллеров, возможна поддержка и других устройств (например, контроллеров жесткого диска).

    Стандарт допускает работу шины на частоте до 66 MHz, однако электрические характеристики разъема VL-bus ограничивают ее до 50 MHz (это ограничение, естественно, не относится к интегрированным в материнскую плату устройствам).

    Двунаправленная (bi-directional) 32-разрядная шина данных поддерживает и 16-разрядный обмен. В спецификацию заложена возможность 64-разрядного обмена.

    Поддержка DMA обеспечивается только для bus masters. Шина не поддерживает специальных "инициаторов" DMA.

    Максимальная теоретическая пропускная способность шины - 160 МВ/сек (при частоте шины 50 MHz), стандартная - 107 МВ/сек при частоте 33 MHz.

    Поддерживается пакетный режим обмена (для материнских плат 80486, поддерживающих этот режим). 5 линий используется для идентификации типа и скорости процессора, сигнал Burst Last (BLAST#) используется для активизации этого режима. Для систем, не поддерживающих этот режим, линия устанавливается в 0.

    Шина использует 58-контактный разъем МСА. Максимально поддерживается 3 слота (на некоторых 50-мегагерцовых шинах возможна установка только 1 слота).

    Слот VL-bus устанавливается в линию за слотами ISA/EISA/MCA, поэтому VL-платам доступны все линии этих шин.

    Поддерживается как интегрированный кэш процессора, так и кэш на материнской плате.

    Напряжение питания - 5 В. Устройства с уровнем выходного сигнала 3.3 В поддерживаются при условии, что они могут работать с уровнем входного сигнала 5 В.

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

    Ориентация на 486-ой процессор. VL-bus жестко привязана к шине процессора 80486, которая отличается от шин Pentium и Pentium Pro/Pentium II.

    Ограниченное быстродействие. Как уже было сказано, реальная частота VL-bus - не больше 50 MHz. Причем при использовании процессоров с множителем частоты шина использует основную частоту (так, для 486DX2-66 частота шины будет 33 MHz).

    Схемотехнические ограничения. К качеству сигналов, передаваемых по шине процессора, предъявляются очень жесткие требования, соблюсти которые можно только при определенных параметрах нагрузки каждой линии шины. По мнению Intel, установка недостаточно аккуратно разработанных VL-плат может привести не только к потерям данных и нарушениям синхронизации, но и к повреждению системы.

    Ограничение количества плат. Это ограничение вытекает также из необходимости соблюдения ограничений на нагрузку каждой линии.

Несмотря на существующие недостатки, VL-bus была несомненным лидером на рынке, так как позволяла устранить узкое место сразу в двух подсистемах - видеоподсистеме и подсистеме обмена с жестким диском. Однако лидерство было недолгим, поскольку корпорация Intel разработала свою новинку - шину PCI. По мнению компании, VL-bus базировалась на технологиях 11-летней давности и являлась всего лишь "заплаткой", компромиссом между производителями. Правда, VESA заявляла, что обе шины могут "уживаться" совместно в одной системе. Intel соглашалась, что такое соседство возможно, но задавала встречный убийственный вопрос: "А зачем?". Справедливости ради, надо сказать, что PCI действительно была избавлена от большинства недостатков, присущих VL-bus.

Шина PCI

(Peripheral Component Interconnect bus)

Итак, переходим к самому интересному. Что же находится на сегодняшний день внутри большинства наших компьютеров? Естественно, шина PCI. Другой вопрос, почему именно эта шина. Попробуем разобраться.

Итак, разработка шины PCI началась весной 1991 года как внутренний проект корпорации Intel (Release 0.1). Специалисты компании поставили перед собой цель разработать недорогое решение, которое бы позволило полностью реализовать возможности нового поколения процессоров 486/Pentium/P6 (вот уже половина ответа). Особенно подчеркивалось, что разработка проводилась "с нуля", а не была попыткой установки новых "заплат" на существующие решения. В результате шина PCI появилась в июне 1992 года (R1.0). Разработчики Intel отказались от использования шины процессора и ввели еще одну "антресольную" (mezzanine) шину.

Благодаря такому решению шина получилась, во-первых, процессоро-независимой (в отличие от VLbus), а во-вторых, могла работать параллельно с шиной процессора, не обращаясь к ней за запросами. Например, процессор работает себе с кэшем или системной памятью, а в это время по сети на винчестер пишется информация. Просто здорово! На самом деле идиллии, конечно, не получается, но загрузка шины процессора снижается здорово. Кроме того, стандарт шины был объявлен открытым и передан PCI Special Interest Group, которая продолжила работу по совершенствованию шины (в настоящее время доступен R2.1), и в этом, пожалуй, вторая половина ответа на вопрос "почему PCI?"

Основные возможности шины следующие.

    Синхронный 32-х или 64-х разрядный обмен данными (правда, насколько мне известно, 64-разрядная шина в настоящее время используется только в Alpha-системах и серверах на базе процессоров Intel Xeon, но, в принципе, за ней будущее). При этом для уменьшения числа контактов (и стоимости) используется мультиплексирование, то есть адрес и данные передаются по одним и тем же линиям.

    Поддержка 5V и 3.3V логики. Разъемы для 5 и 3.3V плат различаются расположением ключей

    Частота работы шины 33MHz или 66MHz (в версии 2.1) позволяет обеспечить широкий диапазон пропускных способностей (с использованием пакетного режима):

    132 МВ/сек при 32-bit/33MHz;

    264 MB/сек при 32-bit/66MHz;

    264 MB/сек при 64-bit/33MHz;

    528 МВ/сек при 64-bit/66MHz.

При этом для работы шины на частоте 66MHz необходимо, чтобы все периферийные устройства работали на этой частоте.

    Полная поддержка multiply bus master (например, несколько контроллеров жестких дисков могут одновременно работать на шине).

    Поддержка write-back и write-through кэша.

    Автоматическое конфигурирование карт расширения при включении питания.

    Спецификация шины позволяет комбинировать до восьми функций на одной карте (например, видео + звук и т.д.).

    Шина позволяет устанавливать до 4 слотов расширения, однако возможно использование моста PCI-PCI для увеличения количества карт расширения.

    PCI-устройства оборудованы таймером, который используется для определения максимального промежутка времени, в течении которого устройство может занимать шину.

При разработке шины в ее архитектуру были заложены передовые технические решения, позволяющие повысить пропускную способность.

Шина поддерживает метод передачи данных, называемый "linear burst" (метод линейных пакетов). Этот метод предполагает, что пакет информации считывается (или записывается) "одним куском", то есть адрес автоматически увеличивается для следующего байта. Естественным образом при этом увеличивается скорость передачи собственно данных за счет уменьшения числа передаваемых адресов.

Шина PCI является той черепахой, на которой стоят слоны, поддерживающие "Землю" - архитектуру Microsoft/Intel Plug and Play (PnP) PC architecture. Спецификация шины PCI определяет три типа ресурсов: два обычных (диапазон памяти и диапазон ввода/вывода, как их называет компания Microsoft) и configuration space - "конфигурационное пространство".

Конфигурационное пространство состоит из трех регионов:

    заголовка, независимого от устройства (device-independent header region);

    региона, определяемого типом устройства (header-type region);

    региона, определяемого пользователем (user-defined region).

В заголовке содержится информация о производителе и типе устройства - поле Class Code (сетевой адаптер, контроллер диска, мультимедиа и т.д.) и прочая служебная информация.

Следующий регион содержит регистры диапазонов памяти и ввода/вывода, которые позволяют динамически выделять устройству область системной памяти и адресного пространства. В зависимости от реализации системы конфигурация устройств производится либо BIOS (при выполнении POST - power-on self test), либо программно. Базовый регистр expansion ROM аналогично позволяет отображать ROM устройства в системную память. Поле CIS (Card Information Structure) pointer используется картами cardbus (PCMCIA R3.0). С sub>system vendor/sub>system ID все понятно, а последние 4 байта региона используются для определения прерывания и времени запроса/владения.

Р
исунок 4. Конфигурационное пространство.

Accelerated Graphic Port

Все хорошее когда-нибудь кончается. Обидно - но истинно. Сколько писали про то, что шина PCI наконец-то устранила "узкое место" РС - обмен с видеокартами - но не тут-то было! Прогресс, как известно, не стоит на месте. Появление разных там 3D ускорителей привело к тому, что ребром встал вопрос: что делать? Либо увеличивать количество дорогой памяти непосредственно на видеокарте, либо хранить часть информации в дешевой системной памяти, но при этом каким-нибудь образом организовать к ней быстрый доступ.

Как это практически всегда бывает в компьютерной индустрии, вопрос решен не был. Казалось бы, вот вам простейшее решение: переходите на 66-мегагерцовую 64-разрядную шину PCI с огромной пропускной способностью, так нет же. Intel на базе того же стандарта PCI R2.1 разрабатывает новую шину - AGP (R1.0, затем 2.0), которая отличается от своего "родителя" в следующем:

    шина способна передавать два блока данных за один 66 MHz цикл (AGP 2x);

    устранена мультиплексированность линий адреса и данных (напомню, что в PCI для удешевления конструкции адрес и данные передавались по одним и тем же линиям);

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

В результате пропускная способность шины была оценена в 500 МВ/сек, и предназначалась она для того, чтобы видеокарты хранили текстуры в системной памяти, соответственно имели меньше памяти на плате, и, соответственно, дешевели.

Парадокс в том, что видеокарты все-таки предпочитают иметь БОЛЬШЕ памяти, и ПОЧТИ НИКТО не хранит текстуры в системной памяти, поскольку текстур такого объема пока (подчеркиваю - пока) практически нет. При этом в силу удешевления памяти вообще, карты особенно и не дорожают. Однако практически все считают, что будущее - за AGP, а бурное развитие мультимедиа-приложений (в особенности - игр) может скоро привести к тому, что текстуры перестанут влезать и в системную память. Поэтому имеет смысл, особо не вдаваясь в технические подробности, рассказать, как же это все работает.

Итак, начнем с начала, то есть с AGP 1.0. Шина имеет два основных режима работы: Execute и DMA. В режиме DMA основной памятью является память карты. Текстуры хранятся в системной памяти, но перед использованием (тот самый execute) копируются в локальную память карты. Таким образом, AGP действует в качестве "тыловой структуры", обеспечивающей своевременную "доставку патронов" (текстур) на передний край (в локальную память). Обмен ведется большими последовательными пакетами.

В режиме Execute локальная и системная память для видеокарты логически равноправны. Текстуры не копируются в локальную память, а выбираются непосредственно из системной. Таким образом, приходится выбирать из памяти относительно малые случайно расположенные куски. Поскольку системная память выделяется динамически, блоками по 4К, в этом режиме для обеспечения приемлемого быстродействия необходимо предусмотреть механизм, отображающий последовательные адреса на реальные адреса 4-х килобайтных блоков в системной памяти. Эта нелегкая задача выполняется с использованием специальной таблицы (Graphic Address Re-mapping Table или GART), расположенной в памяти.

При этом адреса, не попадающие в диапазон GART (GART range), не изменяются и непосредственно отображаются на системную память или область памяти устройства (device specific range). На рисунке в качестве такой области показан локальный фрейм-буфер карты (Local Frame Buffer или LFB). Точный вид и функционирование GART не определены и зависят от управляющей логики карты.

Шина AGP полностью поддерживает операции шины PCI, поэтому AGP-траффик может представлять из себя смесь чередующихся AGP и PCI операций чтения/записи. Операции шины AGP являются раздельными (split). Это означает, что запрос на проведение операции отделен от собственно пересылки данных.

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

В 1998 году спецификация шины AGP получила дальнейшее развитие - вышел Revision 2.0. В результате использования новых низковольтных электрических спецификаций появилась возможность осуществлять 4 транзакции (пересылки блока данных) за один 66-мегагерцовый такт (AGP 4x), что означает пропускную способность шины в 1GB/сек! Единственное, чего не хватает для полного счастья, так это чтобы устройство могло динамически переключаться между режимами 1х, 2х и 4х, но с другой стороны, это никому и не нужно.

Однако потребности и запросы в области обработки видеосигналов все возрастают, и Intel готовит новую спецификацию - AGP Pro (в настоящее время доступен Revision 0.9) - направленную на удовлетворение потребностей высокопроизводительных графических станций. Новый стандарт не видоизменяет шину AGP. Основное направление - увеличение энергоснабжения графических карт. С этой целью в разъем AGP Pro добавлены новые линии питания.

Предполагается, что будет существовать два типа карт AGP Pro - High Power и Low Power. Карты High Power могут потреблять от 50 до 110W. Естественно, такие карты нуждаются в хорошем охлаждении. С этой целью спецификация требует наличия двух свободных слотов PCI с component side (стороны, на которой размещены основные чипы) карты.

При этом данные слоты могут использоваться картой как дополнительные крепления, для подвода дополнительного питания и даже для обмена по шине PCI! При этом на использование этих слотов накладываются лишь незначительные ограничения.

При использовании слотов для подвода дополнительного питания:

    Не использовать для питания линии V I/O;

    Не устанавливать линию M66EN (контакт 49В) в GND (что вполне естественно, так как это переводит шину PCI в режим 33 MHz).

При использовании слота для обмена по шине:

    Подсистема PCI I/O должна разрабатываться под напряжение 3.3V c возможностью функционирования при 5 V.

Поддержка 64-разрядного или 66 MHz режимов не требуется.

Карты Low Power могут потреблять 25-50W, поэтому для обеспечения охлаждения спецификация требует наличия одного свободного слота PCI.

При этом все retail-карты AGP Pro должны иметь специальную накладку шириной соответственно в 3 или 2 слота, при этом карта приобретает вид достаточно устрашающий.

В общем, как представлю себе графическую станцию с двумя процессорами Xeon и видеокартой AGP Pro High Power... Можно здорово сэкономить на отоплении... Закрадывается крамольная мысль, что в спецификацию PC 200? будет заложено жидкостное охлаждение. Опять-таки поживем – увидим…

Шина USB

(Universal Serial Bus)

Что такое USB?

Спецификация периферийной шины USB разработана лидерами компьютерной и телекоммуникационной промышленности -- Compaq, DEC, IBM, Intel, Microsoft, NEC и Northern Telecom -- для подключения компьютерной периферии вне корпуса машины по стандарту plug'n'play, в результате отпадает необходимость в установке дополнительных плат в слоты расширения и переконфигурировании системы. Персональные компьютеры, имеющие шину USB, позволяют подключать периферийные устройства и осуществляют их автоматическое конфигурирование, как только устройство физически будет присоединено к машине, и при этом нет необходимость перезагружать или выключать компьютер, а так же запускать программы установки и конфигурирования. Шина USB позволяет одновременно подключать последовательно до 127 устройств, таких, как мониторы или клавиатуры, выполняющие роль дополнительно подключенных компонентов, или хабов (т.е. устройство, через которое подключается еще несколько).

Кто создал USB?

USB была разработана группой из семи компаний, которые видели необходимость во взаимодействии для обеспечения дальнейшего роста и развития расцветающей индустрии интегрированных компьютеров и телефонии. Эти семь компаний, продвигающие USB, следующие: Compaq, Digital Equipment Corp, IBM PC Co., Intel, Microsoft, NEC и Northern Telecom.

Как это работает?

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

Какие виды периферийного оборудования поддерживает USB для подключения к моему PC?

Вы знаете эти устройства: телефоны, модемы, клавиатуры, мыши, устройства чтения CD ROM, джойстики, ленточные и дисковые накопители, сканеры и принтеры. Скорость прокачки в 12 мегабит/секунду позволяет подключать через USB все современное поколение периферийных устройств, включая аппаратуру для обработки видео данных формата MPEG-2, перчатки для управления виртуальными объектами и дигитайзеры. Также, с ожиданием большого роста в области интеграции компьютеров и телефонии, шина USB может выступать в качестве интерфейса для подключения устройств Цифровой сети с интегрированными услугами (ISDN) и цифровых устройств Private Branch eXchange (PBX), позволяющих подключать большое количество телефонов к небольшому количеству линий связи.

Что означает существование USB для поставщиков систем и периферии?

Совместимость USB строится на основе технологически целостной и открытой спецификации, которая удовлетворяет потребностям потребителей в легко расширяемых компьютерах. В свою очередь, для поставщиков и реселлеров компьютеров, периферии и программного обеспечения, совместимость USB принесет прибыль, за счет использования новых методов маркетинга:

    "Готовая платформа" позволяет логично связать аппаратное и программное обеспечение для совместной поставки покупателю.

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

    USB-совместимая периферия может предложить частным и корпоративным покупателям больший выбор оборудования, без страха снижения функциональных возможностей аппаратных средств.

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

    USB может обеспечить поставщикам периферии дополнительную выгоду, за счет поставки нового оборудования для систем, использующих технологию MMX™.

    USB может помочь поставщикам снизить их затраты на разработки, что в свою очередь позволит им устанавливать новые, более конкурентноспособные, цены.

Как много USB-совместимых компьютеров можно ожидать на рынке?

Компания Dataquest считает, что до 30 миллионов USB-совместимых персональных компьютеров было продано в течение 1997, а в 1998-99 году, все персональные компьютеры будут оснащены шиной USB.

Есть ли уже устройства для USB шины?

Персональные компьютеры с шиной USB начали поставляться на рынок еще в середине 1996 года, и первая волна периферии с подключением через USB шину уже доступна пользователям.

Так же доступны технологии, используемые для разработки и создания USB систем, таких как коннекторов, чипсетов и материнских плат.

Как может применяться USB при наличие двух систем, например ноутбука и настольного компьютера?

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

Как можно сравнить USB со стандартом Sony FireWire/IEEE 1394?

Основные отличия состоят в области применения, доступности и цене. Использование USB доступно уже сейчас для традиционных устройств, подключаемых к PC, таких, как клавиатуры, мыши, джойстики и ручные сканнеры. Тем не менее, пропускная возможность USB в 12 Mb/сек более чем достаточна для большинства применений ее пользователями, включая более продвинутые игровые устройства, высококачественный звук и сжатое видео стандартов MPEG-1 и MPEG-2. Но, что более важно, применение USB не увеличивает стоимость готовой системы в силу интегрирования контроллера в чипсет.

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

Шина

Скорость передачи данных

Топология

Длина соединительного кабеля

Поддерживаемые устройства

USB

12 Мб/с

Звезда

5 м на сегмент

Периферия: устройства ввода, телекоммуникационное оборудование, принтеры, аудио/видео устройства

Firewire (IEEE P1394)

100 Мб/с

Дерево

4.5 м

Устройства хранения данных и цифровая видеоэлектроника

Заменит ли FireWire шину USB после своего появления?

Нет. Две технологии ориентированы на подключение разных периферийных устройств и следовательно будут дополнять друг друга. Если FireWire станет превалирующей, где-то через год, все будет зависить от конкретного покупателя и его требований к своему новому компьютеру. Кажется вполне вероятным, что в будущем персональные компьютеры будут одновременно оснащены соединительными портами шины USB и FireWire.

Что такое интеллектуальные вопросы собственности (Intellectual Property - IP) в отношении USB, лицензия ли это, сколько она стоит, что такое "Обратный Договор"(Reciprocal Covenent Agreement) о котором я слышал?

Использование USB свободно от авторского гонорара, т.е. создатели спецификации разрешают любому разрабатывать на ее основании продукцию без какой либо платы за это. Разработчики спецификации шины подписали IP соглашение, в котором обещается, что не будет никакого судебного преследования по любому включенному пункту в IP в пределах спецификации. Обратный Договор является копией этого соглашения с возможностью для любого, кто внедряет шину USB, подписать этот договор и вернуть его в администрацию USB-IF, для внесения записи о том, что соглашение прочитано и понято. Обратный Договор доступен каждому (членам USB-IF или нет) для разъяснения лицензионного соглашения на USB.

Что такое сцпецификации OHCI и UHCI?

OHCI и UHCI, являются спецификациями, совместимыми с USB, и описывают интерфейс различных аппаратных реализаций встраиваемого контроллера. Многообразие встраиваимых в аппаратную часть систем контроллеров, является естественным развитием и создается в рамках спецификации USB.

Есть ли возможность увеличить длину соединения устройств через шину USB до 50-200 метров (например, используя оптоволокно), если это понадобится пользователям?

Периферийный интерфейс USB предназначен для настольных систем, а расстояние в 200 метров, похоже, соответствует очень большему столу. Многие компании, входящие в сообщество внедрения USB, уже долгое время обсуждают проблему применения шины на больших расстояниях и думают о создании продуктов, которые позволили бы сделать это возможным. Устройство расширения выглядит как два хаба для шины USB, однако использует другие протоколы (например, для оптоволокна) между точками соединения кабеля. На каждом конце электрический сигнал в USB должен быть транслирован в или из сигнала для длинных расстояний. Для того, что бы все это стало возможным, необходимо решить вопросы, связанные с протоколом передачи пакетов данных и временными задержками, которые должны быть совместимы и соответствовать спецификации USB.

Когда устройство отключено, его драйвер выгружается из памяти, если опять подключить это же устройство, будет ли его драйвер снова загружен?

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

Существуют ли планы по увеличению пропускной способности шины USB вдвое, втрое?

Нет, шина USB была разработана в качестве периферийного интерфеса для настольных систем и имеет оптимальное соотношение производительности и цены на сегодняшний день. Новый интерфейс, такой как FireWire, для будущих высокоскоростных периферийных устройств, уже в стадии внедрения.

Может ли кто нибудь разъяснить разницу между соединителями серии "A" и "B"?

Коннекторы серии "A" разработаны для всех устройств USB, и являются разъемом для периферии и гнездом для персонального компьютера. В большинстве случаев, кабель USB должен быть встроен в периферийное устройство. Это снижает стоимость соединителей, избавляет от несовместимости, возможной в случае разного сопротивления кабелей, и упрощает действия пользователей по подключению. Однако в некоторых случаях встроенный кабель нельзя использовать. Хорошим примером могут служить очень большие и тяжелые устройства, плохо сочетатающиеся с тонким кабелем, который нельзя удалить, а так же устройства, подключаемые только изредка, которые интенсивно используются, когда не являются подключенными. Для таких случаев и были созданы коннекторы серии "B". Две серии коннекторов различаются внешне, это сделано для предотвращения соединений, которые бы могли нарушить топологию архитектуры USB.

В чем разница между основным хабом и обычным с точки зрения аппаратной реализации и программного обеспечения?

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

Возможно ли использование шины USB для подключения таких периферийных устройств, как CD-R, ленточных накопителей или жестких дисков?

Возможность применения основана на приемлемости уровня производительности. Если какое-то из этих устройств предполагается часто использовать, то, обычно предъявляются требования, что бы оно было механически интегрированно в систему и имело высокую производительность, опять же соответствующую уровню системы в целом. Шина USB не разрабатывалась для обеспечения постоянного соединения высокоскоростных периферийных устройств внутри корпуса компьютера. Если устройство используется время от времени или подключается к разным компьютерам, тогда, производительность, обеспечиваемая шиной USB будет более чем достаточной. Удобства использования и подключения устройств, обеспечиваемые USB с лихвой перевешивают параметры скорости предачи данных. Но все таки, USB обеспечивает скорость передачи на уровне 4x или 6x скоростных приводов CD (чего недостаточно для перезаписывающих устройств), но при этом лучшую, чем обеспечивают обычные ленточные накопители, подключенные через параллельный порт, дисководы для гибких магнитных дисков или съемные жесткие диски типа SyQuest.



IEEE 1394 (Firewire) - новая последовательная шина

IEEE 1394 или Firewire - это последовательная высокоскоростная шина, предназначенная для обмена цифровой информацией между компьютером и другими электронными устройствами. Благодаря невысокой цене и большой скорости передачи данных эта шина становится новым стандартом шины ввода-вывода для персонального компьютера. Ее изменяемая архитектура и одноранговая топология делают Fireware идеальным вариантом для подключения жестких дисков и устройств обработки аудио- и видеоинформации. Эта шина также идеально подходит для работы мультимедийных приложений в реальном времени. В этом материале приведены некоторые общие сведения о стандарте IEEE 1394.



Зачем нужен новый интерфейс

Прежде всего, посмотрите на заднюю стенку своего компьютера. Там можно найти множество всяких разъемов: последовательный порт для модема, принтерный порт для принтера, разъемы для клавиатуры, мыши и монитора, SCSI-интерфейс, предназначенный для подключения внешних носителей информации и сканеров, разъемы для подключения аудио и MIDI устройств, а также для устройств захвата и работы с видеоизображениями. Это изобилие сбивает с толка пользователей и создает беспорядок из соединительных кабелей. Причем, нередко производители ноутбуков используют и другие типы коннекторов.

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

Цифровые устройства генерируют большие объемы данных, необходимые для передачи качественной мультимедиа-информации. Например:

Высококачественное видео
Цифровые данные = (30 frames / second) (640 x 480 pels) (24-bit color / pel) = 221 Mbps

Видео среднего качества
Цифровые данные = (15 frames / second) (320 x 240 pels) (16-bit color / pel) = 18 Mbps

Высококачественное аудио
Цифровые данные = (44,100 audio samples / sec) (16-bit audio samples) (2 audio channels for stereo) = 1.4 Mbps

Аудио среднего качества
Цифровые данные = (11,050 audio samples / sec) (8-bit audio samples) (1 audio channel for monaural) = 0.1 Mbps

Обозначение Mbps - мегабит в секунду.

Для решения всех этих проблем и высокоскоростной передачи данных была разработана шина IEEE 1394 (Firewire).



IEEE 1394 - высокоскоростная последовательная шина

Стандарт поддерживает пропускную способность шины на уровнях 100, 200 и 400 Мбит/с. В зависимости от возможностей подключенных устройств одна пара устройств может обмениваться сигналами на скорости 100 Мбит/с, в то время как другая на той же шине - на скорости 400 Мбит/с. В начале следующего года будут реализованы две новые скорости - 800 и 1600 Мбит/с, которые в настоящее время предлагаются как расширение стандарта. Такие высокие показатели пропускной способности последовательной шины практически исключают необходимость использования параллельных шин, основной задачей которых станет передача потоков данных, например несжатых видеосигналов, внутри компьютера.

Таким образом, Firewire удовлетворяет всем вышеперечисленным требованиям, включая:

    Цифровой интерфейс - позволяет передавать данные между цифровыми устройствами без потерь информации

    Небольшой размер - тонкий кабель заменяет груду громоздких проводов

    Простота в использовании - отсутствие терминаторов, идентификаторов устройств или предварительной установки

    Горячее подключение - возможность переконфигурировать шину без выключения компьютера

    Небольшая стоимость для конечных пользователей

    Различная скорость передачи данных - 100, 200 и 400 Мбит/с

    Гибкая топология - равноправие устройств, допускающее различные конфигурации

    Высокая скорость - возможность обработки мультимедиа-сигнала в реальном времени

    Открытая архитектура - отсутствие необходимости использования специального программного обеспечения

Благодаря этому шина IEEE 1394 может использоваться с:

    Компьютерами

    Аудио и видео мультимедийными устройствами

    Принтерами и сканерами

    Жесткими дисками, массивами RAID

    Цифровыми видеокамерами и видеомагнитофонами

Простейшая система для видеоконференций, построенная на шине IEEE 1394, использующая два 15 fps аудио/видео канала загрузит всего третью часть 100Mbps интерфейса 1394. Но, в принципе, для этой задачи возможно и использование 400Mbps интерфейса.

Шесть контактов FireWire подсоединены к двум проводам, идущим к источнику питания, и двум витым парам сигнальных проводов. Каждая витая пара и весь кабель в целом экранированы. Провода питания рассчитаны на ток до 1,5 А при напряжении от 8 до 40 В, поддерживают работу всей шины, даже когда некоторые устройства выключены. Они также делают ненужными кабели питания во многих устройствах. Не так давно инженеры Sony разработали еще более тонкий четырехпроводный кабель, в котором отсутствуют провода питания. (Они намерены добавить свою разработку к стандарту.) Этот так называемый AV-разъем будет связывать небольшие устройства, как "листья" с "ветками" 1394.

Гнездо разъема имеет небольшие размеры. Ширина его составляет 1/10 ширины гнезда разъема SCSI, у него всего шесть контактов (у SCSI - 25 или 50 разъемов).

К тому же кабель 1394 тонкий - приблизительно в три раза тоньше, чем кабель SCSI. Секрет тут прост - ведь это последовательная шина. Все данные посылаются последовательно, а не параллельно по разным проводам, как это делает шина SCSI.

Топология

Стандарт 1394 определяет общую структуру шины, а также протокол передачи данных и разделения носителя. Древообразная структура шины всегда имеет "корневое" устройство, от которого происходит ветвление к логическим "узлам", находящимся в других физических устройствах.

Корневое устройство отвечает за определен-ные функции управле-ния. Так, если это ПК, он может содержать мост между шинами 1394 и PCI и выпол-нять некоторые дополнительные функ-ции по управлению шиной. Корневое устр-ойство определяется во время инициализации и, будучи однажды выбранным, остается таковым на все время подключения к шине.

Сеть 1394 может включать до 63 узлов, каждый из которых имеет свой 6-разрядный физический идентификационный номер. Несколько сетей могут быть соединены между собой мостами. Максимальное количество соединенных шин в системе - 1023. При этом каждая шина идентифицируется отдельным 10-разрядным номером. Таким образом, 16-разрядный адрес позволяет иметь до 64449 узлов в системе. Поскольку разрядность адресов устройств 64 бита, а 16 из них используются для спецификации узлов и сетей, остается 48 бит для адресного пространства, максимальный размер которого 256 Терабайт (256х10244 байт) для каждого узла.

Конструкция шины удивительно проста. Устройства могут подключаться к любому доступному порту (на каждом устройстве обычно 1 - 3 порта). Шина допускает "горячее" подключение - соединение или разъединение при включенном питании. Нет также необходимости в каких-либо адресных переключателях, поскольку отсутствуют электронные адреса. Каждый раз, когда узел добавляется или изымается из сети, топология шины автоматически переконфигурируется в соответствии с шинным протоколом.

Однако есть несколько ограничений. Между любыми двумя узлами может существовать не больше 16 сетевых сегментов, а в результате соединения устройств не должны образовываться петли. К тому же для поддержки качества сигналов длина стандартного кабеля, соединяющего два узла, не должна превышать 4,5 м.

Протокол

Интерфейс позволяет осуществлять два типа передачи данных: синхронный и асинхронный. При асинхронном методе получатель подтверждает получение данных, а синхронная передача гарантирует доставку данных в необходимом объеме, что особенно важно для мультимедийных приложений.

Протокол IEEE 1394 реализует три нижних уровня эталонной модели Международной организации по стандартизации OSI: физический, канальный и сетевой. Кроме того, существует "менеджер шины", которому доступны все три уровня. На физическом уровне обеспечивается электрическое и механическое соединение с коннектором, на других уровнях - соединение с прикладной программой.

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

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

На сетевом уровне поддерживается асинхронный протокол записи, чтения и блокировки команд, обеспечивая передачу данных от отправителя к получателю и чтение полученных данных. Блокировка объединяет функции команд записи/чтения и производит маршрутизацию данных между отправителем и получателем в обоих направлениях.

"Менеджер шины" обеспечивает общее управление ее конфигурацией, выполняя следующие действия: оптимизацию арбитражной синхронизации, управление потреблением электрической энергии устройствами, подключенными к шине, назначение ведущего устройства в цикле, присвоение идентификатора синхронного канала и уведомление об ошибках.

Чтобы передать данные, устройство сначала запрашивает контроль над физическим уровнем. При асинхронной передаче в пакете, кроме данных, содержатся адреса отправителя и получателя. Если получатель принимает пакет, то подтверждение возвращается отправителю. Для улучшения производительности отправитель может осуществлять до 64 транзакций, не дожидаясь обработки. Если возвращено отрицательное подтверждение, то происходит повторная передача пакета.

В случае синхронной передачи отправитель просит предоставить синхронный канал, имеющий полосу частот, соответствующую его потребностям. Идентификатор синхронного канала передается вместе с данными пакета. Получатель проверяет идентификатор канала и принимает только те данные, которые имеют определенный идентификатор. Количество каналов и полоса частот для каждого зависят от приложения пользователя. Может быть организовано до 64 синхронных каналов.

Шина конфигурируется таким образом, чтобы передача кадра начиналась во время интервала синхронизации. В начале кадра располагается индикатор начала и далее последовательно во времени следуют синхронные каналы 1, 2… На рисунке изображен кадр с двумя синхронными каналами и одним асинхронным

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

Резюме

Таким образом, в скором будущем, на задней панели компьютера можно будет увидеть выходы всего двух последовательных шин: USB для низкоскоростных применений и Firewire - для высокоскоростных. Причем путь в жизнь у шины IEEE 1394 произойдет гораздо быстрее, чем у USB. В этом случае производители программных продуктов и аппаратуры действуют сообща. Уже сейчас доступны различные виды устройств с шиной Firewire, поддержка этой шины будет встроена в операционную систему Windows 98 и в ближайшем будущем ведущие производители чипсетов для PC встроят поддержку этой шины в свои продукты. Так что 1999 год станет годом Firewire.



(Intelligent Input/Output)

I>2>O (Intelligent Input/Output) - спецификация, определяющая стандартную архитектуру интеллектуального ввода/вывода, не зависящую от специфических устройств и операционной системы. Спецификация I>2>O призвана решить две ключевые проблемы:

    Занятость процессора операциями ввода-вывода

    Необходимость в разработке драйверов для каждого устройства и для каждой операционной системы

Суть архитектуры I>2>O заключается в обработке низкоуровневых прерываний ввода-вывода, поступающих от устройств, не центральным процессором (CPU), а специализированным процессором ввода-вывода (IOP), разработанным специально для этой цели. В настоящий момент эта задача решается применением RISC-процессора i960, работающего на частоте 66 МГц со своей собственной памятью, объёмом до 64 МБ. При поддержке обмена сообщениями между несколькими процессорами, архитектура I>2>O разгружает центральный процессор и позволяет выполнение задач, требующих интенсивного ввода-вывода и широкой полосы пропускания, например видеоприложений или работы в среде клиент-сервер. Применения I>2>O не ограничены и она может быть использована как в однопроцессорных, так и многопроцессорных и кластерных системах.

Спецификация I>2>O определяет разбиение драйвера устройства на две части: ОС-зависимого и аппаратно-зависимого модуля, созданного для конкретного устройства. Эти модули работают автономно и могут выполнять задачи независимо. В настоящее время поддержка I>2>O обеспечивается в NetWare 4, Windows NT Server 5.0 и UnixWare. Таким образом, технология с разбиением драйвера, уменьшает общее число требуемых драйверов: производители операционных систем пишут по одному драйверу на каждый класс устройств, например дисковые контроллеры, а производители оборудования - по одному драйверу на каждое свое устройство, который может быть использован с любой операционной системой поддерживающий I>2>O.

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

Краткий обзор

Две части драйвера I>2>O устройства представляют собой Operating System Services Module (OSM), модуль обслуживания операционной системы, обеспечивающий интерфейс с ней и Hardware Device Module (HDM), модуль устройства, обеспечивающий управление оборудованием. OSM работает со внешним устройством посредством HDM. Общение между этими модулями происходит на двух уровнях - уровне сообщений, на котором происходит установление связи и транспортном уровне, определяющим способы разделения информации. Как и в большинстве протоколов связи, уровень сообщений базируется на транспортном уровне.

Модель связи I>2>O, в комбинации со средой выполнения и конфигурационным интерфейсом, обеспечивает независимый интерфейс с HDM. Модули способны связаться друг с другом без знания архитектуры шины или топологии системы. Передаваемые сообщения формируют некий метаязык, не зависящий от аппаратной реализации. Вся эта технология сильно напоминает сеть TCP/IP. Такая реализация I>2>O, кроме всего прочего, обеспечивает мобильность устройств ввода-вывода.

Модель связи I>2>O

Модель связи для I>2>O - это система обмена сообщениями. Когда OSM получает запрос от операционной системы, он транслирует его в запрос I>2>O и передает его HDM для обработки. После обработки запроса, HDM возвращает результат обратно OSM, посылая сообщение посредством уровня сообщений I>2>O. Далее результат передается операционной системе, как от любого другого драйвера устройства.

Уровень сообщений

Уровень сообщений определяет открытый, стандартный и абстрактный механизм для связи между сервисными модулями, обеспечивая основу для интеллектуального ввода - вывода. Этот уровень, управляя пересылкой всех запросов, а также обеспечивая функционирование API (Application Programming Interface), связывает модель драйверов I>2>O.

Уровень сообщений состоит из трех основных компонент: дескриптора сообщения, сервисной программы сообщения (Message Service Routine - MSR), и очереди сообщений. Дескриптор по существу является адресом ресурса, к которому идет обращение. Для каждого сообщения, проходящего на уровне сообщений создается свой дескриптор. Очередь сообщений организуется между передающим и приемным устройствами.

Когда драйвер формирует сообщение, оно помещается в очередь и для его обработки активизируется MSR. Сообщение содержит две части - заголовок и тело. Заголовок содержит тип сообщения и адрес его отправителя.

I>2>O базируется на очереди между MSR и отправителем. Инициатор запроса и сервисный модуль обслуживаются IOP. I>2>O определяет также формат памяти, необходимой для функционирования технологии, не зависящий от организации операционной системы.

Модуль обслуживания операционной системы - OSM

OSM обеспечивает интерфейс между операционной системой и уровнем сообщений I>2>O. В используемой модели драйверов, OSM представляет собой ту часть драйвера, которая обеспечивает интерфейс между системно-зависимым API и абстрактным форматом сообщений, посылаемых в HDM для обработки. OSM зависят от операционных систем и создаются их разработчиками.

OSM переводит сообщения операционной системы в формат, который может быть понят HDM. Передача информации обратно, от HDM к операционной системе реализуется также через OSM посредством уровня сообщений I>2>O.

Один OSM может обслуживать множественные HDM. Благодаря существованию дескрипторов на уровне сообщений, OSM обладает возможностью рассылать свои сообщения многим адресатам, а также организовывать пересылку информации между ними.

Аппаратный модуль устройства - HDM

HDM - низкоуровневый модуль в среде I>2>O. HDM представляет собой аппартно-зависимую часть драйвера, обеспечивающую взаимодействие с контроллером или непосредственно устройством. Можно провести аналогию между HDM и аппаратно зависимой частью драйвера сети или драйвером SCSI в том виде, в котором он существует сегодня. Каждый HDM уникален для каждого конкретного устройства и производителя. Он поддерживает все низкоуровневые операции устройства, такие как синхронные и асинхронные запросы, а также транзакции управляемые событиями.

HDM окружен средой I>2>O, которая изолирует его от общения с операционной системой и шинными протоколами. Таким образом, один HDM может быть использован не только с различными операционными системами, но даже с различными платформами. HDM пишется производителем устройства и обычно прошивается в адаптер.

Системная среда

Модель I>2>O может быть применена в любых условиях - как и в однопроцессорных, так и многопроцессорных системах.

Интерфейсы OSM и HDM входят в основной API I>2>O. Среда выполнения OSM зависит от операционной системы, что оказывает влияние на реализацию некоторых функций API. В задачи OSM входит реализация связи между API, используемого операционной системой, и HDM, управляющим устройством.

Кроме основных функций в API HDM может быть введен дополнительный набор команд. Этот набор необходим для прямого общения операционной системы с HDM и применяется при ее загрузке для инициализации ядра. Примерно это и реализуется в основных многозадачных средах. Однако этот дополнительный набор также является единым для всех устройств одного класса. Так что технология I>2>O не несет в себе никаких ограничений для области ее использования.

Реализация архитектуры I>2>O

Гибкая, открытая архитектура I>2>O предоставляет разработчикам различные варианты для реализации. Основные три подхода следующие:

    Установка IOP на материнскую плату. IOP устанавливается на материнскую плату и используется при интеллектуальном вводе-выводе. В этом случае IOP используется в качестве стандартного PCI Bridge и добавляет "интеллектуальности" к шине PCI

    Установка IOP на дополнительной плате расширения. Интеллектуальный контроллер I>2>O инсталлируется как, например, обычная сетевая карта

    Установка опциональной платы расширения с IOP в специализированный слот на материнской плате. Этот процессор будет функционировать со всеми устройствами, требующими интеллектуальный ввод-вывод

Практика использования I>2>O

Устройства, совместимые с технологией I>2>O будут маркироваться производителями как "I>2>O ready". Однако в одной системе можно будет применять, как и I>2>O устройства, так и обычные, неинтеллектуальные устройства. Это позволит организовать легкий переход к новой архитектуре. Тем более стоимость материнской платы с IOP возрастет максимум на $10-15.

Можно ожидать, что в связи со введением дополнительных устройств (IOP) и разбиения драйвера на части, скорость обмена информацией может упасть. В принципе, это мнение оправдано. Однако, в связи с тем что во-первых упрощается задача написания драйверов, а во-вторых разгружается центральный процессор, общая эффективность системы должна возрасти. Пример подобного роста эффективности - применение IDE Bus Master драйверов.

Внедрение технологии интеллектуального ввода-вывода должно произойти в ближайшее время, тем более что ведущие производители материнских плат уже представили свои изделия с установленным на борту IOP i960, единственным на настоящее время процессором для реализации I>2>O. Первое время I>2>O будет использоваться в серверах, однако в ближайшем будущем может распространиться и на домашние системы.

Заключение

Таким образом, I>2>O предлагает новый подход к организации интеллектуального ввода-вывода, упрощая жизнь, как разработчиком устройств, так и производителям операционных систем благодаря разделению функций драйверов. Кроме того, I>2>O призвана реализовать новую высокопроизводительную концепцию высокопроизводительного и платформенно-независимого интеллектуального ввода-вывода. Открытость этого стандарта позволяет легко перейти от сегодняшних реалий в мир интеллектуального обмена информацией.

EV-6

Одной из главных сенсаций Microprocessor Forum’98 стало заявление компании Advanced Micro Devices (AMD). По словам основателя и исполнительного директора (CEO или Chief Executive Officer) компании Джерри Сандерса (Jerry Sanders), новый процессор К7 будет выпушен в 1999 году в картридже, физически совместимом (то есть, имеющем такое же количество и расположение контактов) с патентованным разъемом Slot 1 компании Intel. При этом новый разъем компании AMD (рабочее название - Slot A) не будет электрически совместим со Slot 1, то есть AMD не собирается нарушать патенты Intel. В качестве системной шины К7 будет использовать шину ввода/вывода процессора Alpha 21264 (внутреннее название EV-6) компании Digital Equipment.

Техника

Что же представляет собой эта шина? Если Intel еще только подняла частоту системной шины для процессоров серии Р6 до 100 MHz, EV-6 уже сейчас работает на частоте 333 MHz, что обеспечивает ей пропускную способность 2.6 GBps. По этому показателю EV-6 более чем в три раза превосходит 100-мегагерцовые шины Socket 7 и Р6. Кроме того, хотя спецификация EV-6 не определяет специальной шины для обмена с кэшем L2, разработчики могут добавлять ее при необходимости - так, например, "верхние" модели процессора Digital 21264 имеют 128-разрядную дополнительную шину, что в два раза "шире", чем у Pentium II.

Возникает резонный вопрос: как удалось заставить EV-6 работать на такой частоте, если переход даже с 66 MHz на 100MHz сопряжен с громадными техническими сложностями. Дело в том, что EV-6, в общем-то, не является шиной в привычном понимании этого слова. На системной шине Socket 7 "висит" собственно процессор (или процессоры в многопроцессорных системах), кэш L2, системная память, шина PCI и, если она присутствует в системе, шина AGP. Архитектура Р6 отличается только тем, что с системной шины "сняли" кэш L2, выделив для него специальную 64-разрядную шину. EV-6 же представляет собой просто 64-битный канал обмена между процессором и чипсетом. Каждый процессор в многопроцессорной системе должен иметь свою шину EV-6. Обмен с системной памятью, PCI и AGP осуществляется чипсетом, причем каждая шина может работать на своей частоте.

Преимущества EV-6, в общем-то, очевидны. Поскольку главным "узким местом" современных процессоров является обмен с системной памятью, повышенная пропускная способность позволит уменьшить время простоя процессора при заполнении линии кэша. Кроме того, "излишек" пропускной способности можно, например, использовать в High-end системах, применяя 128-разрядную шину обмена с системной памятью. Недостатки этой архитектуры также лежат на поверхности: разработка чипсетов становится более сложной и дорогостоящей, особенно для многопроцессорных систем (по некоторым сообщениям, например, журнала BYTE, AMD ведет переговоры с VIA о разработке чипсетов EV-6).

Политика

Что же явилось причиной такого заявления компании AMD, по некоторым данным, ставшего неожиданным даже для партнера AMD - компании Digital? Во-первых, Intel расширяет свое присутствие в секторе персональных компьютеров начального уровня - традиционной вотчине AMD. Анонсированный Covington, представляющий собой Pentium II без кэша L2, предназначен для компьютеров стоимостью до $1000. С другой стороны, после того, как в 1996 году AMD проиграла судебный процесс, в ходе которого пыталась оспорить право собственности компании Intel на архитектуру P6, в печати начали появляться предположения, что AMD не готова к дальнейшей конкуренции с Intel и не может предложить альтернативы Slot1. Своим заявлением Джерри Сандерс, по-видимому, стремиться опровергнуть эти утверждения и "перевести борьбу на половину поля соперника" - на рынок систем верхнего уровня.

Экономика

Для того, чтобы любая, даже самая великая идея в области компьютерной техники воплотилась в жизнь, она должна завоевать рынок. Простое перечисление безвременно погибших идей и изобретений займет больше страницы. Хрестоматийный пример - архитектура MicroChannel компании IBM. Какие же перспективы у EV-6? С одной стороны, практически полная физическая идентичность разъемов Slot1 и Slot A (за исключением, возможно, другого расположения "ключей" во избежание повреждения материнских плат при неправильной установке К7 вместо Pentium II и наоборот) облегчает жизнь производителям материнских плат - достаточно заменить чипсет и сделать минимальные изменения в разводке. Компания Digital, в свою очередь, получает прекрасную возможность сделать Alpha-системы общедоступными. Поскольку для установки процессора 21164 на материнскую плату с разъемом Slot А требуется только изменение BIOS (что сводится к перезаписи Flash ROM), цена такой системы может быть менее $1500. Кроме того, агрессивная политика Intel на рынке чипсетов и материнских плат приводит к вытеснению с него ряда компаний. В результате им ничего не остается, кроме как поддерживать альтернативные архитектуры. Поскольку компания Digital заявила, что предоставит лицензию на EV-6 всем желающим, это дает неплохой шанс новой архитектуре.

С другой стороны, уже ясно, что два других конкурента Intel - Cyrix и Centaur Technology, не будут поддерживать Slot А. Cyrix, недавно приобретенная компанией National Semiconductor, надеется изыскать лазейки в соглашении о перекрестном лицензировании между последней и Intel и клонировать Slot1. Правда, у Intel другой взгляд на это соглашение, так что дело, по-видимому, будет решаться в суде. Что касается Centaur, то компания полностью ориентируется на рынок компьютеров начального уровня и, видимо, не собирается в ближайшем будущем отказываться от Socket 7.

Как говорится - "поживем - увидим". Лично я бы с удовольствием протестировал плату с шиной EV-6, разъемом Slot A и процессором К7. С другой стороны, непонятно, какой выигрыш даст EV-6 при работе со стандартной (на данный момент) шиной обмена с системной памятью. И опять-таки, пока неясно, не будет ли существенной потери производительности процессора Alpha 21264 при работе на системной плате, "общей" с К7. Будем надеяться, что тех 10 процентов компьютерного рынка, которые сейчас контролирует AMD, хватит для "раскрутки" новой архитектуры. Тогда и посмотрим, и померяем.

Список использованных материалов:

    http://ixbt.stack.net

    http://developer.intel.com/design/iio/

    http://firewire.org/

    http://www.skipstone.com/

    http://www.sel.sony.com/SEL/consumer/camcorder/dcr_vx1000.html

    http://www.ti.com/sc/docs/msp/1394/1394.htm

    http://www.usb.org

    http://developers.intel.com/technology/agp

    http://…

1 Контакт В8 по-разному использовался в ХТ и АТ. Для обеспечения совместимости IBM XT со специфической системой под названием 3270 РС, восьмой (ближайший к блоку питания) слот расширения ХТ был особенным. В него можно было устанавливать лишь платы, выдающие на контакт В8 сигнал "выбор платы" или, как его еще называют, "сигнал J8" - например, плату клавиатуры/таймера от 3270 РС. К этим платам, кроме того, предъявлялись другие требования по синхронизации. В IBM AT такую хитрую совместимость обеспечивать не стали, а контакт В8 приспособили для подачи сигнала NOWS - No Wait State