АНАЛИЗ СОСТОЯНИЯ И ПЕРСПЕКТИВЫ РАЗВИТИЯ В ОБЛАСТИ СОЗДАНИЯ КОМПЬЮТЕРНЫХ ШИН - Студенческий научный форум

VII Международная студенческая научная конференция Студенческий научный форум - 2015

АНАЛИЗ СОСТОЯНИЯ И ПЕРСПЕКТИВЫ РАЗВИТИЯ В ОБЛАСТИ СОЗДАНИЯ КОМПЬЮТЕРНЫХ ШИН

 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

«Всё течёт, всё меняется!». В сфере компьютерных технологий эта фраза никогда не потеряет актуальности, равно как и девиз «Быстрее! Выше! Сильнее!». И действительно, последние несколько лет можно назвать «временами перемен» компьютерной индустрии. В полной мере это коснулось и такой специфичной области, как компьютерные шины.

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

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

Компьютерная шина — это группа проводников, соединяющих различные устройства. Шины можно разделить на группы в соответствии с выполняемыми функциями. Они могут быть внутренними по отношению к процессору и служить для передачи данных в АЛУ и из АЛУ, а могут быть внешними по отношению к процессору и связывать процессор с памятью или устройствами ввода-вывода. Каждый тип шины обладает определенными свойствами, и к каждому из них предъявляются определенные требования.

Существует ряд широко используемых в компьютерном мире шин. Приведем несколько примеров: Omnibus (PDP-8), Unibus (PDP-11), IBM PC (PC/XT), ISA (PC/AT), EISA (80386), MicroChannel (PC/2), PCI (различные персональные компьютеры), SCSI (различные персональные компьютеры и рабочие станции), Nubus (Macintosh), Universal Serial Bus (современные персональные компьютеры), FireWire (бытовая электроника), VME (оборудование в кабинетах физики) и Сагаас (физика высоких энергий). Может быть, все стало бы намного проще, если бы все шины, кроме одной, исчезли с поверхности Земли (или кроме двух). К сожалению, стандартизация в этой области кажется маловероятной, и уже вложено слишком много средств во все эти несовместимые системы.

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

  1. История развития компьютерных шин

Первое поколение

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

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

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

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

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

Во многих микроконтроллерах и встраиваемых системах шины ввода-вывода до сих пор не существует. Процесс передачи контролируется ЦПУ, который в большинстве случаев читает и пишет информацию в устройства, так, как будто они являются блоками памяти. Все устройства используют общий источник тактового сигнала. Периферия может запросить обработку информации путём подачи сигналов на специальные контакты ЦПУ, используя какие-либо формы прерываний. Например, контроллер жёсткого диска уведомит процессор о готовности новой порции данных для чтения, после чего процессор должен считать их из области памяти, соответствующей контроллеру. Почти все ранние компьютеры были построены по таким принципам, начиная от Altair с шиной S-100, заканчивая IBM PC в 1980 х.

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

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

Второе поколение

Компьютерные шины «второго поколения», например, Nu Bus решали некоторые из вышеперечисленных проблем. Они обычно разделяли компьютер на две «части», процессор и память в одной и различные устройства в другой. Между частями устанавливался специальный контроллер шин (buscontroller). Такая архитектура позволила ускорять скорость процессора без влияния на шину, разгрузить процессор от задач управления шиной. При помощи контроллера устройства на шине могли взаимодействовать друг с другом без вмешательства центрального процессора. Новые шины имели лучшую производительность, но также требовали более сложных карт расширения. Проблемы скорости часто решались увеличением разрядности шины данных, с 8-ми битных шин первого поколения до 16 или 32-х битных шин во втором поколении. Также появилась программная настройка устройств для упрощения подключения новых устройств, ныне стандартизованная как Plug-n-play.

Однако новые шины, так же, как и предыдущее поколение, требовали одинаковых скоростей от устройств на одной шине. Процессор и память теперь были изолированы на собственной шине, и их скорость росла быстрее, чем скорость периферийной шины. В результате, шины были слишком медленны для новых систем и машины страдали от нехватки данных. Один из примеров данной проблемы: видеокарты быстро совершенствовались, и им не хватало пропускной способности даже новых шин (PCI). Компьютеры стали включать в себя (AGP) только для работы с видеоадаптерами. В 2004 году AGP снова стало недостаточно быстрым для мощных видеокарт и AGP стал замещаться новой шиной PCI Express.

Увеличивающееся число внешних устройств стало применять собственные шины. Когда были изобретены приводы дисков, они присоединялись к машине при помощи карты, подключаемой к шине. Из-за этого компьютеры имели много слотов расширения. Но в 1980 х и 1990 х были изобретены новые шины IDE решившие эту проблему, и оставив большую часть разъёмов расширения в новых системах пустыми. В наше время типичная машина поддерживает около пяти различных шин.

Шины стали разделять: внутренние (localbus) и внешние (externalbus). Первые разработаны для подключения внутренних устройств, таких как видеоадаптеры и звуковые платы, а вторые предназначались для подключения внешних устройств, например, сканеров. IDE является внешней шиной по своему предназначению, но почти всегда используется внутри компьютера.

Третье поколение

Шины «третьего поколения» (например, PCI-Express) обычно позволяют использовать как большие скорости, необходимые для памяти, видеокарт и межпроцессорного взаимодействия, так и небольшие при работе с медленными устройствами, например, приводами дисков. Также они стремятся к большей гибкости в терминах физических подключений, позволяя использовать себя и как внутренние и как внешние шины, например, для объединения компьютеров. Это приводит к сложным проблемам при удовлетворении различных требований, так что большая часть работ по данным шинам связана с программным обеспечением, а не с самой аппаратурой. В общем, шины третьего поколения больше похожи на компьютерные сети, чем на изначальные идеи шин, с большими накладными расходами, чем у ранних систем. Также они позволяют использовать шину нескольким устройствам одновременно.

Современные интегральные схемы часто разрабатываются из заранее созданных частей. Разработаны шины (напримерWishbone) для более простой интеграции различных частей интегральных схем.

Топологии шин

Примеры внутренних компьютерных шин.

Параллельные:

  • Проприетарная ASUS Media Bus, использовалась на некоторых материнских платах ASUS с Socket 7 и представляла собой шину ISA в специфическом разьеме, размещенном в одну линию с разъемом шины PCI.

  • CAMAC -для измерительных систем (instrumentation systems)

  • EISA(Extended ISA )- шина для IBM-совместимых компьютеров.

  • ISA(Industry Standard Architecture )- 8- или 16-разрядная шина ввода-вывода в IBM PC-совместимых компьютеров.

  • LPC(Low Pin Count)- шина, используемая в IBM PC-совместимых персональных компьютерах для подключения устройств, не требующих большой пропускной способности к ЦПУ.

  • MCA (MicroChannel)- системная шина, представленная в 1987 году[1] корпорацией IBM вместе с новым семейством персональных компьютеров IBM PS/2

  • Multibus- для промышленных систем

  • NuBus (IEEE 1196)

  • OPTi local bus, использовалась для ранних материнских плат для Intel 80486

  • PCI, также PCI-X(Peripheral Component Interconnect)- шина ввода-вывода для подключения периферийных устройств к материнской плате компьютера.

  • S-100 bus или IEEE 696, использовалась в Altair и похожих микрокомпьютерах

  • SBus или IEEE 1496- компьютерная шина, использовавшаяся в большинстве компьютеров на основе SPARC от Sun Microsystems в 1990-х

  • VLB (VESA Local Bus) или VL-bus- использовалась в основном на материнских платах для 80486 процессоров и была подключена непосредственно к выводам микропроцессора. Однако встречалась и реализация этой шины в сочетании с ЦПУ IBM BL3 (аналог i386SX) и ранними Pentium

  • VMEbus (VERSAmodule Eurocard bus)- стандарт на компьютерную шину, первоначально разработанный для семейства микропроцессоров Motorola 68000, и в дальнейшем нашедший применение для множества других приложений.

  • STD Bus - для 8-ми и 16-ти битных микропроцессорных систем

  • Unibus- первая компьютерная шина, используемая в компьютерах PDP-11 и ранних VAX, производимых Digital Equipment Corporation (DEC).

  • Q-Bus- одна из разновидностей шин, применяемых в компьютерах PDP-11 и MicroVAX фирмы Digital Equipment Corporation.

Последовательные

  • 1-Wire- двунаправленная шина связи для устройств с низкоскоростной передачей данных, в которой данные передаются по цепи питания.

  • HyperTransport- технология используется компаниями AMD и Transmeta в x86-процессорах; PMC-Sierra, Broadcom и Raza Microelectronics — в процессорах AMD, MIPS; nVidia, VIA, SiS, ULi/ALi, Apple Computer и HP — в наборах системной логики для ПК; HP, Sun Microsystems, IBM и iWill — в серверах; Cray, Newisys и PathScale — в суперкомпьютерах, а также компанией Cisco Systems — в маршрутизаторах.

  • I²C- Используется для соединения низкоскоростных периферийных компонентов с материнской платой, встраиваемыми системами и мобильными телефонами.

  • PCI Express (PCIe)- последовательный синхронный стандарт передачи данных в режиме полного дуплекса, предназначенный для обеспечения простого и недорогого сопряжения микроконтроллеров и периферии.

  • SPI(Serial Peripheral Interface Bus)- последовательный синхронный стандарт передачи данных в режиме полного дуплекса, предназначенный для обеспечения простого и недорогого сопряжения микроконтроллеров и периферии. SPI также иногда называют четырёхпроводным(англ. four-wire) интерфейсом.

  • DMI (Direct Media Interface)- используется в чипсетах семейства Intel 915 с южным мостом ICH6 в 2004 году

  • QPI ( Intel QuickPath Interconnect)- используется только в сериях процессоров Xeon и Core i7 с ядром Nehalem для разъема LGA 1366, а также будет использоваться в следующем поколении Itanium (ядро Tukwila)

  • SATA/SAS- является развитием параллельного интерфейса ATA (IDE), который после появления SATA был переименован в PATA (Parallel ATA).

Примеры внешних компьютерных шин:

  • ATA (Advanced Technology Attachment ) (также известна, как PATA, IDE, EIDE, ATAPI) — в 1990-е годы был стандартом на платформе IBM PC; SATA, Serial ATA — современный вариант ATA

  • USB(Universal Serial Bus)- поддержка USB вышла в виде патча к Windows 95b, в дальнейшем она вошла в стандартную поставку Windows 98 FireWire, i.Link, IEEE 1394

  • HIPPI (HIgh Performance Parallel Interface)-

  • IEEE-488, GPIB (General-Purpose Instrumentation Bus), HPIB, (Hewlett-Packard Instrumentation Bus)- разработана для использования в автоматизированном измерительном оборудовании под названием интерфейсная шина Hewlett-Packard (англ. Hewlett-Packard Interface Bus, HP-IB)

  • PC card, ранее известная как PCMCIA, часто используется в ноутбуках и других портативных компьютерах, но теряет своё значение с появлением USB и встраиванием сетевых карт и модемов

  • SCSI (Small Computer System Interface)- применяться в компьютерах Sun Microsystems.

Примеры универсальных компьютерных шин:

  • Futurebus- скоростная шина, предназначенная для пересылки данных между компьютерами и внешними устройствами, число которых может достигать 32. Пересылка данных по шине осуществляется в асинхронном режиме передачей кадров с установлением соединений.

  • InfiniBand- высокоскоростная коммутируемая последовательная шина, применяющаяся как для внутренних (внутрисистемных), так и для межсистемных соединений.

  • SCI (Scalable Coherent Interface) — компьютерная сеть, используемая для построения кластеров.

Описание компьютерных шин

Компьютерная шина (англ. computer bus) (магистраль передачи данных между отдельными функциональными блоками компьютера) – совокупность сигнальных линий, объединённых по их назначению (данные, адреса, управление), которые имеют определённые электрические характеристики и протоколы передачи информации.

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

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

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

Некоторые виды скоростных шин (Fibre Channel, InfiniBand, скоростной Ethernet, SDH) для передачи сигналов используют не электрические соединения, а оптические. Присоединители к шине, разнообразные разъёмы, как правило унифицированы и позволяют подключить различные устройства к шине. Управление передачей по шине реализуется как на уровне прохождения сигнала (мультиплексоры, демультиплексоры, буферы, регистры, шинные формирователи), так и со стороны ядра операционной системы — в таком случае в его состав входит соответствующий драйвер.

Как правило, шины ПК можно представить в виде некой иерархической структуры - шинной архитектуры. Особенностью современных ПК является наличие шины ISA, унаследованной от самых первых моделей IBM PC. Кроме нее, в ПК применяются шины EISA, MCA, VLB, PCI, PCMCIA (CardBus) и AGP.

Технические характеристики компьютерных шин и принцип действия

Ширина шины

Ширина шины (количество адресных линий) - самый очевидный параметр при разработке. Чем больше адресных линий содержит шина, тем к большему объему памяти может обращаться процессор. Если шина содержит п адресных линий, то процессор может использовать ее для обращения к 2п различным ячейкам памяти. Для памяти большой емкости необходимо много адресных линий. Это звучит достаточно просто.

Проблема заключается в том, что для широких шин требуется больше проводов, чем для узких. Они занимают больше физического пространства (например, на материнской плате), и для них нужны разъемы большего размера. Все эти факторы делают шину дорогостоящей. Следовательно, необходим компромисс между максимальным объемом доступной памяти и стоимостью системы. Система с шиной, содержащей 64 адресные линии, и памятью в 232 байт будет стоить дороже, чем система с шиной, содержащей 32 адресные линии, и такой же памятью в 232 байт. Дальнейшее расширение не бесплатное.

Синхронизация шины

Шины можно разделить на две категории в зависимости от их синхронизации. Синхронная шина содержит линию, которая запускается кварцевым генератором. Сигнал на этой линии представляет собой меандр с частотой обычно от 5 до 100 МГц. Любое действие шины занимает целое число так называемых циклов шины. Асинхронная шина не содержит задающего генератора. Циклы шины могут быть произвольными и не обязательно одинаковыми для всех пар устройств. Далее мы рассмотрим каждый тип шины отдельно.

Синхронные шины

В качестве примера того, как работает асинхронная шина, рассмотрим временную диаграмму на рис. 3.35. В этом примере мы будем использовать задающий генератор на 100 МГц, который дает цикл шины в 10 не. Хотя может показаться, что шина работает медленно по сравнению с процессорами на 3 ГГц и выше, не многие современные шины работают быстрее. Например, популярная шина PCI работает с частотой 33 МГц или 66 МГц. О причинах такой низкой скорости современных шин: такие технические проблемы, как перекос шины и необходимость совместимости.

Асинхронные шины

Хотя использовать синхронные шины благодаря дискретным временным интервалам достаточно удобно, здесь все же есть некоторые проблемы. Например, если процессор и память способны закончить передачу за 3,1 цикла, они вынуждены продлить ее до 4,0 циклов, поскольку неполные циклы запрещены.

Еще хуже то, что если однажды был выбран определенный цикл шины и в соответствии с ним разработана память и карты ввода-вывода, то в будущем трудно делать технологические усовершенствования. Например, предположим, что через несколько лет после выпуска системы, появилась новая память с временем доступа не 15, а 8 не. Это время позволяет избавиться от периода ожидания и увеличить скорость работы машины. А теперь представим, что появилась память с временем доступа 4 не. При этом улучшения производительности уже не будет, поскольку в данной разработке минимальное время чтения - 2 цикла.

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

Арбитраж шины

До этого момента мы неявно предполагали, что существует только одно задающее устройство шины - центральный процессор. В действительности микросхемы ввода-вывода могут становиться задающими устройствами при считывании информации из памяти и записи информации в память. Кроме того, они могут вызывать прерывания. Сопроцессоры также могут становиться задающими устройствами шины. Возникает вопрос: "Что происходит, когда задающим устройством шины становятся два или более устройства одновременно?" Чтобы предотвратить хаос, который может при этом возникнуть, нужен специальный механизм, называемый арбитражем шины.

Арбитраж может быть централизованным или децентрализованным. Рассмотрим сначала централизованный арбитраж. Простой пример один арбитр шины определяет, чья очередь следующая. Часто механизм арбитража встраивается в микросхему процессора, но иногда используется отдельная микросхема. Шина содержит одну линию запроса (монтажное ИЛИ), которая может запускаться одним или несколькими устройствами в любое время. Арбитр не может определить, сколько устройств запрашивают шину. Он может определить только факт наличия или отсутствия запросов.

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

Принципы работы шины

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

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

Существуют также другие типы циклов шины. Например, если речь идет о системах с двумя или несколькими центральными процессорами на одной шине, нужно быть уверенным, что в конкретный момент только один центральный процессор может использовать определенную структуру данных в памяти. Чтобы упорядочить этот процесс, в памяти должна содержаться переменная, которая принимает значение 0, когда центральный процессор использует структуру данных, и 1, когда структура данных не используется. Если центральному процессору нужно получить доступ к структуре данных, он должен считать переменную и, если она равна 0, придать ей значение 1. Проблема заключается в том, что два центральных процессора могут считывать переменную на последовательных циклах шины. Если каждый процессор обнаружит, что переменная равна О, а затем поменяет значение переменной на 1, как будто только он один использует эту структуру данных, то такая последовательность событий приведет к хаосу.

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

Еще один важный цикл шины - цикл обработки прерываний. Когда центральный процессор командует устройству ввода-вывода выполнить какое-то действие, он ожидает прерывания после завершения работы. Для сигнала прерывания нужна шина.

Внутренние шины

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

ISA

Шина ISA была единственной периферийной шиной для компьютеров 1980-х годов, но в начале 1990-х ее возможностей уже явно не хватало для подключения скоростных устройств. Поскольку для этой шины было выпущено большое количество плат расширения, она довольно долго существовала параллельно с шиной PCI. Лишь в платах последних лет выпуска разъемов для ISA нет.

ISA BUS (Industry Standard Architecture) –стандартные шины IBM PC XT (8 бит) и AT (16 бит).

Шина XT имеет:

  • 8-битовую шину данных;

  • 20-битовую шину адреса, что позволяет адресоваться к 220 бит (1 Мбайт) памяти;

  • три канала прямого доступа к памяти (DMA);

  • тактовую частоту 8 МГц;

  • пропускную способность 4 Мбайт/с;

  • 62-контактный разъем.

В настоящее время XT практически не применяется. В компьютерах AT шину расширили до 16 бит данных и 24 бит адреса. В таком виде она существует и поныне как самая распространенная шина для периферийных адаптеров.

Шина AT имеет:

  • 6-битовую шину данных;

  • 24-битовую шину адреса, что позволяет адресовать 16 Мбайт памяти;

  • 8 каналов прямого доступа (DMA);

  • тактовую частоту 8-16 МГц.

PCI

Шина PCI (Peripheral Component Interconnect - соединение периферийных компонентов) — наиболее популярный способ для подключения различных плат расширения. Она была разработана в 1992 году компанией Intel для замены медленной шины ISA. Следует отметить, что для тех же целей были созданы шины EISA, VLB и MCA, но они оказались менее удачными и уже давно не используются, a PCI успешно применяется и сегодня.

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

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

  • частота работы шины 33 или 66 МГц (в версии 2.1) позволяет обеспечить широкий диапазон пропускных способностей (с использованием пакетного режима);

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

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

 

Рисунок 1. Архитектуры шин PCI(1) b PCX(2)

 

 

Рисунок 2.Типы PCI-разъёмов

 

PCI-X

PCI-X не только увеличивает скорость PCI-шины, но также и число высокоскоростных слотов. В обычной шине РС1-слоты работают на 33 МГц, а один слот может работать при 66 МГц. PCI-X удваивает производительность стандарта PCI, поддерживая один 64-битовый слот на частоте 133 МГц, а общую производительность увеличивает до 1 Гбайт/с. Новая спецификация также предлагает расширенный протокол для увеличения эффективности передачи данных и снизить требования к электропитанию.

PCI Express (PCX)

PCI Express 1.0

PCI Express — компьютерная шина, использующая программную модель шины PCI и высокопроизводительный физический протокол, основанный на последовательной передаче данных.

Последовательная шина, разработанная фирмой Intel и ее партнерами. Официально первая базовая спецификация PCI Express появилась в июле 2002 года. Развитием стандарта PCI Express занимается организация PCI Special Interest Group. PCI Express призвана заменить параллельную шину PCI и ее расширенный и специализированный вариант AGP.

Для подключения устройства PCI Express используется двунаправленное последовательное соединение типа точка-точка, называемое lane.

Соединение между двумя устройствами PCI Express называется link, и состоит из одного (называемого 1x) или нескольких (2x, 4x, 8x, 12x, 16x и 32x) соединений lane. Каждое устройство должно поддерживать соединение 1x.

Использование подобного подхода имеет следующие преимущества:

•карта PCI Express помещается и корректно работает в любом слоте той же или большей пропускной способности (например, карта x1 будет работать в слотах x4 и x16);

•слот большего физического размера может использовать не все lane’ы (например, к слоту 16x можно подвести линии передачи информации, соответствующие 1x или 8x, и всё это будет нормально функционировать; однако, при этом необходимо подключить все линии «питание» и «земля», необходимые для слота 16x).

В обоих случаях, на шине PCI Express будет использовать максимальное количество lane’ов доступных как для карты, так и для слота. Однако это не позволяет устройству работать в слоте, предназначенном для карт с меньшей пропускной способностью шины PCI Express (например, карта x4 физически не поместится в слот x1, несмотря на то, что она могла бы работать в слоте x4 с использованием только одного lane).

Частота, на которой работает шина PCI Express - 2.5 ГГц, что дает пропускную способность 2500 МГц / 10 * 8 = 250 * 8 Мбит/сек = 250 Мб/сек для каждого устройства PCIExpressx1 в одном направлении. При наличии нескольких линий для вычисления пропускной способности величину 250 Мб/сек надо умножить на число линий и на 2, т.к. PCIExpress является двунаправленной шиной (Табл.2).

Число линий PCI Express

Пропускная способность в одном направлении

Суммарная пропускная способность

1

250 Мб/сек

500 Мб/сек

2

500 Мб/сек

1 Гб/сек

4

1 Гб/сек

2 Гб/сек

8

2 Гб/сек

4 Гб/сек

16

4 Гб/сек

8 Гб/сек

32

8 Гб/сек

16 Гб/сек

Табл.2 Таблица пропускной способности PCI.

Кроме того, шиной PCI Express поддерживается:

  • горячая замена карт;

  • гарантированная полоса пропускания (QoS);

  • управление энергопотреблением;

  • контроль целостности передаваемых данных.

PCI Express 2.0

Группа PCI-SIG выпустила спецификацию PCI Express 2.0 15 января 2007 года. Основные нововведения в PCI Express 2.0:

  • Увеличенная пропускная способность — спецификация PCIExpress 2.0 определяет максимальную пропускную способность одного соединения lane как 5 Гбит/с. Внесены усовершенствования в протокол передачи между устройствами и программную модель.

  • Динамическое управление скоростью — для управления скоростью работы связи.

  • Оповещение о пропускной способности — для оповещения ПО (операционной системы, драйверов устройств и т.п.) об изменениях скорости и ширины шины.

  • Расширения структуры возможностей — расширение управляющих регистров для лучшего управления устройствами, слотами и интерконнектом.

  • Службы управления доступом — опциональные возможности управления транзакциями точка-точка.

PCI Express 3.0

PCI-SIG в середине августа 2010 года представила версию 0.9 спецификации PCI Express 3.0.

Для пользователей основное отличие между PCI Express 2.0 и PCI Express 3.0 будет заключаться в значительном увеличении максимальной пропускной способности. У PCI Express 2.0 сигнальная скорость передачи составляет 5 ГТ/с (гигатранзакций в секунду), то есть пропускная способность равняется 500 Мбайт/сдля каждой линии. Таким образом, основной графический слот PCI Express 2.0, который обычно использует 16 линий, обеспечивает двунаправленную пропускную способность до 8 Гбайт/с.

У PCI Express 3.0 мы получим удвоение этих показателей. PCI Express 3.0 использует сигнальную скорость 8 ГТ/с, что даёт пропускную способность 1 Гбайт/с на линию. Таким образом, основной слот для видеокарты получит пропускную способность до 16 Гбайт/с.

Предполагается также, что PCI Express в дальнейшем сможет заменить в чипсетах контроллер внешних устройств «Southbridge», но это не повлияет на функции контроллера оперативной памяти «Northbridge».

A

Рисунок 3.Различия топологий PCI и PCI-Express

GP

 

Шина AGP (Accelerated Graphics Port - ускоренный графический порт) -разработана компанией Intel в 1997 году специально для работы с видеокартой, при частоте 66 Мгц имеет 32-разрядную шину данных. В настоящее время вытеснена шиной PCI-E. Шина позволяет использовать конвейеризацию обращений, то есть посылать данные в виде непрерывных пакетов. В шине PCI посылается предыдущее данное и адрес для следующего данного, после чего происходят временные задержки, а в шине AGP посылаются несколько адресов и несколько данных один за другим, что уменьшает задержки. Имеется возможность постановки в очередь до 256 запросов, и поддерживать две очереди для операций чтения/записи с высоким и низким приоритетом. Сдвоенная передача, то есть передача за один такт двух данных вместо одного, позволяет иметь пропускную способность при частоте 66 Мгц до 528 Мбайт/сек. Позволяет работать на частоте до 100 Мгц и выше с более высокой пропускной способностью. Учетверенная передача позволяет передавать до 1 056 Мбайт/сек.

Для шины AGP существует несколько стандартов: AGP 1Х, 2Х, 4Х, Pro и 8Х. Большинство карт работает со стандартом 4Х и 8Х. В оперативной памяти хранятся не только части изображения, но и графические текстуры. Чтобы видеосистема могла обращаться только к тем областям памяти, которые ее касаются, используется специальная таблица GART (GraphicsAddressRemappingTable – графическая таблица переадресации адресов), которая определяет эти области памяти.

В шине имеется возможность для видеопроцессора обращаться непосредственно к участкам оперативной памяти, так же как и к видеопамяти, и обрабатывать там текстуры в режиме DiMe (Direct Memory Execution), при этом адресация одинакова. Шина применяется для процессоров Pentium Pro, Pentium II, Pentium III и Pentium IV, но может работать и с процессорами Pentium.

H

Рисунок 4. Шина AGP в компьютере

yperTransport

 

Ш

Рисунок 5. Интерфейс Hyper Transport

ина HyperTransport (HT)— это двунаправленная последовательно-параллельная компьютерная шина с высокой пропускной способностью и малыми задержками. Фирмой AMD была (процессор Hammer) предложена архитектура ГиперТранспорт (HyperTransport), обеспечивающая внутреннее соединение процессоров и элементов чипсета для организации многопроцессорных систем и повышения скорости передачи данных более чем в 20 раз.

 

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

У

Рисунок 6.Масштабируемость шин PCI и Гипер Транспорт

стройства, связываемые по шине HyperTransport, соединяются по принципу «точка-точка» (peer-to-peer), что подразумевает возможность связывания в цепочку множества устройств без использования специализированных коммутаторов. Передача и прием данных могут происходить в асинхронном режиме, причем передача Данных организована в виде пакетов длиной до 64 байт. Масштабируемость шины HyperTransport обеспечивается посредством магистрали шириной 2.4, 8.16 и 32 бит в каждом направлении. Кроме того, предусматривается возможность работы на различных тактовых частотах (от 200 до 800 МГц). При этом передача данных происходит по обоим фронтам тактового импульса. Таким образом, пропускная способность шины Hyper Transport меняется от 200 Мбайт/с при использовании частоты 200 МГц и двух двухбитовых каналов до 12.8 Гбайт/спри использовании тактовой частоты 800 МГц и двух 32-битовых каналов.

 

Демонстрирует, насколько разводка для Гипер Транспорта экономичнее, чем для традиционных шин - достаточно сравнить площади, занимаемые на системной плате шиной AGP 8х с пропускной способностью 2 Гбайт/с и Гипер Транспорт (до 6.4 Гбайт/с).

Внешние шины

USB

USB (Universal Serial Bus — универсальная последовательная шина) - последовательный интерфейс передачи данных для среднескоростных и низкоскоростных периферийных устройств в вычислительной технике. Шина появилась 15 января 1996 года. Интерфейс USB сегодня стал общепринятым стандартом для подключения к системному блоку различных внешних устройств. В старых компьютерах было всего два разъема USB, расположенных на задней панели системного блока. У современных компьютеров их может быть шесть, восемь и более, причем располагаются они как на задней, так и на передней панели системного блока.

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

Возможности USB следуют из ее технических характеристик:

  • Максимальная скорость обмена 12 Mбит/с.

  • Максимальная длина кабеля для высокой скорости обмена ~ 5 м.

  • Низкая скорость обмена 1,5 Mбит/с.

  • Максимальная длина кабеля для низкой скорости обмена ~ 3 м.

  • Максимальное количество подключенных устройств — 127.

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

  • Отсутствие необходимости в установке пользователем дополнительных элементов, таких, как терминаторы для SCSI.

  • Напряжение питания для периферийных устройств —5 В.

  • Максимальный ток потребления на одно устройство — 500 мA (не следует думать, что через USB можно запитать устройства с общим током потребления 127[500 мA = 63,5 A).

Шина строго ориентирована, имеет понятие «главное устройство» (хост, он же USB контроллер, обычно встроен в микросхему южного моста на материнской плате) и «периферийные устройства». Шина имеет древовидную топологию, поскольку периферийным устройством может быть разветвитель (hub), в свою очередь имеющий несколько нисходящих разъемов «от хоста». Соединение 2 компьютеров — или 2 периферийных устройств — пассивным USB кабелем невозможно. Существуют активные USB кабели для соединения 2 компьютеров, но они включают в себя сложную электронику, эмулирующую Ethernet адаптер, и требуют установки драйверов с обеих сторон.

USB 2.0

Спецификация выпущена в апреле 2000 года. USB 2.0 отличается от USB 1.1 введением режима Hi-speed.

Для устройств USB 2.0 регламентировано три режима работы:

  • Low-speed, 10—1500 Кбит/c (используется для интерактивных устройств: клавиатуры, мыши, джойстика)

  • Full-speed, 0,5—12 Мбит/с (аудио-, видеоустройства)

  • Hi-speed, 25—480 Мбит/с (видеоустройства, устройства хранения информации)

USB 3.0

Новый стандарт на порядок превосходит предел в 480 Мбит/с для USB 2.0, устанавливая планку теоретической максимальной скорости передачи данных на отметке в 4.8 Гбит/с.

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

Преимущества интерфейса USB в том, что подключать или отключать устройства можно в процессе работы компьютера, причем настраиваются они операционной системой автоматически. С появлением стандарта USB 2.0 значительно возросла и скорость обмена данными, которая может достигать 480 Мбит/с. Многие современные системные платы поддерживают загрузку компьютера на уровне BIOS с USB- устройств, в качестве которых удобно использовать flash-диски.

IEEE 1394

IEEE 1394 —последовательная высокоскоростная шина, предназначенная для обмена цифровой информацией между компьютером и другими электронными устройствами. Разработана Институтом инженеров по электротехнике и электронике (IEEE – Instituteof Electricaland Electronics Engineers) на основе шины компании Apple – FireWire в 1995 году, где номер 1394 обозначает порядковый номер шины, которая разработана данной организацией.

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

SATA

SATARevision 1.0

SATA (англ.SerialATA) — последовательный интерфейс обмена данными с накопителями информации.SATA является развитием параллельного интерфейса ATA (IDE), который после появления SATA был переименован в PATA (ParallelATA)

Спецификация SATA Revision 1.0 была представлена 7 января 2003 года. Первоначально стандарт SATA предусматривал работу шины на частоте 1,5 ГГц, обеспечивающей пропускную способность приблизительно в 1,2 Гбит/с (150 Мбайт/с). (20%-я потеря производительности объясняется использованием системы кодирования 8b/10b, при которой на каждые 8 бит полезной информации приходится 2 служебных бита). Пропускная способность SATA/150 незначительно выше пропускной способности шины UltraATA (UDMA/133). Главным преимуществом SATA перед PATA является использование последовательной шины вместо параллельной. Несмотря на то, что последовательный способ обмена принципиально медленнее параллельного, в данном случае это компенсируется возможностью работы на более высоких частотах за счёт отсутствия необходимости синхронизации каналов и большей помехоустойчивостью кабеля. Это достигается применением принципиально иного способа передачи данных.

SATA Revision 2.0

Спецификация SATA Revision 2.0 (SATA II или SATA 2.0[2], SATA/300) работает на частоте 3 ГГц, обеспечивает пропускную способность до 3 Гбит/с брутто (300 Мбайт/с нетто для данных с учётом 8b/10b кодирования). Впервые был реализован в контроллере чипсета nForce 4 фирмы «NVIDIA». Теоретически устройства SATA/150 и SATA/300 должны быть совместимы (как контроллер SATA/300 с устройством SATA/150, так и контроллер SATA/150 с устройством SATA/300) за счёт поддержки согласования скоростей (в меньшую сторону), однако для некоторых устройств и контроллеров требуется ручное выставление режима работы (например, на жёстких дисках фирмы Seagate, поддерживающих SATA/300, для принудительного включения режима SATA/150 предусмотрен специальный джампер).

SATA Revision 3.0

Спецификация SATA Revision 3.0 (SATA III или SATA 3.0) представлена в июле 2008 и предусматривает пропускную способность до 6 Гбит/с брутто (600 Мбайт/с нетто для данных с учётом 8b/10b кодирования). В числе улучшений SATA Revision 3.0, по сравнению с предыдущей версией спецификации, помимо более высокой скорости, можно отметить улучшенное управление питанием. Также сохранена совместимость, как на уровне разъёмов и кабелей SATA, так и на уровне протоколов обмена.

eSATA

eSATA (External SATA) — интерфейс подключения внешних устройств, поддерживающий режим «горячей замены». Был создан несколько позже SATA (в середине 2004) (Разъёмы SATA (слева) и eSATA (справа)).

Основные особенности:

  • Разъёмы — менее хрупкие, и конструктивно рассчитаны на большее число подключений чем SATA, но физически несовместимы с обычными SATA, добавлено экранирование разъёма.

  • Требует для подключения два провода: шину данных и кабель питания (в новой спецификации отдельный кабель питания для выносных eSATA-устройств был упразднён).

  • Длина кабеля увеличена до 2 м (по сравнению с 1-метровым у SATA), для компенсации потерь изменены уровни сигналов (повышен уровень передачи и уменьшен уровень порога приемника).

  • Средняя практическая скорость передачи данных выше, чем у USB 2.0 или IEEE 1394.

  • Сигнально SATA и eSATA совместимы, но используют разные уровни сигнала.

 

Рисунок 7. SATA и eSATA

 

Ценовая политика в области компьютерных шин

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

Стоимость процессора, может варьироваться в пределах от 600 до 170000 рублей. Однако в основном, стоимость процессора составляет от 5000 до 20000 рублей. Она зависит от производителя, от количества ядер, объема КЭШа и т.д.

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

Средний диапазон цен, на протяжении последних десяти лет, остается неизменным, однако технологии не стоят на месте, согласно закону Мура[4], производительность процессоров удваивается каждые два года. То есть модели устаревают очень быстро, и в условиях эластичного рынка, производители снижают их цены, чтобы на товар был спрос. В свою очередь, это позволяет покупателям со средним достатком, приобретать различные модели.

Заключение

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

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

В данной работе не были упомянуты такие типы системных шин как AHB (Advanced High-perfomance Bus – развитая высокопроизводительная шина), ASB (Advanced System Bus – развитая системная шина), Compact PCI, PXI (PCI eXtensionfor Instrumentation – расширение PCI для инструментальных систем), Multibus I/II (разработки фирмы Intel, сделанные еще для процессоров 8080 и 8086), FUTUREBUS, STE bus, G-64/G-96 и др., потому что либо они используются в узком кругу систем, либо не получили пока должного распространения.

Список литературы
  1. Воройский Ф. С. Информатика. Новый систематизированный толковый словарь-справочник. — 3-е изд. — М.: ФИЗМАТЛИТ, 2003.

  2. Стрижов. В Самый простой интерфейс для PCI. // Компоненты и Технологии. 2000. № 1.

  3. М. Гук. Интерфейсы ПК. Справочник. СПб: Питер Пресс. 1999.:

  4. Э.Таненбаум «Архитектура компьютера» -4-е изд- С: Питер, 2003

  5. Электронная энциклопедия «Википедия», статья «Шина (компьтерная)» [Электронный ресурс]: http:// ru.wikipedia.org/wiki/Шина_(компьютер)

  6. Электронная энциклопедия «Википедия», статья «Закон Мура» [Электронный ресурс]: http:// ru.wikipedia.org/wiki/Закон_Мура

  7. Анализ на основании каталога товаров «Яндекс. Маркет» [Электронный ресурс]: http://market.yandex.ru/catalogmodels.xml?CAT_ID=651600&hid=91019

  8. Анализ на основании статьи из электронной энциклопедии «Википедия», статья «Квантовый компьютер» [Электронный ресурс]: http://ru.wikipedia.org/wiki/Квантовый_компьютер

Просмотров работы: 4084