Micro programação
Máquinas antigas tinham poucas instruções, todas
implementadas em hardware. Wilkes (1951) introduziu a microprogramação, que
permite um conjunto grande de instruções de máquina (no nível convencional),
usando um hardware simples capaz de executar apenas as chamadas
microinstruções. Cada instrução de máquina no nível convencional é interpretada
e pode dar origem à execução de muitas microinstruções.
Exemplos de micro programação
Os computadores que usam microprogramação são ditas CISC -
Complex Instruction Set Computer. Exemplos: IBM 360, DEC VAX, Motorola 68030,
família Intel como 8088, 80386, Pentium etc. Tanenbaum usa uma máquina fictícia
chamada MAC para ilustrar o conceito de microprogramação.
INTRODUÇÃO
Um processador CISC (complex
Instruction Set Computer, ou “computador com um conjunto complexo de
instruções”), é capaz de executar várias centenas de instruções complexas
diferentes, sendo extremamente versátil. Exemplos de processadores CISC são o
386 e o 486.
No começo da década de 80, a
tendência era construir chips com conjunto de instruções cada vez mais
complexos. Alguns fabricantes porém, resolveram seguir o caminho oposto,
criando o padreão RISC (Reduced Instruction Set Computer, ou “computador com um
conjunto reduzido de instruções”). Ao contrário dos complexos CISC, os
processadores RISC são cpazes de executarapenas algumas poucas instruções
simples. Justamente por isso, os chips baseados nessa aqrquitetura são mais
simples e muito mais baratos.
Outra vantagem dos processadors
RISC, é que, por terem um menor número de circuitos internos, podem trabalhar a
frequências mais altas. Um exemplo são os processadores Alpha, que em 97 já
operavam a 600 MHz.
Nos processadores CISC, a lógica
para a maioria das instruções, com exceção das mais primitivas (shift, add,
etc...), é guardada em microcódigo no processador, enquanto que para o
processador RISC, é fornecida por software.
O conceito RISC, que é o
complementar de CISC, está se espalhando pelos sistemas dedicados. Essas
máquinas, oferecem poucas instruções e, por isso, sua unidade de controle é
mais simples permitindo que se logre uma melhor otimização. Os benefícios do
RISC, além de melhor desempenho, são um menor CI, uma menor quantidade de pinos
e um menor consumo de energia.
Até poucos anos, a divisão foi
contundente: arquiteturas RISC eram usados para rede, enquando a CISC era usado
em computadores domésticos. Mas agora alguns estão afirmando que CISC estão
esgotando sua possibilidades, enquanto outros defendem fervorosamente que CISC
já teria alcançado RISC, adotando algumas das suas principais características.
O que é um CISC?
É um processador capaz de executar
centenas de instruções complexas diferentes sendo, assim, extremamente
versátil. Grande parte dos processadores Intel e Motorola Têm o desenho CISC. A
vantagem de uma arquitetura CISC é que já temos muitas das instruções guardadas
nos próprio processador, o que facilita o trabalho dos programadores de
linguagem de máquina, dispondo assim de praticamente todas as instruções que
serão usadas em seus programas.
O CISC tem uma
grande riqueza na especificação de modos de endereçamento.
Como funciona um CISC?
Essa arquiteturas faz o
parelelismo entre as instruções, para que hoje a maioria dos sitemas CISC de
alto desempenho implementem um sistema que converta as instruções complexas em
várias instruções simples, normalmente chamado de microinstruções.
O firmware é um recurso
importante e essencial de quase todas as arquiteturas CISC. O frmware significa
que cada instrução de máquinaé interpretado por um microprograma localizado em
uma memória de circuito integrado no processador. As instruções são compostas são
decodificadas internamente e executas com uma série de microinstruções
armazenadas em uma ROM interna. Isso vai exigir vários ciclos de clock, pelo
menos uma microinstrução. Portanto, assim como os chips CISC utilizam comandos
que incorporam uma variedade de pequenas instruções para executar uma única
operação.
Quando um sistema operacional ou
um aplicativo requer uma dessas ações, envia ao processador o nome do comando a
ser feito em conjunto com outras informações complementares caso necessite. Mas
cada um desses comandos da ROM do CISC variam em tamanho e, portanto, o chip
deve verificar primeiro a quantidade de espaço necessário para executar o
comando e poder reservá-lo na memória interna. Além disso, o processador deve
determinar a maneira correta de carregar e armazenar o comando, processos que
juntos prejudicam a agilidade do sistema.
O processador envia o comando
solicitando uma unidade que o decodifica em instruções menores que poderão ser
executadas por um nanoprocessador, uma espécie de processador dentro do
processador. E a não ser as instruções independente, pois são instruções
menores procedentes da decodificação de ma instrução maior, só é permitido
realizar uma intrução por vez.
Atráves do complexo circuito do
chip, o nanoprocessador executa cada uma das instruções de comando. A execução
deste circuito também lentilizam o processo. Para cada instrução um chip CISC
requer de quatro a dez ciclos de clock.
O que é um RISC?
Procurando aumentar a velocidade
de processamento se descobriu com base em experimentos que, com uma determinada
arquitetura de base, a execução de programas compilados diretamente com
microinstruções e uso da memória externa para o circuito integrado resultavam
ser mais eficiente, graças ao tempo de acesso a memória que foi diminuindo à
medida que melhorou a sua tecnologia de encapsulamento.
A idéia foi inspirada no fato de
muitas das características que foram incluídas nos projetos tradicionais de CPU
para aumentar a velocidade estavam sendo ignoradas pelos programas que foram
executados neles. Além disso, a velocidade do processador em relação a memória
de computador que a acessava estava cada vez mais alto.
Devido a um conjunto de
intruções simplificadas, estas que podem ser implantadas por um hardware
diretamente ligado à CPU a qual elimina o microcódigo e a necessidade de
decodificar instruções completas.
Tanto a Intel como a AMD,
perceberam que usar alguns conceitos da arquitetura RISC em seus processadores
poderia ajudá-las a criar processadores mais rápidos. Porém, ao mesmo tempo,
existia a necessidade de continuar criando processadores compatíveis com os
antigos. Não adiantaria muito lançar um Pentium ll ou Athlon extremamente
rápidos, se estes não fossem compatíveis com os programas que utilizamos.
A idéia então passou a ser
contruir chips híbridos, que fossem capazes de executar as instruções x86,
sendo compatíveis com todos os programas, mas ao mesmo tempo comportando-se
iinternamente como chips RISC, quebrando essas instruções complexas em
instruções simples, que podem ser processadas por seu núcleo RISC. Tanto o
Pentium ll e III, quanto ao Athlom, Duron e Celeron, utilizam este sistema.
Do lado dos chips supostamente
RISC, como por exemplo o G4 usados nos Macs, temos esta mesma tendência de
contruir chips cada vez mais complexos, abandonando a idéia dos chips RISC
simples e baratos em favor da complexidade típica dos processadores CISC.
– Como funciona um RISC?
Pode parecer estranho que um
chip que é capaz de executar algumas poucas instruções, possa ser considerado
por muitos, mais rápido do que o outro que executa centenas delas, seria como
comparar um professor de matemática com alguém que sabe apenas as quatro
operações. Mas o que acontece, é que um processador RISC é capaz de executar
tais instruções muito mais rapidamente. A idéia principal, é que apesar de um
processador CISC ser capaz de executar centenas de instruções diferentes,
apenas algumas são usadas frequentemente. Em conjunto com um software adequado,
este processador seria capaz de desempenhar quase todas as funções de um
processador CISC, acabando por compensar suas limitações com uma maior
velocidade de processamento.
É indiscutível, porém, que em
instruções complexas os processadores CISC saem-se melhor. Por isso, ao invés
da vitória de uma das duas tecnologias, atualmente vemos processadores
híbridos, que são essencialmente processadores CISC, mas incorporam muitos
recursos encontrados nos processadores RISC (ou vice-versa).
DIFERENÇAS ENTRE ARQUITETURAS
CISC E RISC
A transição de CISC para RISC
foi uma mudança radical na arquitetura. Os conjuntos de instruções foram
mudados, sacrificando a compatibilidade binária para o desempenho.
Reduzindo o conjunto de
instruções, o processador cabia em um chip menor que permitia que os
desenvolvedores aumentassem a velocidade do clock. Além disso, o processador
poderia ser pipelineado e uma unidade de controle microcodificada tornou-se
desnecessária. RISC “resolve os casos comuns mais rápidos”, era o princípio que
conduziu a um aumento impressionante da performance comparados com os
processadores CISC.
Enquanto a tecnologia avançava
para aumentar os tamanhos dos dados e aumentar a densidade do transitor, os
desenvolvedores do processador RISC começaram a considerar maneiras de usar
esse espaço novo do chip. Alguns dos usos desse espaço incluíram:
On-chip chaces que são
cronometradostão rapidamente quanto ao processador;
Unidades funcionais adicionais
para execução superescalar;
Intruções adicionais não-RISC
(mais rápidas);
On-chip aceitando operações de
ponto flutuante;
Profundidade aumentada do
pipeline.
Assim, a geração atual de
processadores de desempenho elevado carrega poucas características dos
processadores que iniciram a revolução RISC.
Todos os processadores dispõem
de instruções de salto “de ida e volta”, normalmente designados de instruções
de chamada de sub-rotinas: nestas, para além de se alterar o conteúdo do
registro PC como qualquer instrução de salto, primeiro guarda-se o endereço de
instrução de salto (e que se encontra no PC). Nas arquiteturas CISC normalmente
este valor é guardado na stack. Nas aquiteturas RISC o valor normalmente é
guardado num registro.
CISC - Grande riqueza na especificação de modos de
endereçamento;
RISC - Apenas em operações load/store e apenas 1 ou 2 modos;
CISC - 1 ou mais operandos em memória (Max 1 i86 e M68K);
RISC – Operandos sempre em registros.
Atualmente pode-se dizer que não
existem mais chips CISC ou RISC, mas sim chips híbridos, que misturam
características das duas arquiteturas, a fim de obter o melhor desempenho
possível.
3.1 COMPARAÇÃO ENTRE
CARACTERÍSTICAS CISC E RISC
Principais características de
microprocessadores CISC:
Muitas instruções;
Instruções são complexas;
Microcodificação das instruções;
Alta capacidade de endereçamento
para operações de memória;
Número reduzido de
registradores.
Em comparação,
microprocessadores RISC são mais ou menos opostos aos CISC:
Conjunto reduzido de instruções;
Instruções menos complexas;
Unidade de controle
hardwarizada;
Baixa capacidade de
endereçamento para operações de memória;
Apenas duas instruções básicas,
LOAD e STORE;
Grande número de registradores.
Exemplos de CISC e RISC
4.1- Exemplos de arquitetura CISC
X86: Basicamente todos os
processadores atuais desktop se enquadram nessa categoria, desde os 80386 até
os modernos Core i7;
4.2 – Exemplos de Aplicação e Arquitetura RISC
DEC Alpha: Workstations,
servidores;
PA-RISC Packard, da Hewlett;
ARC: Chips multimídia;
ARM: iPad, Smartphones,
Celulares;
Modens;
Power PC, Apple Motorola, IBM;
Power: Playstation 3, Xbox 360,
Wii;
Supercomputadores.



Comentários
Postar um comentário