Компьютерное железо

какое имеет значение в производительности процессора ярда / потоки

К примеру возмём 2 ядра по 2,4 гц, если +2 ядра на сколько увеличится производительность?
Второй случай... Возмём тот же 2 ядра по 2,4 гц, если к нему добавить 4 потока насколько увеличится производительность?
Благодарю за обоснованный ответ
SA
Shahin Ahmedov
767
Ответ на данный вопрос не так прост, как кажется. Все чуть больше, чем полностью зависит от типа нагрузки. Т. е., например, имеем синтетический тест, не работающий с параллельными вычислениями, либо базу данных. Имеем 4-ядерный (4 потока) проц по 2 ГГц и одноядерный с 4 ГГц. Лучшие рез-ты покажет второй. В играх все будет совсем иначе. Там характер нагрузки разноплановый. Чем лучше игра оптимизирована под мультипоточные вычисления, тем больше толку от большего количества и от "дополнительных" виртуальных ядер. Частоты уже не играют той роли, что раньше. И вот тут свою лепту вносит архитектура процессора. Архитектура - это то, что во-первых, не может быть измерено, а во-вторых, то, что создает некую неопределенность, сродни выбору между Xbox и PS. Т. е., когда часть игр оптимизируется под одну платформу, а другая - под другую. Но в нашем случае, это явление пока в зачатке и в целом слабо влияет на решение при покупке. Итак, архитектура так же влияет на производительность. Наблюдать это можно во многих играх, но зачастую приходится присматриваться. За примером далеко ходить не будем, вот ГТА 5. Она явно больше тяготеет к процессорам Intel, если судить по бюджетным и средней ценовой категории решениям. С другой стороны, владельцы мощных решений от AMD никаких проблем в ГТА 5 не имеют.
Возвращаясь к вопросу, хочу отметить, что не может быть такого, что у двухядерного процессора возьмется целых 4 виртуальных ядра. Технология позволяет сделать "клон" каждого реального ядра, но не более. Суть такого разделения в том, что одно ядро исполняет команды двух процессов, периодически скидывая информацию в память и вновь обращаясь к ней. Само по себе такое разделение приносит огромный прирост в производительности при выполнении мультипоточных приложений, однако сама идея реализации подразумевает увеличенное количество ошибок, возникновение взаимоблокировок, особенно при активном обращении к памяти. И после всего этого прирост производительности от ввода виртуальных ядер получается довольно скудным. Так как в некоторых многопоточных приложениях помимо всего прочего может быть криво прописано или отсутствовать вовсе определение "виртуальности" ядер, то разделение на потоки только ухудшит ситуацию, т. к. процессор будет больше работать с памятью, пропускной способности которой будет не хватать, а ядра будут простаивать.
ВМ
Виктор Мельниченко
13 706
Лучший ответ
Shahin Ahmedov Для редактора видео, браузера, что важнее ?
На стоимость потоков почти что.
Влад Божко
Влад Божко
43 295
Потоки это виртуальные ядра и с реальными вообще не имеют ничего общего, толку от потоков 10% от полноценного ядра.
Чем больше ядер тем лучше а если и потоков больше - то врообще шик!
Потоки - это технология Hyper Threading. Означает что одно процессор с 1 ядром для Операционной Системы видится как 2 процессора. Два этаких виртуальных процессора. Это позволяет программам, которые заточены под многоядерность распараллеливаться и работать быстрее.
Скажем core i5 имеет 4 ядра в общем случае, но нет hyper threading. Видится как 4 проца системой. А вот Core i7 имеет 4 ядра и гипертреадинг - видится как 8 процов.
Ядра, настоящие процессоры гораздо важнее. И потоки к ним не добавить. Просто у проца (ядра) либо они есть, либо их нет.