AULA4: PROCESSADORES 1. OBJETIVO Figura 1 Processadores Intel e AMD. Conhecer as funcionalidades dos processadores nos computadores trabalhando suas principais características e aplicações. 2. INTRODUÇÃO O processador ou Unidade Central de Processamento (UCP) desempenha um papel crucial no sistema de computação. Ele é responsável pela atividade fim do sistema, isto é, computar, calcular, processar. Sua aplicação básica é executar instruções, que podem ser oriundas do software a ser executado ou provenientes do próprio hardware, tendo em vista que, em algumas arquiteturas, o próprio processador gerencia todas as funções do hardware, inclusive as de entrada e saída. Atualmente a diversidade de processadores disponíveis no mercado é muito grande. Os processadores mais atuais são fabricados de modo que, em um único invólucro (Pastilha Chip) são inseridos todos os elementos necessários à realização de suas funções. E cada vez mais a tecnologia tem avançado nessa área, de modo a se fabricar processadores mais complexos e poderosos, como a linha Itanium da Intel, contendo em uma pastilha 8 núcleos com mais de 3 bilhões de transistores. 1
Figura 1 Processador Intel Itanium 2 3. DESENVOLVIMENTO SOQUETES (SOCKETS) Os soquetes são os conectores responsáveis pela conexão entre os processadores e as placasmãe. Desde o início, tanto a Intel quanto a AMD têm criado uma série de soquetes para seus processadores. Antigamente, um soquete de processador era compatível apenas com um tipo de processador. Este panorama foi modificado com o lançamento do processador 486, onde os modelos DX, DX2, SX e SX2 eram compatíveis com o mesmo soquete. O uso de um mesmo padrão de pinagem permitiu que fosse possível a instalação de diferentes modelos de processadores em uma placa-mãe simplesmente tirando um processador e colocando outro. Obviamente, a placa-mãe deve ser compatível e configurada de maneira apropriada. Uma particularidade é que a partir de então foi colocara uma alavanca que serve para instalar e remover o processador do soquete sem a necessidade do técnico fazer pressão sobre o processador, diminuindo bastante as chances de quebrar ou entortar pinos na hora da instalação ou remoção de um processador. 2
Figura 1 Soquete processador Intel. ULA (Unidade Lógica Aritmética): ELEMENTOS INTERNOS É responsável pela execução das instruções. Detém toda a lógica do processamento. Efetivamente executa as operações matemáticas com os dados como, por exemplo, soma, multiplicação, subtração, divisão e etc. Alguns fabricantes têm substituído pelo nome Unidade de Cálculo ou de Execução. Co-Processador Aritmético: É um pequeno processador destinado apenas à execução de cálculos complexos, principalmente os de ponto flutuante (casas decimais). Com isso, o processador pode direcionar estes cálculos para o co-processador aritmético e voltar a executar outros códigos que não dependam do resultado da execução do que foi destinado ao co-processador. Consequentemente, os dois processadores trabalham em paralelo, o que eleva a performance do sistema, principalmente em aplicações gráficas. 3
Registradores: São responsáveis pelo armazenamento temporário de instruções e dados, que servirão de entrada ao processamento e de saídas obtidas através do processamento. São pequenos espaços de memória utilizados pelo processador para armazenar informações que serão usadas para processar a instrução seguinte. Eles estão muito próximos das unidades de execução do processador e por isso as informações podem ser acessadas imediatamente, mas em troca eles são incrivelmente limitados em tamanho. A arquitetura x86 prevê o uso de apenas 8 registradores, com 32 bits cada um. Ou seja todos os registradores somados armazenam apenas 32 Bytes de dados. Memórias Cache: A memória cache surgiu quando percebeu-se que as memórias não eram mais capazes de acompanhar o processador em se tratando de velocidade, fazendo com que muitas vezes ele tivesse que ficar aguardando os dados serem liberados pela memória RAM para poder concluir suas tarefas, o que ocasionava perdas significativas de desempenho. Este problema foi detectado desde os primórdios dos processadores, como por exemplo os 386. Para solucionar este problema, começou a ser usada a memória cache, um tipo ultra rápido de memória que serve para armazenar os dados mais frequentemente usados pelo processador, evitando na maioria das vezes que ele tenha que recorrer a lenta memória RAM. São utilizados dois tipos de cache, chamados de cache primário, ou cache L1 (Level 1), e cache secundário, ou cache L2 (Level 2). O primário é embutido no próprio processador e é rápido o bastante para acompanhá-lo em velocidade. Sempre que um novo processador é desenvolvido, é preciso desenvolver também um tipo mais rápido de memória cache para acompanhá-lo. Como este tipo de memória é extremamente caro (centenas de vezes mais caro que a memória RAM) é utilizada apenas uma pequena quantidade dela. Para complementar, é utilizado um tipo de memória mais lenta na forma do cache secundário, que por ser mais barato, permite que seja usada em uma quantidade maior. Já existe aplicação de memória cache L3. Localizada externamente do processador presente na placa-mãe como uma memória cache adicional. Devido à complexidade dos processadores atuais, é um tipo de memória mais rara. É um tipo de memória muito útil, e é possível a necessidade futura de níveis ainda mais elevados de cache, como L4 e assim por diante. UC (Unidade de Controle): É o dispositivo mais complexo do processador. Ele possui a lógica necessária para realizar a movimentação de dados e de instruções de e para o processador, através dos sinais de controle que emite em instantes de tempo determinados conforme uma programação prévia. Clock: Também chamado de clock interno, a frequência de operação do processador é a frequência de sincronismo gerada para todo circuito presente no processador. Este sinal é vital para sincronizar a comunicação entre L1, registradores, ULA e os demais elementos internos. Quanto maior a frequência de operação, mais rápido será o processador e, consequentemente, aquecerá com maior facilidade. Já o clock externo é a frequência de operação de parte dos barramentos da placa-mãe. 4
Arquiteturas CISC e RISC: Figura 1 - Elementos internos do Processador. ARQUITETURAS A forma como os processadores executam as instruções são definidas por duas arquiteturas denominadas CISC (Complex Instruction Set Computing) e RISC (Reduces Instruction Set Computing). Os processadores baseados na computação de conjunto de instruções complexas contêm uma microprogramação, que é um conjunto de códigos de instruções que são gravados no processador, permitindo ao mesmo receber as instruções dos programas e executá-las utilizando instruções contidas na sua microprogramação. Seria como quebrar estas intruções já em baixo nível em diversas instruções mais próximas do hardware, que são instruções contidas no microcódigo do processador. Como característica principal, esta arquitetura contém um conjunto grande de instruções, em que a maioria tem um elevado grau de complexidade. Os processadores baseados na computação de conjunto de instruções reduzido (RISC) não tem microprogramação, sendo as instruções executadas diretamente pelo hardware. Como característica esta arquitetura além de não ter microcódigo, tem o conjunto de instruções reduzido, bem como baixo nível de complexidade. CISC x RISC: Na comparação entre as duas arquiteturas, é difícil afirmar qual delas é mais eficiente, porque dependerá da aplicação em questão, em que uma irá superar a outra em determinadas execuções. Mas, levando em consideração suas características, é possível afirmar que, na teoria, a RISC é mais eficiente que a CISC. Os processadores da plataforma Intel utilizam uma arquitetura híbrida, afim de retirar proveito das vantagens geradas por ambas. 5
Arquiteturas x86 e x64: Duas grandes limitações da plataforma x86 (32 bits) são o pequeno número de registradores e o suporte nativo de apenas 4GB de memória RAM. Não é possível adicionar mais registradores facilmente, pois softwares desenvolvidos para utilizarem os registradores adicionais não seriam mais compatíveis com os processadores antigos. Para solucionar esta questão, foi desenvolvido o recurso chamado register renaming onde o processador possui um número maior de registradores, mas somente 8 deles são reconhecidos para os softwares. Os demais são gerenciados pelo processador que vai comutando entre eles conforme a necessidade. Esta técnica diminui o problema de desempenho causado pelo número limitado de registradores, mas não soluciona a questão como um todo. Em relação à memória RAM, o limite de 4GB se tornou um problema sério em algumas áreas. A solução veio na construção da arquitetura de 64 bits. Vale ressaltar que estes processadores não são duas vezes mais rápidos e nem processam o dobro de dados por ciclo de clock. A grande vantagem é que eles são capaz de trabalhar com endereços de memória também de 64 bits, o que permite endereçar muito mais do que 4GB de memória RAM. Temos também um aumento no tamanho dos registradores, que passam a armazenar 64 bits de informações em vez de 32, o que representa um pequeno ganho de desempenho. TAREFAS Elaborar perguntas com suas respectivas respostas dos pontos principais (Importantes) do item 3. Elas podem ser de responder, múltipla escolha, relacionar colunas, verdadeiro ou falso, etc. 1. REGRAS 5.1. Definir o grupo: mínimo 2 e máximo 3 componentes; 5.2. Data da entrega: hoje; 5.3. Entrega via e-mail; 5.4.Formato: PDF (Portable Document Format); 5.5. O nome do arquivo e o assunto do e-mail deverão ser representados como Procs_MMH_ acrescentando o nome da turma, o nome e o sobrenome dos componentes da equipe sem espaços ou qualquer outro tipo de caractere. 6
4. BIBLIOGRAFIA Memórias Cache, disponível em: http://www.hardware.com.br/termos/memoria-cache. Acesso em 14/06/2014. Processadores de 64 bits, disponível em: http://www.hardware.com.br/guias/processadores-64bits/. Acesso em 15/06/2014. Soquetes de processadores, disponível em: http://www.clubedohardware.com.br/artigos/lista- Completa-de-Soquetes-de-Processadores/1275/1. Acesso em 12/07/2014. MONTEIRO, Mário A. Introdução à Organização de Computadores. 5.ed. São Paulo: LTC Editora, 2007. BITTENCOURT, Rodrigo Amorim. Montagem de computadores e hardware. 6.ed. São Paulo: Brasport, 2009. 7