Cursos / Eletrônica / Sistemas Digitais / Aula

arrow_back Aula 15 - Introdução a Microprocessadores, Microcontroladores e Processadores Digitais de Sinais

CISC e RISC

Agora que sabemos o é um conjunto de instruções, podemos retomar as definições de arquiteturas do tipo CISC e RISC, começando pela CISC. Os computadores com arquitetura CISC apresentam um conjunto muito grande de instruções e algumas delas, dado sua complexidade, apresentam formatos e tamanhos diferenciados e são executadas em múltiplos ciclos de relógio (clock).

Por outro lado, a proposta das arquiteturas RISC é possuir um conjunto de instruções com poucas instruções e que essas instruções sejam do mesmo tamanho e, normalmente, processadas em um único ciclo de relógio.

As arquiteturas RISC foram propostas como uma alternativa às arquiteturas CISC, uma vez que em muitos casos, notou-se que os processadores com grande conjunto de instruções CISC passava a maior parte do tempo executando um pequeno subconjunto do seu conjunto de instruções, e quase nunca executavam as instruções mais complexas. Dessa forma, com o objetivo de tentar diminuir a complexidade da arquitetura, surgiu a proposta de projetar processadores mais simples e velozes, retirando do seu conjunto de instruções as instruções mais complexas, e consequentemente, mais demoradas.

Com o sucesso das arquiteturas RISC, muitos fabricantes passaram a projetar e desenvolver processadores com conjunto reduzido de instruções. Exemplos de algumas arquiteturas RISC são o SPARC da Sun Microsystems (1987); o RS/6000 da IBM (1990); e o PowerPC, criado pela aliança entre IBM, Motorola e Apple, no início dos anos 90. O PowerPC foi, durante muitos anos, o processador dos computadores Apple.

Apesar disso, como você pode perceber na frase anterior, o PowerPC “foi“ o processador dos computadores da Apple. Se você pesquisar no site da Apple (acesso em 05/10/2017), verá que atualmente todos os computadores, notebooks ou desktops, possuem o processador da Intel core ix (o x se refere ao número, que atualmente, pode ser i5 ou i7). Os processadores Intel ix são processadores CISC. Nesse momento, você deve estar então se perguntando, se a arquitetura RISC é tão mais simples e rápida que a CISC, por que a arquitetura RISC não suplantou a arquitetura CISC?

A resposta está nos seguintes pontos:

  1. Problemas de compatibilidade com arquiteturas mais antigas. Uma vez que o software foi desenvolvido para uma arquitetura CISC, simplesmente mudar para RISC implica em incompatibilidade, pois as instruções CISC não serão entendidas pela máquina RISC.
  2. Arquiteturas RISC necessitam de um software mais complexo, já que o hardware do processador é mais simples. Isso pode ser um problema, dependendo do que se deseja executar naquele processador.

Levando as vantagens e desvantagens em consideração, o que temos hoje em dia é que a escolha da arquitetura RISC ou CISC depende do contexto ao qual àquela máquina irá trabalhar. Mais do que isso, à medida que ocorre a miniaturização dos processadores digitais, observa-se também uma nítida tendência em se projetar unidades com arquiteturas híbridas, CISC e RISC.

Além do conjunto de instruções, o projeto de um sistema de computação também deve considerar o modelo que será usado para acesso a dados e programas. Assim, podemos ter computadores com arquitetura projetada de acordo com o modelo proposto pelo Instituto de Estudos Avançados de Princeton (atribuído a Von Neumann) – Máquina de Von Neumann – e computadores projetados com arquitetura segundo o modelo proposto pela universidade de Harvard – Máquina de Harvard. Logo a seguir você terá uma visão gráfica dessas duas arquiteturas.

Um computador projetado com arquitetura segundo o modelo proposto por Von Neumann apresenta três blocos funcionais básicos (a Unidade de Memória, a Unidade de Controle, e a Unidade Central de Processamento (UCP), que é composta por diversos processadores). Esses blocos são acessíveis através de três barramentos padrões (chamados de BUS): o de dados, o de controle e o de endereços, como mostrado na Figura 3. Por possuir uma única unidade de memória, fisicamente, estão armazenados nessa unidade, programas e dados. Como consequência, pelo barramento de dados, além dos dados (como as variáveis inerentes de um programa), trafegam também as próprias instruções de programa.

Computador projetado segundo o modelo proposto por Von Neumann

Já um computador projetado segundo o modelo de Harvard se diferencia do de Von Neumann por apresentar duas unidades de memória: uma para armazenar dados e uma para armazenar programas. Por consequência, precisa também de um barramento específico para tráfego de dados e um específico para tráfego de instruções de programas, como mostra a Figura 4.

Computador projetado segundo o modelo proposto por Harvard

Beneficiados pelos avanços da tecnologia de fabricação e pelo elevado grau de miniaturização dos chips, muitas inclusões foram feitas aos modelos de Von Neumann e de Harvard, no entanto, a essência de suas proposições está mantida até os dias de hoje.

O modelo Harvard, por possuir memórias separas para memória e dados, permite que o processador possa acessar as duas memórias simultaneamente, obtendo um desempenho maior do que o modelo de Von Neumann, que precisa acessar dados e instruções de forma sequencial.

Para que você entenda como ocorre o ganho de desempenho com acesso simultâneo, é importante que relembrar que um programa é formado por instruções e dados que ficam armazenados em memória. No momento da execução, as instruções são buscadas na memória e executadas uma a uma de forma sequencial. Quando uma instrução precisa de um ou mais dados que estão na memória, o processador precisar aguardar que esse dados seja buscado para poder continuar a execução. Um exemplo do uso do modelo Harvard para aumentar desempenho é buscar a instrução seguinte na memória de instruções, enquanto a instrução atual está sendo executada e seus dados estão sendo buscados na memória de dados. Assim, quando a instrução atual encerrar a execução, a instrução seguinte já estará pronta para iniciar a execução, e a etapa de buscar essa instrução na memória já foi adiantada.

Versão 5.3 - Todos os Direitos reservados