O termo GPU significa Graphics Processing Unit, ou Unidade de Processamento Gráfico.
Alguns também chamam a GPU de VPU, Video Processing Unit ou Unidade de Processamento de Vídeo.
GPUs basicamente são microprocessadores especializados em processar todas as imagens exibidas por computadores, videogames, celulares, etc.
As GPUs normalmente são utilizadas em placas de vídeo, que são as chamadas placas de vídeo offboard (ou dedicadas), ou em versões simplificadas diretamente integradas na placa-mãe, que são chamadas de vídeo onboard.
História (Wikipedia)
Anos 80
Em 1983, a Intel disponibilizou o iSBX 275 Video Graphics Controller Multimodule Board para sistemas industriais baseados no padrão Multibus. Foi baseado no 82720 Graphics Display Controller e acelerou o desenho de linhas, arcos, retângulos e caracteres em bitmap. O carregamento de framebuffer via DMA também foi acelerado.
Disponibilizado em 1985, o Commodore Amiga foi o primeiro computador pessoal a usar uma GPU. A GPU tinha suporte a desenho de linhas, preenchimento de áreas, e incluía um tipo de circuito chamado blitter, que acelerava o movimento, manipulação e combinação de múltiplos bitmaps. Também incluso existia um coprocessador de gráficos com seu próprio (e primitivo) set de instruções. Por causa disso e um tempo depois, muitos outros PCs requeriam que uma GPU lidasse com todos os aspectos de desenho.
Em 1987, o sistema de gráficos 8514 da IBM foi disponibilizado como uma das primeiras placas de vídeo para PC, para implantações primitivas em 2D no hardware.
Anos 90
Em 1991, a S3 Graphics introduziram o S3 86C911, que foi nomeado em homenagem ao Porsche 911, como uma indicação do aumento de performance prometido. O 86C911 trouxe também uma leva de imitações. Até 1995, todos os produtores de chips gráficos adicionaram suporte em aceleração 2D aos seus chips. Ao chegar essa época, esses chips de aceleração provaram ser melhores do que os caros coprocessadores de múltiplo-uso, e esses coprocessadores desapareceram do mercado.
Durante os anos 90, a aceleração 2D continuou a evoluir. Conforme capacidades de manufatura aumentava, também aumentava o nível de integração dos chips gráficos. Interfaces de Programação de Aplicativos (APIs) adicionais começaram a chegar para uma variedade de tarefas, como a biblioteca de gráficos do WinG, da Microsoft, para Windows 3.x, e futuramente, sua interface para aceleração de jogos 2D no Windows 95 ou depois, DirectDraw.
Ainda durante os anos 90, gráficos 3D auxiliados pela CPU estavam tornando-se comuns em jogos de computador e videogames, que levaram a uma demanda pública por gráficos 3D acelerados por hardware. Exemplos de gráficos em 3D vendidos em grandes quantidades temos os consoles de quinta geração, tais como Playstation e Nintendo 64. Já no PC, as primeiras tentativas por gráficos 3D com baixo custo foram falhas, sendo elas o S3 ViRGE, ATI Rage, e Matrox Mystique. Esses chips foram basicamente aceleradores 2D da geração passada com algumas características 3D embutidas. Alguns desses eram até compatíveis com as entradas dos antecessores, para fácil implantação e custo mínimo. Inicialmente, gráficos 3D somente foram possíveis com placas discretas dedicadas ao aceleramento de funções 3D (e total falta de aceleração 2D), tais como o 3dfx Voodoo. No entanto, conforme a tecnologia de manufatura foi progredindo, vídeo, aceleração 2D e funcionalidade 3D foram todas integradas em apenas um chip. Os chips Verite, da Rendition, foram os primeiros a fazer isso direito.
OpenGL apareceu no começo dos anos 90 como uma API profissional em gráficos, mas sofria de problemas de desempenho, que permitiram que a Glide API se tornasse a força dominante no PC, ao fim dos anos 90. No entanto, esses problemas foram facilmente descartados e a Glide API caiu para segundo lugar. Implementações em software da OpenGL foram comuns durante esse tempo, por mais que a influência da OpenGL eventualmente levou ao suporte de hardware.
Com tempo, uma paridade emergiu entre características oferecidas em hardware, e aquelas oferecidas pela OpenGL. DirectX se tornou popular entre os desenvolvedores de games do Windows durante o fim dos anos 90. Ao contrário da OpenGL, a Microsoft insistiu em dar suporte pessoal do hardware. Esse modo tornou o DirectX menos popular, já que muitas GPUs tinham suas próprias características, cujas aplicações já existentes da OpenGL já poderiam se beneficiar, deixando o DirectX uma geração atrás.
Com o passar do tempo, a Microsoft começou a trabalhar mais próxima de desenvolvedores de hardware, e começou a dar mais atenção aos novos DirectX. O Direct3D 5.0 foi a primeira versão a ganhar grande espaço no mercado de jogos, e competiu diretamente com muitos outras bibliotecas gráficas, específicas para certos hardwares, enquanto o OpenGL manteve uma forte sequência.
Direct3D 7.0 introduziu suporte para Iluminação e Transformação (Transform & Lighting, T&L) para Direct3D, enquanto a OpenGL já tinha essa capacidade exposta desde sua origem. Aceleradores 3D foram além de serem apenas simples aceleradores. A NVIDIA GeForce 256 (também conhecida como NV10) foi a primeira placa a nível de consumidor com T&L acelerada por hardware, enquanto placas profissionais 3D já tinham essa capacidade. Transformação e iluminação por hardware, ambos características já existentes, vieram ao nível do consumidor no anos 90, e mantiveram o precedente para o pixel e vertex shader, futuramente, cujas unidades eram mais flexíveis e programáveis.
Anos 2000
Com a OpenGL API e funcionalidade similar no DirectX, GPUs adicionaram sombreamento programável à suas capacidades. Cada pixel poderia ser processado por um programa que poderia incluir texturas de imagem adicionais como entradas, e cada vértice geométrico poderia ser processado por um programa curto antes de ser projetado na tela. NVIDIA foi a primeira a produzir um chip capaz de sombreamento programável, a GeForce 3 (nomeada NV20). Até Outubro de 2002, com a introdução da ATI Radeon 9700 (também conhecida como R300), o primeiro acelerador Direct3D 9.0, shaders de pixels e vértices podem implementar looping, e em geral foram rapidamente virando flexíveis como CPUs, e ordens de magnitude mais rápidas para operações com vetores de imagens.
Conforme o poder de processamento das GPUs vem aumentando, também vem aumentando sua demanda por energia elétrica. GPUs de alta performance comumente consomem mais energia que CPUs atuais.
Hoje em dia, GPUs paralelas começaram a fazer progresso com relação a CPU. A plataforma CUDA, da NVIDIA, é o modelo de programação mais adotado para computação em GPU, com OpenCL sendo oferecida como um padrão aberto.
Nenhum comentário:
Postar um comentário