Você está na página 1de 3

O que so threads em um processador?

Uma das palavras mais misteriosas nesse sentido a thread. No que se refere a
hardware, essa palavra apareceu no Brasil quando surgiram os primeiros modelos de
processador com mltiplos ncleos. A princpio era fcil compreender que um dual-core
tinha dois ncleos.

Entretanto, com a evoluo das arquiteturas nas CPUs, surgiu o suporte para mltiplos
threads (multithreading). E a que muitas pessoas se perguntaram o que realmente
mudava. Afinal, o que essa palavra? Faz diferena um processador trabalhar com o
dobro de threads? Isso o que vamos explicar agora!

A execuo de um programa

Antes de falarmos exatamente sobre as threads, precisamos entender como os


processadores e os sistemas operacionais trabalham com os aplicativos. Basicamente,
a execuo de um programa d-se, em um primeiro instante, em uma ao do sistema
operacional. Quando o usurio abre um aplicativo, o sistema operacional interpreta a
ao e requisita que os arquivos relacionados a esse software sejam executados.

Claro que qualquer atividade do sistema operacional est sujeita operao do


processador. Todavia, antes que um programa esteja aberto e realmente requisite o
trabalho em massa da CPU, ele apenas carregado na memria RAM, o que no exige
uma atividade do processador.

Ao efetuar o carregamento de um programa, o sistema operacional trabalha com


processos. Cada software possui um processo (alguns utilizam rvores de processos),
cada qual com respectivas instrues para o processador saber como proceder na hora
de efetuar os clculos.

Os processos e as threads

Os chamados processos so mdulos executveis, os quais contm linhas de cdigo


para que a execuo do programa seja realizada apropriadamente. Isso quer dizer que
o processo uma lista de instrues, a qual informa ao processador que passos devem
ser executados e em quais momentos isso acontece.

Os processadores trabalham muito bem com os processos, mas a execuo de muitos


processos simultaneamente acarreta na lentido da CPU. Isso ocorre porque, mesmo
um processador tendo dois ou mais ncleos, existe um limite para ele.
Uma CPU com dois ncleos, por exemplo, pode trabalhar com dois processos
simultaneamente. No entanto, se voc pressionar as teclas Ctrl + Shift + Esc, vai
verificar que o sistema operacional trabalha com dezenas de processos ao mesmo
tempo. No entanto, tudo parece rodar perfeitamente na sua tela.

Explicar isso bem simples. Suponha que estamos tratando de uma CPU com dois
ncleos. Em teoria, ela capaz de executar dois programas ao mesmo tempo. Contudo,
voc est com seis programas abertos e todos respondendo em tempo real.

O processador consegue trabalhar com todos os aplicativos e apresentar resultados


satisfatrios devido velocidade de processamento. Sendo assim, parece que os
processos so executados simultaneamente.

A princpio, a presena de mltiplos ncleos era suficiente para a maioria dos usurios.
Todavia, a evoluo dos softwares e dos componentes de hardware requisitou uma
diviso ainda melhor das tarefas. As linhas de instrues dos processos adquiriram
caractersticas nicas, que possibilitaram separ-las para execues em diferentes
ncleos.

Essas linhas de instrues ficaram conhecidas como threads, mas muita gente preferiu
traduzir a palavra thread para tarefa. A questo que o nome em si no faz diferena,
visto que, de certa maneira, uma linha de instruo uma tarefa que o processador
dever realizar. Entretanto, algumas coisas mudaram no processador.

As threads nos processadores

Enfim, chegamos ao ponto que interessa. Como j vimos, a thread uma diviso do
processo principal de um programa. Todavia, nem todos os processos so divididos em
mltiplas threads, assim como nem todos os processadores so capazes de trabalhar
tranquilamente com uma enormidade de threads.

Os mais recentes processadores vm com especificaes quanto aos ncleos e s


threads. E como saber o que exatamente isso significa? Vamos tomar como exemplo
o processador Intel Core i7 2600. Verificando no site da fabricante, temos a informao
de que esse modelo vem com quatro ncleos e tem suporte para trabalhar com at oito
threads.

Isso quer dizer que essa CPU pode trabalhar com quatro processos indivisveis
simultaneamente (um em cada ncleo) ou com at oito linhas de execuo (threads)
as quais podem ou no ser de um mesmo processo. Saber como cada aplicativo
executado dentro do processador no to simples, mas o que importa ter noo de
que existem aplicativos que sero executados de uma maneira mais satisfatria nas
CPUs mais novas.

Vale ressaltar que no garantido que um processador multithread sempre apresente


maior desempenho. Contudo, a chance de aumento na eficincia grande, pois, tendo
suporte para trabalhar com mltiplas threads, mais provvel que a CPU execute mais
programas ao mesmo tempo.