Multiprogramação leve em arquiteturas multi-core

Tamanho: px
Começar a partir da página:

Download "Multiprogramação leve em arquiteturas multi-core"

Transcrição

1 Multiprogramação leve em arquiteturas multi-core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Arquiteturas multi-core Programação multithread Ferramentas de programação Considerações finais Programa de Verão 2008 Petrópolis,. 1 2 Sumário Arquiteturas multi-core Programação multithread Ferramentas de programação Considerações finais Lei de Moore Motivação da programação em multi-core 3 4

2 Desenvolver as habilidades de programação concorrente em arquiteturas multi-core. Discutir os benefícios da utilização de arquiteturas multi-core no desenvolvimento de programas concorrentes. Apresentar um conjunto de ferramentas para desenvolvimento de programas concorrentes em arquiteturas multi-core. Conceitos da arquitetura multi-core Evolução Arquitetura básica Produtos de mercado Conceitos e princípios Programação concorrente e paralela Componentes de um programa concorrente Multiprogramação leve 5 6 Conceitos da arquitetura multi-core Multiprogramação leve Fluxo de execução e sincronização Ferramentas de programação POSIX threads.net Framework OpenMP Conceitos da arquitetura multi-core Multiprogramação leve Técnicas para otimização de desempenho 7 8

3 (von Neumann, 1945) Execução seqüencial para dados e programas Efeito colateral Processador Execução seqüencial para dados e programas Efeito colateral Gargalo de von Neumann Processador Entrada Unidade de controle Unidade lógica e aritmética Saída Entrada Unidade de controle Unidade lógica e aritmética Saída Banco de registradores Banco de registradores 9 10 Gargalo de von Neumann de cache Entrada Processador Unidade de controle Cache Banco de registradores Unidade lógica e aritmética Saída Outras otimizações introduzem paralelismo de execução Pipeline Incorpora o esquema proposto por cadeias de produção Como as unidades funcionais do processador são responsáveis por atividades independentes elas podem operar simultaneamente Um pipeline em 3 estágios pode permitir a execução simultânea de até 3 instruções: Busca instrução I 1 I 2 I 3 I 4 I 5 I 6 Decodifica I 1 I 2 I 3 I 4 I 5 I 6 Executa Superescalar I 1 I 2 I 3 I 4 I 5 I

4 Outras otimizações introduzem paralelismo de execução Pipeline Superescalar Permite a execução de n instruções simultaneamente (comum n=4) Suposição: as instruções requerem unidades de processamento disjuntas Exemplo: utilização de aritmética inteira e de ponto flutuante por duas instruções consecutivas É comum também que o hardware duplique recursos de processamento mais freqüentemente utilizados Outras otimizações introduzem paralelismo de execução Pipeline Superescalar Pipeline+Superescalar Em ambos casos o programador pode escalonar as instruções no seu código para tirar proveito do paralelismo de baixo nível oferecido Evitar saltos Evitar manipular dados globais Agrupar instruções diferentes Compiladores, em geral, empregam técnicas que otimizam o código de forma satisfatória Lei de Moore Previsão de que o número de transistores em um circuito integrado dobraria a cada 24 meses. Lei de Moore Previsão de que o número de transistores em um circuito integrado dobraria a cada 24 meses. Custo por componente Número de componentes por circuito integrado (intel.com) (intel.com) 15 16

5 Lei de Moore Previsão de que o número de transistores em um circuito integrado dobraria a cada 24 meses. Redução dos custos Aumento da velocidade No entanto, existe um limite tecnológico Densidade de potência: a questão do aumento do consumo pode trazer mais problemas que benefícios Os tempos de acesso a memória Aumento da freqüência em 1% incorre em aumento de consumo na casa de 3% e aumento de desempenho na ordem de 0,66% (intel.com) Classificação de Flynn (Flynn, 1972) Segundo fluxos de controle e de dados Controle Dados Simples Múltiplo Simples SISD von Neumann MISD dataflow, pipeline Múltiplo SIMD array, sistólico MIMD multicomputadores, multiprocessadores Classificação de Flynn (Flynn, 1972) Classificação por compartilhamento de memória Extensão a classificação de Flynn para a classe MIMD considerando a apresentação da memória MIMD UMA: Uniform Memory Access Multiprocessador global a todos os processadores Tempo de acesso idêntico a qualquer endereço de memória Fracamente acoplado Espaço de endereçamento múltiplo NORMA NOn-Remote Memory Access Fortemente acoplado Espaço de endereçamento único UMA Uniform Memory Access NUMA Non Uniform Memory Access P 1 M 1 P 2 M m P p Meio de comunicação Configuração de uma máquina UMA com p processadores e m módulos de memória 19 20

6 UMA: Uniform Memory Access Multiprocessador global a todos os processadores Tempo de acesso idêntico a qualquer endereço de memória Cada processador pode contar com uma cache própria P 1 P 2 P p UMA: Uniform Memory Access SMP: Symmetric MultiProcessor P 1 P 2 P p Barramento ou crossbar M 1 M m Meio de comunicação Configuração de uma máquina UMA com p processadores e m módulos de memória Os processadores são idênticos e operam como definido pela arquitetura von Neumann O acesso a memória é compartilhado Programação concorrente Concorrência Possibilidade de execução simultânea de dois ou mais fluxos de execução, não impedindo disputa por recursos Importante: a definição inclui a idéia de disputa por recursos mas não é restrita à ela! Ótica de Sistemas Operacionais Mais ainda, concorrência incorpora a idéia de que existe uma convergência dos fluxos para um ponto comum Uma eventual sincronização A produção do resultado final E também para idéia de ação colaborativa Programação concorrente Concorrência Indica independência temporal O número de atividades concorrentes pode ser maior que a quantidade de recursos de processamento disponíveis Paralelismo Indica execução simultânea A quantidade de recursos de processamento disponível permite que duas ou mais atividades sejam executadas simultaneamente É usual utilizar a expressão programação paralela para o tipo de programação focada em desempenho Na nossa terminologia, programação paralela e programação concorrente são utilizadas com o mesmo significado 23 24

7 Programação concorrente Diversos níveis de concorrência Intra-instrução CISC Complex Instruction Set Computer, superescalares Entre instruções Hardware pipeline, registradores vetoriais X De bloco Diretivas paralelizantes, compiladores paralelizantes Procedimental Funções, procedimentos, subprogramas De processos Troca de mensagens De aplicações Grades computacionais Nosso escopo: Multiprogramação leve Motivação da programação em multi-core Tendência Limites tecnológicos para aumento de desempenho com foco no aumento da freqüência de clock Arquiteturas com menor consumo de energia Grande problema da sociedade moderna Ainda mais cores no futuro próximo Facilidade de exploração Reflete naturalmente o modelo de programação multithread Suportado pelos SOs atuais Oportunidade Migração das maioria das aplicações desenvolvidas para mono-core Aumento de desempenho Execução paralela de aplicações em HW de baixo custo Sumário Arquiteturas multi-core Programação multithread Ferramentas de programação Considerações finais Multiprogramação leve em arquiteturas multi-core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Programa de Verão Petrópolis,. 28

Bacharelado em Sistemas de Informação Sistemas Operacionais. Prof. Filipo Mór

Bacharelado em Sistemas de Informação Sistemas Operacionais. Prof. Filipo Mór Bacharelado em Sistemas de Informação Sistemas Operacionais Prof. Filipo Mór WWW.FILIPOMOR.COM - REVISÃO ARQUITETURAS PARALELAS Evolução das Arquiteturas Evolução das Arquiteturas Entrada CPU Saída von

Leia mais

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

Arquitetura de Computadores. Prof. João Bosco Jr. Arquitetura de Computadores Prof. João Bosco Jr. (CPU) Modelo do Computador Von Neumann Processador Memórias E/S Barramentos Simulação Contador http://courses.cs.vt.edu/csonline/machinearchitecture/lessons/cpu/countprogram.html

Leia mais

Arquitetura de Computadores. Processamento Paralelo

Arquitetura de Computadores. Processamento Paralelo Arquitetura de Computadores Processamento Paralelo 1 Multiprogramação e Multiprocessamento Múltiplas organizações de computadores Single instruction, single data stream - SISD Single instruction, multiple

Leia mais

Ferramentas para Programação em Processadores Multi-Core

Ferramentas para Programação em Processadores Multi-Core Ferramentas para Programação em Processadores Multi-Core Prof Dr Departamento de Informática Universidade Federal de Pelotas Etapas do curso Apresentação de modelos Aplicação de modelos Arquiteturas multi-core

Leia mais

Introdução à Computação: Sistemas de Computação

Introdução à Computação: Sistemas de Computação Introdução à Computação: Sistemas de Computação Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de

Leia mais

SSC510 Arquitetura de Computadores. 6ª aula

SSC510 Arquitetura de Computadores. 6ª aula SSC510 Arquitetura de Computadores 6ª aula PARALELISMO EM NÍVEL DE PROCESSOS PROFA. SARITA MAZZINI BRUSCHI Tipos de Paralelismo Instrução (granulosidade fina) Paralelismo entre as instruções Arquiteturas

Leia mais

Carlos Eduardo Batista Centro de Informática - UFPB

Carlos Eduardo Batista Centro de Informática - UFPB Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação Arquitetura de computadores modernos Desafios da programação concorrente Definição de concorrência Correr junto Disputa por

Leia mais

Ferramentas para Programação em Processadores Multi-Core

Ferramentas para Programação em Processadores Multi-Core Ferramentas para Programação em Processadores Multi-Core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Introdução Arquiteturas multi-core Ferramentas de programação Prática

Leia mais

Caracterização de Sistemas Distribuídos

Caracterização de Sistemas Distribuídos Caracterização de Sistemas Distribuídos Roteiro Conceitos de Hardware Conceitos de Software Classificação de Flynn Classificação baseada no acesso a memória 2 Conceitos de HW Múltiplas CPUs Diferentes

Leia mais

Estrutura da Apresentação. Introdução ao Processamento Paralelo e Distribuído. Conceitos em PPD. Conceitos em PPD 4/26/09.

Estrutura da Apresentação. Introdução ao Processamento Paralelo e Distribuído. Conceitos em PPD. Conceitos em PPD 4/26/09. Estrutura da Apresentação Introdução ao rocessamento aralelo e Distribuído Conceitos em rocessamento aralelo e Distribuído; Frentes de trabalho e pesquisa em D; O D no Rio Grande do Sul; Observações finais.

Leia mais

Processamento Paralelo

Processamento Paralelo Processamento Paralelo por Helcio Wagner da Silva Introdução Tradicionalmente, o computador tem sido visto como uma máquina seqüencial Esta visão nunca foi completamente verdadeira No nível das µo, vários

Leia mais

Modelo de Von Neumann

Modelo de Von Neumann 1 Modelo de Von Neumann Memória UC ALU Entrada Saída ACC 2 Arquitetura de Von Neumann 3 O Computador 4 Processador Microprocessadores São processadores contidos em um único encapsulamento (CI). Microcontroladores

Leia mais

Introdução à Programação Paralela através de Padrões. Denise Stringhini Calebe Bianchini Luciano Silva

Introdução à Programação Paralela através de Padrões. Denise Stringhini Calebe Bianchini Luciano Silva Introdução à Programação Paralela através de Padrões Denise Stringhini Calebe Bianchini Luciano Silva Sumário Introdução: conceitos de paralelismo Conceitos básicos sobre padrões de programação paralela

Leia mais

Arquiteturas Paralelas

Arquiteturas Paralelas Arquiteturas Paralelas Arquiteturas Paralelas Graduação em Ciência da Computação Universidade do Vale do Rio dos Sinos Prof. Gerson Cavalheiro Programação Paralela e Distribuída 2006 CC / UNISINOS Classificação

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Classificação de Flynn Fonte: Professoras. Sarita UFRJ e Thais V. Batista - UFRN Arquiteturas Paralelas Computação Paralela Conceitos Permite a execução das tarefas em menor tempo,

Leia mais

speedup aprimorado aprimorado Fração aprimorada speedup aprimorado Fração aprimorada speedup aprimorado Tempo original Fração aprimorada aprimorado

speedup aprimorado aprimorado Fração aprimorada speedup aprimorado Fração aprimorada speedup aprimorado Tempo original Fração aprimorada aprimorado Multiprocessadores - A evolução tecnológica dos processadores iria diminuir drasticamente. 2- O caminho para o aumento de desempenho é de unir mais de um processador para realizar a mesma tarefa em menos

Leia mais

Organização de Computadores II. Arquiteturas MIMD

Organização de Computadores II. Arquiteturas MIMD Organização de Computadores II Arquiteturas MIMD Arquiteturas UMA Arquiteturas com memória única global. Tempo de acesso uniforme para todos os nós de processamento. Nós de processamento e memória interconectados

Leia mais

Arquitetura de Computadores Paralelos. Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela

Arquitetura de Computadores Paralelos. Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela Arquitetura de Computadores Paralelos Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela Por que estudar Computação Paralela e Distribuída? Os computadores sequenciais

Leia mais

Computadores e Programação (DCC/UFRJ)

Computadores e Programação (DCC/UFRJ) Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo

Leia mais

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

Processadores. Principal função é executar programas armazenados na memória principal. Processadores Principal função é executar programas armazenados na memória principal. Registradores São memórias pequenas de alta velocidade, usada para armazenar resultados temporários e certas informações

Leia mais

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

Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aula 1 Introdução Arquitetura e Organização 1. Arquitetura

Leia mais

Universidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD

Universidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD Universidade Federal do Rio de Janeiro Informática DCC/IM Arquitetura de Computadores II Arquiteturas MIMD Arquiteturas MIMD As arquiteturas MIMD dividem-se em dois grandes modelos: Arquiteturas MIMD de

Leia mais

Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro Sistemas MIMD Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Arquiteturas Paralelas (SISD) Single Instruction Stream, Single Data Stream: Monoprocessador

Leia mais

ARQUITETURA DE COMPUTADORES. Organização de Sistemas Computacionais. Prof.: Agostinho S. Riofrio

ARQUITETURA DE COMPUTADORES. Organização de Sistemas Computacionais. Prof.: Agostinho S. Riofrio ARQUITETURA DE COMPUTADORES Organização de Sistemas Computacionais Prof.: Agostinho S. Riofrio Agenda 1. Unidade Central de Processamento 2. Organização da CPU 3. Interpretador 4. RISC x CISC 5. Principios

Leia mais

SIST706 Sistemas Distribuídos

SIST706 Sistemas Distribuídos Slide02 Arquiteturas de SD SIST706 Sistemas Distribuídos 2013/1 Prof. Jéfer Benedett Dörr @: prof.jefer@gmail.com profjefer.wordpress.com Notícias Cultura Livre Fontes de Notícias itil LPI Transistores:

Leia mais

Linguagem de Programação II

Linguagem de Programação II Linguagem de Programação II Carlos Eduardo Ba6sta Centro de Informá6ca - UFPB bidu@ci.ufpb.br Mo6vação Adaptar a estrutura lógica de um problema (Ex.: Servidores Web). Lidar com disposi6vos independentes

Leia mais

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação MULTIPROCESSADORES

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO AO PARALELISMO: PROCESSADORES SUPERESCALARES. Prof. Dr. Daniel Caetano

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO AO PARALELISMO: PROCESSADORES SUPERESCALARES. Prof. Dr. Daniel Caetano ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO AO PARALELISMO: PROCESSADORES SUPERESCALARES Prof. Dr. Daniel Caetano 2012-2 Lembretes Compreender o funcionamento da Arquitetura Superpipeline Compreender

Leia mais

Programação Distribuída e Paralela. Jorge Barbosa

Programação Distribuída e Paralela. Jorge Barbosa Programação Distribuída e Paralela Jorge Barbosa 1 Máquinas Paralelas Processadores Memória Rede de interligação Classificação das máquinas paralelas 2 Processador Escalar Processadores Processador que

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores 2018.1 Relembrando... Paralelismo Relembrando... Paralelismo Paralelismo em Instrução Relembrando... Paralelismo Paralelismo em Instrução Paralelismo em Aritmética Relembrando...

Leia mais

Modelos para Concorrência

Modelos para Concorrência Modelos para Concorrência Modelos para descrição de concorrência Programa Interdisciplinar de Pós Graduação em Computação Aplicada Universidade do Vale do Rio dos Sinos Gerson Cavalheiro Processamento

Leia mais

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

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL INTRODUÇÃO À TECNOLOGIA DA ORGANIZAÇÃO COMPUTACIONAL PROFESSOR CARLOS MUNIZ ORGANIZAÇÃO DE UM COMPUTADOR TÍPICO Memória: Armazena dados e programas Processador (CPU - Central Processing Unit): Executa

Leia mais

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

Arquitetura de Computadores. Prof. João Bosco Jr. Arquitetura de Computadores Prof. João Bosco Jr. Aula 2 (CPU) Modelo do Computador Von Neumann Processadores Memórias E/S Barramentos Modelo do Computador Von Neumann CPU Fluxo de Execução Normal PC =>

Leia mais

Disciplina de Arquitetura de Computadores

Disciplina de Arquitetura de Computadores USP - ICMC - SSC SSC 0510 - Informática - 2o. Semestre 2009 Disciplina de Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal: http://www.icmc.usp.br/~fosorio/

Leia mais

Programação Concorrente e Paralela

Programação Concorrente e Paralela 2010.2 Objetivos princípios e técnicas de programação paralela multiprocessadores memória compartilhada troca de mensagens arquiteturas alternativas multicomputadores troca de mensagens obs: Essa troca

Leia mais

Arquiteturas paralelas Parte 1

Arquiteturas paralelas Parte 1 Arquiteturas paralelas Parte 1 Processamento Paralelo Prof. Oberlan Romão Departamento de Computação e Eletrônica DCEL Centro Universitário Norte do Espírito Santo CEUNES Universidade Federal do Espírito

Leia mais

Programação Concorrente e Paralela. Noemi Rodriguez

Programação Concorrente e Paralela. Noemi Rodriguez 2013 Objetivos princípios e técnicas de programação concorrente multiprocessadores memória compartilhada troca de mensagens obs: diferentes níveis de abstração! que princípios e técnicas são esses? notações

Leia mais

Organização de Computadores Sistema de entrada e saída (I/O) e computação paralela. Professor: Francisco Ary

Organização de Computadores Sistema de entrada e saída (I/O) e computação paralela. Professor: Francisco Ary Organização de Computadores Sistema de entrada e saída (I/O) e computação paralela Professor: Francisco Ary Computação Paralela Capacidade de um sistema computacional ser executado de forma simultânea,

Leia mais

Arquitetura de Computadores Aula 11 - Multiprocessamento

Arquitetura de Computadores Aula 11 - Multiprocessamento Arquitetura de Computadores Aula 11 - Multiprocessamento Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1/28 PROCESSAMENTO PARALELO OBJETIVO: aumentar a capacidade de processamento.

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES Organização de Computadores ORGANIZAÇÃO DE COMPUTADORES Curso: Tecnologia em Gestão da Tecnologia da Informação Ano: 2011 Conhecida como Processador ou é o cerebro do computador Unifica todo sistema e

Leia mais

Ferramentas para Programação em Processadores Multi-Core

Ferramentas para Programação em Processadores Multi-Core Ferramentas para Programação em Processadores Multi- Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Introdução Programação multithread Ferramentas de programação Prática

Leia mais

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

Unidade I. Organização de Computadores. Prof. Renato Lellis Unidade I Organização de Computadores Prof. Renato Lellis O que é um computador? Computador Datação 1789 cf. MS1 Acepções substantivo masculino 1 o que computa; calculador, calculista 2 Rubrica: informática.

Leia mais

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos

Leia mais

COMPUTADORES. Arquiteturas de Computadores Paralelos. Prof.: Agostinho S. Riofrio

COMPUTADORES. Arquiteturas de Computadores Paralelos. Prof.: Agostinho S. Riofrio PROJETO LÓGICO DE COMPUTADORES Arquiteturas de Computadores Paralelos l Prof.: Agostinho S. Riofrio Agenda 1. Introdução 2. Memória Virtual 3. Paginação 4. Segmentação 5. Instruçoes virtuais de E/S 6.

Leia mais

Unidade 12: Introdução ao Paralelismo:

Unidade 12: Introdução ao Paralelismo: Arquitetura e Organização de Computadores 1 Unidade 12: Introdução ao Paralelismo: Processadores Superescalares Prof. Daniel Caetano Objetivo: Apresentar os conceitos fundamentais da arquitetura superescalar

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 20ª Aula Arquiteturas Paralelas Arquitetura MIMD com Memória Compartilhada Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquiteturas MIMD As arquiteturas MIMD dividem-se

Leia mais

PROCESSADORES SUPERESCALARES FELIPE G. TORRES

PROCESSADORES SUPERESCALARES FELIPE G. TORRES PROCESSADORES SUPERESCALARES FELIPE G. TORRES PROCESSAMENTO DAS INSTRUÇÕES Como podemos melhorar esse processamento? Arquitetura de computadores 2 PROCESSAMENTO DAS INSTRUÇÕES Como uma abordagem simplificada,

Leia mais

Microarquiteturas Avançadas

Microarquiteturas Avançadas Universidade Federal do Rio de Janeiro Arquitetura de Computadores I Microarquiteturas Avançadas Gabriel P. Silva Introdução As arquiteturas dos processadores têm evoluído ao longo dos anos, e junto com

Leia mais

SSC0510 Arquitetura de Computadores

SSC0510 Arquitetura de Computadores SSC0510 Arquitetura de Computadores 11ª Aula Paralelismo Avançado em Nível de Instrução e em Nível de Tarefas (Threads) Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Tipos de Paralelismo BLP: Bit Level

Leia mais

Sistemas distribuídos. Prof. Emiliano Monteiro

Sistemas distribuídos. Prof. Emiliano Monteiro Sistemas distribuídos Prof. Emiliano Monteiro Múltiplos processadores São arquiteturas que possuem duas ou mais CPU interligadas e que funcionam em conjunto na execução de tarefas independentes ou no processamento

Leia mais

Processamento Paralelo

Processamento Paralelo Processamento Paralelo por Helcio Wagner da Silva Introdução Tradicionalmente, o computador tem sido visto como uma máquina seqüencial Esta visão nunca foi completamente verdadeira No nível das µo, vários

Leia mais

ULA (ALU) - UNIDADE DE ARITMÉTICA E LÓGICA

ULA (ALU) - UNIDADE DE ARITMÉTICA E LÓGICA FATEC SP - Análise e Desenvolv. De Sistemas - Ambiente Operacional PÁG. 1 II) ELEMENTOS DE HARDWARE: DIAGRAMA DE BLOCOS DE UM COMPUTADOR 1) CPU - UNIDADE CENTRAL DE PROCESSAMENTO RESPONSÁVEL PELA EXECUÇÃO

Leia mais

3 Computação de Propósito Geral em Unidades de Processamento Gráfico

3 Computação de Propósito Geral em Unidades de Processamento Gráfico 3 Computação de Propósito Geral em Unidades de Processamento Gráfico As Unidades de Processamento Gráfico (GPUs) foram originalmente desenvolvidas para o processamento de gráficos e eram difíceis de programar.

Leia mais

30/5/2011. Sistemas computacionais para processamento paralelo e distribuído

30/5/2011. Sistemas computacionais para processamento paralelo e distribuído Arquitetura de Computadores Sistemas computacionais para processamento paralelo e distribuído Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Processamento

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES ORGANIZAÇÃO DE COMPUTADORES TECNOLOGIAS EM REDES DE COMPUTADORES Semestre 2015.2 Prof. Dsc. Jean Galdino As principais arquiteturas de processadores são: Von Neumann; Harvard. ARQUITETURAS AULA 06 28/10/2015

Leia mais

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

PIPELINE. Introdução ao Pipeline. PIPELINE Ciclo de Instruções. PIPELINE Ciclo de Instruções. PIPELINE - Exemplo. PIPELINE Considerações Arquitetura de Computadores Introdução ao Pipeline PIPELINE Linha de Montagem A produção é dividida em várias etapas Produtos em etapas distintas podem ser desenvolvidos separadamente Pode ser Aplicado

Leia mais

Conceitos Básicos Processador

Conceitos Básicos Processador Infra-Estrutura de Hardware Conceitos Básicos Processador Prof. Edilberto Silva www.edilms.eti.br edilms@yahoo.com Sumário Conceitos básicos Organização da CPU Execução das Instruções RISC x CISC Paralelismo

Leia mais

Arquitetura de Sistemas Digitais

Arquitetura de Sistemas Digitais Universidade Federal do Amazonas Faculdade de Tecnologia Departamento de Eletrônica e Computação Arquitetura de Sistemas Digitais Lucas Cordeiro lucascordeiro@ufam.edu.br Notas de Aula Os slides deste

Leia mais

JAVA CÁ & LÁ Um Middleware para Computação Paralela e Distribuída

JAVA CÁ & LÁ Um Middleware para Computação Paralela e Distribuída Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM JAVA CÁ & LÁ Um Middleware para Computação Paralela e Distribuída Aluno: Antonio

Leia mais

OpenMP: Variáveis de Ambiente

OpenMP: Variáveis de Ambiente Treinamento OpenMP C/C++ 1 TREINAMENTO OpenMP C/C++ Módulo 1 Computação de Alto Desempenho Módulo 2 OpenMP: Construtores Paralelos Módulo 3 OpenMP: Diretivas de sincronização Módulo 4 OpenMP: Funções de

Leia mais

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

28/8/13. Processadores. Introdução Processadores 1 Introdução 2 1 Data path 3 Data Path Composto pelo conjunto de registradores e o ULA Instruções register-memory Operações diretamente na memória Transferências entre memória e registrador

Leia mais

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

ENGENHARIA DE SISTEMAS MICROPROCESSADOS ENGENHARIA DE SISTEMAS MICROPROCESSADOS Prof. Pierre Vilar Dantas Turma: 0040-A Horário: 4N Aula 01-26/07/2017 Plano de ensino Professor www.linkedin.com/in/pierredantas/ TÓPICOS Conceitos gerais. Evolução

Leia mais

Multiprocessamento. Patterson & Hennessy Capítulo 9. Arquitetura e Organização de Computadores Juliano M. Vieira (c) 2011

Multiprocessamento. Patterson & Hennessy Capítulo 9. Arquitetura e Organização de Computadores Juliano M. Vieira (c) 2011 Multiprocessamento Patterson & Hennessy Capítulo 9 Arquitetura e Organização de Computadores Juliano M. Vieira (c) 2011 Tópicos Abordados Tipos comuns SMP (processamento paralelo) NUMA (placas de alto

Leia mais

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos Sistema Distribuído Conjunto de máquinas (CPU + memória) interligadas em rede. Sistema Distribuído Sistema operacional distribuído trata este conjunto como um único sistema computacional. Estação 1 Estação

Leia mais

3. Unidade Central de Processamento

3. Unidade Central de Processamento 3. Unidade Central de Processamento Um microprocessador é um chip responsável por buscar e executar instruções e dados existentes na memória RAM. Vai de regra as instruções são bastante simples, como por

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação

Leia mais

Organização de Computadores 2005/2006 Processamento Paralelo

Organização de Computadores 2005/2006 Processamento Paralelo GoBack Organização de Computadores 2005/2006 Processamento Paralelo Paulo Ferreira paf a dei.isep.ipp.pt Maio de 2006 ORGC Processamento Paralelo slide 1 Porquê? Definição de computação paralela Alocação

Leia mais

PLANEJAMENTO DAS DISCIPLINAS DE SISTEMAS DIGITAIS NA EC3. Workshop de Graduação do PCS Prof. Edson S. Gomi 31 de julho de 2018

PLANEJAMENTO DAS DISCIPLINAS DE SISTEMAS DIGITAIS NA EC3. Workshop de Graduação do PCS Prof. Edson S. Gomi 31 de julho de 2018 PLANEJAMENTO DAS DISCIPLINAS DE SISTEMAS DIGITAIS NA EC3 Workshop de Graduação do PCS Prof. Edson S. Gomi 31 de julho de 2018 Disciplina PréRequisito Semestral Quadrimestral PCS3115 Sistemas Digitais I

Leia mais

Processamento Paralelo & Multiprocessadores

Processamento Paralelo & Multiprocessadores Processamento Paralelo & Multies Motivação Tipos de máquinas paralelas Coerência entre caches UFPR Bacharelado em Ciência da Computação 1 UMA Uniform Memory Access no acesso à memória é a mesma para todos

Leia mais

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período Redes de Computadores Fundamentos de Sistemas Operacionais - 2º Período PARTE I: CONCEITOS BÁSICOS SUMÁRIO 1. VISÃO GERAL: 1.1 Introdução; 1.2 Funções Básicas; 1.3 Máquina de Camadas; 1.5 Tipos de Sistemas

Leia mais

Sistemas Operacionais. Conceitos de Hardware

Sistemas Operacionais. Conceitos de Hardware Sistemas Operacionais Conceitos de Hardware Sumário 1. Introdução 7. RISC e CISC 2. Processador 1. Operações de Processamento 2. Unidade de Controle 3. Ciclos de uma Instrução 3. Memória 1. Memória Principal

Leia mais

Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h

Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Pipelining Avançado Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Introdução A técnica de pipelining explora o paralelismo entre as instruções Paralelismo em Nível de Instrução (ILP). Métodos

Leia mais

PARALELISMO NO NÍVEL DO PROCESSADOR

PARALELISMO NO NÍVEL DO PROCESSADOR UNIP Universidade Paulista. Campus Brasília. PARALELISMO NO NÍVEL DO PROCESSADOR ALUNO: Lucas da Silva Dias ALUNO: Gleidson Rosa da Silva ALUNO: Gustavo da Silva Martins ALUNO: Marcelo Nery Lima RA: C633EB-1

Leia mais

Sistemas Operacionais. Adão de Melo Neto

Sistemas Operacionais. Adão de Melo Neto Sistemas Operacionais Adão de Melo Neto 1 Computador Digital (Hardware) 2 Computador Digital Constituído por um conjunto de componentes interligados (hardware): processadores, memórias, registradores,

Leia mais

SSC510 Arquitetura de Computadores. 7ª aula

SSC510 Arquitetura de Computadores. 7ª aula SSC510 Arquitetura de Computadores 7ª aula ARQUITETURAS SIMD PROFA. SARITA MAZZINI BRUSCHI Arquiteturas SIMD Um único fluxo de dados, vários fluxos de intruções Tipos de arquiteturas Processadores Vetorais

Leia mais

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação PROGRAMAÇÃO PARALELA

Leia mais

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Pensando em Paralelo Pensar em paralelo é uma tarefa que exige disciplina

Leia mais

Organização Estruturada de Computadores Arquitetura e Organizaçãode Computadores. Nesta Aula. Abstração de Computadores. O Modelo von Neumann

Organização Estruturada de Computadores Arquitetura e Organizaçãode Computadores. Nesta Aula. Abstração de Computadores. O Modelo von Neumann GBC046 Arq. e Org. de Computadores II Organização Estruturada de Computadores Arquitetura e Organizaçãode Computadores Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel

Leia mais

Bibliografia em processamento paralelo

Bibliografia em processamento paralelo Bibliografia em processamento paralelo Andrews, Concurrent Programming: Principles and Practice Foster, Designing and Building Parallel Programs Wolfe, High Performance Compilers for Parallel Computing

Leia mais

Arquitetura de Computadores Unidade Central de Processamento CPU

Arquitetura de Computadores Unidade Central de Processamento CPU Arquitetura de Computadores Unidade Central de Processamento CPU CPU Funções realizadas pelo processador: Função controle Responsável pela busca, interpretação e controle da execução das instruções, bem

Leia mais

Broadband Engine Cell Processor. Arquitetura e Organização de Processadores (CPM237) Rodrigo Bittencourt Motta

Broadband Engine Cell Processor. Arquitetura e Organização de Processadores (CPM237) Rodrigo Bittencourt Motta Broadband Engine Cell Processor Arquitetura e Organização de Processadores (CPM237) Rodrigo Bittencourt Motta rbmotta@inf.ufrgs.br Junho/06 Plano de Apresentação Introdução Visão Geral Organização Interna

Leia mais

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática. Introdução. Gabriel P. Silva. Gabriel P. Silva

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática. Introdução. Gabriel P. Silva. Gabriel P. Silva Universidade Federal do Rio de Janeiro Pós-Graduação em Informática Microarquiteturas de Alto Desempenho Introdução Introdução Bibliografia: Computer Architecture: A Quantitative Approach. John L. Hennesy,

Leia mais

Sis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o

Sis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o Sistemas Operacionais um pouco da história... - Evolução dos SO s através do tempo - Novas técnicas não são assimiladas simultaneamente por todos - Década de 40, não existia SO - O programador é o faz

Leia mais

Arranjo de Processadores

Arranjo de Processadores Um arranjo síncrono de processadores paralelos é chamado arranjo de processadores, consistindo de múltiplos elementos processadores (EPs) sob a supervisão de uma unidade de controle (UC) Arranjo de processadores

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 17ª Aula Paralelismos nível de tarefas Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Paralelismo no nível de tarefas Paralelismo a nível de thread (TLP Thread-Level

Leia mais

Prof a Andréa Schwertner Charão DELC/CT/UFSM

Prof a Andréa Schwertner Charão DELC/CT/UFSM Modelos de Computadores Paralelos Prof a Andréa Schwertner Charão DELC/CT/UFSM Sumário Modelos de computadores paralelos Classificações "acadêmicas" Tendências de mercado TOP500 Impacto na programação

Leia mais

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register PROCESSADORES Um computador digital consiste em um sistema interconectado de processadores, memória e dispositivos de entrada e saída. A CPU é o cérebro do computador. Sua função é executar programas armazenados

Leia mais

SSC304 Introdução à Programação Para Engenharias

SSC304 Introdução à Programação Para Engenharias Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Estrutura de um Computador GE4 Bio GE4Bio Grupo de Estudos

Leia mais

Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Processadores

Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Processadores Sâmia Rodrigues Gorayeb Arquitetura de Computadores Processadores Arquitetura de Computadores Agenda: 1. Introdução (definição). 2. Funções 3. Arquitetura básica 4. Componentes 5. Funcionamento 6. Modelo

Leia mais

Microprocessadores II - ELE 1084

Microprocessadores II - ELE 1084 Microprocessadores II - ELE 1084 CAPÍTULO III PROCESSADORES P5 3.1 Gerações de Processadores 3.1 Gerações de Processadores Quinta Geração (P5) Pentium (586) 32 bits; Instruções MMX; Concorrente K5 (AMD).

Leia mais

Laboratório de Programação Paralela. Introdução. Prof. Carlos Bazilio

Laboratório de Programação Paralela. Introdução. Prof. Carlos Bazilio Laboratório de Programação Paralela Introdução Prof. Carlos Bazilio Motivação Máquinas paralelas eram arquiteturas raras antigamente Este quadro se modificou por, pelo menos, 2 razões: Barateamento dos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 2 Introdução: conceitos, máquinas de níveis. Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva O que é um sistema operacional? um provedor de abstrações

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PARALELISMO: SMP E PROCESSAMENTO VETORIAL. Prof. Dr. Daniel Caetano

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PARALELISMO: SMP E PROCESSAMENTO VETORIAL. Prof. Dr. Daniel Caetano ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PARALELISMO: SMP E PROCESSAMENTO VETORIAL Prof. Dr. Daniel Caetano 2011-2 Visão Geral 1 2 3 4 Introdução Arquitetura SMP Organização SMP Processamento Vetorial

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PARALELISMO: SMP E PROCESSAMENTO VETORIAL. Prof. Dr. Daniel Caetano

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PARALELISMO: SMP E PROCESSAMENTO VETORIAL. Prof. Dr. Daniel Caetano ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PARALELISMO: SMP E PROCESSAMENTO VETORIAL Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender a Arquitetura SMP Conhecer a Organização SMP Apresentar o Conceito

Leia mais

Parte I Multiprocessamento

Parte I Multiprocessamento Sistemas Operacionais I Estrutura dos SO Prof. Gregorio Perez gregorio@uninove.br 2004 Parte I Multiprocessamento Roteiro 1 Multiprocessadores em Sistemas Fortemente Acoplados 1.1 1.2 1.3 Processamento

Leia mais

Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core

Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core RSS-Verão-01/08 p.1/36 Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7 Escola de Verão 2008 Arquiteturas Multi-Core Renato S. Silva LNCC - MCT Janeiro de 2008 RSS-Verão-01/08 p.2/36 Objetivo:

Leia mais

SISTEMAS OPERACIONAIS DE REDE

SISTEMAS OPERACIONAIS DE REDE SISTEMAS OPERACIONAIS DE REDE Questão 01 O sistema operacional gerencia o sistema de arquivos, que irá armazenar as informações/arquivos. Para esta tarefa, durante a formatação do disco rígido, são criados

Leia mais

Desafios do Mapeamento de Processos em Arquiteturas Many-Core

Desafios do Mapeamento de Processos em Arquiteturas Many-Core Desafios do Mapeamento de Processos em Arquiteturas Many-Core Professor: Philippe O. A. Navaux Instituto de Informática - UFRGS Escola Regional de Alto Desempenho São Paulo 1 Indíce Evolução dos Processadores

Leia mais

Introdução a Arquitetura e Organização de Computadores. Stallings: Cap.1 e 2, Monteiro: Cap. 1, Tanenbaum: Cap. 1. Prof. Alexandre Beletti Ferreira

Introdução a Arquitetura e Organização de Computadores. Stallings: Cap.1 e 2, Monteiro: Cap. 1, Tanenbaum: Cap. 1. Prof. Alexandre Beletti Ferreira Introdução a Arquitetura e Organização de Computadores Stallings: Cap.1 e 2, Monteiro: Cap. 1, Tanenbaum: Cap. 1 Prof. Alexandre Beletti Ferreira Tópicos Visão Geral de um Computador Lei de Moore Gerações

Leia mais