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

GPU против CPU: в чем разница?

6 116

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

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

Вот что нового в Qualcomm Snapdragon 855

Отдельные ядра ЦП и графического процессора состоят из набора подблоков, каждый из которых выполняет определенные задачи, которые необходимо выполнить процессору. Эти блоки меняются по размеру и объему в зависимости от микроархитектуры проекта. Одним из распространенных типов совместно используемых единиц является арифметико-логическая единица (ALU), которая выполняет математические операции, такие как сложение и умножение. Другие общие функциональные блоки включают обработчики доступа к памяти (загрузка / сохранение), а также декодеры команд и кеши. Однако на этом сходство заканчивается. Давайте углубимся в концепцию ядра GPU и CPU.

Какой процессор?

Лучше всего думать о ЦП как о мозге машины. Он очень гибкий, держит шоу в дороге и способен решать широкий круг задач. Процессор внутри вашего телефона отвечает за выполнение всей логики и операций, необходимых для операционной системы Android, а также ваших приложений.

Процессоры часто встречаются в многоядерных конфигурациях, от четырех до восьми в мобильных и от 16 и выше в настольных и серверных средах. Многоядерные процессоры позволяют одновременно запускать несколько приложений и потоков задач, повышая энергоэффективность и производительность. Каждое ядро ​​ЦП будет работать с тактовой частотой обычно от 2 до 3 ГГц на мобильных устройствах и до 5 ГГц на настольных компьютерах. ЦП также можно настроить с различным объемом высокоскоростной закрытой памяти, используемой для хранения инструкций и данных, которые используются в данный момент, известной как кэш. Кэш может быть индивидуальным для каждого ядра ЦП или совместно используемым ядрами ЦП и необходим для ускорения выполнения и переключения между задачами.

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

GPU против CPU: в чем разница?

Например, каждый процессор Cortex-A77 имеет математический процессор NEON, модуль с плавающей запятой и 3 кэша в каждом ядре, а также стандартные ALU и его предсказатель ветвлений.

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

Что такое GPU?

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

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

Графические процессоры – это специализированные процессоры, предназначенные для обработки параллельных чисел, необходимой для 3D-рендеринга.

GPU против CPU: в чем разница?

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

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

Тактовая частота графического процессора обычно ниже, чем частота процессора, часто составляет сотни МГц или низкий ГГц. Это связано с ограничениями по нагреву и мощности, поскольку для массовой параллельной обработки требуется гораздо больше транзисторов, чем вы найдете в ЦП ALU. Следует также отметить, что массовая математика может использоваться не только для визуализации графики. Рендеринг видео, алгоритмы машинного обучения, такие как обнаружение объектов, и криптографические алгоритмы также могут работать намного быстрее на параллельном графическом процессоре по сравнению с более ограниченным оборудованием центрального процессора.

GPU против CPU: в чем разница?

GPU против CPU в двух словах

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

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

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

Источник записи: https://www.androidauthority.com

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