При суперскалярной обработке более чем одна инструкция выполняется параллельно на каждом ядре, так чем же тогда это будет отличаться от параллельной обработки?
Спасибо.
При суперскалярной обработке более чем одна инструкция выполняется параллельно на каждом ядре, так чем же тогда это будет отличаться от параллельной обработки?
Спасибо.
Суперскаляр это термин, который относится к архитектуре процессора или одноядерного.
Чтобы выполнить инструкцию, ЦПУ должен выполнить несколько шагов, и каждый шаг обрабатывается определенной выделенной частью или "исполнительным блоком" ЦПУ. Не суперскалярные процессоры начинаются с шага 0 до X (X может варьироваться в зависимости от типа инструкции) и полностью завершают все шаги перед началом следующей инструкции.
Суперскалярные ЦП будут пытаться получить новые инструкции в "конвейере", например, на шаге 0, прежде чем предыдущая инструкция завершит все свои шаги. Таким образом, ЦП более полно используется и быстрее (и гораздо более сложен), потому что его исполнительные блоки всегда работают.
Рабочая нагрузка достигает параллелизма, если ее можно разделить на блоки, так чтобы над ней можно было эффективно работать более чем чем-то одним. Суперскалярные архитектуры пытаются распараллелить выполнение одного потока инструкций в одном ядре / ЦП.
Параллельная обработка похожа по концепции, но мы больше не говорим о потоке инструкций ЦП, а скорее о некотором (вероятно, большом) наборе данных, которые необходимо обработать. Как можно разделить рабочую нагрузку, где количество ЦП или даже отдельные узлы, соединенные сетью, работают одинаково или по-разному, чтобы рабочая нагрузка обрабатывалась наиболее эффективно? Что необходимо для того, чтобы процессоры или системы не наступали друг на друга и не повреждали данные? Это тип вопросов, которые задает параллельная обработка.