Buscar

RISC vs CISC

Prévia do material em texto

*
*
Aula 4 
Organização e Arquitetura de Computadores
RISC x CISC
Profa. Débora Matos
*
*
Os primeiros computadores tinham conjunto de instruções simples e pequeno;
 À medida que os computadores foram ficando mais poderosos, as instruções tornaram-se mais complexas;
Uma instrução completa poderia fazer uma operação mais rapidamente do que várias simples;
Para permitir a execução de instruções mais complexas, mais hardware precisaria estar disponível para a execução das mesmas.
Conjunto de Instruções
*
*
Computadores caros, de alto desempenho, passaram a ter mais instruções do que os de custo baixo, já que o custo era justificado;
Aumentou a necessidade de obter maior desenvolvimento mesmo em computadores de baixo custo;
O problema estava em construir um computador de baixo custo que pudesse executar todas as complicadas instruções;
A solução seria utilizar linguagens interpretadas.
Conjunto de Instruções
*
*
Um interpretador subdivide as instruções da máquina em pequenas operações;
Dessa forma, a máquina em que o código interpretado roda é muito mais simples.
Essa técnica permite um projeto de computadores mais simples e de menor custo, mas podendo executar um grande número de instruções;
Interpretador
*
*
A operação de execuções mais simples também apresenta outros benefícios:
Possibilidade de acrescentar mais instruções a um custo mínimo em arquiteturas futuras;
Projeto estruturado que permitia desenvolvimento e testes eficientes de instruções complexas;
Capacidade de projetar uma CPU simples e confinar a complexidade ao interpretador;
Interpretador
*
*
Microprocessadores CISC (Complex Instruction Set Computer) são fáceis de programar e permitem um uso eficiente de memória (apresenta mais instruções que acessam a memória).
Programa se torna menor pois apresenta instruções que realizam várias operações em uma única instrução.
Há algum tempo atrás as máquinas eram programadas única e exclusivamente em linguagem Assembly (linguagem de máquina), e as memórias eram lentas e caras, o que justificou a filosofia CISC.
Assim, projetos de microprocessadores clássicos, tais como o Intel 80x86 e o Motorola 68K series, seguiram a filosofia CISC.
CISC
*
*
As instruções complexas são chamadas de CISC – Complex Instruction Set Computer (Computador com conjunto de instruções complexo);
Em arquiteturas CISC, as instruções mais complexas podem ser subdivididas em partes separadas e podem ser executadas como uma sequência de microinstruções. 
Essa etapa extra faz com que a execução de algumas instruções seja mais lenta. Essa solução é aceitável apenas para instruções que ocorrem com menor frequência.
CISC
*
*
Microprocessadores CISC são fáceis de programar (apresentam grande variedade de instruções).
Possuem uma lógica de decodificação complexa, devido aos vários modos de endereçamento;
Exemplos de CISC com micro/macro-instruções RISC: Pentium, AMD Athlon;
CISC
*
*
CISC
*
*
Possuem uma lógica de decodificação de instrução complexa, originada pela necessidade de suportar modos de endereçamento múltiplos;
Possuem um número pequeno de registradores de propósito geral, devido ao fato de as instruções poderem operar diretamente na memória, além de uma quantidade limitada de espaço em chip não dedicada;
Possuem muitos registradores de propósito específico, tais como, apontadores de pilha, tratadores de interrupção, etc.
CISC
*
*
Utiliza microprogramação, que é fácil de implementar e menos caro do que uma unidade de controle em hardware.
A facilidade de novas instruções de microcódigos permitiu aos projetistas tornar as versões mais recentes de máquinas CISC compatíveis com as máquinas antigas.
CISC
*
*
Conjunto de instruções e hardware muito complexos;
Torna-se complicado manter a compatibilidade em novos microprocessadores;
Instruções diferentes executam em diferentes ciclos de clock, dificultando a implementação de técnicas de paralelismo;
Algumas instruções muito específicas são utilizadas pouquíssimas vezes (20%), requerendo HW e definições não justificáveis.
Desvantagem CISC
*
*
Com a necessidade de instruções que fizessem mais operações, as arquiteturas CISC estavam se tornando muito complexas;
Um grupo resolveu voltar atrás em instruções mais simples;
Os primeiros projetos RISC foram desenvolvidos nos anos 70 e 80 pelas universidades de Stanford e Berkeley.
Do CISC para o RISC
*
*
Sem estarem presos as ISAs CISC complexas, os projetistas tinham liberdade de escolher novos conjuntos de instruções que maximizassem o desempenho do sistema;
Estas CPUs apresentavam um número reduzido de instruções;
Instruções com poucos acessos a memória;
Do CISC para o RISC
*
*
Por que processadores CISC apresentam uma lógica de decodificação de instrução complexa? Cite 3 fatores.
*
*
Formaram então as chamadas arquiteturas RISC – Reduced Instrucion Set Computer (Computador com conjunto de instruções reduzido).
Surgiu o conceito de família: processadores de uma mesma família, apresentam a mesma arquitetura (ISA, tamanho da palavra, técnicas de endereçamento à memória, etc).
Baixa capacidade de endereçamento para operações de memória, com apenas duas instruções básicas, LOAD e STORE.
RISC
*
*
Pipeline
	A técnica de pipeline permite que o processador tire proveito máximo de suas estruturas internas, dividindo o ciclo de processamento em tarefas menores. A execução destas tarefas é realizada em sequência e permitem o melhor aproveitamento do hardware. 
	Para que ocorra pipeline, é necessário:
Instruções com tempo de execução próximos e previsíveis (execução em um único ciclo)
Baixo número de instruções.
Instruções com codificação similar.
RISC
*
*
RISC
Arquitetura Pipeline com Quatro Estágios
*
*
Pipeline
Sem pipeline
Com pipeline
*
*
Pipeline
Instruction Fetch (FI) – 
Busca da próxima instrução.
Instruction Decode (ID) – 
Decodifica a instrução e localiza os dados a serem utilizados.
Operand Fetch (OF) – 
Busca dos dados na memória/ banco de registradores.
Execute Instruction (EI) – 
Executa a operação requisitada.
Write Back (WB) – 
Escreve o resultado na memória.
*
*
Pipeline
*
*
Com pipeline
Pipeline
*
*
Pipeline
Se o tempo para os estágios são os seguintes:
100ps para leitura e escrita nos registradores
200ps para os demais estágios.
Qual é a frequência de operação?
*
*
Principais características das máquinas RISC:
Conjunto de instruções limitado;
Número grande de registradores ou compilador que otimize o uso dos registradores;
Ênfase na otimização do pipeline de instruções;
RISC
*
*
Qual o objetivo de definir instruções mais simples e com etapas que se assemelham?
Devido as instruções serem mais simples e com operações semelhantes, é possível dividir as instruções em várias operações e assim implementar um pipeline eficiente.
RISC
*
*
Por que o uso de pipeline é vantajoso? Apresente um exemplo da técnica para justificar a resposta.
*
*
Qual o objetivo de definir um número maior de registradores?
A fim de otimizar a referência a operandos. Dessa forma, é possível reduzir o acesso a memória. Como o acesso a memória é muito mais dispendioso que o acesso aos registradores, tem-se um grande ganho em desempenho ao fazer-se o uso de um Banco de Registradores.
RISC
*
*
De acordo com alguns estudos, avaliando a frequência dinâmica na ocorrência de operandos, foi verificado que a maior frequência é de variáveislocais escalares (variáveis de um único valor).
Essa conclusão favorece o uso de registradores de uma palavra para armazenar os resultados.
RISC
*
*
Banco de Registradores:
Registradores são mais rápidos, pois são pequenos;
Um banco de registradores emprega endereços menores do que uma memória cache.
RISC
*
*
Princípios dos projetos de arquiteturas RISC:
Todas as instruções são executadas diretamente por hardware:
As instruções não são interpretadas por microinstruções. 
Eliminar um nível de interpretação dá alta velocidade à maioria das instruções. 
Permitir a execução de várias instruções ao mesmo tempo
Uso de técnicas como o pipeline. 
Existem algumas questões que devem observadas quando o pipeline é empregado.
RISC
*
*
Princípios dos projetos de arquiteturas RISC:
Instruções devem ser fáceis de decodificar:
 A decodificação de instruções verifica quais recursos precisam ser alocados. Facilitar a decodificação de instruções inclui definir:
instruções regulares, 
de comprimento fixo, 
com um pequeno número de campos. 
Essas características permitem reduzir o tempo de decodificação da instrução.
Quanto menor o número de formatos diferentes para as instruções, melhor!!
RISC
*
*
Princípios dos projetos de arquiteturas RISC:
Somente instruções de LOAD e STORE devem referenciar a memória:
Dessa forma, os operandos para a maioria das instruções vêm de registradores da CPU. 
Definir acesso a memória em instruções que façam apenas isso: load ou store;
Somente estas instruções podem fazer acesso a memória.
Todas as demais instruções devem operar somente em registradores.
RISC
*
*
Princípios dos projetos de arquiteturas RISC:
Fazer o uso de muitos registradores:
O que acontece se forem definidos poucos registradores para a arquitetura? 
Como o acesso à memória é relativamente lento, para reduzir esses acessos, é preciso definir uma arquitetura com muitos registradores. 
Esgotar os registradores e ter de descarregá-los de volta à memória é indesejável e deve ser evitado o máximo possível.
RISC
*
*
RISC
*
*
RISC
ARM Cortex - exemplo de processador RISC utilizado em smartphones.
*
*
 Com o uso do pipeline, processadores RISC permitem que um nova instrução seja concluída a cada ciclo de clock.
 Com um número grande de registradores, o acesso à memória é reduzido. Como acessos a memória são mais lentos, é possível aumentar o desempenho na execução das instruções;
Vantagens RISC
*
*
As máquinas RISC são mais baratas e mais rápidas do que as CISC, no entanto, o custo de um hardware mais simples é a necessidade de um software mais complexo.
Desvantagem RISC
*
*
RISC x CISC
*
*
Exemplos de formato de instruções:
RISC x CISC
CISC
X86 - Intel
RISC
MIPS
*
*
Exemplos de formato de instruções:
RISC x CISC
*
*
Atualmente houve um entendimento de que o projeto RISC pode se beneficiar da inclusão de alguns recursos CISC, bem como, o projeto CISC pode usar técnicas RISC;
Os projetos RISC mais recentes (PowerPC e ARM) não são mais puramente RISC e da mesma forma os projetos CISC mais recentes (Pentium II em diante) incorporam algumas características RISC.
RISC x CISC
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
Parou aqui
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

Continue navegando