Tutoriais

Quais são os threads de um processador? diferenças com os núcleos

Índice:

Anonim

Neste artigo, vamos dedicar um momento para explicar quais são os threads de um processador ou também chamados threads em inglês ou threads de programação, a fim de identificar as diferenças fundamentais entre esses e os núcleos do processador. Entre os usuários menos experientes e até os mais avançados, ainda há muita confusão sobre esse tópico. Por isso, decidimos esclarecer esses termos na medida do possível.

Esse conceito de threads de processamento não é essencial para saber ao comprar um processador para um usuário normal. Na maioria dos casos, melhor do que menos, isso quase sempre é verdade. Onde precisamos saber quais são os threads, está no trabalho de desenvolvimento do programa. Dependendo de como um aplicativo é programado e compilado, ele terá uma execução mais otimizada para processadores com mais threads do que núcleos. E é aqui que tentaremos entrar em nossa explicação.

Índice de conteúdo

Quais são os núcleos de um processador

Começaremos explicando quais são os núcleos do nosso processador e, portanto, teremos esse conhecimento prévio para não confundir.

Sabemos que um processador é responsável por executar e executar as instruções dos programas carregados na memória RAM do nosso computador. Praticamente todas as instruções necessárias para executar as tarefas típicas em nosso PC, navegar, escrever, visualizar fotos etc. passam por ele. Na seção física, um processador é um circuito integrado composto por milhões de transistores que formam portas lógicas para passar ou não passar os bits de dados na forma de energia, sem mais delongas.

Bem, este pequeno chip abriga diferentes módulos que podemos chamar de núcleos, além de outros elementos nos quais não estamos interessados ​​agora. Os processadores de alguns anos atrás tinham apenas um desses núcleos e conseguiam processar uma instrução por ciclo. Esses ciclos são medidos em Megahertz (MHz), quanto mais MHz, mais instruções podemos fazer a cada segundo.

Agora, temos não apenas um núcleo, mas vários. Cada núcleo representa um subprocessador, ou seja, cada um desses subprocessadores executará uma dessas instruções, podendo executar várias delas em cada ciclo de clock com uma CPU multinúcleo. Se tivermos um processador de 4 núcleos, podemos executar 4 instruções simultaneamente em vez de apenas uma. Portanto, a melhoria de desempenho é quadruplicada. Se tivermos 6, 6 instruções ao mesmo tempo. É assim que os processadores atuais são muito mais poderosos que os mais antigos.

E lembre-se, esses núcleos estão fisicamente presentes em nosso processador, não é algo virtual ou criado por código.

O que são threads de processamento?

Threads, threads ou threads não são uma parte física do processador, pelo menos quando se trata de mais núcleos ou algo assim.

Podemos definir um encadeamento de processamento como o fluxo de controle de dados de um programa. É um meio que permite gerenciar as tarefas de um processador e seus diferentes núcleos de maneira mais eficiente. Graças aos encadeamentos, as unidades mínimas de alocação, que são as tarefas ou processos de um programa, podem ser divididas em partes para otimizar os tempos de espera de cada instrução na fila de processos. Esses pedaços são chamados de threads ou threads.

Em outras palavras, cada encadeamento de processamento contém uma parte da tarefa a ser realizada, algo mais simples de executar do que se introduzirmos a tarefa completa no núcleo físico. Dessa maneira, a CPU é capaz de processar várias tarefas ao mesmo tempo e, simultaneamente, de fato, ela pode executar tantas tarefas quantas forem as threads, e geralmente há uma ou duas para cada núcleo. Nos processadores que possuem, por exemplo, 6 núcleos e 12 threads, eles poderão dividir os processos em 12 tarefas diferentes, em vez de apenas 6.

Essa maneira de trabalhar faz com que os recursos do sistema sejam gerenciados de forma mais justa e eficiente. Você sabe… ele se divide e você ganhará de toda a vida. Esses processadores são chamados de multithread. Por enquanto, devemos esclarecer que um processador com 12 threads não terá 12 núcleos, os núcleos são de origem física e os threads de origem lógica.

Isso certamente foi um pouco abstrato e difícil de entender, então vamos ver como isso se traduz se falarmos sobre a arquitetura de um programa em nosso computador.

Programas, processos e threads

Todos sabemos o que é um programa, é um código armazenado em nosso computador e destinado a executar uma tarefa específica. Um aplicativo é um programa, um driver também é um programa e até o sistema operacional é um programa capaz de executar outros programas dentro dele. Todos eles são armazenados em formato binário, uma vez que o processador entende apenas zeros e uns, atual / não atual.

Os processos do programa

Para executar um programa, ele é carregado na memória, RAM. Este programa é carregado por processos, que carregam o código binário associado e os recursos necessários para operar, os quais serão atribuídos "de forma inteligente" pelo sistema operacional.

Os recursos básicos de que um processo precisa são um contador de programa e uma pilha de registros.

  • Contador de programa (CP): é chamado de ponteiro de instrução e controla a sequência de instruções que estão sendo processadas. Registradores: é um armazém localizado no processador onde uma instrução, um endereço de armazenamento ou qualquer outro dado pode ser armazenado. Pilha: é a estrutura de dados que armazena as informações relacionadas às instâncias que um programa tem ativo no computador.

Em seguida, cada programa é dividido em processos e é armazenado em um determinado local na memória. Além disso, cada processo é executado de forma independente, e isso é muito importante para entender, porque é assim que o processador e o sistema são capazes de executar várias tarefas ao mesmo tempo, o que chamamos de sistema multitarefa. Esse sistema de processamento é o culpado por podermos continuar trabalhando em nosso PC, mesmo que um programa tenha sido bloqueado.

Os encadeamentos de um processo

É aqui que os threads de processamento, chamados threads nos sistemas operacionais, aparecem. Um encadeamento é a unidade de execução de um processo. Podemos dividir o processo em threads, e cada um deles será um thread de execução.

Se um programa não for multiencadeado, os processos nele terão apenas um encadeamento, portanto, eles poderão ser processados ​​ao mesmo tempo. Pelo contrário, se tivermos processos com vários threads, eles poderão ser divididos em várias partes, e cada um desses threads compartilhará os recursos atribuídos ao processo. Então dissemos que o multithreading é mais eficiente.

Além disso, cada encadeamento possui sua própria pilha de registros, para que dois ou mais deles possam ser processados ​​ao mesmo tempo, diferentemente de um único processo, que deverá ser executado ao mesmo tempo. Threads são tarefas mais simples que permitem executar um processo de maneira dividida. E essa é basicamente a função final dos threads de processamento. Quanto mais encadeamentos, maior a divisão dos processos e maior o volume de cálculos simultâneos e, portanto, maior a eficiência.

Ainda não terminamos, ainda temos a pergunta pendente de O que acontece então com um núcleo com rosca dupla ? Já dissemos que cada kernel é capaz de executar uma única instrução de cada vez. A CPU possui um algoritmo complexo que divide os tempos de execução da maneira mais eficiente possível, atribuindo a cada tarefa um determinado intervalo de execução. A mudança entre tarefas é tão rápida que dará a sensação de que o núcleo executa tarefas em paralelo.

Podemos ver esses tópicos ou tópicos no sistema?

Não de maneira muito detalhada, mas sim, podemos vê-los, tanto no Windows quanto no Mac.

No caso do Windows, teremos apenas que abrir o gerenciador de tarefas e ir para " desempenho ". Em seguida, clicaremos no link " monitor de recursos " abaixo. Nesta nova janela, teremos cada processo dividido em consumo de CPU e threads, esses serão os threads.

No monitor de atividades do Mac, teremos diretamente os tópicos listados na tela principal.

Isso conclui nosso artigo sobre o que são os threads de processamento da CPU. É certamente um tópico um tanto complexo para explicar e bastante abstrato, especialmente para usuários que não entendem completamente como um processador funciona. Mas, neste caso, temos boas notícias, porque também temos um artigo muito bom falando sobre como um processador funciona e como todo o ciclo de instruções é executado.

Visite nossos artigos sobre:

Esperamos que tudo tenha sido mais ou menos claro e agradecemos que você tenha nos escolhido para saber mais sobre este tópico.

Tutoriais

Escolha dos editores

Back to top button