1 / 60

Cartes Graphiques

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

libitha
Télécharger la présentation

Cartes Graphiques

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cartes Graphiques

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  17. 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 »)

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

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

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

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

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

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

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

  25. 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…)

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

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

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

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

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

  31. Architecture - Bus • Demain: PCI-Express • Très peu d’informations • PCI en série • Très performant !! • ?

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

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

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

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

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

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

  38. Architecture - Mémoire • RAMBUS • Soutenue par intel • A 300Mhz, 1,2Go/s • A 400Mhz, 1,6Go/s • Enorme latence

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

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

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

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

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

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

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

  46. Architecture – GPU->Lighting • Éclairement ambiant: • Caf=Ca*la • Éclairement diffus: • Cdf=sum( Cd*Lid* (n.lidir) ) n ldir

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

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

  49. 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…)

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

More Related