В чем разница процессор ядра карты

Обновлено: 10.05.2024

Я уже искал в Google, но я просто многоядерных и многопроцессорных определение, но оно не соответствует тому, что я ищу.

ядро обычно является базовой вычислительной единицей процессора - оно может запускать один контекст программы (или несколько, если оно поддерживает аппаратные потоки, такие как гиперпоточность на процессорах Intel), поддерживая правильное состояние программы, регистры и правильный порядок выполнения и выполняя операции через ALUs. Для целей оптимизации ядро также может содержать кэш на ядре с копиями часто используемых блоков памяти.

центральный процессор может иметь одно или несколько ядер выполнять задания в заданное время. Эти задачи обычно представляют собой программные процессы и потоки, которые планирует ОС. Обратите внимание, что ОС может иметь много потоков для запуска, но процессор может запускать только X таких задач в данный момент времени, где X = количество ядер * количество аппаратных потоков на ядро. Остальным придется ждать, пока ОС запланирует их, будь то путем упреждающего выполнения текущих задач или любыми другими способами.

в дополнение к одному или многим ядрам процессор будет включать в себя некоторые соединения, которые соединяет ядра с внешним миром, а также обычно большой общий кэш "последнего уровня". Существует несколько других ключевых элементов, необходимых для работы процессора, но их точное местоположение может отличаться в зависимости от дизайна. Вам понадобится контроллер памяти для разговора с памятью, контроллерами ввода-вывода (display, PCIe, USB и т. д..). В прошлом эти элементы находились вне ЦП, в дополнительном "чипсете", но большинство современных конструкций интегрировали их в ЦП.

кроме того, процессор может имейте интегрированный GPU, и в значительной степени все остальное дизайнер хотел держать близко для производительности, мощности и производственных соображений. Дизайн CPU в основном тренд в том, что называется система на кристалле (SoC).

Это "классический" дизайн, используемый большинством современных устройств общего назначения (клиентский ПК, серверы, а также планшеты и смартфоны). Вы можете найти более сложные проекты, обычно в академии, где вычисления не выполняются в основном " core-like" единицы.

изображение может сказать больше, чем тысяча слов:

An image may say more than a thousand words

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

в прошлом один процессор был распределен между довольно несколькими чипами, но как закон Мура прогрессировали они сделали, чтобы иметь полный процессор внутри одного чипа( die), так как 90-х производитель начал приспосабливать больше ядер в одном штампе, поэтому это концепция многоядерного ядра.

в эти дни можно иметь сотни ядер на одном процессоре (чипе или die) GPUs, Intel Xeon. Другой метод, разработанный в 90-х годах, был одновременным многопоточным, в основном они обнаружили, что можно было иметь другой поток в одном и том же одноядерном процессоре, так как большинство ресурсов дублировались уже как ALU, несколько регистров.

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

CPU является центральным процессором. С 2002 года у нас есть только один Процессор ядра, то есть мы будем выполнять только одну задачу или программу одновременно.

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

Итак, Intel представила концепцию hyper threading, т. е. она преобразует один процессор в два виртуальных процессора i.e мы есть два ядра для нашей задачи. Теперь процессор один, но он только притворяется (маскируется), что он имеет двойной процессор и выполняет несколько задач. Но наличие реальных нескольких ядер будет лучше, чем это, поэтому люди разрабатывают создание многоядерного процессора, т. е. нескольких процессоров на одной коробке, т. е. захватывая несколько процессоров на одном большом процессоре. Т. е. несколько ядер.

в первые дни. как до 90-х годов. процессоры не могли выполнять несколько задач так эффективно. потому что один процессор может обрабатывать только одну задачу. поэтому, когда мы говорили, что мой антивирус, microsoft word, vlc и т. д. программное обеспечение работает одновременно. на самом деле это не так. Когда я сказал, что процессор может обрабатывать один процесс одновременно. Я серьезно. На самом деле это будет обрабатывать одну задачу. затем он приостанавливал эту задачу. возьми другое задание. завершите его, если его короткий или снова приостановить и добавить его в очередь. потом следующий. Но эта "пауза", о которой я упоминал, была такой маленькой (appx. 1ns) что вы не поняли, что задача была приостановлена. Например. На VLC во время прослушивания музыки есть другие приложения, работающие одновременно, но, как я сказал вам. одна программа за раз. так что vlc на самом деле делает паузу между Для ns, так что вы не underatand его, но музыка на самом деле останавливается между ними.

но это было о старом процессоры.

Now-a - days процессоры ie 3rd gen pcs имеют многоядерные процессоры. Теперь "ядра" можно сравнить с процессорами 1-го или 2-го поколения. встроенный в один чип, один процессор. Итак, теперь мы поняли, что такое ядра, т. е. это мини-процессоры, которые объединяются, чтобы стать процессором. И каждое ядро может обрабатывать один процесс за раз или несколько потоков, предназначенных для ОС. И они постановляю те же действия, как я уже упоминал выше об один процессор.

например. Процессор i7 6gen имеет 8 ядер . т. е. 8 мини-процессоров в 1 i7. т. е. его скорость в 8 раз больше старых процессоров. Вот как можно выполнять многозадачность.

в одном процессоре могут быть сотни ядер Например. Корпорация Intel i128.

надеюсь, я объяснил это хорошо.

изображение Intel полезно, как показано лучшим ответом Тортуги. Вот подпись к нему.

процессор: один полупроводниковый чип, процессор (центральный процессор), расположенный в одном гнезде, около 1950-х-2010-х годов. Со временем на чип CPU было упаковано больше функций. До выпуска одночиповых процессоров 1950-х годов один процессор мог распространяться на несколько чипов. В середине 2010-х годов чипы system-on-a-chip сделали его немного более отрывочным, чтобы приравнять один процессор на один чип, хотя это обычно то, что люди подразумевают под процессором, как в "этот компьютер имеет процессор i7" или "эта компьютерная система имеет четыре процессора."

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

CPU и GPU — это процессоры. Между ними есть много общего, однако сконструированы они были для выполнения разных задач. В чём конкретно выражается разница между CPU и GPU, вы узнаете из этой статьи.

Примечание Вы читаете улучшенную версию некогда выпущенной нами статьи.

Что такое CPU

CPU — это центральный процессор (англ. central processing unit).

Основная функция — выполнение цепочки инструкций за максимально короткое время.

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

Если вы хотите знать не только что такое CPU, но и как работает процессор, то прочтите эту статью.

Что такое GPU

GPU — это графический процессор (англ. graphics processing unit).

Основная функция — рендеринг 3D-графики и визуальных эффектов.

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

Отличие CPU от GPU

С понятиями разобрались, теперь посмотрим, в чём отличие CPU от GPU.

  1. Доступ к памяти. В GPU он связанный и легко предсказуемый — если из памяти читается элемент текстуры, то через некоторое время настанет очередь и соседних текселов. С записью ситуация аналогичная.
  2. Размер кэш-памяти. Графическому процессору, в отличие от универсальных процессоров, не нужна кэш-память большого размера. Для текстур требуются лишь 128–256 килобайт.
  3. Поддержка многопоточности. Центральный процессор исполняет 12 потока вычислений на одно ядро, а графический процессор может поддерживать несколько тысяч потоков на каждый мультипроцессор, которых в чипе несколько штук. И если переключение с одного потока на другой для CPU стоит сотни тактов, то GPU переключает несколько потоков за один такт.
  4. Архитектура. В CPU большая часть площади чипа занята под буферы команд, аппаратное предсказание ветвления и огромные объемы кэш-памяти, а в GPU большая часть площади занята исполнительными блоками.

Схема отличия CPU от GPU

Схематичное представление CPU и GPU

Почему для майнинга используется GPU, а не CPU

Если CPU принимает решения в соответствии с указаниями программы, то GPU — производит огромное количество однотипных вычислений. Выходит, что если подавать на графический процессор независимые простейшие математические задачи, то он справится значительно быстрее, чем центральный процессор. Этим успешно пользуются майнеры биткоинов.

Суть майнинга заключается в том, что компьютеры решают математические задачи, в результате которых создаются биткоины. Все биткоин-переводы по цепочке передаются майнерам, чья работа состоит в том, чтобы подобрать из миллионов комбинаций один-единственный хэш, подходящий ко всем новым транзакциям и секретному ключу, который и обеспечит майнеру получение награды. Скорость вычисления напрямую зависит от количества исполнительных блоков. Поэтому GPU больше подходят для выполнения данного типа задачи, нежели CPU. Чем больше количество произведенных вычислений, тем выше шанс получить биткоины.

Современные смартфоны работают за счет разных компонентов, но главными считаются именно центральный и графический процессор (CPU и GPU).

Несмотря на схожее название и то, что в целом их главная роль — обрабатывать огромные массивы данных, между GPU и CPU существует огромная разница. Но прежде, чем углубиться в их различия, рассмотрим что же у них общего.

Ядра графического и центрального процессоров представляют собой блоки, каждый из которых выполняет определенные задачи. Размер и объем блоков может быть разным. Это зависит от архитектуры процессора. И у GPU, и у CPU есть АЛУ. Это арифметико-логическое устройство, которое необходимо для выполнения математических операций. Другие блоки имеют доступ к памяти (для загрузки и сохранения данных), выполняют задачи декодеров или кэша. На этом сходства заканчиваются. Теперь поговорим о различиях между CPU и GPU.

Что такое CPU

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

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

Каждое ядро работает на тактовой частоте, обычно это от 2 до 3 ГГц для мобильных устройств, и до 5 ГГц для компьютеров. Кроме того, CPU может иметь разные объемы высокоскоростной закрытой памяти, которая используется для хранения инструкций и данных (т.е. кэш). Кэш-память может быть либо индивидуальной для каждого ядра или делится между ними. Она необходима для ускорения выполнения задач и переключения между ними.

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


Внутри большинства современных процессоров находится несколько АЛУ, выполняющих математические операции. Кроме того, CPU обрабатывает и перестраивает виртуальную память для всех запускаемых пользователем приложений. Именной по этой причине процессор является самым необходимым инструментом для запуска операционной системы.

Следующее составное устройство CPU — модуль предсказания переходов. Его использование позволяет предварительно загружать и исполнять инструкции, которые могут понадобится в ближайшем будущем. Это значительно экономит время и позволяет оптимально использовать вычислительные ресурсы процессора.

Что такое GPU

GPU имеет отличный от CPU характер рабочей нагрузки. Поэтому графические процессоры не используют модули предсказания переходов. Именно в этом и кроется ключ понимания различий между GPU и CPU.

Если центральный процессор необходим для выполнения различных задач, то видеокарта имеет строго определенное предназначение — рендеринг и обработка трехмерной графики. GPU намного быстрее и энергоэффективнее решает эти задачи. Однако графический процессор не столь гибок в своем диапазоне рабочих нагрузок.

Ядра видеокарты имеют один или несколько АЛУ, но в отличие от тех, что используются CPU они разработаны совершенно иначе. Они способны обрабатывать 8, 16 или 32 операции одновременно. Кроме того, ядра GPU могут состоять из десятков или сотен отдельных блоков АЛУ, благодаря чему графический процессор выполняет тысячи операций. Это особенно полезно во время обработки теней на дисплеях с высоким разрешением.

GPU это отдельное устройство компьютера или смартфона, разработанное для графического рендеринга и применяемое в качестве ускорителя трехмерной графики.

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

По сравнению с центральными процессорами, графические имеют особую архитектуру, нацеленную на увеличение скорости расчета текстур и сложных графических объектов. Кроме того, у GPU более ограниченный набор команд.

Что касается тактовой частоты, то у GPU данный показатель, как правило, ниже чем у CPU. При это зачастую речь идет о сотнях МГц. Это обусловлено ограничениями тепла и мощности, поскольку для параллельной обработки массивных объемов данных требуется гораздо больше транзисторов.

Параллельные вычисления могут использоваться не только в качестве ускорителя трехмерной графики. С его помощью рендеринг видеороликов, разные алгоритмы криптографии и машинного обучения (вроде обнаружения объектов) будут работать намного быстрее на GPU, а не на CPU.

В чем разница между CPU и GPU

В качестве последней аналогии представьте себе CPU в качестве швейцарского ножа, а GPU в виде мачете. Первый полезен для выполнения самых разных задач: от перерезания веревки до вскрытия консервов. Согласитесь, что попытаться открыть банку фасоли мачете — не самая лучшая идея. Но если вам нужно будет пройти через густые заросли джунглей, то вы наверняка предпочтете именно мачете, а не швейцарский нож.

Центральный процессор подходит для самых разных типов вычислений, тем более что по сравнению с видеокартой у него более широкий набор команд. Его ядра более гибкие, благодаря чему CPU позволяет нескольким задачам включаться и выключаться одновременно. Графический процессор имеет ограниченный набор команд и фокусируется на выполнении одной, строго определенной задачи. При этом GPU выполняет гораздо больше вычислений за один такт.

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

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

Зачем процессору несколько ядер?

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

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

Первые процессоры были едиными устройствами, которые принимали команды и выполняли их в строгой очередности. Одно ядро позволяло выбирать процессор при покупке только по показателям частоты. А недостаток производительности на первых порах компенсировали созданием двух- и многопроцессорных конфигураций. В таких сборках команды пользователя на ввод обрабатывал первый процессор, а остальные операции по возможности равномерно распределялись между остальными. Для сборки таких систем использовались двухпроцессорные платы или конфигурации на несколько сокетов.

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

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

Чем отличаются ядра и потоки

Ядро – это самостоятельный вычислительный блок в архитектуре процессора, способный выполнять линейную последовательность задач за определенный период времени. Если нагрузить одно ядро несколькими последовательностями задач, то оно будет попеременно переключаться между ними, обрабатывая по одной задаче из каждого потока. В масштабах системы это приводит к замедлению работы программ и сервисов.

Поток – это программно выделенная область в физическом ядре процессора. Такая виртуальная реализация позволяет разделять ресурсы ядра и работать параллельно с двумя разными последовательностями команд. Таким образом операционная система воспринимает поток, как отдельный вычислительный центр, следовательно, ресурс ядра используется более рационально, и скорость вычислений увеличивается.

Стоит ли ожидать удвоения производительности?

Виртуальное разделение вычислительной мощности процессора на потоки называется гиперпоточностью. На практике это не физическое увеличение количества ядер, следовательно, и вычислительный потенциал процессора остается постоянным.

Гиперпоточность – это инструмент, позволяющий процессору более оперативно выполнять команды операционной системы и распределять вычислительный ресурс.

Таким образом, удвоенное количество потоков по отношению к ядрам способно повысить эффективность процессора за счет одновременного выполнения нескольких задач каждым ядром. Но прирост, даже по заверениям лидера рынка в производстве процессоров Intel будет находиться в пределах 30%.

А вот об увеличении энергопотребления и чрезмерном нагреве волноваться не стоит. Так как виртуальное разделение выполнено на производстве, то компанией просчитаны все рабочие параметры, такие как мощность и TDP, указанные в спецификации.

Что выбирать: ядра или потоки?

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

Но и количество потоков также заслуживает внимания. Разберем на примере:

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

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

На практике это дает нам возможность одновременно запускать несколько программ: работать с документами, слушать музыку, общаться в мессенджерах и выполнять поиск в браузере. При этом программы будут работать эффективно, быстро, без торможений и зависаний.

В производственных масштабах для комплектации рабочих станций или серверов также следует отдать предпочтение большему количеству потоков при равных числах ядер. За исключением особых случаев, таких как работа с 1С, когда решающую роль играет тактовая частота, и ряда других приложений, активно использующих TCP/IP стек. В этих случаях распараллеливание вызывает существенную задержку при обработке пакетов .

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

В заключении интересное видео от компании Intel о том, как они создают микрочипы.

Читайте также: