Pular para o conteúdo principal

Processadores CISC x RISC

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

Postagens mais visitadas deste blog

Arquitetura de computadores

1.       Computador Um computador é uma máquina composta de partes eletrônicas e eletromecânicas (hardware) capaz de coletar, manipular e fornecer os resultados de informações para um ou mais objetivos. Para ser considerado um computador ele precisa ter processador, memória e dispositivos  de entrada e/ou saída, que podem ser utilizados de modo eficiente na solução de tipos de problemas os quais possuem uma grande complexidade ou grande volume de dados. A arquitetura de computadores se refere ao comportamento de um sistema computacional visível para o programador, ou seja, aos aspectos relacionados com a execução lógica de um programa. A organização de computadores se refere às unidades estruturais e seus relacionamentos lógicos e eletrônicos. Os sistemas digitais, em seu nível mais baixo (linguagem de máquina), representam as informações somente através de dígitos (obs.: 0 1). Num nível mais alto (linguagem que necessitam de interpretadores), este...

Evolução dos computadores

     Depois que a Intel projetou o primeiro microprocessador, dispositivo que reúne num mesmo chip, todas as funções do processador central, tornou mais próxima a criação de computadores pessoais, ou microcomputador. Em 1981, a IBM lança o seu PC (Personal Computer), que se torna um sucesso comercial.  Personal Computer - 1981     A IBM passou a separar a criação de hardware do desenvolvimento de sistemas, iniciando o mercado da indústria de Software. Isso foi possível devido a utilização de linguagens de alto nível. O sistema operacional usado era o MS-DOS, desenvolvido pela Microsoft. Na época, Bill Gates , o dono da Microsoft, convence a IBM e as demais companhias a adotarem o sistema operacional de sua empresa. Uma ideia que beneficiou não só a Gates, mas a todos, pois isso permitia que um mesmo programa funcione em micros de diversos fabricantes. Posteriormente, os PCs passam a usar microprocessadores cada vez mais potentes: 286, 386SX, 386DX,...