Среди наиболее динамично развивающихся областей компьютерной техники стоит отметить сферу технологий передачи данных: в отличие от сферы вычислений, где наблюдается продолжительное и устойчивое развитие параллельных архитектур, в «шинной» 1 сфере, как среди внутренних, так и среди периферийных шин, наблюдается тенденция перехода от синхронных параллельных шин к высокочастотным последовательным. (Заметьте, «последовательные» – не обязательно значит «однобитные», здесь возможны и 2, и 8, и 32 бит ширины при сохранении присущей последовательным шинам пакетной передачи данных, то есть в пакете импульсов данные, адрес, CRC и другая служебная информация разделены на логическом уровне 2 ).
1 Компьютерная шина (магистраль передачи данных между отдельными функциональными блоками компьютера) – совокупность сигнальных линий, объединённых по их назначению (данные, адреса, управление), которые имеют определённые электрические характеристики и протоколы передачи информации. Шины отличаются разрядностью, способом передачи сигнала (последовательные или параллельные), пропускной способностью, количеством и типами поддерживаемых устройств, протоколом работы, назначением (внутренняя, интерфейсная).
Шины могут быть синхронными (осуществляющими передачу данных только по тактовым импульсам) и асинхронными (осуществляющими передачу данных в произвольные моменты времени), а также могут использовать мультиплексирование (передачу адреса и данных по одним и тем же линиям) и различные схемы арбитража (то есть способа совместного использования шины несколькими устройствами).
2 Основным отличием параллельных шин от последовательных является сам способ передачи данных. В параллельных шинах понятие «ширина шины» соответствует её разрядности – количеству сигнальных линий, или, другими словами, количеству одновременно передаваемых («выставляемых на шину») битов информации. Сигналом для старта и завершения цикла приёма/передачи данных служит внешний синхросигнал. В последовательных же каналах передачи используется одна сигнальная линия (возможно использование двух отдельных каналов для разделения потоков приёма-передачи). Соответственно, информационные биты здесь передаются последовательно. Данные для передачи через последовательную шину облекаются в пакеты (пакет – единица информации, передаваемая как целое между двумя устройствами), в которые, помимо собственно полезных данных, включается некоторое количество служебной информации: старт-биты, заголовки пакетов, синхросигналы, биты чётности или контрольные суммы, стоп-биты и т. п. Но в свете последних достижений в «железной» сфере компьютерной индустрии малое количество сигнальных линий и логически более сложный механизм передачи данных последовательных шин оборачиваются для них существенным преимуществом – возможностью практически безболезненного наращивания рабочих частот в таких пределах, каких никогда не достичь громоздким параллельным шинам с их высокочастотными проблемами ожидания доставки каждого бита к месту назначения. Проблема в том, что каждая линия такой шины имеет свою длину, свою паразитную ёмкость и индуктивность и, соответственно, своё время прохождения сигнала от источника к приёмнику, который вынужден выжидать дополнительное время для гарантии получения данных по всем линиям. Так, к примеру, каждый байт, передаваемый через линк шины PCIExpress, для увеличения помехозащищённости «раздувается» до 10 бит, что, однако, не мешает шине передавать до 0,25 ГБ за секунду по одной паре проводов. Да, ширина последовательной шины на самом деле является количеством одновременно задействованных отдельных последовательных каналов передачи.
Все эти нововведения и смена приоритетов преследуют в конечном итоге одну цель – повышение суммарного быстродействия системы, ибо не все существующие архитектурные решения способны эффективно масштабироваться. Несоответствие пропускной способности шин потребностям обслуживаемых ими устройств приводит к эффекту «бутылочного горлышка» и препятствует росту быстродействия даже при дальнейшем увеличении производительности вычислительных компонентов – процессора, оперативной памяти, видеосистемы и так далее.
- Процессорная шина
- Влияние шин PCI-e и внутренней шины видеокарты на производительность
- Что за шины, и что они делают?
- Как оценить что происходит, если шины слишком узкие?
- Ограничение внутренней шины видеокарты
- Смешанное влияние и на PCI-e и на внутреннюю шину
- Влияние PCI-e на производительность
- Ещё немного издевательств над видеокартой
- 🎦 Видео
Видео:Влияние шин PCI-e и внутренней шины видеокарты на производительностьСкачать
Процессорная шина
Любой процессор архитектуры x86CPU обязательно оснащён процессорной шиной. Эта шина служит каналом связи между процессором и всеми остальными устройствами в компьютере: памятью, видеокартой, жёстким диском и так далее. Так, классическая схема организации внешнего интерфейса процессора (используемая, к примеру, компанией Intel в своих процессорах архитектуры х86) предполагает, что параллельная мультиплексированная процессорная шина, которую принято называть FSB (Front Side Bus), соединяет процессор (иногда два процессора или даже больше) и контроллер, обеспечивающий доступ к оперативной памяти и внешним устройствам. Этот контроллер обычно называют северным мостом , он входит в состав набора системной логики ( чипсета ).
Используемая Intel в настоящее время эволюция FSB – QPB , или Quad-Pumped Bus, способна передавать четыре блока данных за такт и два адреса за такт! То есть за каждый такт синхронизации шины по ней может быть передана команда либо четыре порции данных (напомним, что шина FSB–QPB имеет ширину 64 бит, то есть за такт может быть передано до 4х64=256 бит, или 32 байт данных). Итого, скажем, для частоты FSB, равной 200 МГц, эффективная частота передачи адреса для выборки данных будет эквивалентна 400 МГц (2х200 МГц), а самих данных – 800 МГц (4х200 МГц) 3 .
3 Кстати, именно результирующей «учетверённой» частотой передачи данных (как и в случае с «удвоенной» передачей DDR-шины, где данные передаются дважды за такт) хвастаются производители и продавцы, умалчивая тот факт, что для многочисленных мелких запросов, где данные в большинстве своём умещаются в одну 64-байтную порцию (и, соответственно, не используются возможности DDR или QDR/QPB), на чтение/запись важнее именно частота тактирования.
В архитектуре же AMD64 (и её микроархитектуре K8), используемой компанией AMD в своих процессорах линеек Athlon 64/Sempron/Opteron, применён революционно новый подход к организации интерфейса центрального процессора – здесь имеет место наличие в самом процессоре нескольких отдельных шин. Одна (или две – в случае двухканального контроллера памяти) шина служит для непосредственной связи процессора с памятью, а вместо процессорной шины FSB и для сообщения с другими процессорами используются высокоскоростные шины HyperTransport. Преимуществом данной схемы является уменьшение задержек (латентности) при обращении процессора к оперативной памяти, ведь из пути следования данных по маршруту «процессор – ОЗУ» (и обратно) исключаются такие весьма загруженные элементы, как интерфейсная шина и контроллер северного моста.
Читайте также: Чем заправляют шины катка
Различия реализации классической архитектуры и АМD-K8
Различия реализации классической архитектуры и АМD-K8
Ещё одним довольно заметным отличием архитектуры К8 является отказ от асинхронности, то есть обеспечение синхронной работы процессорного ядра, ОЗУ и шины HyperTransport, частоты которых привязаны к «шине» тактового генератора (НТТ), которая в этом случае является опорной. Таким образом, для процессора архитектуры К8 частоты ядра и шины HyperTransport задаются множителями по отношению к НТТ, а частота шины памяти выставляется делителем от частоты ядра процессора 4
4 Пример: для системы на базе процессора Athlon 64-3000+ (1,8 ГГц) с установленной памятью DDR-333 стандартная частота ядра (1,8 ГГц) достигается умножением на 9 частоты НТТ, равной 200 МГц, стандартная частота шины HyperTransport (1 ГГц) – умножением НТТ на 5, а частота шины памяти (166 МГц) – делением частоты ядра на 11.
В классической же схеме с шиной FSB и контроллером памяти, вынесенным в северный мост, возможна (и используется) асинхронность шин FSB и ОЗУ, а опорной частотой для процессора выступает частота тактирования 5 (а не передачи данных) шины FSB, частота же тактирования шины памяти может задаваться отдельно. Из наиболее свежих чипсетов возможностью раздельного задания частот FSB и памяти обладает NVIDIA nForce 680i SLI, что делает его отличным выбором для тонкой настройки системы (разгона).
Видео:Отключаем поэтапно память у RTX 3090 и 3060 и измеряем разницу в производительности.Скачать
Влияние шин PCI-e и внутренней шины видеокарты на производительность
На сайте есть статья, где я создавал в видеопамяти дисковый раздел и устанавливал в него игры, так же я показал как такой раздел вообще можно сделать, и так же мы с вами сравнили и производительность получившегося из видеокарты накопителя, кроме того установили на него игру и запустили игру на видеокарте в видеопамяти которой эта самая игра и была установлена.
И ещё я попереключал версии PCI-e до первой и запустил видеокарту, в том числе и на одной линии разных версий PCI-e.
И закончилось всё тем, что оказывается на одной линии PCI-e первой версии производительность игр не такая как при нормальном подключении видеокарты и я пообещал, что расскажу, а главное покажу как это происходит. И для этого мне как раз нужна возможность создавать на видеокарте дисковый раздел и отбирая возможности шин видеокарты, задавая нагрузку на них через накопитель мы в реальном времени сможем увидеть как менялась бы производительность видеокарты, если бы у неё была другая битность шины или более узкая шина PCI-e.
И этим мы с вами сможем лучше узнать как ведёт себя карта, когда есть проблемы с шириной PCI-e или проблемы с внутренними шинами между видеопамятью и графическим чипом. Допустим нужен ли видеокарте PCI-e четвёртой версии и как в тестах может выглядеть эта нужда. Или я, например, хочу узнать как выглядит в тестах когда возникает голод по данным у графического чипа из-за узкой шины памяти.
Что за шины, и что они делают?
Чтобы объяснить что я могу изменить и то почему изменились результаты для начала я представлю вам схему связки процессора и видеокарты.
У меня тут i9 9900k у него есть внутренняя кольцевая шина и в стоке процессора где-то на 350 ГБайт/с по данным скорости кеша L3 у процессора на все 8 ядер.
Процессор связан с оперативной памятью северным мостом встроенным в процессор. Память у меня в разгоне и выдаёт где-то 60 ГБайт/с на пару встроенных контроллеров.
Кроме того процессор связан с видеокартой.
Шина соединяющая одно с другим в реальности около 12 ГБайт/с если говорить про 16 линий PCI-e третьей версии.
В самой же видеокарте есть своя память, собственно эту память мы и будем мучить. Она с графическим чипом соединена шиной на 448 ГБайт/с (для моей RTX 2070). Это теоретически. Практически мне сандра от сисофтвер говорит, что удалось ей измерить ширину около 350 ГБайт/с.
Естественно у графического процессора есть и внутренняя шина, точно так же как и центрального процессора. И она ограничивает работу уже в том числе и с кеш памятью.
Данных по ней у меня нет, но она в несколько раз быстрее, чем шина между графической памятью и графическим процессором. Допустим не так давно эту цифру рассказали в AMD, говоря про инфинити кеш в новых картах.
Не знаю как там память по иерархии, эксклюзивная или инклюзивная, не факт, что можно складывать ширину памятей как это сделали AMD, но суть в том, что теоретическая пропускная способность видеопамяти у карты 512 ГБайт в секунду, а внутренняя шина получается около 1150 ГБайт в секунду.
Читайте также: Озон манометр для шин
Но в целом — в этой схеме конкретные цифры особо не важны.
То есть есть шины шире, есть шины уже. И когда информация мечется по этой схеме в разные стороны могут возникать ситуации, когда этой информации столько, что в более узких местах образуются заторы, которые вызывают повышение задержек на выполнение тех или иных операций. То есть центральный процессор или графический процессор имеют задачи для выполнения, но не в состоянии их выполнить из-за голода памяти и простаивают. Но простаивают не так что это по мониторингу видно как простой видеокарты или процессора. По мониторингу они заняты, потому что задачи стоят. Иными словами — нет никакой возможности узнать по мониторингу, что какая-то из шин уменьшает производительность системы.
Как оценить что происходит, если шины слишком узкие?
И тут возвращаемся к основной теме. Возможность работы с видеопамятью как с накопителем позволяет задать на эти
(выделены красным)
части высокую мусорную нагрузку, забирающую производительность этих шин, что позволит мне показать вам недостаточности ширины шин максимально наглядно, то есть задаю мусорную нагрузку на шины и производительность падает. Снимаю нагрузку — производительность возвращается в норму.
Ограничение внутренней шины видеокарты
Начнём с PCI-e X16 третьей версии.
Напомню, что вот обычная производительность.
Эта программа начинает спамить на накопитель и с него вначале мелкие файлы, потом файлы становятся крупнее, крупнее и т.д. То есть в самом начале давая максимальную нагрузку на контроллер накопителя (он же контроллер памяти видеокарты) и тестируя гибкость внутренней иерархии памяти. И уже ближе к концу — нагрузка идёт не на контроллер, а на сами возможности памяти и на ширину пропускания канала памяти.
То есть включение этого бенчмарка диска отбирает часть прыткости и PCI-e и внтурненней шины между памятю и графическим процессором, а так же грузит излишне контроллер памяти, так как работа с памятью идёт через встроенные в графический процессор контроллеры.
И так — в качестве эталонной нагрузки я выбрал комбустер с минимальным разрешением и без сглаживания у крутящегося бублика. Он сам по себе требователен к контроллеру памяти, несмотря на то что сам стресс тест не занимает много памяти в видеокарте. Ну и тут чем больше FPS тем выше удельная нагрузка на контроллер памяти и память, поэтому низкое разрешение и без сглаживания.
PCI-e x16 v3 без нагрузки
И RTX 2070 выдаёт 600 FPS, но стоит включить нагрузку на контроллер памяти как FPS падает до 400.
Естественно падает скорость и у самого накопителя. На мелких файлах падение более чем десятикратное. На крупных файлах видно, что неустранимые задержки или отеденные части пропускной способности шин так же снижают скорость работы.
Собственно сейчас мы с вами наблюдаем виртуально RTX 2070 с уменьшенной пропускной способностью внутренней шины между чипами памяти и графическим процессором. Карта по мониторингу загружена одинаково, а производительность разная. В данном случае отличить нагрузку можно только по FPS и по температурам карты. Естественно, что из-за голода данных начинаются в карте простои, так как задачи есть — загрузка показывается высокой, но на деле нагрузка падает.
Кроме того я сделал замеры и в 3D Mark TS.
Без нагрузки но уже с выделенной под диск областью я получил около 9 тысяч баллов. С лишней нагрузкой на контроллер памяти и память — около 8 тысяч баллов.
В имитации реальной нагрузки разница уже не такая большая, как в комбустере на низком разрешении, ну на то я его и выбрал, чтобы показать какая разница может быть.
И с увеличением объёмов данных важность ширины шины между графическим процессором и видеопамятью увеличивается. Этот эффект многие из вас видели в сравнительных тестах разных видеокарт в разных разрешениях.
Допустим есть две карты имеющие схожие производительности и предположим, одинаковой памятью. Но одна — это топовое решение прошлого поколения с большой битностью шины между видеопамятью и графическим чипом, а другая карта — это среднее решение нового поколения с меньшей шириной шины.
И карты имея схожую производительность, допустим, в FullHD показывают равную производительность, но в 4К топ прошлого поколения уже становится быстрее новинки.
Причина как раз в том, что я и показал — в 4К нагрузка на контроллер памяти и память вырастает и несмотря на равную теоретическую производительность, у карты с меньшей шириной шины реальная производительность падает.
Чаще, конечно, это видно в видеокартах разных уровней производительности. В FullHD у них может быть разница 20-30%, но в 4К разница увеличивается уже до 50%.
Это тот же эффект, что я и показал — карта не вывозит нагрузку по памяти и из-за простоев от голода памяти производительность не та, которая должна быть.
Но в данном случае, на PCI-e x16 третьей версии, тут вносит в уменьшение производительности только внутренняя шина видеокарты, а не сам PCI-e просто в силу того, что накопитель работает в скорости x4 и ширину канала существенно он не забивает, а нагрузка просто мешает работе контроллера памяти видеокарты, который перестаёт вывозить от мусорной нагрузки.
Читайте также: Виктория никитина шин дата рождения
Смешанное влияние и на PCI-e и на внутреннюю шину
И запас по шине PCI-e x16 третей версии для обычных задач игровой видеокарты на самом деле довольно приличный.
Путем использования рейзера я уменьшил эту шину по ширине в 16 раз. И такие уменьшения не так чтобы трагично сказываются на производительности. В 3D Mark в тесте с рендерингом в 1440р естественно уже производительность начала падать на RTX 2070. И вместо 9 тысяч баллов я уже получаю 7,7 тысяч баллов.
То есть уменьшение шины в 16 раз, не учитывая, естественно, вопросов подгрузок крупных локаций при недостатке видеопамяти и кешировании их в оперативной только начинает сказываться на недостаточности канала самого PCI-e на приличной по производительности видеокарте.
Для игрового процесса объёмы перемещающихся через PCI-e данных кроме текстур в целом не очень большие. Видеокарта с процессором, естественно, постоянно обмениваются данными по вызовам на отрисовку, данные перемещаются о подготовленных для начала отрисовки кадрам и в целом во многом нагрузка зависит от сложности геометрии и количества объектов в игре и количеству FPS, так как нагрузка получается пропорциональная FPS. И только уменьшив шину PCi-e в 16 раз, то есть с 16 линий до одной, уже эта постоянная текущая, удельная на каждый кадр, нагрузка на PCI-e начала хоть как-то влиять на само ограничение FPS.
Естественно в данном случае — включив ещё и нагрузку на видеопамять как на накопитель — мы начинаем мешать и контроллеру памяти, то есть снижаем эффективность шины между видеокпамятью и графическим чипом, но вдобавок ещё и отбираем часть ширины канала PCI-e, которая и так уже начала вызывать проблемы с производительностью.
То есть тут мы видим промежуточный вариант, когда нагрузка оказывает влияние на обе шины в схеме. И в 3D Mark количество баллов упало уже до 6700.
То есть случай сильного влияния только на внутренюю шину мы рассмотрели.
Случай влияния через обе шины тоже.
И остаётся теперь случай, когда основное влияние будет оказывать только PCI-e.
Влияние PCI-e на производительность
Переходим на одну линию PCI-e первой версии.
Без нагрузки 3D Mark уже показывает только 5 тысяч баллов.
Опять же напомню, что теоретическая производительность карты одна и та же. То есть графический процессор не становится медленнее. Просто он из-за ожидания данных или ожидания завершения отправки данных которые стоят в пробке из-за PCI-e стоит в простое.
Если же ещё добавить лишнюю нагрузку на PCI-e используя vRAM диск, то количество баллов падает ниже трёх тысяч.
То есть одна и так же карта, имея одну и ту же производительность показывает производительность различающуюся в три раза просто из-за простоев от голода данных, но по мониторингу во всех случаях имея загрузку в 100%.
Ещё немного издевательств над видеокартой
На одной линии PCI-e первой версии на самом деле видеокарте становиться уже очень сильно плохо.
И это видно даже не в нагрузке на диск специальной программой, а просто при копировании данных.
Производительность карты резко снижается. А при работе бенчмарка диска больше всего падает производительность когда этот бенчмарк создаёт выделенную область в памяти, то есть передаёт целый гигабайт мусорных данных грубо говоря одним файлом, то есть с минимальной нагрузкой на контроллер памяти видеокарты, который уже в начале работы бенчмарка позволяет из-за задержек самой памяти уменьшать объёмы данных через PCI-e.
29 FPS против 600 для карты подключенной обычным способом и без нагрузки на контроллер памяти
Более того бенчмарк для дисков попеременно даёт нагрузки на чтение и запись. И тут уже видно, что у комбустера, то есть программы с лохматым бубликом — не симметричное задействование PCI-e. от чего и отличаются FPS на бублике при чтении и записи дискового бенчмарка.
Ещё сильнее эту асимметрию использования PCI-e было видно в 3D Makr, в котором вообще без труда можно различить моменты когда бенчмарк диска переходит с тестов чтения на тесты записи и обратно. Стабильность фреймрейта меняется крайне сильно в разных этапах работы.
И для этого понадобилось всего лишь уменьшить ширину шины данных в 64 раза и параллельно пользоваться видеопамятью как накопителем.
Ну и, к сожалению, нельзя просто так в тестах понять — влияет ли одна или другая шина на производительность видеокарты и в какой степени из за шин мы недополучаем производительность.
Естественно можно косвенно судить об этом, но в наборах тестов. То есть если сравнить одну и ту же карту на PCI-e 3 версии и 4-ой версии, то будет понятно, что PCI-e третьей версии либо достаточно, либо недостаточна. Так же и с шиной между видеопамятью и графическим чипом. Если взять две видеокарты и в FullHD у них одно соотношение производительностей, а в 4К — другое соотношение при нормальных тестах видеокарты в FullHD, то есть без упора в процессор, то по изменению разрыва можно судить о недостатке шины видеопамяти.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
🎦 Видео
Виды видеопамяти и сколько её нужно? Какая нужна шина?Скачать
Почему видеокарты стали такими плохими? Куда дели шину? Что вместо нее и Тест 4060, 4060Ti, 7600Скачать
Всё о видеокартах за 11 минутСкачать
Частота процессора или частота системной шины?Скачать
Как выбрать видеокарту. Или почему шина 256 бит - не рулит. (см. описание)Скачать
Очень важные параметры видеокарты, на которые редко обращают внимание при покупке!Скачать
Влияние частоты оперативной памяти на производительность в играх (часть 1)Скачать
Каким видеокартам нужна высокая скорость PCI-e x8 x16 Gen. 4, 3 и 2Скачать
03. Основы устройства компьютера. Память и шина. [Универсальный программист]Скачать
Какая частота памяти нужна играм... или тайминги?Скачать
ОБЪЯСНЯЕМ PCI Express 4.0Скачать
Какая память в видеокарте лучшеСкачать
Разгон кольцевой шины и кэша L3 процессораСкачать
Что такое Hyper Transport ? (Теория, практика и мат.часть)Скачать
Как понять, когда протектор износился и шины пора менятьСкачать
Как разогнать процессор и память? Гоним по шине и множителю.Скачать
🔧Проверь свою ОПЕРАТИВНУЮ ПАМЯТЬ, она работает не на все 100!Скачать
Как выбрать видеокарту. Что оказывает влияние на производительность.Скачать