Arquiteturas Paralelas
|
|
|
- Leandro Soares Bandeira
- 10 Há anos
- Visualizações:
Transcrição
1 Curso de Informática DCC/IM UFRJ Arquitetura de Computadores II Arquiteturas Paralelas Bibliografia Advanced Computer Architecture Dezsõ Sima, Terence Fountain, Péter Kacsuk Addison-Wesley, 1997 Computer Architecture: A Quantitative Approach John L. Henessy e David A. Patterson Morgan Kaufman Publishers, 3 edição, 2003
2 Aplicações Científicas Genoma Humano Turbulência dos Fluidos Dinâmica de Veículos Circulação de Oceanos Dinâmica de Fluidos Viscosos Modelagem de Supercondutores Cromodinâmica Quântica Visão por Computador Farmacêutica Biologia Estrutural Previsão do Tempo (+ 72 hs) Conceitos Básicos Permite a execução das tarefas em menor tempo, através da execução em paralelo de diversas tarefas. O paralelismo pode ser obtido em diversos níveis, com ou sem o uso de linguagens de programação paralela. Arquiteturas de diversos tipos, elaboradas para aplicações específicas, podem ser utilizadas para acelerar a execução dessas aplicações.
3 Conceitos Básicos Processo: Um processo é criado para execução de um programa pelo sistema operacional. A criação de um processo envolve os seguintes passos: Preparar o descritor de processo; Reservar um espaço de endereçamento; Carregar um programa no espaço reservado; Passar o descritor de processo para o escalonador. Nos modernos S.O.s, um processo pode gerar cópias, chamadas de processos filhos. Conceitos Básicos Execução concorrente está associada a idéia de um servidor atendendo a vários clientes através de uma política de escalonamento no tempo. Execução paralela está associada ao modelo de vários servidores atendendo a vários clientes simultaneamente no tempo. As linguagens de programação podem então ser classificadas como seqüenciais, concorrentes e paralelas. Seqüenciais: C, Pascal, Fortran Concorrentes: Ada, Pascal Concorrente, Modula-2, PROLOG Concorrente Paralelas: Occam-2, 3L Parallel C, Strand-88
4 Medidas de Desempenho Velocidade: tempo de resposta, vazão e utilização: Vazão/Taxa (Throughput): taxa na qual os pedidos são atendidos (servidos) pelo sistema. Utilização: fração do tempo em que o recurso permanece ocupado atendendo os pedidos dos usuários Tempo de resposta: tempo decorrido entre o pedido e o início/conclusão da realização do serviço (latência). Confiabilidade Probabilidade de erro Intervalo entre erros Disponibilidade Duração da falha Intervalo entre falhas Vazão Taxa na qual os pedidos são atendidos (servidos) pelo sistema. Exemplos: Sistemas em lotes: jobs por segundo; Sistemas interativos: pedidos por segundo; CPUs: MIPs ou MFLOPs; Redes: pacotes por segundo (pps) ou bits por segundo (bps); Sistemas de Processamento de Transações: Transações por segundo (TPS);
5 Medidas de Desempenho em Processamento Paralelo Speed-up: Mede a razão entre o tempo gasto para execução de um algoritmo ou aplicação em um único processador e o tempo gasto na execução com n processadores S(n) = T(1)/T(n) Eficiência: E(n) = S(n)/n Medidas de Desempenho Escalabilidade: Um sistema é dito escalável quando sua eficiência se mantém constante à medida que o número de processadores (n) aplicado à solução do problema cresce. Se o tamanho do problema é mantido constante e o número de processadores aumenta, o overhead de comunicação tende a crescer e a eficiência a diminuir. A análise da escalabilidade considera a possibilidade de se aumentar proporcionalmente o tamanho do problema a ser resolvido à medida que n cresce de forma a contrabalançar o natural aumento do overhead de comunicação quando n cresce.
6 Medidas de Desempenho Medidas de Desempenho
7 Técnicas de Avaliação Medição Modelagem Analítica Simulação Medição Para efetuarmos medições (com os benchmarks programas de avaliação) é preciso termos à disposição ao menos um protótipo do sistema; Normalmente é difícil comparar alternativas; O método utilizado é compilar os benchmarks e executá-los no sistema que se deseja avaliar. Os programas devem ter características de acordo com os parâmetros que se seja avaliar (CPU, E/S, Gráfico, etc.).
8 Modelagem Analítica Teoria das filas Filas associadas a recursos Caracterização: Processo de chegada Processo de atendimento Número de servidores Tamanho máximo da fila Política de atendimento da fila Modelagem Analítica É uma técnica aproximada, ou seja, aproxima a realidade por um modelo; Se o modelo for simples e a aproximação boa, é possível avaliar facilmente compromissos entre alternativas;
9 Simulação Simulação de eventos discretos; Cada evento (ex.: chegada de usuário, término de serviço, etc.) é tratado quando do instante de sua ocorrência; Simula o comportamento de um sistema real; Em geral, é possível construir um modelo muito mais próximo da realidade do que com a teoria das filas; Técnicas de Avaliação Critério Modelagem Simulação Medição Analítica Estágio Qualquer Qualquer Protótipo Tempo Pouco Médio Variado Necessário Ferramentas Analistas Linguagens de Instrumentação Programação Precisão Pouca Moderada Variada Avaliação de Fácil Moderada Difícil Compromissos Custo Baixo Médio Alto Escalabilidade Baixa Média Alta
10 Programas de Avaliação É o processo de comparação entre dois ou mais sistemas através de medições em que são utilizados programas de avaliação (benchmarks) como cargas de trabalho (workloads). Podem ser de vários tipos: Aplicações Reais: compiladores, processadores de texto e imagem são alguns exemplos de programas utilizados. Sofrem de problemas de portabilidade. Aplicações Modificadas: E/S removida. Scripts são utilizados para simular interatividade. Kernels: pequenos trechos de código de programas reais são extraídos de programas reais. Ex: Livermoore loops e Linpack. Programas de Avaliação Benchmarks de brinquedo: tipicamente entre 10 e 100 linhas de código para produzir um resultado previamente conhecido. Exemplos são o Crivo de Eratóstenes, Quicksort e Puzzle. São fáceis de digitar e executam em quase qualquer computador. Benchmarks sintéticos: tentam imitar a freqüência de execução média das instruções esperada em uma aplicação de um determinado tipo, mas não são extratos de programas reais. Whetstone (ponto flutuante) e Dhrystone (inteiro) são os exemplos mais populares.
11 Programas de Avaliação Suítes de Avaliação: coleção de programas de avaliação que tentam medir o desempenho dos processadores para uma variedade de aplicações. O exemplo de maior sucesso é o SPEC, que possui versões inteiras e de ponto flutuante, com edições em 1989, 1992, 1995 e Estão divididos em duas grandes categorias: inteiros e de ponto flutuante. O SPEC CPU2000 é constituído por 11 programas de avaliação inteiros (CINT2000) e 14 de ponto-flutuante (CFP2000). Paralelismo Níveis de paralelismo : nível de instrução (granulosidade fina): arquiteturas pipelined, superescalares e VLIW nível de thread (granulosidade média): arquiteturas multithreading, SMT nível de processo (granulosidade grossa): multiprocessadores e multicomputadores
12 Paralelismo Classificação de Flynn (1966): Single Instruction Stream (SI) Multiple Instruction Streams(MI) Single Data Stream (SD) Multiple Data Streams (MD) Categorias de Arquiteturas SISD (Processadores Convencionais) SIMD (Processadores Vetoriais) MIMD (Multiprocessadores) Arquitetura SIMD Arquitetura SIMD Básica: REDE DE INTERCONEXÃO M e m. M e m. M e m. Elem. Proc. Elem. Proc. Elem. Proc. Unidade de Controle M e m ó r ia de Programa
13 Arquitetura MIMD Arquitetura de Memória Centralizada Memória Barramento Cache Proc. Cache Proc. Cache Proc. Arquitetura MIMD Arquitetura de Memória Distribuída REDE DE INTERCONEXÃO Mem. Mem. Mem. Cache Cache Cache Proc. Proc. Proc.
14 Modelos de Programação Modelos Básicos de Programação: Memória Compartilhada: Todos os processos/threads compartilham de um espaço de endereçamento comum; Comunicação através da memória; Uso de semáforos para sincronização; Linguagens: Pascal e C Concorrente. Memória Distribuída: Os processos/threads não dispõem de um espaço comum para sincronização e comunicação por troca de mensagens; Linguagens: PVM, MPI, Occam-3. Arquiteturas SIMD Processadores Vetoriais Arquiteturas SIMD Arquiteturas Sistólicas
15 Processadores Vetoriais Os processadores vetoriais são arquiteturas pipelined do tipo SIMD, ou seja, uma única instrução opera sobre vários dados, no caso, um vetor. Um processador vetorial possui instruções para operar em vetores: um conjunto linear de valores. Uma operação vetorial típica pode adicionar dois vetores com 64 elementos em notação ponto flutuante para obter um único vetor de resultado com 64 elementos. Processadores Vetoriais A instrução vetorial é equivalente a um loop inteiro, onde cada iteração computa um dos 64 elementos do resultado, atualiza os índices e retorna para o início. As instruções vetoriais possuem as seguintes características: Cada instrução equivale a um loop O cálculo de cada resultado não depende de resultados anteriores é possível haver pipelines profundos sem a ocorrência de dependências de dados O padrão de acesso à memória para a busca dos operandos é conhecido e regular benéfico utilizar memória com interleaving
16 Processadores Vetoriais Podem ser de dois tipos: Memória-Memória Arquiteturas mais antigas Todas as operações vetoriais manipulam operandos na memória Registrador-Registrador Arquitetura usadas em todos os processadores vetoriais mais recentes Todas as operações vetoriais, com exceção de load e store, trabalham com registradores Unidades funcionais são organizadas como pipelines profundos Processadores Vetoriais Exemplo: Vetor C Vetor A * Vetor B Estágios do Pipeline: Lê elementos dos vetores A e B Soma expoentes Multipica mantissas Normaliza resultado Armazena resultado em C LA, LB SE MM NR AC
17 Exemplo de Processamento Vetorial LA/LB SE MM NR AC Exemplo de Processamento Vetorial Tempo de execução T = [5 + (N-1)] * t N Número de elementos do vetor t Perído do Clock Supondo que os vetores A e B possuam cada um elementos e que a freqüência do clock dos pipelines é de 200 MHz, temos, que o tempo total gasto para executar a operação de cálculo de todos os elementos do Vetor C é dado por: T = (5 + ( )) x 5 ns = 50 µs (aprox.) 200 MFLOPS
18 Problemas para a vetorização Tamanho dos vetores: Quando o tamanho dos vetores é maior do que o dos registradores vetoriais, o compilador deve quebrar a operação vetorial em uma seqüência de operações com vetores de tamanho igual ou menor do que o dos registradores vetoriais overhead introduzido pelo esvaziamento dos pipelines e operações adicionais de load/store. Stride Problemas para a vetorização Em operações de multiplicação de matrizes, por exemplo, necessariamente o acesso ao vetor que armazena os elementos de uma das matrizes não será feito de forma seqüencial, já que as matrizes são armazenadas na memória de forma ordenada, ou por linha ou por coluna. O salto entre os endereços de dois elementos consecutivos a serem utilizados é chamado stride. Em geral estão disponíveis instruções vetoriais do tipo load/store com a definição do valor do stride.
19 Problemas para a vetorização A existência de desvios condicionais em loops : for (i=1; i<256; i++) if (a[i] < 0) a[i] = a[i] + b[i]; Problemas para a vetorização Para que operações como a de soma do exemplo anterior possam ser vetorizadas, as arquiteturas de processamento vetorial devem suportar os chamados vetores de máscara associados às operações vetoriais, indicando sobre que elementos dos vetores devem ser efetuadas as operações, em função do resultado do teste relativo ao desvio condicional.
20 Supercomputadores Vetoriais Comerciais NEC-SX5 Até 16 processadores Período de Clock: 4 ns Desempenho de Pico: 128 GFLOPS (123) Cray T90 * Até 32 processadores Período de Clock: 2.2 ns Desempenho de Pico: 56 GFLOPS (36.6) Fujitsu VPP-5500U Um processador Período de clock: 3,3 ns Desempenho de Pico: 9,6 GFLOPS (8,7) Supercomputadores Vetoriais Comerciais Cray T90
21 Arquiteturas SIMD É uma classe importante de processadores, devido a fatores como: Simplicidade de conceitos e programação Regularidade da estrutura Facilidade de escalabilidade em tamanho e desempenho Aplicação direta em uma série de aplicações que requerem paralelismo para obter o desempenho necessário. Arquiteturas SIMD Processadores executam sincronizadamente a mesma instrução sobre dados diferentes. Utiliza vários processadores especiais muito mais simples, organizados em geral de forma matricial. Muito eficiente em aplicações onde cada processador pode ser associado a uma sub-matriz independente de dados (processamento de imagens, algoritmos matemáticos, etc.).
22 Arquitetura Básica REDE DE INTERCONEXÃO Mem. Mem. Mem. E lem. Proc. Elem. Proc. Elem. Proc. Unidade de Controle Memória de Programa Opções Arquiteturais Granulosidade É a relação entre o número de elementos processadores e o paralelismo do conjunto de dados sobre os quais opera. Um sistema com poucos elementos de dados por elemento processador é qualificado como granulosidade fina. Não é prático termos apenas um elemento processador por elemento de dados nas arquiteturas SIMD. Conectividade Vizinhança (Malha ou Toro) Árvore Pirâmide Hipercubo
23 Opções Arquiteturais Complexidade do Processador Single-Bit Inteiro Ponto Flutuante Granulosidade fina. Usualmente utilizados para processamento de imagem Uma solução de compromisso. Utilizados para visão ou computação genérica Granulosidade grossa. Usualmente utilizados para computação científica. Exemplos Illiac IV Matriz 8 x8 (1968) MPP * Matriz 128 x128 (1983) Connection Machine * Hipercubo (16K x 4) processadores (1985) MasPar Multi-level crossbar switch (1990) 16K processadores
24 Thinking Machines CM-5 Thinking Machines CM5 fat tree network
25 Arquiteturas Sistólicas Termo utilizado por H.T. Kung, em 1978, em analogia com o funcionamento do coração. Uma aplicação típica é a multiplicação de matrizes: C mn = ij A in B mj Características Básicas Possui as seguintes características: Cada elemento do arranjo computa um função simples e única Cada elemento está conectado apenas aos seus vizinhos mais próximos através apenas de um caminho de dados uni-direcional O único sinal de controle enviado através do arranjo é um pulso de relógio, utilizado para sincronizar as operações Os dados de entrada são inseridos nos dois lados da matriz e passam através do arranjo em duas direções ortogonais Os dados de saída são extraídos como uma série de elementos de um dos dois lados restantes da matriz
26 Características Básicas Dimensão: 1, 2 ou mais dimensões Precisão: 1 bit ou multi-bit Inteira ou ponto-flutuante Conectividade Linear, matriz, hexagonal, etc. Uni-direcional ou bi-direcional Sincronicidade Fixa ou programável Organização da Matriz M A T R I Z B M A T R I Z A R E S U L T A D O
27 Elemento Processador ACIMA ESQUERDA MULTIPLI- CADOR MEMÓRIA MEMÓRIA DIREITA SOMADOR ABAIXO
Arquiteturas de Sistemas de Processamento Paralelo. Arquiteturas SIMD
Universidade Federal do Rio de Janeiro Pós-Graduação em Informática DCC/IM - NCE/UFRJ Arquiteturas de Sistemas de Processamento Paralelo Arquiteturas SIMD Arquiteturas SIMD Processadores Vetoriais Arquiteturas
Capítulo 8 Arquitetura de Computadores Paralelos
Capítulo 8 Arquitetura de Computadores Paralelos Necessidade de máquinas com alta capacidade de computação Aumento do clock => alta dissipação de calor Velocidade limitada dos circuitos => velocidade da
Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:
Computadores de alto-desempenho são utilizados em diversas áreas: - análise estrutural; - previsão de tempo; - exploração de petróleo; - pesquisa em fusão de energia; - diagnóstico médico; - simulações
Avaliação de Desempenho de Sistemas. Conceitos Básicos de Sistemas e Modelos
Avaliação de Desempenho de Sistemas Conceitos Básicos de Sistemas e Modelos O que é Desempenho? Webster s? The manner in which a mechanism performs. Aurélio: Conjunto de características ou de possibilidades
Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho
20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam
Máquinas Multiníveis
Infra-Estrutura de Hardware Máquinas Multiníveis Prof. Edilberto Silva www.edilms.eti.br [email protected] Sumário Conceitos básicos Classificação de arquiteturas Tendências da tecnologia Família Pentium
Organização e Arquitetura de Computadores I. de Computadores
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização Básica B de (Parte V, Complementar)
Arquitetura de Computadores I
Arquitetura de Computadores I Pipeline Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Organização do MIPS: pipeline Visão geral do pipeline Analogia com uma Lavanderia doméstica 1
Introdução às arquiteturas paralelas e taxonomia de Flynn
Introdução às arquiteturas paralelas e taxonomia de Flynn OBJETIVO: definir computação paralela; o modelo de computação paralela desempenhada por computadores paralelos; e exemplos de uso da arquitetura
Microarquiteturas Avançadas
Univ ersidade Federal do Rio de Janei ro Info rmátic a DCC/IM Arquitetura de Computadores II Microarquiteturas Avançadas Gabrie l P. Silva Introdução As arquiteturas dos processadores têm evoluído ao longo
Medidas de Desempenho e a Lei de Amdahl
Medidas de Desempenho e a Lei de Amdahl Arquiteturas para Alto Desmpenho Prof. [email protected] Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Evolução dos processadores Como medir desempenho? Como
Arquiteturas RISC. (Reduced Instructions Set Computers)
Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina
7-1. Parte 6 Otimizações da Arquitetura
7-1 Parte 6 Otimizações da Arquitetura 7-2 Bibliografia [1] Miles J. Murdocca e Vincent P. Heuring, Introdução à Arquitetura de Computadores [2] Andrew S. Tanenbaum, Modern Operating Systems [3] William
5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS. 5.1 - Os Programas de Avaliação
36 5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS 5.1 - Os Programas de Avaliação Programas de avaliação convencionais foram utilizados para análise de diversas configurações da arquitetura. Estes programas
Algumas características especiais
Algumas características especiais Tópicos o Medidas de desempenho o CISC versus RISC o Arquiteturas Superescalares o Arquiteturas VLIW Medidas de desempenho Desempenho é muito dependente da aplicação MIPS:
ALGORÍTMOS PARALELOS (Aula 2) LCAD. Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES
ALGORÍTMOS PARALELOS (Aula 2) Neyval C. Reis Jr. OUTUBRO/2004 LCAD Laboratório de Computação de Alto Desempenho DI/UFES Programa do Curso LCAD 1. Introdução 2. Arquitetura de Computadores 3. Arquiteturas
Avaliação de Desempenho de Sistemas
Avaliação de Desempenho de Sistemas Introdução a Avaliação de Desempenho de Sistemas Prof. Othon M. N. Batista [email protected] Roteiro Definição de Sistema Exemplo de Sistema: Agência Bancária Questões
28/9/2010. Paralelismo no nível de instruções Processadores superescalares
Arquitetura de Computadores Paralelismo no nível de instruções Processadores superescalares Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Processadores superescalares A partir dos resultados
Informática I. Aula 5. http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1
Informática I Aula 5 http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS
Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS 1. Introdução a supercomputação 2. Visão geral de Mainframe 3. Cluster de computadores 4. Cluster Beowulf considerações de projeto 5. Cluster x Grid 6.
Multiprocessamento. Multiprocessadores com memória distribuída (multicomputador)
Multiprocessamento Multiprocessadores com memória distribuída (multicomputador) Conjunto de processadores, cada qual com sua memória local Processadores se comunicam por troca de mensagens, via rede de
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO AO PARALELISMO: PROCESSADORES SUPERESCALARES. Prof. Dr. Daniel Caetano 2012-1
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO AO PARALELISMO: PROCESSADORES SUPERESCALARES Prof. Dr. Daniel Caetano 2012-1 Lembretes Compreender o funcionamento da Arquitetura Superpipeline Compreender
Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho
Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ Microarquiteturas de Alto Desempenho Pipeline Gabriel P. Silva Introdução Pipeline é uma técnica de implementação de processadores
3. Arquiteturas SIMD. 3.1 Considerações iniciais
3. Arquiteturas SIMD Computadores SIMD (Single Instruction Multiple Data) são utilizados para a resolução de problemas computacionalmente intensivos da área científica e de engenharia, em que existem estruturas
Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.
Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:
Arquitetura de Computadores. Ivan Saraiva Silva
Arquitetura de Computadores Métricas de Desempenho Ivan Saraiva Silva Sumário Como arquiteturas são geralmente avaliadas Como arquiteturas obedecem a restrições de projeto Métricas de desempenho Combinando
Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64
Arquitecturas Alternativas Pipelining Super-escalar VLIW IA-64 Pipeline de execução A execução de uma instrução passa por várias fases: Vimos o ciclo: fetch, decode, execute fetch decode execute instrução
Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007
Introdução à Organização de Computadores Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 CPU (Central Processing Unit) é o coordenador de todas as atividades
Professores: Aula 10. Lúcia M. A. Drummond Simone de Lima Martins. Conteúdo: Arquiteturas Avançadas. - Arquiteturas RISC - Processamento Paralelo
1 Professores: Aula 10 Lúcia M. A. Drummond Simone de Lima Martins Conteúdo: Arquiteturas Avançadas - Arquiteturas RISC - Processamento Paralelo 2 Arquiteturas RISC Reduced Instruction Set Computer se
Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01
Unidade Central de Processamento (CPU) Processador Renan Manola Introdução ao Computador 2010/01 Componentes de um Computador (1) Computador Eletrônico Digital É um sistema composto por: Memória Principal
Arquitetura de Computadores II
Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação - DCC/IM Arquitetura de Computadores II Multithreading Prof. Gabriel P. Silva Introdução Muitos dos sistemas operacionais modernos
ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8
ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8 Índice 1. A Organização do Computador - Continuação...3 1.1. Processadores - II... 3 1.1.1. Princípios de projeto para computadores modernos... 3 1.1.2. Paralelismo...
Unidade 13: Paralelismo:
Arquitetura e Organização de Computadores 1 Unidade 13: Paralelismo: SMP e Processamento Vetorial Prof. Daniel Caetano Objetivo: Apresentar os conceitos fundamentais da arquitetura SMP e alguns detalhes
AVALIAÇÃO DE DESEMPENHO
AVALIAÇÃO DE DESEMPENHO Mário Meireles Teixeira Departamento de Informática, UFMA [email protected] Introdução 2 Desempenho: quantidade de serviços prestados / tempo decorrido desde o início dos serviços
Arquitetura de Computadores - Processadores Superescalares. por Helcio Wagner da Silva
Arquitetura de Computadores - Processadores Superescalares por Helcio Wagner da Silva Introdução O Pipeline é uma técnica desenvolvida para a melhoria do desempenho frente à execução seqüencial de instruções
Arquitetura NUMA 1. Daniel de Angelis Cordeiro. INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França
Arquitetura NUMA 1 Daniel de Angelis Cordeiro INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França 6 de Outubro de 2010 1 Baseado em slides feitos por Christiane Pousa
Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.
O throughput de um pipeline é determinado pela freqüência com que uma instrução sai do pipeline Todos os estágios devem estar prontos ao mesmo tempo para prosseguir O tempo requerido para mover uma instrução
Sistema de Computação
Sistema de Computação Máquinas multinível Nível 0 verdadeiro hardware da máquina, executando os programas em linguagem de máquina de nível 1 (portas lógicas); Nível 1 Composto por registrados e pela ALU
Desempenho de Computadores
Desempenho de Computadores João Canas Ferreira Arquitectura de Computadores FEUP/LEIC Contém figuras de Computer Organization and Design, D. Patterson & J. Hennessey, 3ª. ed., MKP Tópicos Os vários aspectos
Organização de Computadores 1
Organização de Computadores 1 SISTEMA DE INTERCONEXÃO (BARRAMENTOS) Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Componentes estruturais: Memória Principal Unidade de Processamento Central
Pipelining. Professor: Carlos Bazilio. Pólo Universitário rio de Rio das Ostras
Pipelining Professor: Carlos Bazilio Contextualizando Após apresentação da arquitetura interna de processadores Memória de Controle Microprograma Linguagem de Máquina... Motivação Idéia Geral Estágios
Arquitetura e Organização de Computadores I
Arquitetura e Organização de Computadores I Interrupções e Estrutura de Interconexão Prof. Material adaptado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Interrupções
ARQUITETURA DE COMPUTADORES - 1866
7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um
Arquitetura de Computadores I
Arquitetura de Computadores I Pipeline -- Conflito de dados paradas e adiantamentos -- Conflito de controle detecção de desvios e descarte de instruções -- Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno
Organização de Computadores
Organização de Computadores Marcelo Lobosco DCC/UFJF Avaliando e Compreendendo o Desempenho Aula 09 Agenda Avaliando e Compreendendo o Desempenho Introdução Definindo Desempenho Medindo o Desempenho Desempenho
Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007
Introdução à Organização de Computadores Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 Tópicos Processadores Memória Principal Memória Secundária Entrada e
PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br
- Aula 6 - ARQUITETURAS AVANÇADAS DE COMPUTADORES 1. INTRODUÇÃO As arquiteturas dos processadores têm evoluído ao longo dos anos, e junto com ela o conceito de arquitetura avançada tem se modificado. Nos
Introdução ao Processamento Paralelo
Introdução ao Processamento Paralelo Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Introdução Crescente aumento de desempenho dos PCs (máquinas convencionais). Existem aplicações que requisitam
Sistemas Operacionais
Sistemas Operacionais SISTEMAS COM MÚLTIPLOS PROCESSADORES LIVRO TEXTO: CAPÍTULO 13, PÁGINA 243 Prof. Pedro Luís Antonelli Anhanguera Educacional INTRODUÇÃO Arquiteturas que possuem duas ou mais CPUs interligadas
} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede
Prof. Samuel Souza } Monolíticas Aplicações em um computador centralizado } Em Rede Aplicações com comunicação em rede } Distribuídas Comunicação e cooperação em rede } Aplicações que são funcionalmente
Edeyson Andrade Gomes
Sistemas Operacionais Conceitos de Arquitetura Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Máquinas de Níveis Revisão de Conceitos de Arquitetura 2 Máquina de Níveis Máquina de níveis Computador
Sistemas Distribuídos Conceitos HW e SW. Edeyson Andrade Gomes www.edeyson.com.br
Sistemas Distribuídos Conceitos HW e SW Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Roteiro da Aula Conceitos de Hardware Conceitos de Software Combinações de SW e HW 3 Sistemas Distribuídos
Introdução a Informática. Prof.: Roberto Franciscatto
Introdução a Informática Prof.: Roberto Franciscatto 3.1 EXECUÇÃO DAS INSTRUÇÕES A UCP tem duas seções: Unidade de Controle Unidade Lógica e Aritmética Um programa se caracteriza por: uma série de instruções
FACULDADE PITÁGORAS PRONATEC
FACULDADE PITÁGORAS PRONATEC DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos [email protected] www.oficinadapesquisa.com.br Objetivos Ao final desta apostila,
Sistemas Computacionais II Professor Frederico Sauer
Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não
Organização de Computadores
Organização de Computadores Marcelo Lobosco DCC/UFJF Avaliando e Compreendendo o Desempenho Aula 10 Agenda Análise de Desempenho (cont.) Avaliando o Desempenho Benchmark SPEC Falácias e Armadilhas Desempenho
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números
Arquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Fernando Fonseca Ramos Faculdade de Ciência e Tecnologia de Montes Claros Fundação Educacional Montes Claros 1 Metodologia da Disciplina 1-Objetivo 2-Competências
Sistemas Paralelos e Distribuídos. Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN
Sistemas Paralelos e Distribuídos Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN Conceitos preliminares Paralelismo refere-se a ocorrência simultânea de eventos em um computador Processamento
Comparação SDs X Scs
Prof. Alexandre Lima Sistemas Distribuídos Cap 9 1/7 Comparação SDs X Scs Distribuição inerente Economia Velocidade Confiabilidade Crescimento incremental Descrição Algumas aplicações envolvem máquinas
Arquitetura de Computadores I
Arquitetura de Computadores I Avaliação de desempenho Introdução Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Adaptado do material de aula de Hennessy e Patterson Desempenho Meça,
29/3/2011. Primeira unidade de execução (pipe U): unidade de processamento completa, capaz de processar qualquer instrução;
Em 1993, foi lançada a primeira versão do processador Pentium, que operava a 60 MHz Além do uso otimizado da memória cache (tecnologia já amadurecida) e da multiplicação do clock, o Pentium passou a utilizar
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
SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA
SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS 1. Histórico Primeiros computadores Computadores dos anos 50 e 60 Primeiros computadores com sistemas operacionais Surgimento das redes de computadores Nos anos 70 início das pesquisas
FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES
FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos [email protected] www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é
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:
Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de
Universidade Federal do Rio de Janeiro Pós-Gradução em Informática. Microarquiteturas de Alto Desempenho. Multithreading. Gabriel P. Silva.
Universidade Federal do Rio de Janeiro Pós-Gradução em Informática Microarquiteturas de Alto Desempenho Multithreading Introdução Muitos dos sistemas operacionais modernos suportam o conceito de threads,
Previsão do Desempenho. AC1 13ª aula Previsão do Desempenho 1
Previsão do Desempenho AC1 13ª aula Previsão do Desempenho 1 De que depende T exec? Um programa necessita de um determinado número de ciclos do CPU para executar (clockcycles). Cada ciclo tem uma duração
Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos
Capítulo 8 Sistemas com Múltiplos Processadores 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos 1 Sistemas Multiprocessadores Necessidade contínua de computadores mais rápidos modelo
Processos e Threads (partes I e II)
Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo [email protected]. http://www.tiagodemelo.info
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo [email protected] Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds
Sistemas Operacionais Processos e Threads
Sistemas Operacionais Processos e Threads Prof. Marcos Monteiro, MBA http://www.marcosmonteiro.com.br [email protected] 1 Estrutura de um Sistema Operacional 2 GERÊNCIA DE PROCESSOS Um processo
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES ARQUITETURAS RISC E CISC. Prof. Dr. Daniel Caetano 2012-1
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES ARQUITETURAS RISC E CISC Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer as premissas da Arquitetura CISC Conhecer as premissas da Arquitetura RISC Compreender
MEDIDAS DE DESEMPENHO DE SISTEMA DE COMPUTADORES:
A medida geral de desempenho de um sistema de computador: Depende fundamentalmente da capacidade e velocidade de seus diferentes componentes, da velocidade com que estes se comunicam entre si e do grau
Arquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Fernando Fonseca Ramos Faculdade de Ciência e Tecnologia de Montes Claros Fundação Educacional Montes Claros 1 Índice 1- Introdução 3- Memórias 4- Dispositivos
Prof. Antonio Torres [email protected] @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015
Prof. Antonio Torres [email protected] @_antonioctorres Fundamentos de Sistemas Operacionais UNIP/2015 Disciplinas FUNDAMENTOS DE SISTEMAS OPERACIONAIS Horários Quarta-feira Fundamentos de Sistemas
Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)
Definição de um Sistema Distribuído (1) Introdução Um sistema distribuído é: Uma coleção de computadores independentes que aparecem para o usuário como um único sistema coerente. Definição de um Sistema
Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro
Sistemas MIMD Arquiteturas para Alto Desmpenho Prof. [email protected] Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Arquiteturas Paralelas (SISD) Single Instruction Stream, Single Data Stream: Monoprocessador
CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM
CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas
Organização e Arquitetura de Computadores I. Introdução. Ivan Saraiva Silva Leonardo Casillo
Organização e Arquitetura de Computadores I Introdução Ivan Saraiva Silva Leonardo Casillo Sumário Introdução Bibliografia Recomendada O que é um computador Organização de um Computador Modelo de Von Neumann
CAPÍTULO 2 ORGANIZAÇÃO DE COMPUTADORES
CAPÍTULO 2 ORGANIZAÇÃO DE COMPUTADORES 2.1 Organização de um Computador Típico : Armazena dados e programas. Processador (CPU - Central Processing Unit): Executa programas armazenados na memória, interpretando
Arquitetura de Computadores
Arquitetura de Computadores Prof. Fábio M. Costa Instituto de Informática UFG 1o. Semestre / 2005 Fundamentos Parte 2 Princípios de Projeto de Computadores Três áreas de aplicação com características diferentes
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Pipeline Slide 1 Pipeline Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Organização e Arquitetura de Computadores I Caminho de Dados
Organização de Computadores 2005/2006 Processamento Paralelo
Organização de Computadores 2005/2006 Processamento Paralelo Paulo Ferreira paf a dei.isep.ipp.pt Maio de 2006 Introdução 2 Porquê?...........................................................................................
FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES
FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos [email protected] www.oficinadapesquisa.com.br ESQUEMA DE UM COMPUTADOR Uma Unidade Central de
Arquitetura de Computadores. Ivan Saraiva Silva
Arquitetura de Computadores MIPS Pipeline Ivan Saraiva Silva Pipeline 4 pessoas (A, B, C, D) possuem sacolas de roupa para lavar, secar e dobrar A B C D Lavar leva 30 minutos Secar leva 40 minutos Dobrar
MEDIDA E ANÁLISE DE DESEMPENHO AULA 14 Arquitetura de Computadores Gil Eduardo de Andrade
MEDIDA E ANÁLISE DE DESEMPENHO AULA 14 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização de Computadores Linda
A Evolução dos Clusters frente as demais arquiteturas de Alto Desempenho
A Evolução dos Clusters frente as demais arquiteturas de Alto Desempenho Rodrigo Santos de Souza, Adenauer C. Yamin Universidade Católica de Pelotas - UCPel {rsouza,adenauer}@ucpel.tche.br, 1 Introdução
Sistemas Distribuídos: Conceitos e Projeto Classificação de Sistemas Distribuídos e Middleware
Sistemas Distribuídos: Conceitos e Projeto Classificação de Sistemas Distribuídos e Middleware Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA
Edeyson Andrade Gomes. www.edeyson.com.br
Sistemas Operacionais Histórico e Estruturas Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Histórico de SOs Tipos de SOs Estruturas de SOs 2 Histórico de SOs Baseado em Francis Machado e Luiz
Programação Concorrente Introdução
Introdução Prof. Eduardo Alchieri (definição) Programação Concorrente Do inglês Concurrent Programming, onde Concurrent signifca "acontecendo ao mesmo tempo" Programação Concorrente é diferente de programação
Everson Scherrer Borges João Paulo de Brito Gonçalves
Everson Scherrer Borges João Paulo de Brito Gonçalves 1 Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e sua evolução estão relacionados diretamente com a evolução do hardware e das
Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h
Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Representação de grandeza com sinal O bit mais significativo representa o sinal: 0 (indica um número
Multicomputadores. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação CECOMP
Multicomputadores Introdução Vimos que existem dois tipos de processadores paralelos MIMD: Multiprocessadores. Multicomputadores. Nos multiprocessadores, existe uma memória compartilhada que pode ser acessada
Arquitetura e Organização de Computadores 2. Apresentação da Disciplina
Arquitetura e Organização de Computadores 2 Apresentação da Disciplina 1 Objetivos Gerais da Disciplina Aprofundar o conhecimento sobre o funcionamento interno dos computadores em detalhes Estudar técnicas
Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias
Visão Geral da Arquitetura de Computadores Prof. Elthon Scariel Dias O que é Arquitetura de Computadores? Há várias definições para o termo arquitetura de computadores : É a estrutura e comportamento de
