Бутылочное горлышко (bottleneck) - как не дойти до дна в бизнесе? Мегагерцы в "бутылочном горлышке" Что является бутылочным горлышком процессора.

12.11.2021

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

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

Потому я решил сделать серию блогов о том, как вообще работают игры, что на что влияет, что такое "раскрытие видеокарты" и т.д. И описать это максимально простым и доступным языком.

П.1. "Как это работает? Попроще, пожалуйста!"

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

Игра по своей сути - это 3д приложение. И как и любое приложение оно изначально собирается из разных "кусочков", как "лего".

Проведя аналогию мы получаем:


1) Процессор - главный мозг, строит вершины, рассчитывает физику (в большинстве случаев). Если провести аналогию - это тот, кто читает инструкцию по сборке

2) видеокарта - облепливает текстурами, вешает эффекты, "делает красиво" - по аналогии это тот, кто собирает по надиктованной инструкции.

3) жёсткий диск - хранит непосредственно файлы игры - по аналогии это коробка с конструктором.

4) Оперативная память и видеопамять - хранит в себе данные частого обращения, видеопамять - хранит текстуры. Это кусочки конструктора, которые вы вытягиваете и кидаете рядом с собой, что бы не тянуться в коробку.

Как мы видим, каждый компонент нашего устройства, будь то ПК, консоль или даже смартфон, выполняет определённые действия, что бы наша игра запустилась. Это, конечно, самое примитивное представление, но этого уже достаточно, что бы понимать как это работает.

П.2. Раскроет ли процессор видеокарту?

Очень много разговоров было на эту тему. Много говорили о том, существует ли вообще такое понятие. По моим соображениям - да, существует, в каком-то смысле.

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

Теперь разберёмся как "дружат" процессор и видеокарта и кто кого раскрывает?

Ситуация 1. Бутылочное горлышко - видеокарта:


В результате мы получим на экране 15 кадров в секунду. При этом видеокарта будет работать на полную, процессор будет работать на половину. Это самый идеальный вариант, в таком случае говорят, что "процессор раскрывает видеокарту полностью". Процессору во время игры так же надо обработать различные программы самой системы, проследить, что бы работал скайп\вайбер\тимспик и многое другое. Потому небольшой "запас" у процессора должен оставаться.

Что нам это даёт? В случае ПК - мы можем снизить настройки графики, что бы видеокарта смогла сделать больше "машинок"-кадров. Так мы получим больше фпс в игре.

Есть и обратный вариант:


Тут мы так же получаем 15 кадров. При этом процессор у нас трудится на полную, а видеокарта "простаивает"(отдыхает). В таком случае говорят, что процессор не раскрывает видеокарту.

Что нам это даёт? При таком раскладе - мы не сможем "прыгнуть выше головы". Увидеть больше фпс, чем выдаёт нам процессор мы не сможем. Но, так как у нас видеокарта отдыхает - мы можем заставить её собирать не из обычных пластиковых кирпичиков, а из металлических с рисунками и стразами. Если по игровым нстройкам - мы можем поставить больше разрешение, лучше эффекты, более прогрессивное сглаживание - вплоть до того момента, пока карта не станет работать на 100%, выдавая всё те же 15 кадров.

п2.1 Так как же понять, какой процессор и видеокарту к нему взять?

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

что же нам нужно, что бы игра у нас шла в 60 кадров без проблем? Давайте рассмотрим на примере Witcher3, т.к. её протестировали на всё что только можно.

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


Как мы видим, для этой игры хватит даже Phenom2. И с ним мы увидим 60 кадров в этой игре, если "бутылочным горлышком" не станет видеокарта. Собственно, посмотрим, какая карта нам подойдёт:


Что мы видим? Что бы поиграть на самых максимальных настройках в 60фпс нам необходима карта 980 и выше.

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

Во второй части я планирую рассказать про жёсткий диск, ssd, оперативную память и видеопамять (их влияние на игру.)

P.s. Спасибо. что прочитали. Это моя первая запись в блоге, потому буду рад конструктивной критике. Если нашли какие-то неточности, ошибки и проч. - пишите в комментариях, буду испраляться.

Доброго времени суток!

Хороший день, ничего не предвещало плохого. Но вот пришла проблема - скорость работы какого-то приложения стала неприемлемо маленькой, причём ещё неделю/месяц/день назад всё было хорошо. Решить её надо быстро, потратив как можно меньше времени. Проблемный сервер на базе Windows Server 2003 или более поздней версии.

Надеюсь нижеследующая писанина будет достаточно краткой и понятной и к тому же полезной как для начинающих администраторов, так и для более серьёзных товарищей, ибо всегда можно найти что-то новое для себя. Не стоит сразу бросаться исследовать поведение приложения. Перво наперво стоит посмотреть, хватает ли производительности сервера на данный момент? Нет ли каких-нибудь «бутылочных горлышек», ограничивающих его производительность?

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

Если открыть perfmon, то мы увидим десятки и сотни всевозможных датчиков, и количество оных не способствует быстрому расследованию данной проблемы. Так что для начала выделим 5 основных возможных «бутылочных горлышек», чтобы сократить список исследуемых датчиков.

Это будут процессор, оперативная память, система хранения данных (HDD/SSD), сеть и процессы. Далее мы рассмотрим каждый из этих пунктов, какие датчики будут нам нужны и пороговые значения для них.

Процессор

Перегруженный задачами процессор явно не способствует быстрой работе приложений. Для изучения его ресурсов мы выделим только 4 датчика:

Processor\% Processor Time

Измеряет отношение времени работы процессора ко времени простоя в процентах. Самый понятный датчик, загрузка процессора. MS рекомендует менять процессор на более быстрый, если значение выше 85%. Но это зависит от многих факторов, надо знать свои потребности и особенности, т. к. данное значение может варьироваться.

Processor\% User Time

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

Processor\% Interrupt Time

Измеряет время, которое процессор затрачивает на ожидание ответа на прерывание. Данный датчик может показать наличие «железных» проблем. MS рекомендует начинать волноваться, если данное значение превышает 15%. Это означает, что какое-то устройство начинает отвечать очень медленно на запросы и его следует проверить.

System\Processor Queue Length

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

Оперативная память

Нехватка оперативной памяти может сильно сказаться на общей производительности системы, заставляя систему активно использовать медленный HDD для своппирования. Но даже если вроде бы на сервере установлено много ОЗУ, память может «утекать». Утечка памяти - это неконтролируемый процесс уменьшения количества свободной памяти, связанный с ошибками в программах. Также стоит упомянуть, что для Windows объём виртуальной памяти есть сумма ОЗУ и файла подкачки.

Memory\% Committed Bytes in Use

Показывает использование виртуальной памяти. Если значение перевалило за 80%, то стоит подумать о добавлении ОЗУ.

Memory\Available Mbytes

Показывает использование ОЗУ, а именно количество доступных мегабайт. Если значение составляет менее 5%, то опять таки следует подумать о добавлении ОЗУ.

Memory\Free System Page Table Entries

Количество свободных элементов таблицы страниц. А оно ограничено, вдобавок в наши дни популярность обретают страницы в 2 и более МБ, вместо классических 4кБ, что не способствует их большому количеству. Значение менее 5000 может свидетельствовать об утечке памяти.

Memory\Pool Non-Paged Bytes

Размер данного пула. Это кусочек памяти ядра, который содержит важные данные и не может быть выгружен в swap. Если значение превысило 175 МБ, то, скорее всего, это утечка памяти. Обычно это сопровождается появлением событий 2019 в системном журнале.

Memory\Pool Paged Bytes

Аналогично предыдущему, но данную область можно выгружать на диск (swap), если они не используются. Для данного счётчика значения выше 250 МБ считаются критичными, обычно сопровождается появлением событий 2020 в системном журнале. Также говорит об утечке памяти.

Memory\Pages per Second

Количество обращений (запись/чтение) к page file в секунду по причине отсутствия необходимых данных в ОЗУ. И опять значение более 1000 намекает на утечку памяти.

Жёсткий диск

Достаточно важный элемент, который может внести существенную лепту в производительность системы.

LogicalDisk\% Free Space

Процент свободного места. Интересуют только разделы, содержащие системные файлы - ОС, файл/файлы подкачки и т.д. MS рекомендует позаботиться об увеличении дискового пространства, если свободного места осталось менее 15%, т. к. при критических нагрузках оно может резко закончиться (temp файлами, обновлениями Windows или тем же файлом подкачки). Но, как говориться, “it depends” и надо смотреть на реально доступный размер пространства, т.к. тот же файл подкачки может быть жёстко фиксирован, на temp"ы наложены квоты, запрещающие им разрастаться, а обновления раздаются порционно и редко, либо их нет вообще.

PhysicalDisk\% Idle Time

Показывает, сколько времени диск бездействует. Рекомендуется заменить диск на более производительный, если данный счётчик находится ниже 20% границы.

PhysicalDisk\Avg. Disk Sec/Read

Среднее время, необходимое жёсткому диску для чтения данных с самого себя. Выше 25мс - это уже плохо, для SQL сервера и Exchange рекомендуется 10мс и меньше. Рекомендация идентична предыдущей.

PhysicalDisk\Avg. Disk Sec/Write

Идентично PhysicalDisk\Avg. Disk Sec/Read, только для записи. Критический порог тоже равен 25мс.

PhysicalDisk\Avg. Disk Queue Length

Показывает среднее число I/O операций, ожидающих, когда жёсткий диск станет для них доступным. Рекомендуется начинать беспокоится, если данное число вдвое превышает кол-во шпинделей в системе (в случае отсутствия raid-массивов количество шпинделей равно количеству жёстких дисков). Совет прежний - более производительный HDD.

Memory\Cache Bytes

Объём памяти, используемый для кеша, часть которого является файловым. Объём более 300МБ может говорить о проблеме с производительностью HDD или о наличии приложения, активно использующего кеш.

Сеть

В современном мире без неё никуда - огромное количество данных транслируются именно по сети.

Network Interface\Bytes Total/Sec

Кол-во данных, передаваемых (send/receive) через сетевой адаптер. Значение, превосходящее 70% от пропускной способности интерфейса, говорит о возможной проблеме. Нужно либо заменить карту на более производительную, либо добавить ещё одну для разгрузки первой.

Network Interface\Output Queue Length

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

Процессы

Производительность сервера может катастрофически упасть, если имеется неоптимизированное приложение или приложение начинает вести себя «неправильно».

Process\Handle Count

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

Process\Thread Count

Количество потоков внутри процесса. Стоит внимательнее изучить поведение приложения, если разница между минимальным и максимальным числом оных превысит 500.

Process\Private Bytes

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

У большинства вышеприведённых счётчиков нет чёткого показателя того, что в системе появилось «бутылочное горлышко». Все приведённые значения строились по среднестатистическим результатам и могут варьироваться для различных систем в широком диапазоне. Чтобы воспользоваться данными счётчиками грамотно, мы должны знать хотя бы показатели системы при её нормальной работе. Это называется baseline performance – perfmon лог, снятый с работающей свежеустановленной (последнее необязательно, никогда не поздно снять данный лог или вести учёт изменения baseline производительности в долгосрочной перспективе) системы, не имеющей проблем. Это достаточно важный момент, часто многими опускаемый, хотя в будущем он может серьёзно сократить возможный простой системы и в явной форме ускорить анализ полученных данных из приведённых выше счётчиков.

Взято с https://ru.intel.com/business/community/?automodule=blog&blogid=57161&sh...

0 0

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

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

В IBM PC, первом массовом 16-разрядном персональном компьютере, появившемся немногим более 20 лет назад, был использован процессор Intel 8088 - младший брат Intel 8086, отличающийся от него вдвое более узкой внешней шиной данных. Такое решение было экономически оправданным, так как позволяло использовать восьмиразрядную периферию, благодаря чему новый компьютер не слишком сильно отличался по цене от своих восьмиразрядных собратьев. Но если предыдущий процессор Intel 8086 осуществлял синхронную выборку и исполнение команд, то у нового процессора эти действия выполнялись асинхронно - появилась очередь команд, заполнявшаяся тогда, когда не было интенсивного обмена процессора с областью данных. Это позволило более эффективно использовать пропускную способность шины данных, и уменьшение ее ширины вдвое не привело к существенному падению производительности.

В то время память практически не задерживала исполнение команд: процессор работал на тактовой частоте 4,77 МГц и даже адрес он вычислял гораздо дольше, чем память выдавала необходимые данные. Однако скорость процессора характеризуется тактовой частотой, а скорость памяти - временем доступа, которое не подвержено столь головокружительному прогрессу: тактовая частота выросла почти в 500 раз, а время доступа сократилось лишь примерно на порядок. Но если время доступа, скажем, 100 нс, то при 10 МГц это соответствует одному такту процессора, при 40 МГц - четырем тактам, а при 100 МГц - уже десяти. Кроме того, совершенствовалась архитектура процессоров, так что одни и те же команды стали выполняться за гораздо меньшее количество тактов (см. табл. 1).

Разработчики учитывали возникающие тенденции. IBM PC AT вышел уже с полной 16-разрядной шиной данных, а IBM AT-386 - с полной 32-разрядной. Такова же была разрядность компьютеров и на 486 процессоре. Дальше - больше. Ширина внешней шины данных Pentium составляла 64 разряда, т. е. вдвое превышала разрядность процессора. А для графических процессоров (часто называемых 3D-акселераторами) она составляет уже 128-256 разрядов.

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

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

До недавнего времени частота внешней шины процессора Front Side Bus (FSB) должна была совпадать с частотой тактирования оперативной памяти. Низкая частота шины у процессоров Celeron (66 МГц) при этом ограничивала производительность данного класса процессоров. Последние же чипсеты позволяют тактировать память более высокой частотой, что может довольно существенно сказаться на общей производительности. Для исследования этого вопроса была использована системная плата Gigabyte GA-6VTX на чипсете VIA Apollo Pro 133T, позволяющем независимо устанавливать как внешнюю частоту процессора, так и частоту тактирования оперативной памяти. На нее по очереди устанавливались два процессора, различающиеся частотой внешней шины: Celeron-566 (FSB 66 МГц) и Celeron-1000 (FSB 100 МГц). Набор тестов - традиционный для нашего журнала. Все тесты проводились в однозадачной ОС (DOS Mode Windows 98 SE). Естественно, кэш-память при проведении измерений не отключалась, что также оказало немалое влияние (иногда определяющее, но об этом ниже) на результаты.

При чтении, записи и пересылке 4-Мбайт массива выявились вполне определенные закономерности (см. табл. 2).

Во-первых, увеличение частоты тактирования памяти со 100 до 133 МГц при FSB 66 МГц не привело к какому-либо изменению результатов. Это справедливо не только для последовательного доступа, но и вообще для всех проведенных экспериментов. В чем тут дело: то ли FSB не способна "переварить" более чем полуторакратное увеличение частоты памяти, то ли реальная частота тактирования "замораживается" на 100, когда BIOS Setup показывает 133, - сказать трудно.

Во-вторых, скорость выполнения значительной части операций зависит лишь от частоты памяти, а не от частоты процессора.

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

В качестве альтернативы последовательному доступу можно применить произвольный. Внутри 32-Мбайт области случайным образом вычислялся адрес, а затем по этому адресу производилось чтение или запись одного байта (рис. 1).

Чрезвычайно низкая скорость обмена объясняется двумя факторами. Во-первых, для первоначального задания адреса требуется довольно много времени (см. врезку ). Во-вторых, операции чтения/записи буферизованы кэшем, а обмен с ним осуществляется только порциями по 32 байта. Другими словами, чтобы считать из памяти 1 байт, необходимо перенести в кэш 32. В заключение отмечу, что процедура вычисления случайного адреса конечно же тоже занимает некоторое время, тем не менее примененный алгоритм позволяет при уменьшении объема данных до объема кэша L2 производить выборку со скоростью более 70 Мбайт/с для применяемого процессора 1 ГГц.

Различный характер зависимости производительности от частоты процессора и памяти для разных типов приложений можно видеть на рис. 2.

Для единообразия за единицу производительности принят процессор с частотой 566 МГц и памятью, работающей на 66 МГц. Кривыми обозначены следующие тестовые программы:

  1. Решение системы дифференциальных уравнений в частных производных (СДУЧП) на процессоре 566 МГц при объеме данных 40 Мбайт.
  2. Решение СДУЧП на процессоре 1000 МГц при тех же условиях.
  3. Нахождение простых чисел методом "решета Эратосфена" (РЭ) на процессоре 566 МГц при объеме массивов 40 Мбайт.
  4. РЭ на процессоре 1000 МГц при том же объеме массивов.
  5. Быстрая сортировка 16-Мбайт массива на процессоре 566 МГц.
  6. Быстрая сортировка 16-Мбайт массива на процессоре 1 ГГц.
  7. Нахождение кратчайшего пути в графе методом Дейкстры на 566-МГц процессоре. Объем массивов 300 Кбайт (более удвоенного объема кэш-памяти).
  8. Нахождение кратчайшего пути в графе на 1-ГГц процессоре при тех же условиях.

Из приведенных данных видно, что большая часть приложений наиболее чувствительна к частоте процессора. На рис.2 им соответствуют горизонтальные кривые вблизи единицы для частоты 566 МГц и вблизи 1,7-1,8 для 1000 МГц. Наиболее чувствительным к частоте памяти оказалось "решето Эратосфена", при этом с 66-МГц памятью производительность практически не зависела от частоты процессора. Графики для таких приложений имеют вид наклонных линий, для которых увеличение частоты вдвое соответствует такому же увеличению производительности, при этом зависимость от частоты процессора отсутствует. Некоторый компромисс наблюдается при решении системы дифференциальных уравнений. Производительность зависит от частоты памяти, но не прямо пропорционально, а гораздо слабее, кроме того, при частоте памяти 66 МГц процессор Celeron 1 ГГц демонстрирует всего на четверть более высокую производительность по сравнению с 566 МГц.

Хочется провести сравнение на примере еще одной задачи, а также исследовать влияние кэш-памяти.

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

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

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

Из проведенных измерений следует и еще один вывод: если чипсет допускает асинхронную работу процессора и памяти, это нивелирует разницу в производительности из-за различия в FSB, которая имеется, например, у Celeron и Pentium !!!.

От редакции: хотя полученные выводы с уверенностью можно отнести только к платам на основе набора микросхем VIA Apollo 133T, но в целом этот подход может быть применен и для оценки эффективности перехода на 533-МГц шину в современных платах.

Как работает динамическая память

Центральной частью микросхемы динамической памяти является матрица конденсаторов размером MxN, где M и N обычно равны двум в какой-либо степени. Каждый конденсатор может находиться в одном из двух состояний: заряженном или разряженном, таким образом он хранит 1 бит информации.

Адрес в микросхему памяти передается в два этапа: сначала младшая половина адреса фиксируется в регистре адреса сигналом RAS (строб адреса строки), а затем старшая - сигналом CAS (строб адреса столбца). При считывании данных из памяти после фиксации младшая часть адреса подается на дешифратор строк, а с него - на матрицу, в результате чего строка конденсаторов матрицы целиком подключается к входу усилителей считывания. В процессе считывания конденсаторы разряжаются, а значит, информация в матрице теряется. Чтобы не допустить этого, только что считанная строка данных вновь записывается в строку конденсаторов матрицы - происходит регенерация памяти. К тому моменту, когда строка из матрицы попала в буфер усилителя считывания, на дешифратор адреса столбца уже подана старшая половина адреса и при помощи этого дешифратора выбирается один-единственный бит информации, хранящейся по адресу, зафиксированному в регистре адреса. После этого считанные данные можно подать на выход микросхемы. При записи информации сначала строка также считывается целиком, затем в ней изменяется нужный бит и строка записывается на прежнее место. Увеличение разрядности до 1, 2, 4 или 8 байт достигается параллельной работой нескольких микросхем памяти или нескольких матриц в одной микросхеме.

Как видим, для доступа к ячейке динамической памяти нужно проделать много последовательных операций, а потому время доступа оказывается довольно большим - сегодня это 35-50 нс, что соответствует 5-7 тактам внешней шины.

Память, работающая, как описано выше (DRAM - динамическая память произвольного доступа), применялась в первых персональных компьютерах. В одном корпусе при этом хранился объем информации до 64 кбит. Но если операции с адресом неизбежно занимают много времени, то нельзя ли как-нибудь обойти это ограничение? Ведь процессору зачастую нужны длинные цепочки байтов, хранящиеся в памяти подряд, например при выполнении последовательности команд или при обработке строк и массивов данных. И решение было найдено: после передачи микросхеме адреса первого элемента несколько последующих считывалось лишь при помощи сигналов шины управления, без передачи нового адреса, что оказалось примерно вдвое быстрее. Такая память получила название FPM RAM (память с быстрой страничной организацией) и надолго стала единственным типом оперативной памяти, используемым в персональных компьютерах. Для обозначения временных характеристик такой памяти применялись последовательности цифр: например, "7-3-3-3" означало, что на получение первой порции данных нужно затратить 7 тактов системной шины, а на последующие - по 3. Однако отрыв тактовой частоты процессора от частоты системной шины, с одной стороны, и прогресс технологии, позволивший сократить количество тактов, расходуемое вычислительным блоком на одну операцию, с другой, поставили вопрос о дальнейшем усовершенствовании технологии работы оперативной памяти.

Следующим этапом была разработка EDO RAM - памяти с увеличенным временем вывода данных, когда стало возможным совместить получение очередного блока данных с передачей "заявки" на получение следующего. Это позволило на такт уменьшить время доступа: "6-2-2-2". Однако EDO RAM очень скоро была вытеснена памятью типа SD RAM (синхронная), за счет чередования блоков время доступа оказалось возможным уменьшить до "5-1-1-1-1-1-1-1". Одновременно был применен некоторый маркетинговый ход: если при обозначении времени доступа к памяти типа FPM и EDO RAM принято было указывать время первого обращения, которое составляло 60-80 нс, то для SD RAM стали указывать время второго и последующих, что составляло уже 10-12 нс для тех же тактовых частот и, следовательно, близкого времени первого обращения. Производительность подсистемы памяти при этом выросла на десятки процентов, тогда как числа, обозначающие время доступа к памяти, уменьшились в несколько раз.

SDRAM до сих пор является основным типом памяти для процессоров Intel Pentium !!! и Celeron. Наряду с ней могут использоваться и более новые разработки: DDR RAM (точнее, DDR SDRAM, но мы будем пользоваться указанным обозначением), применяемая в основном с процессорами AMD Athlon и Duron, работающая на тех же частотах (100-133 МГц), но позволяющая передавать данные до двух раз за такт: по переднему и заднему фронту (поэтому появилось такое понятие, как эффективная частота, в данном случае 200-266 МГц), и ориентированная на применение в системах с Pentium-4 RDR RAM (Rambus RAM), работающая на частотах 300-533 МГц (эффективная частота 600-1066 МГц).

Если для SDRAM (теперь часто называемой SDR DRAM) были приняты обозначения PC-100 и PC-133, означающие возможность работы на 100 и 133 МГц соответственно, то для новых типов памяти, скажем PC-2100, цифры обозначают уже не частоту более 2 ГГц, а лишь "пиковую" скорость передачи данных. Слово "пиковая" взято в кавычки потому, что в каких бы идеальных условиях мы ни проводили измерения, полученное отношение количества переданной информации к затраченному на это времени не только не будет равно указанным числам, но даже не будет стремиться к ним асимптотически. Дело в том, что эта скорость приведена для части пакета с отрезанной первой порцией данных, т. е., как и для SDRAM, только для "второго и последующих". Для DDR RAM время первого обращения такое же, как и для SDRAM, а последующих - в два раза меньше. Поэтому при последовательном доступе выигрыш в производительности составляет десятки процентов, а при произвольном - вообще отсутствует.

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

Процессор

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



Во времена «двушек» и «трешек» (это не Pentium’ы II и III, как может решить молодежь, а процессоры i286 и i386) задачи ставились перед системами не очень сложные, в основном офисные приложения и расчеты. Карты расширения уже частью разгружали процессор, например, MPEG-декодер, занимавшийся дешифровкой файлов, сжатых в MPEG, делал это без участия CPU. Чуть позднее начали разрабатываться стандарты, которые меньше нагружали процессор при обмене данными. Примером была шина PCI (появившаяся, начиная с i486), работа по которой в меньшей степени нагружала процессор. Также к таким примерам можно отнести PIO и (U)DMA.


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



Тем временем компания Intel после выпуска неплохого процессора Pentium выпускает новое поколение – Pentium MMX. Она хотела изменить положение дел и перенести расчеты на процессор. В этом неплохо помог набор инструкций MMX – MultiMedia eXtensions, который предназначался для ускорения работ с обработкой звука и видео. С его помощью стала нормально проигрываться музыка формата mp3, и можно было добиться приемлемого воспроизведения MPEG4 средствами CPU.

Первые пробки в шине

Системы на базе процессора Pentium MMX уже больше упирались в ПСП (пропускную способность памяти). Шина в 66 МГц для нового процессора была бутылочным горлышком, несмотря на переход на новый тип памяти SDRAM, который улучшил производительность в пересчете на мегагерц. По этой причине очень популярным стал разгон по шине, когда выставляли шину 83 МГц (или 75 МГц) и получали весьма заметный прирост. Зачастую даже меньшая итоговая частота процессора компенсировалась большей частотой шины. Впервые большей скорости удавалось добиться при меньшей частоте. Еще одним бутылочным горлышком стал объем оперативной памяти. Для SIMM-памяти это был максимум в 64 Мб, но чаще стояло 32 Мб или вовсе 16. Это сильно осложняло использование программ, поскольку каждая новая версия Windows, как известно, любит «кушать много вкусной рамы» (c). Неда0ом ходят слухи касательно сговора производителей памяти с корпорацией Microsoft.



Intel тем временем стала развивать дорогостоящую и потому не очень популярную платформу Socket8, а AMD продолжила развивать Socket7. К сожалению, последняя использовала в своих продуктах медленный FPU (Floating Point Unit – модуль операций с дробными числами), созданный только что купленной тогда компанией Nexgen, что влекло за собой отставание от конкурента в мультимедийных задачах – в первую очередь, играх. Перевод на шину 100 МГц дал процессорам необходимую ПСП, а полноскоростной кэш второго уровня в 256 Кб на процессоре AMD K6-3 настолько улучшил ситуацию, что теперь скорость системы характеризовалась только частотой процессора, а не шины. Хотя, отчасти, это было связано с медленным FPU. Офисные приложения, зависящие от мощности ALU, благодаря быстрой подсистеме памяти работали быстрее решений конкурента.

Чипсеты

Intel отказалась от дорогостоящих Pentium Pro, у которых кристалл кэша L2 был интегрирован в процессор, и выпустила Pentium II. Данный CPU имел ядро, очень похожее на ядро Pentium MMX. Главными отличиями стали кэш L2, который размещался на картридже процессора и работал на половине частоты ядра, и новая шина – AGTL. С помощью новых чипсетов (в частности, i440BX) удалось повысить частоту шины до 100 МГц и, соответственно, ПСП. По эффективности (отношению скорости случайного чтения к теоретической) эти чипсеты стали одними из лучших, и по сей день Intel не смогла побить этот показатель. Чипсеты серии i440BX обладали одним слабым звеном – южным мостом, функциональность которого уже не удовлетворяла требованиям того времени. Использовался старый южный мост от серии i430, применяемой в системах на базе Pentium I. Именно это обстоятельство, как и связь между чипсетами по шине PCI, побудило производителей к выпуску гибридов, содержащих северный мост i440BX и южный мост VIA (686A/B).



Тем временем Intel демонстрирует проигрывание DVD-фильма без вспомогательных карт. Но Pentium II не получил большого признания ввиду высокой стоимости. Очевидной стала необходимость выпуска дешевых аналогов. Первая попытка – Intel Celeron без кэша L2 – стала неудачной: по скорости Covington’ы очень сильно проигрывали конкурентам и цены своей не оправдывали. Тогда Intel делает вторую попытку, оказавшуюся удачной, – ядро Mendocino, полюбившееся оверклокерам, обладающее вдвое меньшим объемом кэша (128 Кб против 256 Кб у Pentium II), но работающее на вдвое большей частоте (на частоте процессора, не вполовину медленнее, как у Pentium II). За счет этого скорость в большинстве задач была не ниже, а меньшая цена привлекала покупателей.

Первое 3D и снова шина

Сразу после выхода Pentium MMX началась популяризация 3D-технологий. Поначалу это были профессиональные приложения для разработки моделей и графики, но настоящую эру открыли 3D-игры, а точнее, 3D-ускорители Voodoo, созданные компанией 3dfx. Эти ускорители стали первыми массовыми картами для создания 3D-сцен, которые разгружали процессор при рендеринге. Именно с этого времени и пошел отсчет эволюции трехмерных игр. Довольно быстро расчет сцены силами центрального процессора стал проигрывать выполненному средствами видеоускорителя как в скорости, так и качестве.



С появлением новой мощной подсистемы – графической, ставшей по объему рассчитываемых данных соперничать с центральным процессором, вылезло новое бутылочное горлышко – шина PCI. В частности, карты Voodoo 3 и старшие получали прибавку в скорости уже просто при разгоне шины PCI до 37.5 или 41.5 МГц. Очевидно, что возникла потребность в обеспечении видеокарт достаточно быстрой шиной. Такой шиной (а точнее, портом) стала AGP – Accelerated Graphics Port. Как следует из названия, это специализированная графическая шина, и по спецификации она могла иметь только один слот. Первая версия AGP поддерживала скорости AGP 1x и 2x, что соответствовало однократной и двукратной скоростям PCI 32/66, то есть 266 и 533 Мб/с. Медленная версия была добавлена для совместимости, а именно с ней возникали достаточно большое время проблемы. Причем проблемы были со всеми чипсетами, за исключением выпущенных Intel. По слухам, эти проблемы были связаны с наличием лицензии только у этой компании и ее препятствованием развитию конкурирующей платформы Socket7.



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

И винты туда же!

Пришло время Coppermine, выросли частоты, подросло быстродействие, новые видеокарты улучшили производительность и приумножили конвейеры и память. Компьютер уже стал мультимедийным центром – на нем проигрывали музыку и смотрели фильмы. Слабые по характеристикам интегрированные звуковые карты уступают позицию SBLive!, ставшими народным выбором. Но что-то препятствовало полной идиллии. Что же это было?



Этим фактором стали жесткие диски, рост объема которых замедлился и остановился на отметке около 40 Гб. Для коллекционеров фильмов (тогда MPEG4) это вызвало затруднения. Вскоре проблема была решена, и довольно быстро – диски доросли в объеме до 80 Гб и выше и перестали волновать большую часть пользователей.


AMD выпускает очень хорошую платформу – Socket A и процессор архитектуры K7, названный маркетологами Athlon (техническое название Argon), а также бюджетный Duron. У Атлонов сильными сторонами были шина и мощный FPU, что делало его отличным процессоров для серьезных расчетов и игр, оставляя его конкуренту – Pentium 4 – роль офисных машин, где, впрочем, мощные системы никогда не требовались. Ранние Duron имели очень небольшой объем кэша и частоту шины, что усложняло его конкуренцию с Intel Celeron (Tualatin). Но в силу лучшей масштабируемости (из-за более скоростной шины) они лучше отзывались на рост частоты, и потому старшие модели уже спокойно обгоняли решения Intel.

Между двух мостов


В этот период появилось сразу два узких места. Первое – это шина между мостами. Традиционно для этих целей использовалась PCI. Стоит вспомнить, что PCI в используемом в настольных компьютерах варианте имеет теоретическую пропускную способность в 133 Мб/с. На деле скорость зависит от чипсета и применения и варьируется от 90 до 120 Мб/с. В дополнение к этому пропускная способность разделяется между всеми устройствами, к ней подключенными. Если у нас есть два канала IDE с теоретической пропускной способностью в 100 Мб/с (ATA-100), подключенных к шине с теоретической пропускной способностью в 133 Мб/с, то проблема очевидна. LPC, PS/2, SMBus, AC97 имеют низкие требования к пропускной способности. Зато Ethernet, ATA 100/133, PCI, USB 1.1/2.0 уже оперируют скоростями, сравнимыми с межмостовым интерфейсом. Долгое время проблемы не было. USB не использовался, Ethernet требовался нечасто и в основном на скорости 100 Мбит/c (12.5 Мб/c), а жесткие диски не могли даже близко подойти к максимуму скорости интерфейса. Но время шло, и ситуация менялась. Было решено сделать специальную межхабовую (между мостами) шину.


VIA, SiS и Intel выпустили свои варианты шин. Отличались они, в первую очередь, пропускными способностями. Начинались они с PCI 32/66 – 233 Мб/с, но было сделано главное – шина PCI была выделена только под собственные устройства, и через нее не нужно было передавать данные другим шинам. Это улучшило скорость работы с периферией (относительно архитектуры мостов).


Наращивалась и пропускная способность графического порта. Внедрялась возможность работы с режимами Fast Writes, позволявшим писать данные в видеопамять напрямую, минуя системную память, и Side Band Addressing, использовавшим для передачи дополнительную часть шины в 8 бит, обычно предназначенную для передачи технических данных. Прирост от использования FW достигался только при высокой нагрузке на процессор, в остальных же случаях это давало мизерный прирост. Так, отличие режима 8x от 4x находилось в рамках погрешности.

Процессорозависимость

Еще одним возникшим бутылочным горлышком, актуальным и по сей день, стала процессорозависимость. Это явление возникло в результате стремительного развития видеокарт и означало недостаточную мощность связки «процессор – чипсет – память» по отношению к видеокарте. Ведь количество кадров в игре определяется не только видеокартой, но и этой связкой, так как именно последняя предоставляет карте инструкции и данные, которые нужно обработать. Если связка не поспевает, то видеоподсистема упрется в потолок, определяемый преимущественно ею. Такой потолок будет зависеть от мощности карты и используемых настроек, но есть и карты, обладающие таким потолком при любых настройках в определенной игре или при одинаковых настройках, но в большинстве современных ей игр практически при любых процессорах. Например, карта GeForce 3 сильно упиралась в производительность процессоров Puntium III и Pentium 4 на ядре Willamete. Чуть более старшей модели GeForce 4 Ti уже не хватало Athlon’ов 2100+-2400+, и прирост при улучшении характеристик связки был весьма заметен.



Каким образом улучшались характеристики? Поначалу AMD, пользуясь плодами разработанной эффективной архитектуры, просто повышала частоту процессоров и улучшала технологический процесс, а производители чипсетов – пропускную способность памяти. Intel продолжала следовать политике наращивания тактовых частот, благо архитектура Netburst именно к этому и располагала. Процессоры Intel на ядрах Willamete, Northwood с шиной 400QPB (quad pumped bus) проигрывали конкурирующим решениям с шиной 266 МГц. После внедрения 533QPB процессоры сравнялись в производительности. Но затем Intel вместо 667-МГц шины, внедренной в серверных решениях, решила процессоры для настольных компьютеров перевести сразу на шину 800 МГц, чтобы сделать запас мощности для конкуренции с ядром Barton и новым топом Athlon XP 3200+. Процессоры Intel сильно упирались в частоту шины, и даже 533QPB не хватало для обеспечения потоком данных в достаточном объеме. Именно поэтому вышедший 3.0-ГГц CPU на шине 800 МГц обгонял во всех, за исключением, быть может, малого числа, приложениях процессор 3.06 МГц на шине 533 МГц.


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


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

Через потолок к новой памяти

Поколение Radeon 9700/9800 и GeForce 5 для процессоров того времени проблем с процессорозависимостью не вызывало. Зато поколение GeForce 6 поставило большинство систем на колени, поскольку прирост производительности был очень заметным, а потому и процессорозависимость выше. Топовые процессоры на ядрах Barton (Athlon XP 2500+ – 3200+) и Northwood/Prescott (3.0-3.4 МГц 800FSB) уперлись в новый предел – частотный предел памяти и шину. Особенно от этого страдала AMD – шина 400 МГц была недостаточной для реализации мощности хорошего FPU. У Pentium 4 ситуация была получше и при минимальных таймингах они демонстрировали хорошие результаты. Но JEDEC не желала сертифицировать более высокочастотные и обладающие меньшими задержками модули памяти. Потому варианта было два: или сложный четырехканальный режим, или переход на DDR2. Произошло последнее, и была представлена платформа LGA775 (Socket T). Шина оставалась той же, но частоты памяти не были ограничены 400 МГц, а только начинались с нее.



AMD решила проблему лучше с точки зрения масштабируемости. Поколение K8, носившее техническое название Hammer, помимо увеличения числа инструкций за такт (отчасти по причине более короткого конвейера), имел два новшества с заделом на будущее. Ими стали встроенный контроллер памяти (а точнее, северный мост с большей частью его функционала) и быстрая универсальная шина HyperTransport, которая служила для связи процессора с чипсетом или процессоров между собой в многопроцессорной системе. Встроенный контроллер памяти позволил избежать слабого звена – связки «чипсет – процессор». FSB как таковая существовать перестала, была лишь шина памяти и шина HT.


Это позволило Athlon’ам 64 легко обогнать существующие решения Intel на архитектуре Netburst и показать ущербность идеологии длинного конвейера. Tejas имел много проблем и не вышел на свет. Эти процессоры легко реализовывали потенциал карт GeForce 6, впрочем, как и старшие Pentium 4.


Но тут появилось нововведение, сделавшее процессоры слабым звеном надолго. Имя ему – multi-GPU. Решено было возродить идеи 3dfx SLI и претворить в NVIDIA SLI. ATI ответила симметрично и выпустила CrossFire. Это были технологии для обработки сцен силами двух карт. Удвоенная теоретическая мощность видеоподсистемы и расчеты, связанные с разбиением кадра на части за счет процессора, привели к перекосу системы. Старшие Athlon 64 нагружали такую связку лишь в больших разрешениях. Выход GeForce 7 и ATI Radeon X1000 еще больше увеличил этот дисбаланс.


Попутно был разработана новая шина PCI Express. Эта двунаправленная последовательная шина предназначена для периферии и обладает очень высокой скоростью. Она пришла на замену AGP и PCI, хотя и не вытеснила ее полностью. Ввиду универсальности, скорости и дешевизны реализации она быстро вытеснила AGP, хотя и не принесла в то время никакого прироста в скорости. Разницы между ними не было. Но с точки зрения унификации это был очень хороший шаг. Сейчас уже выпускаются платы с поддержкой PCI-E 2.0, обладающей вдвое большей (500 Мб/с в каждую сторону против прежних 250 Мб/с на одну линию) пропускной способностью. Прироста нынешним видеокартам это также не дало. Разница между различными режимами PCI-E возможна лишь в случае нехватки видеопамяти, что означает уже дисбаланс для самой карты. Такой картой является GeForce 8800GTS 320 Mб – она очень чутко реагирует на изменение режима PCI-E. Но брать несбалансированную карту, только чтобы оценить прирост от PCI-E 2.0, – решени5 не самое разумное. Другое дело, карты с поддержкой Turbocache и Hypermemory – технологий использования оперативной памяти в качестве видеопамяти. Здесь прирост в плане пропускной способности памяти будет примерно двукратным, что положительно отразится на производительности.


Достаточно ли видеокарте памяти можно посмотреть в любом обзоре устройств с разными объемами VRAM. Там, где будет наблюдаться резкое падение кадров в секунду, наличествует нехватка VideoRAM. Но бывает, что разница становится сильно заметна только при неиграбельных режимах – разрешении 2560х1600 и AA/AF на максимум. Тогда разница 4 и 8 кадров в секунду хоть и будет двукратной, но очевидно, что оба режима невозможны в реальных условиях, потому и в расчет их брать не стоит.

Новый ответ видеочипам

Выход новой архитектуры Core 2 (техническое название Conroe) улучшил ситуацию с процессорозависимостью и решения на GeForce 7 SLI загружал без особых проблем. Но подоспевшие Quad SLI и GeForce 8 взяли реванш, восстановив перекос. Так продолжается и до сих пор. Ситуация лишь усугубилась с выходом 3-way SLI и готовящимися к выходу Quad SLI на GeForce 8800 и Crossfire X 3-way и 4-way. Выход Wolfdale слегка повысил тактовые частоты, но и разгона этого процессора мало, чтобы нормально загрузить такие видеосистемы. 64-битные игры – большая редкость, а прирост в этом режиме наблюдается в единичных случаях. Игры, получающие прирост от четырех ядер, можно пересчитать по пальцам одной руки инвалида. Как обычно, всех вытягивает Microsoft, загружая своей новой ОС и память, и процессор за здорово живешь. Подспудно объявляется, что технологии 3-way SLI и Crossfire X будут работать исключительно под Vista. Учитывая аппетиты оной, возможно, геймеры будут вынуждены брать четырехъядерные процессоры. Связано это с более равномерной, нежели в Windoes XP, загрузкой ядер. Если уж она должна отъедать изрядную долю процессорного времени, так пусть хоть отъедает ядра, которые игрой все равно не используются. Однако сомневаюсь, что новая операционная система удовлетворится данными на откуп ядрами.



Платформа Intel изживает себя. Четыре ядра уже сильно страдают от нехватки пропускной способности памяти и задержек, связанных с переключениями шины. Шина является разделяемой, и на перехват ядром шины под свой контроль требуется время. При двух ядрах это терпимо, но на четырех влияние временных потерь становится заметней. Также системная шина давно не поспевает за ПСП. Влияние данного фактора было ослаблено улучшением эффективности асинхронного режима, что Intel неплохо реализовала. Рабочие станции в еще большей степени страдают от этого по вине неудачного чипсета, контроллер памяти которого обеспечивает лишь до 33% от теоретического ПСП. Пример тому – проигрыш платформы Intel Skulltrail в большинстве игровых приложений (3Dmark06 CPU test – не игровое приложение:)) даже при использовании одинаковых видеокарт. Потому Intel объявила о новом поколении Nehalem, которое займется внедрением инфраструктуры, очень схожей с разработками AMD – встроенный контроллер памяти и шина для периферии QPI (техническое название CSI). Это улучшит масштабируемость платформы и даст положительные результаты в двухпроцессорных и многоядерных конфигурациях.


AMD сейчас имеет несколько бутылочных горлышек. Первое связано с механизмом кэширования – из-за него существует некий предел ПСП, зависящий от частоты процессора, такой, что выше этого значения не удается перепрыгнуть, даже используя более высокочастотные режимы. Например, при среднем процессоре разница в работе с памятью между DDR2 667 и 800 МГц может быть порядка 1-3%, для реальной задачи – вообще ничтожной. Потому лучше всего подбирать оптимальную частоту и понижать тайминги – на них контроллер очень хорошо отзывается. Потому внедрять DDR3 смысла не имеет никакого – большие тайминги только повредят, прироста вообще может не быть. Также проблема AMD сейчас – медленная (несмотря на SSE128) обработка SIMD инструкций. Именно по этой причине Core 2 очень сильно обгоняет K8/K10. ALU, всегда бывший сильным местом Intel, стал еще сильнее, и в некоторых случаях может быть в разы быстрее своего собрата в Phenom’е. То есть основная беда процессоров AMD – слабая «математика».


Вообще говоря, слабые звенья очень сильно зависят от конкретной задачи. Были рассмотрены лишь «эпохальные». Так, в некоторых задачах скорость может упереться в объем ОЗУ или же скорость дисковой подсистемы. Тогда добавляется больше памяти (объем определяется с помощью счетчиков производительности) и ставятся RAID-массивы. Скорость игр может быть повышена отключением встроенной звуковой карты и покупкой нормальной дискретной – Creative Audigy 2 или X-Fi, которые меньше грузят процессор, обрабатывая эффекты своим чипом. Это в большей степени относится к звуковым картам AC’97 и в меньшей к HD-Audio (Intel Azalia), поскольку в последней была исправлена проблема высокой загрузки процессора.


Помни, система всегда должна браться под конкретные задачи. Зачастую, если видеокарту можно подобрать сбалансированную (и то выбор по ценовым категориям будет зависеть от сильно разнящихся по разным местам цен), то, скажем, с дисковой подсистемой такая возможность не всегда имеется. RAID 5 нужен очень немногим, но для сервера – это незаменимая вещь. То же относится к двухпроцессорной или многоядерной конфигурации, бесполезной в офисных приложениях, но это «must have» для дизайнера, работающего в 3Ds Max.

FX против Core i7 | Ищем узкие места с конфигурацией Eyefinity

Мы видели, как каждые три-четыре года производительность процессоров удваивалась. И всё же самые требовательные игровые движки, которые мы тестировали, также стары, как процессоры Core 2 Duo. Естественно, узкие места со стороны CPU должны были уйти в прошлое, верно? Как оказалось, скорость GPU растёт ещё быстрее, чем производительность центрального процессора. Таким образом, спор о покупке более быстрого CPU или наращивании графической мощности продолжается.

Но всегда настаёт момент, когда спорить бессмысленно. Для нас он настал, когда игры начали плавно работать на самом большом мониторе с родным разрешением 2560x1600. И если более быстрый компонент сможет обеспечить в среднем 200, а не 120 кадров в секунду разница всё равно не будет заметна.

В ответ на отсутствие более высоких разрешений для быстрых графических адаптеров, AMD представила технологию Eyefinity, а Nvidia – Surround. Обе технологии позволяют играть более чем на одном мониторе, и для GPU high-end класса работа на разрешении 5760x1080 стала объективной реальностью. По сути, три дисплея с разрешением 1920x1080 обойдутся дешевле и впечатлят вас больше, чем один экран на 2560x1600. Отсюда появилась причина дополнительно потратиться на более мощные графические решения.

Но действительно ли необходим мощный процессор, чтобы играть без "тормозов" на разрешении 5760x1080? Вопрос оказался интересный.

Недавно AMD представила новую архитектуру, и мы купили боксовый FX-8350 . В статье "Обзор и тест AMD FX-8350: исправит ли Piledriver недостатки Bulldozer?" в новом процессоре нам понравилось многое.

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


Обе материнские платы относятся к семейству Asus Sabertooth, однако за модель с разъёмом LGA 1155 компания просит более высокую цену, что ещё усложняет положение Intel по части бюджета. Мы специально выбрали эти платформы, чтобы сравнение производительности было максимально справедливым, при этом стоимость в расчёт не принималась.

FX против Core i7 | Конфигурация и тесты

Пока мы ждали появления в тестлабе FX-8350 , провели тесты боксового . Учитывая, что процессор AMD без проблем достигает 4,4 ГГц, мы начали тестирование чипа Intel на такой же частоте. Позже выяснилось, что мы недооценили наши образцы, поскольку оба CPU достигли 4,5 ГГц на выбранном уровне напряжения.

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

Тестовая конфигурация
CPU Intel Intel Core i7-3770K (Ivy Bridge): 3,5 ГГц, 8 Мбайт общего кэша L3, LGA 1155 разгон до 4,4 ГГц на 1,25 В
Материнская плата Intel Asus Sabertooth Z77, BIOS 1504 (08/03/2012)
Кулер CPU Intel Thermalright MUX-120 w/Zalman ZM-STG1 Paste
CPU AMD AMD FX-8350 (Vishera): 4,0 ГГц, 8 Мбайт общего кэша L3, Socket AM3+ разгон до 4,4 ГГц на 1,35 В
Материнская плата AMD Asus Sabertooth 990FX, BIOS 1604 (10/24/2012)
Кулер CPU AMD Sunbeamtech Core-Contact Freezer w/Zalman ZM-STG1 Paste
Сеть Встроенный контроллер Gigabit LAN
Память G.Skill F3-17600CL9Q-16GBXLD (16 Гбайт) DDR3-2200 CAS 9-11-9-36 1,65 В
Видеокарта 2 x MSI R7970-2PMD3GD5/OC: GPU, 1010 МГц GDDR5-5500
Накопитель Mushkin Chronos Deluxe DX 240 Гбайт, SATA 6 Гбит/с SSD
Питание Seasonic X760 SS-760KM: ATX12V v2.3, EPS12V, 80 PLUS Gold
ПО и драйвера
Операционная система Microsoft Windows 8 Professional RTM x64
Графический драйвер AMD Catalyst 12.10

Благодаря высокой эффективности и быстрой установке, уже несколько лет мы используем кулеры Thermalright MUX-120 и Sunbeamtech Core Contact Freezer. Однако монтажные скобы, которые идут в комплекте с этими моделями, не взаимозаменяемы.


Модули памяти G.Skill F3-17600CL9Q-16GBXLD имеют характеристику DDR3-2200 CAS 9, и используют профили Intel XMP для полуавтоматической конфигурации. Sabertooth 990FX использует значения XMP через Asus DOCP.

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

StarCraft II не поддерживает технологию AMD Eyefinity, поэтому мы решили использовать более старые игры: Aliens vs. Predator и Metro 2033.

Конфигурация тестов (3D-игры)
Aliens vs. Predator с использованием AvP Tool v.1.03, SSAO/тесселяция/тени вкл.
Тестовая конфигурация 1: качество текстур High, без AA, 4x AF
Тестовая конфигурация 2: качество текстур Very High, 4x AA, 16x AF
Battlefield 3 Режим кампании, ""Going Hunting"" 90-секунд Fraps
Тестовая настройка 1: качество Medium (без AA, 4x AF)
Тестовая настройка 2: качество Ultra (4x AA, 16x AF)
F1 2012 Версия Steam, встроенный бенчмарк
Тестовая настройка 1: качество High, без AA
Тестовая настройка 2: качество Ultra, 8x AA
Elder Scrolls V: Skyrim Обновление 1.7, Celedon Aethirborn уровень 6, 25-секунд Fraps
Тестовая настройка 1: DX11, уровень детализации High без AA, 8x AF, FXAA вкл.
Тестовая настройка 2: DX11, уровень детализации Ultra, 8x AA, 16x AF, FXAA вкл.
Metro 2033 Полная версия, встроенный бенчмарк, сцена "Frontline"
Тестовая настройка 1: DX11, High, AAA, 4x AF, без PhysX, без DoF
Тестовая настройка 2: DX11, Very High, 4x AA, 16x AF, без PhysX, DoF вкл.

FX против Core i7 | Результаты тестов

Battlefield 3, F1 2012 и Skyrim

Но сначала давайте взглянем на энергопотребление и эффективность.

Энергопотребление не разогнанного FX-8350 по сравнению с чипом Intel не так и ужасно, хотя фактически оно выше. Однако на графике мы не видим картину в целом. Мы не видели, чтобы чип работал на частоте 4 ГГц при постоянной нагрузке на базовых настройках. Вместо этого, при обработке восьми потоков в Prime95 он уменьшил множитель и напряжение, чтобы остаться в пределах заявленного теплового пакета. Троттлинг искусственно сдерживает энергопотребление CPU. Установка фиксированного множителя и напряжения заметно повышает этот показатель у процессора Vishera при разгоне.

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

Как уже отмечалось, во время игр на не разогнанном FX-8350 троттлинг не активируется, поскольку большинство игр не могут полностью загрузить процессор. На самом деле, игры выгодно используют технологию Turbo Core, повышающую частоту процессора до 4,2 ГГц. Хуже всего чип AMD показал себя на диаграмме средней производительности, где Intel заметно выходит вперёд.

Для диаграммы эффективности мы используем среднюю потребляемую мощность и среднюю производительность всех четырёх конфигураций в качестве среднего показателя. В этой диаграмме производительность на ватт процессора AMD FX-8350 составляет примерно две трети от результата Intel .

FX против Core i7 | Сможет ли AMD FX догнать Radeon HD 7970?

Когда мы говорим о неплохом и доступном железе, любим использовать такие фразы как "80% производительности за 60% стоимости". Эти показатели всегда очень честные, поскольку у нас уже вошло в привычку измерять производительность, потребляемую мощность и эффективность. Однако в них учитывается стоимость только одного компонента, а компоненты, как правило, в одиночку работать не могут.

Добавив компоненты, использованные в сегодняшнем обзоре, цена системы на базе Intel возросла до $1900, а платформы AMD до $1724, это без учёта корпусов, периферии и операционной системы. Если рассматривать "готовые" решения, то стоит добавить ещё примерно $80 за корпус, в итоге получаем $1984 у Intel и $1804 у AMD. Экономия на готовой конфигурации с процессором AMD составляет $180, в процентном соотношении от общей стоимости системы это немного. Другими словами, остальные компоненты персонального компьютера high-end класса преуменьшают значение более выгодной цены процессора.

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

Для AMD выгоднее, если мы включим только стоимость системной платы и CPU и увеличим выгоду. Получится такая диаграмма:

В качестве третьей альтернативы можно рассматривать материнскую плату и процессор в качестве апгрейда, предполагая, что корпус, блок питания, память и накопители остались от прошлой системы. Вероятнее всего, пара видеокарт Radeon HD 7970 в старой конфигурации не использовалась, поэтому разумнее всего брать в расчёт процессоры, системные платы, и графические адаптеры. Таким образом, к списку мы добавляем две видеокарты с GPU Tahiti за $800.

AMD FX-8350 выглядит выгоднее чем Intel (особенно в играх, на выбранных нами настройках) лишь в одном случае: когда остальная часть системы "бесплатная". Поскольку остальные компоненты не могут быть бесплатными, FX-8350 тоже не сможет стать выгодным приобретением для игр.

Intel и видеокарты AMD

Результаты наших тестов уже давно показали, что графические чипы ATI более процессорозависимы, чем чипы Nvidia. В результате, при тестировании GPU high-end класса, мы оснащаем наши тестовые стенды процессорами Intel, обходя недостатки платформы, которые могут помешать изоляции графической производительности и неблагоприятно сказаться на результатах.

Мы надеялись, что выход AMD Piledriver изменит ситуацию, но даже нескольких впечатляющих усовершенствований оказалось недостаточно, чтобы команда разработчиков CPU сравнилась с эффективностью команды разработчиков графических решений в самой AMD. Что же, подождем выхода чипов AMD на базе архитектуры Steamroller, которая обещает быть на 15% производительнее Piledriver.

Похожие статьи