0% acharam este documento útil (0 voto)
2 visualizações7 páginas

Fundamentos dos Processadores RISC

Enviado por

Antonio Branco
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
2 visualizações7 páginas

Fundamentos dos Processadores RISC

Enviado por

Antonio Branco
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Universidade Federal do Rio Grande do Sul

Instituto de Informática

Organização de Computadores

Aula 2

Processadores RISC

INF01113 - Organização de Computadores

Processadores RISC

1. Motivação
2. Fundamentos RISC
3. Medidas concretas
4. Ganho na lógica de controle

INF01113 - Organização de Computadores

1
1. Motivação
• década de 60
– introdução de famílias de computadores (ex: IBM 360)
– distinção entre arquitetura e organização
– uso de microprogramação
• arquitetura x organização
– possível compromisso entre custo e desempenho não é definido unicamente
pela arquitetura
– impacto de uma instrução não é decisivo na implementação
• microprogramação
– memória principal: núcleos, grande tempo de acesso
– memória de controle: semicondutora, barata
– grandes microprogramas não acrescentavam custo
– maior desempenho: mover software para microprogramas

INF01113 - Organização de Computadores

Processadores CISC

• instruções mais complexas


– facilitar tarefa dos compiladores
– aumentar desempenho
• Digital VAX 11/780
– 303 instruções
– 16 modos de endereçamento
• Intel 386
– 111 instruções
– 8 modos de endereçamento
• Motorola 68020
– 109 instruções
– 18 modos de endereçamento
• instruções com comprimento e formato variáveis

INF01113 - Organização de Computadores

2
Mudanças no contexto

• a partir da metade da década de 70


• memória principal: semicondutores no lugar de núcleos
– memória principal não era mais 10 vezes mais lenta que memória de
controle
• introdução de memórias cache baratas e rápidas
– acessos à memória cache tão rápidos quanto à memória de controle
• efeitos colaterais de conjuntos complexos de instruções
– dificuldade no desenvolvimento de microcódigos com até 400 Kbytes
– tempo de projeto mais longo, mais erros de projeto

INF01113 - Organização de Computadores

Mudanças no contexto

• compiladores utilizando sub-conjuntos da arquitetura


– difícil utilização de instruções complexas
– otimização de código tornava possível utilização de instruções mais
simples
• maioria das instruções do conjunto eram pouco utilizadas nas
aplicações mais comuns
• advento de circuitos VLSI e problemas no projeto de processadores
em um chip único

INF01113 - Organização de Computadores

3
Uso de instruções

• exemplo: uso médio de instruções do 8086 em 3 aplicações –


assembler MASM, compilador Turbo C, Lotus 1-2-3

Transferência de dados Aritméticas / lógicas


MOV 29 CMP 7
PUSH / POP 12 SAL / SHR / RCR 5
LEA 3 INC / DEC 5
ADD 3
OR / XOR 3
Controle / desvio
JMP 2
LOOP 4
CALL / RET 4
desvios condicionais 10

INF01113 - Organização de Computadores

2. Fundamentos RISC

• idéia lançada no final da década de 70 por pesquisadores da


Universidade de Berkeley
• desenvolver conjunto de instruções pequeno e bem simples
• máquina com arquitetura bem simples pode ter organização mais
eficiente e maior velocidade de operação
• perspectiva global de aumento de desempenho
• processador num chip único
– melhor aproveitamento de recursos escassos
– ganho na lógica de controle aproveitado no bloco operacional

INF01113 - Organização de Computadores

4
Fundamentos RISC

• maior número de instruções nos programas compensado por


– instruções mais rápidas
– instruções mais curtas
• transferir para o software ( compilador ) o esforço de otimização
do tempo de execução
• dar suporte a linguagens de alto nível
– escolher instruções que otimizem desempenho tendo em vista
construções mais comuns em linguagens de alto nível

INF01113 - Organização de Computadores

3. Medidas concretas

• fase de execução da instrução num único ciclo de relógio


– instruções tão rápidas quanto micro-instruções
• todas as instruções do mesmo tamanho e com o mesmo formato (ou com
poucas variações de formato)
– simplificar implementação do controle
• dados imediatos pequenos e deslocamentos pequenos
• acesso à memória principal apenas através de instruções LOAD e
STORE
– demais instruções fazem operações apenas entre registradores
– simplificar implementação do controle ( pipeline )
– tornar operações aritméticas e lógicas mais rápidas

INF01113 - Organização de Computadores

5
Medidas concretas

• usar modos de endereçamento bem simples


– simplificar implementação do controle
• poucos tipos de dados
• usar arquitetura Harvard
– memórias de dados e instruções separadas permitem aumentar bandwidth
de memória
• uso de instruções compare-and-branch
– estatísticas mostram que até 98% dos branches são precedidos por uma
comparação
– comparação e branch reunidos numa única instrução evitam necessidade
de flags (N, Z) e permitem execução num único ciclo

INF01113 - Organização de Computadores

Exemplo

V1 = V2 + V3 + V4 + V5 Processador RISC
V1 a V5 são variáveis em memória
instruções ocupam 1 palavra
Processador CISC
LOAD R2, V2
supondo instruções com 3 endereços, LOAD R3, V3
ocupando 3 palavras ADD R1, R2, R3
LOAD R4, V4
V1 = V2 + V3 ADD R1, R1, R4
V1 = V1 + V4 LOAD R5, V5
V1 = V1 + V5 ADD R1, R1, R5
STORE V1, R1
3 x 3 = 9 palavras
3 x 6 = 18 acessos à memória 8 x 1 = 8 palavras
8 x 1 + 5 x 1 = 13 acessos à memória

INF01113 - Organização de Computadores

6
4. Ganho na lógica de controle

• uso de lógica hardwired, e não microprogramada – maior velocidade


• microprocessadores convencionais ocupam até 50% do espaço com
bloco de controle
• processadores RISC: controle ocupa apenas 10% do espaço
• aumento do número de registradores no espaço ganho
• maior possibilidade de uso de pipelines homogêneos

INF01113 - Organização de Computadores

Você também pode gostar