Все о шине PCI и PCI Express – спецификации, различия и совместимость. PCI-устройства - что это? PCI-видеокарта

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

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

Знакомство с термином

Упомянутая выше аббревиатура расшифровывается как Peripheral component interconnect, что в дословном переводе с английского означает взаимосвязь периферийных компонентов. Хоть это словосочетание не отображает физическое воплощение PCI, все же выбрано не безосновательно.

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

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

О контроллере

Есть еще такое понятие как PCI-контроллер Simple communications или Management Engine Interface, который обеспечивает взаимодействие драйверов установленных на компе программ и дров материнки. Иногда после переустановки системы в Диспетчере устройств рядом с этим пунктом загорается желтый треугольник.

В этом случае следует скачать драйвера на официальном сайте Intel или другом надежном ресурсе и установить их. Ведь данный интерфейс контролирует температуру, вращение кулеров, режимы сна и пр.

История

За создание и поддержку интерфейса отвечает предприятие PCI Special Interest Group, основанное в 1992 году под началом корпорации Intel. Тогда же вышел в свет первый его вариант, выпущенный специально для реализации функционала процессоров Pentium, Pentium Pro и 486.

В следующем году появилась следующая модель 2.0, а еще через 3 года - 2.1, которая была на пике популярности. Правда, через 2 года компьютерная графика вышла на новый уровень, и PCI перестала отвечать его требованиям. Тогда видеокарты стали подключать через новый на тот момент разъем .

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

Характеристики PCI

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

  • Частота - 33,33 или 66,66 мегагерц, пересылка информации осуществляется синхронно;
  • Разрядность - как обычно, 32 либо 64 бита;
  • Адресное пространство памяти и портов ввода-вывода одинаковое - 4 байта (32 бита);
  • Другое пространство адресов (конфигурационное) в расчете на 1 функцию составляет 256 байт;
  • Максимальная скорость модели на 32 бита и 33 МГц составляет 133 мегабайта за секунду;
  • Напряжение - 3,3 или 5 Вольт;
  • Имеется функция Multiply bus master, то есть несколько контроллеров винчестеров могут действовать на одной шине сразу.

Разница с PCI-Express

Это современная модификация предшественника. В ее основе лежит программная модель PCI, однако существенно повышена производительность. Большинство устройств в настоящее время выпускаются именно с этим интерфейсом.


Первое отличие между ними состоит в том, что устаревший вариант - параллельный, а новый - последовательный. Это значит, что во втором случае действует двунаправленное соединение, которое может включать в себя несколько линий (от x1 до x32). Чем их больше, тем выше скорость работы.

Как бы там ни было, пропускная способность современной шины будет выше, чем у устаревшего собрата. Для сравнения: у PCI с частотой 66 МГц она составляет 266 Мб/с, а у PCI-E 3-го поколения на 16 линий - 32 Гб/с.

Теперь вам известны основные аспекты о PCI.

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

PCI Express «родилась» 22 июля 2002 года. Ее создателем стала корпорация Intel, именно в этот день стала доступна её техническая документация. До этого момента, на этапе разработки «шина» имела обозначение 3GIO (third generation input-output). Два этих названия были брендированы PCI SIG (организацией, которая теперь продвигает этот стандарт).

PCIe — высокопроизводительное соединение «точка – точка», пришедшее на смену шине PCI (читается, как ПиСиАй). Физически отличается тем, что не использует общие выделенные линии для связи с процессором, а имеет свои собственные, для каждого подключенного устройства. Напряжение передачи сигнала составляет 0,8 вольт. Каждый канал – представляет собой два физических проводника (четыре контакта). При транслировании информации восемь бит кодируется десятью, что дает неплохую защиту от помех.

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

Отличия PCI Express от PCI

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

Принцип работы, совместимость

Являясь двусторонним, соединение передает данные последовательно в пакетном режиме. Пропускная способность зависит от исполнения в каждом конкретном случае. PCI Express бывают одна (1х), две и более линий транспорта (2Х, 4Х, 6х, 8х, 12х, 16х, 32х), что определяет длину слота на системной плате. Характерно, что аппаратура способна работать c любым из них, но приспособленные для серьезных скоростей карты расширения не могут физически поместиться в менее производительные разъемы, просто не совпадая в размере. Хотя наоборот, менее продуктивные платы расширения, имеющие короткие контактные группы — легко помещаются в большие и корректно работают.

В таблице мы привели сводную таблицу соотношения количества линий и пропускной способности :

Сейчас доступно несколько спецификаций шины:

  • PCI Express 1.0 и 1.1. Первые и наименее производительные решения, которые сейчас практически не используются. Сохраняются на старых платах, еще встречающихся в эксплуатации.
  • 2.0. Переработке и усовершенствованию подверглись все сколько-нибудь определяющие производительность качества, усовершенствованы логические протоколы, всесторонне оптимизировано управление связью, улучшено автоопределение подключаемых модулей.
  • Внешняя кабельная спецификация PCIe . Позволяет соединять оборудование кабелем длинной до 10 м.
  • 2.1. Промежуточный аналог 2.0 с некоторыми расширенными возможностями, предшествующими появлению 3.0.
  • 3.0. Скорость в 8 гигатранзакций в секунду (ГТ/с) стала доступной благодаря новой системе шифрования 128b/130b. Таким образом разница между pci 2.0 и 3.0 в шифровании и скорости передачи данных.
  • 4.0. Утвержден стандарт недавно — 5.10.2017. По сравнению с предыдущим — скорость удвоена. Возросли отдельные показатели, связанные с виртуализацией, оптимизирована передача пакетов данных.
  • 5.0. Ориентировочно, релиз запланирован зимой-весной 2019. Заявлена расширенная поддержка приложений, визуализирующих виртуальную реальность.

Существующие разъемы и виды портов

Портов подключения для интерфейса существуют множество. Рассмотрим некоторые, самые распространённые из них:

  • MiniPCI-E (M.2). Общая шина для некоторых наиболее распространённых компьютерных протоколов и устройств с интерфейсом x1 и х4 PCIe.
  • ExpressCard. Аналогичный разъем, но с выводом шины только для x1 PCIe.
  • AdvancedTCA, MicroTCA – порты для аппаратуры связи.
  • MobilePCIExpressModule (MXM) – разработка NVIDIA для соединения видеокарт.
  • StackPC – для создания суперкомпьютеров, позволяет масштабировать вычислительные устройства.

Как узнать версию PCI Express на материнской плате

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

Самая часто встречающаяся периферия для наиболее производительных слотов х16 – это видеокарты и ssd-диски. Не редки и контролеры типа дополнительных USB, SATA и подобных им скоростных портов или разнообразные адаптеры, такие как звуковые, музыкальные карты, Wi-Fi модули.

Видеокарта

Жесткий диск

Беспроводной адаптер

Распиновка PCI Express

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

Устройство контактной группы слота PCI-Express 16x:

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

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

Энциклопедичный YouTube

  • 1 / 5

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

    Устройства PCI Express взаимодействуют между собой через среду, образованную коммутаторами, при этом каждое устройство напрямую связано соединением типа точка-точка с коммутатором.

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

    • гарантированная полоса пропускания (QoS);
    • управление энергопотреблением;
    • контроль целостности передаваемых данных.

    Шина PCI Express нацелена на использование только в качестве локальной шины. Так как программная модель PCI Express во многом унаследована от PCI, то существующие системы и контроллеры могут быть доработаны для использования шины PCI Express заменой только физического уровня, без доработки программного обеспечения. Высокая пиковая производительность шины PCI Express позволяет использовать её вместо шин AGP и тем более PCI и PCI-X . Де-факто PCI Express заменила эти шины в персональных компьютерах.

    Разъёмы

    • MiniCard (Mini PCIe) - замена форм-фактора Mini PCI . На разъём Mini Card выведены шины: x1 PCIe, USB 2.0 и SMBus.
    • ExpressCard - подобен форм-фактору PCMCIA . На разъём ExpressCard выведены шины x1 PCIe и USB 2.0, карты ExpressCard поддерживают горячее подключение.
    • AdvancedTCA - форм-фактор для телекоммуникационного оборудования.
    • Mobile PCI Express Module (MXM) - промышленный форм-фактор, созданный для ноутбуков фирмой NVIDIA . Его используют для подключения графических ускорителей.
    • Кабельные спецификации PCI Express позволяют доводить длину одного соединения до десятков метров, что делает возможным создание ЭВМ, периферийные устройства которой находятся на значительном удалении.
    • StackPC - спецификация для построения наращиваемых компьютерных систем. Данная спецификация описывает разъёмы расширения StackPC, FPE и их взаимное расположение.

    PCI Express X1

    Mini PCI-E

    Mini PCI Express - формат шины PCI Express для портативных устройств.

    Для этого стандарта разъёма выпускается много периферийных устройств:

    SSD Mini PCI Express

    • Питание 3.3 В

    ExpressCard

    Слоты ExpressCard на настоящее время (ноябрь 2010) применяются для подключения:

    • Плат SSD накопителей
    • Видеокарт
    • Контроллеров 1394/FireWire (iLINK)
    • Док-станций
    • Измерительных приборов
    • Памяти
    • Адаптеров карт памяти (CF, MS, SD, xD, и т. д.)
    • Мышей
    • Сетевых адаптеров
    • Параллельных портов
    • Адаптеров PC Card/PCMCIA
    • Расширения PCI
    • Расширения PCI Express
    • Дистанционного управления
    • Контроллеров SATA
    • Последовательных портов
    • Адаптеров SmartCard
    • ТВ-тюнеров
    • Контроллеров USB
    • Беспроводных сетевых адаптеров Wi-Fi
    • Беспроводных широкополосных интернет-адаптеров (3G, CDMA, EVDO, GPRS, UMTS, и т. д.)
    • Звуковых карт для домашнего мультимедиа и профессиональных аудиоинтерфейсов.

    Описание протокола

    Для подключения устройства PCI Express используется двунаправленное последовательное соединение типа точка-точка , называемое линией (англ. lane - полоса, ряд); это резко отличается от PCI , в которой все устройства подключаются к общей 32-разрядной параллельной двунаправленной шине.

    Конкурирующие протоколы

    Кроме PCI Express, существует ещё ряд высокоскоростных стандартизованных последовательных интерфейсов, вот только некоторые из них: HyperTransport , InfiniBand , RapidIO , и StarFabric. Каждый интерфейс имеет своих сторонников среди промышленных компаний, так как на разработку спецификаций протоколов уже ушли значительные суммы, и каждый консорциум стремится подчеркнуть преимущества именно своего интерфейса над другими.

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

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

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

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

    В нем применено две новых частоты работы: 100 МГц и 133 МГц. Кроме того, в данной шине реализован механизм раздельных транзакций в целях улучшения производительности при единовременном подключении нескольких устройств.

    По сути, PCI-X, который можно расшифровать как PCI-eXtended , является укороченной версией PCI-E. Впоследствии расширение было вытеснено своим более компактным аналогом, поскольку пространство на материнской плате стало все более острым вопросом, "материнки" становились все меньше, что требовало того же от слотов. Так PCI-E практически полностью вытеснил PCI-X.

    Для шины PCI-X существуют ограничения по числу подключаемых к ней устройств: 66 МГц - 4, 100 МГц - 2, 133 МГц - 1, 2, 266 и 533 МГц - только 1.

    Данная шина совместима со всеми 3.3 В и универсальными картами расширения PCI. Как правило, PCI-X не широко используется на современных материнских платах. В проф-сегменте используется для RAID -контроллеров, в SSD, под PCI-E .

    PCI-X была разработана в сотрудничестве компаниий IBM, HP и Compaq. Шина появилась на рынке в 1998 году. Основной целью создания новой шины являлась попытка внедрить на рынок кодифицированную различными расширениями на платформе локальной PCI новую шину, которая бы исключила недостатки PCI, была бы быстрее и производительнее, и при этом увеличила бы популярность таких устройств, как: Gigabit Ethernet , Fibre Channel и карт Ultra3 SCSI . PCI-X отключается от других PCI шин и позволяет различным агентам использовать ее. Сплит-ответы увеличивают эффективность шины за счет устранения повторных циклов, в течение которых данные не могут быть переданы по шине. Кроме того, в PCI-X добавились устройства MSI, прерывание системы с помощью записи в хост-памяти.

    Теоретически, максимальный объем данных, передаваемых между процессором и периферийными устройствами посредством PCI-X, составляет 1,06 Гб/с, по сравнению с 133 Мб/с у стандартного PCI. PCI-X также обладает улучшенным уровнем отказоустойчивости, позволяя пользователю, например, провести повторную инициализацию неисправной карты или перевести ее в автономный режим.

    PCI-X не совместим со старыми 5-Вольтовыми I/O, которые так широко применялись в стандартной версии PCI.

    В чем отличие PCI-X от PCI 64?

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

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


    Версии:

    Карты

    • 66 MHz
    • 100 MHz
    • 133 MHz
    • 266 MHz
    • 533 MHz

    Слоты

    • 66 MHz
    • 133 MHz
    • 266 MHz
    • 533 MHz

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

    Предыстория появления слота расширения

    В начале 2000-х годов со слотом расширения AGP, который на тот момент использовался для установки сложилась такая ситуация, когда максимальный уровень быстродействия достигнут и его возможностей уже недостаточно. В результате этого был создан консорциум PCI-SIG, который приступил к разработке программной и аппаратной составляющих будущего слота для установки графических ускорителей. Плодом его творчества и стала в 2002 году первая спецификация PCI Express 16х 1.0.

    Некоторые компании для обеспечения совместимости двух существовавших на тот момент времени портов установки дискретных графических адаптеров разрабатывали специальные устройства, которые позволяли устанавливать устаревшие графические решения в новый слот расширения. На языке профессионалов такая разработка имела свое название - переходник PCI-E x16/AGP. Основное его назначение - это минимизация затрат на модернизацию ПК за счет использования комплектующих с предыдущей конфигурации системного блока. Но такая практика не получила большого распространения по той причине, что видеоплаты начального уровня на новом интерфейсе имели стоимость практически равную цене переходника.

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

    Скорость передачи и метод шифрования

    В обозначении интерфейса PCI-E x16цифра указывает на количество задействованных полос для передачи данных. В данном случае их 16. Каждая из них, в свою очередь, состоит из 2 пар проводов для передачи информации. Как было отмечено, более высокая скорость обеспечивается тем, что эти пары работают в дуплексном режиме. То есть передача информации может идти сразу в двух направлениях.

    Для защиты от возможных потерь или искажения передаваемых данных применяется в этом интерфейсе специальная система защиты информации, которая называется 8В/10В. Это обозначение расшифровывается следующим образом: для правильной и корректной передачи 8 бит данных необходимо их дополнить 2 служебными битами для выполнения проверки правильности. В этом случае система вынуждена передавать 20 процентов служебной информации, которая для пользователя компьютера не несет полезной нагрузки. Но это плата за надежную и стабильную работу графической подсистемы персонального компьютера, и без этого уж точно никак не обойтись.

    Версии PCI-E

    Разъем PCI-E x16 внешне одинаковый на всех системных платах. Только вот скорость передачи информации в каждом случае может существенно отличаться. Как результат, быстродействие устройства тоже разное. А модификации у этого графического интерфейса такие:

    • 1-я модификация PCI - Express х16 v. 1.0 имела теоретическую пропускную способность в 8 Гб/с.
    • 2-е поколение PCI - Express х16 v. 2.0 уже могло похвастаться увеличенным вдвое значением пропускной способности - 16 Гб/с.
    • Аналогичная тенденция сохранилась уже и для третьей версии данного интерфейса. В этом случае этот показатель был установлен на отметке 64 Гб/с.

    Визуально отличить по расположению контактов невозможно. При этом они совместимы между собой. Например, если в слот версии 3.0 установить плату графического адаптера, которая соответствует на физическом уровне спецификациям 2.0, то вся система обработки автоматически переключится в наименее скоростной режим (то есть 2.0) и будет уже в дальнейшем функционировать именно с пропускной способностью в 64 Гб/с.

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

    Как было отмечено ранее, впервые PCI Express был представлен в 2002 году. Его выход ознаменовал появление персональных компьютеров с несколькими графическими адаптерами, которые к тому же могли похвастаться даже с одним установленным акселератором повышенным быстродействием. Стандарт AGP 8Х позволял получить пропускную способность 2,1 Гб/с, а первая ревизия PCI Express - 8 Гб/с.

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

    Вторая модификация PCI-E

    На смену первому поколению данного в 2007 году пришел PCI-E 2. 0 x16. Видеокарты 2-го поколения, как было отмечено ранее, физически и программно были совместимы с первой модификацией этого интерфейса. Только в таком случае существенно снижалось быстродействие графической системы до уровня версии интерфейса PCI Express 1.0 16х.

    Теоретически предел передачи информации в этом случае был равен 16 Гб/с. Но 20 процентов полученного прироста расходовалось на служебную информацию. В итоге в первом случае реальная передача была равна: 8 Гб/с - (8 Гб/с х 20% : 100%) = 6,4 Гб/с. А для второго исполнения графического интерфейса это значение было уже таким: 16 Гб/с - (16 Гб/с х 20% : 100%) = 12,8 Гб/с. Разделив же 12,8 Гб/с на 6,4 Гб/с, получаем реальный практический прирост быстродействия в 2 раза между 1-м и 2-м исполнением PCI Express.

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

    Последнее и наиболее актуальное обновление этого интерфейса увидело свет в 2010 году. Пиковая скорость PCI-E x16 в этом случае увеличилась до 64 Гб/с, а максимальная мощность графического адаптера без дополнительного питания в этом случае может быть равна 75 Вт.

    Варианты конфигураций с несколькими графическими акселераторами в составе одного ПК. Их плюсы и минусы

    Одним из наиболее важных нововведений данного интерфейса является возможность наличия сразу нескольких графических адаптеров в x16. Видеокарты при этом объединяются между собой и образуют, по существу, единое устройство. Их общая производительность суммируется, и это позволяет в разы повысить быстродействие ПК с позиции обработки выводимого изображения. Для решений от NVidia такой режим называется SLI, а для графических процессоров от АМД - CrossFire.

    Будущее данного стандарта

    Слот PCI-E x16в обозримом будущем уж точно не будет изменяться. Это позволит более производительные видеокарты использовать в составе устаревших ПК и за счет этого осуществлять поэтапный апгрейд компьютерной системы. Сейчас же прорабатываются спецификации уже 4-й версии этого способа передачи данных. Для графических адаптеров в этом случае будет предусмотрена максимальная 128 Гб/с. Это позволит выводить изображение на экран монитора в качестве «4К» и более.

    Итоги

    Как бы там ни было, а PCI-E x16 на текущий момент является безальтернативным графическим слотом и интерфейсом. Он будет актуальным еще достаточно долгое время. Его параметры позволяют создавать как компьютерные системы начального уровня, так и высокопроизводительные ПК с несколькими акселераторами. Именно за счет такой гибкости и не предвидится существенных изменений в этой нише.



В продолжение темы:
Android

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