Programação em GPU: Passado, Presente e Futuro
|
|
|
- Manuela Caiado Arantes
- 10 Há anos
- Visualizações:
Transcrição
1 2 Conteúdo Programático Programação em GPU: Passado, Presente e Futuro José Ricardo Mello Viana Msc. em Engenharia de Sistemas e Computação PESC/COPPE/UFRJ Parte 1 Introdução Conceitos Iniciais Programação em GPU CPU/GPU: Poder Computacional Aplicações Recentes Problema: não é simples de usar Pipeline Gráfico Evolução das GPU s Da era pré-gpu à terceira era das placas de vídeo 3 4 Conteúdo Programático Parte 2: Início da programação em GPU A virada da ATI Mini tutorial de GLSL A retomada da NVIDIA Empate das gigantes Inércia na ATI Comprada pela AMD, ATI volta a briga Geração atual de placas de vídeo E o futuro... Introdução GPU: Graphics Processing Unit Chip responsável pelo processamento gráfico Especializado em processamento gráfico 3D Videogames, Computadores pessoais, Celulares e equipamentos multimídia Nintendo Wii, Playstation 3, XBOX 360, PSP, Nintendo DS, iphone, Microsoft Zune HD On-board ou Off-board Poucos usuários realmente necessitam 5 6 Conceitos Iniciais Inicialmente projetadas para gráficos Recebimento de informações da CPU e geração de imagens para o usuário visualizar na tela Alto desempenho para cálculos matemáticos e geométricos complexos Alto poder de processamento paralelo Muito mais unidades de processamento que de armazenamento (em contraste com a CPU) 1
2 7 8 Programação em GPU CPU/GPU: Poder Computacional Funcionalidade fixa para processamento gráfico Estágios programáveis foram introduzidos Vertex shader Geometry shader Fragment Shader (Pixel shader) Arquiteturas mais recentes possuem unidades genéricas para processar quaisquer desses shaders Programação Genérica em GPU 9 10 Aplicações Recentes Problema: não é simples de usar GPUs foram desenhadas para processamento gráfico Modelo de programação não usual Programação dependente do pipeline gráfico Ambiente de programação restrito Arquiteturas de GPUs Executam processamento paralelo Em constante evolução Fechada, segredo do fabricante Codificação Não basta "recompilar" código tradicional Ferramental mínimo Novas tendências: CTM (AMD), CUDA (NVIDIA) Pipeline Gráfico Pipeline Gráfico Computa geometria 3D e faz chamadas à API gráfica Transforma geometria 3D para 2D (em paralelo) Gera fragmentos a partir da geometria 2D (em paralelo) Combina fragmentos para formar uma imagem 2
3 13 14 História das GPU s Desde a criação das primeiras GPU s, ocorreram muitas mudanças Novas utilizações Novas funções Grande aumento na sua capacidade de processamento Retirada uma grande carga de trabalho das CPU s, transferindo-as para as GPU s. Era pré-gpu ANTIC (Alpha-Numeric Television Interface Controller) Criado especialmente para mapping (mapeamento) Microcomputadores e no videogame Atari 5200 Lia os dados de exibição da RAM Commodore Amiga Projetada para ser um videogame Carregava todas as funções de geração de vídeo para o hardware (preenchimento, desenho de linhas, etc) Co-processador gráfico com conjunto de instruções próprias Commodore Amiga GPU pioneira IBM PC IBM MDA Monochrome Display Adapter (Adaptador de Vídeo Monocromático) Apenas em modo texto: 25 linhas e 80 colunas Aceleração 2D S3 Trio Primeiro com recurso de aceleração 2d: S3 Trio Lançado pela antiga S3 Primeira a reunir os três componentes básicos: o processador, o RAMDAC (conversor digital/analógico) e o gerador de frequência Diferentes versões on-board e off-board Controladora de memória de 64bits Modelos: Trio64 e Trio64V+, Trio32, Trio64V2 3
4 19 20 Chegada das 3 dimensões S3 ViRGE Segunda família da S3: o S3 ViRGE (1995) Compatível com as placas projetadas para o Trio Desempenho 3D pouco melhor que o da CPU Modelos: ViRGE/325, ViRGE/DX, ViRGE/GX, ViRGE/GX2 Filtro de texturas Bilinear e Trilinear, Alpha Blending, mapeamento MIP, mapeamento de texturas de vídeo, Z-Buffering, entre outros Aparecimento da NVIDIA NVIDIA NV1 Pouco depois do lançamento do S3 ViRGE, a recém-criada NVIDIA lançou o NV1 Melhor que o ViRGE, mas muito mais caro Integrava acelerador 3D com base em polígonos quadrangulares (hoje triângulos), um processador sonoro e VRAM (memória de vídeo) Tentou ser uma central multimídia completa Áudio próprio e compatibilidade com o SEGA Saturn (forte concorrência do Playstation) ViRGE ainda reina Fabricantes, cada vez mais, tentam transformar placas de vídeo em centrais multimídia Do lado oposto, começam a surgir as primeiras placas realmente otimizadas para processamento gráfico ATI desponta no mercado A ATI technologies, lança a família Rage: chip ainto Mach com poder de processamento 3D Não foi muito boa Em 1997, ATI lança a família Rage II que dobrava a velocidade da Rage original 8 MB de memória SDRAM, 64-bit e 60 MHz de clock Suporte a execução de DVD Desempenho foi melhorado consideravelmente, destacando a ATI na briga pelo mercado Porém, não foi um sucesso 4
5 25 26 ATI Rage Voodoo 1: A revolução Ainda em 1996, surgem três empresas : a 3dfx, a Imagination Tecnologies e a Rendition Voodoo 1, PowerVR e Vérité 1000 Voodoo 1: bom processamento gráfico e preço ótimo => sucesso, nenhuma as concorrentes conseguiu alcançá-la Não apresentava nenhuma funcionalidade 2D Era necessário comprar mais de uma placa dfx Voodoo 1 Ascensão e queda da 3dfx Em 1997, apareceram diversos adversários da Voodoo 1 Rage II, da ATI e NVIDIA Riva 128 NVIDIA Riva 128: primeira placa 3D da história a suportar o Direct 3D Tornou-se a melhor placa de vídeo 3D do mercado Outros lançamentos: Voodoo Rush, Rage PRO, da ATI NVIDIA Riva 128 Ascensão e queda da 3dfx Inicio de 1998: NVIDIA lança a Riva 128ZX Pequena atualização da Riva 128: apenas um suporte de memória de vídeo maior(8mb) 3dfx lança a verdadeira sucessora da Voodoo 1: a Voodoo 2 e a Voodoo Banshee (Voodoo 2 de baixo custo) Retomou a coroa de melhor acelerador gráfico NVIDIA lança a Riva TNT (NV4): incomoda um pouco a Voodoo 2, mas a 3dfx sai vencedora Problemas de aquecimento com a placa da NVIDIA S3 lança a família Savage3D, um fiasco: erros na produção 5
6 31 32 Voodoo 2 Investida da Intel Também a Intel tentou entrar na briga, mas logo desistiu e passou fabricar apenas chips de vídeo on-board Primeira Geração de GPU s Placas até 1998 constituem a chamada primeira geração das GPU s Pipeline de renderização fixo Possibilitam apenas a renderização de triângulos pré-transformados Servia apenas como um dispositivo que enviava os dados para o monitor, sem processamento interno, nem possibilidades de implementar programas para execução na GPU Segunda Geração de GPU s: A queda da 3dfx 1999: haviam apenas 3 grandes competidores no mercado: ATI, NVIDIA e 3dfx, com as linhas Rage 128, Riva TNT2 e Voodoo 3 A ATI Rage 128 recebeu diferentes versões e foi atualizada para a Rage 128 PRO Usados como base para a criação da Rage Fury MAXX, onde dois chips ocuparam a mesma placa e cada um renderizava um frame diferente. Foi ignorada por não haver software compatível, embora a ideia de se usar dois chips de vídeo na mesma placa seja utilizada até hoje em dia ATI Rage Fury MAXX Segunda Geração de GPU s: A queda da 3dfx A Riva TNT2 (2 modelos: a TNT2 e a TNT2 M64) Diferença: barramento de memória, que na TNT2 M64 era cortado pela metade (64bits) Pequena atualização da TNT original, contudo ela conseguiu manter a coroa de melhor acelerador gráfico com a NVIDIA devido a TNT2 Ultra Voodoo3 : processador integrado 2D/3D Alternava-se no topo com a TNT2, dependendo do aplicativo Para o segmento baixo custo a 3dfx repetiu a teoria do bem sucedido Voodoo Banshee, com a linha Velocity. 6
7 37 38 NVIDIA Riva TNT2 Segunda Geração de GPU s: A queda da 3dfx A 3dfx começa a ruir Últimos projetos: Voodoo 4 e 5 e a grande contribuição que ela deu ao mercado de VGAs, o SLI Scan-Line Interleave: cada GPU renderizava alternadas linhas horizontais (foi a primeira empresa a oferecer processamento paralelo) Sucessivos atrasos acabaram por matar a 3dfx Geforce 256 e Radeon davam resposta antes mesmo dos lançamentos da 3dfx No fim de 2000 a 3dfx é vendida para a NVIDIA Voodoo 3: um dos últimos sucessos da 3dfx Segunda Geração de GPU s: A queda da 3dfx Nesta segunda geração várias funcionalidades foram migradas da CPU para a GPU Transformações geométricas (rotação, translação e escala) e ainda, a aplicação de iluminação. Velocidade de renderização ainda maior Desafogamento da CPU Objetos e operações são apenas transportados para a GPU, que se encarregaria do cálculo pesado Nada de programação em GPU ainda Terceira Geração de GPU s: NVIDIA x ATI No fim de 1999, NIVIDIA lança a Geforce 256 Corrigia alguns erros da linha Riva Primeira VGA totalmente compatível com o Direct3D 7 No início, ela utilizava memória SDR, que por não tirar todo o potencial do chip foi substituída mais tarde pela DDR Possuía desempenho melhor que todos os chips existentes e superava a linha Riva TNT2 Ultra por uma margem de no mínimo 50% Geforce 256 7
8 43 44 Terceira Geração de GPU s: NVIDIA x ATI A ATI Rage Fury MAXX conseguia bater a Geforce 256 com SDR, porém, a com DDR era inalcançável O problema era seu preço: fazia com que ela fosse acessível para poucos No ano seguinte, a ATI lança uma rival à altura da Geforce 256: a Radeon 7000 (codinome R100), que foi lançada em duas versões diferentes (com e sem entrada/saída de vídeo) e ambas eram melhores que a Geforce 256 ATI Radeon Terceira Geração de GPU s: NVIDIA x ATI A NVIDIA não ficou parada e lançou a Geforce 2 GTS, superando a ATI NVIDIA resolveu atacar vários segmentos do mercado, lançando versões: Baixo custo e desempenho (linha Geforce 2 MX) Custo/benefício (linha Geforce 2 TI) Alto desempenho e preço (linha Geforce 2 GTS) NVIDIA Geforce 2 GTS Terceira Geração de GPU s: NVIDIA x ATI A reação da ATI foi imediata: O chip R100 foi rebatizado comercialmente como Radeon 7200 para competir com a Geforce 2 TI O chip RV100 (versão rebaixada) foi lançado como Radeon 7000 para competir com a Geforce 2 MX. As mudanças da ATI foram as seguintes: O R100 original mudou de nome para Radeon 7200 e preencheu o mercado midend Introdução do Rv100 conhecido como Radeon 7000, para disputar com a Geforce 2 MX Introdução do Rv200, um R100 de 150nm e clocks maiores. Batia a Geforce 2 Ti e incomodava a Geforce3 Ti. ATI Radeon
9 49 50 Terceira Geração de GPU s: NVIDIA x ATI Nesta geração começa a ser possível a programação em GPU Suporte apenas à vertex shaders Número bastante limitado de instruções possíveis de serem executadas Não havia suporte para números em ponto flutuante, apenas para variáveis de ponto fixo Não havia linguagem de programação voltada para a GPU, era necessário escrever diretamente na linguagem de montagem da GPU (Assembly) A briga das gigantes NVIDIA e ATI e o início da programação em GPU Em fevereiro de 2001, NVIDIA lança a GeForce 3: grande salto para a indústria dos jogos: Era a primeira GPU totalmente programável do mercado Mesmos clocks da GeForce 2 Ultra, mas com uma contagem de transistores mais de duas vezes maior Suporte ao ainda novo DirectX 8 Infelizmente (para a NVIDIA) o DirectX 8 teve uma vida muito curta (substituído pela versão 8.1) NVIDIA perde, logo nos primeiros meses, o suporte a tecnologia mais atual A briga das gigantes NVIDIA e ATI e o início da programação em GPU Em menos de 6 meses a ATI respondeu lançando o modelo R200 (Radeon 8500) Superava a performance da GeForce 3 por uma margem de até 20% GPU programável totalmente compatível com DirectX 8.1 A ATI lançou 8500LE, idêntica a Radeon 8500, mas com clocks menores. A R200 original possuia memórias DDR 64bits Mais tarde, ambas passaram a memórias DDR 128bits, o que rendeu mais desempenho. NVIDIA Geforce 3 e ATI Radeon A briga das gigantes NVIDIA e ATI e o início da programação em GPU Contra-ataque da NVIDIA: Geforce 4 (2002) Sua versão de alto desempenho (Geforce 4 TI) não conseguiu cumprir superar a Radeon 8500 Sua linha de baixo custo (Geforce 4 MX) foi um sucesso comercial por causa do seu preço baixo A Geforce 4 foi muito bem sucedida, tanto que o NV28 ganhava em desempenho da FX5600 e empatava com o fenômeno Radeon 9600 A virada da ATI R200 tinha custo benefício ruim ATI decide lançar outro chip: O R300 chega no fim de 2002 Completamente diferente do R200 Suporte ao Direct3D 9, litografia em 150nm, dobro de transistores, 8 pixel shaders, 8 TMUs, 4 vertex shaders e um sistema de filtros bastante eficiente (100%) R300 também utilizado na geração seguinte: X300, X550X600. Um dos maiores custo beneficio da história Radeon 9600 foi uma das melhores placas nesse quesito de todos os tempos Pela primeira vez, o melhor custo beneficio e o melhor chip eram da mesma empresa, 9600Pro e 9800XT, respectivamente. 9
10 55 56 Placas da série Radeon 9000 A virada da ATI Querendo retomar o trono a NVIDIA lança a serie FX: um grande fiasco Exceto a FX5200, que, apesar de fraca, foi a placa de vídeo mais vendida da história Toda a linha FX perdia para suas concorrentes diretas da ATI Um dos principais motivos do fracasso foram os vários atrasos da NVIDIA Os drivers também não eram dos melhores Mesmo com novas revisões (NV34, 35 e 36), os chips NVIDIA não eram muito competitivos NVIDIA Geforce FX5200 Quarta geração de GPU s Deslancha a programação em placas gráficas Além dos vertex shaders, fragment shader Expansão do número de instruções Suporte a tipos de dados textura e a números de ponto flutuante de 32 bits Linguagens de programação em GPU aparecem Cg, HLSL e GLSL Cg (C for Graphics) Vertex Shader em Cg Desenvolvida pela própria NVIDIA Efeitos como reflexão/refração em tempo real Integração com APIs gráficas, como OpenGL e Direct3D Compilação dinâmica, ou seja, otimização de código para a placa em que vai rodar Possibilidade de um código Cg rodar também em placas da ATI 10
11 61 62 HLSL High Level Shading Language Linguagem proprietária desenvolvida pela Microsoft com suporte à sua API Direct 3D Bastante parecida com Cg por ter sido desenvolvida juntamente à ela, no entanto, como era de se esperar, não é compatível com o padrão aberto OpenGL GLSL OpenGL Shading Language Linguagem aberta pertencente à série de especificações OpenGL Compatibilidade com diferentes plataformas, incluindo Windows, Linux e MacOS Shaders feitos em GLSL podem ser executados em qualquer hardware com suporte a OpenGL Maioria dos fabricantes inclui um compilador GLSL nos drivers das suas placas, sendo possível otimizar o código GLSL para cada placa em específico Vertex Shader e Fragment Shader em GLSL Mini tutorial de GLSL É possível que sejam programados shaders para os seguintes estágios: Transformações nos Vértices (Vertex Shaders). Transformações nas Geometrias (Geometry Shaders) Transformações nos Fragmentos (Fragment Shaders) Vertex Shader Operam sobre os vértices e informações associadas, tais como cores, normais, etc., dependendo do que a aplicação enviar Operações possíveis: Transformações nos Vértices, Transformações de Normais e Normalização, Iluminação, Geração de Coordenadas de Textura, etc. Ao utilizar Vertex Shaders, a funcionalidade fixa da placa é substituída e não pode ser usada. Vertex Shader Cada vértice é trabalhado isoladamente, sem conhecimento dos vértices restantes Deve-se calcular, obrigatoriamente, uma posição. Cor e outros atributos são opcionais Tem-se acesso ao estado do OpenGL atual, incluindo algumas varíaveis pré-calculadas pelo próprio OpenGL Em placas mais recentes pode-se acessar texturas 11
12 67 68 Geometry Shader Operam sobre primitivas, com ou sem informações sobre adjacências. Operações possíveis: Amplificação de Geometria, Sistemas de Níveis de Detalhes(LoD), Tesselação, Detecção de Silhueta por Extrusão (substituir CPU para geração de sombras), Renderização através de um Cube Map (mapeamento em cubo) Ao utilizar Geometry Shaders, a funcionalidade fixa da placa é substituída e não pode ser usada Geometry Shader A partir de cada primitiva pode-se gerar, como saída, zero ou mais primitivas de um mesmo tipo As primitivas geradas podem ser desconectadas Através do stream output pode-se associar dados às primitivas (render-to-vertex-array). Disponível apenas a partir da série 8 da NVIDIA Fragment Shader Operam sobre os fragmentos que são produzidos pelo processo de rasterização Operações possíveis: Cálculo de cores e coordenadas de textura por pixel, Acesso e Aplicação de Texturas, Cálculo de Nevoeiro, Cálculo de normais no caso de iluminação por pixel Ao utilizar Fragment Shaders, a funcionalidade fixa da placa é substituída e não pode ser usada. Fragment Shader Operam isoladamente em um único fragmento, sem qualquer informação sobre os fragmentos vizinhos Fragmentos podem ser descartados As coordenadas de um fragmento não podem ser modificadas Tem acesso ao estado do OpenGL atual, incluindo algumas variáveis pré-calculadas pelo próprio OpenGL, mas não tem acesso (de leitura) ao framebuffer GLSL Shaders Inicialização OpenGL A implementação de um tipo de shader não implica na obrigatoriedade de se implementar os outros Ou seja, pode-se implementar apenas um geometry shader e continuar com a funcionalidade fixa da placa para os outros. Cada shader deve ser compilado e incorporado em um programa, o qual será linkado. 12
13 73 74 Inicialização OpenGL Primeiro, verifica-se se o sistema é capaz de executar programas GLSL. Biblioteca utilizada: GLee.h (Disponível para download no site: GLEE_VERSION_2_0 será true se suportar e false se não. Verifica-se suporte a gemoetry shader através da variável GLEE_EXT_geometry_shader4 Criação dos shaders GLuint glcreateshader (enum type) Onde type pode ser: GL_VERTEX_SHADER GL_GEOMETRY_SHADER_EXT (Ainda está como extensão) GL_FRAGMENT_SHADER Associação de código e compilação dos shaders GLuint glshadersource (uint shader, sizei count, const char **string, const int *length) GLuint glcompileshader (uint shader) Onde: shader é o que foi retornado pelo glcreateshader. count é quantidade de strings. string é o vetor de strings. length é o tamanho de cada string, ou NULL, se terminadas em \0. Construção do programa uint glcreateprogram() void glattachshader(uint program, uint shader) Onde: glcreateprogram retorna um ponteiro para um programa objeto glattachshader une o shader shader ao programa objeto program, que foi retornado pelo glcreateprogram Linkagem e uso void gllinkprogram (uint program) void gluseprogram (uint program) Onde: gllinkprogram faz a linkagem dos shaders associados ao programa. gluseprogram determina se a placa usará a funcionalidade fixa (quando program = 0) ou os shaders associados ao programa (program!= 0). Exemplo GLuint v; v = glcreateshader (GL_VERTEX_SHADER); vs = textfileread( arquivo.vert ); glshadersource (v, 1, &vs,null); glcompileshader (v);... p = glcreateprogram (); glattachshader(p,v); gllinkprogram(p); gluseprogram(p); 13
14 79 80 Comunicação Aplicação->Shader Pode ser feita através de variáveis uniform ou attribute uniform São invariáveis ao longo da primitiva (ex: posição da luz) Acessíveis nos vertex, geometry e fragment shader attribute Atributos associados à vértices (ex: tangente) Acessíveis nos vertex e geometry shaders Comunicação entre shaders Pode ser feita através de variáveis varying. São definidas nos vertex shaders. Seus valores podem ser lidos nos geometry shaders, se houver algum ativo, ou nos fragment shaders Se não houver um geometry shader ativo, os valores de todas as variáveis varying seram interpoladas sobre todos os fragmentos da primitiva Sintaxe GLSL Parecida com C/C + +. Tipos de Dados Simples: Escalares float (ex: float x, y = 2.5;) int (ex: int z = 1;) bool (ex: f= true;) Vetores vec2, vec3, vec4 (ex: vec4 v = vec4(1.0, 2.2, 3.1, 4.8);) ivec2, ivec3, ivec4 (ex: ivec3 v = ivec3(1, 2, 4);) bvec2, bvec3, bvec4 (ex: bvec2 v = bvec3(true, false);) Matrizes mat2, mat3, mat4 (ex: mat2 m = mat2(3.1, 2.2, 5.1, 4.2); // Matriz 2x2) Acesso a elementos de vetores Acesso aos elementos de vetores: Através de nomes (x, y, z, w): vec4 a (a.x, a.y, a.z, a.w, a.xy, a.yw). Através de nomes (r, g, b, a): vec4 a (a.r, a.g, a.b, a.a, a.ra, a.gb). Através de nomes (s, t, p, q): vec4 a (a.s, a.t, a.p, a.q, a.sp, a.tq). Através dos índices: vec4 a (a[0], a[1], a[2], a[3]) Sintaxe Básica GLSL Tipos de Dados Especiais para Texturas: sampler1d (texturas 1D). sampler2d (texturas 2D). sampler3d (texturas 3D). samplercube (texturas para cube maps). sampler1dshadow (texturas para shadow maps). sampler2dshadow (texturas para shadow maps). Estruturas com sintaxe parecida com C: struct dirlight { vec3 direction; vec3 color; }; Qualificadores de variáveis Qualificadores de variáveis: const (definição de constantes). uniform (variável global de somente leitura para todos os shaders (Descrita anteriormente)). attribute (variável global acessível nos vertex e geometry shaders (Descrita anteriormente)). varying (variável global escrita pelos vertex shaders e lida nos outros (Descrita anteriormente)). 14
15 85 86 Sintaxe Básica GLSL Ponto de entrada é a função main É possível fazer loops com for, while e do-while Variáveis podem ser declaradas dentro deles Palavras-chave break e continue existem Condicionais podem ser feitos com if e if-else Variáveis não podem ser declaradas dentro Operador?: está dispon ıvel Palavra-chave especial: discard (Descartar um fragmento no fragment shader) goto e switch não estão disponíveis Sintaxe Básica GLSL if (expressão booleana)... else... for (inicialização; expressão booleana; expressão do loop)... while (expressão booleana)... do... while (expressão booleana) Funções Uma função deve retornar um valor, a palavra-chave return é usada para isso O tipo de retorno pode ser qualquer, exceto array (pode ser void) Funções não pode ser chamadas recursivamente Passagem de parâmetros in: Semelhante à passagem por valor de C/C++. Este parâmetro pode ser reescrito dentro da função (em contraste com const) out: Copia somente para fora, porém é indefinido no momento da chamada da função inout: Semelhante à passagem por referência de C/C++ Exemplos de funções Correto void ComputeCoord(in vec3 normal, vec3 tangent, inout vec3 coord) Ou, vec3 ComputeCoord(const vec3 normal, vec3 tangent, in vec3 coord) Incorreto void ComputeCoord(const out vec3 normal, const inout vec3 tangent, in out vec3 coord) Funções integradas Trigonométricas: sin, cos, tan,... Exponenciais: pow, exp2, log2, sqrt,... Comuns: abs, sign, mod, min,... Interpolações Geométricas: cross, dot, normalize,... Matrizes: matrixcompmult Relações entre vetores: lessthan, lessthanequal, greaterthan,... Texturas: texture1d, texture2d, texture3d,... Vértices: ftransform A retomada da NVIDIA Nenhuma placa da série FX conseguia competir com a ATI até a GeForce FX 5950 Ultra Conta com taxa de preenchimento superior a da 9800PRO e ainda com vazão de memória quase 50% maior Teve seu brilho ofuscado por ter que concorrer com a Radeon 9800XT 15
16 91 92 A retomada da NVIDIA ATI Radeon x850 XT PT Em 2004, o R420 foi usado para equipar as placas de vídeo da linha Radeon X700, X800 e X850 A ATI resolveu continuar apostando no Direct3D 9 No inicio foi acertado, porém, após alguns meses o mercado migrou para o Direct3D 9.0c com shader model 3.0 ATI perdeu mercado para a recém lançada serie 6 da NVIDIA A placa mais poderosa dessa geração foi a X850XT PE No segmento midend o R300 era usado e não foi o bastante para competir com a 6600GT O R420 foi lançado sob esses modelos: X700 (mid-end), X800 (mid e high-end), X850 (high-end) A retomada da NVIDIA NVIDIA Geforce 6600 GT A NVIDIA, vinda do erro chamado FX lançou uma série que não prometia muito, a Serie 6 Foi uma das mais bem sucedidas da história Ao fim de 2004 é lançada a sexta geração de VGAs sob codinome Geforce O suporte, mesmo precário, ao Direct3D 9.0c foi um de seus principais diferencias Empate das gigantes ATI Radeon X1950 XTX No ano seguinte, a ATI se rende ao Direct3D 9.0c com a linha Radeon X1XXX. A NVIDIA, Para não ficar para trás, lançou a série Geforce 7XXX com suporte melhorado ao Direct3D 9.0c Esta geração foi marcada pro preços bem elevados das placas de vídeo, mas pouca diferença de desempenho 16
17 97 98 NVIDIA Geforce 7950 GX2 Inércia na ATI No fim de 2006 a NVIDIA lançou a serie 8 Shaders unificados: Mesmas unidades genéricas serviriam para as duas quaisquer processamentos Novo estágio programável: o geometry shader Começou-se a pensar em programação genérica na GPU Foram criadas linguagens específicas para a chamada GPGPU, tais como Sh e Brook A principal linguagem, já projetada pensando em GPGPU e feita pela própria NVIDIA, chama-se CUDA (Computer Unified Device Architecture) Fragmento de código CUDA A arquitetura CUDA inclui Ferramentas de desenvolvimento em C/C++, bibliotecas de funções Mecanismo de abstração de hardware que esconde os detalhes da implementação em GPU As ferramentas funcionam com compiladores convencionais, o que possibilita a união de código específico para GPU com códigos gerais para CPU NVIDIA no topo NVIDIA Geforce 8800 Ultra A revisão G92 foi concebida no fim de 2007 para ocupar a lacuna entre a 8600GTS e a 8800GTS 320 O chip era tão bom que, pela primeira vez a NVIDIA quebrou a sua nomenclatura e lançou uma placa com codinome GT melhor que outra GTS 17
18 Comprada pela AMD, ATI volta à briga ATI Radeon HD 3870 Em 2007, a ATI fez uma revisão no chip R600, e lançou a Rv670, com menores consumo de energia e preço que a R600 Usada na nova linha Radeon HD Os chips revisados das duas gigantes (Rv670 da ATI e G92 da NVIDIA) foram os grandes responsáveis pela queda de preço das placas Consumidor comum teve acesso a placas de vídeo muito poderosas Comprada pela AMD, ATI volta à briga NVIDIA Geforce 9600 GT NVIDIA aumenta a produção de chips G92 e lançar versão com menos recursos (G94) para atacar a ATI no mercado de placas baratas A Geforce 9600GT (chip G94) foi lançada e fez muito sucesso Era barata e tinha desempenho superior à Radeon HD 3870 (um modelo de alto desempenho) Isto obrigou a ATI a cortar o preço de seus produtos para se manter competitiva Geração atual de GPU s ATI Radeon HD 3870X2 e NVIDIA Geforce 9800 GX2 ATI resolve fazer pequenas melhorias Rv670 para permitir que mais de um processador pudesse ser utilizado em uma única placa Radeon HD3870X2 foi a placa de vídeo mais potente do mercado Durou dois meses, pois a NVIDIA contra-atacou com a Geforce 9800GX2, utilizando o conceito de duas placas de vídeo em uma 18
19 Geração atual de GPU s ATI Radeon HD 4870 Em 2008, NVIDIA e ATI finalmente lançam seus novos chips: o GT200 e Rv770 O GT200 nasce com problemas, pois consumia muita energia sem ter uma potência que justificasse estes gastos Rv700 (Radeon HD 4850/Radeon HD 4870) alguns meses depois, sendo um sucesso de público e crítica Geração atual de GPU s NVIDIA Geforce GTX 280 Agora, a NVIDIA que se viu obrigada a baixar o preço de suas placas para permanecer competitiva Não foi capaz de tomar a coroa da ATI no mercado de alto desempenho e de custo/benefício No atual mercado de baixo custo, a NVIDIA ainda é líder devido à demora da ATI em lançar novos modelos para esta lucrativa fatia Ainda não há rival direto para a 9800GT E o futuro... A cada ano ATI e NVIDIA se degladiam para ter a melhor placa de vídeo do mercado No final o consumidor ganha com isso, pois as placas se tornam cada vez mais potentes e baratas Trazem, ainda, novas ferramentas para programadores utilizarem o alto potencial de cálculos em paralelo das GPU s em suas aplicações, principalmente em programação genérica E o futuro... Nota-se uma convergência CPU s cada vez possuem mais núcleos: Intel Core i7 (8 núcleos) E a tendência é que esse número aumente cada vez mais, tornando-se também máquinas paralela Pode-se imaginar um futuro sem distinção entre CPU e GPU, os dois farão parte do mesmo componente altamente paralelizável Utilização de técnicas como Ray-Tracing em tempo real. 19
20 115 Obrigado... Perguntas??? 20
Programação em GPU: Passado, presente e futuro
Capítulo 1 Programação em GPU: Passado, presente e futuro José Ricardo Mello Viana Abstract Previously designed to process only graphics, the graphics cards (GPU - Graphics Processing Unit) have a fixed
Bruno Pereira Evangelista. www.brunoevangelista.com
Bruno Pereira Evangelista www.brunoevangelista.com 2 Introdução Shaders Pipeline de Renderização Evolução dos Shaders Como Programar Shaders Programando Shaders com XNA Ferramentas Conclusões 3 Durante
Utilização. de Shaders de efeitos realistas para jogos. Bruno Pereira Evangelista. Pontifícia Universidade Católica de Minas Gerais
Utilização de Shaders para criação de efeitos realistas para jogos Bruno Pereira Evangelista Pontifícia Universidade Católica de Minas Gerais Sumário 2/48 Apresentação pessoal Introdução Pipeline de renderização
CPU Unidade Central de Processamento. História e progresso
CPU Unidade Central de Processamento História e progresso O microprocessador, ou CPU, como é mais conhecido, é o cérebro do computador e é ele que executa todos os cálculos e processamentos necessários,
OpenGL. Uma Abordagem Prática e Objetiva. Marcelo Cohen Isabel Harb Manssour. Novatec Editora
OpenGL Uma Abordagem Prática e Objetiva Marcelo Cohen Isabel Harb Manssour Novatec Editora Capítulo 1 Introdução A Computação Gráfica é uma área da Ciência da Computação que se dedica ao estudo e ao desenvolvimento
Tecnologia PCI express. Introdução. Tecnologia PCI Express
Tecnologia PCI express Introdução O desenvolvimento de computadores cada vez mais rápidos e eficientes é uma necessidade constante. No que se refere ao segmento de computadores pessoais, essa necessidade
Computação Gráfica. Renderização em Tempo Real. Erivaldo Xavier de Lima Filho [email protected]
Computação Gráfica Renderização em Tempo Real Erivaldo Xavier de Lima Filho [email protected] Computação Gráfica É a síntese de imagens por computador Consiste de vários passos: o Modelagem o Renderização
Capítulo 5. Figura 5.2. Conector para o monitor.
Capítulo 5 Placas de vídeo Visão geral das placas de vídeo Esta placa está presente em todos os PCs, exceto nos que possuem placas de CPU com os circuitos de vídeo embutidos. A maioria dos PCs produzidos
Visão Geral de Hardwares de Renderização e Ferramentas de Avaliação. Carlos Eduardo Rodrigues
Visão Geral de Hardwares de Renderização e Ferramentas de Avaliação Carlos Eduardo Rodrigues Motivação Os chips gráficos monolíticos da década de 80 evoluíram bastante, e hoje são denominados GPUs (Graphics
Técnico em Informática - Instalação e Manutenção de Computadores PROCESSADORES
Técnico em Informática - Instalação e Manutenção de Computadores PROCESSADORES Processador... 2 Clock... 5 Multiplicador de clock / FSB... 6 Memória Cache... 6 Processador O processador é o cérebro do
Computação Gráfica. GLSL Programação de Shaders
Computação Gráfica GLSL Programação de Shaders António Ramires Fernandes - Computação Gráfica 07/08 GLSL Sumário Evolução do Hardware Gráfico PCs Pipeline Gráfico Fixo Pipeline Gráfico Programável Processador
Introdução. Em se tratando de computador, entendemos que memória são dispositivos que armazenam dados com os quais o processador trabalha.
Memorias Introdução Em se tratando de computador, entendemos que memória são dispositivos que armazenam dados com os quais o processador trabalha. Necessariamente existe dois tipos de memórias: -Memória
GLSL Programação de Shaders
Universidade do Minho Mestrado em Informática UCE - Computação Gráfica GLSL Programação de Shaders António Ramires Fernandes GLSL Sumário Evolução do Hardware Gráfico PCs Pipeline Gráfico Fixo Pipeline
Placas de Vídeo. Prof. Alexandre Beletti Ferreira
Placas de Vídeo Prof. Alexandre Beletti Ferreira Introdução Dispositivo responsável pela comunicação entre a placa mãe e o monitor de vídeo para reproduzir imagens. Dispositivo básico de output. Converte
INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.
INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P. Centro de Emprego e Formação Profissional da Guarda Curso: Técnico de Informática Sistemas (EFA-S4A)-NS Trabalho Realizado Por: Igor_Saraiva nº 7 Com
LICENCIATURA EM COMPUTAÇÃO PROCESSADOR TEGRA 2
LICENCIATURA EM COMPUTAÇÃO PROCESSADOR TEGRA 2 SANTO AMARO 2011 ANGELO RAMOS JACKELINE BARBOSA JEANDERVAL SANTOS PROCESSADOR TEGRA 2 Trabalho apresentado ao Instituto Federal de Ciências e Tecnologia da
A história do Processadores O que é o processador Características dos Processadores Vários tipos de Processadores
A história do Processadores O que é o processador Características dos Processadores Vários tipos de Processadores As empresas mais antigas e ainda hoje no mercado que fabricam CPUs é a Intel, AMD e Cyrix.
Contil Informática. Curso Técnico em Informática Processadores Core
Contil Informática Curso Técnico em Informática Processadores Core Quais as diferenças entre os processadores Intel Core i3, i5 e i7? A tecnologia avançada na área de hardware possibilita um avanço desenfreado
Aula 26: Arquiteturas RISC vs. CISC
Aula 26: Arquiteturas RISC vs CISC Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Arquiteturas RISC vs CISC FAC 1 / 33 Revisão Diego Passos
OpenGL Shading Language
OpenGL Shading Language Guilherme S. Moura ([email protected]) Saulo A. Pessoa ([email protected]) Vladimir Alves ([email protected]) Felipe Maia O que é? High Level Shading Language para OpenGL Descreve shaders
TRABALHO COM GRANDES MONTAGENS
Texto Técnico 005/2013 TRABALHO COM GRANDES MONTAGENS Parte 05 0 Vamos finalizar o tema Trabalho com Grandes Montagens apresentando os melhores recursos e configurações de hardware para otimizar a abertura
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/
O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware
1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador
Trabalho de: Alexandre / Paulo / Rui
Trabalho de: Alexandre / Paulo / Rui Índice 1 - CPU-Processador 2 - Chipset Intel/AMD 3 - Cache 4 - Núcleo 5 - CISC/RISC 1. CPU / Processador A unidade central de processamento ou CPU (Central Processing
Introdução as Unidades de Processamento Gráfico (GPUs) Giovane Roslindo Kuhn
Introdução as Unidades de Processamento Gráfico (GPUs) Giovane Roslindo Kuhn Computação Gráfica x Realidade Consulta ao BD SELECT nome FROM Pessoa WHERE idade > 25 Sumário Pipeline Gráfico Fixo (Overview)
ESTUDO DE CASO WINDOWS VISTA
ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado
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 processadores: RISC e CISC
Arquitetura de processadores: RISC e CISC A arquitetura de processador descreve o processador que foi usado em um computador. Grande parte dos computadores vêm com identificação e literatura descrevendo
VIRTUALIZAÇÃO CONVENCIONAL
VIRTUALIZAÇÃO CONVENCIONAL Sera usado o VirtualBox 5.0.8 a versão mais atual e estável da aplicação, para virtualização de um sistema Linux sobre a plataforma Windows. Para esse modelo pratico de virtualização
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 é
CONHEÇA MELHOR SEU COMPUTADOR
CONHEÇA MELHOR SEU COMPUTADOR Por: Pedro ( Lan House Viagem Virtual ) Sacie sua fome de conhecimento, veja em ordem alfabética os principais termos sobre hardware. Como muitos devem saber, os computadores
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
Algoritmos e Programação Estruturada
Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.
Tecnologia AMD agregando valor
Tecnologia AMD agregando valor ao dia-a-diaa Roberto Brandão AMD Brasil AMD Brasil Portfolio AMD Desktop 1 a 6 cores Server 4 a12 cores 1 a 8 sockets Stream Processors Notebook 1 e 2 cores Infraestrutura
Capítulo 2. AMD K6, K6-2, K6-III Super 7 Cyrix MII / 6x86 / 6x86MX Super 7 ou Socket 7 AMD K5, Pentium, Pentium MMX Socket 7
Processadores Capítulo 2 O processador e o seu soquete Existem vários processadores para PCs. A maioria deles são produzidos pela Intel e AMD. É preciso levar em conta que cada processador exige um tipo
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA
Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais
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:
Hardware de Computadores
Placa Mãe Hardware de Computadores Introdução Placa-mãe, também denominada mainboard ou motherboard, é uma placa de circuito impresso eletrônico. É considerado o elemento mais importante de um computador,
CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA
8 CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA A porta paralela, também conhecida por printer port ou Centronics e a porta serial (RS-232) são interfaces bastante comuns que, apesar de estarem praticamente
Computadores de Programação (MAB353)
Computadores de Programação (MAB353) Aula 19: Visão geral sobre otimização de programas 06 de julho de 2010 1 2 3 Características esperadas dos programas O primeiro objetivo ao escrever programas de computador
Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados
Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Organização de um Computador Típico Memória: Armazena dados e programas. Processador (CPU - Central Processing
Evolução dos Processadores
Evolução dos Processadores Arquitetura Intel Arquitetura x86 Micro Arquitetura P5 P6 NetBurst Core Processador Pentium Pentium Pro Pentium II Pentium III Pentium 4 Pentium D Xeon Xeon Sequence Core 2 Duo
Processadores. Guilherme Pontes
Processadores Guilherme Pontes Já sabemos o básico! Como já sabemos, o processador exerce uma das mais importantes funções do computador. Vamos agora nos aprofundar em especificações mais técnicas sobre
Montagem e Manutenção. Luís Guilherme A. Pontes
Montagem e Manutenção Luís Guilherme A. Pontes Introdução Qual é a importância da Montagem e Manutenção de Computadores? Sistema Binário Sistema Binário Existem duas maneiras de se trabalhar e armazenar
Prof. Esp. Lucas Cruz
Prof. Esp. Lucas Cruz O hardware é qualquer tipo de equipamento eletrônico utilizado para processar dados e informações e tem como função principal receber dados de entrada, processar dados de um usuário
1. CAPÍTULO COMPUTADORES
1. CAPÍTULO COMPUTADORES 1.1. Computadores Denomina-se computador uma máquina capaz de executar variados tipos de tratamento automático de informações ou processamento de dados. Os primeiros eram capazes
Sistemas Operacionais
Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB
Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha
Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.
3 Tecnologia FPGA Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3.1. FPGA: Histórico, linguagens e blocos Muitos dos
INTRODUÇÃO BARRAMENTO PCI EXPRESS.
INTRODUÇÃO BARRAMENTO EXPRESS. O processador se comunica com os outros periféricos do micro através de um caminho de dados chamado barramento. Desde o lançamento do primeiro PC em 1981 até os dias de hoje,
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
AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD.
AULA4: PROCESSADORES 1. OBJETIVO Figura 1 Processadores Intel e AMD. Conhecer as funcionalidades dos processadores nos computadores trabalhando suas principais características e aplicações. 2. INTRODUÇÃO
Aula 04 A. Barramentos. Prof. Ricardo Palma
Aula 04 A Barramentos Prof. Ricardo Palma Definição Em ciência da computação barramento é um conjunto de linhas de comunicação que permitem a interligação entre dispositivos, como o CPU, a memória e outros
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
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 é
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
Figura 1 - O computador
Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...
O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.
O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. Unidade aritmética e lógica - Executa operações aritméticas (cálculos);
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
Informática, Internet e Multimídia
Informática, Internet e Multimídia 1 TIPOS DE COMPUTADOR Netbook Notebook Computador Pessoal 2 Palmtop / Handheld Mainframe TIPOS DE COMPUTADOR Computador Pessoal O Computador Pessoal (PC Personal Computer),
CISC RISC Introdução A CISC (em inglês: Complex Instruction Set Computing, Computador com um Conjunto Complexo de Instruções), usada em processadores Intel e AMD; suporta mais instruções no entanto, com
Admistração de Redes de Computadores (ARC)
Admistração de Redes de Computadores (ARC) Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina - Campus São José Prof. Glauco Cardozo [email protected] RAID é a sigla para Redundant
Laboratório de Hardware
Laboratório de Hardware Prof. Marcel Santos Silva Apresentação Bacharel em Análise de Sistemas (UNILINS). Especialização em Geoprocessamento (UFSCar). Mestre em Ciência da Informação (UNESP). Doutorando
Um Driver NDIS Para Interceptação de Datagramas IP
Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva [email protected] Sérgio Stringari [email protected] Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para
Virtualização Gerencia de Redes Redes de Computadores II
Virtualização Gerencia de Redes Redes de Computadores II *Créditos: baseado no material do Prof. Eduardo Zagari Virtualização - Introdução Introduzido nos anos 60 em Mainframes Em 1980 os microcomputadores
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
1. NÍVEL CONVENCIONAL DE MÁQUINA
1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0
Sumário. Organização de Computadores Módulo 3. Primeira Geração Válvulas (1945 1955) Primeira Geração Válvulas (1945 1955)
Sumário M. Sc. Luiz Alberto [email protected] www.professorluizalberto.com.br Organização de Computadores Módulo 3 1. História da Arquitetura de Computadores - Continuação 1.1. 1.2. Segunda Geração Transistores
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
Barramentos - BUS. Professor Especialista: Airton Ribeiro de Sousa
Professor Especialista: Airton Ribeiro de Sousa É o percurso principal dos dados entre dois ou mais componentes de um sistema de computação, neste caso são os caminhos arquitetados na PLACA MÃE até o ponto
JSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
FUNDAMENTOS DE HARDWARE PROCESSADORES. Professor Carlos Muniz
FUNDAMENTOS DE HARDWARE Processadores Apesar de ser o componente principal de um microcomputador, o processador depende da ajuda dos demais componentes. Caso apenas um componente apresente baixo desempenho,
Orientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto
O que é RAID? Tipos de RAID:
O que é RAID? RAID é a sigla para Redundant Array of Independent Disks. É um conjunto de HD's que funcionam como se fosse um só, isso quer dizer que permite uma tolerância alta contra falhas, pois se um
Serial Paralela USB FireWire(IEEE1394)
Serial Paralela USB FireWire(IEEE1394) histórico Tudo começou em 1980 quando a IBM estava desenvolvendo seu primeiro micro PC. Já haviam definido que o barramento ISA seria usado para permitir que o IBM
A Evolução dos Sistemas Operacionais
Capítulo 3 A Evolução dos Sistemas Operacionais Neste capítulo, continuaremos a tratar dos conceitos básicos com a intensão de construirmos, agora em um nível mais elevado de abstração, o entendimento
Arquitetura de Computadores Arquitetura de entrada e saída
Arquitetura de Entrada e Saída Arquitetura de Computadores Arquitetura de entrada e saída Barramento Meio de transmissão de dados entre a CPU, a memória principal e os dispositivos de entrada e saída.
A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande
A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada
RISC X CISC - Pipeline
RISC X CISC - Pipeline IFBA Instituto Federal de Educ. Ciencia e Tec Bahia Curso de Analise e Desenvolvimento de Sistemas Arquitetura de Computadores 25 e 26/30 Prof. Msc. Antonio Carlos Souza Referências
Curso de Instalação e Gestão de Redes Informáticas
ESCOLA PROFISSIONAL VASCONCELLOS LEBRE Curso de Instalação e Gestão de Redes Informáticas PROCESSADORES DE 64 BITS X PROCESSADORES DE 32 BITS José Vitor Nogueira Santos FT2-0749 Mealhada, 2009 Introdução
FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? Professor Carlos Muniz
FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? A arquitetura básica de qualquer computador completo, seja um PC, um Machintosh ou um computador de grande porte, é formada por apenas 5 componentes básicos:
LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes [email protected]
LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes [email protected] Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de
Um Tutorial sobre GPUs
Um Tutorial sobre GPUs Silvia Esparrachiari e Victor H. P. Gomes Instituto de Matemática e Estatística Universidade de São Paulo (USP) São Paulo SP Brasil {silviaeg,vhpgomes}@ime.usp.br Abstract. The present
Itinerários de Ônibus Relatório Final
CENTRO UNIVERSITÁRIO SENAC Itinerários de Ônibus Relatório Final Grupo 5 Caio Roque Daniel Nunes Elise Roese José Caneiro Marcos Grignani São Paulo Junho de 2007 1 ÍNDICE 1. Introdução... 3 2. Desenvolvimento...
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
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
Software Básico. Conceito de Linguagem de Máquina e Montagem: introdução ao Assembly. Prof. MSc. Hugo Vieira L. Souza
Software Básico Conceito de Linguagem de Máquina e Montagem: introdução ao Assembly Prof. MSc. Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão reservados para o todo
R S Q 0 0 1 0 1 0 1 0 0 1 1 0 Tabela 17 - Tabela verdade NOR
19 Aula 4 Flip-Flop Flip-flops são circuitos que possuem a característica de manter os bits de saída independente de energia, podem ser considerados os princípios das memórias. Um dos circuitos sequenciais
Aula 14: Instruções e Seus Tipos
Aula 14: Instruções e Seus Tipos Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Instruções e Seus Tipos FAC 1 / 35 Conceitos Básicos Diego Passos
SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores
SISTEMAS OPERACIONAIS Maquinas Virtuais e Emuladores Plano de Aula Máquinas virtuais Emuladores Propriedades Benefícios Futuro Sistemas de Computadores Os sistemas de computadores são projetados com basicamente
Fundamentos de Hardware
Fundamentos de Hardware Curso Técnico em Informática SUMÁRIO PROCESSADOR... 3 CLOCK... 4 PROCESSADORES COM 2 OU MAIS NÚCLEOS... 5 NÚCLEOS FÍSICOS E LÓGICOS... 6 PRINCIPAIS FABRICANTES E MODELOS... 6 PROCESSADORES
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Prof. André Dutton EMENTA: Conceitos fundamentais e histórico da ciência da computação; Histórico dos computadores, evolução e tendências; Modalidades de computadores
Modelagem 3D e Raytracing
Modelagem 3D e Raytracing João Paulo Pizani Flor Renato Besen 19/06/2009 Introdução O presente trabalho envolve a modelagem em três dimensões de uma cena, e sua renderização fotorreaĺıstica utilizando
4 Estrutura do Sistema Operacional. 4.1 - Kernel
1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,
O modelo do computador
O modelo do computador Objetivos: Mostrar como é o funcionamento dos computadores modernos Mostrar as limitações a que estamos sujeitos quando programamos Histórico Os primeiros computadores são da década
Introdução a Informática. Prof.: Roberto Franciscatto
Introdução a Informática Prof.: Roberto Franciscatto 2.1 CONCEITO DE BIT O computador só pode identificar a informação através de sua elementar e restrita capacidade de distinguir entre dois estados: 0
