sábado, 5 de maio de 2018

Componentes Básicos de um PC: Processador


Componentes Básicos de um PC: Processador

Figura 1 - Circuito integrado de um Intel Pentium à mostra.
Fonte: flickr.com, acesso em 2018.


Em termos de hardware, o processador é, sem dúvida, uma peça de extrema importância para o funcionamento de um computador, pois é nele onde as instruções são processadas. Porém, ele não pode fazer nada sozinho. De forma análoga, no corpo humano, é no cérebro onde ocorre o processamento de informações visuais, auditivas, cognitivas etc. Além disso, o cérebro precisa dos demais órgãos para que tudo funcione corretamente. Dito isso, o processador é um elemento que se encaixa em outros componentes para que o todo funcione. A seguir, veremos as partes de um processador e como elas funcionam.

Figura 2 - Circuito integrado de um Intel Atom.
Fonte: geek.com, acesso em 2018.

Primeiramente, o processador (que também é conhecido como microprocessador, CPU – Central Processing Unit ou UCP – Unidade Central de Processamento) é o responsável pelo processamento das instruções. Essas instruções podem ser dadas por programas como planilhas, editores de vídeo, jogos, aplicações matemáticas e o próprio usuário. O interessante é que na realidade, o processador não sabe o que está fazendo, ele apenas obedece às ordens dadas pelo programa em execução. Por exemplo, quando pedimos para o computador fazer uma certa tarefa, como exibir uma imagem, o processador obedece às instruções contidas na imagem e as envia para um dispositivo de aceleração de vídeo, em seguida, a imagem gerada é enviada para um dispositivo de saída, nesse caso, um monitor e então conseguimos ver a imagem na tela.

Figura 3 - Representação dos ciclos (clocks) de um processador.
Fonte: phatcode.netacesso em 2018.

Para que todas as atividades de um computador sejam sincronizadas, é necessário a adoção de ciclos, cada ciclo é chamado de clock. O clock, é uma medida em Hertz, onde cada Hertz equivale a um ciclo por segundo. Então, por exemplo, se um processador opera em 3.4 GHz, significa que ele consegue executar 3.400.000.000 (três bilhões e quatrocentos milhões) de operações por segundo. Atualmente, a velocidade de processamento depende mais da arquitetura do processador do que do clock do mesmo. Para definirmos se um processador é ou não veloz, existem ferramentas de medição de desempenho (benchmarks) onde o resultado é comparado com os processadores de referência.

Figura 4 - Memória cache vs memória RAM.
Fonte: nareshmdr.com.npacesso em 2018.

A memória cache ou memória estática (L1, L2 e L3) que é de altíssimo desempenho e de custo elevado, portanto pequena, pode trabalhar no mesmo clock que o processador, diferente da memória dinâmica (RAM – Memória de Acesso Aleatório, em Português). Isso garante a vantagem de não ser necessária a redução do clock para acessar um certo dado na memória. Então, quanto maior é a memória cache, maior é a chance de que a instrução necessária ao processador esteja lá, isso resulta na diminuição nos acessos diretos à memória RAM e como consequência, o aumento de desempenho no sistema.

Figura 5 - Carregamento de instruções diretamente da RAM.
Fonte: web.stanford.eduacesso em 2018.

Para processar uma instrução, a unidade de busca é encarregada de armazenar as instruções na memória. Então, ela vai verificar se a instrução está no cache L1, caso negativo, ela vai para o cache L2, caso a instrução não esteja lá também, ela vai para o cache L3 e caso também não esteja no L3, o carregamento será feito através da RAM (mais lento). Depois que a unidade de busca pegou a instrução requisitada pelo processador, ela envia para a unidade de decodificação. Nessa unidade, ela verifica o que a instrução em específico faz, através da consulta à memória ROM (Memória somente de leitura, em Português), dentro do processador, chamada microcódigo. O microcódigo serve como uma espécie de guia, “ensinando” ao processador o que fazer.

Figura 6 - Instruções carregadas e logo serão "traduzidas" para entrarem em execução.
Fonte: teach-ict.comacesso em 2018.

Quando uma instrução é carregada, por exemplo, a soma de x + y, é o microcódigo que dirá à unidade de decodificação que são necessários dois parâmetros: x e y. A unidade de decodificação então vai requisitar que a unidade de busca pegue a informação presente nas duas posições de memória seguintes, que seja compatível com os valores para x e y. Agora, depois que a unidade de decodificação "traduziu" a instrução e reuniu as informações para executar a instrução, tudo será repassado para a unidade de execução.

Figura 7 - Representação dos núcleos (CPU Cores) de um processador.
Fonte: hardwarecanucks.comacesso em 2018.

A unidade de execução, finalmente, vai executar a instrução. Essa unidade é conhecida como o núcleo do processador (CPU Core) e a execução pode ser feita em paralelo, aumentando o desempenho do processador. Um processador com seis unidades de execução é capaz de executar seis instruções em paralelo de uma vez. Teoricamente, em termos de desempenho, o número de unidades de execução seria igual ao número de processadores reais, porém em muitos casos isso não ocorre na prática, pois é preciso otimizar as aplicações para que possam rodar em paralelo utilizando o total de unidades de execução do processador.

Figura 8 - Representação do ciclo básico de um processador.
Fonte: solidstateblog.comacesso em 2018.

Quando o processador termina a execução, o resultado é enviado para o cache L1 e então pode ser enviado para a memória RAM ou outro lugar, como a placa de vídeo, por exemplo. Porém, vai depender da próxima instrução que será processada em seguida, se a instrução seguinte for “imprima o resultado na tela”, será realizada essa instrução e assim por diante.


REFERÊNCIAS

Clube do Hardware - Disponível em

Guia do Hardware - Disponível em:
Figura 2 - Disponível em: 

Figura 3 - Disponível em:

Figura 4 - Disponível em:

Figura 5 - Disponível em:

Figura 6 - Disponível em:

Figura 7 - Disponível em:

Figura 8 - Disponível em:

Nenhum comentário:

Postar um comentário