• Графический процессор: что это такое и зачем используется? Как работает графическая карта Ее графический процессор используется в

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

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

    CPU (Central Processing Unit или же Центральное Процессорное Устройство) часто называют "мозгом" компьютера. Внутри центрального процессора расположено около миллиона транзисторов, с помощью которых производятся различные вычисления. В домашних компьютерах обычно устанавливаются процессоры, имеющие от 1 до 4 ядер с тактовой частотой приблизительно от 1 ГГц до 4 ГГц.

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

    Что такое GPU?

    GPU (Graphics Processing Unit или же Графическое Процессорное Устройство) представляет собой специализированный тип микропроцессора, оптимизированный для очень специфических вычислений и отображения графики. Графический процессор работает на более низкой тактовой частоте в отличие от процессора, но имеет намного больше процессорных ядер.

    Также можно сказать, что GPU - это специализированный CPU, сделанный для одной конкретной цели - рендеринг видео. Во время рендеринга графический процессор огромное количество раз выполняет несложные математические вычисления. GPU имеет тысячи ядер, которые будут работать одновременно. Хоть и каждое ядро графического процессора медленнее ядра центрального процессора, это все равно эффективнее для выполнения простых математических вычислений, необходимых для отображения графики. Этот массивный параллелизм является тем, что делает GPU способным к рендерингу сложной 3D графики, требуемой современными играми.

    Отличие CPU и GPU

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

    Возьмем, например, Nvidia GTX 1080. Данная видеокарта имеет 2560 шейдерных ядер. Благодаря этим ядрам Nvidia GTX 1080 может выполнить 2560 инструкций или операций за один такт. Если вы захотите сделать картинку на 1% ярче, то GPU с этим справится без особого труда. А вот четырехъядерный центральный процессор Intel Core i5 сможет выполнить только 4 инструкции за один такт.

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

    Вычисления на GPU

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

    Выводы

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

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

    Это было сделано для того, чтобы «разгрузить» центральный процессор , который из-за своей широкой «сферы применения», просто не в состоянии справляться с требованиями, которые выдвигает современная игровая индустрия.

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

    Если говорить о параметрах, то они у графических процессоров весьма схожи с центральными процессорами. Это уже известные всем параметры, такие как микроархитектура процессора, тактовая частота работы ядра, техпроцесс производства. Но у них имеются и довольно специфические характеристики. Например, немаловажная характеристика графического процессора – это количество пиксельных конвейеров (Pixel Pipelines). Эта характеристика определяет количество обрабатываемых пикселей за один такт роботы GPU. Количество данных конвейеров может различаться, например, в графических чипах серии Radeon HD 6000, их количество может достигать 96.

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

    Также, количество пиксельных конвейеров влияет на немаловажный параметр – скорость заполнение видеокарты . Скорость заполнения видеокарты можно рассчитать умножив частоту ядра на количество конвейеров.

    Давайте рассчитаем скорость заполнения, к примеру, для видеокарты AMD Radeon HD 6990 (рис.2) Частота ядра GPU этого чипа составляет 830 МГц, а количество пиксельных конвейеров – 96. Нехитрыми математическими вычислениями (830х96), мы приходим к выводу, что скорость заполнения будет равна 57,2 Гпиксель/c.


    Рис. 2

    Помимо пиксельных конвейеров, различают ещё так называемых текстурные блоки в каждом конвейере. Чем больше текстурных блоков, тем больше текстур может быть наложено за один проход конвейера, что также влияет на общую производительность всей видеосистемы. В вышеупомянутом чипе AMD Radeon HD 6990, количество блоков выборки текстур составляет 32х2.

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

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

    1 - й этап. Данные о вершинах текстур поступают в вершинные конвейеры, которые занимаются рассчётом параметров геометрии. На этом этапе подключается блок «T&L» (Transform & Lightning). Этот блок отвечает за освещение и трансформацию изображения в трёхмерных сценах. Обработка данных в вершинном конвейере проходит за счёт программы вершинного шейдера (Vertex Shader).

    2 - ой этап. На втором этапе формирования изображения подключается специальный Z-буфер, для отсечения невидимых полигонов и граней трёхмерных объектов. Далее происходит процесс фильтрации текстур, для этого в «бой» вступают пиксельные шейдеры. В программных интерфейсах OpenGL или Direct3D описаны стандарты для работы с трёхмерными изображениями . Приложение вызывает определённую стандартную функцию OpenGL или Direct3D, а шейдеры эту функцию выполняют.

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

    Итак, только что мы вкратце рассмотрели структуру и принципы функционирования графических процессоров, информация,конечно, «не из лёгких» для восприятия, но для общего компьютерного развития, я думаю, будет весьма полезна:)

    Все мы знаем, что у видеокарты и процессора несколько различные задачи, однако знаете ли вы, чем они отличаются друг от друга во внутренней структуре? Как CPU (англ. - central processing unit ), так и GPU (англ. - graphics processing unit ) являются процессорами, и между ними есть много общего, однако сконструированы они были для выполнения различных задач. Подробнее об этом вы узнаете из данной статьи.

    CPU

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

    GPU

    Основная функция GPU - рендеринг 3D графики и визуальных эффектов, следовательно, в нем все немного проще: ему необходимо получить на входе полигоны, а после проведения над ними необходимых математических и логических операций, на выходе выдать координаты пикселей. По сути, работа GPU сводится к оперированию над огромным количеством независимых между собой задач, следовательно, он содержит большой объем памяти, но не такой быстрой, как в CPU, и огромное количество исполнительных блоков: в современных GPU их 2048 и более, в то время как у CPU их количество может достигать 48, но чаще всего их количество лежит в диапазоне 2-8.

    Основные отличия

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

    Есть множество различий и в поддержке многопоточности: CPU исполняет 12 потока вычислений на одно процессорное ядро, а GPU может поддерживать несколько тысяч потоков на каждый мультипроцессор, которых в чипе несколько штук! И если переключение с одного потока на другой для CPU стоит сотни тактов, то GPU переключает несколько потоков за один такт.

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

    Разница в скорости вычислений

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

    Майнинг Bitcoin

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

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

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

    Как работает процессор

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

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

    GPU (Graphics Processing Unit) — это процессор, предназначенный исключительно для операций по обработке графики и вычислений с плавающей точкой. Он в первую очередь существует для того, чтобы облегчить работу основного процессора, когда дело касается ресурсоемких игр или приложений с 3D-графикой. Когда вы играете в какую-либо игру, GPU отвечает за создание графики, цветов и текстур, в то время как CPU может заняться искусственным интеллектом или расчетами механики игры.

    На что мы смотрим в первую очередь, выбирая себе смартфон? Если на минутку отвлечься от стоимости, то в первую очередь мы, конечно, выбираем размер экрана. Затем нас интересует камера, объем оперативной, количество ядер и частота работы процессора. И тут все просто: чем больше, тем лучше, а чем меньше, тем, соответственно, хуже. Однако в современных устройствах используется еще и графический процессор, он же GPU. Что это такое, как он работает и почему про него важно знать, мы расскажем ниже.

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

    Видеокарты, которые подключаются отдельно и работают на высоких мощностях, существуют только в ноутбуках и настольных компьютерах. Если мы говорим об -устройствах, то мы говорим об интегрированной графике и том, что мы называем SoC (System-on-a-Chip). К примеру, в процессоре интегрирован графический процессор Adreno 430. Память, которую он использует для своей работы, это системная память, в то время как для видеокарт в настольных ПК выделяется доступная только им память. Правда, существуют и гибридные чипы.

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

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

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

    По материалам AndroidPit