31
U E M / D I N P r o f . F l á v i o U b e r Arquitetura de Computadores II Prof. Flávio Rogério Uber Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática

Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

Embed Size (px)

Citation preview

Page 1: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Arquitetura de Computadores II

Prof. Flávio Rogério Uber

Universidade Estadual de MaringáCentro de TecnologiaDepartamento de Informática

Page 2: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Informações Úteis

Professor: Flávio Rogério Uber Bloco C-56 – Sala 204 E-mail: [email protected]

Critério de Avaliação:− 4 avaliações:

70% Prova 30% Trabalho

Page 3: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Arquitetura de Computadores II

Arquiteturas Avançadas– Superescalares– RISC x CISC– Paralelismo

Simuladores

Page 4: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Inovações

Conceito de Família (1964) Separa a arquitetura de uma máquina de sua

implementação. Uma mesma arquitetura pode ter implementações diferentes.

Unidade de Controle microprogramada Fornece suporte para o conceito de família

Memória cache (1968) Melhora do desempenho

Pipeline Introduz o paralelismo

Page 5: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Inovações

Múltiplos processadores Arquitetura RISC

Importância dos registradores de propósito geral e a otimização do seu uso

Conjunto de instruções simples Otimização do pipeline

Page 6: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Comparação RISC x CISC

Page 7: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Características

Estudos sobre padrões de execução das instruções

Objetivo: tornar a arquitetura mais simples Aspectos:–Operações efetuadas–Operandos usados–Sequência da execução

Page 8: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Execução de Instruções

Linguagens de alto nível causaram “diferenças semânticas”, portanto:

– Ineficiência da execução– Tamanho excessivo no código de máquina– Complexidade de compiladores

Em contrapartida os projetos das arquiteturas passaram a contemplar:

– Grande conjunto de instruções– Dúzias de modos de endereçamento– Instruções implementadas no hardware

Page 9: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Operações

Predominância de atribuição Alto índice de instruções condicionais (if / loop) E o tempo de execução?

Comando Fortran (%) C (%) Pascal (%)

Atribuição 51 38 45

if 10 43 29

call 5 12 15

loop 9 3 5

goto 9 3 0

outros 16 1 6

Page 10: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Operações

Frequência relativa de ocorrência das instruções Chamadas/retornos consome mais tempo

Ocorrência Dinâmica Instr. Máquina Refer. Memória

Comando Pascal (%) C (%) Pascal C Pascal C

Atribuição 45 38 13 13 14 15

if 29 43 11 21 7 13

call 15 12 31 33 44 45

loop 5 3 42 34 33 26

goto - 3 - - - -

outros 6 1 3 1 2 1

Page 11: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Operandos

Maioria de ocorrência de variáveis escalares simples

Um dos estudos concluiu que cada instrução referencia em média 0,5 operandos e 1,4 registradores

Pascal (%) C (%) Média (%)

Constante Inteira 16 23 20

Variável Escalar 58 53 55

Array/Estrutura 26 24 25

Page 12: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Chamadas de Procedimentos

Dois aspectos importantes: número de parâmetros e a profundidade de aninhamento

98% dos procedimentos utilizam menos de 6 argumentos

É raro haver uma grande sequência de chamadas de procedimentos consecutivas

Page 13: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Conclusões

Uma arquitetura com um conjunto de instruções parecida com as linguagens de programação de alto nível não é eficaz

Um grande número de registradores otimiza a referência aos operandos (grande proporção de atribuições)

É preciso cuidado no projeto do pipeline de instruções em função da grande quantidade de chamadas e desvios

É indicado um conjunto de instruções simplificado (veremos adiante)

Page 14: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Banco de Registradores

Grande quantidade de atribuição Registradores tem acesso rápido aos dados Duas abordagens:– Software: compiladores alocam registradores

para dados mais usados– Hardware: usar mais registradores

Page 15: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Banco de Registradores

Maioria das referências é para operadores locais– O que é local em se tratando de chamadas

de procedimentos? Outros resultados dos estudos:– Há pouca passagem de parâmetros– Não há muita profundidade

Janela de registradores– Cada procedimento é direcionado a usar um

conjunto de registradores

Page 16: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Banco de Registradores

Page 17: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Banco de Registradores

Page 18: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Banco de Registradores

Variáveis Globais– Incorporação de um conjunto global de

registradores– Problemas:• Hardware precisa acomodar a divisão de

registradores• O compilador precisa decidir que variáveis

globais serão atribuídas aos registradores

Page 19: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Banco de Registradores

Para pequenas quantidades de registradores Necessidade de otimizar seu uso Coloração em grafos

Page 20: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Exercícios

1)Explique de forma sucinta o funcionamento da janela de registradores.

2)Explique porque não há necessidade de salvar os registradores temporários.

3)Explique de forma sucinta o funcionamento da coloração de grafos para otimizar o uso de registradores.

Page 21: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Pipeline

RISC: maioria de instruções reg-reg I: busca da instrução E: Execução

Para carregar e armazenar: I: Busca da instrução E: execução. Calcular endereço de memória D: Memória. Operação reg-mem ou mem-reg

Page 22: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Pipeline

Page 23: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Pipeline

RISC Projeto de 3 ou 4 estágios é mais fácil ser

alcançado Simplicidade e regularidade das instruções

Dependências e desvios reduzem a taxa de execução

Page 24: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Otimização de Pipeline

Técnicas de reorganização de código Desvio Atrasado: otimização através da

inversão na execução de instruções

Endereço Desvio Normal Desvio Atrasado Desvio atrasado otimizado

100 LOAD x, rA LOAD x, rA LOAD x, rA

101 ADD 1, rA ADD 1, rA JUMP 105

102 JUMP 105 JUMP 106 ADD 1, rA

103 ADD rA, rB NOOP ADD rA, rB

104 SUB rC, rB ADD rA, rB SUB rC, rB

105 STORE rA, Z SUB rC, rB STORE rA, Z

106 STORE rA, Z

Page 25: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Otimização de Pipeline

Page 26: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Otimização de Pipeline

Leitura Atrasada: técnica semelhante. Instruções LOAD podem ser reposicionadas para evitar a ociosidade até o término da leitura

Laço Desenrolado: Replicar o corpo de um laço em um número de vezes chamado de fator de desenrolar (u) e faz a iteração pelo passo “u” (e não pelo passo 1)

Page 27: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Otimização de Pipeline

Page 28: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Comparação RISC/CISC

Unidade deControle

ControleMicroprogramado

Caminho p/ dadose instruções

Cache

Memória Principal

Unidade deControle

Hardwired

Cache deInstruções

Caminho p/ dados

Cache de Dados

Memória Principal

Unid. Controle CISC Unid. Controle RISC

Page 29: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Comparação RISC/CISC

MemóriaPrincipal

CPU

Unid.Controle

Unid. Pto.Flutuante

ULA

MemóriaPrincipal

CPU

Unid.Controle

Co-Processdor

ULA

CPU CISC CPU RISC

Page 30: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

RISC CISC

1 Instruções simples levando 1 ciclo

Instruções complexas levando múltiplos ciclos

2 Apenas LOADs/STOREs referenciam a memória

Qualquer Instrução pode referenciar a memória

3 Altamente pipelined Não tem pipeline, ou tem pouco

4 Instruções executadas pelo hardware

Instruções executadas pelo microprograma

5 Instruções com formato fixo Instruções de vários formatos

6 Poucas instruções e modos Muitas instruções e modos

7 A complexidade está no compilador

A complexidade está no microprograma

8 Múltiplos conjuntos de registradores

Conjunto único de registradores

Page 31: Arquitetura de Computadores II - Seja Bem vindo(a) ao ...fuber/Arquitetura_II/ArqII-RISC.pdf · Bloco C-56 – Sala 204 ... Separa a arquitetura de uma máquina de sua ... Exercícios

UE

M/D

IN– P

rof. Flá

vio

Ub

er

Exercícios

1)Descreva a diferença das máquinas RISC e CISC no que se refere a operações de ponto flutuante

2)Fale sobre as diferenças básicas entre máquinas RISC e CISC e como essas diferenças foram minimizadas ao longo do tempo

3)Explique as vantagens e desvantagens da microprogramação existente em máquinas CISC e ausentes nas RISC