Buscar

2 - Arquitetura RISC

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
Arquitetura RISC
*
Introdução
Os elementos essenciais de uma instrução são:
Código de operação;
Referências aos operandos de origem e de destino;
Endereço da próxima instrução.
*
Introdução
Característica comum à arquitetura de diversos processadores é o uso de uma pilha, visível ou não ao programador. Operações básicas PUSH (empilhar) e POP (desempilhar).
*
Introdução
O conjunto de instruções da máquina constitui o limite em que o projetista e o programador de computadores enxergam uma mesma máquina:
Projetista – Fornecer os requisitos funcionais para a CPU.
Programador (linguagem de máquina) – conhecer o conjunto de registradores da CPU, a estrutura de memória, os tipos de dados e o funcionamento da ULA.
*
Características de Instrução de Máquina
A operação de uma CPU é determinada pelas instruções que ela executa, as instruções de máquina ou instruções de computador. A coleção de diferentes instruções é conhecida como conjunto de instruções da CPU.
*
Introdução
Os processadores Intel até o 486 eram baseados na arquitetura CISC. 
Padrão CISC:
Comandos que incorporam muitas instruções mínimas para executar uma simples operação.
Essas instruções mínimas são chamadas de RISC - Reduced Instruction Set Computing (Conjunto Reduzido de Instruções Computacionais ). 
*
Introdução
1980 – David Patterson e Carlo Séquin desenvolveu chips processadores somente em hardware, denominado RISC :
Chips VLSI - RISC I CPU.
1981 - John Hennessy desenvolveu um processador com projeto semelhante:
MIPS.
*
Introdução
Máquinas RISC 
Um conjunto limitado de instruções com formato fixo;
Grande número de registradores ou o uso de um compilador que otimize o uso de registradores;
Enfoque na otimização do uso da pipeline de instrução.
*
Introdução
Máquinas RISC 
O conjunto de instruções simples favorece o uso eficiente de pipelines porque o número de operações por instrução é menor e mais previsível.
Favorece também o uso da técnica de atraso de instruções de desvio, na qual são trocadas de posição com outras instruções para melhorar a eficiência.
*
Processadores (Caminho de dados)
Registradores
Registradores de entrada da UAL
Registradores de saída da UAL
Barramento de entrada da UAL
*
Introdução
Por quê não há predominância do projeto RISC?
Compatibilidade com os softwares aplicativos.
Investimentos.
O padrão não oferecerá benefícios, a não ser que seja usado um SO e programas criados e compilados especificamente para tirar vantagens das operações RISC. 
O emprego das mesmas idéias do padrão RISC foram aplicadas na arquitetura CISC.
*
Características e Funcionamento 
No início os Processadores RISC eram mais velozes. 
O termo refere-se ao número de ciclos de máquina que o processador leva para selecionar uma instrução. 
Um chip RISC, pode selecionar e executar uma instrução a cada ciclo de máquina.
Ciclo de máquina –tempo requerido para buscar dois operandos em registradores, executar a operação e armazenar. 
*
Características e Funcionamento
As funções de comando consistem de muitas instruções pequenas e individuais, que realizam apenas uma única tarefa.
O software aplicativo, recompilado para um processador RISC, informa ao processador qual a combinação de seus comandos menores deve ser executada para completar uma operação maior.
*
Características e Funcionamento
Todos os comandos são do mesmo tamanho, e há somente uma maneira de carregá-los e armazená-los. 
Com cada comando na forma de microcódigo, os processadores não precisam usar uma unidade que transforme os comandos complexos em microcódigos mais simples, tornando-os mais rápidos. 
*
Características e Funcionamento
Durante a compilação de software para um chip RISC, o compilador determina quais comandos não vão depender dos resultados de outros. Como estes comandos não têm de esperar por outros, o processador pode executar simultaneamente vários comandos em paralelo.
*
Características e Funcionamento
No processador RISC o conjunto de circuitos pode ser mais simples. 
Os comandos RISC passam por um número menor de transistores em circuitos mais curtos, desta forma os comandos são executados mais rapidamente. 
O número de ciclos necessários para completar uma operação inteira depende do número de pequenos comandos que constituem essa operação. 
*
Princípios do Projeto RISC
As instruções são executadas diretamente por hardware:
Todas as instruções comuns são executadas diretamente pelo hardware – não são interpretadas por microinstruções.
Maximizar a taxa de execução das instruções:
Tentar iniciar o máximo possível de instruções por segundo.
Instruções fáceis de decodificar:
Decodificar a instrução, determinar seus recursos, é um gargalo no processamento.
Soluções:
Criar instruções regulares, de comprimento fixo, com pequeno número de campos.
Menor número de formatos para a instrução.
*
Princípios do Projeto RISC
Somente LOAD e STORE devem referenciar a memória:
Requerer que os operandos venham de registradores da CPU e a eles retornem.
Movimentação de operandos da memória para registradores pode ser executada em instruções separadas, sobrepondo essas instruções a outras.
Quantidade de registradores:
Sendo o acesso à memória lento, é preciso muitos registradores.
*
Pipelined
Técnica em que o hardware processa mais de uma instrução de cada vez. Ele não espera o término de uma instrução para executar outra. 
Na máquina CISC são quatro fases para a execução: busca, decodificação, execução e escrita. Na máquina RISC, as mesmas fases são executadas em paralelo. Uma fase não precisa esperar a outra terminar, para que ela se inicie, melhorando o processamento global. 
*
Diferenças entre Arquiteturas RISC e CISC
Com o conjunto de instruções mudados e reduzidos, e o uso de pipelined, o processador cabia em um chip menor permitindo aumento na velocidade do clock e a inserção de novas características: 
Registros adicionais; 
Unidades funcionais adicionais para execução superescalar; 
Instruções adicionais não-RISC (mais rápidas); 
On-chip aceitando operações de ponto flutuante; 
Profundidade aumentada no Pipelined.
*
Diferenças entre Arquiteturas RISC e CISC
Arquiteturas RISC
Os processadores possuem 32 registros genéricos de 32 bits – para representar valores inteiros e/ou endereços de memória.
Apontador para a próxima instrução, o instruction pointer ou program counter.
Arquiteturas CISC
Dois bancos de 8 registros genéricos de 32 bits: um para dados (D) e outro para apontadores para a memória (A). 
A arquitetura de base dispõe de 4 registros para conter operandos aritméticos (A, B, C e D), mais 4 para trabalhar com apontadores para a memória (BP, SP, DI e SI) e outros 4 para lidar com uma memória segmentada (CS, DS, SS e ES). 
Variação da dimensão dos registros na mesma família, pois o formato de instrução foi concebido para distinguir apenas operandos de 8 e de 16 bits; para garantir compatibilidade, os novos processadores têm de distinguir operandos de 8, 16 e 32 bits, usando o mesmo formato de instrução. 
*
Diferenças entre RISC e CISC
Todos os processadores dispõem de instruções de salto "de ida e volta“ (instruções de chamada de sub-rotinas):
Guardar o endereço de instrução que segue a instrução de salto no PC; nas arquiteturas CISC este valor é guardado na stack; nas arquiteturas RISC ele é guardado num registro.
*
Conjunto de Instruções de um Processador RISC
O conjunto de instruções que cada processador suporta é bastante variado. 
Para transferência de informação: entre registros e a memória (load/store), entre registros, entre posições de memória (não disponível em qualquer arquitetura RISC), ou entre registros e a stack; 
Operações aritméticas, lógicas, ...: soma, subtração, e operações lógicas AND, OR, NOT; alguns suportam a divisão, quer diretamente por hardware, quer por microprogramação.
*
Acesso
a Operandos em Memória em CISC e RISC 
Na arquitetura CISC devido a um menor número de registros é feita a alocação das variáveis em posições de memória, enquanto que nas arquiteturas RISC, a regra é alocar em registros. 
A CISC por suportar o aninhamento e recursividade de procedimentos, necessita de um vários modos de endereçamento à memória.
*
Operações Lógicas e Aritméticas em CISC e RISC
A diferença está na localização dos operandos, e o nº de operandos que é possível especificar em cada instrução: 
CISC: 1 ou mais operandos em memória; nem sempre se especificam 3 operandos. 
RISC: operandos sempre em registros; 3 operandos especificados (1 dest, 2 fontes).
*
Vantagens e Desvantagens do RISC
Vantagens 
Velocidade 
Devido a tecnologia pipelined a RISC alcança duas a quatro vezes a performance dos processadores CISC.
Simplicidade do Hardware
O processador RISC trabalha com instruções simples, utiliza menos espaço no chip.
Instrução de máquina simples 
As instruções construídas para um processador RISC são simples e pequenas o que aumenta a sua performance.
*
Vantagens e Desvantagens do RISC
Desvantagens
A transição da arquitetura CISC para RISC pode apresentar problemas para fazer a transição do código de memória de maneira correta. 
Qualidade do Código 
A performance de um processador RISC depende diretamente do código gerado pelo programador.
Expansão do Código 
Refere-se ao aumento de tamanho que se obtém de um programa originalmente compilado para uma máquina CISC.
Projeto de Sistema 
A arquitetura RISC requer sistema de memória rápida para alimentar suas instruções, ou seja, memória cache interna, o que encarece o projeto.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando