Автобус (вычислительный)
В компьютерной шина архитектуре [1] (исторически также называемое шоссе данных [2] или databus ) — это система связи, которая передает данные между компонентами внутри компьютера или между компьютерами. Это выражение охватывает все сопутствующие аппаратные компоненты (провода, оптоволокно и т. д.) и программное обеспечение , включая протоколы связи . [3]
В большинстве традиционных компьютерных архитектур процессор и основная память, как правило, тесно связаны, а внутренняя шина, соединяющая их, называется системной шиной . В системах, включающих кэш , процессоры используют высокопроизводительные системные шины, которые работают на скорости, превышающей скорость памяти, для связи с памятью. Внутренняя шина (также известная как внутренняя шина данных, шина памяти или системная шина ) соединяет внутренние компоненты компьютера с материнской платой. Локальные шины подключают ЦП и память к шине расширения , которая, в свою очередь, подключает компьютер к периферийным устройствам. Системы шин, такие как порты SATA в современных компьютерах, поддерживают несколько периферийных устройств, позволяя подключать несколько жестких дисков без карты расширения .
В системах, которые имеют архитектуру, аналогичную мультикомпьютерам , но которые обмениваются данными по шинам, а не по сетям, системная шина называется внешней шиной . В таких системах шина расширения может не иметь общей архитектуры с центральными процессорами, вместо этого поддерживая множество различных процессоров, как в случае с PCI . Хотя термин « периферийная шина » иногда используется для обозначения всех других шин, кроме системной шины, «шина расширения» также используется для описания третьей категории шин, отдельной от периферийной шины, которая включает системы шин, такие как PCI. .
Ранние компьютерные шины представляли собой параллельные электрические провода с множеством аппаратных соединений, но теперь этот термин используется для любого физического устройства, которое обеспечивает ту же логическую функцию, что и параллельная электрическая шина . Современные компьютерные шины могут использовать как параллельные , так и битовые последовательные соединения и могут быть подключены либо по многоточечной (электрической параллельной), либо по шлейфовой топологии, либо соединены через коммутируемые концентраторы. Многие современные процессоры также имеют второй набор контактов, аналогичный тем, которые предназначены для связи с памятью, но могут работать с другими скоростями и протоколами, чтобы гарантировать, что периферийные устройства не замедляют общую производительность системы. Процессоры также могут иметь интеллектуальные контроллеры для размещения данных непосредственно в памяти — концепция, известная как прямой доступ к памяти . Также были разработаны низкопроизводительные шинные системы, такие как универсальная последовательная шина (USB).
Учитывая технологические изменения, классические термины «система», «расширение» и «периферийное устройство» больше не имеют прежнего значения. Другие распространенные системы категоризации основаны на основной роли шины: внутреннем или внешнем соединении устройств. Однако многие распространенные современные шинные системы могут использоваться и для того, и для другого. SATA и связанный с ним eSATA являются одним из примеров системы, которую раньше называли внутренней, в то время как некоторые автомобильные приложения используют преимущественно внешний IEEE 1394, более похожий на системную шину. Другие примеры, такие как InfiniBand и I²C, с самого начала разрабатывались для использования как внутри, так и снаружи.
Адресная шина [ править ]
Адресная шина — это шина, которая используется для указания физического адреса . Когда процессору или устройству с поддержкой DMA необходимо прочитать или записать ячейку памяти, он указывает эту ячейку памяти на адресной шине (значение, которое нужно прочитать или записать, отправляется на шину данных). Ширина адресной шины определяет объем памяти, к которой может обращаться система. Например, система с 32-битной адресной шиной может адресовать 2 32 (4 294 967 296) ячеек памяти. Если каждая ячейка памяти содержит один байт, адресное пространство памяти составляет 4 ГБ.
Мультиплексирование адресов [ править ]
Ранние процессоры использовали провод для каждого бита ширины адреса. Например, 16-битная адресная шина имела 16 физических проводов, составляющих шину. Поскольку шины стали шире и длиннее, этот подход стал дорогостоящим с точки зрения количества выводов микросхемы и дорожек на плате. Начиная с Mostek 4096 DRAM , мультиплексирование адресов, реализованное с помощью мультиплексоров, стало обычным явлением. В схеме мультиплексной адресации адрес отправляется двумя равными частями в чередующихся циклах шины. Это вдвое уменьшает количество сигналов адресной шины, необходимых для подключения к памяти. Например, 32-битную адресную шину можно реализовать, используя 16 строк и отправляя первую половину адреса памяти, за которой сразу следует вторая половина адреса памяти.
Обычно два дополнительных контакта на шине управления — строб адреса строки (RAS) и строб адреса столбца (CAS) — используются для того, чтобы сообщить DRAM, отправляет ли адресная шина в данный момент первую половину адреса памяти или вторую половину.
Реализация [ править ]
Доступ к отдельному байту часто требует чтения или записи всей ширины шины ( слова одновременного ). В этих случаях младшие биты адресной шины могут даже не быть реализованы - вместо этого на управляющем устройстве лежит обязанность изолировать требуемый отдельный байт от полного передаваемого слова. Так обстоит дело, например, с локальной шиной VESA , в которой отсутствуют два младших бита, что ограничивает эту шину выровненными 32-битными передачами.
Исторически существовало также несколько примеров компьютеров, которые могли обрабатывать только слова – текстовые машины .
Шина памяти [ править ]
Шина памяти — это шина, которая соединяет основную память с контроллером памяти в компьютерных системах . шины общего назначения, такие как VMEbus и шина S-100 Первоначально использовались , но для уменьшения задержки современные шины памяти предназначены для прямого подключения к микросхемам DRAM и, таким образом, разрабатываются организациями по стандартизации микросхем, такими как JEDEC . Примерами являются различные поколения SDRAM и последовательные шины типа «точка-точка», такие как SLDRAM и RDRAM . Исключением является модуль DIMM с полной буферизацией, который, несмотря на то, что он был тщательно разработан для минимизации эффекта, подвергался критике за более высокую задержку.
Детали реализации [ править ]
Шины могут быть параллельными шинами , которые передают слова данных параллельно по нескольким проводам, или последовательными шинами , которые передают данные в последовательной битовой форме. Добавление дополнительных силовых и управляющих соединений, дифференциальных драйверов и соединений для передачи данных в каждом направлении обычно означает, что большинство последовательных шин имеют больше проводников, чем минимум один, используемый в 1-Wire и UNI/O . проблемы временных перекосов , энергопотребления, электромагнитных помех и перекрестных помех По мере увеличения скорости передачи данных становится все труднее обойти между параллельными шинами. Одним из частичных решений этой проблемы было двойное прокачивание автобуса. Часто последовательная шина может работать с более высокими общими скоростями передачи данных, чем параллельная шина, несмотря на меньшее количество электрических соединений, поскольку последовательная шина по своей сути не имеет временных перекосов или перекрестных помех. USB , FireWire и Serial ATA являются примерами этого. Многоточечные соединения не подходят для быстрых последовательных шин, поэтому в большинстве современных последовательных шин используются шлейфовые соединения или концентраторы.
Сетевые соединения, такие как Ethernet, обычно не рассматриваются как шины, хотя разница в основном концептуальная, а не практическая. Атрибут, обычно используемый для характеристики шины, заключается в том, что шина обеспечивает питание подключенного оборудования. Это подчеркивает шинное происхождение архитектуры шины как источника коммутируемой или распределенной мощности. Это исключает в качестве шин такие схемы, как последовательный RS-232 , параллельный Centronics , интерфейсы IEEE 1284 и Ethernet, поскольку эти устройства также нуждались в отдельных источниках питания. Устройства универсальной последовательной шины могут использовать питание от шины, но часто используют отдельный источник питания. Это различие иллюстрируется телефонной системой с подключенным модемом , где соединение RJ11 и связанная с ним схема модулированной сигнализации не считаются шиной и аналогичны соединению Ethernet . Схема подключения телефонной линии не считается шиной по отношению к сигналам, но для соединения между телефонами в Центральном аппарате используются шины с перекрестными переключателями .
Однако это различие — то, что питание подается по шине — не имеет место во многих авиационных системах , где соединения данных, такие как ARINC 429 , ARINC 629 , MIL-STD-1553B (STANAG 3838) и EFABus ( STANAG 3910 ), являются обычно называемые «шинами данных» или иногда «шинами данных». Такие шины данных авиационного оборудования обычно характеризуются наличием нескольких устройств или линейных заменяемых элементов/блоков (LRI/LRU), подключенных к общей общей среде передачи данных . Они могут, как ARINC 429, быть симплексными , т.е. иметь один источник LRI/LRU, или, как ARINC 629, MIL-STD-1553B и STANAG 3910, быть дуплексными , позволяя всем подключенным LRI/LRU действовать одновременно. разное время ( полудуплекс ) как передатчики и приемники данных. [4]
Мультиплексирование шин [ править ]
Простейшая системная шина имеет полностью отдельные линии входных данных, линии выходных данных и строки адреса.Чтобы снизить стоимость, большинство микрокомпьютеров имеют двунаправленную шину данных, в которой одни и те же провода повторно используются для ввода и вывода в разное время. [5]
Некоторые процессоры используют выделенный провод для каждого бита адресной шины, шины данных и шины управления.Например, 64-контактная шина STEbus состоит из 8 физических проводов, предназначенных для 8-битной шины данных, 20 физических проводов, предназначенных для 20-битной адресной шины, 21 физического провода, предназначенного для шины управления, и 15 физических проводов, предназначенных для шины управления. различные силовые шины.
Для мультиплексирования шин требуется меньше проводов, что снижает стоимость многих ранних микропроцессоров и микросхем DRAM.Одна распространенная схема мультиплексирования — мультиплексирование адресов — уже упоминалась.Другая схема мультиплексирования повторно использует контакты адресной шины в качестве контактов шины данных. [5] подход, используемый обычным PCI и 8086 .Различные «последовательные шины» можно рассматривать как предел мультиплексирования, при котором каждый бит адреса и каждый бит данных передаются по одному через один вывод (или одну дифференциальную пару).
История [ править ]
Со временем несколько групп людей работали над различными стандартами компьютерных шин, в том числе Комитет по стандартам архитектуры автобусов IEEE (BASC), исследовательская группа IEEE «Superbus», инициатива открытых микропроцессоров (OMI), инициатива открытых микросистем (OMI), «Банда девяти», разработавшая EISA и т. д. [ нужна ссылка ]
Первое поколение [ править ]
Ранние компьютерные шины представляли собой пучки проводов, к которым подключались компьютерная память и периферийные устройства. , получивших анекдотическое название « цифровой канал », В первых австралийских CSIRAC компьютерах [6] они были названы в честь электрических шин или шин . Почти всегда была одна шина для памяти и одна или несколько отдельных шин для периферии. Доступ к ним осуществлялся по отдельным инструкциям с совершенно разными таймингами и протоколами.
Одной из первых сложностей было использование прерываний . Ранние компьютерные программы выполняли ввод-вывод , ожидая в цикле готовности периферийного устройства. Это была пустая трата времени для программ, у которых были другие задачи. Кроме того, если программа попытается выполнить эти другие задачи, повторная проверка программы может занять слишком много времени, что приведет к потере данных. Таким образом, инженеры предусмотрели прерывание работы процессора периферийными устройствами. Прерываниям необходимо было определить приоритеты, поскольку ЦП может одновременно выполнять код только для одного периферийного устройства, а некоторые устройства более критичны ко времени, чем другие.
Высокопроизводительные системы представили идею контроллеров каналов , которые, по сути, представляли собой небольшие компьютеры, предназначенные для обработки входных и выходных данных данной шины. IBM представила их на IBM 709 в 1958 году, и они стали общей чертой своих платформ. Другие высокопроизводительные поставщики, такие как Control Data Corporation, реализовали аналогичные конструкции. Как правило, контроллеры каналов делают все возможное, чтобы выполнять все операции шины внутри себя, перемещая данные, когда известно, что ЦП занят в другом месте, если это возможно, и используя прерывания только при необходимости. Это значительно снизило нагрузку на процессор и повысило общую производительность системы.
Для обеспечения модульности шины памяти и ввода-вывода могут быть объединены в единую системную шину . [7] В этом случае единая механическая и электрическая система может использоваться для соединения многих компонентов системы, а в некоторых случаях и всех их.
Позже компьютерные программы начали использовать память, общую для нескольких процессоров. Доступ к этой шине памяти также должен быть приоритетным. Простым способом определения приоритетов прерываний или доступа к шине было последовательное подключение . В этом случае сигналы естественным образом будут проходить через шину в физическом или логическом порядке, что устраняет необходимость в сложном планировании.
Мини и микро [ править ]
Digital Equipment Corporation (DEC) еще больше снизила стоимость серийных миникомпьютеров и подключила периферийные устройства к шине памяти, так что устройства ввода и вывода выглядели как ячейки памяти. Это было реализовано в юнибусе PDP -11 примерно в 1969 году. [8]
Ранние системы шин микрокомпьютеров по существу представляли собой пассивную объединительную плату, подключенную напрямую или через буферные усилители к контактам ЦП . Память и другие устройства будут добавлены к шине с использованием того же адреса и выводов данных, что и сам ЦП, и подключены параллельно. Связь контролировалась ЦП, который считывал и записывал данные с устройств, как если бы они были блоками памяти, используя одни и те же инструкции, и все это синхронизировалось центральными часами, контролирующими скорость ЦП. Тем не менее, устройства прерывали работу ЦП, передавая сигналы на отдельные контакты ЦП.
Например, контроллер дискового накопителя сигнализирует ЦП о том, что новые данные готовы к чтению, после чего ЦП перемещает данные, читая «ячейку памяти», соответствующую диску. Почти все ранние микрокомпьютеры были построены таким образом, начиная с шины S-100 в компьютерной системе «Альтаир 8800» .
В некоторых случаях, особенно в IBM PC , хотя может использоваться аналогичная физическая архитектура, инструкции для доступа к периферийным устройствам ( in
и out
) и память ( mov
и другие) вообще не были унифицированы и по-прежнему генерируют отдельные сигналы ЦП, которые можно использовать для реализации отдельной шины ввода-вывода.
Эти простые системы шин имели серьезный недостаток при использовании в компьютерах общего назначения. Все оборудование в автобусе должно было общаться с одинаковой скоростью, поскольку оно использовало единый тактовый сигнал.
Увеличить скорость процессора становится сложнее, поскольку скорость всех устройств также должна увеличиться. Когда непрактично или экономически нецелесообразно иметь все устройства такими же быстрыми, как ЦП, ЦП должен либо перейти в состояние ожидания , либо временно работать на более низкой тактовой частоте. [9] для общения с другими устройствами на компьютере. Хотя эта проблема была приемлемой для встроенных систем , она не допускалась долгое время в компьютерах общего назначения, расширяемых пользователем.
Такие шинные системы также сложно настроить, если они построены из обычного готового оборудования. Обычно для каждой добавленной карты расширения требуется множество перемычек для установки адресов памяти, адресов ввода-вывода, приоритетов прерываний и номеров прерываний.
Второе поколение [ править ]
Автобусные системы «второго поколения», такие как NuBus, решили некоторые из этих проблем. Обычно они разделяли компьютер на два «мира»: процессор и память с одной стороны и различные устройства с другой. Контроллер шины принимает данные со стороны ЦП для передачи на сторону периферийных устройств, тем самым снимая нагрузку с протокола связи с самого ЦП. Это позволило процессору и памяти развиваться отдельно от шины устройства или просто «шины». Устройства на шине могли общаться друг с другом без вмешательства процессора. Это привело к гораздо лучшей производительности в «реальном мире», но также потребовало, чтобы карты были намного более сложными. Эти шины также часто решали проблемы со скоростью, будучи «большими» с точки зрения размера пути данных, переходя от 8-битных параллельных шин в первом поколении к 16 или 32-битным во втором, а также добавляя настройку программного обеспечения. (теперь стандартизированный как Plug-n-play ) для замены или замены перемычек.
Однако эти новые системы разделяли одно качество со своими более ранними собратьями: все в автобусе должны были говорить с одинаковой скоростью. Хотя ЦП теперь был изолирован и мог увеличивать скорость, скорость ЦП и памяти продолжала увеличиваться гораздо быстрее, чем шины, с которыми они общались. В результате скорость шины стала намного ниже, чем требовалось современной системе, и машинам не хватало данных. Особенно распространенным примером этой проблемы было то, что видеокарты быстро обогнали даже новые системы шин, такие как PCI , и компьютеры начали включать AGP только для управления видеокартой. К 2004 году AGP снова переросла высококлассные видеокарты и другую периферию, и на смену ему пришла новая шина PCI Express .
Все большее число внешних устройств также начало использовать свои собственные системы шин. Когда впервые появились дисководы, их добавляли к машине с картой, подключаемой к шине, поэтому компьютеры имеют так много слотов на шине. Но в 1980-х и 1990-х годах для удовлетворения этой потребности были представлены новые системы, такие как SCSI и IDE , в результате чего большинство слотов в современных системах осталось пустыми. Сегодня в типичной машине, вероятно, имеется около пяти различных шин, поддерживающих различные устройства. [ нужна ссылка ]
Третье поколение [ править ]
Автобусы «третьего поколения» появляются на рынке примерно с 2001 года, включая HyperTransport и InfiniBand . Они также имеют тенденцию быть очень гибкими с точки зрения физических соединений, что позволяет использовать их как в качестве внутренних шин, так и для соединения различных машин вместе. Это может привести к сложным проблемам при попытке обслуживания различных запросов, поэтому большая часть работы над этими системами связана с разработкой программного обеспечения, а не самого аппаратного обеспечения. В целом, эти шины третьего поколения, как правило, больше похожи на сеть , чем на первоначальную концепцию шины, с более высокими требованиями к протоколу, чем в ранних системах, а также позволяют нескольким устройствам использовать шину одновременно.
Такие автобусы, как Wishbone, были разработаны движением за аппаратное обеспечение с открытым исходным кодом в попытке еще больше устранить юридические и патентные ограничения при проектировании компьютеров.
Compute Express Link (CXL) — это открытого стандарта соединение для высокоскоростного соединения ЦП с устройством и ЦП с памятью, предназначенное для повышения производительности центров обработки данных следующего поколения . [10]
Примеры внутренних компьютерных шин [ править ]
Параллельно [ править ]
- Собственная технология Asus Media Bus , используется на некоторых Asus Socket 7. материнских платах
- Компьютерные автоматизированные измерения и контроль (CAMAC) для контрольно-измерительных систем
- Расширенный ISA или EISA
- Стандартная отраслевая архитектура или ISA
- Малое количество выводов или LPC
- МБус
- Микроканал или MCA
- Multibus для промышленных систем
- NuBus или IEEE 1196
- Локальная шина OPTi, использовавшаяся на ранних материнских платах Intel 80486 . [11]
- Соединение периферийных компонентов или обычный PCI
- Параллельный ATA (также известный как Advanced Technology Attachment, ATA, PATA, IDE, EIDE, ATAPI и т. д.), жесткий диск , оптический дисковод , стримера шина подключения периферийных устройств
- Шина S-100 или IEEE 696, используемая в Altair 8800 и подобных микрокомпьютерах.
- SBus или IEEE 1496
- Автобус СС-50
- Runway bus — запатентованная шина центрального процессора, разработанная Hewlett-Packard для использования семейством микропроцессоров PA-RISC.
- GSC/HSC , собственная периферийная шина, разработанная Hewlett-Packard для использования семейством микропроцессоров PA-RISC.
- Precision Bus — собственная шина, разработанная Hewlett-Packard для использования в компьютерах семейства HP3000.
- STEbus
- Шина STD (для STD-80 [8-бит] и STD32 [16-/32-бит]), часто задаваемые вопросы, заархивировано 27 февраля 2012 г. на Wayback Machine.
- Unibus — собственная шина, разработанная Digital Equipment Corporation для компьютеров PDP-11 и ранних версий VAX .
- Q-Bus — собственная шина, разработанная Digital Equipment Corporation для компьютеров PDP и более поздних версий VAX .
- Местная шина VESA или VLB или VL-bus
- VMEbus , шина VERSAmodule Eurocard
- ПК/104
- ПК/104-Плюс
- PCI-104
- PCI/104-Экспресс
- PCI/104
- Зорро II и Зорро III , используемые в Amiga . компьютерных системах
Сериал [ править ]
- 1-проводной
- ГиперТранспорт
- I²C
- I3C (автобус)
- БОЛЬНОЙ
- PCI Express или PCIe
- Serial ATA (SATA), жесткий диск , твердотельный накопитель , привод оптических дисков , стримера шина периферийного подключения
- Шина последовательного периферийного интерфейса (SPI)
- УНИ/О
- SMBus
Примеры внешних компьютерных шин [ править ]
Параллельно [ править ]
- HIPPI Высокопроизводительный параллельный интерфейс
- IEEE-488 (также известный как GPIB, интерфейсная шина общего назначения и HPIB, инструментальная шина Hewlett-Packard)
- PC Card , ранее известная как PCMCIA , широко использовалась в портативных компьютерах и других портативных устройствах, но исчезла с появлением USB и встроенных сетевых и модемных соединений.
Сериал [ править ]
Многие полевые шины представляют собой последовательные шины данных (не путать с параллельной секцией «шины данных» системной шины или карты расширения ), некоторые из которых используют электрические характеристики RS-485 , а затем определяют свой собственный протокол и разъем:
- CAN-шина («Сеть контроллеров»)
- Модбус
- АРИНК 429
- MIL-STD-1553
- ИЭЭЭ 1355
Другие серийные автобусы включают:
Примеры внутренних/внешних компьютерных шин [ править ]
- Автобус будущего
- ИнфиниБэнд
- Внешние кабели PCI Express
- Быстрое кольцо
- Масштабируемый когерентный интерфейс (SCI)
- Интерфейс малой компьютерной системы (SCSI), устройств жесткого диска и стримера шина подключения периферийных
- Serial Attached SCSI (SAS) и другие последовательные шины SCSI
- Удар молнии
- Yapbus, собственная шина, разработанная для компьютера Pixar Image.
См. также [ править ]
- Декодер адреса
- Разногласия в автобусе
- Ошибка шины
- Освоение автобусов
- Конечная точка связи
- Шина управления
- Перекладной переключатель
- Адрес памяти
- Фронтовой автобус (ФСБ)
- Интерфейс внешней шины (EBI)
- Гарвардская архитектура
- Главный/ведомый (технология)
- Сеть на чипе
- Список пропускной способности устройства
- Список сетевых автобусов
- Программная шина
Ссылки [ править ]
- ^ Клифтон, Карл (19 сентября 1986 г.). Что должен знать каждый инженер о передаче данных . ЦРК Пресс. п. 27. ISBN 9780824775667 . Архивировано из оригинала 17 января 2018 г.
Внутренняя компьютерная шина представляет собой параллельную схему передачи; внутри компьютера....
- ^ Холлингдейл, Стюарт Х. (19 сентября 1958 г.). Сессия 14. Обработка данных . Применение компьютеров, Ноттингемский университет, 15–19 сентября 1958 г.
- ^ «Определение автобуса из энциклопедии журнала PC Magazine» . pcmag.com. 29 мая 2014 г. Архивировано из оригинала 7 февраля 2015 г. Проверено 21 июня 2014 г.
- ^ Комитет по стандартизации авионики, Руководство по стандартам цифрового интерфейса для военной авионики , ASSC/110/6/2, выпуск 2, сентябрь 2003 г.
- ↑ Перейти обратно: Перейти обратно: а б Дон Ланкастер. «Поваренная книга для телевизионной пишущей машинки» . ( ТВ-пишущая машинка ).Раздел «Организация автобусов».п. 82.
- ^ Макканн, Дуг; Торн, Питер (2000). Последний из первых, CSIRAC: первый компьютер в Австралии . Мельбурнский университет компьютерных наук. стр. 8–11, 13, 91. ISBN. 0-7340-2024-4 .
- ^ Линда Налл; Юлия Лобур (2006). Основы компьютерной организации и архитектуры (2-е изд.). Джонс и Бартлетт Обучение. стр. 33, 179–181. ISBN 978-0-7637-3769-6 . Архивировано из оригинала 17 января 2018 г.
- ^ К. Гордон Белл; Р. Кэди; Х. МакФарланд; Б. Делаги; Дж. О'Лафлин; Р. Нунан; В. Вульф (1970). Новая архитектура для мини-компьютеров — DEC PDP-11 (PDF) . Весенняя совместная компьютерная конференция. стр. 657–675. Архивировано (PDF) из оригинала 27 ноября 2011 г.
- ^ Брей, Эндрю С.; Диккенс, Адриан К.; Холмс, Марк А. (1983). «28. Автобус «Один мегагерц». Расширенное руководство пользователя микрокомпьютера BBC . Кембридж, Великобритания: Кембриджский микрокомпьютерный центр. стр. 442–443. ISBN 0-946827-00-1 . Архивировано из оригинала (архивированный PDF) 14 января 2006 г. Проверено 28 марта 2008 г.
- ^ «О CXL» . Вычислить Экспресс-ссылку . Проверено 9 августа 2019 г.
- ^ «Шансы и концы: местный автобус Opti, звуковые карты Aria» . 21 июля 2015 г. Проверено 19 февраля 2021 г.