Для чего нужны многоядерные процессоры? Я имею в виду, какие вещи выигрывают от использования многоядерности? Также есть что-то, что страдает в производительности для использования многоядерных ... т.е. они работают лучше, используя одноядерный процессор?
7 ответов
Все, где вы хотите сделать больше, чем одну независимую вещь одновременно, выигрывает от наличия нескольких процессоров или ядер. Традиционный пример - операционные системы, на которых одновременно работает ваш текстовый процессор, браузер и т.д. Одноядерный компьютер может стать менее отзывчивым для всех приложений, когда одно приложение делает что-то вычислительно дорогостоящее, тогда как многоядерный компьютер может изолировать занятое приложение на одном ядре, оставляя свободные ресурсы для обслуживания запросов пользователя.
Другим благодетелем являются высокопараллельные вычисления, например, в научных вычислениях. Работу можно распределить между несколькими процессорами или ядрами. Производство процессоров выходит за пределы того, насколько быстро один процессор может работать и не таять. Ответ, который они нашли, состоит в том, чтобы больше процессоров работало медленнее.
Многопоточные приложения выигрывают от многоядерных процессоров, поскольку вы можете назначать потоки для запуска на разных процессорах. Вы получаете истинное распараллеливание вместо того, чтобы разделять время таким образом.
Java Swing имеет отдельный поток только для обработки событий пользовательского интерфейса. Я бы сказал, что это определенная выгода даже для однопроцессорных машин.
Хитрость в том, что это не происходит по волшебству. Приложение должно быть написано таким образом, чтобы оно знало о множественных процессорах, использующих алгоритмы, которые явно используют их в своих интересах.
Поскольку тактовые сигналы ограничены, это единственный способ масштабирования, считайте ваши открытые окна, не забудьте системный трей. Если вы все еще сомневаетесь, откройте диспетчер задач или выполните ps -ef
если вы используете Linux.
Да, они необходимы для более высоких скоростей с текущей конструкцией процессора. Однако в этом подходе есть подводные камни, главным образом из-за того, что рассматриваемая программа должна работать параллельно.
Расчеты с интенсивным использованием ЦП больше всего выигрывают от многоядерных процессоров. Например, мое хобби - компьютерный рендеринг и трассировка лучей. Существует линейное ускорение с количеством доступных процессоров.
Обратите внимание, что вычисления высокой интенсивности теперь переносятся на графический процессор (графический процессор) с использованием таких технологий, как CUDA, OpenCL и Direct Compute.
Программное обеспечение с интенсивными вычислениями будет работать лучше всего, используя сочетание многоядерных и графических вычислений.
Microsoft .NET 4.0 имеет значительные преимущества в параллельном программировании, которые значительно упрощают написание многопоточных программ. В результате они будут еще более распространены в ближайшем будущем.
Многоядерные процессоры существуют уже некоторое время, и разработчики действительно могут использовать их, создавая многопоточные приложения.
Абсолютно! Даже на моем старом P4 3,2 ГГц переключение на простой двухъядерный 2 ГГц имело огромное значение ... Дай мне подсказку 6 ядер подсказку
Несколько ЦП также позволяют выполнять больше кода, поскольку ЦП может обрабатывать только один кусок кода за раз. Таким образом, чем больше CPU, тем быстрее и отзывчивее может быть программа.