Определение процессора и ядра (многопроцессорный и многоядерный)

Определение процессора и ядра (многопроцессорный и многоядерный)

Прочитав множество ссылок, я начал беспокоиться о том, что между простыми определениями, такими как ЦП, процессор, ядро ​​и т. д., так много совпадений.

https://stackoverflow.com/questions/19225859/разница-между-ядрами-и-процессором

Давайте сначала выясним, что такое ЦП и что такое ядро, центральный процессор ЦП, может иметь несколько ядерных блоков,эти ядра сами по себе являются процессором, способный выполнять программу, но при этом находящийся на том же чипе.

В чем разница между MultiCore и MultiProcessor?

Центральный процессор (ЦП) — это то, что обычно называютпроцессор.

Так какой же из них?

ЦП (центральный процессор) содержит (1-множество) ядер. Каждое ядро ​​может выполнять (1-множество) потоков в зависимости от технологии гиперпоточности - оно выполняет фактические вычисления, если можно так выразиться.

Так что же такое процессор? Относится ли это к ЦП, ко всему чипу в целом? Относится ли это к одному ядру ЦП? И что именно означает многопроцессорность/многоядерность? Являются ли они синонимами?

решение1

Да, процессор — это общий термин, используемый для описания любого типа ЦП, независимо от ядер. То же самое касается и ЦП, он не подразумевает одно- или многоядерность и может использоваться для обозначения любого из них.

Центральный процессор (ЦП) — это электронная схема в компьютере, которая выполняет инструкции компьютерной программы, выполняя основные арифметические, логические, управляющие и операции ввода-вывода (I/O), указанные в инструкциях. Этот термин используется в компьютерной индустрии по крайней мере с начала 1960-х годов. Традиционно термин «ЦП» относится к процессору, а точнее к его процессорному блоку и блоку управления (БУ), отличая эти основные элементы компьютера от внешних компонентов, таких как основная память и схемы ввода-вывода.

Производительность обработки компьютеров увеличивается за счет использования многоядерных процессоров, что по сути является подключением двух или более отдельных процессоров (называемых ядрами в этом смысле) к одной интегральной схеме. В идеале двухъядерный процессор должен быть почти в два раза мощнее одноядерного. На практике прирост производительности гораздо меньше, всего около 50%, из-за несовершенных программных алгоритмов и реализации. Увеличение количества ядер в процессоре (т. е. двухъядерный, четырехъядерный и т. д.) увеличивает рабочую нагрузку, с которой можно справиться. Это означает, что процессор теперь может обрабатывать многочисленные асинхронные события, прерывания и т. д., которые могут нагружать ЦП при перегрузке. Эти ядра можно рассматривать как разные этажи на перерабатывающем заводе, где каждый этаж обрабатывает разные задачи. Иногда эти ядра будут обрабатывать те же задачи, что и соседние с ними ядра, если одного ядра недостаточно для обработки информации.

Из-за специфических возможностей современных процессоров, таких как Hyper-Threading и Uncore, которые подразумевают совместное использование реальных ресурсов процессора с целью повышения их использования, мониторинг уровней производительности и использования оборудования постепенно стал более сложной задачей.

Однако многопроцессорные системы отличаются. Это относится к компьютеру с материнской платой, которая поддерживает более 1 процессора (обычно от 2 до 8 ЦП, но некоторые суперкомпьютеры используют специальное оборудование, которое позволяет использовать гораздо больше на одной материнской плате). Вот в чем подвох: многопроцессорные компьютеры могут (и обычно используют) использовать многоядерные ЦП. Например, я построил несколько многопроцессорных серверов, которые имели два IntelЧетырехъядерные процессоры Xeon 5560. Этот конкретный ЦП предлагает технологию, известную как гиперпоточность. Гиперпоточность — это технология, которая фактически разделяет 4 (четырехъядерных) ядра на половины, что фактически дает вам в общей сложности 8 ядер на ЦП. Поскольку у нас есть 8 ядер на ЦП с гиперпоточностью, и система является многопроцессорной — конечным результатом является система с 16 ядрами. Каждое ядро ​​может обрабатывать поток независимо от других ядер, что означает, что у вас есть гораздо больше мощности для обработки информации, чем с одним ЦП.

введите описание изображения здесь

решение2

Процессор — сложный термин, определение которого, как и многих слов, зависит от контекста, в котором он используется.

Апроцессоркак определеноDictionary.comявляется

ключевой компонент вычислительного устройства, содержащий схемы, необходимые для интерпретации и выполнения электрических сигналов, подаваемых в устройство

Так что в некотором смысле компьютер имеет много "процессоров". Все, от центрального процессора, который делает большую часть "мышления" для компьютера, до графического процессора (управляет дисплеем), технически является процессором.

Что касается ядер, многие современные ЦП (на момент написания этой статьи) состоят из нескольких процессоров. Это обеспечивает более высокую производительность, поскольку работа распределяется между ядрами. ЦП (Центральное процессорное устройство) просто относится к тому, как операционная система видит ЦП — как сущность, которая будет обрабатывать информацию по мере необходимости.

т.е. многоядерный процессор имеет более одного ядра (не включая HyperThreading), в то время как одноядерный процессор этого не делает.

Hyper Threadingэто совсем другой беспорядок.

Позволяет операционной системе использовать преимущества одновременного выполнения нескольких независимых задач, что часто обеспечивает большую производительность, но доступно не на всех процессорах.

Связанный контент