Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.

Documentos relacionados
Pipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve:

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

Organização de Computadores

William Stallings Organização de computadores digitais. Capítulo 11 Estrutura e função da CPU

Arquitetura e Organização de Computadores

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Arquitetura e Organização de Computadores

William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle

William Stallings Computer Organization and Architecture

Disciplina de Organização de Computadores I

ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES

Estrutura e Funcionamento da CPU. Adriano Maranhão

PSI3441 Arquitetura de Sistemas Embarcados

Unidade Central de Processamento UCP (CPU)

Microprocessadores. Execução em Paralelo Pipelines

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel

Organização e Arquitetura de Computadores INTRODUÇÃO

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

PSI3441 Arquitetura de Sistemas Embarcados

Arquitetura de Computadores. Prof. João Bosco Jr.

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. MSc. Tiago Alves de Oliveira

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

Disciplina de Arquitetura de Computadores

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

Unidade 8: A Unidade de Controle e o Ciclo de Instruções Prof. Daniel Caetano

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

Disciplina de. Organização de Computadores Digitais

Disciplina de. Organização de Computadores Digitais

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

Organização e Arquitetura de Computadores I

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

Sistemas Operacionais. Conceitos de Hardware

Organização de Computadores 1

SSC0114 Arquitetura de Computadores

EA869 Pipeline. Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof.

SSC0112 Organização de Computadores Digitais I

Instruções de Máquina

William Stallings Organização e Arquitetura de Computadores 8 a Edição. Capítulo 12 Função e Estrutura do Processador

ENIAC Primeiro computador de Propósito Geral. William Stallings Computer Organization and Architecture 6 th Edition (2003)

SSC0611 Arquitetura de Computadores

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

Introdução à Computação: Arquitetura von Neumann

Advanced RISC Machine

Arquitetura de Microprocessadores

Conceitos Básicos Processador

Notas de Aula Guilherme Sipahi Arquitetura de Computadores. Arquitetura de von Neumann

Arquitetura de Computadores Unidade Central de Processamento CPU

Organização de computadores. Prof. Moisés Souto

Relembrando desempenho...

AULA DE REVISÃO 3 ILP

Relembrando desempenho...

Hardware e Software. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Barramento. Prof. Leonardo Barreto Campos 1

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

Sistemas Operacionais

Nome: N.º Ano: Turma: Turno: Responde às seguintes questões 1. Qual o primeiro nome do computador à base de transístores?

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

Arquitetura e Organização de Processadores. Aula 4. Pipelines

Infraestrutura de Hardware. Funcionamento de um Computador

Processadores. Principal função é executar programas armazenados na memória principal.

Unidade Central de Processamento (CPU) Processador. Bernardo Gonçalves Introdução ao Computador 2008/01

18/08/2015. Capítulo 2: Manipulação de dados. Arquitetura de Computadores. Capítulo 2: Manipulação de Dados

Pipeline. Prof. Leonardo Barreto Campos 1

Arquitecturas Alternativas. Arquitectura X86-64 Arquitecturas RISC Exemplo: MIPS Desempenho de sistemas Pipelining

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Paradigma CISC. Arquitetura ARM Cortex-M3. Paradigma CISC. Paradigma RISC. Paradigma RISC. Resumo: RISC x CISC 18/08/2016

Arquitetura de Computadores. Prof. João Bosco Jr.

Organização de Sistemas de Computadores

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples

Prof. Gustavo Oliveira Cavalcanti

2. A influência do tamanho da palavra

Arquitectura de Computadores

DataPath II Tomando o controle!

Estudo sobre a Arquitetura AVR32. Bruno George de Moraes Gustavo Henrique Nihei

Resumão de Infra-estrutura de Hardware

Prof. Leonardo Augusto Casillo

Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização

Unidade II. Organização de Computadores. Prof. Renato Lellis

Unidade Central de Processamento 2. Registradores

PIPELINE. Introdução ao Pipeline. PIPELINE Ciclo de Instruções. PIPELINE Ciclo de Instruções. PIPELINE - Exemplo. PIPELINE Considerações

Disciplina de Arquitetura de Computadores

ORGANIZAÇÃO DE COMPUTADORES

Sistemas Operacionais

EEL Microprocessadores. EEL Microprocessadores. EEL Microprocessadores. EEL Microprocessadores. EEL Microprocessadores

PROCESSADORES SUPERESCALARES FELIPE G. TORRES

Arquitetura de Computadores. Revisão Volnys Bernal. Agenda. Revisão: Arquitetura de Computadores. Sobre esta apresentação

Hardware, Processador e Memória

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores)

Processamento e Linguagem de Máquina. O processador Programação Assembler (Linguagem de Máquina)

28/8/13. Processadores. Introdução

Nível da Microarquitetura

Organização de Computadores

INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin

Microprocessadores I. Aula 6 Arquitetura do Microprocessador Pinagem e Diagrama de Temporização

Organização e Projeto de Computadores

Transcrição:

Prefetch & Pipeline Otimização de Execução em Processadores Modernos Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.Osório] Estrutura da CPU Em cada ciclo, a CPU deve: Buscar instruções Interpretar instruções Buscar dados Processar dados Escrever dados na memória Neander

Ciclos de Operação da CPU Execução de uma Instrução: Pode necessitar acesso(s) à memória para buscar Operando(s) Acesso Imediato Acesso Direto Acesso Indireto Acesso Indexado Acesso Relativo... Pode necessitar de sub-ciclos adicionais Controle de Interrupção Ciclos de Operação com Endereçamento Indireto

Ciclos de Operação Fluxo de Dados Ciclo de Busca (Instruction Fetch) Depende do projeto da CPU Em Geral: Ciclo de Busca da Instrução (Fetch) PC (Program Counter) contém endereço da próxima instrução Endereço é movido para MAR (Memory Address Reg.) Endereço é posto no Address Bus Unidade de Controle sinaliza Leitura para a Memória Resultado é posto no Data Bus Copiado para MBR (Memory Buffer Reg.) Movido para o IR (Instruction Reg.) PC ++

Fluxo de Dados Ciclo de Busca de Instrução Fluxo de Dados Decodificação (Data Fetch) IR é examinado (decodifica) Se Endereçamento Imediato: Instrução Única: N bits mais a direita do MBR é o Operando Instrução de 2 Bytes: busca dado Instrução Opcode Operando Instrução Opcode Operando

Fluxo de Dados Decodificação (Data Fetch) Se Endereçamento Direto: N bits mais a direita do MBR transferidos para o MAR Unidade de Controle sinaliza Leitura para a Memória O Resultado da Leitura é o Operando Instruction Memory Opcode Address A Operand Fluxo de Dados Decodificação (Data Fetch) Se Endereçamento Indireto: N bits mais a direita do MBR transferidos para o MAR Unidade de Controle sinaliza Leitura para a Memória Resultado (endereço do operando) movido para MBR MBR transferido para o MAR Unidade de Controle sinaliza Leitura para a Memória O Resultado da Leitura é o Operando Memory Pointer to operand Instruction Opcode Address A Operand

Fluxo de Dados Decodificação: Indireto Fluxo de Dados Execução (Execute) Varia muito conforme a CPU Depende da Instrução sendo executada Pode Incluir: Memory read/write Input/Output Transferência entre Registradores Operações da ULA Basicamente: Realiza Operação Lógica/Aritmética sobre Operandos Pode conter ciclo de Escrita do Resultado na Memória

Fluxo de Dados Interrupção (Interrupt) Simples PC atual é salvo para permitir Restore Conteúdo do PC copiado para MBR Stack pointer (SP) loaded to MAR / SP ++ MBR written to memory PC carregado com o endereço de atendimento da respectiva interrupção A primeira instrução da rotina de tratamento de interrupção é Buscada (Toda a Rotina) RESTORE: SP -- / Stack pointer (SP) loaded to MAR MBR é copiado para PC Fluxo de Dados Interrupção

CPU- Otimização Busca/Execução Explorar o Paralelismo Implícito na Execução das Instruções Prefetch 2 Etapas: Busca e Execução Ciclo de Busca (Fetch) sempre acessa a Memória Ciclo de Execução (Execution) normalmente não acessa a Memória Pode-se buscar a próxima instrução durante a execução da Instrução Corrente Denominado: Instruction Prefetch

Prefetch - Melhora de Performance Paralelismo: 2 etapas com prefetch Otimização... mas não dobra a perfomance: Fetch normalmente bem mais curto que Execution Prefetch mais de uma instrução????? Qualquer JUMP ou BRANCH significa que a instrução prefechessada não é mais necessária Solução: Adicionar mais estágios!!! => PIPELINING! Prefetch Dois Estágios (FIFO)

Pipelining Fetch instruction - FI Decode instruction - DI Calculate operands - CO Fetch operands - FO Execute instructions - EI Write result - WO Sobrepor essas Operações!!!!!! Timing do Pipeline

Desvios (Branch) no Pipeline Pipeline de Instrução de 6 Estágios

Pipeline de Instrução de 6 Estágios I3 é o Branch Speedup Factors with Instruction Pipelining

Otimização do Processador: Hardware Prefetch (Busca Antecipada) Pipeline (Linha de Produção) Cache (Hierarquia de Memórias) Otimização do Processador: Software Gerenciamento de processos Gerência de I/O (Interrupções, Sist. Operacional) Próximo passo CISC x RISC CISC x RISC Continua... MIPS, ARM