segunda-feira, 8 de outubro de 2012

Arquiteturas_CISC_e_RISC

Definição de CISC e RISC

CISC é o conjunto de instruções admitidas é substancialmente grande, complexo, de formato e duração diferentes. Internamente, o processador subdivide instruções complexas em instruções mais simples, o que obriga a aumentar a complexidade do chip (microcódigo) e nesses termos diminuir a velocidade de relógio para não surgirem problemas electrónicos, com as resultantes e inconvenientes perdas de desempenho ou seja é  capaz  de  executar  várias  centenas  de  instruções 
complexas diferentes, sendo extremamente versátil.

Arquitetura CISC:

Microprocessadores  CISC  (Complex  Instruction  Set  Computer)  são
fáceis de programar e permitem um uso eficiente de memória.
 A  pouco  tempo  atrás  as  máquinas  eram  programadas  única  e exclusivamente em linguagem Assembly (linguagem de máquina), e as memórias eram lentas e caras, o que justificou a filosofia CISC.
 Assim,  projetos  de  microprocessadores  clássicos,  tais  como    o  Intel 80x86 e o Motorola 68K series, seguiram a filosofia CISC.
Mudanças  recentes  na tecnologia  de  software  e  hardware forçou  uma
reavaliação em termos de arquitetura.
 Assim, muitos processadores CISC mais modernos têm implementado alguns princípios RISC  (Reduced Instruction Set Computer), tornando­ se arquiteturas híbridas mais convenientes.
 No  fundo,  a  idéia  CISC  ganhou  força  devido  ao  fato  de  ela  gerar  a necessidade  de  compiladores  de  simples  desenvolvimento,  uma  vez que  muitas  instruções  de  máquina  são  realizadas  pelo  próprio
processador.

O objectivo dos cisc é optimizar o desempenho das máquinas.

Desvantagens de cisc:

  • Como as novas gerações de uma família de processador geralmente envolve  a  geração  antecessora,  tanto  o  conjunto  de  instruções quanto o hardware do novo chip tornam­-se mais complexos 
  •  Instruções  diferentes  levam  quantidades  diferentes  de  período  de relógio para executar, o que pode tornar a máquina excessivamente lenta
  •  Instruções  muito  especializadas  não  são  usadas  com  a  frequência suficiente  a  ponto  de  justificar  sua  existência  –  aproximadamente 20% das instruções disponíveis são usadas em um programa típico
  •  Instruções  CISC  típicas  setam  “condition  codes”,  o  que  demanda tempo  de  execução,  além  do  fato  de  os  programadores  terem  um esforço extra em lembrar de examiná-­las. 





O conceito de processador RISC baseia-se na premissa de que será menos eficiente executar uma instrução complexa do que executar o conjunto de instruções simples equivalente.
Assim, os processadores RISC têm por objectivo simplificar o conjunto de instruções em diversas dimensões por forma a maximizar esta premissa ou seja são aqueles  que  utilizam  um  pequeno  conjunto  de  instruções  altamente otimizado.
Para isso, um processador RISC caracteriza-se por:
  • Execução  em  um  ciclo  de  clock.  Esta  característica  é  resultado  da otimização  de  cada  instrução,  aliada  a  uma  técnica  chamada  de Pipelining;
  •  Grande número de registradores para evitar uma quantidade elevada de interações com a memória.
Cada instrução consiste num grupo de bits que pode ser dividido em duas partes:
  • a primeira parte indica o que é a instrução e como será executada, sendo constituída de um só campo;
  • a segunda parte referese ao(s) dado(s) que será(ão) manipulado(s) na operação, podendo ser constituída por mais de um campo.
A definição dos códigos de operação do conjunto de instruções de um processador pode ser feita por duas maneiras: 
  • instruções com C.Op. de tamanho fixo;
  • instruções com C.Op. de tamanho variável.
No primeiro caso, todas as instruções têm um C.Op. com a mesma quantidade de bits. A implementação das instruções e sua manipulação durante a execução de um programa são facilitadas, ao passo que o tamanho do C.Op., e da própria instrução tende a aumentar, influenciando no aumento do tamanho ocupado pelo programa na MP. 



As instruções de máquina tem os seguintes tipos, dependendo da sua função:
  • Processamento de dados: instruções aritméticas e lógicas;
  • Armazenamento de dados: instruções de memória;
  • Movimentação de dados: instruções de E/S;
  • Controle: instruções de teste e desvio.
Instruções aritméticas são aquelas que fornecem a capacidade computacional para processamento de dados numéricos. Instruções lógicas (ou booleanas) operam sobre bits de uma palavra, na condição de bits e não de números, oferecendo, portanto, a capacidade de processar qualquer outro tipo de dado (quantitativo ou qualitativo) que o usuário possa desejar empregar, sem o estabelecimento de relações matemáticas ou algébricas entre esses dados. Instruções de memória são aquelas utilizadas para mover dados entre a memória e os registradores da UCP, uma vez que operações aritméticas e lógicas são executadas sobre dados armazenados nesses registradores. Instruções de E/S são necessárias para transferir programas e dados para a memória (provenientes de fontes externas à UCP) e para transferir resultados de processamentos computacionais de volta para o usuário. Instruções de teste são aquelas utilizadas para testar o valor de uma palavra de dados ou o estado de uma etapa de processamento computacional. Instruções de desvio são usadas para desviar a execução do programapara uma nova instrução, muitas vezes em função do resultado de um teste.

Desvantagens da arquitetura risc:


  • É fato que máquinas RISC são mais baratas e mais rápidas do que as CISC, o que pode nos induzir a pensar que elas são as máquinas do futuro.
  • Entretanto, o  custo de um hardware mais  simples é a necessidade de um software mais complexo.




Sem comentários:

Enviar um comentário