Podcast
Questions and Answers
Qual das seguintes opções é um exemplo de animal de estimação?
Qual das seguintes opções é um exemplo de animal de estimação?
Os gatos são conhecidos por serem animais sociais e afetuosos.
Os gatos são conhecidos por serem animais sociais e afetuosos.
False
Qual é a principal razão pela qual as pessoas adotam animais de estimação?
Qual é a principal razão pela qual as pessoas adotam animais de estimação?
Companhia
O ______ é frequentemente chamado de melhor amigo do homem.
O ______ é frequentemente chamado de melhor amigo do homem.
Signup and view all the answers
Associe os seguintes animais a suas características principais:
Associe os seguintes animais a suas características principais:
Signup and view all the answers
Qual das opções abaixo é uma característica comum de cães?
Qual das opções abaixo é uma característica comum de cães?
Signup and view all the answers
Gatos preferem viver sozinhos e não se conectam emocionalmente com humanos.
Gatos preferem viver sozinhos e não se conectam emocionalmente com humanos.
Signup and view all the answers
Qual é uma razão pela qual as pessoas adotam gatos?
Qual é uma razão pela qual as pessoas adotam gatos?
Signup and view all the answers
O __________ é muitas vezes considerado um animal de estimação popular devido à sua natureza amigável.
O __________ é muitas vezes considerado um animal de estimação popular devido à sua natureza amigável.
Signup and view all the answers
Study Notes
Aula 11 - Pipeline Avançado
- Material Baseado em: "Patterson, David A., Hennessy, J. L. - Computer Organization and Design: The Hardware/Software Interface".
- Pipeline Único Ciclo: Todas as instruções são executadas num único ciclo de relógio. Pouco eficiente e não usada em processadores comerciais. CPI = 1. A latência de uma instrução é igual ao tempo de ciclo (Tcc).
Variantes do Pipeline já analisadas
-
Único ciclo:
- Todas as instruções são executadas em um único ciclo de relógio.
- Baixa eficiência, não utilizada em processadores comerciais.
- CPI = 1
- Tcc = duração da instrução mais longa
- Latência de uma instrução = Tcc
-
Multi-ciclo:
- Cada instrução leva vários ciclos para executar.
- CPI varia de 1 até CPImax (número máximo de ciclos por instrução, dependendo do mix de instruções).
- Tcc = duração de cada ciclo
- Latência = Tcc x CPImax
-
Pipeline:
- Cada estágio (fase) do pipeline executa de forma concorrente, como em uma linha de montagem.
- Melhora o CPI em relação à implementação multi-ciclo.
- CPI = 1 (em condições ideais)
- Tcc = duração do estágio mais demorado do pipeline
- Latência = Tcc x número de estágios do pipeline
Desempenho do Pipeline
- O desempenho de uma arquitetura de pipeline é dado pela combinação de vários fatores:
- A equação para o tempo de execução total (Texec) é fundamental para avaliar o desempenho de um processador, onde NINST representa o número total de instruções que precisam ser executadas. O CPI, ou ciclos por instrução, indica quantos ciclos é necessário para completar cada instrução, e Tcc é o tempo de ciclo, ou seja, a duração de um único ciclo do processador. Juntas, essas variáveis ajudam a determinar a eficiência do processamento de um programa em termos de tempo total gasto na sua execução.
- A latência de execução das instruções é importante, principalmente nos saltos, pois influencia o número de ciclos necessários para carregar o pipeline.
Super-pipeline
- Aumentar a frequência interna de relógio adicionando mais estágios ao pipeline.
- Pode não diminuir a latência das instruções, em alguns casos pode até aumentar, devido a anomalias de dados e de controle, se não forem introduzidos outros melhoramentos no caminho dos dados.
- MIPS R4000 tem 8 estágios de pipeline, com estágios adicionais usados para acessos à memória.
IF-IS-RF-EX-DF-DS-TC-WB (Super-piplelining)
- IF: Primeira metade da busca da instrução (seleção do PC).
- IS: Segunda metade da busca da instrução, completando o acesso.
- RF: Decodificação e leitura dos valores dos registradores, detecção de hit.
- EX: Execução, incluindo a resolução dos saltos.
- DF: Busca dos dados, primeira metade do acesso à cache.
- DS: Segunda metade do acesso à cache.
- TC: Tag check, determina se o acesso foi um hit.
- WB: Escrita dos resultados em registradores para load ou registrador-registrador.
Super-escalaridade
-
Baseia-se no aumento das unidades funcionais para permitir executar mais de uma instrução em cada ciclo de relógio.
-
CPI < 1
-
Exemplo: MIPS com grau de super-escalaridade 2
-
Este tipo de abordagem exige:
- capacidade de buscar duas instruções por ciclo (64 bits no MIPS).
- duas descodificações, etc.
- uso de unidades funcionais duplicadas.
- No MIPS, a unidade MEM é usada apenas para load e store, simplificando a concepção de um MIPS super-escalar que suporta uma operação tipo R ou branch simultaneamente a um acesso à memória.
Super-escalaridade (MIPS)
- Desempenho de MIPS super-escalar ignorando penalização de saltos.
Super-escalaridade e Loop Unrolling
- Desempenho de MIPS super-escalar com loop unrolling (grau 4).
- Juntar várias iterações em um único ciclo.
- Amortizar overhead dos ciclos em várias iterações.
Super-escalaridade (MIPs Super-escalar)
- Desempenho de MIPS super-escalar (ignorando penalização por saltos).
Dependências de Dados
- RAW (Read After Write): Uma instrução tenta ler um operando antes de uma instrução anterior o escrever.
- WAW (Write After Write): Uma instrução tenta escrever um operando antes de uma instrução anterior o escrever.
- WAR (Write After Read): Uma instrução tenta escrever um novo valor em um operando antes de uma instrução anterior lê-lo.
Pipelining com operações multi-ciclo
- Na execução de um pipeline, as operações não precisam demorar o mesmo número de ciclos, especialmente quando são suportadas instruções com ponto flutuante.
- Cada unidade funcional pode implementar sua própria pipeline.
- O estágio EXE pode ser dividido em vários estágios.
Escalonamento
- Supõe-se que as instruções são adquiridas e executadas na ordem em que são escritas no programa.
- Escalonamento estático: O compilador pode reorganizar a ordem das instruções sem violar o fluxo de dados.
- Escalonamento dinâmico: O datapath pode executar as instruções em uma ordem diferente da ordem emitida sem violar o fluxo de dados.
Limitações da emissão por ordem
- O fato de a instrução 4 não poder ser emitida na ordem especificada, pois depende de resultados de instruções anteriores.
Limitações do Scoreboarding
- Dificuldade em aplicar o forwarding.
- Controle centralizado.
- Estrutura complexa (muitas atualizações em um único ciclo de relógio).
- Conflitos WAW que bloqueiam o pipeline.
- Conflitos WAR que atrasam escritas em registradores.
- Não há emissão de instruções se houver conflitos estruturais.
- Outras técnicas de agendamento dinâmico de instruções?
VLIW (Very Long Instruction Word)
- Escalonamento dinâmico incrementa de forma considerável a complexidade do hardware.
- VLIW realiza um escalonamento estático, com o compilador responsável por indicar as instruções que podem ser executadas em paralelo.
- O formato da instrução indica as operações realizadas em paralelo por cada unidade funcional.
Limitações do VLIW
- O código gerado é geralmente maior devido à necessidade de inserir "nop" em campos não utilizados.
- Exige compatibilidade de códigos entre diferentes gerações do processador.
- Compiladores diferentes são necessários.
- É mais penalizado com "stalls" que o escalonamento dinâmico.
Processadores Vetoriais
- Algumas unidades de processadores são dedicadas às operações vetoriais.
- Operação vetorial típica: adição de dois vetores de 64 elementos em ponto flutuante, equivalendo a uma multiplicação por iteração.
Vantagens das operações vetoriais
- O cálculo de um resultado é independente dos anteriores, permitindo pipelining com muitos estágios sem anomalias de dados.
- Uma única instrução especifica várias operações, reduzindo o número de buscas de instruções.
- O acesso à memória para carregamento/armazenamento de vetores pode tirar proveito da otimização do débito, compensando o custo de acesso.
- As anomalias de controle são reduzidas por transformação em uma única instrução.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Teste seus conhecimentos sobre animais de estimação! Neste quiz, você responderá perguntas sobre características de pets populares, motivos para adoção e curiosidades sobre gatos e cães. É uma ótima oportunidade para aprender mais sobre esses amigos tão especiais.