Apresentando o Atom

Vendo toda a onda de interesse em torno dos netbooks a Intel se apressou em finalizar o Atom, que chegou ao mercado no segundo semestre de 2008, rapidamente substituindo o Celeron ULV em quase todos os modelos.

Embora o desempenho de um Atom de 1.6 GHz não seja muito diferente do oferecido pelo Celeron ULV de 900 MHz usado na safra anterior (o Atom chega a perder para o Celeron em algumas tarefas, apesar do clock mais alto), o consumo elétrico mais baixo e todo o hype criado em torno da plataforma acabaram fazendo com que ele se tornasse um sucesso instantâneo.

A ideia básica em torno da arquitetura do Atom é eliminar parte da “gordura” usada em outros processadores x86, incluindo componentes como os circuitos de branch prediction e parte das unidades de execução, que são os componentes mais vorazes em termos de consumo elétrico.

O circuito de branch prediction é o responsável por organizar as instruções de forma a manter as unidades de execução do processador ocupadas. Todos os processadores x86 atuais utilizam várias unidades de execução (o Core 2 Duo com core Conroe, por exemplo, é capaz de processar 3 instruções de inteiros e mais 3 instruções SSE em cada núcleo, por ciclo) o que torna o circuito de branch prediction um componente essencical.

Além de procurar adiante no código por instruções que podem ser “adiantadas”, ele “adivinha” o resultado de operações de tomada de decisão (levando em conta fatores como o resultado de operações similares executadas anteriormente), permitindo que o processador use os ciclos ociosos para adiantar o processamento das instruções seguintes, enquanto o resultado da primeira operação ainda não é conhecido.

Como todo bom adivinho, ele às vezes erra, fazendo com que o processador tenha que descartar todo o trabalho feito. Apesar disso, o ganho é muito grande, pois nos processadores atuais o circuito de branch prediction acerta em mais de 90% dos casos.

Outro circuito importante é o scheduler (agendador), que armazena as instruções a serem processadas nos ciclos seguintes, de acordo com o determinado pelo circuito de branch prediction.

Este trabalho é necessário, pois apesar de todos os avanços na arquitetura dos processadores, a maior parte dos softwares que utilizamos continuam sendo otimizados para processadores i386, que processavam uma instrução de cada vez. O circuito de branch prediction permite (até certo ponto) quebrar esta limitação, permitindo que o processador processe 3 ou mais instruções por ciclo, mas em troca aumenta bastante a complexidade e o consumo elétrico do processador, já que, além de processar as instruções, ele passa a ter o trabalho de ordená-las.

Esse modo de operação é batizado de “out-of-order” (fora de ordem) e é uma das características fundamentais dos processadores atuais. É graças a ele que processadores como o Core 2 Duo e o Phenon são capazes de oferecer um desempenho por clock tão superior ao de processadores antigos.

O grande problema é que o processamento de instruções fora de ordem faz com que eles sejam muito complexos e consumam muita energia, o que levou os projetistas da Intel a abandonarem o conceito e voltarem a utilizar uma arquitetura de processamento em ordem (in-order), de forma muito similar ao que faziam os processadores Pentium 1. Com isso, os circuitos adicionais deixam de ser necessários e o processador deixa de desperdiçar energia pré-processando e ordenando as instruções e pode se concentrar no trabalho principal.

Isso resultou em um processador muito menor, com apenas 47 milhões de transistores (contra 410 milhões do Penryn e 170 milhões do antigo Pentium-M com core Dothan). Ao fabricá-lo usando a mesma técnica de 0.045 micron usada no Penryn, a Intel chegou a um processador com apenas 25 mm², que bastante econômico e barato de produzir. Mesmo com o encapsulamento, o Atom mede apenas 1.4 x 1.3 cm, menor que a maioria das moedas:

34004c80

O baixo custo de produção acabou se revelando um fator determinante para a predominância do Atom em relação ao Via C7 e ao Via Nano, pois a Intel ganhou margem para simplesmente baixar os preços conforme necessário, cobrindo as ofertas dos concorrentes.

A remoção dos circuitos de branch prediction permitiu também que a Intel aumentasse o número de estágios de pipeline, para 16 (o Core 2 Duo possui 14 estágios e o antigo Pentium M com Core Dothan possui 12). Normalmente, aumentar o número de estágios de pipeline reduz consideravelmente o desempenho do processador, já que faz ele perder mais tempo em operações de tomada de decisão.

Entretanto, o fato do Silverthorne processar as instruções em ordem reduz bastante a perda, permitindo que o processador possua mais estágios de pipeline (que permitem que ele opere a frequências mais altas), sem com isso comprometer de forma considerável a eficiência.

Completando o conjunto, temos o suporte a instruções SSE 3 (assim como o Pentium-M, o Silverthorne conta com uma única unidade SSE), 56KB de cache L1 (32KB para instruções e 24KB para dados), 512 KB de cache L2 e suporte a Hyper Threading, que permite que o processador utilize as duas unidades de execução para processar dois threads diferentes, aumentando levemente o desempenho do processador, sem com isso aumentar muito o consumo elétrico.

O Silverthorne utiliza o mesmo barramento com 4 transferências por clock utilizado nos processadores Core 2 Duo, mas a frequência de operação é mais baixa (para economizar energia) e é chaveada de forma dinâmica entre 533 e 400 MHz, de forma a economizar energia nos momentos de baixa atividade. Este recurso é muito similar ao “Dynamic Front Side Bus Switching” usado nos notebooks baseados na plataforma Santa Rosa (onde o FSB oscila entre 800 e 400 MHz).

Temos aqui uma foto divulgada pela Intel, que mostra um comparativo de tamanho entre o Atom e o Tukwilla (a versão quad-core do Itanium, anunciada em 2008):

53c20828

Confira a segunda parte do tutorial em: https://www.hardware.com.br/tutoriais/intel-atom-2/

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X