Programação em Paralelo. N. Cardoso & P. Bicudo. Física Computacional - MEFT 2012/2013

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

Download "Programação em Paralelo. N. Cardoso & P. Bicudo. Física Computacional - MEFT 2012/2013"

Transcrição

1 Programação em Paralelo CUDA N. Cardoso & P. Bicudo Física Computacional - MEFT 2012/2013 N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 1 / 19

2 CUDA "Compute Unified Device Architecture" Parte 1 N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 2 / 19

3 Outline 1 Poder Computacional dos GPUs 2 CPUs multicores X GPUs manycores 3 Arquitectura de um GPU com capacidades para CUDA 4 O que é o CUDA? 5 Instalação e Documentação do CUDA 6 Estrutura de um programa CUDA N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 3 / 19

4 Poder Computacional dos GPUs 17X 45X 100X x Motivation X 35X 2008 NVIDIA Corporation N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 4 / 19

5 GPU s Peak Computational Power Poder Computacional dos GPUs (GPU, Graphics Processing Unit) s tulmlv!" supercomputador mais rápido do mundo: Tianhe-1A, petaflops (China) combina o poder de GPUs NVIDIA Tesla M2050 e CPUs multi-cores o mesmo desempenho apenas com CPUs: era necessário mais de 50 mil CPUs e consumiria mais de 12 megawatts de energia o Tianhe-1A consome apenas 4.04 megawatts. N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 5 / 19

6 ˆ Š Œ Ž Œ Œ Š Œ Œ Š Œ CPUs multicores X GPUs manycores CPU GPU š œ ALU ALU Control ALU ALU tp! a!"h j di\ jfi\ žÿš ž a' Cache ap%o! a&(o &q( m`v sq!"b!& \ -!sq!"n j a' tp! a!"ª&,!, -!sq!"«j sqp%o!a&(o &q( m`v sq!"«n\ DRAM DRAM Diferentes objectivos produzem designs diferentes GPU assume que a carga de trabalho é altamente paralelizável CPU deve ser bom em tudo, paralelo ou não µ ± µ ¹º µ»¼¼ ±²³ CPU: minimizar a latência experimentada por 1 thread grandes caches no processador lógica de controle GPU sofisticados Architecture (NVIDIA) GPU: maximizar a produção de todos os threads # threads em uso é limitado pelos recursos muitos recursos (registos, largura de Host banda, etc.) Input Assembler multithreading pode esconder a latência permite ignorar grandes caches Thread Execution Manager partilha da lógica de controlo através de muitos threads N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 6 / 19

7 CPUs multicores X GPUs manycores CPU multicore Optimizado para melhorar o desempenho de código sequencial Lógica de controle sofisticada para que instruções de um único thread executem em paralelo (ou fora da sua ordem sequencial) enquanto mantém a aparência de execução sequencial Memória cache grande para reduzir a latência de acesso aos dados e instruções das aplicações mais complexas (largura de banda de acesso à memória <20GB/s) Dificuldade de alterar o modelo de acesso à memória (para atender requisitos de sistemas operacionais e sistemas legados) N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 7 / 19

8 CPUs multicores X GPUs manycores GPU manycore Optimizado para execução de um número muito grande de threads Lógica de controle simplificada na execução de cada thread Memória cache pequena (apenas para ajudar nos requisitos de largura de banda i.e., threads acedendo os mesmos dados não precisam ir todos à DRAM) Largura de banda de acesso a DRAM 80GB/s, e para comunicação com o CPU 4GB/s (em cada direcção) O hardware aproveita o grande número de threads para encontrar trabalho para fazer quando parte dos threads estão esperando pela latência de acesso à memória Conceitos do CUDA: GPU - Device de computação com capacidade de executar threads em paralelo. CPU - Host que trabalha em conjunto com o GPU Kernel - instância do programa Thread - instância de um kernel Memória de vídeo / device Memória principal / host N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 8 / 19

9 GPU chip design Arquitectura de um GPU com capacidades para CUDA A glance at the GeForce N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 9 / 19

10 Arquitecturas de GPUs GPU G80 GT200 Fermi Transistors 681 million 1.4 billion 3.0 billion Cores CUDA Precisão dupla None 30 FMA ops/clock 256 FMA ops/clock Precisão simples 128 MAD ops/clock 240 MAD ops/clock 512 MAD ops/clock Warp schedulers (por SM) Shared memory (por SM) 16KB 16KB Configurável 48KB or 16KB Cache L1 (por SM) None None Configurável 16KB or 48KB Cache L2 (por SM) None None 768KB ECC memory support No No Yes Concurrent kernels No No Up to 16 Load/Store address width 32-bit 32-bit 64-bit SM: streaming multiprocessor E ainda a arquitectura Kepler 4 arquitecturas de GPUs com suporte para CUDA N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 10 / 19

11 O que é o CUDA? CUDA, Compute Unified Device Architecture É uma arquitetura paralela de propósito geral destinada a utilizar o poder computacional de GPUs NVIDIA Extensão da linguagem C, que permite o uso de GPUs: Suporte a uma hierarquia de grupos de threads Definição de kernels que são executados na GPU API com funções, que permite gerir a memória da GPU e outros tipos de controle CUDA Software Development Kit Optimized libraries: math.h, BLAS, FFT Integrated CPU and GPU source code CUDA C Compiler (nvcc) Machine independent assembly (PTX) CPU Host Code CUDA Driver Debugger Profiler Standard C compiler GPU CPU N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 11 / 19

12 Instalação e Documentação do CUDA CUDA v4.2: Download: CUDA/GPU driver Permite o acesso ao hardware Lista de GPUs suportados: CUDA Toolkit Ferramentas e bibliotecas para programação em CUDA CUDA SDK Em Linux é necessário fazer make após a instalação Inclui vários exemplos de código N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 12 / 19

13 Instalação e Documentação do CUDA Instalação Driver, LINUX: C t r l + A l t +F2 K i l l the X server chmod +x devdriver_4.2 _ l i n u x _. run. / devdriver_4.2 _ l i n u x _. run reboot Exemplo, Fedora (root): i n i t 3 chmod +x devdriver_4.2 _ l i n u x _. run. / devdriver_4.2 _ l i n u x _. run reboot editar o conteúdo do ficheiro /boot/grub2/grub.cfg. Procure a entrada do kernel mais recente e altera a linha semelhante à seguinte: l i n u x / boot / vmlinuz fc17. x86_64 r o o t =... rd.md=0 rd. lvm=0 rd.dm=0 SYSFONT=True KEYTABLE=pt l a t i n 1 rd. luks =0 LANG=en_US. UTF 8 rhgb q u i e t adicione no final da linha: nouveau. modeset=0 rd. d r i v e r. b l a c k l i s t =nouveau Reinicie o PC. N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 13 / 19

14 Instalação e Documentação do CUDA Instalação do Toolkit, LINUX: Instale com permissões de root: chmod +x c u d a t o o l k i t _ _ l i n u x _. run. / c u d a t o o l k i t _ _ l i n u x _. run Por defeito a instalação será em: /usr/ local /cuda/ Adicione os seguintes PATH s, por exemplo, a "/home/user/.bashrc" ou a " /.bash_profile": sistemas 32bits: PATH=$PATH : / usr / l o c a l / cuda / bin export PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH : / usr / l o c a l / cuda / l i b export LD_LIBRARY_PATH sistemas 64bits: PATH=$PATH : / usr / l o c a l / cuda / bin export PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH : / usr / l o c a l / cuda / l i b 6 4 LD_LIBRARY_PATH=$LD_LIBRARY_PATH : / usr / l o c a l / cuda / l i b export LD_LIBRARY_PATH Documentação extra: /usr/ local /cuda/doc/ N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 14 / 19

15 Instalação e Documentação do CUDA Instalação do SDK, LINUX: Instale com permissões de user: chmod +x gpucomputingsdk_ _ l i n u x. run. / gpucomputingsdk_ _ l i n u x. run Por defeito a instalação será em: /home/user/nvidia_gpu_computing_sdk/ Depois da instalação do SDK: cd / home / user / NVIDIA_GPU_Computing_SDK /C/ make O CUDA SDK também necessita para alguns códigos: Xi Xmu and glut. No caso do fedora, certifiquem-se que têm instalados os seguintes pacotes: f r e e g l u t devel l i b X i devel libxmu devel mesa libglu devel caso contrário executem cd / home / user / NVIDIA_GPU_Computing_SDK /C/ make i Caso obtenha erro por incompatibilidade da versão do gcc, é necessário instalar uma versão inferior do mesmo, por exemplo gcc 4.5. N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 15 / 19

16 Instalação e Documentação do CUDA CUDA SDK: Lista de códigos disponibilizados com o SDK em: / home / user / NVIDIA_GPU_Computing_SDK /C/ src / Coloquem os vossos projectos em: / home / user / NVIDIA_GPU_Computing_SDK /C/ src / Os binários dos projectos ficam em: / home / user / NVIDIA_GPU_Computing_SDK /C/ bin / l i n u x / release / N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 16 / 19

17 Instalação e Documentação do CUDA Bibliografia: David B. Kirk, Wen-mei W. Hwu, Programming Massively Parallel Processors: A Hands-on Approach, Elsevier; Rob Farber, CUDA Application Design and Development, Elsevier; Jason Sanders, Edward Kandrot, CUDA by Example: An Introduction to General-Purpose GPU Programming; Documentação com CUDA Toolkit, incluido na instalação do Toolkit, /usr/local/cuda/doc/; Fórum da NVIDIA: N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 17 / 19

18 Estrutura de um programa CUDA Um programa CUDA consiste de uma ou mais fases que são executadas no host (CPU) ou em um device (GPU): as fases com pouco ou nenhum paralelismo de dados são executadas no host as fases com grande qtde de paralelismo de dados são executadas no device CUDA Software Development Kit Um programa CUDA é um código unificado que engloba o código do host e do device Optimized libraries: math.h, BLAS, FFT CUDA C Compiler (nvcc) Integrated CPU and GPU source code O compilador nvcc (NVIDIA C) separa as duas partes do código durante o processo de compilação nvcc -o name name.cu Mais prático: Makefile Machine independent assembly (PTX) CUDA Driver GPU Debugger Profiler CPU Host Code Standard C compiler CPU N. Cardoso & P. Bicudo Programação em Paralelo: CUDA Applied Mathematics 18 / 19

19 Estrutura de um programa CUDA e Interacção CPU-GPU d$a'ooap%('(q& Conclusão How does it work? r$`!(& Referências GPU: Corre o código paralelo (Kernel). êneo de Computação j$a%kl&%(m'(' CPU: CPU GPU Controla o GPU e disponibiliza dados para o mesmo ÄÅÆÇÈÉÊË n$a%k`!o( ÌÅÆ GPU PC Memory Memory bqp! j$a%kl&%(m'(' d$a'ooí!&!o n$a%k`!o( r$`!(& ÑÒÏ ÓµÏ Î± ϱРAvaliação de Desempenho ão Concorrente Assíncrona N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 19 / 19

Arquitetura e Programação de GPU. Leandro Zanotto RA: 001962 Anselmo Ferreira RA: 023169 Marcelo Matsumoto RA: 085973

Arquitetura e Programação de GPU. Leandro Zanotto RA: 001962 Anselmo Ferreira RA: 023169 Marcelo Matsumoto RA: 085973 Arquitetura e Programação de GPU Leandro Zanotto RA: 001962 Anselmo Ferreira RA: 023169 Marcelo Matsumoto RA: 085973 Agenda Primeiras Placas de Vídeo Primeira GPU Arquitetura da GPU NVIDIA Arquitetura

Leia mais

Análise de desempenho e eficiência energética de aceleradores NVIDIA Kepler

Análise de desempenho e eficiência energética de aceleradores NVIDIA Kepler Análise de desempenho e eficiência energética de aceleradores NVIDIA Kepler Emilio Hoffmann, Bruno M. Muenchen, Taís T. Siqueira, Edson L. Padoin e Philippe O. A. Navaux Universidade Regional do Noroeste

Leia mais

Computação Heterogênea Programação paralela, clusters e GPUs

Computação Heterogênea Programação paralela, clusters e GPUs Computação Heterogênea Programação paralela, clusters e GPUs Profa. Dra. Denise Stringhini (ICT- Unifesp) Primeiro Encontro do Khronos Chapters Brasil Belo Horizonte, 20/09/2013 Conteúdo Computação heterogênea:

Leia mais

Auditoria de senhas em hardware paralelo com o John the Ripper O impacto das tecnologias de processamento paralelo na quebra de senhas

Auditoria de senhas em hardware paralelo com o John the Ripper O impacto das tecnologias de processamento paralelo na quebra de senhas Auditoria de senhas em hardware paralelo com o John the Ripper O impacto das tecnologias de processamento paralelo na quebra de senhas Claudio André claudio.andre@correios.net.br Motivação Seu computador

Leia mais

5 Unidades de Processamento Gráfico GPUs

5 Unidades de Processamento Gráfico GPUs 5 Unidades de Processamento Gráfico GPUs As GPUs são processadores maciçamente paralelos, com múltiplos elementos de processamento, tipicamente utilizadas como aceleradores de computação. Elas fornecem

Leia mais

Conceitos Básicos sobre Programação Prática

Conceitos Básicos sobre Programação Prática Conceitos Básicos sobre Programação Prática Programa de computador conjunto de instruções e informação necessários ao alcance de um objectivo instruções + dados normalmente, guardados em ficheiros (em

Leia mais

Processamento de Alto Desempenho utilizando Unidade de Processamento Gráfico - GPU

Processamento de Alto Desempenho utilizando Unidade de Processamento Gráfico - GPU Processamento de Alto Desempenho utilizando Unidade de Processamento Gráfico - GPU Francisco Ribacionka e Ettore Enrico (STI ) USP/STI/InterNuvem internuvem@usp.br Março -2016 Processamento de Alto Desempenho

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Multi-núcleos Programação de Sistemas Core : 1/19 Introdução (1) [Def] núcleo ( core ) é uma unidade de processamento. O multicore (Dual, Quad,...) possui 2 ou mais núcleos que

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Multi-núcleos Programação de Sistemas Core : 1/19 Introdução (1) [Def] núcleo ( core ) é uma unidade de processamento. O multicore (Dual, Quad,...) possui 2 ou mais núcleos que

Leia mais

Capítulo 8. Software de Sistema

Capítulo 8. Software de Sistema Capítulo 8 Software de Sistema Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Objectivos Conhecer o ciclo de desenvolvimento da linguagem Java

Leia mais

Hardware - Microprocessador

Hardware - Microprocessador Introdução Um microprocessador é um circuito integrado encarregue de executar as instruções de todos os programas armazenados na memória. É o motor que põe tudo a trabalhar desde o momento em que se liga

Leia mais

SSC510 Arquitetura de Computadores. 12ª aula

SSC510 Arquitetura de Computadores. 12ª aula SSC510 Arquitetura de Computadores 12ª aula EVOLUÇÃO DA ARQUITETURA INTEL PROFA. SARITA MAZZINI BRUSCHI 1 Pentium - Modelos 2 Pentium - Arquiteturas Netburst P7 Sétima geração dos processadores da arquitetura

Leia mais

Symmetric Multiprocessing Simultaneous Multithreading Paralelismo ao nível dos dados

Symmetric Multiprocessing Simultaneous Multithreading Paralelismo ao nível dos dados Symmetric Multiprocessing Simultaneous Multithreading Paralelismo ao nível dos dados Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto SMP,

Leia mais

Unified Modeling Language. Diagramas de Implementação

Unified Modeling Language. Diagramas de Implementação Unified Modeling Language Diagramas de Implementação José Correia, Junho 2006 (http://paginas.ispgaya.pt/~jcorreia/) Diagramas de implementação José Correia UML Diagramas de Implementação 2 Diagramas de

Leia mais

Modos de entrada/saída

Modos de entrada/saída Arquitectura de Computadores II Engenharia Informática (11545) Tecnologias e Sistemas de Informação (6621) Modos de entrada/saída Fonte: Arquitectura de Computadores, José Delgado, IST, 2004 Nuno Pombo

Leia mais

Universidade Estadual de Feira de Santana

Universidade Estadual de Feira de Santana Universidade Estadual de Feira de Santana Tutorial de instalação do Ambiente Cuda para programação paralela em GPU s Feira de Santana - BA Fevereiro, 2015 1 INTRODUÇÃO 1 1 Introdução Tutorial criado por

Leia mais

Descrição geral do Android

Descrição geral do Android Descrição geral do Android (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Versões & API A versão 1.0 foi lançada em Fevereiro de 2009

Leia mais

Motherboard Significado

Motherboard Significado Motherboard Significado Motherboard, também m designada por mainboard ou Placa-mãe, é uma placa de circuito impresso, que serve como base para a instalação dos componentes do computador, tais como processador,

Leia mais

Programação Paralela Híbrida em CPU e GPU: Uma Alternativa na Busca por Desempenho

Programação Paralela Híbrida em CPU e GPU: Uma Alternativa na Busca por Desempenho 124 - Encontro Anual de Tecnologia da Informação Programação Paralela Híbrida em CPU e GPU: Uma Alternativa na Busca por Desempenho André Luís Stefanello¹, Crístian Cleder Machado1, Dioni da Rosa¹, Maurício

Leia mais

Estrutura do tema ISC

Estrutura do tema ISC Introdução aos Sistemas de Computação (3) num computador (1) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. num computador 4. O

Leia mais

ARQUITECTURA DO WINDOWS

ARQUITECTURA DO WINDOWS ARQUITECTURA DO WINDOWS MS DOS No sistema operativo MS-DOS, a BIOS (Basic Input Output System), disponibilizava os drivers para o hardware por meio de: Interrupções de software O próprio MS-DOS exportava

Leia mais

Programação em Paralelo. N. Cardoso & P. Bicudo. Física Computacional - MEFT 2012/2013

Programação em Paralelo. N. Cardoso & P. Bicudo. Física Computacional - MEFT 2012/2013 Programação em Paralelo CUDA N. Cardoso & P. Bicudo Física Computacional - MEFT 2012/2013 N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 1 / 23 CUDA "Compute Unified Device Architecture" Parte 2

Leia mais

Linguagem de Montagem

Linguagem de Montagem Linguagem de Montagem Uma introdução à Programação Assembly do PC Slides baseados em material associado ao livro Introduction to Assembly Language Programming, Sivarama Dandamudi 1 A Visão do Usuário sobre

Leia mais

PARALELIZAÇÃO DE APLICAÇÕES NA ARQUITETURA CUDA: UM ESTUDO SOBRE VETORES 1

PARALELIZAÇÃO DE APLICAÇÕES NA ARQUITETURA CUDA: UM ESTUDO SOBRE VETORES 1 PARALELIZAÇÃO DE APLICAÇÕES NA ARQUITETURA CUDA: UM ESTUDO SOBRE VETORES 1 DUTRA, Evandro Rogério Fruhling 2 ; VARINI, Andre Luis 2 ; CANAL, Ana Paula 2 1 Trabalho de Iniciação Científica _UNIFRA 2 Ciência

Leia mais

INSTALAÇÃO UBUNTU NUM INSTANTE

INSTALAÇÃO UBUNTU NUM INSTANTE INSTALAÇÃO UBUNTU NUM INSTANTE Este é um manual ilustrado quick and dirty para quem quer instalar o Ubuntu na sua máquina o mais rápido possível, sem se perder com grandes detalhes. O objectivo é providenciar

Leia mais

Instalar uma versão do Ubuntu de 32 bits ou de 64 bits?

Instalar uma versão do Ubuntu de 32 bits ou de 64 bits? Instalar uma versão do Ubuntu de 32 bits ou de 64 bits? Instalar uma versão do Ubuntu de 32 bits ou de 64 bits? Em seguida apresenta-se alguns conselhos para decidir Os processadores EM64T/AMD64 podem

Leia mais

Programação em Paralelo. N. Cardoso & P. Bicudo. Física Computacional - MEFT 2010/2011

Programação em Paralelo. N. Cardoso & P. Bicudo. Física Computacional - MEFT 2010/2011 Programação em Paralelo CUDA N. Cardoso & P. Bicudo Física Computacional - MEFT 2010/2011 N. Cardoso & P. Bicudo Programação em Paralelo: CUDA 1 / 12 CUDA Parte 3 N. Cardoso & P. Bicudo Programação em

Leia mais

Fabrício Gomes Vilasbôas

Fabrício Gomes Vilasbôas Fabrício Gomes Vilasbôas Apresentação Placas Arquitetura Toolkit e Ferramentas de Debug Pensando em CUDA Programação CUDA Python Programação PyCUDA 1) Grids( padrão Globus) 2) Clusters ( padrão MPI) 3)

Leia mais

Introdução à Computação Heterogênea

Introdução à Computação Heterogênea Capítulo 7 Introdução à Computação Heterogênea Denise Stringhini, Rogério A. Gonçalves, Alfredo Goldman Resumo Diversos tipos de coprocessadores tem sido utilizados a fim de acelerar a execução de aplicações

Leia mais

Introdução ao Android

Introdução ao Android Introdução ao Android André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida Parte 1 Conhecendo o Sistema e Primeiro Programa Roteiro Pré-requisitos Conceitos Básicos Configurando o Ambiente

Leia mais

Instituto Superior Politécnico Gaya Escola Superior de Ciência e Tecnologia

Instituto Superior Politécnico Gaya Escola Superior de Ciência e Tecnologia Instituto Superior Politécnico Gaya Escola Superior de Ciência e Tecnologia Engenharia Informática Interligação e Gestão de Sistemas Informáticos 2006/2007 Interface WEB para Gestão de Máquinas Virtuais

Leia mais

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. Capitulo 1

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. Capitulo 1 Capitulo 1 Montagem de duas pequenas redes com a mesma estrutura. Uma é comandada por um servidor Windows e outra por um servidor linux, os computadores clientes têm o Windows xp Professional instalados.

Leia mais

Ricardo Gonçalves 2013/2014. Arquitecturas Multicore

Ricardo Gonçalves 2013/2014. Arquitecturas Multicore Ricardo Gonçalves 2013/2014 Arquitecturas Multicore Outline Introdução Processador Multi-core: o que é? Do multi-processador ao multi-core Evolução dos processadores multi-core Arquitecturas multi-core

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Introdução à gestão de memória Programação de Sistemas Gestão de memória : 1/16 Introdução (1) A memória central de um computador é escassa. [1981] IBM PC lançado com 64KB na motherboard,

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores 1 Introdução à Arquitetura de Computadores Hardware e software Organização de um computador: Processador: registradores, ALU, unidade de controle Memórias Dispositivos de E/S Barramentos Linguagens de

Leia mais

ANÁLISE DE DESEMPENHO DA PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PRIMOS UTILIZANDO PTHREAD E OPENMP 1

ANÁLISE DE DESEMPENHO DA PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PRIMOS UTILIZANDO PTHREAD E OPENMP 1 ANÁLISE DE DESEMPENHO DA PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PRIMOS UTILIZANDO PTHREAD E OPENMP 1 Francisco Berti Da Cruz 2, Cleber Cristiano Sartorio 3, Edson Luiz Padoin 4, Emilio Hoffmann 5. 1 Trabalho

Leia mais

Trabalho Prático Nº2 Escrita e Leitura em Portos IO

Trabalho Prático Nº2 Escrita e Leitura em Portos IO Trabalho Prático Nº2 Escrita e Leitura em Portos IO 1. OBJECTIVOS - Saber efectuar a escrita e leitura em portos de entrada saída num PC num com operativo DOS e Windows. 2. INTRODUÇÃO Para este trabalho

Leia mais

Universidade Estadual de Feira de Santana

Universidade Estadual de Feira de Santana Universidade Estadual de Feira de Santana Tutorial de instalação do Ambiente Cuda para programação paralela em GPU s Feira de Santana - BA Fevereiro, 2015 1 INTRODUÇÃO 1 1 Introdução Tutorial criado por

Leia mais

Placa de vídeo em CUDA

Placa de vídeo em CUDA Placa de vídeo em CUDA Matheus Costa Leone de Souza Krystian Aparacido Resumo Quando você tem um cálculo que possa ser grande demais para você realizar a mão, a primeira solução que lhe vem a cabeça é

Leia mais

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

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento 1 Processadores Computador Processador ( CPU ) Memória E/S Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento 2 Pastilha 3 Processadores (CPU,, Microcontroladores)

Leia mais

Estrutura de um Sistema Linux Moderno Padrões de um Sistema Linux. Prof. Claudio Silva

Estrutura de um Sistema Linux Moderno Padrões de um Sistema Linux. Prof. Claudio Silva Estrutura de um Sistema Linux Moderno Padrões de um Sistema Linux Estrutura de um Sistema Linux Por ter sua origem universitária, a forma como o Linux foi concebido é de perfeito agrado para o seu estudo.

Leia mais

Problema: Solução: Vantagens da estruturação em Níveis: Introdução INTRODUÇÃO À ARQUITETURA DE COMPUTADORES. Introdução

Problema: Solução: Vantagens da estruturação em Níveis: Introdução INTRODUÇÃO À ARQUITETURA DE COMPUTADORES. Introdução INTRODUÇÃO À ARQUITETURA DE COMPUTADORES Curso Técnico de Informática Eduardo Amaral Introdução Computador: Máquina programável, de propósito geral, que processa informação. Programa: Seqüência de instruções

Leia mais

Comparação de eficiência entre OpenCL e CUDA

Comparação de eficiência entre OpenCL e CUDA Aluno: Thiago de Gouveia Nunes Orientador: Prof. Marcel P. Jackowski GPGPU O que é GPGPU? É programação de propósito geral em GPUs. =D GPGPU Existem 2 linguagens populares no mercado para GPGPU, o CUDA

Leia mais

MoreDoc. Guia de Instalação. Edição Community Versão 3.0

MoreDoc. Guia de Instalação. Edição Community Versão 3.0 MoreDoc Guia de Instalação Edição Community Versão 3.0 Índice 1 Histórico de Alterações...3 2 Sobre o Guia...4 3 Como começar...5 Software Necessário...5 Descompactação de arquivos...5 Carregamento da

Leia mais

Instalando o plugin CDT 4.0

Instalando o plugin CDT 4.0 Instalando o plugin CDT 4.0 Abra o Eclipse, acesse help/software updates/ find and install. Escolha a opção search for new features to install e depois clique em next. Instalando o plugin CDT 4.0 Na janela

Leia mais

Prova de pré-requisitos: A Arte da Virtualização de Sistemas Operacionais utilizando Xen

Prova de pré-requisitos: A Arte da Virtualização de Sistemas Operacionais utilizando Xen 1 - Qual alternativa é falsa? A O disco master da IDE primária é o /dev/hda. B Dispositivos USB e PCMCIA são suportados pelo Linux mas apenas o USB é "hot swap". C Tanto SCSI quanto IDE são suportados

Leia mais

Arquitetura de Computadores II

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

Leia mais

Especificação Operacional.

Especificação Operacional. Especificação Operacional. Para muitos sistemas, a incerteza acerca dos requisitos leva a mudanças e problemas mais tarde no desenvolvimento de software. Zave (1984) sugere um modelo de processo que permite

Leia mais

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO 4 CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO CONCEITOS BÁSICOS MS-DOS MICROSOFT DISK OPERATION SYSTEM INSTALAÇÃO E CONFIGURAÇÃO DE UM SISTEMA OPERATIVO LIGAÇÕES À INTERNET O que é um sistema operativo?

Leia mais

Roteiro. MC-102 Aula 01. Hardware e dispositivos. O que é um computador? Primeiro Semestre de 2008 3 A linguagem C

Roteiro. MC-102 Aula 01. Hardware e dispositivos. O que é um computador? Primeiro Semestre de 2008 3 A linguagem C Roteiro Introdução à Programação de Computadores 1 Instituto de Computação Unicamp 2 Primeiro Semestre de 2008 3 O que é um computador? Computador: o que computa, calculador, calculista. (dicionário Houaiss).

Leia mais

Programação Concorrente

Programação Concorrente + XV Jornada de Cursos CITi Programação Concorrente Aula 1 Benito Fernandes Fernando Castor João Paulo Oliveira Weslley Torres + Suposições básicas Conhecimento básico sobre Programação Orientada a Objetos

Leia mais

INFORMÁTICA PARA GESTÃO I Curso Superior de Gestão de Marketing

INFORMÁTICA PARA GESTÃO I Curso Superior de Gestão de Marketing INFORMÁTICA PARA GESTÃO I Curso Superior de Gestão de Marketing Docente (Teóricas): Contacto: vmnf@yahoo.com ou vmnf@ipam.pt Web: http://www.vmnf.net/ipam/ig1 Aula 3 Sumário Introdução à Informática (2/2)

Leia mais

LUIS HENRIQUE ALVES LOURENÇO PROCESSAMENTO PARALELO DE ÁUDIO EM GPU

LUIS HENRIQUE ALVES LOURENÇO PROCESSAMENTO PARALELO DE ÁUDIO EM GPU LUIS HENRIQUE ALVES LOURENÇO PROCESSAMENTO PARALELO DE ÁUDIO EM GPU CURITIBA 2009 LUIS HENRIQUE ALVES LOURENÇO PROCESSAMENTO PARALELO DE ÁUDIO EM GPU Trabalho de Conclusão de Curso apresentado como requisito

Leia mais

Manual de Instalação da Plataforma Scorpion. 1. Como conectar a Plataforma Scorpion com a Xilinx Starter-3E kit

Manual de Instalação da Plataforma Scorpion. 1. Como conectar a Plataforma Scorpion com a Xilinx Starter-3E kit Manual de Instalação da Plataforma Scorpion 1. Como conectar a Plataforma Scorpion com a Xilinx Starter-3E kit Para começar a ler este manual, é bom que você conheça os componentes desta conexão. Plataforma

Leia mais

COMPUTAÇÃO PARALELA. uma visão geral. Guilherme Galante. v.2.0

COMPUTAÇÃO PARALELA. uma visão geral. Guilherme Galante. v.2.0 COMPUTAÇÃO PARALELA uma visão geral Guilherme Galante v.2.0 Guilherme Galante Bacharel em Informática Unioeste (2003) Mestre em Ciência da Computação UFRGS (2006) Professor Assistente do curso de Informática/Ciência

Leia mais

periféricos: interfaces humano-computador (HCI) arquivo de informação comunicações

periféricos: interfaces humano-computador (HCI) arquivo de informação comunicações Introdução aos Sistemas de Computação (6) Análise de componentes num computador Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3.

Leia mais

Estrutura de um Computador

Estrutura de um Computador Estrutura de um Computador Tratando-se o computador de uma máquina complexa a sua estrutura pode ser apreciada a diferentes níveis de detalhe, duma forma hierárquica. AC1 Arquitectura e Organização de

Leia mais

Arquitetura de computadores

Arquitetura de computadores Arquitetura de computadores Docentes Teóricas: Helder Daniel Práticas: Amine Berquia Horas de contacto: 30 T 30 P Horas de trabalho: 168 ECTS: 6 Conteúdo História: do IAS (1946) at e o CRAY T3E (1996)

Leia mais

Aula 4: Montagem e Disponibilização Frameworks Genéricos

Aula 4: Montagem e Disponibilização Frameworks Genéricos Aula 4: Montagem e Disponibilização Frameworks Genéricos Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) Montagem e Disponibilização Frameworks

Leia mais

Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos - 2º Ano

Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos - 2º Ano Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos Sistemas Operativos - 2º Ano 2012/2013 O Windows Server 2003 surgiu em 2003 e substituiu o Windows Server 2000. O Windows

Leia mais

Apontamentos do livro de AI Linux. 1.5 Modo texto e modo gráfico

Apontamentos do livro de AI Linux. 1.5 Modo texto e modo gráfico Apontamentos do livro de AI Linux 1.5 Modo texto e modo gráfico 1 Modo texto e modo gráfico O sistema operativo Linux possui duas formas de acesso: modo texto e modo gráfico No modo gráfico, o utilizador

Leia mais

Capítulo 8 Arquitetura de Computadores Paralelos

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

Leia mais

Organização de Computadores 1. Prof. Luiz Gustavo A. Martins

Organização de Computadores 1. Prof. Luiz Gustavo A. Martins Organização de Computadores 1 1 - INTRODUÇÃO Prof. Luiz Gustavo A. Martins Arquitetura Define os elementos que impactuam diretamente na execução lógica do programa. Corresponde aos atributos visíveis veis

Leia mais

Programação Paralela em Ambientes Computacionais Heterogêneos com OpenCL

Programação Paralela em Ambientes Computacionais Heterogêneos com OpenCL Programação Paralela em Ambientes Computacionais Heterogêneos com OpenCL César L. B. Silveira Prof. Dr. Luiz G. da Silveira Jr. Prof. Dr. Gerson Geraldo H. Cavalheiro 28 de outubro de 2010 contato@v3d.com.br

Leia mais

Introdução à estrutura e funcionamento de um Sistema Informático

Introdução à estrutura e funcionamento de um Sistema Informático Introdução à estrutura e funcionamento de um Sistema Informático Elementos que constituem o Computador O funcionamento do computador é possível devido aos vários elementos interligados que o constituem:

Leia mais

CUDA. José Ricardo da Silva Jr.

CUDA. José Ricardo da Silva Jr. CUDA José Ricardo da Silva Jr. Medialab Ins1tuto de Computação Universidade Federal Fluminense CUDA Research Center & CUDA Teaching Center Centro de excelência da NVIDIA desde julho 2012 Perfil Bacharel

Leia mais

Formação de Administradores de Redes Linux LPI level 1. Aula 3 SENAC TI Fernando Costa

Formação de Administradores de Redes Linux LPI level 1. Aula 3 SENAC TI Fernando Costa Formação de Administradores de Redes Linux LPI level 1 Aula 3 SENAC TI Fernando Costa Agenda Manipulação de arquivos Comandos: cat, cut, expand,fmt, head, join, nl, od, paste, pr, split, tac, tail, tr,

Leia mais

EEC2104 Microprocessadores

EEC2104 Microprocessadores EEC2104 Microprocessadores Edição 2005/2006 Apresentação da disciplina Missão e Objectivos Ganhar competências que permitam desenvolver aplicações baseadas em microprocessadores (MPs) e microcontroladores

Leia mais

Multi-processamento. Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores

Multi-processamento. Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores Multi-processamento Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores Arquitecturas MIMD de memória distribuída Massive Parallel Computers Sistemas distribuídos Ainda

Leia mais

Arquitectura de Sistemas Computacionais

Arquitectura de Sistemas Computacionais Arquitectura de Sistemas Computacionais Práticas 2004-2005 Prof. Dr. Paulo Sampaio Departamento de Matemática e Engenharias UNIVERSIDADE DA MADEIRA A plataforma Nokia Series 60 Optimizado para Symbian

Leia mais

Manual de Instalação

Manual de Instalação INSTITUTO BRASILEIRO DE INFORMAÇÃO EM CIÊNCIA E TECNOLOGIA Manual de Instalação Tecer [Linux] ÍNDICE DE FIGURAS Figura 1 Tecer-ds...8 Figura 2 Criando a pasta tecer...9 2 P á g i n a SUMÁRIO 1. INTRODUÇÃO...4

Leia mais

Eng. Thársis T. P. Souza

Eng. Thársis T. P. Souza Introdução à Computação de Alto Desempenho Utilizando GPU Seminário de Programação em GPGPU Eng. Thársis T. P. Souza t.souza@usp.br Instituto de Matemática e Estatística - Universidade de São Paulo Introdução

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2012/2013

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2012/2013 Programa da Unidade Curricular ARQUITECTURA DE COMPUTADORES Ano Lectivo 2012/2013 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Electrotécnica e de Computadores 3.

Leia mais

http://introcomp.pet.inf.ufes.br

http://introcomp.pet.inf.ufes.br O SITE http://introcomp.pet.inf.ufes.br http://introcomp.pet.inf.ufes.br http://introcomp.pet.inf.ufes.br http://introcomp.pet.inf.ufes.br O MOODLE http://introcomp.pet.inf.ufes.br/moodle http://introcomp.pet.inf.ufes.br/moodle

Leia mais

Processadores Tecnologia de Multiprocessamento VS + Núcleos. Claudio Damasceno prof.claudiodamasceno@hotmail.com

Processadores Tecnologia de Multiprocessamento VS + Núcleos. Claudio Damasceno prof.claudiodamasceno@hotmail.com Processadores Tecnologia de Multiprocessamento VS + Núcleos Claudio Damasceno prof.claudiodamasceno@hotmail.com Core Solo O Core Solo é a versão do Core Duo com apenas um núcleo de processamento. Ele mantém

Leia mais

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS PROFª. M.Sc. JULIANA H Q BENACCHIO Links importantes http://www.android.com/ Site oficial de toda a documentação, downloads e informações sobre a plataforma. http://developer.android.com/

Leia mais

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Cap. 01 Fundamentos de Computadores Sumário : Conceitos básicos: computador,

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 1 ARQUITETURA DE COMPUTADORES U C P Prof. Leandro Coelho Plano de Aula 2 Aula Passada Definição Evolução dos Computadores Histórico Modelo de Von-Neumann Básico CPU Mémoria E/S Barramentos Plano de Aula

Leia mais

Componentes do Computador e noções de Arquitetura de Computadores

Componentes do Computador e noções de Arquitetura de Computadores Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Componentes do e noções de Arquitetura de es Professor Responsável: Luiz Affonso Henderson Guedes

Leia mais

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for FICHA DE TRABALHO Nº 1 MÓDULO: EQUIPAMENTOS ACTIVOS DE REDES DATA: / 03 / 2010 FORMADOR: EDUARDO SEQUEIRA FICHA LABORATORIAL 1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através

Leia mais

Programação em Memória Compartilhada com OpenMP

Programação em Memória Compartilhada com OpenMP Programação em Memória Compartilhada com OpenMP Esbel Tomás Valero Orellana Bacharelado em Ciência da Computação Departamento de Ciências Exatas e Tecnológicas Universidade Estadual de Santa Cruz evalero@uesc.br

Leia mais

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM Linguagem de programação Linguagem de Alto Nível próximo ao ser humano, escrita de forma textual. Ex: if (a==b) a=b+c; Linguagem de Montagem (Assembly) próximo à linguagem de máquina, escrita em códigos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Prof. Jó Ueyama Apresentação baseada nos slides da Profa. Dra. Kalinka Castelo Branco, do Prof. Dr. Antônio Carlos Sementille, da Profa. Dra. Luciana A. F. Martimiano e nas transparências

Leia mais

Sistemas de Computação e Desempenho (UCE Computação Paralela Distribuída)

Sistemas de Computação e Desempenho (UCE Computação Paralela Distribuída) Sistemas de Computação e Desempenho (UCE Computação Paralela Distribuída) Arquitecturas Multi-Core João Luís Ferreira Sobral jls@... 9-Dez-2008 Hierarquia processador-memória Organização dos diversos níveis

Leia mais

(Aula 15) Threads e Threads em Java

(Aula 15) Threads e Threads em Java (Aula 15) Threads e Threads em Java Um fluxo computacional. A programa maioria de execução, dos seqüencial programas o qual simples consiste realiza tem uma de essa um certa único tarefa Grande característica:

Leia mais

Departamento de Informática

Departamento de Informática Departamento de Informática Licenciatura em Engenharia Informática Sistemas Distribuídos época de recurso, 28 de Janeiro de 2009 1º Semestre, 2008/2009 NOTAS: Leia com atenção cada questão antes de responder.

Leia mais

Instalação e utilização do Eclipse / Fortran em Windows

Instalação e utilização do Eclipse / Fortran em Windows Computação e Programação Instalação e utilização do Eclipse / Fortran em Windows Nalgumas versões recentes do Windows o instalador referido na página da disciplina não consegue instalar corretamente o

Leia mais

Arquitetura WindowsNT. Sistemas Operacionais. Página 2. 2000-2004 Volnys Bernal. Arquitetura. Arquitetura. Arquitetura. Arquitetura.

Arquitetura WindowsNT. Sistemas Operacionais. Página 2. 2000-2004 Volnys Bernal. Arquitetura. Arquitetura. Arquitetura. Arquitetura. WindowsNT 1 2 Agenda Windows NT Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys! do! Ambiente de Sistema Operacional!! Object! Escalonamento 3 4 Usuário Supervisor I/O Object Microkernel

Leia mais

Imagem retirada de documentações de treinamentos oficiais INTEL

Imagem retirada de documentações de treinamentos oficiais INTEL O que é Hyper-Threading (HT)? Hyper-Threading (HT) é uma tecnologia existe nos processadores que visa explorar com mais eficiência o uso da CPU, o grande foco desta tecnologia é evitar ociosidade de processamento

Leia mais

Módulo 10. Medição do Desempenho

Módulo 10. Medição do Desempenho Módulo 10 Medição do Desempenho 1. Introdução Pretende-se com esta aula prática que os alunos se familiarizem com o processo de profiling de programas e que avaliem o impacto no desempenho de um programa

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Processos e Threads Andreza Leite andreza.leite@univasf.edu.br Plano de Aula 2 Gerenciamento de Processos Threads Aplicações com múltiplas Threads Concorrência e Compartilhamento

Leia mais

Programação Concorrente Processos e Threads

Programação Concorrente Processos e Threads Programação Concorrente Processos e Threads Prof. Eduardo Alchieri Processos O conceito mais central em qualquer sistema operacional é o processo Uma abstração de um programa em execução Um programa por

Leia mais

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

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy) Capítulo 4 João Lourenço Joao.Lourenco@di.fct.unl.pt Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa 2007-2008 MARIE (Machine Architecture Really Intuitive and Easy) Adaptado dos transparentes

Leia mais

JOSÉ HENRIQUE MADEIRA CIMINO ANÁLISE DE PARALELISMO EM ARQUITETURA MULTICORE COM USO DE UNIDADE DE PROCESSAMENTO GRÁFICO

JOSÉ HENRIQUE MADEIRA CIMINO ANÁLISE DE PARALELISMO EM ARQUITETURA MULTICORE COM USO DE UNIDADE DE PROCESSAMENTO GRÁFICO 1 FUNDAÇÃO DE ENSINO EURÍPIDES SOARES DA ROCHA CENTRO UNIVERSITÁRIO EURÍPIDES DE MARÍLIA UNIVEM CURSO DE CIÊNCIA DA COMPUTAÇÃO JOSÉ HENRIQUE MADEIRA CIMINO ANÁLISE DE PARALELISMO EM ARQUITETURA MULTICORE

Leia mais

Prof. Sandrina Correia

Prof. Sandrina Correia Tecnologias de I informação de C omunicação 9º ANO Prof. Sandrina Correia TIC Prof. Sandrina Correia 1 Objectivos Definir os conceitos de Hardware e Software Identificar os elementos que compõem um computador

Leia mais

Desenvolvimento de Programas Paralelos para Máquinas NUMA: Conceitos e Ferramentas

Desenvolvimento de Programas Paralelos para Máquinas NUMA: Conceitos e Ferramentas 1 Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação Desenvolvimento de Programas Paralelos para Máquinas NUMA: Conceitos

Leia mais

Sist i em em I a n I fo f rm r at m i at zad

Sist i em em I a n I fo f rm r at m i at zad Sistema Informatizado Software Software Formado por algoritmos e suas representações para o computador (programas) Instruções codificadas necessárias para transformar dados em informações X Quando pessoas

Leia mais

Introdução à Arquitetura e Linguagem Assembly de Processadores IA-32

Introdução à Arquitetura e Linguagem Assembly de Processadores IA-32 Introdução à Arquitetura e Linguagem Assembly de Processadores IA-32 Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007 CHIP Ano MHz Transistors Mem 8086 1978 5

Leia mais

Windows Device Drivers

Windows Device Drivers Windows Device Drivers Programação de Periféricos SO - 2013/14 Arquitetura Windows Tipos de processos user-mode System Support Process Logon process e session manager Service Processes Agendador de tarefas,

Leia mais