« Fonctionnement d'un ordinateur/La performance d'un ordinateur » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 158 :
Le '''temps de balayage''' d'une mémoire est le temps mis pour parcourir/accéder à toute la mémoire. Concrètement, il est définit en divisant la capacité de la mémoire par son débit binaire. le résultat s'exprime en secondes. Le temps de balayage est en soit une mesure peu utilisée, sauf dans quelques applications spécifiques. C'est le temps nécessaire pour lire ou réécrire tout le contenu de la mémoire. On peut le voir comme une mesure du compromis réalisé entre la capacité de la mémoire et sa rapidité : une mémoire aura un temps de balayage d'autant plus important qu'elle est lente à capacité identique, ou qu'elle a une grande capacité à débit identique. Généralement un temps de balayage faible signifie que la mémoire est rapide par rapport à sa capacité.
 
Comme dit plus haut, le temps d'accès est différent pour les lectures et les écritures, et il en est de même pour le débit binaire. En conséquence, le temps de balayage n'est pas le même si le balayage se fait en lecture ou en écriture. On doit donc distinguer le '''temps de balayage en lecture''' qui est le temps mis pour lire la totalité de la mémoire, et le '''temps de balayage en écriture''' qui est le temps mis pour écrire une donnée dans toute la mémoire. La distinction est d'autant plus importante que les cas où on balaye une mémoire en lecture avec les cas où on balaye la mémoire en écriture. Généralement, on balaye une mémoire en lecture quand on veut recherche une donnée bien précise dedans. Par contre, le balayage en écriture correspond surtout aux cas où on veut réinitialiser la mémoire, la remplir tout son contenu avec des zéro afin de la remettre au même état qu'à son démarrage.
Un exemple où l'on veut réécrire toute la mémoire est celui d'une réinitialisation de la mémoire, à savoir remplir tout son contenu avec des zéros. Si vous voulez réinitialiser une mémoire, ce qui est parfois nécessaire, vous devez remplacer le contenu de chaque case mémoire par un 0. Pour cela, vous allez adresser chaque case mémoire l'une après l'autre et écrire dedans. Le temps nécessaire pour réinitialiser la mémoire à zéro, en mettant à zéro chaque case mémoire. n'est autre que le temps de balayage. En soi, les opérations de réinitialisation de la mémoire sont plutôt rares. Elles ont surtout lieu lors de l'allumage de l'ordinateur, et encore pas systématiquement.
 
Un exemple de balayage en écriture est celui d'une réinitialisation de la mémoire, à savoir remplacer le contenu de chaque case mémoire par un 0. Le temps nécessaire pour réinitialiser la mémoire n'est autre que le temps de balayage en écriture. En soi, les opérations de réinitialisation de la mémoire sont plutôt rares. Certains vieux ordinateur effaçaient la mémoire à l'allumage, et encore pas systématiquement, mais ce n'est plus le cas de nos jours. Un cas plus familier est celui du formatage complet du disque dur. Si vous voulez formater un disque dur ou une clé USB ou tout autre support de stockage, le système d'exploitation va vous donner deux choix : le formatage rapide et le formatage complet. Le formatage rapide n'efface pas les fichiers sur le disque dur, mais utilise des stratagèmes pour que le système d'exploitation ne puisse plus savoir où ils sont sur le support de stockage. Les fichiers peuvent d'ailleurs être récupérés avec des logiciels spécialisés trouvables assez facilement. Par contre, le formatage complet efface la totalité du disque dur et effectue bel et bien une réinitialisation. Le temps mis pour formater le disque dur n'est autre que le temps de balayage en écriture.
 
Un autre cas de réinitialisation de la mémoire est celui de l'effacement du ''framebuffer'' sur les très vielles cartes graphiques.
 
Le temps de balayage marche aussi quand il s'agit de lire tout le contenu de la mémoire. Le cas le plus simple est celui où on veut savoir savoir en combien d'exemplaire une donnée est présente dans la mémoire. Par exemple, si on veut savoir combien de cases mémoires contiennent la valeur 0, on doit vérifier toutes les cases mémoires une par une (sauf exception). Un autre cas, plus courant, est celui de la recherche d'une donnée précise dans la mémoire. L'exemple le plus frappant est celui des antivirus, qui recherchent si une certaine suite de donnée est présente en mémoire RAM. Les antivirus scannent régulièrement la RAM à la recherche du code binaire de virus, et doivent donc balayer la RAM et appliquer des algorithmes assez complexes sur les données lues. Bref, le temps de balayage donne le temps nécessaire pour scanner la RAM, l'antivirus ajoutant en plus un temps de calcul. Tous les exemples précédents demandent de scanner la RAM à la recherche d'une donnée précise, et le temps de balayage donne une borne inférieure à ce temps de recherche. Cet exemple n'est peut-être pas très réaliste, mais il deviendra plus clair dans le chapitre sur les mémoires associatives, un type de mémoire particulier conçu justement pour réduire le temps de balayage en lecture au strict minimum.