Programação em GPU: Passado, presente e futuro

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

Download "Programação em GPU: Passado, presente e futuro"

Transcrição

1 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 rendering pipeline. Because they have features as parallel processing, arithmetic intensity and constant evolution, programmable stages were introduced in GPU s pipeline. This makes possible to the programmer create their own specific methods of rendering. The next natural evolution is use the GPU power for general processing, the so-called GPGPU. In this tutorial we discuss the evolution of graphics cards, showing the characteristics of GPU generations and programming possibilities in each of them. Also shows the main languages and techniques used for GPU programming in today and future trends of GPU programming. Keywords: Computer Graphics, Parallel programming, GPU, graphics card. Resumo Inicialmente projetadas para processar somente gráficos, as placas gráficas (GPU - Graphics Processing Unit) continham um pipeline fixo de renderização de cenas. Por possuir características como processamento paralelo, alto poder computacional para cálculos aritméticos e estar em constante evolução, começou-se a introduzir estágios programáveis dentro desse pipeline das GPU s. Desta forma, foi possível, ao programador, criar seus próprios métodos de renderização específica. A evolução natural disso é usar a GPU para processamento genérico, a chamada GPGPU. Neste tutorial iremos abordar a evolução das placas gráficas, mostrando as características de cada geração de GPU s e quais as possibilidades de se programar em cada uma delas. Mostraremos ainda as principais linguagens e técnicas usadas para programar em GPU atualmente e as tendências de futuro para a programação em GPU. Palavras-chave: Computação Gráfica, Programação paralela, GPU, placa gráfica.

2 1.1. Introdução A Unidade de Processamento Gráfico (Graphic Processing Unit, ou GPU - também chamada de unidade de processamento visual, ou VPU) é um processador especializado em renderização de gráficos 3D. É usada em videgames, computadores pessoais, estações de trabalho, chegando a estar presente, hoje em dia, em telefones celulares como o Apple iphone e equipamentos portáteis de multimídia como o Microsoft Zune HD [13]. Criadas inicialmente para processar apenas gráficos de videogames ou de computadores, as GPU s possuem diversas outras funções importantes. Devido a este propósito inicial, são bastante poderosas e eficientes para manipular gráficos computacionais em operações como adição de efeitos de iluminação, suavização de contornos de objetos e criação de imagens. As GPU s recebem os objetos vindos da CPU (Central Processing Unit - Unidade Central de Processamento), as transformam, segundo informações também advindas da CPU e geram as imagens que o usuário vê na tela [17]. Seu alto poder de processamento paralelo a torna, muitas vezes, mais eficiente para que as CPU s para uma vasta gama de algoritmos complexos que são melhor resolvidos por algoritmos paralelos, como por exemplo na otimização de algoritmos genéticos [22], principalmente quando a quantidade de dados a ser processada é muito grande. Além da facilidade de processar imagens, a GPU também é usada em cálculos matemáticos e geométricos complexos, devido a sua capacidade de processar vetores ou matrizes com extrema facilidade. Essa grande velocidade e poder para cálculos matemáticos vem do fato das GPU s modernas possuírem muito mais circuitos para processamento que para caching de dados e controle de fluxo que as CPU s, como mostra a figura 1.1. Figura 1.1. Comparação do número proporcional de transistores em uma CPU e uma GPU modernas Em computadores pessoais, uma GPU pode estar presente na forma de placa de vídeo ou embutida na própria placa-mãe, usualmente chamada de on-board. Devido a não terem necessidade específica, mais de 90 % dos usuários de computadores possuem GPUs integradas à placa-mãe, as quais são menos poderosas que placas de vídeo dedicadas. Sua primeira função foi de processar cálculos com ponto flutuante, com o tempo, foi descoberta sua facilidade para processar imagens, visto que imagens são matrizes de números, onde cada número se transforma em um pixel. Para usuários comuns, a GPU é responsável pela qualidade gráfica do dispositivo, seja ele um computador, um videogame ou até mesmo um celular [20].

3 As GPU s possuíam uma funcionalidade fixa para renderização de gráficos, ou seja, o programador só tinha a possibilidade de enviar os objetos a serem renderizados e a placa somente os desenharia. As placas de vídeo eram dispositivos simples, que se limitavam a mostrar o conteúdo da memória de vídeo no monitor. Com o decorrer do tempo, essa tecnologia evoluiu, sendo introduzidos estágios programáveis dentro do pipeline de renderização das GPU s, dessa forma, os programadores poderiam personalizar a forma como os objetos seriam renderizados. Hoje, devido a alta programabilidade, as GPU s são usadas para vários tipos de pesquisas, como médicas, químicas, matemáticas, geográficas, e até em clusters, devido a seu alto grau de paralelismo [12]. Antes de tudo, devemos diferenciar os componentes para esclarecer quaisquer dúvidas: a placa de vídeo é o periférico responsável por gerar e enviar imagens para os monitores. Enquanto a GPU, a memória e outros componentes são encarregados de lidar com os dados a serem processados, os painéis de saída (como a VGA - Video Graphics Array, conhecida por sua tradicional cor azul - e a DVI - Digital Visual Interface, a saída digital) são os responsáveis pela transmissão das imagens da placa à tela [19]. Nosso objetivo é mostrar, no decorrer dessa evolução, como a programação em GPU modificou-se nesta evolução. Sendo assim, iremos apresentar a história da evolução das GPU s, fazendo um paralelo com as possibilidades de programação em cada uma das etapas da história da evolução das GPU s História e Evolução Desde a criação das primeiras GPU s, ocorreram muitas mudanças, foram descobertas novas utilizações, novas funções, e principalmente, grande aumento na sua capacidade de processamento. Isso fez com que fosse retirada uma grande carga de trabalho das CPU s, transferindo-as para as GPU s Era pré-gpu Nesta seção, veremos as precursoras das GPU propriamente ditas. Dispositivos que já tinham características parecidas com o que viriam a ser a placas gráficas propriamente ditas [17] ANTIC O ANTIC (Alpha-Numeric Television Interface Controller), foi um chip criado especialmente para mapping (mapeamento). Era usado em microcomputadores e no videogame Atari O ANTIC possuía 14 modos de apresentação de gráficos/textos, e estes modos também poderiam ser misturados. A lista de exibição e os dados da exibição eram escritos na RAM (Random Access Memory). O ANTIC acessava essas informações através de DMA (Direct Memory Access), então, processava tais instruções de alto nível para instruções simples em tempo real, assim as enviando para CTIA (Colleen Television Interface Adapter), gerando a imagem. Ele possuía quatro tipos de instruções: Map Mode - exibia pixels coloridos, Character Mode - exibia caracteres, Blank Line - exibia linhas horizontais e Jump Instruction

4 - usada para recarregar o PC (Program Counter) [17] Commodore Amiga Commodore Amiga teve seu design projetado para ser um videogame, mas foi reprojetado para ser um computador pessoal. Foi o primeiro computador a ser vendido em massa a conter um blitter no seu hardware de vídeo. O Amiga carregava todas as funções de geração de vídeo para o hardware, funções como preenchimento, desenho de linhas, e também possuía um co-processador gráfico, que possuía um conjunto de próprias instruções. Ele era capaz de exibir em tela cheia, em 32 ou 64 cores no modo EHB (Extra Half-Brite), e até 4096 cores no modo HAM (Hold-And-Modify). Um ponto importante do Amiga, era que ele possuía uma Genlock (Generator Lock), onde sincronizava sua frequência de atualização de tela com o modo NTSC ou PAL [17]. Figura 1.2. Amiga 1200, uma das versões do Commodore Amiga 1.4. IBM PC A GPU pioneira veio com o lançamento do primeiro IBM PC. A IBM MDA - Monochrome Display Adapter, ou adaptador de vídeo monocromático - trabalhava apenas em modo texto, conseguindo exibir 25 linhas e 80 colunas de caracteres na tela em alta resolução. Ele conseguia mostrar imagens (na realidade, textos) em apenas uma cor e conta com 4 KB de memória de vídeo. Figura 1.3. IBM PC com placa de vídeo IBM MDA

5 1.5. Aceleração 2D A primeira GPU com recurso de aceleração gráfica 2D foi a S3 Trio, lançado pela antiga fabricante de chips S3. A novidade da época é que, pela primeira vez, um chip de vídeo reunia os três componentes básicos de vídeo nos computadores: o processador propriamente dito, o RAMDAC (conversor entre os sinais digitais dos chips e os sinais analógicos do monitor) e o gerador de frequência [16]. A S3 Trio teve diferentes versões voltadas para placas de vídeo e para placas mãe com vídeo onboard. Para a época ela tinha um processamento gráfico muito bom. Sua linha com controladora de memória de 64bits foi uma das mais vendidas pela S3. Essa família se dividia nos modelos: Trio64 e Trio64V+: Não suportavam VRAM (memoria de video) e possuiam controladora de memoria 64bits. Trio32: Versão de baixo custo do Trio64 com controladora de memoria 32bits. Trio64V2: Atualização do Trio64V+, foi usado como acelerador 2D nos GPUs ViRGE. Também cabe citar os chips da ATI, que eram utilizados em PCs durante a primeira metade da década de 90, são eles: Mach8, Mach32, Mach64. Todos eles muito parecidos, com pequenas evoluções de um para outro. Figura 1.4. Placa da série S3 Trio 1.6. Chegada das 3 dimensões Com o fim da família Trio, entra em cena a segunda família de aceleradores gráficos fabricados pela S3: o ViRGE. O S3 ViRGE veio ao mundo em 1995 e possuía um incrível processamento 2D (Trio64V2). Também era retrocompatível com as placas projetadas para o Trio. A única desvantagem desse primeiro acelerador gráfico era o seu desempenho 3D, que era pouco melhor que o da CPU (realizado por software) [16]. Os seus modelos foram: ViRGE/325: O primeiro Acelerador da familia ViRGE.

6 ViRGE/DX: Atualização do ViRGE/325. ViRGE/GX: Era um ViRGE/DX com suporte a outros tipos de memoria. ViRGE/GX2: Um dos primeiros aceleradores compatíveis com o slot AGP. Contando com 4 MB de memória onboard e com uma frequência de memória de até 66 MHz, a ViRGE despontou com uma série de funcionalidades interessantes: filtro de texturas Bilinear e Trilinear, Alpha Blending, mapeamento MIP, mapeamento de texturas de vídeo, Z-Buffering, entre outros. Figura 1.5. Placa de vídeo S3 ViRGE 1.7. Aparecimento da NVIDIA, o NV1 Pouco depois do lançamento do S3 ViRGE, a NVIDIA, empresa recém criada, lançou o NV1. Ele não teve como competir com o ViRGE, que mesmo tendo um desempenho pior que o NV1, era muito mais barato. O NV1 Integrava acelerador 3D com base em polígonos quadrangulares (hoje triângulos), um processador sonoro e VRAM (memória de vídeo). Figura 1.6. Placa de vídeo NVIDIA NV1 O NV1 também tentou ser uma central multimídia completa, com áudio próprio (embutido na placa de vídeo) e até compatibilidade com o SEGA Saturn, que infelizmente contribuiu para o fracasso do NV1 (forte concorrência do Sony Playstation). Chegou a haver um projeto para o NV2, que seria usado no Dreamcast, porém o projeto não progrediu [16].

7 Em 1996, o ViRGE, mesmo fraco, ainda reina sobre o mercado de aceleradores gráficos. Porém esse reinado não duraria muito tempo. Nesse mesmo ano a indústria de placas de vídeo sofreria uma grande transformação. Vendo que as iniciativas de tornar placas de vídeo verdadeiras centrais multimídias, começaram a aparecer no mercado as primeiras placas de vídeo que realmente otimizavam tarefas gráficas ATI desponta no mercado A ATI technologies, ainda estagnada no projeto Mach, lança a família Rage, que unia ao Mach o poder do processamento 3D. A primeira Rage não foi um bom projeto, então, a ATI lança em 1997 a sua segunda geração de aceleradores gráficos, a família Rage II que dobrava a velocidade da Rage original [17]. Com 8 MB de memória SDRAM, 64-bit e 60 MHz de clock. Tudo isso com suporte a execução de DVD. Com isso, o desempenho foi melhorado consideravelmente, destacando a ATI na briga pelo mercado. Porém ainda não era o que a ATI queria e essa placa não foi um sucesso. Figura 1.7. Placa de vídeo ATI Rage 1.9. Voodoo 1: A revolução Ainda em 1996, três empresas entraram no ramo de aceleradores 3D, a 3dfx, a Imagination Tecnologies e a Rendition, com seus aceleradores graficos Voodoo 1, o PowerVR e a Vérité 1000, respectivamente. Uma revolução ocorreu, o pífio desempenho da ViRGE finalmente seria deixado para tras. A Voodoo 1 tinha um bom processamento gráfico e um preço ótimo, essas duas variáveis a tornaram um sucesso, e nenhuma das suas concorrentes conseguiu alcança-la [16]. A placa não apresentava nenhuma funcionalidade 2D, o que exigia que o consumidor comprasse mais de uma placa caso optasse pela Voodoo 1[21]. Isso é um tanto ruim, mas para os gamers hardcore, o custo valia a pena. Diversos títulos mostraram o potencial da primeira Voodoo e fizeram com que os concorrentes apenas assistissem o sucesso da placa. A série não durou muito, mas causou estrago [18].

8 Figura 1.8. Placa da série 3dfx Voodoo Ascensão e queda da 3dfx Em 1997, apareceram no mercado diversos adversários da Voodoo 1. A ATI lançou a linhas Rage II, mas não consegue ameaçar a primeira placa 3D da história a suportar a nova tecnologia 3D da Microsoft (Direct 3D): a NVIDIA Riva 128, que se tornou a melhor placa de vídeo 3D do mercado. Houveram ainda outros lançamentos, como a Voodoo Rush, que tinha um desempenho inferior a Voodoo 1 e a Rage PRO, da ATI, com desempenho próximo ao da Riva 128, mas ela não chegou a ser um problema para a NVIDIA [18]. Figura 1.9. Primeira placa com suporte a Direct 3D: NVIDIA Riva 128 Poucos meses depois, no inicio de 1998 a NVIDIA lança a Riva 128ZX, pequena atualização da Riva 128, que trouxe apenas um suporte de memoria de vídeo maior (8MB). Após o fiasco da Voodoo Rush, que tinha desempenho inferior à Voodoo 1, a 3dfx lançou a verdadeira sucessora da Voodoo 1: a Voodoo 2 e a Voodoo Banshee (versão enfraquecida da Voodoo 2, com menor custo) [17]. Esta sim, honrava o nome e retomou a coroa de melhor acelerador gráfico, que

9 Figura Voodoo 2: verdadeira sucessora da Voodoo 1 estava na cabeça da Riva 128ZX. Meses depois, a NVIDIA lança a Riva TNT (NV4), que consegue incomodar um pouco a Voodoo 2, mas quem sai vencedor desta briga é a placa da 3dfx devido a problemas de aquecimento com a placa da NVIDIA, mas ela serviu como base para as placas de vídeo a sucederam. Também em 98 a S3 lança a família Savage3D, um fiasco devido aos erros na produção. Até mesmo a Intel tentou entrar o mercado, mas logo desistiu e passou fabricar apenas chips de vídeo onboard [18]. Figura Investida da Intel no ramo de placas de vídeo Essas placas de vídeo lançadas até 1998 constituem a chamada primeira geração das GPU s. Contendo um pipeline de renderização fixo (Figura 1.12), essas placas, em sua maioria possibilitam apenas a renderização de triângulos pré-transformados. Ou seja, a placa de vídeo servia apenas como um dispositivo que enviava os dados para o monitor, nenhum processamento era feito internamente, muito menos possibilidade de se implementar programas que substituíssem essa funcionalidade fixa da placa de vídeo A segunda era das placas de vídeo: cai a 3dfx Após diversos fabricantes desistirem de criar placas de vídeo, em 1999 haviam apenas três grandes competidores no mercado de placas de vídeo 3D: ATI, NVIDIA e 3dfx, com as linhas Rage 128, Riva TNT2 e Voodoo 3, respectivamente. A ATI Rage 128 recebeu diferentes versões e foi atualizada para a Rage 128 PRO, com melhor processamento do Direct 3D e na codificação/decodificação de vídeos. Os chips da Rage 128 PRO foram 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.

10 Figura Pipeline de renderização: estágios em azul, mais tarde, seriam tornados programáveis Como não havia softwares compatíveis com esta tecnologia, ela foi comercialmente ignorada, embora a ideia de se usar dois chips de vídeo na mesma placa seja utilizada até hoje em dia. Figura Placa de vídeo ATI Rage Fury MAXX A Riva TNT2 também teve dois modelos: a TNT2 e a TNT2 M64, a diferença entre elas era exclusivamente o barramento de memória, que na TNT2 M64 era cortado pela metade (64bits). A família TNT2 foi uma pequena atualização da TNT original, contudo ela conseguiu manter a coroa de melhor acelerador gráfico com a NVIDIA devido a TNT2 Ultra, uma TNT2 com os clocks bem inflados e memórias de baixa latência (para a época). A Voodoo3 era um processador integrado 2D/3D. Possuía uma GPU potente que se alternava no topo com a TNT2, dependendo do aplicativo. Só não foi o GPU top na época porque não tinha suporte a alguns modos de cores que a TNT2 tinha. Para o segmento de baixo custo a 3dfx repetiu a teoria do bem sucedido Voodoo Banshee, lançando a linha Velocity.

11 Figura Placa de vídeo NVIDIA Riva TNT2 A 3dfx, mesmo com bons projetos de aceleradores gráficos, começou a ruir. Como últimos projetos dessa grande empresa do setor estão as Voodoo 4 e 5 e a grande contribuição que ela deu ao mercado de VGAs, o SLI. Na época o SLI, chamado de Scan-Line Interleave, funcionava do seguinte modo: cada GPU renderizava alternadas linhas horizontais, ou seja, uma ficava com as linhas pares e outra com as impares. A 3dfx foi a primeira empresa a oferecer processamento paralelo em GPUs, com o SLI, e pouco mais tarde a empresa lançou o VSA-100, chip que poderia ser utilizado em paralelo e na mesma placa, podendo ser interligados de 2 a 32 chips. A 3dfx ainda lançou duas linhas de GPUs, baseadas no mesmo núcleo, o VSA Essas linhas foram a Voodoo 4 e 5, a primeira era baseada em um único VSA-100, enquanto a segunda possuía dois desses chips em paralelo. Elas deveriam ter um nível pouco maior que o da TNT2, porém, os sucessivos atrasos (que foram cruciais na queda da empresa) abriram uma margem para a NVIDIA lançar uma resposta para a ainda nem lançada Voodoo 5, a Geforce 256. Quando a Voodoo 5 foi definitivamente lançada a Geforce 2 e a Radeon a deixaram para trás, afundando de vez a companhia que no fim de 2000 seria vendida para a NVIDIA. Nesta segunda geração muitas funcionalidades que antes eram feitas pela CPU passaram a ser feitas diretamente para o harware da GPU, principalmente as transformações geométricas, a saber, rotação, translação e escala e ainda, a aplicação de iluminação. Este fato tornou a velocidade de renderização ainda maior, e tirou muito peso de processamento da CPU, visto que os objetos e operações seriam apenas transportados para a GPU, que se encarregaria do cálculo pesado, e não mais a CPU. Figura Voodoo 3, um dos últimos sucessos da 3dfx

12 1.12. A terceira era das placas de vídeo: NVIDIA x ATI No fim de 1999 a NIVIDIA lançava a Geforce 256, a placa que marcou o fim da 3dfx. A Geforce 256 corrigia alguns erros da linha Riva, além de ser a 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. Em termos de desempenho, a Geforce 256 era melhor que todos os chips existentes e superava a linha Riva TNT2 Ultra por uma margem de no mínimo 50%. Figura Geforce 256, marco inicial da terceira era de placas gráficas A ATI Rage Fury MAXX conseguia bater a Geforce 256 com SDR, porém, a mesma com DDR era inalcançável. O único problema desse gigante do fim do século passado era o seu preço, que fazia com que ela só fosse acessível para poucos. A linha Quadro da NVIDIA, dedicada a estações de trabalho e servidores, também começou com a Geforce 256. Figura Placa de vídeo ATI Radeon 7000 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. A NVIDIA obviamente não ficou parada e lançou a Geforce 2 GTS, superando a ATI. Com a Geforce 2, a NVIDIA resolveu atacar vários segmentos do mercado, lançando versões de baixo custo e desempenho (linha Geforce 2 MX), versões custo/benefício (linha Geforce 2 TI) e versões de alto desempenho e preço (linha Geforce 2 GTS). Os modelos são os seguintes:

13 Geforce 2 MX: Era o chip entry level da linha. Para o corte de custos a NVIDIA tirou 2 pixel shaders e usou memórias SDR. Esse chip fez a alegria dos OEM, muito barato e com um bom desempenho 3D foi o maior sucesso da linha Geforce 2. Alem disso a NVIDIA vendeu vários modelos de Geforce 2 MX. Eles eram os seguintes: MX400: MX original (memórias de SDR 128bits) com um clock maior. MX200: Equipada com memórias SDR de 64bits de barramento. MX100: Equipada com memórias SDR de 32bits de barramento. GeForce 2 Ti: Era uma Geforce 2 GTS capada. Geforce 2 Pro: Um pouco mais rápida que a GTS devido a pequenas melhorias na arquitetura. Geforce 2 GTS: Chip High-end da família liderou por muito tempo esse segmento por parte da NVIDIA, até o lançamento da Ultra. Geforce 2 Ultra: A melhor das placas dessa linha, tinha um clock bastante alto, mais penava nos filtros. Uma das placas mais raras da história. A reação da ATI foi imediata: o chip R100 foi rebatizado comercialmente como Radeon 7200 para competir com a Geforce 2 TI, e 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, competindo com a Geforce 2 Ti. Introdução do Rv100 conhecido como Radeon 7000, foi concebido para disputar com a Geforce 2 MX. O único porem desse chip foi a retirada de muitos componentes em relação ao R100 (1 pixel shader e vários componentes desenvolvidos pela ATI), o que fez dele um perdedor em relação a Geforce MX. Introdução do Rv200, era basicamente um R100 feito em 150nm e com clocks maiores. Conseguia bater a Geforce 2 Ti e até incomodar a sucessora Geforce 3 Ti. Figura Placa de vídeo NVIDIA Geforce 2 GTS

14 Figura Placa de vídeo ATI Radeon 7200 É nesta geração que começa a ser possível implementar programar que executarão diretamente na GPU. Suportando apenas vertex shaders, ou seja programas que efetuam alguma transformação nos vértices dentro da GPU, após serem enviados pela CPU para renderização. Neste estágio, havia apenas um número bastante limitado de instruções possíveis de serem executadas e não havia suporte para números em ponto flutuante, apenas variáveis de ponto fixo eram possíveis [15]. Com os vertex shaders é possível operar sobre os vértices e informações associadas, tais como cores, normais, etc., dependendo do que a aplicação enviar. Dessa forma, as operações possíveis são: 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. Cada vértice é trabalhado isoladamente, sem conhecimento dos vértices restantes. Deve-se calcular, obrigatoriamente, uma posição resultante para o vértice. Cor e outros atributos são opcionais. Em placas mais recentes pode-se acessar texturas. Não havia, na verdade, uma linguagem de programação voltada para a GPU, para criar seus vertex shaders o programador deveria escrever programar diretamente na linguagem de montagem da GPU (assembly), o que complicava bastante o desenvolvimento. Apesar de limitado, começa-se a vislumbrar a GPU como hardware programável e, ainda, com características que a aproximaria de uma máquina vetorial ou de processamento paralelo A briga das gigantes NVIDIA e ATI e o início da programação em GPU Em fevereiro de 2001 a NVIDIA lançou a GeForce 3, que representou um grande salto para a indústria dos jogos não só pela performance que apresentava, mas sim pela nova proposta que trazia: a de possuir o primeiro GPU totalmente programável do mercado. Ela apresentava praticamente os mesmos clocks da GeForce 2 Ultra, mas com uma contagem de transistores mais de duas vezes maior, e ainda contava com suporte ao ainda novo DirectX 8. Infelizmente (para a NVIDIA) o DirectX 8 teve uma vida muito curta, sendo logo substituído pela versão 8.1, o que fez com que o produto da NVidia perdesse logo nos primeiros meses o suporte a tecnologia mais atual. Em menos de 6 meses a ATI respondeu lançando o modelo R200, batizado de Radeon 8500, que simplesmente superava a performance da GeForce 3 por uma margem

15 de até 20% e contava com um GPU programável totalmente compatível com DirectX 8.1. A ATI também lançou a 8500LE que era idêntica a Radeon 8500, porém com clocks menores. A arquitetura R200 original usava memórias DDR 64bits, mais tarde ambas as placas foram introduzidas com memórias DDR 128bits, o que rendeu a este grande chip mais desempenho. Figura Placas de vídeo NVIDIA Geforce 3 e ATI Radeon 8500 A NVIDIA tentou contra-atacar em 2002 com a nova linha Geforce 4, mas a versão de alto desempenho (Geforce 4 TI) não conseguiu cumprir seu objetivo, por ser menos potente do que a Radeon Enquanto isso, a linha de baixo custo da NVIDIA (Geforce 4 MX) foi um sucesso comercial por causa do seu preço baixo. A linha Geforce 4 foi concebida para destronar o R200, o que não conseguiu. Por isso uma nova revisão do chip (NV28) foi lançada. A Geforce 4 foi muito bem sucedida, tanto que o NV28 ganhava em desempenho da FX5600 e empatava com o fenômeno Radeon 9600, ou seja, era um belo chip para a época A virada da ATI Tendo um desempenho estupendo porem um custo benefício não muito bom com o R200, a ATI decide que chegara a hora de lançar outro chip, com uma maior variedade de modelos. O R300 vem ao mundo no fim de Ela era um chip completamente diferente do R200. As principais características do R300 eram o suporte ao Direct3D 9, litografia em 150nm refinada, dobro de transistores se comparado ao R200, 8 pixel shaders, 8 TMUs, 4 vertex shaders e um sistema de filtros bastante eficiente. O sistema de filtros do R300 era tão eficiente que ela chegava a ser 100% mais rápido que a Radeon 8500 sob filtros ativados. O R300 foi lançado sob os modelos: Radeon 9550, Radeon 9500, Radeon 9600, Radeon 9700 e Radeon Alem da serie Radeon 9000 o R300 também foi utilizados nas placas da geração seguinte: X300, X550 e X600. Esse chip era excelente e teve um dos maiores custo beneficio da história, tanto que a Radeon 9600 foi uma das melhores placas nesse quesito de todos os tempos. Além disso o sistema de refrigeração de toda a linha ocupava apenas um slot, o que era extraordinário. Com esse lançamento a ATI conseguiu uma grande façanha. Pela primeira vez na

16 Figura Placas da série ATI Radeon 9000 história do mercado de VGAs o melhor custo beneficio e o melhor chip eram da mesma empresa, 9600Pro e 9800XT, respectivamente. Querendo retomar o trono a NVIDIA lança a tão esperada serie FX e, infelizmente, ela foi um grande fiasco. Excetuando-se a FX5200, que apesar da baixíssima desempenho foi a placa de vídeo mais vendida da historia, toda a linha FX perdia para suas concorrentes diretas da ATI. As principais características no NV30 são: Litografia de 130nm, suporte a DDR, DDR2 e GDDR3. Figura Placa de vídeo NVIDIA Geforce FX 5200 Os modelos da série FX são os seguintes: 5200 (normal e Ultra) e 5300 para o mercado entry level, 5500 e 5600 (XT, normal, Ultra e Ultra Ver.2) para o mercado mid/low end, 5700 (VE, LE, normal e Ultra) e 5750 para o mercado mid-end, 5800 (normal e Ultra) pra o mercado high-end, 5900 (XT, normal e Ultra). Substitutas das 5800, 5950 Ultra (substituta da 5900 Ultra). A NVIDIA teve muitos atrasos com o NV30 e esse foi um dos principais motivos do seu fracasso, alem disso os driver não eram dos melhores. Mesmo com novas revisões, como o NV34, 35 e 36, os chips NVIDIA não eram muito competitivos. Pela primeira vez a rainha NVIDIA havia perdido uma batalha, mas a guerra continuaria e muito mais intensa. Esta pode ser considerada a quarta geração de GPU s, é onde deslancha verdadeiramente a programação em placas gráficas. Agora, já é possível para o programador

17 criar, além dos vertex shaders, fragment shader, que serão responsáveis por efetuar transformações nos pixels que serão desenhados na tela, podendo assim criar efeitos bastante ricos. Isso também se deve ao fato da expansão do número de instruções que era possível utilizar, como suporte a tipos de dados textura e a números de ponto flutuante de 32 bits. Os fragment shader (ou pixel shader) operam sobre os fragmentos que são produzidos pelo processo de rasterização. As operações que são possíveis de serem efetuadas num fragment shader são: 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. Da mesma forma que nos vertex shader, ao utilizar fragment shaders, a funcionalidade fixa da placa é substituída e não pode ser usada e, ainda, operam isoladamente em um único fragmento, sem qualquer informação sobre os fragmentos vizinhos. Nesta etapa, fragmentos podem ser descartados, no entanto, as coordenadas de um fragmento não podem ser modificadas. 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 fragment shader e continuar com a funcionalidade fixa da placa para o outro. Cada shader deve ser compilado e incorporado em um programa, o qual será linkado. Neste momento, começam a surgir linguagens para substituir o Assembly que outrora era usado. Os exemplos mais famosos são Cg, GLSL e HLSL. Cg (C for Graphics), que foi desenvolvido pela própria NVIDIA, é uma linguagem de alto nível para programação em GPU. Seu desenvolvimento foi baseado na linguagem de programação C, por isso os comandos são bastante parecidos. Figura Vertex Shader escrito em Cg Permite a programação de efeitos como reflexão/refração em tempo real, a integração com APIs gráficas, como OpenGL e Direct3D e a compilação dinâmica, ou seja, permite otimização de código para a placa em que vai rodar. Além disso, há a possibilidade de um código Cg rodar também em placas da ATI. Na figura 1.23 temos um pequeno exemplo de vertex shader escrito em Cg.

18 HLSL (High Level Shading Language) é uma linguagem proprietária desenvolvida pela Microsoft com suporte à sua API Direct 3D. É uma linguagem bastante parecida com Cg por ter sido desenvolvida junto com ela, no entanto, como era de se esperar, não é compatível com o padrão aberto OpenGL [3]. Do outro lado, temos GLSL (OpenGL Shading Language), linguagem aberta pertencente à série de especificações OpenGL [4]. As grandes vantagens de GLSL ser totalmente integrada com o OpenGL são [2, 6, 10]: compatibilidade com diferentes plataformas, incluind Windows, Linux e Mac OS; os shaders feitos em GLSL podem ser executados em qualquer hardware com suporte a OpenGL; a grande 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. Na figura 1.24 temos dois exemplos de vertex e fragment shader feitos em GLSL, respectivamente. Figura Vertex shader e fragment shader escritos em GLSL A retomada a NVIDIA Das diversas variantes da GeForce FX que foram lançadas, nenhuma conseguia competir com a ATI até o lançamento da GeForce FX 5950 Ultra, um produto realmente poderoso, que conta com taxa de preenchimento significativamente superior a da 9800PRO e ainda com vazão de memória quase 50% maior, mas que teve seu brilho ofuscado por ter que concorrer com um produto ainda mais eficiente, o modelo Radeon 9800XT. Movida pelo embalo de sua geração atual, a ATI resolveu continuar apostando no Direct3D 9 em sua nova linha de placas de vídeo. Em 2004, o R420 foi usado para equipar as placas de vídeo da linha Radeon X700, X800 e X850. A aposta no Direct3D 9 no inicio se mostrou acertada, porém, após alguns meses percebeu-se a tendência do marcado em migrar para o Direct3D 9.0c que vinha com o shader model 3.0. Com isso a ATI perdeu muito mercado para a recém lançada serie 6 da NVIDIA. A placa mais poderosa dessa geração foi a X850XT PE, porém no segmento midend o velho R300 era utilizado e ele não foi o bastante para competir com a 6600GT. O R420 foi lançado sob esses modelos: X700 (normal, Pro e XT - Substitutas da X600 para o mercado mid-end), X800 (SE, GT, GTO, normal e GTO2, GTO-16, Pro, XL, XT e XT PE - para os mercados mid e high-end), X850 (Pro, XT e XT PE - substitutas das suas respectivas X800 para o mercado high-end). A NVIDIA, que vinha do erro chamado FX lançou uma série que não prometia muito, mas que no fim, foi uma das mais bem sucedidas da história, a Serie 6. 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.

19 Figura Placa de vídeo ATI Radeon x850 XT PT As suas principais características são: Primeiro chip com suporte a SLI, Primeiro chip com suporte a processamento de vídeo, Processo de construção de 130nm e de 110nm (para a 6600GT), 16 pixel shaders e 6 vertex shaders Empate das gigantes No ano seguinte, a ATI se rende ao Direct3D 9.0c com a linha Radeon X1XXX. A NVI- DIA, para não ficar para trás, lançou a série Geforce 7XXX com suporte melhorado ao mesmo Direct3D 9.0c. Esta geração foi marcada pro preços bem elevados das placas de vídeo, mas pouca diferença de desempenho, exceto pela Radeon X1950 XTX, que perdia apenas para a Geforce 7950GX2 (que utilizava duas placas de vídeo ligadas em modo SLI). Os modelos da ATI eram: X1300 (normal, Pro e XT) e X1550 (SE e normal) para o mercado entry level, X1600 (Pro e XT) e X1650 (normal, Pro, GT e XT) para o mercado mid-end, X1800 (GTO, GTO Ver.2, XL, e XT) para os mercados mid e high end, X1900 (GT, GT Rev.2, XT, XTX) destinadas ao mercado high-end, X1950 (GT, Pro, XT e XTX) substitutas das suas variantes X1900. No quesito entry level e mid-end essa serie não foi muito boa, porém no quesito high-end ela foi estupenda. A X1950 XTX foi a melhor placa dessa geração, sendo ul- Figura Placa de vídeo NVIDIA Geforce 6600 GT

20 Figura Placa de vídeo ATI Radeon X1950 XTX trapassada apenas pelas 7950GX2, uma placa com duas 7950GT em SLI. Aqui a ATI não pode competir no mercado mid-end com a NVIDIA, tendo que lançar uma X1800 dedicada a esse mercado. A série 7 da NVIDIA possuía um desempenho em Direct3D 9.0c melhorado em relação a serie 6. A serie 7 foi uma boa linha para a NVIDIA, porém em todos os quesitos ficou praticamente empatada com a serie X1000 da rival ATI. Ela foi lançada sob os seguintes modelos: 7300 (LE, GS e GT), 7600 (GS e GT), 7800 (GS, GT e GTX), 7900 (GS, GT, GTO, GTX e GX2), 7950 (GT e GX2). Figura Placa de vídeo NVIDIA Geforce 7950 GX Inércia na ATI Os dois pontos fracos desta geração da NVIDIA foram o altíssimo custo das placas de alto desempenho (até US$ 700,00 por uma Geforce 8800 Ultra!) e as melhorias muito modestas das outras placas, se comparadas com as gerações anteriores. No fim de 2006 a NVIDIA, cansada de empates, lançou a serie 8 [8], a primeira a possuir os shaders unificados: não haveria mais diferenciação entre elementos processadores de vértices ou de fragmentos, as mesmas unidades genéricas serviriam para as duas coisas. Nessa série também foi introduzido um novo estágio programável, o geometry shader, que permite ao programador criar seus próprios métodos de processamento de geometria [7]. Os geometry shaders operam sobre primitivas, com ou sem informações sobre adjacências. As operações possíveis de serem efetuadas são: amplificação de geometria,

21 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) [9]. Assim como os outros shaders, ao utilizar geometry shaders, a funcionalidade fixa da placa é substituída e não pode ser usada. 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-tovertex-array) e, ao invés de gerar imagens no fim da renderização, serão gerados vetores que podem ser usados em novos cálculos na CPU ou na própria GPU. Com todo esse poder de programação, começou-se a pensar em programação genérica dentro da GPU, ou seja, não usar mais a GPU apenas para desenhar gráficos na tela, mas também para programas de propósito geral. Dessa forma, foram criadas linguagens específicas para a chamada GPGPU (General Purpose computation on Graphics Processing Unit), tais como Sh e Brook [14, 5, 1]. A principal linguagem, já projetada pensando em GPGPU e feita pela própria NVIDIA, chama-se CUDA (Computer Unified Device Architecture). Na figura 1.29 temos um exemplo de código CUDA. Figura Exemplo de código CUDA A arquitetura CUDA inclui ferramentas de desenvolvimento em C/C++, bibliotecas de funções e um 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 [11]. A serie 8 da NVIDIA foi lançada sob os seguintes modelos: 8400GS e 8500GT para o mercado entry level, 8600 (GT e GTS) para o mercado mid-end, 8800 (GS, GT, GTS 320 e 640, GTX, GTS (G92) e Ultra) para o mercado high-end. A revisão G92 foi concebida no fim de 2007 para ocupar a lacuna entre a 8600GTS e a 8800GTS 320, mas o que se viu foi o contrario, 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. No ano seguinte, a empresa resolveu lançar uma revisão do chip G80 para o mercado de usuários comuns, mas os engenheiros da NVIDIA fizeram um trabalho tão bom no chip G92 que todas as placas lançadas com base nele eram melhores que suas rivais

22 Figura Placa de vídeo NVIDIA Geforce 8800 Ultra com o chip G Comprada pela AMD, ATI volta a briga Em 2007, a ATI fez uma revisão no chip R600, e lançou a Rv670, que consumia menos energia e era muito mais barata do que a R600. O resultado foi tão bom, que ela foi 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 de vídeo, e com isso o consumidor comum teve acesso a placas de vídeo muito poderosas. Figura Placa de vídeo ATI Radeon HD 3870 Antes de lançar novas tecnologias, a NVIDIA resolveu aumentar a produção de chips G92 e lançar uma versão do mesmo com menos recursos (G94) para atacar a ATI no mercado de placas de vídeo baratas. A Geforce 9600GT (chip G94) foi lançada e fez muito sucesso por ser barata e ter 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 placas de vídeo Antes de lançar novas tecnologias, a ATI resolveu fazer pequenas melhorias no chip Rv670 para permitir que mais de um processador pudesse ser utilizado em uma única placa de vídeo. Como resultado, a Radeon HD3870X2 foi a placa de vídeo mais potente do mercado. Mas isso durou dois meses, pois a NVIDIA contra-atacou com a Geforce 9800GX2, utilizando o conceito de duas placas de vídeo em uma.

23 Figura Placa de vídeo NVIDIA Geforce 9600 GT Figura Placas de vídeo ATI Radeon HD 3870X2 e NVIDIA Geforce 9800 GX2 Em 2008, a NVIDIA e a ATI finalmente lançaram seus novos chips: o GT200 e Rv770. O GT200 já nasceu com problemas, pois consumia muita energia sem ter uma potência que justificasse estes gastos. A ATI, por outro lado, lançou o Rv700 (Radeon HD 4850/Radeon HD 4870) alguns meses depois, sendo um sucesso de público e crítica. Figura Placa de vídeo ATI Radeon HD 4870 Desta vez, foi a NVIDIA que se viu obrigada a baixar o preço de suas placas para permanecer competitiva, mas nem isso foi capaz de tomar a coroa da ATI no mercado de placas de alto desempenho e de custo/benefício. Em compensação, no atual mercado de baixo custo, a NVIDIA ainda é líder devido à demora da ATI em lançar novos modelos para esta lucrativa fatia. Temos os modelos Radeon HD4650/4670 enfrentando as Geforce 9500GT/9600GSO, mas ainda não há

24 rival direto para a 9800GT. Figura Placa de vídeo NVIDIA Geforce GTX E o futuro... A cada ano a ATI e NVIDIA se degladiam para ter a melhor placa de vídeo do mercado, e no final o consumidor ganha com isso, pois as placas de vídeo se tornam cada vez mais potentes e mais baratas e, além disso, trazem novas ferramentas para programadores utilizarem o alto potencial de cálculos em paralelo utilizarem toda a velocidade das GPU s em suas aplicações, principalmente em programação genérica atualmente. Nota-se uma convergência, as CPU s cada vez possuem mais núcleos, atualmente, processadores como o Intel Core i7 possuem 8 núcleos e a tendência é que esse número aumente cada vez mais, tornando-se assim também máquinas paralelas, coisa que as GPU já são há muito tempo. Pode-se, então, imaginar um futuro onde não haja mais distinção entre CPU e GPU, os dois farão parte do mesmo componente altamente paralelizável que, ao mesmo tempo, se encarregará do processamento central do computador e do processamento gráfico, muito provavelmente com técnicas de renderização que hoje são muito custosas, como Ray-Tracing, em tempo real. Referências [1] PHARR, Matt. Programming Techniques for High-Performance Graphics and General-Purpose Computation. GPUGems2. Addison-Wesley Professional, 2005 [2] LENGYEL, Eric. The OpenGL Extensions Guide. Charles River Media (Graphics Series) [3] HAWKINS, Kevin and ASTLE, Dave. Beginning OpenGL Game Programming. Premier Press [4] ROST, Randi J. OpenGL Shading Language. Addison Wesley [5] SIGGRAPH 2007 GPGPU COURSE. Disponível por www em: Acesso em 15 de setembro de [6] FERNANDO, Randima and PHARR, Matt. GPU Gems 2 Addison Wesley [7] Nguyen, Hubert. GPU Gems 3 Addison Wesley

25 [8] NVIDIA. GPU Programming Guide Geforce 8 and 9 Series NVIDIA Corporation [9] OPPELSTRUP, Tomas. Introduction to GPU programming for PDC summer school [10] GLSL Tutorial. Disponível por www em: Acesso em 15 de setembro de [11] NVIDIA Developer Zone. Disponível por www em: Acesso em 15 de setembro de [12] NeHe Productions. Disponível por www em: Acesso em 15 de setembro de [13] Graphics Hardware Disponível por www em: Acesso em 15 de setembro de [14] GODDEKE, Dominik. GPGPU Tutorials. Disponível por www em: goeddeke/gpgpu/index.html Acesso em 15 de setembro de [15] Multicore and GPU programming for Video Games. Disponível por www em: lanterma/mpg/ Acesso em 15 de setembro de [16] Galeria: Evolução das Placas de Vídeo. Disponível por www em: Acesso em 11 de outubro de [17] História das Placas de Vídeo. Disponível por www em: Acesso em 11 de outubro de [18] A evolução das placas de vídeo. Disponível por www em: Acesso em 11 de outubro de [19] GPU Cheatsheet - A History of Modern Consumer Graphics Processors. Disponível por www em: Acesso em 11 de outubro de [20] 7 Years of Graphics. Disponível por www em: Acesso em 11 de outubro de [21] From Voodoo to Geforce: The Awesome History of 3D Graphics. Disponível por www em: Acesso em 11 de outubro de [22] RIBEIRO, Celso Carneiro; RODRIGUEZ, Noemi de la Rocque Otimização e Processamento Paralelo de Alto Desempenho. Revista PUC Ciência, dezembro 1999,

Bruno Pereira Evangelista. www.brunoevangelista.com

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

Leia mais

CPU Unidade Central de Processamento. História e progresso

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,

Leia mais

Tecnologia PCI express. Introdução. Tecnologia PCI Express

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

Leia mais

Programação em GPU: Passado, Presente e Futuro

Programação em GPU: Passado, Presente e Futuro 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

Leia mais

Contil Informática. Curso Técnico em Informática Processadores Core

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

Leia mais

Placas de Vídeo. Prof. Alexandre Beletti Ferreira

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

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

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

Leia mais

Capítulo 5. Figura 5.2. Conector para o monitor.

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

Leia mais

Introdução. Em se tratando de computador, entendemos que memória são dispositivos que armazenam dados com os quais o processador trabalha.

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

Leia mais

CONHEÇA MELHOR SEU COMPUTADOR

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

Leia mais

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.

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

Leia mais

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

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

Leia mais

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 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

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

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 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.

Leia mais

Processadores. Guilherme Pontes

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

Leia mais

LICENCIATURA EM COMPUTAÇÃO PROCESSADOR TEGRA 2

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

Leia mais

1. CAPÍTULO COMPUTADORES

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

Leia mais

Placa de vídeo em CUDA

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

Leia mais

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD.

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

Leia mais

Montagem e Manutenção. Luís Guilherme A. Pontes

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

Leia mais

Fundamentos da Informática. História dos Computadores Prof. Hélder Almeida www.helderalmeida.com.br

Fundamentos da Informática. História dos Computadores Prof. Hélder Almeida www.helderalmeida.com.br Fundamentos da Informática História dos Computadores Prof. Hélder Almeida www.helderalmeida.com.br História da Computação Hoje em dia, os computadores estão presentes em nossa vida de uma forma nunca vista

Leia mais

29/3/2011. Primeira unidade de execução (pipe U): unidade de processamento completa, capaz de processar qualquer instrução;

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

Leia mais

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 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

Leia mais

Fundamentos de Hardware

Fundamentos de Hardware Fundamentos de Hardware Curso Técnico em Informática SUMÁRIO PLACAS DE EXPANSÃO... 3 PLACAS DE VÍDEO... 3 Conectores de Vídeo... 4 PLACAS DE SOM... 6 Canais de Áudio... 7 Resolução das Placas de Som...

Leia mais

INTRODUÇÃO BARRAMENTO PCI EXPRESS.

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,

Leia mais

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 20

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 20 Sumário: Os subsistemas vídeo. A RAM vídeo. Aula Teórica 20 Leitura Recomendada: Capítulo 37 - Hans-Peter Messmer, The Indispensable PC Hardware Book, Addison-Wesley. Capítulos 4 e 11 - Peter Norton, Peter

Leia mais

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é

Leia mais

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. 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 lasf.bel@gmail.com 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

Leia mais

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 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

Leia mais

Prof. Daniel Gondim danielgondimm@gmail.com. Informática

Prof. Daniel Gondim danielgondimm@gmail.com. Informática Prof. Daniel Gondim danielgondimm@gmail.com Informática Componentes de um SC Barramento Também conhecido como BUS É um conjunto de linhas de comunicação que permitem a interligação entre dispositivos,

Leia mais

Aula 04 A. Barramentos. Prof. Ricardo Palma

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

Leia mais

Utilização. de Shaders de efeitos realistas para jogos. Bruno Pereira Evangelista. Pontifícia Universidade Católica de Minas Gerais

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

Leia mais

TRABALHO COM GRANDES MONTAGENS

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

Leia mais

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

Leia mais

Serial Paralela USB FireWire(IEEE1394)

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

Leia mais

Sistemas Computacionais II Professor Frederico Sauer

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

Leia mais

FUNDAMENTOS DE HARDWARE CD-ROM. Professor Carlos Muniz

FUNDAMENTOS DE HARDWARE CD-ROM. Professor Carlos Muniz FUNDAMENTOS DE HARDWARE CD-Rom Até pouco tempo atrás, as opções mais viáveis para escutar música eram os discos de vinil e as fitas cassete. Porém, a Philips, em associação com outras empresas, desenvolveu

Leia mais

Prof. Esp. Lucas Cruz

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

Leia mais

Arquitetura de Computadores Arquitetura de entrada e saída

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.

Leia mais

ESTUDO DE CASO WINDOWS VISTA

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

Leia mais

Tecnologia AMD agregando valor

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

Leia mais

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

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

Leia mais

Hardware de Computadores

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,

Leia mais

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 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

Leia mais

Fundamentos de Hardware

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

Leia mais

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. 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);

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

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

Leia mais

Barramentos - BUS. Professor Especialista: Airton Ribeiro de Sousa

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

Leia mais

Thunder Pro II Gold Edition Manual de operações v 8.7 Rev:b

Thunder Pro II Gold Edition Manual de operações v 8.7 Rev:b Thunder Pro II Gold Edition Manual de operações v 8.7 Rev:b Este manual foi escrito exclusivamente para o chip Thunder Pro II Gold e será atualizado juntamente com as atualizações do chip, portanto acesse

Leia mais

Informática, Internet e Multimídia

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),

Leia mais

Gráficos e Físicos em Plataforma para Jogos

Gráficos e Físicos em Plataforma para Jogos Universidade Federal Fluminense Processadores Gráficos e Físicos em Plataforma para Jogos Grupo 7: Arthur Figueiredo Diego Knopp Lucas S. Silva Yuri Freire GPU: Início dos anos 80: As atuais GPUs são advindas

Leia mais

Curso de Instalação e Gestão de Redes Informáticas

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

Leia mais

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

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

Leia mais

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.

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

Leia mais

AULA 1. Informática Básica. Gustavo Leitão. gustavo.leitao@ifrn.edu.br. Disciplina: Professor: Email:

AULA 1. Informática Básica. Gustavo Leitão. gustavo.leitao@ifrn.edu.br. Disciplina: Professor: Email: AULA 1 Disciplina: Informática Básica Professor: Gustavo Leitão Email: gustavo.leitao@ifrn.edu.br Estudo de caso Empresa do ramo de seguros Presidência RH Financeiro Vendas e Marketing TI CRM Riscos Introdução

Leia mais

O que é RAID? Tipos de RAID:

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

Leia mais

Trabalho de: Alexandre / Paulo / Rui

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

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

Serial ATA (SATA - Serial Advanced Technology Attachment)

Serial ATA (SATA - Serial Advanced Technology Attachment) Serial ATA (SATA - Serial Advanced Technology Attachment) Introdução Os computadores são constituídos por uma série de tecnologias que atuam em conjunto. Processadores, memórias, chips gráficos, entre

Leia mais

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO APRESENTAÇÃO SOBRE O TEMA: GUERRA COMERCIAL DA INFORMÁTICA VITÓRIA ES

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO APRESENTAÇÃO SOBRE O TEMA: GUERRA COMERCIAL DA INFORMÁTICA VITÓRIA ES UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO APRESENTAÇÃO SOBRE O TEMA: GUERRA COMERCIAL DA INFORMÁTICA VITÓRIA ES UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO APRESENTAÇÃO SOBRE O TEMA: GUERRA COMERCIAL DA INFORMÁTICA

Leia mais

Superioridade do Linux sobre Windows no quesito segurança

Superioridade do Linux sobre Windows no quesito segurança OFICINA DE LÍNGUA PORTUGUESA LEITURA E PRODUÇÃO DE TEXTOS (UNI 003) UFMG ICEX CIÊNCIA DA COMPUTAÇÃO 2º SEMESTRE 2010 Superioridade do Linux sobre Windows no quesito segurança Thiago de Freitas Faria Lucas

Leia mais

Infra-Estrutura de Hardware

Infra-Estrutura de Hardware Infra-Estrutura de Hardware P r o f. W i l t o n O. F e r r e i r a U n i v e r s i d a d e F e d e r a l R u r a l d e P e r n a m b u c o U F R P E 1 º S e m e s t r e / 2 0 1 2 Conteúdo da aula Hardware

Leia mais

Introdução a Ciência da Computação Conceitos Básicos de Sistema PROFESSORA CINTIA CAETANO

Introdução a Ciência da Computação Conceitos Básicos de Sistema PROFESSORA CINTIA CAETANO Introdução a Ciência da Computação Conceitos Básicos de Sistema PROFESSORA CINTIA CAETANO Introdução A informática é uma área que atualmente vem evoluindo muito rapidamente. A cada dia se torna mais importante

Leia mais

A Intel e a AMD são os mais conhecidos fabricantes de processadores ambos tiveram a sua evolução em termos de fabrico de processadores

A Intel e a AMD são os mais conhecidos fabricantes de processadores ambos tiveram a sua evolução em termos de fabrico de processadores A Intel e a AMD são os mais conhecidos fabricantes de processadores ambos tiveram a sua evolução em termos de fabrico de processadores De seguida mencionamos a evolução de ambos os fabricantes Intel 8086

Leia mais

Sistemas Computacionais

Sistemas Computacionais 2 Introdução Barramentos são, basicamente, um conjunto de sinais digitais com os quais o processador comunica-se com o seu exterior, ou seja, com a memória, chips da placa-mãe, periféricos, etc. Há vários

Leia mais

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais

VIRTUALIZAÇÃO CONVENCIONAL

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

Leia mais

Sistema de Computação

Sistema de Computação Sistema de Computação Máquinas multinível Nível 0 verdadeiro hardware da máquina, executando os programas em linguagem de máquina de nível 1 (portas lógicas); Nível 1 Composto por registrados e pela ALU

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

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

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton

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

Leia mais

Técnicas de Manutenção de Computadores

Técnicas de Manutenção de Computadores Técnicas de Manutenção de Computadores Professor: Luiz Claudio Ferreira de Souza Processadores É indispensável em qualquer computador, tem a função de gerenciamento, controlando todas as informações de

Leia mais

Componentes de um Sistema de Computador

Componentes de um Sistema de Computador Componentes de um Sistema de Computador HARDWARE: unidade responsável pelo processamento dos dados, ou seja, o equipamento (parte física) SOFTWARE: Instruções que dizem o que o computador deve fazer (parte

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 3.1 EXECUÇÃO DAS INSTRUÇÕES A UCP tem duas seções: Unidade de Controle Unidade Lógica e Aritmética Um programa se caracteriza por: uma série de instruções

Leia mais

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

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

Leia mais

A era dos múltiplos núcleos chegou para ficar e com ela surgiram muitas dúvidas. Conheça hoje os detalhes dos novos processadores da Intel.

A era dos múltiplos núcleos chegou para ficar e com ela surgiram muitas dúvidas. Conheça hoje os detalhes dos novos processadores da Intel. Imprimir Quais as diferenças entre os processadores Intel Core i3, i5 e i7? Por Fabio Jordão Fonte: www.baixaki.com.br/info/3904-quais-as-diferencas-entre-os-processadores-intel-core-i3-i5-e-i7-.htm Quinta-Feira

Leia mais

Itinerários de Ônibus Relatório Final

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...

Leia mais

Arquitetura de processadores: RISC e CISC

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

Leia mais

A Evolução dos Sistemas Operacionais

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

Leia mais

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I Guilherme Pina Cardim Relatório de Sistemas Operacionais I Presidente Prudente - SP, Brasil 30 de junho de 2010 Guilherme Pina Cardim Relatório de Sistemas Operacionais I Pesquisa para descobrir as diferenças

Leia mais

Curso de Instalação e Gestão de Redes Informáticas

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 LIGADORES DE VIDEO: VGA, DVI, S-VIDEO E COMPONENTE VIDEO José Vitor Nogueira Santos FT2-0749 Mealhada, 2009 Introdução

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

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

Leia mais

Aula 04 B. Interfaces. Prof. Ricardo Palma

Aula 04 B. Interfaces. Prof. Ricardo Palma Aula 04 B Interfaces Prof. Ricardo Palma Interface SCSI SCSI é a sigla de Small Computer System Interface. A tecnologia SCSI (pronuncia-se "scuzzy") permite que você conecte uma larga gama de periféricos,

Leia mais

Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET

Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Hardware de Computadores Questionário II 1. A principal diferença entre dois processadores, um deles equipado com memória cache o

Leia mais

O quê um Processador e qual a sua função?

O quê um Processador e qual a sua função? O quê um Processador e qual a sua função? O processador é um chip de silício responsável pela execução das tarefas atribuídas ao computador. Os processadores (ou CPUs, de Central Processing Unit) são responsáveis

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

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

Leia mais

Capítulo 1 Introdução

Capítulo 1 Introdução Capítulo 1 Introdução Programa: Seqüência de instruções descrevendo como executar uma determinada tarefa. Computador: Conjunto do hardware + Software Os circuitos eletrônicos de um determinado computador

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Aula 26: Arquiteturas RISC vs. CISC

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

Leia mais

EVOLUÇÃO DOS SIST. DE COMPUTAÇÃO DÉC. DE 50 E 60

EVOLUÇÃO DOS SIST. DE COMPUTAÇÃO DÉC. DE 50 E 60 INTRODUÇÃO REDES EVOLUÇÃO DOS SIST. DE COMPUTAÇÃO DÉC. DE 50 E 60 Computadores eram máquinas grandes e complexas, operadas por pessoas altamente especializadas; Não havia interação direta entre usuários

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

Computadores de Programação (MAB353)

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

Leia mais

Figura 1 - O computador

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...

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização Básica B de (Parte V, Complementar)

Leia mais

R S Q 0 0 1 0 1 0 1 0 0 1 1 0 Tabela 17 - Tabela verdade NOR

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

Leia mais

FACULDADE PITÁGORAS PRONATEC

FACULDADE PITÁGORAS PRONATEC FACULDADE PITÁGORAS PRONATEC DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br Objetivos Ao final desta apostila,

Leia mais

Comparativo de desempenho do Pervasive PSQL v11

Comparativo de desempenho do Pervasive PSQL v11 Comparativo de desempenho do Pervasive PSQL v11 Um artigo Pervasive PSQL Setembro de 2010 Conteúdo Resumo executivo... 3 O impacto das novas arquiteturas de hardware nos aplicativos... 3 O projeto do Pervasive

Leia mais

Processadores. Prof. Alexandre Beletti Ferreira

Processadores. Prof. Alexandre Beletti Ferreira Processadores Prof. Alexandre Beletti Ferreira Introdução O processador é um circuito integrado de controle das funções de cálculos e tomadas de decisão de um computador. Também é chamado de cérebro do

Leia mais

FUNDAMENTOS DE HARDWARE PROCESSADORES. Professor Carlos Muniz

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,

Leia mais

Unidade 13: Paralelismo:

Unidade 13: Paralelismo: Arquitetura e Organização de Computadores 1 Unidade 13: Paralelismo: SMP e Processamento Vetorial Prof. Daniel Caetano Objetivo: Apresentar os conceitos fundamentais da arquitetura SMP e alguns detalhes

Leia mais