Risc
Arquitetura RISC (Reduced Instruction Set Computing)
1 Histórico
Inicialmente os computadores tinham poucas instruções e um ou dois modos de endereçamento
Num segundo passo, surgiram os computadores microprogramados, com um conjunto de instruções extremamente complexo no nível de máquina, essa linguagem de máquina era interpretada por microprograma que ficam em ROM, o que implica em não modificar, apesar de ser um programa. Esta tecnologia levou a criação de computadores (ex. VAX) com 200 instruções e 12 modos de endereçamento.
A linguagem de alto nível começou a predominar e a distância semântica (semantic gap) complicou a construção de compiladores. Instruções de alto nível do tipo: if, while, case, etc., devem ser traduzidas para instruções de baixo nível tipo: mov, add e jump. A solução para reduzir esta distância foi elevar o nível da linguagem de máquina, o que era analisado positivamente por alguns autores, que desejavam instruções de máquina com mais campos e menos registradores.
Também, em outros tempos, a velocidade da RAM era muito mais baixa que a da CPU, além disso, 10 vezes mais baixa que a ROM, o que criou o desejo de que todos as instruções fossem resolvidas em microcódigos ao invés de programação normal.
2 Regras
Sacrifique tudo para reduzir o tempo de ciclo da via de dados.
Microcódigo não é mágico.
3 Filosofia básica
1. Analisar as aplicações para encontrar as operações chave e elaborar uma máquina ótima para as realizadas pelos programas alvo. Segundo Tanenbaum - 1992, quase 50% das instruções de um programa são comandos de atribuição, 23% de comandos de seleção, 15% de chamadas à funções, 6% de laços de repetição e, 10%, de outros comandos.
2. Projetar uma via de dados que seja ótima para as operações chave. Este é o coração de uma máquina RISC. Composto pelos registradores, pela ULA e pelos barramento internos que os conectam. Em um único ciclo, os