cartes graphiques l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Cartes Graphiques PowerPoint Presentation
Download Presentation
Cartes Graphiques

Loading in 2 Seconds...

play fullscreen
1 / 60

Cartes Graphiques - PowerPoint PPT Presentation


  • 255 Views
  • Uploaded on

Cartes Graphiques. Plan. Historiques et modes graphiques Architecture-évolution des composants RAMDAC (CRT/DVI) Bus Mémoire Accélérateur graphique/GPU Vertex Shader Pixel Shader. Plan. Historiques et modes graphiques Architecture-évolution des composants RAMDAC (CRT/DVI) Bus Mémoire

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Cartes Graphiques' - libitha


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide2
Plan
  • Historiques et modes graphiques
  • Architecture-évolution des composants
    • RAMDAC (CRT/DVI)
    • Bus
    • Mémoire
    • Accélérateur graphique/GPU
      • Vertex Shader
      • Pixel Shader
slide3
Plan
  • Historiques et modes graphiques
  • Architecture-évolution des composants
    • RAMDAC (CRT/DVI)
    • Bus
    • Mémoire
    • Accélérateur graphique/GPU
      • Vertex Shader
      • Pixel Shader
historique modes graphiques
Historique/modes graphiques
  • 1ère carte graphique:
    • Par IBM en 1981
    • MDAs: Monochrome Display Adapters
    • Mode texte uniquement 80x25 caractères à 50Hz
    • Port imprimante
  • HGC
  • CGA
  • EGA
  • VGA
  • SVGA
  • XGA, SXGA, UXGA et autres
historique modes graphiques5
Historique/modes graphiques
  • MDAs
  • HGC:
    • Par Hercules (fondée en 1982)
    • Hercules Graphics Card (compatible MDAs)
    • Mode graphique monochrome 720x348
  • CGA
  • EGA
  • VGA
  • SVGA
  • XGA, SXGA, UXGA et autres
historique modes graphiques6
Historique/modes graphiques
  • MDAs
  • HGC
  • CGA (contre attaque d’IBM):
    • Mode Graphique Couleur 320x200x4
    • Essentiellement jeux vidéos
    • Manque de résolution pour bureautique
  • EGA
  • VGA
  • SVGA
  • XGA, SXGA, UXGA et autres
historique modes graphiques7
Historique/modes graphiques
  • MDAs
  • HGC
  • CGA
  • EGA (Enhanced Graphics Adapter):
    • Par IBM en 1984
    • Résolution max: 640x350x16 couleurs
    • Palette de 64 couleurs
    • Fréquence de 60Hz
  • VGA
  • SVGA
  • XGA, SXGA, UXGA et autres
historique modes graphiques8
Historique/modes graphiques
  • MDAs
  • HGC
  • CGA
  • EGA
  • VGA (Video Graphic Array):
    • Par IBM en 1987
    • Résolution 640x480x16 – 320x200x256
    • Palette de 262.144 couleurs (6 bits)
    • 1er standard vidéo à fonctionner en analogique
  • SVGA
  • XGA, SXGA, UXGA et autres
historique modes graphiques9
Historique/modes graphiques
  • MDAs
  • HGC
  • CGA
  • EGA
  • Amélioration du VGA par IBM:
    • 8514/A (1987):1024x768x256 43.5Hz entrelacé640x480 60Hz non-entrelacé
  • SVGA
  • XGA, SXGA, UXGA et autres
historique modes graphiques10
Historique/modes graphiques
  • MDAs
  • HGC
  • CGA
  • EGA
  • Amélioration du VGA par IBM:
    • XGA (eXtended Graphics Array):Introduit en 1990, successeur du 8514/A512Kb/1Mb VRAM 1024x768x256 – 640x480x16bits
  • SVGA
  • XGA, SXGA, UXGA et autres
historique modes graphiques11
Historique/modes graphiques
  • MDAs
  • HGC
  • CGA
  • EGA
  • Amélioration du VGA par IBM:
    • XGA2: XGA avec fréquence plus élevées1024x768x16bits800x600x24bits
  • SVGA
  • XGA, SXGA, UXGA et autres
historique modes graphiques12
Historique/modes graphiques
  • MDAs
  • HGC
  • CGA
  • EGA
  • VGA
  • SVGA (SuperVGA):
    • Basé sur le VGA avec spécif du constructeur
    • Reconnu standard du mode 800x600
    • ‘Video Electronics Standards Association’ propose une interface logiciel standard : le VESA SVGAou VESA BIOS Extension (VBE)
  • SXGA, UXGA et autres
historique modes graphiques13
Historique/modes graphiques
  • MDAs
  • HGC
  • CGA
  • EGA
  • VGA
  • SVGA
  • SXGA, UXGA…
    • UVGA (UltraVGA) et XGA: standard 1024x768
    • SXGA (SuperXGA): standard 1280x1024
    • UXGA (UltraXGA): standard 1600x1200
slide14
Plan
  • Historiques et modes graphiques
  • Architecture-évolution des composants
    • RAMDAC (CRT/DVI)
    • Bus
    • Mémoire
    • Accélérateur graphique/GPU
      • Vertex Shader
      • Pixel Shader
architecture
Architecture
  • RAMDAC (CRT vs DVI)
  • Bus
  • Mémoire
  • Accélérateur Graphique (2D)/GPU (3D)

BUS

Accélérateur Graphique

GPU

Mémoire centrale

Mémoire vidéo

DVI

RAMDAC

CRT

architecture16
Architecture

BUS

Accélérateur Graphique

GPU

Mémoire centrale

Mémoire vidéo

DVI

RAMDAC

CRT

  • RAMDAC (CRT vs DVI)
  • Bus
  • Mémoire
  • Accélérateur Graphique (2D)/GPU (3D)
architecture ramdac
Architecture - RAMDAC
  • « Random Access Memory Digital to Analogic Converter »
  • Numérique -> Signal analogiquepour périphérique CRT(Cathotique Ray Tube)
  • Fréquence interne liée à la fréquence de rafraîchissement du moniteur
  • Accès à la mémoire vidéo (« framebuffer »)
architecture ramdac18
Architecture - RAMDAC

Du « framebuffer » au RAMDAC:

Le RAMDAC peut recevoir les formats suivants:

  • «True Color»: 1 octet/composante => 24bits
  • «HiColor»: 5bits (rouge et bleu)-6bits (vert) =>16 bits (65536 couleurs)ou 5 bits/composante => 15 bits soit 2 octets (32768 couleurs)
  • RGBA: «True Color» avec canal Alpha (32 bits)
  • Fausses Couleurs: Indexation d’une palette de couleur (24bits/couleur) => envoi des couleurs indexées
architecture ramdac19
Architecture - RAMDAC
  • Persistance rétinienne => rémanence visuelle => effet d’animation (25Hz – 30Hz)
  • Fréquence de rafraîchissement de l’image au minimum 50Hz (entrelacé*)Confort des yeux à fréquence >= 72Hz

=> Fréquence interne élevé (en Mhz)

=> Accès mémoire très fréquent

*: Affichage des lignes paires puis impaires

architecture ramdac20
Architecture - RAMDAC

Calcul théorique de la fréquence interne:

  • Taille de l’écran: largeur x hauteur
  • Fréquence visuelle (ex: 75Hz): freq

Freq. interne=largeur x hauteur x freq x 1.32

Raison du facteur 1.32:

Canon à électron perd ~32% du temps pour les déplacements horizontaux et verticaux

architecture ramdac21
Architecture - RAMDAC
  • Exemples:
    • ATI Radeon 9800: Bi-RAMDAC 400Mhz
      • 1600x1200 -> 120Hz (pas de 160 Hz !!)
      • 2048x1536 -> 85Hz (pas de 90 Hz !!)
    • nVidia GeForce FX 5900: Bi-RAMDAC 400Mhz
      • 2048x1536 -> 85Hz (pas de 90 Hz!!)
    • Pour assurer une résolution 1600x1200 à 85Hz,il faut un RAMDAC d’au moins: 1600x1200x85x1.32 Hz = 205 Mhz
  • Problème actuel: Limitation du moniteur !!
architecture ramdac22
Architecture - RAMDAC
  • DVI (Digital Video Interface)
    • Specif. par ‘Digital Display Working Group’(DDWG)
    • Accomodation pour périph. digital ET analogique
    • 3 normes:
      • DVI-A: signaux analogiques en sortie
      • DVI-D: signaux digitaux en sortie
      • DVI-I (‘Integrated’): fait pour les 2 types de sortie
  • DVI-D & DVI-I: périph. digital (écran plat…) => Pas de RAMDAC !
architecture23
Architecture

BUS

Accélérateur Graphique

GPU

Mémoire centrale

Mémoire vidéo

DVI

RAMDAC

CRT

  • RAMDAC (CRT vs DVI)
  • Bus
  • Mémoire
  • Accélérateur Graphique (2D)/GPU (3D)
architecture bus
Architecture - Bus
  • ISA (Industry Standard Architecture ):
    • 1981: 8bits à 4.7Mhz (sur les 8086)
    • 80286 (1984) => 16bits 6Mhz (puis 8Mhz)
    • Débit max de 5.5Mo/s
    • Goulet d’étranglement dès l’arrivé du 80386

Les - : Le bus le + lent !!

Les +: Facilement utilisable & peu coûteux

architecture bus25
Architecture - Bus
  • MCA (Micro Channel Architecture):
    • Développé et utilisé par IBM (avec ses PS/2)
    • Incompatible avec l’ISA => Monopole d’IBM
    • 1er bus à 32bits - 10Mhz (40Mo/s)
  • EISA (Enhanced ISA) 1988:
    • Développé par des constructeurs(Compaq…)pour contre-attaquer le MCA d’IBM
    • Architecture 32bits, compatible ISA 8/16bits
    • 8.33 Mhz (compatibilité ISA) - 33 Mo/s
    • Utilisation: application lourde (Serveurs de fichier…)
architecture bus26
Architecture - Bus
  • VLB (VESA Local Bus):
    • En 1992 par « Video Electronics Standards Association » 
    • Extension du bus local du processeur (port ISA étendu)
    • Spécifique aux cartes graphiques
    • Largeur: 32 bits
    • Fréquence externe du processeur: ~33-50Mhz
    • Débit: 130Mo/s (40Mo/s en pratique)
    • VLB 2.0 fonctionne en 64bits
architecture bus27
Architecture - Bus
  • PCI (Peripheral Component Interconnect):
    • En 1993 par Intel en réponse au VLB
    • PCI 1.0: 32bits - 33Mhz => 132Mo/s (le + courant)
    • PCI 2.0: 64bits (33,66,133Mhz) pour serveurs !
    • Meilleur que le VLB car certaines fonctionnalités:
      • Bus Master (transfert direct entre 2 périph. PCI)
      • ‘Look Ahead’ (anticipation)
      • ‘buffering’ (stockage temporaire de l’information => meilleur débit…
    • Incompatible avec l’ISA => Slots PCI+ISA
    • Devenu un standard, mais goulet d’étranglement !
architecture bus28
Architecture - Bus
  • Port AGP (Accelerated Graphics Port):
    • Fin 1997 par Intel (palier au pb du PCI)
    • Spécifique aux cartes graphiques
    • Basé sur le standard PCI2.1 => 66Mhz
    • Architecture 32 bits
    • Version Pro : 110W (au lieu de 50W)
architecture bus29
Architecture - Bus
  • Port AGP:
    • Bus Mastering (accès direct à la mémoire)
    • Pipelining: requête en série ( PCI attente d’ack)
    • SBS (Side Band Signaling) ou SBA(Side Board Adressing): 32bits du bus + 8bits (broches latérales) pour le contrôle (requêtes) et la synchro AGP<->Carte graphique
    • 2 modes de fonctionnement:
      • Mode DMA ou PIPE(local texturing): accès direct à la mémoire centrale
      • Mode DIME (Direct Memory Execute): traitement des textures en mémoire centrale
architecture bus30
Architecture - Bus
  • Port AGP:
    • 1x: débit de 264Mo/s (codage sur les fronts montant)
    • 2x: débit de 528Mo/s (codage sur les deux front)
      • PIPE: envoie donnée+contrôle multiplexé…
      • SBA: envoie donnée+contrôle démultiplexé
    • 4x: débit 1Go/s (double les infos sur chaque front)
      • => mémoire suffisamment rapide (DDR ou RAMBUS)
      • «Fast Write»: accès direct mémoire vidéo
    • 8x: débit 2Go/s (quadruple les infos sur chaque front)Mais gain minuscule de 5% par rapport au 4x.
architecture bus31
Architecture - Bus
  • Demain: PCI-Express
    • Très peu d’informations
    • PCI en série
    • Très performant !!
    • ?
architecture32
Architecture

BUS

Accélérateur Graphique

GPU

Mémoire centrale

Mémoire vidéo

DVI

RAMDAC

CRT

  • RAMDAC (CRT vs DVI)
  • Bus
  • Mémoire
  • Accélérateur Graphique (2D)/GPU (3D)
architecture m moire
Architecture - Mémoire
  • Importance du débit:Un écran de 1024x768x24bits à 70Hz => débit de 1024*768*3*70=157Mo/s
  • Multiple accès:Processeur graphique & RAMDAC => latence
  • DRAM (DynamicRAM):
    • Type FPM (Fast Page Mode): Rafraîchi très souvent=>latence(+asynchrone)=>accès en 70ns
    • 225Mo/s (33Mhz-50Mhz)
    • La plus lente et dépassé
architecture m moire34
Architecture - Mémoire
  • DRAM EDO (DRAM Extended Data Out):
    • 400Mo/s (inadaptée pour des fréquence > 66Mhz)
    • Accès réduit à 50-60ns (système de cache de l’adresse de la prochaine cellule à lire/écrire)
    • Surtout employé par 3DFX (Diamond Monster 3D et Diamond Monster 3D II) mais aussi par S3 (Virge 3D).
  • VRAM (VideoRAM):
    • 625Mo/s (30% + chère que DRAM)
    • Jusqu’à 80Mhz - Temps d’accès 20-25ns
    • « Dual Port » (grâce à 1 registre à décalage)
architecture m moire35
Architecture - Mémoire
  • WRAM (WindowsRAM):
    • 960Mo/s
    • VRAM avec circuit 32 bits (accessible par bloque)
    • Fonctionnalités 2D (transfert de mémoire…)
    • Matrox avec sa Millennium II
  • MDRAM (Multi-bankDRAM):
    • Accès simultanés
    • 500 Mo/s
    • Cartes S3, Hercules Dynamite 128, Tseng Labs ET 6000
architecture m moire36
Architecture - Mémoire
  • SDRAM (SynchronousDRAM):
    • Apparue en 1997
    • Synchronisée avec le bus mémoire
    • Temps d’accès: 10-12ns
    • Fréquence 66Mhz à 133Mhz
    • 500,800,1.060 Mo/s -> 66,100,133Mhz
architecture m moire37
Architecture - Mémoire
  • SGRAM (SynchronousGraphicRAM):
    • SDRAM optimisée pour le graphique
    • « Single Port »
    • Synchronisée au bus mémoire (<=100Mhz)
    • Exemple: « Matrox Mystique »
    • Techniques:
      • «Masked write»: modif en 1 cycle
      • Mode rafale ou «Block write»: récupération et modification par bloque entier
architecture m moire38
Architecture - Mémoire
  • RAMBUS
    • Soutenue par intel
    • A 300Mhz, 1,2Go/s
    • A 400Mhz, 1,6Go/s
    • Enorme latence
architecture m moire39
Architecture - Mémoire
  • DDR-SDRAM(Double Data RateSDRAM):
    • 2 informations transferées par cycle:
      • Front montant
      • Front descendant
    • Temps d’accès: 6ns
    • Fréquence de 100Mhz à 200Mhz
    • Débit de 1.5Go/s à 3Go/s
    • Exemple: GeForce FX (DDR400)
architecture40
Architecture

BUS

Accélérateur Graphique

GPU

Mémoire centrale

Mémoire vidéo

DVI

RAMDAC

CRT

  • RAMDAC (CRT vs DVI)
  • Bus
  • Mémoire
  • Accélérateur Graphique (2D)/GPU (3D)
architecture 2d
Architecture – 2D
  • Ancêtre des accélérateurs Graphiques:
    • Cartes à coprocesseur graphique (carte programmable)
    • Début 90 avec TIGA (TMS34020), ou P9000 (Carte Diamond Viper)
    • Dépassé ensuite par les cartes accélératrices
    • MAIS principe d’architecture graphique programmable réutilisé + tard en 3D
architecture 2d42
Architecture – 2D
  • Accélération des traitements 2D:ligne, rectangle, curseur souris, overlay, bitBLT
  • Décompression MPEG2 (DVD)
  • Tuner TV
  • Acquisition vidéo
  • Cartes 2D seules n’existent plus
  • Carte 3D pure (3dfx voodoo)
  • Maintenant, carte 2D/3D
architecture gpu 3d
Architecture – GPU (3D)
  • Pipeline de rendu 3D (triangle en entrée):
    • Transformation et éclairement
    • Culling, clipping,…
    • Triangle setup
    • Texturing, Fog
    • Rasterization (Alpha, Stencil, Depth test -> Alpha blending -> Dithering -> Channel mask) -> Framebuffer
architecture gpu transform
Architecture – GPU->Transform
  • « Planter le décors »:
    • Placer l’objet courant dans la scène par rapport à la caméra…
    • Opérations matricielles 3d (homogène)
    • Translations, rotations, mise à l’échelle, projection
architecture gpu lighting
Architecture – GPU->Lighting
  • Modèle de Phong
    • Éclairement ambiant
      • Propriété générale de l’environnement
    • Éclairement diffus
      • Existe pour chaque source lumineuse
    • Éclairement spéculaire
      • Existe pour chaque source lumineuse
architecture gpu lighting46
Architecture – GPU->Lighting
  • Éclairement ambiant:
    • Caf=Ca*la
  • Éclairement diffus:
    • Cdf=sum( Cd*Lid* (n.lidir) )

n

ldir

architecture gpu lighting47
Architecture – GPU->Lighting
  • Éclairement spéculaire:
    • Csf=sum( Cs*Lis* (v.ri) )
    • Mais r=2(n.ldir)n-ldir (coûteux)

n

v

r

ldir

=> formule de Blinn-PhongCsf=sum( Cs*Lis* (n.hi) )avec h = ldir+v / |ldir+v|

n

h

v

ldir

architecture gpu culling clipping
Architecture – GPU->culling, clipping…
  • Culling: Orientation de la face (Counter Clock Wise)
  • Clipping: Découpe du triangle dans le volume de vision (frustum)
  • Projection sur l’écran (division par w)
  • Viewport mapping (coordonnées écran)
architecture gpu triangle setup
Architecture – GPU->triangle setup
  • Préparation des données pour l’étage du calcul des couleurs:
    • Délimitation du triangle par ses bords pour chacune de ses lignes (scanline)
    • Interpolation linéaire des données le long des bords (couleurs, z, coordonnées de textures…)
architecture gpu calcul de la couleur
Architecture – GPU->Calcul de la couleur
  • Combinaisoncouleur d’éclairement / textures
  • Filtrage des textures (bilinéaire, tri linéaire…)
  • Différentes possibilités de combinaison
  • Possibilité de combinaison différente à chaque étage de texture (=> possibilité de gérer un bump-mapping)
  • Effet de brouillard (fog)
architecture gpu rasterization
Architecture – GPU->Rasterization
  • Dernière étape du pipeline 3D
  • Gestion de la profondeur - ensemble de test libre => effet
  • Alpha test -> Stencil test -> Depth test
  • Blending (Transparence)
  • Dithering (Illusion de couleur, motif…)
  • Channel mask -> FRAME BUFFER
architecture gpu
Architecture – GPU
  • T&L (en soft): 3D Now, MMX…
  • 31 août 1999: GeForce256 (nVidia)
    • GPU (Graphics Processing Unit):

pipeline 100% hard (T&L, culling, clipping…)

  • Amélioration du pipeline 3D:
    • Registers combiners (GeForce256):Circuit câblé paramétrable pour le calcul de la couleur (texture…)
    • Shader (Vertex & Pixel) (GeForce3):Circuit programmable remplaçant une partie du pipeline 3D
architecture gpu shader
Architecture – GPU-> Shader
  • Architecture SIMD
  • Limitation de la taille du programme
    • 128 instructions: GeForce3-4 - Radeon8500
    • 1024 instructions: GeForce FX
  • Registres temporaires
  • ALU
  • Registres constants (mémoire)
architecture gpu vertex shader55
Architecture – GPU-> Vertex Shader
  • Remplace l’étape de T&L
  • Possibilités:
    • Position Procédurale
    • Position Blend
    • Position Morphing
    • Position Déformation
    • Tissu, peau, interpolation, displacement maps…
    • Coordonnées de texture
    • Brouillard particulier
    • Taille d’affichage d’un point
architecture gpu vertex shader56
Architecture – GPU-> Vertex Shader
  • Exemple simple de vertex shader:déformation surfacique (onde) – Dauphin (Direct3D)
architecture gpu pixel shader58
Architecture – GPU-> Pixel Shader
  • Remplace l’étape du calcul de la couleur
  • Possibilités:
    • Réflexion par pixel
    • Illumination par pixel (phong, BRDF)
    • Textures procédurales
architecture gpu shaders exemple

normal vector

light vector

Architecture – GPU-> Shaders Exemple
  • Le rendu cartoon:
    • Exemples: Zelda - Jet Set Radio Future
    • Produit scalaire lumière x normale pour indexer une texture 1D

light

0.0

dot product

1.0

1 dimensional texture

cartes graphiques60
Cartes Graphiques
  • API: OpenGL 1.4, DirectX 9.0, Glide (3DFX)…
  • Carte professionnelle: Intergraph, HP, MaxVision…