Rôle de la mémoire vive(RAM) :
La mémoire vive, généralement appelée RAM (Random Access Memory, traduisez mémoire à accès aléatoire, ce qui signifie que l'on peut accéder instantanément à n'importe quelle partie de la mémoire), est la mémoire principale du système, cela indique qu'elle permet de stocker de manière temporaire des données lors de l'exécution d'un programme. En effet ce stockage est temporaire, contrairement à une mémoire de masse comme le disque dur (mémoire avec laquelle les novices la confondent généralement), car elle permet de stocker des données tant qu'elle est alimentée électriquement, c'est-à-dire qu'à chaque fois que l'ordinateur est éteint, toutes les données présentes en mémoire sont irrémédiablement effacées.
Fonctionnement de la mémoire vive :
La mémoire vive est constituée de centaines de milliers de petits condensateurs emmagasinant des charges. Lorsqu'ils sont chargés, l'état du condensateur est à 1, dans le cas contraire il est à 0, ce qui signifie que chaque condensateur représente un bit de la mémoire. Etant donné que les condensateurs se déchargent, il faut constamment les recharger (le terme exact est rafraîchir) à un intervalle de temps régulier appelé cycle de rafraîchissement (d'une durée d'environ 15ms pour une mémoire DRAM). Chaque condensateur est couplé à un transistor permettant de "récupérer" l'état du condensateur. Ces transistors sont rangés sous forme de tableau (matrice), c'est-à-dire que l'on accède à une "case mémoire" par une ligne et une colonne. Or cet accès n'est pas instantané et s’effectue pendant un délai appelé temps de latence. Par conséquent l'accès à une donnée en mémoire dure un temps égal au temps de cycle auquel il faut ajouter le temps de latence.
Ainsi, pour une mémoire de type DRAM, le temps d'accès est de 60 nanosecondes (35ns de délai de cycle et 25ns de temps de latence). Sur un ordinateur le temps de cycle correspond à l'inverse de la fréquence de l'horloge, par exemple pour un ordinateur cadencé à 200Mhz, le temps de cycle est de 5ns (1/(200.106)).
Par conséquent un ordinateur ayant une fréquence élevée et utilisant des mémoires dont le temps d'accès est beaucoup plus long que le temps de cycle du processeur doit effectuer des cycles d'attente (en anglais wait state) pour accéder à la mémoire. Dans le cas d'un ordinateur cadencé à 200Mhz utilisant des mémoires de types DRAM (dont le temps d'accès est de 60ns), il y a 11 cycles d'attente pour un cycle de transfert. Les performances de l'ordinateur sont d'autant diminuées qu'il y a de cycles d'attentes, il est donc conseillé d'utiliser des mémoires plus rapides.
Types de barrettes de mémoire vive :
Il existe de nombreux types de mémoires vives. Celles-ci se présentent toutes sous la forme de barrettes de mémoire enfichables sur la carte- mère.
La DRAM (Dynamic RAM, RAM dynamique) est le type de mémoire le plus répandu au début du millénaire. Il s'agit d'une mémoire dont les transistors sont rangés dans une matrice selon des lignes et des colonnes. Les mémoires DRAM possèdent jusqu'à 256 millions de transistors (c'est-à-dire que chaque barrette de DRAM peut contenir jusqu’à 256Mo maximum). Ce sont des mémoires dont le temps d'accès est de 60ns.
Pour accélérer les accès à la DRAM, il existe une technique, appelée pagination consistant à accéder aux différentes lignes d'une colonne en modifiant uniquement l'adresse de la ligne. On parle alors de DRAM FPM (Fast Page Mode).
D'autre part, les accès mémoire se font généralement sur des données rangées consécutivement en mémoire. Ainsi le mode d'accès en rafale (burst mode) permet d’accéder aux trois données consécutives à la première sans temps de latence supplémentaire. Dans ce mode en rafales, le temps d'accès à la première donnée est égale au temps de cycle auquel il faut ajouter le temps de latence, et le temps d'accès aux trois autres données est uniquement égal aux temps de cycle, on note donc sous la forme X-Y-Y-Y les quatre temps d'accès, par exemple 5-3-3-3 pour un bus dont la fréquence est de 66Mhz.
La RAM EDO (Extended Data Out, soit Sortie des données amélioré) est apparue en 1995. La technique utilisée avec ce type de mémoire consiste à adresser la colonne suivante pendant la lecture des données d'une colonne. Cela crée un chevauchement des accès permettant de gagner du temps sur chaque cycle.
Ainsi, la RAM EDO, lorsqu'elle est utilisée en mode rafale permet d'obtenir des cycles de la forme 5-2-2-2, soit un gain de 4 cycles sur l'accès à 4 données.
Voici une petit explication pour mettre en place cette mémoire
La première manipulation consiste à démonter la barette mémoire,sur les connecteurs SIM, deux loquets sont à pousser en même temps
La SDRAM (Synchronous DRAM, soit RAM synchrone) est un type de RAM apparu en 1997 permettant une lecture des données synchronisées avec le bus. Celle-ci permet d'obtenir un cycle en mode rafale de la forme 5-1-1-1, c'est-à-dire un gain de 3 cycles par rapport à la RAM EDO. De cette façon la SDRAM est capable de fonctionner avec une cadence de 100Mhz, lui permettant d'obtenir des temps d'accès d'environ 10ns.
Voici une petite explication pour mettre en place la mémoire
La RDRAM (Rambus DRAM) est un type de mémoire permettant de transférer les données sur un bus de 16 bits de largeur à une cadence de 800Mhz. Comme la SDRAM, ce type de mémoire est synchronisé avec l'horloge du bus pour améliorer les échanges de données.
Il existe un type de mémoire permettant de stocker des données nécessaires au démarrage de l'ordinateur, il s'agit de la ROM (Read Only Memory, dont la traduction est mémoire en lecture seule) appelée parfois mémoire non volatile, car elle ne s'efface pas lors de la mise hors tension du système. En effet, ces informations ne peuvent être stockées sur le disque dur étant donné que les paramètres du disque (essentiels à son initialisation) font partie de ces données vitales à l'amorçage.
La ROM contient les éléments essentiels au démarrage, c'est-à-dire:
Etant donné que les ROM sont beaucoup plus lentes que les mémoires de types RAM (une ROM a un temps d'accès de l'ordre de 150ms tandis qu'une mémoire de type SDRAM a un temps d'accès d'environ 10ms), les instructions contenues dans la ROM sont parfois copiées en RAM au démarrage, on parle alors de shadowing (en français cela pourrait se traduire par ombrage, mais on parle généralement de mémoire fantôme).
Les types de ROM :
Les ROM ont petit à petit évoluées de mémoires mortes figées à des mémoires programmables, puis reprogrammables.
Les premières ROM étaient fabriquées à l'aide d'un procédé inscrivant directement les données binaires dans une plaque de silicium grâce à un masque. Ce procédé est maintenant obsolète.
Les PROM (Programmable Read Only Memory) ont été mises au point à la fin des années 70 par la firme Texas Instruments. Ces mémoires sont des puces constituées de milliers de fusibles pouvant être "grillés" grâce à un appareil appelé programmateur de ROM, envoyant un fort courant (12V) dans certains fusibles. Ainsi, les fusibles grillées correspondent à des 0, les autres à des 1.
Les EPROM (Erasable Programmable Read Only Memory) sont des PROM pouvant être effacées. Ces puces possèdent une vitre permettant de laisser passer des rayons ultra- violets. Lorsque la puce est en présence de rayons ultra- violets d'une certaine longueur d'onde, les fusibles sont reconstitués, c'est-à-dire que tous les bits de la mémoire sont à nouveau à 1. C'est pour cette raison que l'on qualifie ce type de PROM d'effaçable.
Les EEPROM (Electrically Erasable read Only Memory) sont aussi des PROM effaçables, mais contrairement aux EPROM, celles-ci peuvent être effacées par un simple courant électrique, c'est-à-dire qu'elle peuvent être effacées même lorsqu'elles sont en position dans l'ordinateur. Ces mémoires sont aussi appelées mémoires flash (ou ROM flash), et l'on qualifie de flashable l'action consistant à reprogrammer une EEPROM.
L’utilisation de la mémoire cache permet un accès encore plus rapide à la mémoire . La mémoire cache est une mémoire tampon destinée à recevoir les données que le processeur dépose dans la RAM ou qu’il appelle de la mémoire
Des SDRAM standard d’accès très rapide pour les données
Des SDRAM standard pour les adresses de données à stocker dans la mémoire principale .
Une logique de contrôle, installée le plus souvent dans le contrôleur de cache .
L’accès au cache se déroule de la façon suivante : le processeur principale accède d ‘abord à la mémoire (cycle READ) . Si l’adresse qu’il indique se trouve dans la cache, le contenu correspondant à cette adresse est retiré du cache et non pas de la mémoire principale .
Cet accès direct s’appelle aussi "HIT " ou " Cache hit "(touché).Dans ce cas, le temps d’accès très bref ne nécessite pas de cycle d’attente . Si le processeur principal ne trouve l’adresse que dans la mémoire principale, il s’agit d’un " miss " ou d’un " cache miss " (raté) . A la suite de quoi l’accès en mémoire se déroule comme d’habitude avec un temps d’accès plus long
La carte graphique sert à contrôler l’ensemble vidéo est connectée le plus dans un slot (EISA, ISA, PCI, AGP) du PC .
La composante centrale est un contrôleur vidéo, qu’on appelle aussi puce de contrôle graphique, ou CRTC (Cathode Ray Tube Controller, soit : Contrôleur de tube cathodique) .
Cette composante est chargé de surveiller le fonctionnement et de générer des signaux de contrôle nécessaire .
Le processeur principale accède à la mémoire vidéo par l’intermédiaire d’un AT - bus pour y déposer des informations . Celles-ci définissent le texte ou l’image qui sera affichée sur le moniteur . Le CRTC génère continuellement des adresses pour la RAM vidéo, afin de cueillir les caractères correspondants et de les transmettre au générateur de caractère .
Pour la carte graphique, vous avez différentes normes :
Le standard graphique monochrome :
Outre la carte graphique, on voit apparaître sur le marché un adaptateur capable de représenter les couleurs .Ce standard nommé " color graphics adapter " soit CGA était alors la seule carte disponible .La carte peut fonctionner sur deux modes : mode graphique et mode texte .
Toutefois, les données techniques de la carte sont plus que modestes .En mode graphique, elle permet d’obtenir 320*200 pixels en quatre couleurs, ou 640*200 pixels en monochrome(deux couleurs).En mode texte, la carte dans sa résolution minimale peut représenter 16 couleurs .
Un bon qualificatif et ergonomique a été fait avec la carte EGA, en abréviation de " Enhanced Graphics Adapter " . Cette carte permet d’obtenir une résolution de 640*350 pixels avec 16 couleurs simultanées, choisi dans une palette de 64 couleurs .Les cartes graphiques EGA peuvent en général piloter aussi bien des moniteurs monochromes que des moniteurs couleurs
La carte VGA (Vidéo Graphic Array) a été tout d’abord utilisée uniquement dans les modèles 60,70 et 80, mais elle a fini par s’étendre également aux modèles bas de gamme, où l’on avait d’abord implanté un MCGA .
Pour MCGA comme pour VGA, on a la possibilité de choisir ses couleurs dans un palette de 262.144 couleurs différentes .Le standard MCGA peut développer 320*200 pixels en 256 couleurs choisies 262.114 possibles .
Un exemple :
Une carte VGA normale avec 256 Ko peut présenter des résolutions de 800*600 pixels en 256 couleurs ou 800*600 en 16 couleurs .
Le terme VESA(Vidéo Electronics Standard Association) permet d’avoir une définition de 800*600 en 256 couleurs ou même 1024*768 en 16 couleurs . Il faut pour cela malgré tout des cartes vidéo qui ont au moins 512 ko de ram vidéo et qui disposent d’un quartz gérant la haute résolution avec une fréquence de balayage permettant d’éviter tout scintillement .
La puce graphique :
La composante essentielle est évidemment la puce graphique. Elle constitue pour ainsi dire l’unité centrale de la carte graphique et détermine les commandes qui lui permettront d'afficher des images à l'écran, gérez certains paramètres comme vous montre les tableaux ci-dessous concernant les cartes vidéo 2D et 3D.
Tout d'abord le cartes controlleurs étaient utilisés sur des vieux PC, c'est à dire que vous aviez la carte mère mais sans les bus IDE(lecteur de disquette,Disque dur), maintenant les cartes mères intégrent directement la carte mère ce qui permet d'une part de libérer un slot(Isa), d'autre part d'avoir accés plus facilement aux ports IDE .
La carte servant de contrôleur est placée dans un connecteur d’extension et elle peut prendre en charge deux disques dur, 1 lecteur de disquette et aussi les ports COM et parallèle .
Dans certains ordinateur , dont je nommerais pas la marque(opti plex) , ils ont une carte fille supportant les bus ISA et PCI .
Sinon vous avez les cartes accélératrices (Voodoo ), qui permet l’amélioration des qualités graphiques .
Les cartes accélératrices 2D :
Les cartes 2D n'ont pas changé de principe depuis leur création. Chaque puce possède de nombreux circuits qui permettent d'exécuter de nombreuses fonctions:
Ainsi, les performances des cartes 2D n'évoluent plus depuis quelques temps.
Leurs performances sont tributaires du type de mémoire utilisée sur la carte (les mémoires SGRAM ou WRAM, mémoires vidéo spécifiques à 10 ns, donnent des résultats bien meilleurs que la mémoire EDO (60 ns))
La fréquence du RAM-DAC (RAM Digital Analogic Converter), ainsi que la quantité de mémoire vidéo ne permettent en rien d'avoir de meilleures performances, elles permettent juste d'avoir un meilleur taux de rafraîchissement (nombre d'images par seconde) et de pouvoir accéder à des résolutions plus grandes.
Les cartes accélératrices 3D :
Le domaine de la 3D est beaucoup plus récent, donc plus porteur. On arrive à des puissances de calculs sur PC supérieures à celles de certaines stations de travail.
Le calcul d'une scène 3D est un processus qui se décompose grossièrement en quatre étapes:
Ainsi, plus la carte accélératrice 3D calcule elle-même ces étapes, plus l'affichage est rapide. Les premières puces n'effectuaient que le rendering, laissant le processeur s'occuper du reste.
Depuis, les cartes possèdent un "setup engine" qui prend en charge les deux dernières étapes.
A titre d'exemple, un Pentium II à 266 Mhz qui calcule les trois premières étapes peut calculer 350 000 polygones par secondes, lorsqu'il n'en calcule que deux, il atteint 750 000 polygones par seconde.
Cela montre à quel point ces cartes déchargent le processeur.
Le type de bus est lui aussi déterminant. Alors que le bus AGP n'apporte aucune amélioration dans le domaine de la 2D, les cartes utilisant ce bus plutôt que le bus PCI sont beaucoup plus performants. Cela s'explique par le fait que le bus AGP est directement relié à la mémoire vive, ce qui lui offre une bande passante beaucoup plus grande que le bus PCI.
Ces produits de haute technologie ont maintenant besoin de la même qualité de fabrication que les processeurs, ainsi que des gravures allant de 0.35 µm à 0.25 µ:m.
Glossaire des fonctions accélératrices 3D et 2D :
Terme |
Définition |
2D Graphics |
Affiche une représentation d'une scène selon 2 axes de référence (x et y) |
3D Graphics |
Affiche une représentation d'une scène selon 3 axes de référence (x,y, et z) |
Alpha blending |
Le monde est composé d'objets opaques, translucides et transparents.
L'alpha blending est une manière d'ajouter des informations de
transparence à des objets translucides. Cela est fait en faisant
un rendu des polygones a travers des masques dont la densité est
proportionnelle à la transparence des objets. La couleur du pixel
résultant est une combinaison de la couleur du premier plan et
de la couleur de l'arrière-plan. L'alpha a généralement
une valeur comprise entre 0 et 1 calculée de la manière
suivante: |
Alpha buffer |
C'est un canal supplémentaire pour stocker l'information de transparence (Rouge-Vert-Bleu-Transparence). |
Anti-aliasing appelé aussi anti-crénelage) |
Technique permettant de faire apparaître les pixels de façon
moins crénelée. |
Effets atmosphérique |
Effets tels que le brouillard ou bien l'effet de distance, qui améliorent le rendu d'un environnement. |
Bitmap |
Image pixel par pixel |
Bilinear filtering |
Permet de fluidifier le passage d'un pixel d'un endroit à un autre (lors d'une rotation par exemple) |
BitBLT |
C'est l'une des fonctions d'accélération les plus importantes, elle permet de simplifier le déplacement d'un bloc de données, en prenant en compte les particularités de la mémoire - vidéo. Elle est par exemple utilisée lors du déplacement d'une fenêtre |
Blending |
Combinaison de deux images en les ajoutant bit-à-bit |
Bus Mastering |
Une fonction du bus PCI permettant de recevoir directement des informations de la mémoire sans transiter par le processeur |
Correction de perspective |
Une méthode pour faire du mappage (enveloppage) avec des textures (texture mapping). Elle prend en compte la valeur de Z pour mapper les polygones. Lorsqu'un objet s'éloigne de l'objectif, il apparaît plus petit en hauteur et en largeur, la correction de perspective consiste à dire que le taux de changement dans les pixels de la texture est proportionnel à la profondeur. |
Depth Cueing |
Baisse l'intensité des objets s'éloignant de l'objectif |
Dithering |
Permet d'archiver des images de qualité 24-bit dans des tampons plus petits (8 ou 16 bits). Le dithering utilise deux couleurs pour en créer une seule |
Double buffering |
Une méthode utilisant deux tampons, une pour l'affichage, l'autre pour le calcul du rendu, ainsi lorsque le rendu est fait les deux tampons sont échangés. |
Flat shading ou Constant shading |
Assigne une couleur uniforme sur un polygone. L'objet ainsi rendu apparaît de façon facettisée. |
Fog |
Utilise la fonction blending pour un objet avec une couleur fixe (plus il s'éloigne de l'objectif, plus cette fonction est utilisée) |
Gamma |
Les caractéristiques d'un affichage utilisant des phosphores sont non-linéaires: un petit changement de la tension à basse tension crée un changement dans l'affichage au niveau de la brillance, ce même changement à plus haute tension ne donnera pas la même magnitude de brillance. La différence entre ce qui est attendu et ce qui est mesuré est appelée Gamma |
Gamma Correction |
Avant d'être affichées, les données doivent être corrigées pour compenser le Gamma |
Gouraud Shading (lissage Gouraud) |
Algorithme (portant le nom du français qui l'a inventé) permettant un lissage des couleurs par interpolation. Il assigne une couleur à chaque pixel d'un polygone en se basant sur une interpolation de ses arêtes, il simule l'apparence de surfaces plastiques ou métalliques. |
Interpolation |
Façon mathématique d régénérer des informations manquantes ou endommagées. Lorsqu'on agrandit une image par exemple, les pixels manquants sont régénérés par interpolation. |
Line Buffer |
C'est un tampon fait pour mémoriser une ligne vidéo |
Lissage Gouraud |
Algorithme (portant le nom du français qui l'a inventé) permettant un lissage des couleurs par interpolation. Il assigne une couleur à chaque pixel d'un polygone en se basant sur une interpolation de ses arêtes, il simule l'apparence de surfaces plastiques ou métalliques. |
Lissage Phong |
Algorithme (portant le nom de Phong Bui-Tong) permettant un lissage des couleurs en calculant le taux de lumière en de nombreux points d'une surface, et en changeant la couleur des pixels en fonction de la valeur. Il est plus gourmand en ressources que le lissage Gouraud |
MIP Mapping |
C'est un mot provenant du latin "Multum in Parvum" qui signifie "Plusieurs en un". Cette méthode permet d'appliquer des textures de différentes résolutions pour des objets d'une même image, selon leur taille et leur distance. Cela permet entre autre de mettre des textures de plus hautes résolutions lorsqu'on se rapproche d'un objet. |
Projection |
C'est le fait de réduire un espace en 3-Dimension en un espace en 2-Dimension |
Rasterisation |
Transforme une image en pixels |
Rendu (Rendering) |
C'est le fait de créer des images réalistiques sur un écran en utilisant des modèles mathématiques pour le lissage, les couleurs ... |
Rendering engine |
Partie matérielle ou logicielle chargée de calculer les primitives 3D (Généralement des triangles) |
Tesselation ou facettisation |
Le fait de calculer des graphiques en 3D peut-être divisé en 3 parties: la facettisation, la géométrie et le rendu. La facettisation est la partie consistant à découper une surface en plus petites formes, en la découpant (souvent en triangles ou en quadrilatères) |
Texture Mapping |
Consiste à stocker des images constituées des pixels (texels), puis à envelopper des objets 3D de cette texture pour obtenir une représentation plus réaliste des objets |
Tri-linear filtering |
Basé sur le principe du filtrage bilinéaire, le filtrage trilinéaire consiste à faire une moyenne de deux niveaux de filtrage bilinéaire. |
Z-buffer |
Partie de la mémoire qui stocke la distance de chaque pixel à l'objectif. Lorsque les objets sont rendus à l'écran, le rendering engine doit supprimer les surfaces cachées. |
Z-buffering |
C'est le fait de supprimer les faces cachées en utilisant les valeurs stockées dans le Z-buffer |