« Fonctionnement d'un ordinateur/La carte mère, chipset et BIOS » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 69 :
Le générateur de fréquence est souvent combiné à des circuits qui s'occupent de tout ce qui a trait aux durées en général. Une carte mère contient un grand nombre de ''timers'', des circuits qui comptent des durées bien précises et sont capables de générer des fréquences. Pour rappel, les ''timer'' sont des compteurs/décompteurs qui génèrent une interruption ou un signal quand ils atteignent une valeur limite. Ils permettent de compter des durées, exprimées en cycles d’horloge. Les fonctions de Windows ou de certains logiciels se basent là-dessus, comme celles pour baisser la luminosité à une heure précise, passer les couleurs de l'écran en mode nuit, certaines notifications, les tâches planifiées, et j'en passe. Ils permettent aussi d’exécuter une interruption à intervalle régulier, ou après une certaine durée. Par exemple, on peut vouloir générer une interruption à une fréquence de 60 Hz, pour gérer le rafraichissement de l'écran. Une telle interruption s'utilisait autrefois sur les anciens ordinateurs ou sur les anciennes consoles de jeux vidéo et portait le nom de ''raster interrupt''. Comme autre exemple, on peut vouloir émettre une interruption à une heure bien précise tous les jours, ce qui demande de configurer un des ''timer'' de la RTC de manière à ce qu'il fasse cela.
 
Un ordinateur est remplit de ''timers'' divers. Dans ce qui va suivre, nous allons voir les principaux ''timers'', qui sont actuellement intégrés dans les PC anciens et modernes. Ils se trouvent sur la carte mère ou dans le processeur, tout dépend du ''timer''. LeSur les anciens PC, on trouve deux ''timertimers'' principal est: l'horloge temps réel, quiet le PIT. L'horloge temps réel génère une fréquence de 1 KHz., Lealors PIT,que àle savoirPIT est un Intel 8253 ou un Intel 8254, estprogrammable aussipar présentl'utilisateur. ALes cela,PC ilrécent fauttendent ajouterà remplacer des deux ''timers'' par un nouveau ''timer'' nomméqui remplace les deux : le ''High Precision Event Timer'',. Il spécialisé dans les durées courtes. Il faut aussi mentionner deux ''timers'' annexes, rarement utilisés : un premier ''timer'' lié à la technologie de contrôle de la consommation énergétique ACPI, et un autre présent dans les contrôleurs d'interruption de type APIC. Mais ces deux derniers sont généralement intégrés dans le processeur. Bre, une carte mère contient beaucoup de ''timers'' et tout dépend de lac arte mère. Difficile de faire des généralités dessus.
 
Le plus important est qu'il y a une '''horloge temps réel''' ou un circuit capable de l'émuler, qui est cadencée à fréquence de 1024 Hz, soit près d'un Kilohertz. Dans ce qui suit, nous la noterons RTC, ce qui est l'acronyme du terme anglais ''Real Time Clock''. On peut en théorie changer la fréquence fournie par la RTC, mais ce n'est pas une bonne idée. En effet, cette fréquence de 1KHz est utilisée par le système pour compter les secondes, afin que l'ordinateur soit toujours à l'heure. Vous savez déjà que l'ordinateur sait quelle heure il est (vous pouvez regarder le bureau de Windows dans le coin inférieur droite de votre écran pour vous en convaincre) et il peut le faire avec une précision de l'ordre de la seconde. Mais pour savoir quel jour, heure, minute et seconde il est, l'ordinateur doit faire deux choses : mémoriser la date exacte à la seconde près, et avoir la capacité de compter le temps qui s'écoule, seconde par seconde. Pour cela, un ordinateur contient deux circuits : une CMOS RAM qui mémorise la date, et la RTC.
====L'horloge temps réel et la CMOS RAM====
 
L''''horloge temps réel''' est un ''timer'' qui génère une fréquence de 1024 Hz, soit près d'un Kilohertz. Dans ce qui suit, nous la noterons RTC, ce qui est l'acronyme du terme anglais ''Real Time Clock''. La RTC prend en entrée un signal d'horloge de 32KHz, généré par un oscillateur à Quartz, et fournit en sortie un signal de fréquence 32 fois plus faible, c'est à dire de 1 KHz. Pour cela, elle est réglée en mode répétitif et son décompteur interne est initialisé à 32. La RTC génère donc un signal toutes les millisecondes, qui est envoyé au processeur. Cela permet au processeur de compter des durées assez courtes, comme le ''ping'' (le temps de latence d'un réseau, pour simplifier), le temps de rafraichissement de l'écran, ou bien d'autres choses. C'est aussi grâce à elle que l'ordinateur compte les secondes, pour gérer la date.
 
: A ce propos, c'est la raison pour laquelle il est impossible de dépasser les 1000 FPS sur les jeux vidéos Windows et Linux : le signal d'horloge de 1Khz est utilisé pour le démarrage des calculs des images, ce qui limite à une image toutes les millisecondes, soit 1000 FPS.
 
On peut en théorie changer la fréquence fournie par la RTC, mais ce n'est pas une bonne idée. En effet, cette fréquence de 1KHz est utilisée par le système pour compter les secondes, afin que l'ordinateur soit toujours à l'heure. Vous savez déjà que l'ordinateur sait quelle heure il est (vous pouvez regarder le bureau de Windows dans le coin inférieur droite de votre écran pour vous en convaincre) et il peut le faire avec une précision de l'ordre de la seconde. Mais pour savoir quel jour, heure, minute et seconde il est, l'ordinateur doit faire deux choses : mémoriser la date exacte à la seconde près, et avoir la capacité de compter le temps qui s'écoule, seconde par seconde. Pour cela, un ordinateur contient deux circuits : une CMOS RAM qui mémorise la date, et la RTC.
 
La '''CMOS RAM''' mémorise la date exacte à la seconde près. Son nom nous dit qu'elle est fabriquée avec des transistors CMOS, mais aussi qu'il s'agit d'une mémoire RAM. Mais attention, il s'agit d'une mémoire RAM ''non-volatile'', c'est à dire qu'elle ne perd pas ses données quand on éteint l'ordinateur. Nous expliquerons plus bas comment cette RM fait pour être non-volatile. La ''CMOS RAM'' est adressable, mais on y accède indirectement, comme si c'était un périphérique, à savoir que la CMOS RAM est mappée en mémoire. On y accède via les adresses 0x0007 0000 et 0x0007 0001 (ces adresses sont écrites en hexadécimal). Elle mémorise, outre la date et l'heure, des informations annexes, comme les paramètres du BIOS (voir plus bas).