Sei sulla pagina 1di 21
RISC X CISC - Pipeline IFBA – Instituto Federal de Educ. Ciencia e Tec Bahia

RISC X CISC - Pipeline

IFBA – Instituto Federal de Educ. Ciencia e Tec Bahia Curso de Analise e Desenvolvimento de Sistemas Arquitetura de Computadores – 25 e 26/30 Prof. Msc. Antonio Carlos Souza

Referências Bibliográficas:

1. Ciência da Computação: Uma visão abrangente - J.Glenn Brokshear

2. Introdução à organização de computadores – Mário Monteiro – LTC

3. Organização Estrutura de Computadores – Andrew S. Tanembaum - LTC

Hierarquia de Memória Hierarquia de memória oferece a possibilidade de reduzir a diferença entre a

Hierarquia de Memória

Hierarquia de memória oferece a possibilidade de reduzir a diferença entre a velocidade de processamento
Hierarquia de memória oferece a possibilidade de reduzir a
diferença entre a velocidade de processamento da CPU e o tempo
de acesso à memória.
aumenta a capacidade de armazenamento
CPU
registradores
cache
memória principal
memória secundária
capacidade de armazenamento CPU registradores cache memória principal memória secundária diminui o tempo de acesso

diminui o tempo de acesso

Execu Execu ç ç ão ão de de Instru Instru ç ç ões ões ¡

ExecuExecuççãoão dede InstruInstruççõesões

¡¡ ProblemaProblema 1:1: Como construir computadores de baixo custo capazes de executar todas as instruções complexas de máquinas de alto desempenho, muito mais caras?

¡ Uma implementação em hardware puro (sem interpretação) é usada somente nos computadores mais caros.

¡ Uma implementação com interpretador de instrução (por software) é usada em computadores mais baratos.

Execu Execu ç ç ão ão de de Instru Instru ç ç ões ões ¡

ExecuExecuççãoão dede InstruInstruççõesões

¡ Vantagens do interpretador em relação ao hardware puro

l

l

Capacidade de corrigir no campo eventuais erros na implementação de instruções Oportunidade de incorporar novas instruções nas máquinas já existentes

erros na implementação de instruções Oportunidade de incorporar novas instruções nas máquinas já existentes

l

Projeto estruturado que permite o desenvolvimento, teste e documentação de instruções complexas de maneira eficiente. Pode substituir implementações antigas de instruções.

l

Armazenamento das microinstruções do interpretador em memórias read-only (ROM), chamadas de memória de controle, muito mais rápidas do que as memórias convencionais.

Execu Execu ç ç ão ão de de Instru Instru ç ç ões ões ¡

ExecuExecuççãoão dede InstruInstruççõesões

¡ Problema 2: O uso da interpretação permitiu a criação de um conjunto grande de instruções de importância discutível e que eram difíceis e caras para serem implementadas diretamente por hardware (circuitos muito complexos).

¡
¡

RISCRISC versusversus CISCCISC

CISCCISC -- ComplexComplex InstructionInstruction SetSet ComputerComputer

Tecnologia mais antiga e usada para famílias de computadores compatíveis a nível de software.

¡ Número maior de instruções (~200 a 300 instruções).

¡ Uso extensivo de interpretação (principalmente para modelos mais baratos).

¡ ¡
¡
¡

RISCRISC versusversus CISCCISC

RISCRISC -- ReducedReduced InstructionInstruction SetSet ComputerComputer

Processador com pequeno número de instruções muito simples.

Instruções capazes de serem executadas em um único ciclo do caminho de dados.

ArgumentoArgumento RISCRISC: Mesmo que uma máquina RISC precisasse de 4 ou 5 instruções para fazer o que uma máquina CISC faria com apenas 1 instrução, se a instrução RISC fosse 10 vezes mais rápida (só hardware) a máquina RISC venceria.

¡
¡

RISCRISC versusversus CISCCISC

¡¡ QuestãoQuestão:: PorquePorque entãoentão aa tecnologiatecnologia RISCRISC nãonão suplantousuplantou aa CISCCISC ??

Problemas de compatibilidade com máquinas antigas com software já desenvolvido.

¡ Aparecimento de soluções híbridas: Por exemplo, a INTEL usa RISC para instruções de uso mais freqüente (Núcleo RISC) e interpretação para instruções mais complexas e de uso menos freqüente.

RISC ¡ Menor Quantidade de Instruções e Tamanho Fixo ¡ Execução Otimizada de Chamada de

RISC

¡ Menor Quantidade de Instruções e Tamanho Fixo

¡ Execução Otimizada de Chamada de Funções

¡ Menor Quantidade de Modos de Endereçamento

¡ Modo de Execução com Pipelining

Princ Princ í í pios pios de de Projeto Projeto para para Computadores Computadores Modernos

PrincPrincíípiospios dede ProjetoProjeto parapara ComputadoresComputadores ModernosModernos

¡¡ PrincPrincíípiospios dodo projetoprojeto RISCRISC queque osos arquitetosarquitetos dede processadoresprocessadores dede proppropóósitosito geralgeral devemdevem seguir:seguir:

¡¡ TodasTodas asas instruinstruççõesões sãosão diretamentediretamente executadasexecutadas porpor hardwarehardware ¡¡ MaximizarMaximizar aa TaxaTaxa àà qualqual asas instruinstruççõesões sãosão executadasexecutadas ¡¡ AsAs instruinstruççõesões precisamprecisam serser facilmentefacilmente decodificadasdecodificadas ¡¡ SomenteSomente asas InstruInstruççõesões dede LoadLoad ee StoreStore devemdevem referenciarreferenciar aa MemMemóóriaria ¡¡ ProjetarProjetar umauma mmááquinaquina comcom muitosmuitos registradoresregistradores (>=(>=

32)32)

Princ Princ í í pios pios de de Projeto Projeto para para Computadores Computadores Modernos

PrincPrincíípiospios dede ProjetoProjeto parapara ComputadoresComputadores ModernosModernos

¡¡ PrincPrincíípiospios dodo projetoprojeto RISCRISC queque osos arquitetosarquitetos dede processadoresprocessadores dede proppropóósitosito geralgeral devemdevem seguir:seguir:

¡¡ TodasTodas asas intruintruççõesões sãosão diretamentediretamente executadasexecutadas porpor hardwarehardware

ll NãoNão existeexiste oo nníívelvel dede microinstrumicroinstruççãoão ll ParaPara mmááquinaquina comcom filosofiafilosofia CISCCISC asas instruinstruçções,ões, emem geralgeral menosmenos frequentesfrequentes,, queque nãonão existemexistem emem hardwarehardware sãosão interpretadasinterpretadas

Princ Princ í í pios pios de de Projeto Projeto para para Computadores Computadores Modernos

PrincPrincíípiospios dede ProjetoProjeto parapara ComputadoresComputadores ModernosModernos

¡¡ PrincPrincíípiospios dodo projetoprojeto RISCRISC queque osos arquitetosarquitetos dede processadoresprocessadores dede proppropóósitosito geralgeral devemdevem seguir:seguir:

¡¡ MaximizarMaximizar aa TaxaTaxa àà qualqual asas instruinstruççõesões sãosão executadasexecutadas

ll UsoUso dede paralelismo:paralelismo: execuexecuççãoão dede vvááriasrias instruinstruççõesões lentaslentas aoao mesmomesmo tempotempo ll ExecuExecuççãoão dede instruinstruççõesões nãonão precisaprecisa seguirseguir aa llóógicagica dada programaprogramaççãoão

Princ Princ í í pios pios de de Projeto Projeto para para Computadores Computadores Modernos

PrincPrincíípiospios dede ProjetoProjeto parapara ComputadoresComputadores ModernosModernos

¡¡ PrincPrincíípiospios dodo projetoprojeto RISCRISC queque osos arquitetosarquitetos dede processadoresprocessadores dede proppropóósitosito geralgeral devemdevem seguir:seguir:

¡¡ AsAs instruinstruççõesões precisamprecisam serser facilmentefacilmente decodificadasdecodificadas

ll decodificadecodificaççãoão influenciainfluencia nana velocidadevelocidade dede execuexecuççãoão dasdas instruinstruççõesões ll decodificadecodificaççãoão determinadetermina osos recursosrecursos aa seremserem usadosusados nana execuexecuççãoão dasdas instruinstruççõesões ll quantoquanto menormenor oo nnúúmeromero dede formatos,formatos, maismais ffáácilcil aa decodificadecodificaççãoão

Princ Princ í í pios pios de de Projeto Projeto para para Computadores Computadores Modernos

PrincPrincíípiospios dede ProjetoProjeto parapara ComputadoresComputadores ModernosModernos

¡¡ PrincPrincíípiospios dodo projetoprojeto RISCRISC queque osos arquitetosarquitetos dede processadoresprocessadores dede proppropóósitosito geralgeral devemdevem seguir:seguir:

¡¡ SomenteSomente asas InstruInstruççõesões dede LoadLoad ee StoreStore devemdevem referenciarreferenciar aa MemMemóóriaria

ll AcessoAcesso aa memmemóóriaria éé maismais lentolento ll InstruInstruççõesões queque acessamacessam aa memmemóóriaria podempodem serser intercaladasintercaladas comcom outrasoutras instruinstruççõesões

Princ Princ í í pios pios de de Projeto Projeto para para Computadores Computadores Modernos

PrincPrincíípiospios dede ProjetoProjeto parapara ComputadoresComputadores ModernosModernos

¡¡ PrincPrincíípiospios dodo projetoprojeto RISCRISC queque osos arquitetosarquitetos dede processadoresprocessadores dede proppropóósitosito geralgeral devemdevem seguir:seguir:

¡¡ ProjetarProjetar umauma mmááquinaquina comcom muitosmuitos registradoresregistradores (>=(>=

32)32)

ll PalavrasPalavras dede memmemóóriaria devemdevem permanecerpermanecer nosnos registradoresregistradores oo maiormaior tempotempo posspossíívelvel ll FaltaFalta dede registradoresregistradores podepode obrigarobrigar aa buscarbuscar variasvarias vezesvezes aa mesmamesma palavrapalavra dada memmemóóriaria

Sistemas Risc comerciais ¡ SPARC = Sun Microsystems - 1987 ¡ RS/6000 = IBM –

Sistemas Risc comerciais

¡ SPARC = Sun Microsystems - 1987

¡ RS/6000 = IBM – 1990

¡ ALPHA = DEC – 1992

¡ POWER PC = IBM/MOTOROLA/APPLE

l
l

PrincPrincíípiospios dede ProjetoProjeto parapara ComputadoresComputadores ModernosModernos

¡¡ PrincPrincíípiospios dodo projetoprojeto RISCRISC queque osos arquitetosarquitetos dede processadoresprocessadores dede proppropóósitosito geralgeral devemdevem seguir:seguir:

¡¡ ObservaObservaçção:ão: OutrasOutras solusoluççõesões::

Existe limite tecnológico para desenvolvimento do hardware do chip de processamento que depende do estado da arte da tecnologia.

l Solução para aumentar a velocidade do processador: UsoUso dede paralelismoparalelismo.

¡¡ aa nníívelvel dasdas instruinstruççõesões: um único processador deve executar mais instruções por segundo

¡¡ aa nníívelvel dodo processadorprocessador: vários processadores trabalhando juntos na solução do mesmo problema

Princ Princ í í pios pios de de Projeto Projeto para para Computadores Computadores Modernos

PrincPrincíípiospios dede ProjetoProjeto parapara ComputadoresComputadores ModernosModernos

ParalelismoParalelismo aoao NNíívelvel dasdas InstruInstruççõesões

¡ Maior gargalo para a velocidade de execução de instruções é o acesso a memória

¡¡ ExecuExecuççãoão emem PipelinePipeline

l O processamento em pipeline divide a execução de instruções em várias partes, cada uma das quais tratada por um hardware dedicado exclusivamente a ela.

Princ Princ í í pios pios de de Projeto Projeto para para Computadores Computadores Modernos

PrincPrincíípiospios dede ProjetoProjeto parapara ComputadoresComputadores ModernosModernos

(a) Pipeline de 5 estágios. (b) Estado de cada um dos estágios em função do tempo (estão ilustrados 9 períodos do clock).

de 5 estágios. (b) Estado de cada um dos estágios em função do tempo (estão ilustrados
l
l

l

PrincPrincíípiospios dede ProjetoProjeto parapara ComputadoresComputadores ModernosModernos

ParalelismoParalelismo aoao NNíívelvel dasdas InstruInstruççõesões

¡¡ FuncionamentoFuncionamento dede umum pipelinepipeline dede 55 estestáágiosgios

O estágio 1 busca a instrução da memória e armazena num buffer até chegar a hora de executa-la

No estágio 2 ocorre a decodificação da instrução, determinando tipo e operandos

No estágio 3 ocorre a busca dos operandos na memória ou nos registradores

No estágio 4 tem-se a execução - passagem pelo caminho de dados

No estágio 5 o resultado do processamento é escrito num registrador

l

l

l

¡
¡

¡

PrincPrincíípiospios dede ProjetoProjeto parapara ComputadoresComputadores ModernosModernos

ParalelismoParalelismo aoao NNíívelvel dasdas InstruInstruççõesões

A idéia básica do pipeline é a mesma de uma linha de produção em série. Vários processamentos estão sendo executados ao mesmo tempo.

A figura mostra o funcionamento do pipeline, mostrando que osos estestáágiosgios dede cadacada processamentoprocessamento sãosão aplicadosaplicados aa vvááriasrias instruinstruççõesões aoao mesmomesmo tempotempo.

l Exemplo: no tempo 1 a instrução 1 está sendo lida, no tempo 2 a instrução 1 está sendo decodificada enquanto que a instrução 2 está sendo lida, no tempo 3 a instrução 1 está buscando dados, a instrução 2 está sendo decodificada e a instrução 3 está sendo lida, e assim por diante.