Buscar

2009 AC-Aula10

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

*
PUCC
Agenda
Máquinas RISC
*
PUCC
Gap Semântico
Queda do custo do Hardware o custo relativo do Software aumentou.
SW é pouco confiável
Resposta dos pesquisadores foi desenvolver linguagens de programação mais poderosas e complexas.
Aumento da distância semântica entre operações disponíveis em linguagens de alto nível e aquelas disponibilizadas pelo hardware dos computadores
*
PUCC
GAP Semântico
Desenvolver arquiteturas que diminuíssem a distância entre instruções de linguagem de alto nível e instruções de máquina.
Características dessa Arquitetura: grande conjunto de instruções, vários modos de endereçamento e implementação de diversos comandos de linguagem de alto nível no hardware da máquina.
*
PUCC
Características das HLL (LAN): operações
Ocorrência
dinâmica
Instruções 
valor normalizado
referência a memória
atribuição
Laços
chamadas 
if
outros
Válido para arquiteturas CISC (Complex Instruction Set Computer) 
*
PUCC
Características das HLL (LAN): operandos
segundo Patterson [PATT82a] a maioria das referências é de variáveis escalares sendo que mais de 80% dos escalares são locais;
 				Pascal	C	Average
	Integer constant	16	23	20
	Scalar variable	58	53	55
	Array/structure	26	24	25
segundo Lunde [LUND77], cada instrução, em média, referencia 0.5 operandos na memória e 1.4 nos registradores;
*
PUCC
Características das HLL (LAN): chamadas
é a operação mais lenta nas linguagens de alto nível compiladas;
segundo Tanenbaum [Tane78], 98% de chamadas dinâmicas passam menos de 6 argumentos e 92% usam menos de 6 variáveis locais;
segundo Katevenis[KATE83], é raro existir uma longa seqüência de chamadas à procedimentos.
*
PUCC
Implicações
Deve-se otimizar os processos que consomem mais tempo. 
Deve-se usar um grande número de registradores (referência aos operandos)
Uso de pipelines
Simplified (reduced) instruction set
*
PUCC
Uso de registradores
os registradores são os dispositivos mais rápidos de armazenamento;
deve-se criar uma estratégia para se manter os operandos mais freqüentemente acessados nos registradores;
abordagem via hardware
deve-se minimizar as operações de transferência de operandos da memória para registradores;
*
PUCC
Abordagem via software
visa deixar a tarefa de maximização de uso dos registradores para o compilador;
o compilar irá tentar usar os registradores para armazenar as variáveis que serão usadas a maior parte do tempo;
deve utilizar algoritmos sofisticados de análise de programas.
*
PUCC
Abordagem via hardware
uso de mais registradores para manter mais variáveis por mais tempo;
deve-se organizar o uso destes registradores de forma a diminuir o número de acessos à memória principal.
*
PUCC
Condições de contorno
as variáveis locais devem ser salvas a cada chamada de nova sub-rotina;
parâmetros devem ser passados para as sub-rotinas chamadas;
no retorno da chamada as variáveis locais devem ser novamente carregadas e os resultados passados de volta;
*
PUCC
Janelas de registradores
Uma sub-rotina típica passa poucos parâmetros;
O número de sub-rotinas chamadas é geralmente pequena;
Múltiplos conjuntos de registradores são endereçados para diferentes sub-rotinas;
Uma nova chamada faz com que o processador use automaticamente o próximo conjunto de registradores;
Janelas de registradores de sub-rotinas adjacentes possuem uma superposição de registradores que são usados para se passar os parâmetros;
*
PUCC
Janelas de registradores
*
PUCC
Representação circular
Implementações típicas usam 8 janelas de 16 registradores cada.
se F for chamado, os conteúdo de A.in e A.loc
devem ser 
salvos na memória
neste
caso, o 
valor de SWP deve ser alterado
Ao passo que novas sub-rotinas são chamadas, o valor de CWP deve ser alterado
*
PUCC
Variáveis Globais
Uma possibilidade é usar endereçamento de memória para as variáveis globais;
Outra possibilidade é o uso de registradores de uso exclusivo para variáveis globais;
*
PUCC
Cache vs. Janela de registradores
*
PUCC
Arquitetura CISC
Conjunto com um grande número de instruções .
Motivações:
simplificação nos projetos de compiladores;
aumento de desempenho de HLL.
Em suma: dar melhor suporte as HLL.
*
PUCC
Argumentos
Conjunto com um grande número de instruções 
- dificultam a implementação de pipeline
simplificação nos projetos de compiladores
- o compilador deve encontrar os casos que combinam exatamente com a construção
programas usando CISC são menores
- porém os opcodes são maiores, produzindo maiores instruções.
*
PUCC
Características da arquitetura RISC 
Uma instrução por ciclo
Operações entre registradores
Modos de endereçamento mais simples
Formatos de instruções mais simples
*
PUCC
Tornar as máquinas mais simples para que sejam mais velozes:
Simplicidade:
Poucas instruções, simples e com poucos formatos;
Poucos modos de endereçamento;
Usar apenas LOAD/STORE para movimentação de dados entre registradores e memória;
Baseado em compiladores sofisticados para otimizar o código;
Características RISC
*
PUCC
Alcançar alto desempenho através de registradores rápidos, altas velocidades de CPU e otimização na compilação;
Uma instrução por ciclo;
Operações registrador a registrador;
Formato fixo de instruções.
Implementação mais eficiente
Características RISC
*
PUCC
RISC: MIPS, SPARC, Alpha, HP-PA, PowerPC, i860, i960.
CISC: VAX, PDP-11, Intel i86, Motorola 68K.
CISC com macro/micro-instruções RISC internas: Pentium, AMD Athlon.
Exemplos
*
PUCC
Complex Instruction Set Computer (CISC);
CISC é caracterizada por usar um grande conjunto de instruções complexas, objetivando o uso mínimo de memória;
Instruções típicas CISC incorporam complexos modos de endereçamento para os operandos;
Máquinas CISC usualmente possuem número pequeno de registradores;
Máquinas CISC foram, na maioria, construídas como microprogramadas, mas, recentemente, algumas têm implementado micro/macro-instruções RISC (executadas diretamente pelo hardware).
RISC x CISC
*
PUCC
Reduced Instruction Set Computer (RISC);
RISC é caracterizada por usar um conjunto pequeno de simples instruções;
Máquinas RISC usualmente utilizam apenas instruções Load e Store para acesso a memória;
Máquinas RISC frequentemente possuem número elevado de registradores;
Máquinas RISC têm sido construídas para que suas instruções sejam diretamente executadas pelo hardware (não há microcódigo).
RISC x CISC
*
PUCC
RISC vs. CISC
Não existe ‘a melhor arquitetura’
Uma boa filosofia: usar o melhor dos dois

Continue navegando