Quando buscamos informações sobre um processador, como os da Intel ou da AMD, por exemplo, conseguimos compreender bem suas especificações no geral. No entanto, as vezes acabamos por encontrar alguns termos que não conhecemos, e pode ser que isso aconteça com você em relação ao termo “Threads”.
Dentre outros termos mais “difíceis” de se compreender nas especificações dos processadores, este certamente é um dos mais confusos, e começou a surgir aqui no Brasil junto com os primeiros processadores com múltiplos núcleos.
Thread em inglês significa “fio” ou “linha”, e em relação aos processadores, eles representam uma ordem de execução com instruções que serão desempenhadas uma por vez.
Mas, afinal, o que são threads?
Vamos do início. Para executar um programa no computador, é necessária uma ação do sistema operacional. Quando abrimos um app ou um programa, o sistema operacional compreende a ação e então requisita que os arquivos do software em questão sejam executados.
Quando um programa é carregado, ai é hora do sistema trabalhar com os processos, e cada software possui um processo (ou árvores deles). Cada um destes processos, possui instruções para que o processador saiba o que fazer quando for requisitado, e é aí que entram os threads.
Basicamente, são os threads que definem como o processador funcionará, são eles que recebem e executam as instruções. Pode parecer que todas as ações são realizadas simultaneamente, mas é porque tudo ocorre muito rápido.
Uma CPU com um thread, por exemplo, tem apenas uma linha de trabalho, realizando apenas uma ação de cada vez. Então, processadores com multi-threads acabam sendo mais interessantes, pois realizam diversas ações simultaneamente.
Threads vs. Núcleos
Qual a relação dos threads com os núcleos? Bem, sabemos que um processador dual-core tem dois núcleos, e um quad-core tem quatro, e assim por diante, ou seja, são múltiplos núcleos independentes na CPU, os quais funcionam como processadores individuais.
Cada um destes núcleos, ou processadores individuais, funciona como um thread, ou linha de execução. Dessa forma, esses chips conseguem executar diferentes tarefas simultaneamente, visto que cada núcleo fica encarregado de uma linha de execução diferente.
O resultado não poderia ser outro: a performance do sistema aumenta. Entretanto, os processadores multicore nem sempre executam múltiplas linhas de instruções simultaneamente.
Isso vai variar de acordo com o tipo de programa que será usado, afinal, muitos deles não foram otimizados para o multithread, então, só usam uma thread.
O que é o Multithread Simultâneo?
Como mencionamos, cada núcleo de um processador corresponde à uma linha de execução, ou, um thread. Porém, alguns processadores oferecem mais linhas de execução para um mesmo núcleo, e esse é o Multithread Simultâneo.
Se você já foi em busca de um novo processador, já deve ter visto algo parecido com “4 núcleos e 8 threads”, por exemplo, em suas especificações. É disso que estamos falando.
O SMT (Simultaneous Multithreading), ou Hyper Threading, permite que seja trabalhado com mais de uma linha de execução por vez. O SMT não tem o mesmo desempenho que um processador com mais núcleos de apenas uma thread, mas aumenta a performance.
No entanto, isso vai depender do suporte que os programas executados oferecem para o recurso, e também dependerá da qualidade da tecnologia usada, ou seja, do processador em questão, já que a cada nova geração, a qualidade da tecnologia se torna superior.
Mas e aí, ficou alguma dúvida sobre os threads? Conta pra gente nos comentários!