arquiteturas risc e cisc - ime.usp.bradao/computadoresrisc2018.pdf · risc e cisc adão de melo...

23
1 Arquiteturas RISC e CISC Adão de Melo Neto

Upload: dangdan

Post on 09-Nov-2018

234 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

1

Arquiteturas RISC e CISC

Adão de Melo Neto

Page 2: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

2

Arquitetura RISC Arquitetura RISC.

– É um das inovações mais importantes e interessantes.

– RISC significa uma arquitetura com um conjunto reduzido de instruções (“Reduced Instruction Set Computer”).

– A maioria dos projetos RISC compartilham os seguintes elementos básicos:• Grande número de registradores de propósito geral.• Um conjunto de instruções simples e limitado• Enfoque na otimização da pipeline de instruções

Page 3: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

3

Arquitetura RISC

Page 4: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

4

Porque CISC ? Características da execução de instrução

– Uma das evoluções em computação foi a invenção das linguagens de programação. Na época, o custo do software era elevado, devido ao limitado número de programadores disponíveis uma vez que era difícil programar nas linguagens alto nível existentes. O software além de caro era pouco confiável, devido esta dificuldade.

– Resposta dos pesquisadores e da indústria • Desenvolver linguagens de programação de alto nível cada vez mais poderosas e

complexas, facilitando o desenvolvimento dos softwares.

– Novo problema que surge (o gap semântico)• A distância semântica entre as operações disponíveis em linguagem de alto-nível e as

operações disponibilizadas pelo hardware dos computadores (linguagem de máquina).

Page 5: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

5

Porque CISC ? Características da execução de instruções

– Resposta ao problema (do gap semântico)

• Desenvolvimento de arquiteturas que diminuíssem a distância entre as instruções de linguagens de alto nível e as instruções de máquina (em assembly), ou seja uma arquitetura com grande número de instruções em assembly, parecidas com as instruções em alto nível

– As característica destas arquiteturas incluem:

• Grande conjunto de instruções

• Muitos modos de endereçamento.

• Uso intensivo da microprogramação

Page 6: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

6

LINGUAGEM DE MÁQUINA x MICROPROGRAMA Microprogramação

– É uma linguagem específica da máquina, capaz de executar um conjunto específico de instruções em linguagem de máquina.

– O processador tem alguma memória embutida (tipicamente ROM) que contém grupos de instruções de microcódigo. Quando uma instrução em linguagem de máquina chega ao processador central, o processador executa a série correspondente de instruções em microcódigo.

Linguagem de máquina (linguagem assembly)– É a linguagem binária que pode ser executada diretamente pela unidade de controle.

UC

Page 7: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

7

Porque CISC ? Esses complexos conjuntos de instruções (em linguagem de máquina)

tinham o seguinte objetivo:

– Facilitar o desenvolvimento de compiladores– Melhorar a eficiência na execução de programas, com a

implementação de sequencia de operações em microcódigo– Oferecer suporte para linguagens de alto nível cada vez mais

complexas. No entanto, enquanto isso ..... eram realizados estudos para determinar as

características e os padrões de execução de instruções de máquinas geradas por linguagens de alto nível.

Page 8: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

8

Porque RISC ? Para entender a linha de raciocínio adotada pelos

defensores do RISC vamos examinar a características da execução de instruções em linguagem de alto-nível (aspectos que devem ser examinados)

Page 9: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

9

Comportamento de programas em linguagem de alto-nível

COMANDOS MAIS FREQUENTES– Vários estudos foram realizados para analisar o comportamento de programas de alto-nível.

• O tipo de comando predominante é o de atribuição:– Isto sugere que a transferência de dados simples são de grande importância.

• Existe grande predominância de comandos condicionais e laços de repetição (IF , LOOP):– São implementados em linguagem de máquina que utilizam algum tipo de comparação e

instruções de desvio

Page 10: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

10

COMANDOS QUE CONSOMEM MAIS TEMPO– A chamadas de procedimento consomem mais tempo na execução de um programa típico em linguagem de alto-nível.

Comportamento de programas em linguagem de alto-nível

Page 11: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

11

FREQUENCIA DAS CHAMADAS DE PROCEDIMENTO– São bastante comuns nas linguagens de alto-nível.

• Isto sugere que estas operações são as que consomem mais tempo de execução de código obtido pela compilação de programas.

– Em 98% das chamadas, o número de argumentos é inferior a 6.

– Em 92% das chamadas de procedimento são utilizadas menos que seis variáveis locais.– É raro ocorrer longa sequencia de chamadas e retorno de procedimentos.

Comportamento de programas em linguagem de alto-nível

Page 12: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

12

Porque RISC ? Conclusão dos defensores da Arquitetura RISC

– A tentativa da construção de uma arquitetura com conjunto de instruções mais próxima das linguagens de alto-nível não era a estratégia mais efetiva. e sim por a otimização do desempenho das características responsáveis pelo maior consumo de tempo de execução de programas típicos em linguagens de alto nível.

Page 13: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

13

Porque RISC ? O argumento de que A CISC contribui para simplificação dos compiladores

tem sido combatido pelo projetistas de arquitetura RISC.– Instruções de máquina complexas são difíceis de serem utilizadas. Como prova disso, a

maioria dos códigos gerados por um compilador são simples e não complexas.– Fica mais difícil otimizar o código em linguagem de máquinagerado, para reduzir seu

tamanho, o número de instruções executadas e o desempenho do pipeline de instruções.

A suposição de que na arquitetura CISC deve produzir programas menores e mais baratos tem sido combatido pelo projetistas de arquitetura RISC..– Um programa CISC expresso em linguagem de máquina pode ter um menor número de

instruções, mas o número de bits de memória que ocupa pode não ser significativamente menor.

Page 14: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

14

Porque RISC ? Outra suposição é a de que na arquitetura CISC a execução de

instruções seria mais rápida. Os compiladores para arquiteturas CISC tendem a favorecer instruções mais simples e portanto isso pode não ser verdade.

Page 15: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

15

Arquitetura RISC A arquitetura RISC toma como premissa que o desempenho pode ser

melhorado com:

– a redução do número de referência à memória, a custa de uma grande número de referência a registradores.

• Por isso o grande número de registradores, ou técnicas de compilação que otimize o uso de registradores.

– Cuidadosa atenção ao uso de pipeline de instruções.

• Devido a alta taxa de instrução de desvio condicional e chamadas de procedimentos.

– Uso de um conjunto reduzido de instruções

• Conclusão ainda não tão óbvia.

Page 16: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

16

Arquitetura RISC

– As arquiteturas possuem as seguintes características

1) Uma instrução por ciclo

2) Operações de registrador para registrador.

3) Modos de endereçamento simples

4) Formatos de instrução simples

Page 17: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

17

Arquitetura RISC– 1) Uma instrução por ciclo de máquina

• Ciclo de máquina é o tempo para buscar dois operandos em registradores, executar uma operação da ULA e armazenar o resultado em um registrador.

• As instruções podem ser executadas diretamente pelo hardware da máquina (existe pouco ou nenhuma necessidade de uso de microcódigo)

Page 18: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

18

Arquitetura RISC

– 2) Operações de registrador para registrador• No que se refere ao acesso à memória (que demanda tempo) há apenas

operações simples de CARGA (memóriaprocessador) e ARMAZENAMENTO (processador memoria).

• Isso encoraja a otimização do uso de registradores.• Exemplos:

– O VAX possui 25 tipos de instruções ADD diferentes– Em uma arquitetura RISC existe apenas 01 ou 02 instruções ADD

RISC (SPARC)CISC (VAX)

Page 19: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

19

Arquitetura RISC

– 3) Uso de modos de endereçamento simples• Quase todas as instruções usam modo de endereçamento direto por

registrador. Isso simplifica o conjunto de instruções e a unidade de controle

Page 20: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

20

Arquitetura RISC

– 4) Formato de instruções simples• Geralmente é usado apenas um formato de instrução ou um pequeno

número de formatos diferentes.

• Exemplo SUB X (ACC = ACC –X) apenas ao invés de diversos variantes como SUB X,Y ( X = X-Y) e SUB X,Y,Z ( X = Y-Z)

• Isso simplifica o conjunto de instruções e a unidade de controle

Page 21: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

21

Arquitetura RISC

– Os principais benefícios da arquitetura .• Compiladores otimizados podem ser desenvolvidos.

• As maiorias das instruções geradas por um compilador são simples e com isso a técnica pipeline pode ser aplicada com mais frequência

• Com o advento de tecnologias LSI e VLSI uma única pastilha pode conter um processador completo. Como [e ifícil desenvolver um processador VLSI, o conjunto reduzido de instruções facilita este processo.

• Uso de UC controlada por hardware ao invés de por micro instruções.

Page 22: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

22

CISC x RISC

– Projetos RISC beneficiam-se da inclusão de algumas características RISC (e vice-versa).

– Não existe RISC ou CISC puro atualmente.• O PENTIUM inclui algumas características RISC• O Power PC inclui algumas características CISC

Page 23: Arquiteturas RISC e CISC - ime.usp.bradao/COMPUTADORESRISC2018.pdf · RISC e CISC Adão de Melo Neto. 2 ... • Enfoque na otimização da pipeline de instruções ... – Novo problema

CISC x RISC

23