• Nenhum resultado encontrado

Aula 26: Arquiteturas RISC vs. CISC

N/A
N/A
Protected

Academic year: 2022

Share "Aula 26: Arquiteturas RISC vs. CISC"

Copied!
34
0
0

Texto

(1)

Aula 26: Arquiteturas RISC vs. CISC

Diego Passos

Universidade Federal Fluminense

Fundamentos de Arquiteturas de Computadores

(2)

Revisão

(3)

Nas Aulas Anteriores. . .

Discutimos o sistema de E/S.

O que é.

Exemplos de dispositivos.

Barramentos.

Também falamos sobre métodos de acesso e mapeamento dos dispositivos de E/S.

Mapeamento em memória, mapeamento por porta.

E/S programada, por interrupções, DMA.

(4)

Na Aula de Hoje. . .

Última aula (de conteúdo novo) do período.

Vamos encerrar a disciplina discutindo duas abordagens para projetos de arquiteturas:

RISC e CISC.

Discutiremos:

O que são.

Motivações históricas.

Principais características.

Exemplos.

Vantagens e desvantagens.

(5)

Contexto Histórico

(6)

O Gap Semântico

Evolução de

hardware

dos computadores foi muito rápida.

Processadores cada vez mais rápidos.

Incorporando técnicas cada vez mais complexas.

Simultaneamente, surgiam as linguagens de alto nível.

Mais fáceis de programar.

Comandos complexos.

Faziam muito, em poucas linhas de código.

Gap Semântico:

Grande diferença de expressividade das linguagens de alto nível e montagem.

Dificuldade no processo de tradução.

(7)

Hardware vs. Software

O que é mais eficiente:

Implementar um dado algoritmo emsoftware?

Ou criar uma implementação emhardware do mesmo?

Uma implementação especializada em

hardware

é normalmente mais rápida.

Não há ooverhead do software.

e.g., decodificação de instruções.

Conclusão:

Programas rodam mais rápido se tarefas complexas são implementadas emhardware.

Na forma de instruções.

Mas isso é realmente verdade?

(8)

Hardware vs. Software

O que é mais eficiente:

Implementar um dado algoritmo emsoftware?

Ou criar uma implementação emhardware do mesmo?

Uma implementação especializada em

hardware

é normalmente mais rápida.

Não há ooverhead do software.

e.g., decodificação de instruções.

Conclusão:

Programas rodam mais rápido se tarefas complexas são implementadas emhardware.

Na forma de instruções.

Mas isso é realmente verdade?

(9)

Redução no Uso de Memória

Relembrando:

Memória Principal = Gargalo de von Neumann.

Memória é lenta e também tem capacidade limitada.

Especialmente até a década de 1980.

Idealmente, queremos minimizar os acessos à memória.

E também reduzir o tamanho dos programas armazenados na MP.

Com instruções mais complexas, podemos atingir ambos os objetivos:

Uma única instrução substitui sequência den.

Menos instruções armazenadas na MP.

Um único acesso vs. n.

(10)

Redução no Uso de Memória: Exemplo

Exemplo de multiplicação em duas arquiteturas hipotéticas.

Dados armazenados na MP.

Na arquiteturaA, há apenas a instruçãoPRODque opera sobre registradores.

Na arquiteturaB, há a instrução MULT, que opera “diretamente” sobre a MP.

Dados ainda são trazidos para registradores, mas de forma transparente.

Arquitetura A

LOAD $1, 0x10 LOAD $2, 0x14 PROD $1, $2 STORE 0x10, $1

Arquitetura B

MULT 0x10, 0x14

(11)

Consequências

Projetos de processadores se tornavam cada vez mais complexos.

Grande número de instruções.

Instruções complexas.

Inúmeros modos de endereçamento.

Implementação emhardware de comandos/estruturas de linguagens de alto nível.

Instruções específicas para manipulação de estruturas de dados complexas.

Instruções de tamanhos e tempos de execução variados.

Circuitos complexos.

Esperava-se fechar o Gap Semântico elevando o conjunto de instruções para o nível das

linguagens de alto nível.

(12)

A Filosofia RISC

(13)

Surgimento

RISC:

Reduced Instruction Set Computer.

Vários projetos surgiram no final da década de 1970.

Stanford.

Daria origem ao MIPS.

Berkeley.

Daria origem ao SPARC.

IBM.

Daria origem ao Power PC.

Ideia básica:

Simplificar o conjunto de instruções.

Instruções simples podem ser implementadas de forma mais eficiente, barata.

Economia pode ser direcionada a outras partes do processador.

e.g., mais registradores.

(14)

Características

Instruções mais simples.

Não necessariamente menos instruções.

Mas instruções quefaçam menos.

e.g., no máximo um acesso à MP.

Instruções com formato uniforme.

e.g., tamanho fixo.

Mais fáceis de serem decodificadas.

Poucos modos de endereçamento.

Reduzem complexidade da busca de operandos.

Instruções lidam apenas com dados de tipos primitivos.

e.g., não há instruções para strings.

(15)

Características (II)

Registradores de propósito geral equivalentes.

Certas arquiteturas conferem significados especiais a determinados registradores de

“propósito geral”.

e.g., contadores em instruções de loop.

Na filosofia RISC, todos são equivalentes.

Mais registradores de propósito geral.

Lógica de controle mais simples permite alocar mais recursos em outras áreas.

Com mais registradores, espera-se menos acesso à memória para acessar dados.

(16)

RISC vs. CISC

Com o advento da filosofia RISC, convencionou-se chamar as alternativas de arquiteturas CISC.

CISC:Complex Instruction Set Computer.

A filosofia CISC, portanto, consiste em:

Empregar conjuntos de instruções complexas.

Permitir instruções em formatos variados.

Trazer funcionalidades de alto nível para ohardware.

. . .

(17)

RISC: Compiladores

Ao restringir o conjunto de instruções a instruções “simples”, processadores RISC se distanciam das linguagens de alto nível.

Aumentam o Gap Semântico.

Isto impõe mais pressão aos compiladores.

Tarefas de tradução e otimização do código se tornam mais difíceis.

Por outro lado, compilador tem mais registradores à disposição.

Pode manter mais dados na CPU com menos esforço.

(18)

RISC: Número de Instruções

Como já explicado, o termo

reduzido

diz respeito a instruções mais simples.

Não necessariamente a menos instruções.

Mas um número menor de instruções é uma consequência comum em vários processadores com arquiteturas RISC.

Exemplos:

Característica CISC RISC

Modelo IBM 370/168 VAX 11/780 Intel 80486 SPARC MIPS R4000

Ano 1973 1978 1989 1987 1991

Instruções 208 303 235 69 94

Registradores 16 16 8 40-520 32

(19)

RISC e CISC: Adoção

(20)

Adoção do Princípio CISC em Processadores Atuais

Principal exemplo: arquiteturas x86 e x86-64.

Instruções de tamanho variado.

Instruções com tempos de execução variados.

Vários modos de endereçamento.

Diversas variações da mesma instrução

Há ainda outros exemplos, como o Motorola 68000.

Arquitetura menos popular que a x86, mas ainda usada em certos dispositivos.

(21)

Adoção do Princípio RISC em Processadores Atuais

Mais exemplos que para o CISC:

ARM.

MIPS.

PowerPC.

Atmel AVR.

. . .

Muito encontrados hoje em dispositivos embarcados.

Principalmente os alimentados por bateria.

(22)

Micro-Arquiteturas

Um princípio de projeto comum hoje.

Hardware

do processador implementa um conjunto de instruções bastante simples e reduzido.

As micro-instruções.

Memória não-volátil interna ao processador guarda um micro-programa.

Interpretador dasmacro-instruções.

Ciclo de execução implementado emsoftware.

Programas executados no processador são escritos em macro-instruções.

Interpretadas pelo micro-programa.

(23)

Micro-Arquiteturas (II)

Micro-arquiteturas geralmente se caracterizam como RISC.

Instruções simples.

Sempre mesmo tamanho.

Sempre mesmo tempo de execução.

. . .

E são utilizadas mesmo quando a macro-arquitetura é CISC.

e.g., processadores atuais da Intel baseados em x86 ou x86-64.

(24)

RISC e CISC: Comparações

(25)

Ciclo de Clock

Instruções mais simples podem ser executadas mais rapidamente.

Comprimento do ciclo de clock é determinado pelo tempo da tarefa mais longa.

Logo, uma arquitetura com instruções mais simples pode operar com ciclos de clock mais curtos.

Conclusão:

Teoricamente, arquiteturas RISC podem ter ciclos de clock menores.

(26)

Densidade de Código

Medida do quão compacta é a representação dos programas em memória.

Maior densidademenor código.

Arquiteturas CISC têm instruções mais complexas.

Fazem mais.

Podem substituir sequências de várias instruções mais simples.

Conclusão:

Arquiteturas CISC tendem a resultar em maior densidade de código.

(27)

Número de Registradores

Arquiteturas RISC têm uma lógica interna mais simples.

Menos componentes.

Menor custo.

Recursos economizados geralmente são investidos na forma de mais memória interna ao processador.

e.g., registradores.

Conclusão:

Arquiteturas RISC geralmente possuem mais registradores.

(28)

Eficiência Energética

Uma lógica interna mais simples permite implementação mais simples.

i.e., circuitos menores.

Com menos componentes.

Isto tende a se refletir em economia de energia.

Conclusão:

Arquiteturas RISC tendem a ser mais eficientes energeticamente.

(29)

Escalabilidade

Neste contexto, escalabilidade é a capacidade de combinar múltiplos processadores em um único computador.

Multiprocessamento.

Há vários fatores que limitam ou dificultam esta escalabilidade.

Entre eles:

Consumo energético.

Complexidade de projeto.

Custo.

Por serem mais simples e mais eficientes energeticamente, processadores RISC tendem a

ser mais escaláveis.

(30)

Compiladores

Máquinas RISC têm instruções mais simples, básicas.

Mais distantes das linguagens de alto nível.

Dificulta o processo de tradução.

Máquinas CISC tendem a ter um número maior de instruções.

Mais variações de uma mesma operação básica.

Mais modos de endereçamento.

Compiladores são capazes de tirar proveito disso?

Outra diferença é o ônus de certas otimizações, como mudanças de ordem de execução e soluções para conflitos de pipeline.

Alguns processadores RISC deixam isso a cargo do compilador.

Processadores CISC geralmente lidam com isso emhardware.

(31)

Na Prática

Comparações práticas de desempenho entre processadores RISC e CISC são difíceis.

Mercados diferentes.

Capacidades diferentes.

Tecnologias de fabricação diferentes.

Compiladores diferentes.

Sem comparações práticas justas, é difícil apontar um vencedor.

Há ainda muita controvérsia sobre qual abordagem é superior.

(32)

Na Prática (II)

Mas arquiteturas RISC vêm ganhando popularidade.

Dominam mercado de dispositivos embarcados.

Começam a entrar no mercado de grandes servidores.

Mesmo em processadores baseados em conjuntos de instrução CISC, é comum a

implementação de uma micro-arquitetura RISC.

(33)

Outra Forma de Comparação: TOP500

TOP500: projeto que lista 500 computadores mais poderosos do mundo.

Atualizada a cada 6 meses.

Segundo a lista atual (Novembro de 2014):

80% da lista é composta por computadores baseados em x86.

Mas pode contabilizar vários fortemente baseados em GPUs.

Por outro lado, dos 10 mais rápidos, 5 são baseados em processadores RISC.

Power e SPARC.

(34)

RISC e CISC: Aproximação

Nos últimos anos, as diferenças entre processadores RISC e CISC têm diminuído.

Processadores RISC têm incorporado funcionalidades complexas, como execução fora de ordem.

Processadores CISC têm adotado implementações baseadas em micro-arquiteturas RISC.

A definição mais precisa hoje para diferenciar as duas abordagens é em relação ao acesso à MP.

Arquiteturas RISC só acessam a memória em instruções do tipoload oustore.

Arquiteturas CISC possuem instruções que executam operações lógicas/aritméticas sobre valores que estão na MP.

i.e., instruções implicitamente trazem valores da MP para registradores.

Referências

Documentos relacionados

RESUMO: Objetivos: Avaliar o desempenho dos testes desafio com indicadores químicos (IQs) comercializados na monitorização da esterilização a vapor saturado, em autoclave

As características da linguística ecossistêmica apontadas foram: ecossistema, visão ecológica de mundo e holismo; porém, por limitações de espaço do capítulo elaborado

A ideia então passou a ser construir chips híbridos, que fossem capazes de executar as instruções x86, sendo compatíveis com todos os programas, mas ao

A posição das vogais orais em relação à tonicidade da palavra tem ligação com a maior ou a menor freqüência de nasalidade nessas vogais (SILVA, 2003; ABAURRE & PAGOTTO,

Porém a exploração do trabalho muitas vezes se dá de maneira oculta, o que contribui para o trabalhador se tornar um sujeito alienado incapaz de perceber a sua condição no

Foi possível observar o crescimento do tipo alométrico positivo, com valor θ igual a 3,067, na população de Divaricella quadrisulcata, para a relação entre o Wb x Lt,

6 — Podem exercer a atividade como EEG da classe I, as entidades exploradoras das armazenagens e das redes e ramais de distribuição de gás inscritas na DGEG ao abrigo do anexo

[r]