Aplicações em CUDA. Medialab Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center

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

Download "Aplicações em CUDA. Medialab Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center"

Transcrição

1 Aplicações em CUDA Medialab Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center

2 Roteiro l Introdução l Eventos l Aspectos históricos l Operações atômicas l Introdução sobre CUDA l Fluxo l l l Trabalhando com threads e blocos Biblioteca CUDA runtime Hierarquia de memória l l Filtro sobel CPU x GPU Arquitetura Fermi l Heap l Memória constante l Memória de textura l Memória compartilhada

3 Introdução

4 Introdução - Aspectos históricos GPGPU a evolução: As 4 fases históricas das GPUs: Dispositivos de Rasterização Fixed Function GPU Programmable GPU Arquitetura Unificada

5 Introdução - Aspectos históricos GPGPU: Problema de ter que mapear tudo para APIs Usar funções OpenGL ou DirectX para efetuar todo tipo de operações

6 Introdução sobre CUDA Arquitetura Unificada & Compute Unified Device Architecture

7 Introdução sobre CUDA GPU: Mais transistores para matemática Menos transistores para controle de fluxo do programa

8 Introdução sobre CUDA Threads Custo de gerenciamento CPU: O custo de para troca de contexto de thread em CPU é cara Em CPU, como fazemos pouca troca de threads, podemos achar natural gastar 1000 instruções para fazer a troca de uma thread para outra. Em CUDA há outro paradigma... Não é necessário gerenciar as threads, a priori

9 Introdução sobre CUDA l Estrutura das bibliotecas:

10 Introdução sobre CUDA l Conceitos do CUDA: A GPU Dispositivo de computação com capacidade de executar threads em paralelo. A CPU Host que trabalha em conjunto com a GPU Kernel instância do programa Thread instância de um kernel Memória de vídeo / device Memória principal / host

11 Trabalhando com threads e blocos Threads, Blocos e Grids: Código em GPU vai ser executado por um Grid de blocos. Cada bloco contém até 1024 threads Threads de um mesmo bloco podem compartilhar memória

12 Trabalhando com threads e blocos Hierarquia de memória Local Cache L1 e L2 Compartilhada Constante Textura Global

13 Biblioteca CUDA runtime Biblioteca dinâmica cuda_runtime_api.h para C cuda_runtime.h para C++ Não requer inicializações Modelo de programação: host & device Conjunto de funções: Gerência GPU (device) Memória Erros

14 Biblioteca CUDA runtime Funções: Gerências: Devices Streams Memória Eventos Captura de erro

15 Mão na massa!!!!

16 Instalação Instalação e o que baixar: Site: Itens para baixar: Driver CUDA toolkit

17 Meu primeiro programa! Hello world soma de vetores Estrutura do programa: 1. Alocação de memória 2. Cópia dos dados CPU à GPU 3. Execução do kernel 4. Cópia dos dados GPU à CPU 5. Desalocação da memória

18 Meu primeiro programa! 1. Alocação de memória Aloca memória na GPU cudaerror_t cudamalloc (void devptr, size_t size) devptr Ponteiro para a memória da GPU Size Quantidade em bytes a serem alocadas

19 Meu primeiro programa! 2. Cópia dos dados CPU à GPU Cópia síncrona entre host e device (CPU ß à GPU) cudaerror_t cudamemcpy (void dst, const void src, size_t count, enum cudamemcpykind kind) dst Memória de destino src Memória de origem count Quantidade em bytes a serem transferidos kind Sentido da copia CPUà GPU ou GPUà CPU

20 Meu primeiro programa! 3. Execução do kernel

21 Meu primeiro programa! 3. Execução do kernel Kernel executado pela GPU

22 Meu primeiro programa! 3. Execução do kernel Quantidade de threads em um bloco Quantidade de blocos

23 Meu primeiro programa! 3. Execução do kernel Vetores: C = A + B

24 Meu primeiro programa! 3. Execução do kernel Kernel executado pela GPU Vetores: C = A + B

25 Meu primeiro programa! 3. Execução do kernel Kernel executado pela GPU Vetores: C = A + B

26 Meu primeiro programa! 3. Execução do kernel Função responsável por sincronizar todas as threads e todos os blocos. cudaerror_t cudadevicesynchronize (void) Retorna erro quando o kernel falha

27 Meu primeiro programa! 4. Cópia dos dados GPU à CPU

28 Meu primeiro programa! 4. Cópia dos dados GPU à CPU 5. Desalocação da memória cudaerror_t cudafree (void devptr) devptr Ponteiro para a memória da GPU

29 Operação com memória

30 Memória A comunicação da CPU com a GPU é limitada pelo barramento PCI-EXPRESS Uma boa dica é minimizar o processo de comunicação

31 Hierarquia memória Organização dos dados, blocos e threads de forma a garantir um acesso coalecente. Acesso coalecente é entendido em termos de alinhamento de memória global Cada versão de GPU (capability) tem uma política própria

32 Hierarquia memória Memória Localização Fica em cache Tipo de acesso Escopo Registrador chip - R/W Thread Local GPU - R/W Thread Compartilhada chip - R/W Bloco Global GPU SIM R/W Todas as threads Constante GPU SIM R Todas as threads Texture GPU SIM R Todas as threads

33 Operação atômica

34 Operação atômica A função atômica executa três comandos: leitura à modificação à escrita As operações podem ser feitas na memória global ou compartilhada. Trabalham com palavras de 32/64-bit Garante que apenas um thread por vez vai acessar a memória

35 Operação atômica Memória global Threads Bloco 1 Bloco 2 0

36 Operação atômica Memória global Threads Bloco 1 Bloco 2 1

37 Operação atômica Memória global Threads Bloco 1 Bloco 2 2

38 Operação atômica Memória global Threads Bloco 1 Bloco 2 2

39 Ver código (operação atômica)

40 Operações com stream

41 Operações com stream Permite cópia assíncrona dos dados Sobre põe as tarefas de cópia e processamento na GPU Alocação da memória de CPU no-swap Kernel Cópia assíncrona Sincronismo Kernel Cópia assíncrona Linha do tempo

42 Operações com stream Para GPUs que permitem kernels concorrentes é necessário verificar a existência de dependência Cópia concorrente de dados. Performance medida através de eventos.

43 Ver código (operação Stream)

44 Orientação a objeto em CUDA

45 Orientação a objeto em CUDA Classes Não suporta: Método ou atributo static Métodos não suporta qualificador global Suporta: Herança Polimorfismo

46 Orientação a objeto em CUDA

47 Ver código (classes)

48 Ver código (Memória)

49 Ver código (Memória) Matriz transposta

50 Ver código (Memória) Matriz transposta Textura: apenas inverte linha por coluna Memória de textura Memória global

51 Ver código (Memória) Matriz transposta (1 bloco com 4 threads) Compartilhada: Memória global Memória global Memória compartilhada

52 Ver código (Memória) Matriz transposta Compartilhada: Memória global Thread[0,0] Memória global Memória compartilhada

53 Ver código (Memória) Matriz transposta Compartilhada: Memória global Thread[0,0] Memória global Memória compartilhada

54 Ver código (Memória) Matriz transposta Compartilhada: Memória global Thread[1,1] Memória global Memória compartilhada

55 Ver código (Memória) Matriz transposta Compartilhada: Memória global Thread[1,1] Memória global Memória compartilhada

56 Ver código (Memória) Matriz transposta Compartilhada: Memória global Memória global Memória compartilhada

57 Ver código (Memória) Matriz transposta Compartilhada: Memória global Thread[0,0] Memória global Memória compartilhada

58 Ver código (Memória) Matriz transposta Compartilhada: Memória global Thread[1,1] Memória global Memória compartilhada

59 Ver código (Memória) Matriz transposta Compartilhada: Memória global Memória global Memória compartilhada

60 Método das diferenças finitas para simulação de ondas na GPU

61 Método das diferenças finitas para simulação de ondas na GPU O problema: 2 u 2 t = 2 u 2 x + 2 u 2 y Domínio: Ω = [ 0, L x ] [0, Ly ] u( Ω,0) = 0 Condição inicial: u( Ω,1) = 0 Condição de contorno (Dirichlet): u(0,0) = 0 u( L u( L x x, L u(0, L,0) = 0 y y ) = 0 ) = 0

62 Método das diferenças finitas para simulação de ondas na GPU GPU & CUDA - Compute Unified Device Architecture) uiliza o paradigma de programação de fluxo. Memória comparilhada

63 Método das diferenças finitas para simulação de ondas na GPU Mapeamento do problema na GPU: Domínio processado pelo bloco (0,0) Domínio processado pelo bloco (0,1) Região compartilhada entre blocos

64 Método das diferenças finitas para simulação de ondas na GPU Performance - Programa Dominio X Dominio Y Dominío em T Total Tempo (s) Gigasample blocos X blocos Y UFF shared UFF textura UFF shared UFF textura UFF shared E UFF textura E UFF shared UFF textura UFF shared UFF textura UFF shared E UFF textura E UFF shared UFF textura UFF shared UFF textura UFF shared E UFF textura E

65 Método das diferenças finitas para simulação de ondas na GPU Performance -

66 Método das diferenças finitas para simulação de ondas na GPU Performance -

67 Filtro Sobel

68 Filtro Sobel É um algoritmo usado para definir bordas em imagens

69 Filtro Sobel Algoritmo

70 Filtro Sobel É um algoritmo usado para definir bordas em imagens

71 Filtro Sobel É um algoritmo usado para definir bordas em imagens

72 Filtro Sobel É um algoritmo usado para definir bordas em imagens

73 Filtro Sobel A borda é definida pelo gradiente da imagem O algoritmo intensifica o gradiente da borda O Cálculo é feito com base na convolução da imagem com dois filtros

74 Filtro Sobel Após a aplicação dos filtros, a magnetude é dada por:

75 Ver código (Sobel)

76 Arquitetura FERMI Pilha, Recursão e Heap

77 Pilha & Recursão cudaerror_t cudadevicegetlimit(size_t* size, cudalimit limit) size Tamanho da memória heap (8M default) limit Tipo enum que define a memória (heap, stack e buffer para printf) cudaerror_t cudadevicesetlimit (enum cudalimit limit, size_t value) Apenas para GPUs com capability 2.x Parâmetro limit = cudalimitstacksize

78 Ver código (Pilha)

79 Arquitetura FERMI Heap & Alocação dinâmica de memória

80 Heap & Alocação dinâmica de memória Arquitetura FERMI possui memória HEAP CPU aloca a memória HEAP Permite alocação dinâmica na memória global e compartilhada A área de heap é definida pela CPU.

81 Heap & Alocação dinâmica de memória cudaerror_t cudadevicegetlimit(size_t* size, cudalimit limit) size Tamanho da memória heap (8M default) limit Tipo enum que define a memória (heap, stack e buffer para printf) cudaerror_t cudadevicesetlimit (enum cudalimit limit, size_t value) Apenas para GPUs com capability 2.x Parâmetro limit = cudalimitmallocheapsize

82 Ver código (Heap)

83 Perguntas????

MC4: Introdução à Programação Paralela em GPU para a Implementação de Métodos Numéricos

MC4: Introdução à Programação Paralela em GPU para a Implementação de Métodos Numéricos MC4: Introdução à Programação Paralela em GPU para a Implementação de Métodos Numéricos Aula 1: Introdução à programação paralela e ao ambiente de programação CUDA Profs.: Daniel Alfaro e Silvana Rossetto

Leia mais

Computação Paralela (CUDA)

Computação Paralela (CUDA) Universidade Federal do Amazonas Faculdade de Tecnologia Departamento de Eletrônica e Computação Computação Paralela (CUDA) Hussama Ibrahim hussamaibrahim@ufam.edu.br Notas de Aula Baseado nas Notas de

Leia mais

Patrício Domingues Dep. Eng. Informática ESTG Instituto Politécnico de Leiria Leiria, Maio Programação Genérica de GPUs

Patrício Domingues Dep. Eng. Informática ESTG Instituto Politécnico de Leiria Leiria, Maio Programação Genérica de GPUs Patrício Domingues Dep. Eng. Informática ESTG Instituto Politécnico de Leiria Leiria, Maio 2012 http://bit.ly/patricio Programação Genérica de GPUs 1 CUDA Teaching Center A ESTG/IPLeiria é um CUDA Teaching

Leia mais

Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot

Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot Bruno Pereira dos Santos Dany Sanchez Dominguez Esbel Tomás Evalero Orellana Universidade Estadual de Santa Cruz Roteiro Breve introduçã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

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

Processamento de áudio em tempo real utilizando dispositivos não convencionais:

Processamento de áudio em tempo real utilizando dispositivos não convencionais: Processamento de áudio em tempo real utilizando dispositivos não convencionais: Processamento paralelo com Pure Data e GPU. André Jucovsky Bianchi ajb@ime.usp.br Departamento de Ciência da Computação Instituto

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

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

Gerência de memória II

Gerência de memória II Gerência de memória II Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2017 1 / 48 Sumário 1 Memória Virtual Segmentação Paginação 2 Alocação de páginas

Leia mais

Memory-level and Thread-level Parallelism Aware GPU Architecture Performance Analytical Model

Memory-level and Thread-level Parallelism Aware GPU Architecture Performance Analytical Model Memory-level and Thread-level Parallelism Aware GPU Architecture Performance Analytical Model Sunpyo Hong Hyesoon Kim ECE School of Computer Science Georgia Institute of Technology April 6, 2011 Visão

Leia mais

CUDA: Compute Unified Device Architecture. Marco Antonio Simões Teixeira

CUDA: Compute Unified Device Architecture. Marco Antonio Simões Teixeira CUDA: Compute Unified Device Architecture Marco Antonio Simões Teixeira Sumário Introdução; CUDA: História; CUDA: programando; CUDA e deep learning; Links úteis; Considerações finais. 2 INTRODUÇÃO 3 O

Leia mais

Introdução aos Sistemas Operacionais. Subsistema de Entrada e Saída

Introdução aos Sistemas Operacionais. Subsistema de Entrada e Saída Introdução aos Sistemas Operacionais Subsistema de Entrada e Saída Eleri Cardozo FEEC/Unicamp Entrada e Saída O subsistema de entrada e saída é responsável pela interface entre o sistema operacional e

Leia mais

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

What is? Eduardo Viola Nicola Disciplina de IPPD

What is? Eduardo Viola Nicola Disciplina de IPPD What is? Eduardo Viola Nicola evnicola@inf.ufpel.edu.br Disciplina de IPPD Sumário 1)Introdução 2)Princípio Geral de Funcionamento 3)Exemplos de Aplicações 4)Modelo de Programação 5)Linguagens Suportadas

Leia mais

Adriano J. Holanda FAFRAM. 4 e 11 de maio de 2012

Adriano J. Holanda FAFRAM. 4 e 11 de maio de 2012 Memória Adriano J. Holanda FAFRAM 4 e 11 de maio de 2012 Trilha Introdução Hierarquia da memória Memórias RAM Memória ROM Introdução Arquitetura de Von Neumann Memória Aritmética Controle E/S Unidade central

Leia mais

Tópicos em Física Computacional: Introdução a Linguagem CUDA

Tópicos em Física Computacional: Introdução a Linguagem CUDA Tópicos em Física Computacional: Introdução a Linguagem CUDA Aula 06: Introdução a Linguagem CUDA Otimização do Código Carine P. Beatrici IF UFRGS 1 Da Aula Passada... Programa que soma matrizes linearizadas;

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 9 Threads Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Threads Uma thread

Leia mais

Introdução OpenMP. Nielsen Castelo Damasceno

Introdução OpenMP. Nielsen Castelo Damasceno Introdução OpenMP Nielsen Castelo Damasceno Computação de auto desempenho Processamento Paralelo Memória Distribuída e Compartilhada Modelo de programação OpenMP Métricas de Desempenho Computação de auto

Leia mais

GPU Computing: Implementação do método do Gradiente Conjugado utilizando CUDA

GPU Computing: Implementação do método do Gradiente Conjugado utilizando CUDA UNIVERSIDADE DE CAXIAS DO SUL CENTRO DE COMPUTAÇÃO E TECNOLOGIA DA INFORMAÇÃO CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO MAURÍCIO GRISA GPU Computing: Implementação do método do Gradiente Conjugado

Leia mais

Gerência de memória III

Gerência de memória III Gerência de memória III Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2016 1 / 45 Sumário 1 Memória Virtual Segmentação Paginação 2 Alocação de páginas

Leia mais

Sistemas Operacionais. Entrada/Saída

Sistemas Operacionais. Entrada/Saída Sistemas Operacionais Entrada/Saída Atualizado em 28/02/2014 Como ocorre a comunicação de E/S Aplicação Operações de E/S Chamadas de Sistema S.O. Subsistema de E/S Núcleo (Kernel) Drivers HARDWARE Controladoras

Leia mais

Paralelismo em Computadores com Tecnologia Multicore

Paralelismo em Computadores com Tecnologia Multicore IFRN - Pau dos Ferros Pau dos Ferros/RN, 25 de fevereiro de 2016 O minicurso Descrição: Para se utilizar os vários núcleos de processamento disponíveis nos computadores atuais de forma eficiente, faz necessário

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

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores 2018.1 Computador O computador é uma máquina que realiza processamento de dados automaticamente. Ela é formada por um hardware e um software. O Engenho Analítico é o primeiro

Leia mais

Introdução aos Sistemas Operacionais

Introdução aos Sistemas Operacionais 1 Introdução aos Sistemas Operacionais 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 O zoológico de sistemas operacionais 1.4 Conceitos sobre sistemas operacionais 1.5 Chamadas

Leia mais

TEMA DE CAPA. Introdução à Programação em CUDA

TEMA DE CAPA. Introdução à Programação em CUDA TEMA DE CAPA Introdução à Programação em CUDA Introdução à Programação em CUDA Nos últimos anos, as placas gráficas (GPU Graphical Processing Unit) ganharam relevância no âmbito da computação paralela.

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

Celso L. Mendes LAC /INPE

Celso L. Mendes LAC /INPE Arquiteturas para Processamento de Alto Desempenho (PAD) Aula 9 Celso L. Mendes LAC /INPE Email: celso.mendes@inpe.br Aula 9 (3/5): E. Aceleradores Estrutura Planejada i. Estruturas mais Populares ii.

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

Paralelismo de dados. (execução de simultaneidade) Tipo de arquitetura paralela SIMD. SIMD (Single Instruction Multiple Data)

Paralelismo de dados. (execução de simultaneidade) Tipo de arquitetura paralela SIMD. SIMD (Single Instruction Multiple Data) Paralelismo de dados (execução de simultaneidade) Em métodos tradicionais de programação (processamento sequencial), uma grande quantidade de dados é processada em um único núcleo de uma CPU, enquanto

Leia mais

Processamento Paralelo Utilizando GPU

Processamento Paralelo Utilizando GPU Processamento Paralelo Utilizando GPU Universidade Estadual de Santa Cruz Bruno Pereira dos Santos Dany Sanchez Dominguez Esbel Evalero Orellana Cronograma Breve introdução sobre processamento paralelo

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

Gerenciamento de memória

Gerenciamento de memória Gerenciamento de memória Adriano J. Holanda 19/11/2015 Revisão: processos Visão geral Composto por código do programa em execução, arquivos abertos, sinais pendentes, dados internos do núcleo do SO, estado

Leia mais

GPU (Graphics Processing Unit) Bruno Padilha Gregory De Bonis Luciana Kayo

GPU (Graphics Processing Unit) Bruno Padilha Gregory De Bonis Luciana Kayo GPU (Graphics Processing Unit) Bruno Padilha - 5745282 Gregory De Bonis - 6431180 Luciana Kayo - 6430992 O que é? O que é? - Processador auxiliar responsável principalmente por operações de ponto flutuante

Leia mais

Sparse Matrix-Vector Multiplication on GPU: When Is Rows Reordering Worthwhile?

Sparse Matrix-Vector Multiplication on GPU: When Is Rows Reordering Worthwhile? Sparse Matrix-Vector Multiplication on GPU: When Is Rows Reordering Worthwhile? Paula Prata João Muranho Instituto de Telecomunicações Departamento de Informática Universidade da Beira Interior Instituto

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES RCM00014 Haswell wafer ARQUITETURA DE COMPUTADORES Prof. Luciano Bertini Site: http://www.professores.uff.br/lbertini/ Objetivos do Curso Entendimento mais aprofundado do funcionamento

Leia mais

Sistemas Operacionais. Processos e Threads

Sistemas Operacionais. Processos e Threads Sistemas Operacionais Processos e Threads Sumário 1. Introdução 2. Estrutura do Processo 1. Contexto de Hardware 2. Contexto de Software 3. Espaço de Endereçamento 3. Estados 1. Mudanças de Estado 2. Criação

Leia mais

Introdução. Pedro Cruz. EEL770 Sistemas Operacionais

Introdução. Pedro Cruz. EEL770 Sistemas Operacionais Introdução Pedro Cruz EEL770 Sistemas Operacionais Roteiro Informações úteis Motivação Definições Revisão de arquitetura 2 Contato Site da disciplina www.gta.ufrj.br/~cruz/courses/eel770 Email cruz@gta.ufrj.br

Leia mais

http://www.ic.uff.br/~debora/fac! 1 Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal Organização Operações de leitura e escrita Capacidade 2 Componente de um sistema

Leia mais

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais DCA-108 Sistemas Operacionais Capítulo 2 Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Multiprogramação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização de um SO Moderno

Leia mais

for(int x=0; x < width; x++) { for(int y=0; y < height; y++) { finalimage[x][y]=renderpixel(x,y, &scenedata); } }

for(int x=0; x < width; x++) { for(int y=0; y < height; y++) { finalimage[x][y]=renderpixel(x,y, &scenedata); } } Paralelização em OpenMP Identifique os loops pesados ; Distribua-os: Versão sequencial double res[10000]; calculo_pesado(&res[i]); Versão paralela double res[10000]; for calculo_pesado(&res[i]); OMP for

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 07: PROGRAMANDO COM THREADS EM LINGUAGEM C

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 07: PROGRAMANDO COM THREADS EM LINGUAGEM C ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 07: PROGRAMANDO COM THREADS EM LINGUAGEM C Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação PROGRAMANDO

Leia mais

Organização de Computadores I

Organização de Computadores I Organização de Computadores I Aula 2 Material: Diego Passos http://www.ic.uff.br/~debora/orgcomp/pdf/parte2.pdf Organização de Computadores I Aula 2 1/29 Tópicos de Computação. de um Sistema de Computação..

Leia mais

Gerência de Dispositivos. Adão de Melo Neto

Gerência de Dispositivos. Adão de Melo Neto Gerência de Dispositivos Adão de Melo Neto 1 Gerência de Dispositivos Gerência de Dispositivos Dispositivos de E/S Device Drivers Controladores Subsistema de E/S 2 Gerência de Dispositivos A gerência de

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I BARRAMENTO Slide 1 Sumário Introdução Componentes de Computador Funções dos Computadores Estruturas de Interconexão Interconexão de Barramentos Slide 2 Introdução

Leia mais

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL MEMÓRIA Componente de um sistema de computação cuja função é armazenar informações que são manipuladas pelo sistema para que possam ser recuperadas

Leia mais

Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída

Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída Nome: Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída 1. A gerência de dispositivos de entrada e saída é uma das principais e mais complexas funções de um sistema

Leia mais

PARALELIZAÇÃO DO ALGORITMO AES E ANÁLISE SOBRE GPGPU 1 PARALLELIZATION OF AES ALGORITHM AND GPU ANALYSIS

PARALELIZAÇÃO DO ALGORITMO AES E ANÁLISE SOBRE GPGPU 1 PARALLELIZATION OF AES ALGORITHM AND GPU ANALYSIS Disciplinarum Scientia. Série: Naturais e Tecnológicas, Santa Maria, v. 16, n. 1, p. 83-94, 2015. Recebido em: 11.04.2015. Aprovado em: 30.06.2015. ISSN 2176-462X PARALELIZAÇÃO DO ALGORITMO AES E ANÁLISE

Leia mais

DAS5102 Fundamentos da Estrutura da Informação

DAS5102 Fundamentos da Estrutura da Informação Ponteiros e Funções Funções ou sub-rotinas são parcelas de código que podem ser invocadas a partir do programa principal ou até mesmo por outras sub-rotinas. Elas têm como objetivo a execução de uma tarefa

Leia mais

Soluções em GPU para o Problema do Alinhamento Spliced

Soluções em GPU para o Problema do Alinhamento Spliced Soluções em GPU para o Problema do Alinhamento Spliced Anisio Vitorino Nolasco Dissertação de Mestrado apresentada à Faculdade de Computação da Universidade Federal de Mato Grosso do Sul Orientadora: Profa.

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

BARRAMENTOS DO SISTEMA FELIPE G. TORRES

BARRAMENTOS DO SISTEMA FELIPE G. TORRES BARRAMENTOS DO SISTEMA FELIPE G. TORRES BARRAMENTOS DO SISTEMA Um computador consiste em CPU, memória e componentes de E/S, com um ou mais módulos de cada tipo. Esses componentes são interconectados de

Leia mais

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition Capítulo 8: Memória Principal Silberschatz, Galvin and Gagne 2009 Objetivos Fornecer uma descrição detalhada das várias formas de organizar a memória do computador Discutir várias técnicas de gerenciamento

Leia mais

Gerenciamento de Memória

Gerenciamento de Memória Gerenciamento de Memória Conceitos básicos Swapping Alocação contígua Paginação Segmentação Segmentação com paginação Atribuição de endereços (ligação) de código e dados na memória A atribuição de endereços

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída. Sistemas de arquivos. Gerenciamento de processos Processos Um processo

Leia mais

Projeto Lógico de Computadores. Profa. MSc. Carolina Melo Santana

Projeto Lógico de Computadores. Profa. MSc. Carolina Melo Santana Projeto Lógico de Computadores Profa. MSc. Carolina Melo Santana karolstana@yahoo.com.br Nível de Máquina de Sistema Operacional Dinâmica: Batata quente Perguntas a serem respondidas pelos alunos que estiverem

Leia mais

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

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 12 Estrutura e função do processador slide 1 Estrutura da CPU CPU precisa: Buscar instruções. Interpretar instruções. Obter

Leia mais

Conceitos básicos e serviços dos Sistemas Operacionais

Conceitos básicos e serviços dos Sistemas Operacionais Conceitos básicos e serviços dos Sistemas Operacionais Prof. Marcos Ribeiro Quinet de Andrade Instituto de Ciência e Tecnologia - ICT Universidade Federal Fluminense - UFF Tipos de serviços do S.O. Um

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 6 Gerenciamento de Memória Prof. Galvez Considerações Gerais Multiprogramação implica em manter-se vários processos em memória Memória necessita ser alocada de

Leia mais

Sistemas de Entrada e Saída

Sistemas de Entrada e Saída Sistemas de Entrada e Saída Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2016 1 / 31 Sumário 1 Interrupções 2 Camadas de Software de E/S 2 / 31 Interrupções

Leia mais

Thársis T. P. Souza

Thársis T. P. Souza Computação em Finanças em Hardware Gráfico SEMAC 2012 - UNESP Thársis T. P. Souza t.souza@usp.br Instituto de Matemática e Estatística - Universidade de São Paulo GPU Computing CUDA Aplicações em Finanças

Leia mais

Sistemas de Computação. Gerenciamento de memória

Sistemas de Computação. Gerenciamento de memória Gerenciamento de memória Localização de processos Um programa fica armazenado em disco como um arquivo executável binário e tem que ser colocado na memória para começar a ser executado Os processos podem

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 11 - Threads e Concorrência

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 11 - Threads e Concorrência Aula 11 - Threads e Concorrência Conteúdo Programático desta aula Apresentar os Conceitos de Threads, Concorrência e Sincronização. Verificar a aplicabilidade destes conceitos no mercado, bem como sua

Leia mais

Gerência de Memória. Gerência de Memória Introdução e Particionamento. Novo capítulo. Aulas anteriores. Plano da aula. Memória lógica & física

Gerência de Memória. Gerência de Memória Introdução e Particionamento. Novo capítulo. Aulas anteriores. Plano da aula. Memória lógica & física Aulas anteriores Gerência de Memória Introdução e Particionamento Marcelo Johann Ciclo de Compilação, ligação e carga INF - Sistemas Operacionais I N - Marcelo Johann - 9/ Aula : Slide INF - Sistemas Operacionais

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado nos slides do capítulo

Leia mais

Análise de desempenho da paralelização do cálculo da matriz de correlação com tamanho arbitrário, utilizando GPU

Análise de desempenho da paralelização do cálculo da matriz de correlação com tamanho arbitrário, utilizando GPU Análise de desempenho da paralelização do cálculo da matriz de correlação com tamanho arbitrário, utilizando GPU Íris A. Santos 1, Chaina S. Oliveira 1, Carlos A. Estombelo-Montesco 1 1 Departamento de

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 8 Suporte do sistema operacional slide 1 Objetivos e funções Conveniência: Tornar o computador mais fácil de usar. Eficiência:

Leia mais

Ambientes e Ferramentas de Programação para GPU. Denise Stringhini (Mackenzie) Rogério Gonçalves (UFTPR/IME- USP) Alfredo Goldman (IME- USP)

Ambientes e Ferramentas de Programação para GPU. Denise Stringhini (Mackenzie) Rogério Gonçalves (UFTPR/IME- USP) Alfredo Goldman (IME- USP) Ambientes e Ferramentas de Programação para GPU Denise Stringhini (Mackenzie) Rogério Gonçalves (UFTPR/IME- USP) Alfredo Goldman (IME- USP) Conteúdo Conceitos de paralelismo Arquitetura de GPU CUDA OpenCL

Leia mais

Processos ca 3 pítulo

Processos ca 3 pítulo Processos capítulo 3 Introdução: Threads Para executar um programa, o sistema operacional cria um determinado números de processos virtuais. O sistema operacional mantém uma tabela de processos que contém

Leia mais

Arquitetura de Computadores. Ciclo de Busca e Execução

Arquitetura de Computadores. Ciclo de Busca e Execução Arquitetura de Computadores Ciclo de Busca e Execução Ciclo de Busca e Execução Início Buscar a próxima instrução Interpretar a instrução Executar a instrução Término Funções realizadas pela UCP Funções

Leia mais

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend Concorrência Nos sistemas Monoprogramáveis somente um programa pode estar em execução por vez, permanecendo o processador dedicado a esta única tarefa. Os recursos como memória, processador e dispositivos

Leia mais

Unix Processos. Geraldo Braz Junior

Unix Processos. Geraldo Braz Junior Unix Processos Geraldo Braz Junior 1 Processos no Unix Unix é multiprogramado; Para cada processo é atribuído um Pid; Diversos daemons são executados: Cron Processamento de emails Gerenciamento da fila

Leia mais

Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto

Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto 20-05-2009 - Aula nº 121,122 Funções de um Sistema Operativo Gestão do processador ao nível da sua planificação Gestão da Memória Gestão

Leia mais

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa 4. Memórias de Dados e de Programa Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP 4.1 Memórias Semicondutoras Algumas definições Célula: Dispositivo de armazenamento de 1 bit. Palavra:

Leia mais

Arquitetura de Computadores Sistemas Operacionais II

Arquitetura de Computadores Sistemas Operacionais II Definição de Processo Arquitetura de Computadores Sistemas Operacionais II Processo é o mesmo de Programa? Programa Estrutura estática Instruções + Dados Processo Entidade Ativa Instância de um Programa

Leia mais

Computação científica utilizando placas gráficas

Computação científica utilizando placas gráficas Brasília, dezembro de 2008 Universidade de Brasília - Faculdade do Gama Sumário Introdução Sumário Introdução Arquitetura da GPU Sumário Introdução Arquitetura da GPU Modelo de programação Sumário Introdução

Leia mais

Disciplina: Arquitetura de Computadores

Disciplina: Arquitetura de Computadores Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na

Leia mais

INSTITUTO FEDERAL CATARINENSE Campus Ibirama

INSTITUTO FEDERAL CATARINENSE Campus Ibirama INSTITUTO FEDERAL CATARINENSE Campus Ibirama Arquitetura de Hardware Professor Eduardo Stahnke Arquiteturas Grande diversidade das arquiteturas de computadores Componentes básicos do computador Os Principais

Leia mais

Capacitação Vix Linux. Jacson RC Silva

Capacitação Vix Linux. Jacson RC Silva Capacitação Vix Linux Jacson RC Silva Conteúdo Sistemas Operacionais GNU/Linux Inicialização do GNU/Linux (GRUB e kernel) Modo Gráfico X Modo Texto Shell Script Scripts de Inicialização

Leia mais

MONTAGEM E MANUTENÇÃO DE COMPUTADORES

MONTAGEM E MANUTENÇÃO DE COMPUTADORES Álvaro Elias Flôres alvaro.flores@sc.senai.br MONTAGEM E MANUTENÇÃO DE COMPUTADORES Introdução A atividade de um computador pode ser definida por um modelo simples: Introdução Na etapa de processamento

Leia mais

Jônatas Lopes de Paiva Instituto de Matemática e Estatística Universidade de São Paulo. 06 de maio de 2011

Jônatas Lopes de Paiva Instituto de Matemática e Estatística Universidade de São Paulo. 06 de maio de 2011 Jônatas Lopes de Paiva jlp@ime.usp.br Instituto de Matemática e Estatística Universidade de São Paulo 06 de maio de 2011 Introdução String-matching O que é? Em que é utilizado Tipos GPU GPGPU String-matching

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

Modulo 12: alocação dinâmica de memória

Modulo 12: alocação dinâmica de memória PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 12: alocação dinâmica de memória Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro porque e como utilizar a alocação dinâmica funções: malloc (

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 5ª e 6ª Aulas Revisão de Hierarquia de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Memória Memória Todo componente capaz de armazenar bits de informação

Leia mais

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software Processo Um programa em execução Gerência de Processos Contexto de Processo Conjunto de Informações para gerenciamento de processo CPU: Registradores Memória: Posições em uso E/S: Estado das requisições

Leia mais

AULA Nº 08 SISTEMAS OPERACIONAIS. Threads

AULA Nº 08 SISTEMAS OPERACIONAIS. Threads AULA Nº 08 SISTEMAS OPERACIONAIS Threads Contextualizando Na aula passada Sincronização de Processos Aula de hoje Threads O Modelo de Processo 1) Utilizado para agrupar recursos 2) Um espaço de endereço

Leia mais

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5. Cristina Boeres

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5. Cristina Boeres FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5 Cristina Boeres Introdução! Diferença de velocidade entre Processador e MP O processador executa uma operação rapidamente e fica em

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

Programação Concorrente. Prof. Hugo Vieira Neto

Programação Concorrente. Prof. Hugo Vieira Neto Programação Concorrente Prof. Hugo Vieira Neto Concorrência Um programa concorrente descreve diversas atividades que ocorrem simultaneamente, de modo diferente de programas comuns, que descrevem apenas

Leia mais

Gerência de Memória Memória Virtual e Paginação

Gerência de Memória Memória Virtual e Paginação Memória Virtual e Paginação Carlos Gustavo A. da Rocha Memória virtual O tamanho das memórias aumenta rápido :) Mas o tamanho dos softwares aumenta mais rápido :( Devido a isto os SOs devem ser capazes

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 6ª Aula Entrada e Saída Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Estrutura da máquina de von Neumann Dispositivos Periféricos Interface com o mundo exterior

Leia mais

Sistemas de Entrada e Saída

Sistemas de Entrada e Saída Sistemas de Entrada e Saída Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2016 1 / 33 Sumário 1 Dispositivos de E/S 2 Interrupções 3 Software de E/S 2

Leia mais

A Utilização da Tecnologia CUDA para Processamento Paralelo de Algoritmos Genéticos

A Utilização da Tecnologia CUDA para Processamento Paralelo de Algoritmos Genéticos A Utilização da Tecnologia CUDA para Processamento Paralelo de Algoritmos Genéticos Allan Ariel Leite Menezes Santos 1 1 Universidade do Estado da Bahia (UNEB) allan.ariel1987@gmail.com Abstract. The problem

Leia mais

Disciplina: Sistemas Operacionais

Disciplina: Sistemas Operacionais Curso: Análise e Desenvolvimento de Sistemas Disciplina: Sistemas Operacionais Parte 2: Sistemas Multiprocessos, Características dos Multiprocessadores,Sistemas de Clusters, Operações básica do Sistema

Leia mais

Processo. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Processo. Prof. Paulo Cesar F. de Oliveira, BSc, PhD Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1 Seção 1.1 Introdução 2 Receita do Bolo Programa (Algoritmo) Ingredientes: dados de entrada Quem prepara (confeiteiro): CPU atividade de: Ler a receita Buscar

Leia mais

Implementação de um escalonador de processos em GPU

Implementação de um escalonador de processos em GPU Implementação de um escalonador de processos em GPU Guilherme Martins guilhermemartins@usp.br 6 de abril de 2017 Guilherme Martins (guilhermemartins@usp.br) Implementação de um escalonador de processos

Leia mais

Sistemas Operacionais. Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br. www.fgp.com.br

Sistemas Operacionais. Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br. www.fgp.com.br Sistemas Operacionais Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br Tipos de Sistemas Operacionais De Sistemas Embarcados (PalmOS,WinCE,WinXPEmbbeded,Linux) Hardware simples, especifico

Leia mais

ESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade

ESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade ESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro do Prof. Dr. Carlos Alberto Maziero, disponível no link: http://dainf.ct.utfpr.edu.br/~maziero

Leia mais

ci212 E/S (i): interface com CPU e SO Entrada e Saída

ci212 E/S (i): interface com CPU e SO Entrada e Saída Entrada e Saída Tipos e Características de Dispositivos Dispositivos, Interfaces com CPU e com Sist Operacional Modelo de dispositivo Espaços de endereçamento e hierarquia de barramentos Modos de acesso

Leia mais