Как реализованы параллельные вычисления в многоядерных процессорах?

Ребята, подскажите непрограммисту, правильно ли я все понимаю? Классическая архитектура фон Неймана - это строго последовательные вычисления: одна операция в один конкретный момент времени. Но многоядерный процессор позволяет отойти от последовательности и реализовать параллелизм, одновременно выполняя количество операций, равное количеству ядер. То есть одно ядро - одна операция в конкретный момент времени.
  • Вопрос задан
  • 1014 просмотров
Решения вопроса 1
@nirvimel
Многоядерность сама по себе никак не связана с вычислительным конвейером. На каждом ядре свой конвейер и его работа не зависит от других ядер.

Суть многоядерности в том, что каждое ядро выполняет свой вычислительный поток. На N-ядерном процессоре в каждый момент времени параллельно выполняются N потоков.

Поэтому количество ядер процессора может влиять на производительность только многопоточных программ. Любая программа, в которой не предусмотрена многопоточность и распараллеливание нагрузки между потоками, не получит никакого преимущества в скорсти при апгрейде одноядерного процессора до 16-ядерного (при той же тактовой частоте).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Zifix
@Zifix
Barbatum
На самом деле похоже на правду, с поправкой на наличие вычислительного конвейера, из-за которого за такт выполняется больше одной операции. Вот обзорная статья на эту тему: Путешествие через вычислительный конвейер процессора
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы