Arquitetura de Computadores I



Documentos relacionados
Sistemas Operacionais. Prof. André Y. Kusumoto

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

Arquitetura de Computadores I

Arquitetura de Computadores I

Estruturas do Sistema de Computação

Tipos de sistemas operacionais

Mecanismo de Interrupção

Organização e Arquitetura de Computadores I

Arquitetura e Organização de Computadores I

Caminho dos Dados e Atrasos

Processos e Threads (partes I e II)

Organização e Arquitetura de Computadores

Sistemas Operacionais

ENTRADA E SAÍDA DE DADOS

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura de Computadores - Processadores Superescalares. por Helcio Wagner da Silva

Visão Geral de Pipelining

Arquitetura de Computadores - Princípio de Funcionamento da CPU. Por Helcio Wagner da Silva

Processamento de Dados

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

Componentes do Computador e. aula 3. Profa. Débora Matos

Arquitetura de Computadores - Revisão -

Organização e Arquitetura de Computadores. Capítulo 13 Paralelismo no nível de instruções

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

28/9/2010. Unidade de Controle Funcionamento e Implementação

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Pipelining. Professor: Carlos Bazilio. Pólo Universitário rio de Rio das Ostras

Introdução. introdução. tópicos. referência. INF1005 Programação I Prof. Hélio Lopes 8/7/12

Programação Básica usando o Computador Visível. Jorge Fernandes Maio de 2004

Arquitetura de Computadores para. Sistemas Operacionais. Sistemas Operacionais. Sumário

Organização e Arquitetura de Computadores I. de Computadores

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Edeyson Andrade Gomes

Organização e Arquitetura de Computadores

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Programação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Sistemas Operacionais

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

Arquitetura de Computadores II

Arquitetura de Computadores. Tipos de Instruções

Aula 26: Arquiteturas RISC vs. CISC

Organização de Computadores Hardware

Informática Aplicada à Química. Hardware - armazenamento

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

ARQUITETURA DE COMPUTADORES

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

Introdução ao Processamento Paralelo

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

UNIVERSIDADE FEDERAL DE SANTA CATARINA MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Sistemas Operacionais Processos e Threads

Conflitos. Aula de Março de

LÓGICA DE PROGRAMAÇÃO

ENTRADA E SAÍDA (I/O)

Visão Geral de Sistemas Operacionais

Revisão dependências de dados

1.6. Tratamento de Exceções

Computador = Hardware + Dados

Arquitetura e Organização de Computadores 2. Apresentação da Disciplina

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

RISC - Reduced Instruction Set Computer

Sistemas Operacionais

BARRAMENTO DO SISTEMA

Sistemas Operacionais

discos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco

Organização Básica do Computador

Introdução à Arquitetura de Computadores

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Sistema Operacional Correção - Exercício de Revisão

Arquitetura de Von Neumann e os Computadores Modernos

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento

ARQUITETURA DE COMPUTADORES

Guia de Especificação de Caso de Uso Metodologia CELEPAR

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Arquitetura de Von Neumann. Computador ISA

Sistema de Computação

Componentes de um Computador: Modelo Von Neumann

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Informática I. Aula 5. Aula 5-13/05/2006 1

Informática I. Aula 4. Aula 4-11/09/2006 1

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

SIS17-Arquitetura de Computadores

Noções básicas de Informática: Software

Transcrição:

Arquitetura de Computadores I Pipeline -- Execções -- Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno

Exceções Exceções (ou interrupções ou falta) Desvio para um endereço que não faz parte de uma instrução na pipeline Várias causas Requisição de um dispositivo de I/O Chamada ao sistema operacional por um programa Depuração de código (Tracing, Breakpoint) Overflow em aritmética inteira Aritmética de FP (valores fora da faixa, NAN) Page Fault(Dado ou instrução fora da memória principal) Acesso desalinhado Violação de proteção de memória Instrução inválida Problemas de hardware (por ex., detectados com códigos) Falta de energia

Classificação Evento síncrono: Sempre na mesma instrução com dado na mesma posição de memória Evento assíncrono: Exceção geralmente pode ser tratada após a execução da instrução. Exceção localizada fora da CPU ou da memória. Requisitadas: Instrução no programa de usuário. Tratável ao término da instrução. Forçadas: Problemas de hardware fora de controle do programador

Classificação (cont...) Mascarável: Reconhecimento do evento pode ser desabilitado pelo usuário Não-mascarável: Geralmente eventos ligados ao hardware Intra-intrução: Eventos ocorrem durante a operação de uma dada instrução Exceções síncronas causadas pela instrução Exceções assíncronas devidas ao mal funcionamento do hardware Inter-instrução: É possível completar a instrução antes de tratar a exceção

Classificação Com término do programa: Programa é encerrado depois do evento de exceção Com retomada do programa: Programa deve retomar sua execução Mais difícil implementação: Exceções intra-instruções com retomada Envolve salvar o estado, sanar a causa e retomar a execução! Pipeline reiniciável: presente nos computadores atuais Ausente nos computadores mais antigos

Execução Suspenção e retomada Muito difícil: Exceção no meio da operação de uma instrução Exemplo: falta de página durante o acesso à memória de dados Problema: Outras instruções estão executando na pipeline É preciso parar a pipeline e salvar o estado do processador Por exemplo, transformando a instrução que causou a exceção em NOP também todas as instruções que se seguem na pipeline

Pipeline vs Exceções Exceções Precisas Instruções anteriores àquelas que causou a exceção são completamente executadas Instrução na qual ocorreu exceção e todas as sucessivas não alteram o estado Exceções Imprecisas Não é possível garantir que o estado não tenha sido alterado.

Em sistemas reais Com pipelines para aritmética sobre inteiros Suporte a exceções precisas é mais simples Suporte à memória virtual, geralmente demanda exceções precisas para falta de página Implementação de exceções precisas pode usar recursos de hardware e software MIPS Pipeline Exceções precisas Tratamento de exceções na mesma ordem que ocorreriam num implementação sem pipeline

Exceções na Pipeline MIPS

Exemplos de exceções Pipeline para Aritmética com Inteiros Podem ocorrer múltiplas exceções em um mesmo ciclo. LD Falha no acesso à memória de dados DADD Falha durante a operação aritmética Exceções podem ocorrer fora de ordem. Como implementar exceções precisas?

Tratamento de Exceções Para cada instrução: Vetor de exceções (Exception status vector) Marca exceções que ocorrem durante a execução da instrução Acompanha instrução passando pelos registradores de pipeline A partir do momento em que ocorre uma exceção Nenhuma instrução pode escrever em registradores ou memória Instrução de STORE: armazenamento em memória de dados não é permitido quando ocorre falta de página

Tratamento de Exceções Exceções são conferidas quando a instrução chega ao início do estágio WB Tratamento em ordem de ocorrência Exceções da instrução i são tratadas antes daquelas da instrução i+1 Se houve uma exceção as mudanças de estado deveriam ser invalidadas. Graças ao bloqueio de escrita, não houve mudança...

Atenuações do problema em MIPS Pontos que simplificam o projeto de exceções Um resultado por instrução Escrita no final da instrução Instruções que atingem o final do estágio MEM (ou o início do WB) sem marca de exceção tem garantia de término Portanto, somente instruções com garantia de término (committedi nstructions) realizam escritas que alteram estado. Garantia de término antes de alterações de estado