No tamanho dos registos internos temos um bom indicador da quantidade de informação que o processador pode operar num determinado tempo.
Os processadores podem manipular números de qualquer tamanho, mas quanto maior for o número, mais tempo o processador demora a executar as operações necessárias.
Os registos são áreas de armazenamento internas do processador e são usadas para guardar dados que estão por ele a ser “trabalhados”. Os registos são o mais rápido tipo de memória acessível ao processador, isto porque, além de fazerem parte integrante do processador, também estão ligados directamente á sua lógica.
A maior parte das operações é executada nos registos: o processador não pode executar operações aritméticas directamente na memória, por isso, se quisermos adicionar o valor 1 a uma localização de memória, o que o processador faz é carregar o valor inicial da memória para um registo, adicionar 1 ao registo e depois guardar o valor novamente na memória. Podemos analisar um exemplo disso nas páginas referentes ao funcionamento do microprocessador.
Alguns processadores têm um barramento de dados interno de tamanho diferente do barramento de dados externo. Um bom exemplo disso é o 8088 e o 386SX, cada um deles com um barramento de dados interno que é o dobro do correspondente barramento externo. Estes desenhos híbridos são versões mais económicas do processador original. O 386SX, por exemplo, pode transportar dados internamente com um tamanho de registos de 32 bits, mas, para comunicar com o exterior, o chip está limitado a um barramento de dados de 16 bits.
Os registos internos, por vezes, são maiores do que o barramento de dados, o que quer dizer que o processador necessita de dois ciclos de relógio para encher um registo antes de ele poder ser usado. Podemos ver como exemplo disso o 386SX e o 386DX, ambos com registos internos de 32 bits, embora o 386SX necessite de dois ciclos para encher os registos, enquanto que o 386DX necessita somente de um. O mesmo acontece quando os dados são passados dos registos internos de volta ao barramento do sistema.
No entanto, no Pentium temos o caso inverso. O Pentium tem um barramento de dados de 64 bits, mas somente 32 bits nos registos internos. Isto pode parecer problemático para o funcionamento do processador de informação. É quase como se o Pentium tivesse dois processadores de 32 bits num só chip. Além disso, o barramento de dados de 64 bits assegura um funcionamento eficiente desses registos de 32 bits.
3.4.3 Unidade de Interface de Barramentos
É a parte do processador que faz a interface, ou ligação, entre ele e o resto do sistema. O seu nome vem de facto de lidar com a informação que se movimenta através do barramento de dados, a ligação primária para a transferência de informação de e para o processador. Ela é responsável por responder a todos os sinais que vão para o processador e gerar sinais que saem do processador e gerar sinais que saem do processador para o resto do sistema (fig. 3.15).
Fig. 3.15 – Unidade de interface de barramentos
3.4.4 Unidade de Controlo
A unidade de controlo é o circuito que controla o fluxo de informação no processador e coordena as actividades das restantes internas.
As funções executadas pela unidade de controlo variam gradualmente de acordo com a arquitectura do CPU, isto é, num processador que execute instruções x86 nativas, a unidade de controlo executa, entre outras, as tarefas de descodificação, gestão de execução e armazenamento de resultados. Num processador de arquitectura RISC, a unidade de controlo tem um trabalho significativamente mais activo. Ela gere a “tradução” de instruções x86 para micro-instruções RISC, gere os tempos de execução das micro-instruções entre as várias unidades de execução e controla o output dessas unidades de modo a que acabem no momento em que é suposto isso acontecer (fig. 3.16).
FIG. 3.16 – A unidade de controlo
3.4.5 Coprocessador Matemático
O coprocessador matemático, ou, mais correctamente, unidade de vírgula flutuante ou FPU (Floating Point Unit), é dedicado à execução de funções ou operações matemáticas com números de vírgula flutuante. Um número de vírgula flutuante é aquele que não é inteiro. Os números inteiros e os dados representados por números inteiros são processados por um outro componente do processador, a Unidade Aritmética e Lógica.
Desde o 486DX que o coprocessador matemático passou a ser uma parte integrante do processador, excepção feita ao 486SX. Nos processadores anteriores ao 486, as operações de vírgula flutuante eram executadas pela unidade aritmética e lógica, excepto nos casos em que o PC possuía um coprocessador matemático externo para a execução dessas operações. O coprocessador trabalhava também com o processador para aumentar a performance de aplicações com cálculo matemático intensivo.
3.4.6 Unidade Aritmética e Lógica
No PC, grande parte do trabalho é feito com informação inteira, isto é, números inteiros e dados que são representados por números inteiros. Nos números incluímos números, caracteres e dados similares. Os números que não são inteiros são números de vírgula flutuante.
É na unidade aritmética e lógica que as instruções são executadas e o trabalho é feito. Nos processadores mais antigos, só existe uma destas unidades, onde as instruções são processadas sequencialmente. Nos processadores mais recentes, já temos unidades, permitindo que mais uma instrução seja executada simultaneamente.
3.4.7 Velocidade do Processador
A velocidade do relógio de sistema de um computador é medida como frequência ou número de ciclos por segundo. Um oscilador de quartzo controla a velocidade de relógio. Quando uma tensão é aplicada ao quartzo, ele vibra a uma determinada frequência. A oscilação emana do cristal na forma de corrente alterna na proporção da harmónica do cristal – esta corrente alterna é o sinal do relógio.
Um computador trabalha a milhões destes ciclos por segundo, pelo que a sua velocidade é medida em megahertz (MHz), isto tenso em linha de conta que um hertz é igual a um ciclo por segundo.
A denominação Hertz foi dada em homenagem ao físico alemão Heinrich Rudolph Hertz. Em 1885, ele provou através da experimentação, a teoria electromagnética, que diz que a luz é uma forma de radiação electromagnética e propaga-se através de ondas.
Quando vemos num processador 600MHz, sabemos que a frequência do relógio é de 600 MHz, pelo que temos na placa principal um pequeno oscilador de quartzo que oscila continuadamente a um determinado número de impulsos por segundo (fig. 3.17). A cada impulso algo acontece no processador. Assim, quantos mais impulsos por segundo, maior número de dados são processados por segundo.
Fig. 3.17 – Relação entre a velocidade do cristal e do CPU
Os primeiros processadores trabalhavam a 4,77 MHz e, subsequentemente, foram aumentando para 8MHz, 16MHz, 25MHz, 66MHz, 90MHz, 133MHz e 200MHz, até às velocidades que hoje conhecemos e que se aproximam cada vez mais dos 200MHz.
Para atingir estes valores de velocidade de processamento, os fabricantes tiveram de utilizar uma técnica de multiplicação de frequência, a qual vamos ver seguidamente.
O grande problema das altas frequências de relógio é conseguirmos assegurar que todos os outros componentes electrónicos trabalhem de acordo com o processador. É relativamente simples fazer com que os dados se movam a grandes velocidades dentro do integrado do CPU. Mas quando essa operação se passa cá para fora, isto é, nos circuitos de apoio, aí pode não correr tão bem. Os outros componentes têm de ser capazes de dar resposta às exigências de velocidade do processador. Quando a frequência atinge valores muito elevados, as pistas do circuito impresso começam a actuar como antenas de radiofrequência, dando-se o aparecimento de várias formas de ruído. Resumindo, torna-se extremamente caro e difícil construir todo o hardware de modo a trabalhar à mesma velocidade do processador.
A solução para o problema é dividir a frequência do relógio por dois:
Ø Uma frequência interna, alta que controla o funcionamento do CPU.
Ø Uma frequência externa, baixa, que controla o barramento do sistema. É aqui que o CPU troca os dados com os dispositivos de I/O.
O primeiro processador a utilizar esta técnica foi o 486DX2 25/50 MHz da Intel, o que proporcionou a possibilidade de se adquirir por um baixo preço um processador que nos dava 90% da performance do 486DX 50. O DX50 trabalhava a 50MHz, tanto internamente como externamente. O DX2 trabalhava a 25MHz externamente, isto é, no barramento de sistema. Isto permitiu a construção de placas debaixo custo e a utilização de memória RAM também mais barata.
Fig. 3.18 – Relação entre a velocidade do cristal e do CPU
Esta duplicação da velocidade do relógio ocorre no interior do processador. Se o cristal da placa principal oscilar a 25MHz, o processador receberá um impulso a cada 40 nanossegundos. No interior do processador esta frequência é dobrada para 50MHz (fig. 3.18). Agora, no interior do processador, o relógio dá um impulso a cada 20 nanossegundos. Esta frequência controla todas as transacções internas., incluindo, entre outras, a unidade de vírgula flutuante, a unidade aritmética e lógica e os registos internos. A única área que continua a funcionar a 25MHz é a das transferências externas de dados, ou seja, a comunicação coma RAM, a Bios e os I/O.
O problema da velocidade também é crucial para a memória RAM. As SIMM FPM ou EDO trabalham a 66MHz; quanto muito poderão chegar aos 75MHz, porque os processadores Pentium necessitam de factores multiplicativos internos que vão de 2 até 5.
Com a introdução , em 1998, da RAM PC100 a trabalhar a 100MHz, juntamente com novos chipsets e placas principais, passou-se a usar factores de 3.5,4 e 4.5, o que permitiu ter CPU a 350MHz e 450MHz. Mas com os Pentium II, Celeron e Pentium III passamos a operar com factores superiores a 12, o que, associado à RAM PC133, nos permitem atingir os 1700MHz.
Sem comentários:
Enviar um comentário