В чем разница между ядром и процессором?
Я уже искал его в Google, но у меня просто определение многоядерных и многопроцессорных систем, но оно не соответствует тому, что я ищу.
В чем разница между ядром и процессором?
Я уже искал его в Google, но у меня просто определение многоядерных и многопроцессорных систем, но оно не соответствует тому, что я ищу.
Ответы:
Ядро обычно является основной вычислительной единицей ЦП - оно может запускать один программный контекст (или несколько), если оно поддерживает аппаратные потоки, такие как гиперпоточность на процессорах Intel), поддерживая правильное состояние программы, регистры и правильный порядок выполнения, и выполнение операций через ALU . В целях оптимизации ядро также может содержать кэш-память ядра с копиями часто используемых блоков памяти.
Процессор может иметь одно или несколько ядер для выполнения задач в данный момент времени. Этими задачами обычно являются программные процессы и потоки, запланированные ОС. Обратите внимание, что ОС может иметь много потоков для запуска, но ЦП может запускать X таких задач только в определенный момент времени, где X = число ядер * количество аппаратных потоков на ядро. Остальным пришлось бы ждать, пока ОС запланирует их, выгрузив текущие задачи или любым другим способом.
В дополнение к одному или нескольким ядрам, процессор будет включать в себя некоторое межсоединение, которое соединяет ядра с внешним миром, и обычно также большой общий кэш «последнего уровня». Есть несколько других ключевых элементов, необходимых для работы процессора, но их точное расположение может отличаться в зависимости от дизайна. Вам потребуется контроллер памяти для связи с памятью, контроллерами ввода / вывода (дисплей, PCIe, USB и т. Д.). В прошлом эти элементы находились вне процессора, в дополнительном «чипсете», но большинство современных разработок интегрировали их в процессор.
Кроме того, процессор может иметь встроенный графический процессор и почти все остальное, что разработчик хотел придерживаться с точки зрения производительности, мощности и производственных факторов. Конструкция ЦП в основном относится к так называемой системе на кристалле (SoC).
Это «классический» дизайн, используемый большинством современных устройств общего назначения (клиентские ПК, серверы, а также планшеты и смартфоны). Вы можете найти более сложные конструкции, как правило, в академии, где вычисления не выполняются в базовых «базовых» единицах.
/proc/cpuinfo
я вижу шестнадцать processor:
строк, хотя там написано model: AMD Ryzen 7 2700X Eight-Core Processor
. Так что, по крайней мере, в этом случае каждое из 8 «ядер» имеет два «процессора», что противоречит некоторым другим ответам.
Изображение может сказать более тысячи слов:
* Рисунок, описывающий сложность современной многопроцессорной, многоядерной системы.
Источник:
Open images in new tab
затем увеличьте масштаб, используя cltr
++
Давайте сначала выясним, что такое ЦП и что такое ядро, ЦП центрального процессора, может иметь несколько ядерных блоков, эти ядра сами по себе являются процессором, способным выполнять программу, но они самодостаточны на одном чипе.
В прошлом один ЦП был распределен по нескольким чипам, но по мере развития закона Мура они создали полноценный ЦП внутри одного чипа (кристалла), так как с 90-х годов производитель начал размещать больше ядер в одном кристалле, так что это Концепция многоядерности.
В наши дни возможно иметь сотни ядер на одном и том же CPU (чип или кристалл) GPU Intel Xeon. Другой техникой, разработанной в 90-х годах, была одновременная многопоточность, в основном они обнаружили, что возможно иметь другой поток в одном и том же одноядерном процессоре, поскольку большая часть ресурсов уже дублирована, как ALU, несколько регистров.
Таким образом, в основном ЦП может иметь несколько ядер, каждое из которых способно запускать один или несколько потоков одновременно, мы можем ожидать, что в будущем будет больше ядер, но с большей трудностью, чтобы иметь возможность эффективно программировать.
ЦП является центральным процессором. С 2002 года у нас только одноядерный процессор, т.е. мы будем выполнять только одну задачу или программу за раз.
Чтобы одновременно запускать несколько программ, мы должны использовать несколько процессоров для одновременного выполнения нескольких процессов, поэтому нам потребовалась другая материнская плата для этого, и это очень дорого.
Итак, Intel ввела концепцию гиперпоточности, то есть она преобразует один ЦП в два виртуальных ЦП, т.е. у нас есть два ядра для нашей задачи. Теперь процессор одиночный, но он только притворяется (маскируется), что у него двойной процессор и он выполняет несколько задач. Но иметь реально многоядерные процессоры будет лучше, чем это, поэтому люди разрабатывают создание многоядерных процессоров, т.е. нескольких процессоров в одном корпусе, т.е. захвата нескольких процессоров в одном большом процессоре. Т.е. несколько ядер.
В первые дни ... как и до 90-х годов ... процессоры не могли выполнять несколько задач эффективно, потому что один процессор мог справиться только с одной задачей ... поэтому, когда мы говорили, что мой антивирус, Microsoft Word, VLC и т. д. все программы работают одновременно ... на самом деле это не так. Когда я сказал, что процессор может обрабатывать один процесс за раз ... Я имел в виду. На самом деле он будет обрабатывать одну задачу ... затем он будет приостанавливать эту задачу ... выполнять другую задачу ... завершать ее, если она короткая, или снова ее приостанавливать и добавлять в очередь ... затем следующую. Но эта «пауза», о которой я упоминал, была настолько мала (около 1 нс), что вы не поняли, что задача была приостановлена. Например. На vlc во время прослушивания музыки одновременно работают другие приложения, но, как я уже говорил ... одна программа за раз ...
Но это было о старых процессорах ...
Современные процессоры, т.е. 3-го поколения, имеют многоядерные процессоры. Теперь «ядра» можно сравнить с самими процессорами 1-го или 2-го поколения ... встроенными в один чип, один процессор. Итак, теперь мы поняли, что такое ядра, то есть это мини-процессоры, которые объединяются, чтобы стать процессором. И каждое ядро может обрабатывать один процесс за раз или несколько потоков, как разработано для ОС. И они следуют тем же шагам, которые я упоминал выше об одном процессоре.
Например. Процессор i7 6gen имеет 8 ядер ... т.е. 8 мини-процессоров в 1 i7 ... т.е. его скорость в 8 раз выше, чем у старых процессоров. И вот как многозадачность может быть выполнена.
В одном процессоре могут быть сотни ядер, например. Intel i128.
Надеюсь, я объяснил это хорошо.
Картина Intel полезна, как показывает лучший ответ Тортуги. Вот подпись к нему.
Процессор : одна полупроводниковая микросхема, центральный процессор (CPU), установленный в одном сокете, примерно 1950-х-2010-х годов. Со временем на микросхему процессора было добавлено больше функций. До выпуска одночиповых процессоров 1950-х годов один процессор мог распределяться между несколькими чипами. В середине 2010-х годов микросхемы «система-на-кристалле» несколько усложнили приравнивание одного процессора к одному чипу, хотя обычно это то, что люди имеют в виду под процессором, как в «этот компьютер имеет процессор i7» или «эта компьютерная система». имеет четыре процессора ".
Ядро : один блок процессора, выполняющий одну инструкцию за раз. (Вы увидите, что люди говорят одну инструкцию за такт, но некоторые процессоры используют несколько тактов для некоторых инструкций.)