Breve introdução às placas gráficas

 

   A placa gráfica desempenha um papel essencial no computador. Ela transforma a informação digital que o computador produz em algo que os humanos consigam ver. Na maior parte dos computadores a placa gráfica converte informação digital em informação analógica para ser apresentada no monitor, enquanto que nos computadores portáteis, os dados mantêm-se digitais pois os displays dos portáteis são digitais.

   Uma placa gráfica moderna é uma placa com memória e um processador dedicado. O processador é criado especificamente para lidar com os intensos requesitos computacionais necessários para a produção gráfica. A maior parte destes processadores têm comandos especiais de intruções para a manipulação gráfica dentro do próprio chip!

   Em baixo podemos ver um exemplo da arquitectura de uma placa gráfica. A posição do processador, das memórias e de outros periféricos depende dos diversos fabricantes. Além dos componentes em baixo desenhados, existem agora placas com dois processadores, opções para DVD, s-video slot, etc.

 

Componentes Básicas de uma Placa Gráfica 

Para percebermos melhor a essência de uma placa gráfica, vamos começar por olhar para a mais simples possível, uma placa que só consegue produzir pixels pretos e brancos a uma resolução de 640x480 pixels.

Os três componentes básicos de uma placa gráfica são:

 
 
 

As três partes básicas de uma placa gráfica são o Interface com o computador, a Memória e o Video Interface.

   Quando uma placa gráfica "true-color" lida com cores atribui a cada pixel 3 a 4 bytes. Num display com 1600x1200 de resolução temos então 8 milhões de bytes de memória video.

Uma alternativa é usar 1 byte por pixel e usá-lo como entrada numa tabela onde estão referenciadas todas as cores ( Color Look-Up Table (CLUT) ). Esta tabela contém 256 entradas com 3 a 4 bytes por entrada.

A CLUT é inicializada com as 256 cores que o monitor irá apresentar.

 

Esta tabela é um exemplo de uma CLUT. A cada pixel é atribuído o valor de 1 byte ( 8 bits, que correspondem a 256 valores possíveis).

 

Co-Processadores Gráficos
   Uma placa gráfica simples, como a descrita previamente, chamada de frame buffer, guarda simplesmente um bocado dos dados que são envidados para o monitor. A actualização de cada byte da memória video é feita pelo processador do computador (CPU).

   A desvantagem de usar frame buffers é nas operações gráficas complexas, onde o CPU passa a maior parte do tempo a actualizar a memória video, sem realizar qualquer outro processo pendente. Por exemplo, se uma imagem 3-D conté 10.000 polígonos, o CPU tem que desenhar e preencher cada polígono na memória video, pixel a pixel... demora um bocado!

   Com a finalidade de retirar esta "carga" ao CPU, foram implementados, em cada placa gráfica, um processador optimizado para operações gráficas. Estes processadores podem ser, dependendo das placas gráficas, ou co-processadores gráficos (GPUou aceleradores gráficos. Tarefas mais complexas, tais como o sombreamento, as textures e o anti-aliasing ficam a cargo destes processadores dedicados.

   No caso do GPU, o software da placa gráfica envia directamente para ele tarefas relacionadas com gráficos. Todo o resto é enviado pelo sistema operativo para o CPU.

   Com aceleradores gráficos, o software envia tudo para o CPU e depois o CPU comanda o acelerador gráfico para executar uma tarefa específica relacionada com gráficos.

Os componentes de uma placa gráfica típica são: