ESTUDO SOBRE A ARQUITETURA RISC
Artigo: ESTUDO SOBRE A ARQUITETURA RISC. Pesquise 862.000+ trabalhos acadêmicosPor: Nice2014 • 10/3/2014 • 3.115 Palavras (13 Páginas) • 736 Visualizações
ESTUDO SOBRE A ARQUITETURA RISC
1. Arquitetura RISC (Reduced Instruction Set Computing)
1.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. 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 todas as instruções fossem resolvidas em microcódigos ao invés de programação normal.
Na área de Sistemas de Informação, GAP pode ser utilizado para identificar uma determinada funcionalidade de um sistema, o qual não atende total ou parcialmente a necessidade do cliente, que por sua vez, pode estar avaliando ou implantando o sistema.
1.2. Regras
Sacrifique tudo para reduzir o tempo de ciclo da via de dados.
Microcódigo não é mágico.
1.3. Filosofia básica
1. Analisar as aplicações para encontrar as operações chave e elaborar uma máquina ótima. 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 barramentos internos que os conectam. Em um único ciclo, os operandos devem ser lidos dos registradores, operados pela ULA e o resultado armazenado em um registrador.
3. Projetar as instruções que executem as operações chaves, estas devem utilizar de forma ótima as vias de dados, ou seja, cada instrução deve utilizar um único ciclo da via de dados.
4. Adicionar novas instruções somente se elas não diminuírem a velocidades da máquina
5. Repetir este processo para outros recursos
A unidade lógica e aritmética (ULA) ou em inglês Arithmetic Logic Unit (ALU) é a unidade do processador (Central Processing Unit, ou simplesmente CPU), que realmente executa as operações aritméticas e lógicas referenciadas pelos opcodes.
A ULA executa as principais operações lógicas e aritméticas do computador. Ela soma, subtrai, divide, determina se um número é positivo ou negativo ou se é zero. Além de executar funções aritméticas, uma ULA deve ser capaz de determinar se uma quantidade é menor ou maior que outra e quando quantidades são iguais. A ULA pode executar funções lógicas com letras e com números.
1.4. Instruções por ciclo de via de dados
A característica mais importante de uma máquina RISC é que as instruções são completadas em um único ciclo de via de dados. Se isso não ocorre, ela não pode fazer parte do conjunto de instruções. Isto acarreta em não ser possível ter instruções como de multiplicação, o que é resolvido por uma série de operações de soma e deslocamento.
Uma instrução RISC é muito parecida com uma microinstrução. Uma operação de alto nível precisa de muitas instruções para ser completada, por outro lado, uma instrução CISC pode levar, muitos ciclos para ser completada devido a interpretação pelo microprograma.
1.5. Registradores
Os compiladores escritos para máquinas RISC fazem uso intenso de registradores, com intenção de reduzir o tráfego na via de dados em comunicação com a memória.
Um processador RISC não tendo microcódigo, não ocupa área de memória para tal tipo de operação, portanto, pode construir um grande número de registradores utilizando esse espaço.
1.5.1. Estudo comparativo: REGISTRADORES x CACHE
Na arquitetura RISC, os registradores são organizados por janelas sobrepostas, e servem para armazenar as variáveis e parâmetros que são acessadas mais rapidamente. Esta filosofia coincide com a filosofia da memória cache utilizada pela maioria das arquiteturas conhecidas atualmente.
A memória cache surgiu quando percebeu-se que as memórias não eram mais capazes de acompanhar o processador em velocidade, fazendo com que muitas vezes ele tivesse que ficar "esperando" os dados serem liberados pela memória RAM para poder concluir suas tarefas, perdendo muito em desempenho. Se na época do 386 a velocidade das memórias já era um fator limitante, imagine o quanto este problema não atrapalharia o desempenho dos processadores que temos atualmente. Para solucionar este problema, começou a ser usada a memória cache, um tipo ultra-rápido de memória que serve para armazenar os dados mais frequentemente usados pelo processador, evitando na maioria das vezes que ele tenha que recorrer à comparativamente lenta memória RAM.
1.5.1.1. Variáveis locais
No RISC todas as variáveis locais, são armazenadas em registradores. Já, no caso da cache, isto é feito apenas com as variáveis mais recentemente utilizadas.
A vantagem da cache aparece quando se discute a transferência de funções ou trechos de programas para ela, o que seria impossível para os registradores. Porém, uma desvantagem aparece justamente neste ponto, pois, a transferência é feita por blocos e, quando se trata de variáveis, algumas que são carregadas na cache não serão utilizadas.
1.5.1.2. Variáveis globais
Semelhante à técnica anterior. Estudos mostram que existe um bom número de variáveis globais, porém, nem todos são fortemente utilizadas. A cache, como guarda as mais recentemente utilizadas, com o tempo, terá a vantagem de guardar apenas aquelas mais necessárias.
1.5.1.3. Endereçamento
...