Processadores Prof. Alexandre Beletti Ferreira
Introdução O processador é um circuito integrado de controle das funções de cálculos e tomadas de decisão de um computador. Também é chamado de cérebro do computador. Ele faz parte da UCP. Hoje todos os circuitos e chips dispostos em diversas placas que compunham a Unidade Central de Processamento estão integrados no microprocessador.
Linguagem Os processadores trabalham apenas em linguagem de máquina utilizando lógica booleana (0/1). Realizam tarefas de busca e execução de instruções alocadas em memória.
Funcionamento Os programas e os dados que ficam gravados no disco (disco rígido ou disquetes), são transferidos para a memória. Uma vez estando na memória, o processador pode executar os programas e processar os dados; - Controle de todos os chips do computador.
Componentes do Processador ULA UC Registradores MMU
ULA Unidade Lógica e Aritmética Principal componente Realiza todas as operações lógicas e de cálculo que serão usadas para executar uma tarefa.
UC Unidade de Controle Responsável pelo controle das ações realizadas pelo computador Comanda os outros componentes
Registrador Uma memória capaz de armazenar comandos ou valores que serão importantes para o processamento de cada instrução. Contador de Programas (PC) Sinalização para a próxima instrução Registro de Instrução (IR) Registra a instrução da execução
MMU Unidade de Gerenciamento de Memória. Transforma endereços virtuais em endereços físicos. Administra a memória principal do computador.
Clock Um circuito oscilador que tem a função de sincronizar e ditar a medida de velocidade de transferência de dados no computador, por exemplo, internamente ou externamente (barramento). Pode ser medido em ciclos de segundos ou Hertz. A velocidade do processador está ligada a instruções por ciclos do clock.
Clock O clock é uma forma de indicar o número de instruções que podem ser executadas a cada segundo (ciclo). Sua medição é feita em Hz (sendo que KHz corresponde a mil ciclos, MHz corresponde a 1000 KHz e GHz corresponde a 1000 MHz). Assim, um processador Pentium II 800 MHz, indica que o mesmo pode realizar 800 milhões de ciclos por segundo. Algumas instruções podem precisar de vários ciclos para serem executadas, enquanto outras, uma ciclo só.
Clock Interno O clock interno indica a freqüência na qual o processador trabalha. Portanto, num Pentium 4 de 2,8 GHz, o "2,8 GHz" indica o clock interno. Este geralmente é obtido através de um multiplicador do clock externo. Por exemplo, se o clock externo for de 66 MHz, o multiplicador terá de ser de 3x para fazer com o que processador funcione a 200 MHz (66 x 3).
Clock Externo Também conhecido como FSB (Front Side Bus), o clock externo, por sua vez, é o que indica a freqüência de trabalho do barramento (conhecido como barramento externo) de comunicação com a placa-mãe (na verdade, chipset, memória, etc). Por exemplo, o processador AMD Sempron 2200+ trabalha com clock externo de 333 MHz.
Arquitetura CISC: Complex Instruction Set Computing Processadores Intel e AMD Suporta mais instruções, porém fica mais lento RISC: Reduced Instruction Set Computing Processadores PowerPC (Apple, IBM, Motorola) e SPARC (Sun) Suporta menos instruções, porém fica mais rápido combinando as instruções
Microprocessadores Utilizados em computadores pessoais e recebem o nome diretamente de UCP
Processadores Digitais de Sinal Presentes em CD, DVD e TV Digital Especializados em processamento digital de sinal usados para processar vídeos, áudio.
Microcontroladores Processadores flexíveis Baixo custo Projetos de pequeno porte Muito utilizado em automação industrial
Unidade de Processamento Gráfico (GPU) Microprocessador especializado em processar gráficos Utilizados em placas de vídeo Melhora o processamento gráfico
Intel Alpha i386 i486 Macintosh Arm Sparc PowerPC Hppa ia64 m68k mips mipsel Lista de Processadores
Barramento Para que o processador possa trabalhar com dispositivos (placas ISA,PCI,etc.), ele usa um barramento para se comunicar. Assim é possível que o processador envie informações (por exemplo, os dados para uma impressora, quando você pede para imprimir um arquivo) e receba (por exemplo, quando você digita algo no teclado). Esse barramento é conhecido como "barramento de dados" (ou data bus).
Barramento No entanto, quando o processador trabalha com a memória, ele faz uso de um "barramento de endereços" (também chamado de "clock externo"), pois através de um "endereço" é que o processador localizará os dados que precisa e que estão armazenados na memória do computador. É também por este barramento que o processador consegue determinar para qual dispositivo serão enviados os dados tratados. Seu valor é medido em Hz.
Barramento Este, assim como a grande maioria dos processadores, possui terminais ou pinos de contato (vulgarmente chamados de "perninhas"). Cada um destes pinos possui uma função e trabalha com 1 bit por vez. Assim, quando se diz que o barramento de dados trabalha a 16 bits, isso quer dizer que, pelo menos teoricamente, o processador destina 16 "perninhas" para esta função. A mesma regra vale para o barramento de endereços, ou seja, este também trabalha com uma certa quantidade de pinos, correspondentes à quantidade de bits.
Sinais de Controle Os processadores atuais possuem vários pinos (no mínimo, 400). Somente analisando friamente a arquitetura de cada tipo de processador existente (tarefa iminente a engenheiros eletrônicos) é possível saber qual a função de cada um. Os processadores, no entanto, possui algumas funções-padrão, ou seja, encontráveis em praticamente todos os processadores, independente do fabricante. Estas são conhecidas como "sinais de controle" (ou "sinais digitais"), também correspondem a pinos no chip do processador e algumas delas são citadas abaixo:
Tipos de Sinais MIO: sinal para indicar se a operação em questão é de acesso a memória ou de E/S; RW: sinal para indicar se a operação em questão é de leitura ou gravação; INT: sinal para que dispositivos externos possam interromper o processador para que ele efetue uma operação que não pode esperar. Por exemplo, quando o HD interrompe o processador para avisar o término de uma operação de leitura. Como existe somente um sinal INT, o processador opera em conjunto com um mecanismo denominado "Controlador de Interrupções" (que trabalha com as conhecidas IRQs). Como vários dispositivos podem requisitar o processador num mesmo instante, através deste controlador é possível realizar todas as operações de forma organizada; NMI: sinal de interrupção especial, usado em emergências, onde a interrupção enviada por este sinal deve ser atendida prontamente. O NMI geralmente é usado informar erros relacionados a dados na memória;
Tipos de Sinais INT A: sinal usado para que o processador informe que aceitou uma interrupção e que está aguardando que o dispositivo que a gerou passe as instruções; VCC: entrada de corrente elétrica que alimenta os circuitos internos do processador (pode haver vários VCC no processador); GND: sinal usado para controle de energia (como se fosse um fio-terra). Também pode ser encontrados vários deste sinal no processador; RESET: sinal ligado ao botão RESET do gabinete do computador. Ao ser ativado, o processador pára o que está fazendo e inicia as operações novamente, como se o usuário tivesse acabado de ligar a máquina; CLOCK: este recebe um sinal digital usado internamente para sincronizar todo o funcionamento do processador. Você verá mais sobre clock posteriormente, noutro artigo;
Bits Internos O número de bits é uma das principais características dos processadores e tem grande influência no desempenho. Os processadores mais comuns (Pentium II, III e 4, Athlon XP, Duron, etc) operam a 32 bits, enquanto chips antigos, como o 286, operavam com 16 bits. Repare que estes valores correspondem ao trabalho dos circuitos do processador, por isso são chamados de bits internos. Já existem no mercado processadores que trabalham a 64 bits por vez, como o Athlon 64, da AMD. Quanto mais bits internos o processador trabalhar, mais rapidamente ele poderá fazer cálculos e processar dados em geral (conseqüentemente, ele será mais caro). Só para dar uma noção, um processador de 32 bits pode manipular números de valor até 4.294.967.296. Processadores de 16 bits não conseguem trabalhar com este valor, de forma que é necessário dividí-lo em valores menores e possíveis de serem manipulados com 16 bits. Assim, a tarefa leva várias etapas. Com 32 bits, a tarefa pode ser realizada numa etapa só.
Bits Externos Os bits internos medem a capacidade do processador trabalhar internamente, ou seja, sozinho, "dentro dele mesmo". Porém, o processador sozinho não é nada e precisa se comunicar com os dispositivos periféricos. Como as instruções que o processador executa ficam armazenadas na memória, é preciso que ela seja acessada de forma rápida e precisa. Essa velocidade depende da quantidade de bits que o barramento de dados consegue manipular simultaneamente. Tais bits são chamados de bits externos. Esse valor aumenta com o avanço da tecnologia. Na época do auge do processador Pentium, por exemplo, esse barramento poderia ser encontrado em 32 e 64 bits.
Endereçamento O endereçamento consiste na capacidade que o processador tem de acessar um número máximo de células da memória. Para acessar uma célula, o processador precisa saber o endereço dela. Cada célula armazena um byte. Assim, um processador com o barramento de dados com 16 bits, pode acessar duas células por vez. Isso porque um byte equivale a 8 bits e 16 dividido por 8 é igual a 2, portanto, duas células. Um processador com 32 bits pode acessar até 4 células. Para descobrir o valor máximo de memória que o processador consegue acessar, basta fazer um cálculo: elevar a 2 o número de bits do barramento de endereços. Por exemplo, 2 elevado a 32: 2 ³² = 4.294.967.296 bytes => 4 GB
Memória Cache A memória cache consiste numa pequena quantidade de memória SRAM, incluída no chip do processador. Quando este precisa ler dados na memória RAM, um circuito especial, chamado de controlador de Cache, transfere os dados mais requisitados da RAM para a memória cache. Assim, no próximo acesso do processador, este consultará a memória cache, que é bem mais rápida, permitindo o processamento de dados de maneira mais eficiente. Enquanto o processador lê os dados na cache, o controlador acessa mais informações na RAM, transferindo-as para a memória cache. De grosso modo, pode-se dizer que a cache fica entre o processador e a memória RAM.
Co-processador Aritmético Dois dos primeiros processadores existentes, o 8086 e 8088, poderiam trabalhar em conjunto com um processador especial, chamado 8087. A função deste processador era a de realizar cálculos matemáticos complexos. O processador, quando muito, passaria então a executar cálculos mais simples e a se preocupar com outras instruções. O 8087 é o que conhecemos hoje como "Coprocessador aritmético" ou "Co-processador matemático". Seu nome em inglês é FPU (Floating Point Unit - Unidade de de Ponto Flutuante).
Co-processador Aritmético Esse recurso, hoje em dia, é embutido no processador, e seu uso é considerado indispensável, pois ele é projetado para realizar os mais diversos tipos de cálculo. Só para dar uma noção da importância do co-processador, uma operação matemática, que no processador necessita de várias instruções para ser concluída, pode ser realizada em uma única instrução pelo co-processador.