![]() |
![]() |
![]() |
Table des matières
Sur le plan matériel, qu'est-ce qu'un ordinateur? Tout d'abord, il faut faire attention de ne pas confondre ce qu'on voit d'un ordinateur personnel avec ce qu'est un ordinateur. En effet, un ordinateur peut être muni de gadgets comme un écran, une souris, un clavier, etc. mais ce n'est en rien nécessaire. |
|
L'ordinateur se compose principalement de quatre (4) composantes fondamentales:
![]() |
Le processeur est l'unité centrale d'un ordinateur, contenant les circuits logiques capables de réaliser les instructions d'un programme. |
![]() |
Les programmes que nous écrivons dans un langage évolué diffèrent beaucoup des programmes tels que perçus par le processeur, qui ne les reçoit qu'une fois ceux-ci traduits en langage machine. Les instructions effectivement réalisées par le processeur sont des additions, des soustractions, la comparaison de deux nombres, et le chargement à un endroit d'une donnée prise d'un autre endroit.
Vu plus en détail, le processeur peut être vu comme une créature à deux têtes:
UCT |
UAL |
---|---|
L'unité centrale de traitement reçoit les instructions à traiter, les décode, et décide de micro opérations[1] à effectuer pour mener à bien le traitement. |
L'unité arithmétique et logique (UAL... le terme anglais est Arithmetic and Logic Unit--ALU), qui se charge--son nom le dit--des opérations arithmétiques et logiques. |
L'unité arithmétique et logique peut parfois même être composée d'une unité logique et de deux unités arithmétiques, soit une pour les opérations sur des entiers et une autre pour des opérations sur des nombres à virgule flottante[2].
Le processeur réalise des opérations arithmétiques et logiques, utilisant pour variables de petits espaces physiques lui appartenant et qu'on nomme registres.
Un registre doit être suffisamment gros (en nombre de bits) pour pouvoir contenir une instruction. Les Pentium dont nous faisons usage au Collège ont des registres 32 bits.
Les noms des registres peuvent différer d'une plate-forme à l'autre: sur des processeurs Motorola, ils portent généralement des noms comme R0, R1, R2... alors que sur les processeurs Intel, ils portent des noms comme AX, BX, SP...
Lorsqu'un micro-ordinateur est allumé, le microprocesseur charge les premières instructions à effectuer du système de base d'entrées/ sorties (en anglais Basic Input/ Output System--BIOS), qui fait partie de la mémoire morte du micro-ordinateur.
Le schéma précédant montre le cycle de fonctionnement général (de haut niveau) d'un processeur. Celui-ci:
Note: | La distinction entre bus du système et bus de données suivra dans la section sur le bus, plus loin. |
L'action dans un ordinateur suit un rythme très précis; un tempo régulier, qui dépend d'un petit cristal qu'on nomme horloge pour décider du moment où exécuter la prochaine de ses opérations. Le cristal en question émet des pulsations à un rythme connu, et chacune constitue un «tic» d'horloge.
Lorsqu'on achète un processeur à 500 MHz par exemple, cela signifie que l'horloge interne émet environs 5 millions de pulsations par seconde.
La fréquence d'horloge des ordinateurs personnels, grosso modo, double à chaque année. À titre de comparaison, les processeurs 8088 de la compagnie Intel, qu'on trouvait dans les ordinateurs personnels en vogue au début des années '90, étaient cadencés à 4,77 MHz...
Sans que cela soit le seul facteur pour évaluer la performance d'un processeur, la fréquence de l'horloge a un impact sur cette performance. En langage machine, chaque opération prend un certain nombre de tics d'horloge à compléter; plus l'horloge émet de tics dans un intervalle de temps donné, plus il sera possible d'effectuer d'opérations dans un même laps de temps.
Note: |
le paragraphe précédent est une simplification grossière; le calcul de la performance réelle d'un processeur ne doit pas se faire que par la fréquence de l'horloge, car ce facteur peut être trompeur. Mais entrer plus en détail dans cette question nous mènerait hors du cadre du cours 420 231. Limitons-nous à mentionner que chaque instruction machine prend un certain nombre de cycles d'horloge à accomplir--rarement un seul--et que le nombre de cycles d'horloge pour une opération donnée--une multiplication entière, par exemple--peut changer selon les processeurs. Soyez méfiant(e)s: si deux processeurs de même famille--par exemple, deux Pentium II--peuvent parfois être comparés en fonction de leur vitesse d'horloge respective, il est beaucoup moins adéquat de comparer deux processeurs de familles différentes--par exemple, un G3 et un Pentium II--selon ce seul critère. |
Il y a aussi une tendance à faire ce qu'on appelle du «overclocking», ou «surcadencer» le processeur, ce qui signifie faire fonctionner un processeur à une fréquence d'horloge plus élevée que celle pour laquelle il est garanti.
En effet, l'achat d'un processeur cadencé à 500 MHz ne signifie pas que 500 MHz est la cadence la plus élevée possible pour ce processeur, mais bien que le processeur a été testé à cette cadence et qu'il ne devrait pas surchauffer si utilisé ainsi.
Les processeurs surcadencés tendent à surchauffer, puisqu'ils sont offerts avec un système de refroidissement convenant à la cadence pour laquelle ils ont été vendus; les faire fonctionner à un rythme supérieur augmente la chaleur générée par la puce en question, d'où la surchauffe potentielle.
Surcadencer un processeur peut être une manière «économique» d'augmenter la puissance d'un ordinateur, si fait avec prudence. Il existe des guides (des livres de recette) sur Internet pour tester son processeur en augmentant graduellement sa cadence, dans le but d'éviter des dégâts, mais surcadencer demeure une opération risquée.
Un dernier avertissement: sans mise à jour des autres composantes d'un ordinateur, surcadencer un processeur peut donner des résultats décevants. Aucune des composantes de l'ordinateur, prise isolément, n'est à elle seule la cause du bon ou du mauvais fonctionnement de l'appareil en entier.
Une carte maîtresse désuète, un bus insuffisant, une mémoire vive de trop petite taille, un système d'exploitation mal configuré, et vos efforts risquent d'être gaspillés.
Les familles de processeurs que vous êtes les plus susceptibles de rencontrer--mais ce ne sont pas les seules--à court ou à moyen terme sont les suivantes:
|
La mémoire est un lieu d'entreposage des données et des instructions auxquelles le processeur peut rapidement avoir accès. |
![]() |
En cours de fonctionnement normal, la mémoire contient habituellement les éléments principaux du système d'exploitation, et les parties en cours d'utilisation des programmes chargés en mémoire, avec leurs données.
Le contenu de la mémoire vive est perdu lorsque l'ordinateur est éteint. Elle sert donc d'espace de travail pendant le fonctionnement normal de l'appareil, mais pas d'espace d'entreposage à long terme.
La mémoire vive est accessible en lecture comme en écriture. Son contenu est donc sujet à changer continuellement par effet des différents programmes en cours d'exécution.
On utilisera parfois le terme mémoire principale pour parler de la combinaison de la mémoire vive et de l'antémémoire (voir plus bas).
Vitesse d'accès à la mémoire |
---|
On parlera parfois de la vitesse d'accès à la mémoire en terme de nanosecondes (ns, une accès possible à chaque millionnième de seconde), parfois en terme de Mega-Hertz (MHz, millions d'accès possibles par secondes). La notation en MHz a la qualité qu'elle facilite, par exemple, la comparaison de la vitesse d'accès à la mémoire avec la vitesse du bus. |
Il est avantageux pour un ordinateur d'avoir beaucoup de mémoire vive: lorsque celle-ci est pleine (plusieurs programmes en cours d'exécution, de larges fichiers en traitement, et ainsi de suite), il devient parfois nécessaire de libérer un peu d'espace mémoire pour assurer le bon fonctionnement de l'ordinateur.
À ce moment, des sections de la mémoire seront entreposées sur le disque rigide (ce procédé s'appelle le «swapping») pour en être récupérées ultérieurement. Mais voilà: l'accès au disque rigide est beaucoup plus lent que l'accès à la mémoire, et chaque «swap» diminue grandement la vitesse générale d'exécution de l'ordinateur.
Le «swapping» est donc parfois nécessaire, mais pas vraiment désirable.
Avoir beaucoup de mémoire vive fait en sorte que celle-ci si remplit moins vite, et que son contenu doit moins souvent être soumis au «swapping». Cela permet à l'ordinateur de maintenir un meilleur niveau de performance.
L'antémémoire, comme une antichambre, est une catégorie de RAM plus rapprochée du processeur, et donc à accès encore plus rapide. L'idée est que le processeur cherchera d'abord les instructions et les données requises dans son antémémoire, puis (si elles ne s'y trouvent pas) ira voir dans la RAM «normale».
Pour que ceci soit un bon truc, il faut que l'antémémoire soit plus petite que la RAM, et que le processeur n'ait pas à y chercher longtemps.
On qualifie la proximité de l'antémémoire et du processeur comme suit:
Il existe d'autres types de mémoire dites en lecture seule (le terme anglais est Read-Only Memory--ROM), et dont il faut connaître l'existence même si elles sont moins du ressort de l'informaticien(ne). On parlera par exemple de ROM programmable (PROM), ou effaçable et programmable[5] (EPROM).
Ces mémoires en lecture seule servent à conserver des programmes et des données spéciaux et nécessaires au bon fonctionnement de l'ordinateur (comme le BIOS, que nous avons mentionné précédemment).
La mémoire «flash» (en anglais, «flash RAM») est une sorte de mémoire non volatile et constamment sous tension pouvant être effacée et (re)programmée par blocs d'un certain nombre d'octets. C'est une variante plus rapidement modifiable des EEPROM (pour «electrically erasable programmable ROM») qui, eux, doivent être effacés et (re)programmés octet par octet.
La mémoire «flash» contient souvent des instructions de contrôle essentielles comme le BIOS d'un ordinateur personnel. On peut modifier assez aisément le BIOS d'un PC si celui-ci est contenu dans une mémoire «flash» (exécuter un simple petit programme de mise à jour fait le boulot).
Il existe plusieurs «saveurs» de mémoire vive, et trois d'entre elles sont fréquemment mentionnées sur les spécifications du marchand à l'achat d'un ordinateur personnel.
La DRAM était, jusqu'à il n'y a pas si longtemps, la catégorie la plus communément rencontrée de RAM sur les ordinateurs personnels, alors que la SDRAM servait surtout aux antémémoires. Le prix de la SDRAM tend à être plus élevé que celui de la DRAM.
Depuis peu, on trouve surtout des circuits de SDRAM sur les ordinateurs personnels.
Pour comprendre la distinction entre SDRAM et DRAM, il faut se faire une image rapide de ce qu'est physiquement la mémoire vive.
La mémoire vive entrepose, si on la regarde à la loupe, des bits, sous forme électrique...
Certains bancs d'essai suggèrent que l'utilisation de SDRAM amène une amélioration de performance générale telle que l'absence d'antémémoire sur certains processeurs en vient à n'avoir qu'un faible impact. Soyez quand même sages, et évitez les processeurs sans antémémoire: les utilisateurs que vous êtes en profiteront sans l'ombre d'un doute.
La RAM statique (SRAM) conserve son contenu tant et aussi longtemps qu'elle reçoit du courant électrique, contrairement à la DRAM qui doit être périodiquement rafraîchie. La SRAM est plus rapidement accessible que la DRAM, mais coûte plus cher.
On utilise surtout la SRAM pour une antémémoire ou pour le RAMDAC d'une carte vidéo (où l'accès très rapide est gage de succès).
La mémoire vive, nous l'avons vu, est une unité d'entreposage «à court terme», un espace de travail pour les programmes en cours d'exécution.
Pour fins de conservation à long terme des instructions et des données, de même que dans le cas où la mémoire se remplit et doit être délestée d'une partie de son contenu, il faut avoir accès à un espace d'entreposage «à long terme», soit:
On nomme parfois ces médias d'entreposage à long terme des mémoires de masse, ou de mémoires secondaires, parmi lesquels on trouve entre autres:
Le disque rigide a ceci de particulier qu'il est fixe--en général--dans l'ordinateur, en contient presque toujours une partie des opérations à effectuer lors du démarrage; il sert aussi généralement de lieu d'entreposage pour les programmes les plus fréquemment utilisés, comme le système d'exploitation, à tel point qu'on le considère comme partie intégrante de l'ordinateur.
Un disque rigide n'est pas tant un disque que plusieurs disques empilés les uns sur les autres, qui tournent continuellement. Chacun d'entre eux est consulté par un bras de lecture maintenu en suspension par coussin d'air alors que le disque tourne (car s'il y avait contact entre un bras de lecture et un disque, le disque serait endommagé). |
![]() |
![]() |
Les données entreposées sur une surface de disque sont organisées en cercles concentriques nommées pistes (en anglais: «tracks»). L'ensemble des pistes correspondantes sur les différentes surfaces d'un disque forment un cylindre. |
Les pistes d'une surface sont elles-mêmes subdivisées en secteurs (en anglais: «sector»). La taille typique d'un secteur est 512 octets. Chaque bras de lecture (sauf pour le plus en haut et le plus en bas) possède deux têtes de lecture, pour accéder en lecture ou en écriture à la surface supérieure d'un disque et celle du côté inférieur d'un autre. |
![]() |
Toute donnée étant entreposée en un endroit précis (sur un secteur spécifique), sur le disque rigide, l'accès à une secteur demande que les têtes de lecture se déplacent au bon endroit (en anglais, on utilise le terme «seek» pour identifier ce déplacement). Le temps de déplacement des têtes influence, bien entendu, la performance du disque rigide.
Les disques rigides assurent en partie la sécurité des données de par des CRC (pour «cyclic redundancy checking»).
Le CRC résulte d'un calcul simple appliqué sur un bloc de données d'une certaine taille, et est entreposé avec ce bloc. Lors d'un accès au bloc en question, on peut refaire le calcul en question sur ces mêmes données; si la réponse obtenue diffère du CRC, on en déduira que le bloc a été corrompu ou autrement endommagé.
L'emploi d'un CRC sur un bloc de données permet de détecter des erreurs tenant d'un bit corrompu ou manquant. Cette protection n'existe pas sur tous les médias--entre autres, les disques optiques en sont dépourvus; sans être plus susceptibles de voir leurs données corrompues, ils sont à tout le moins incapables de détecter une éventuelle corruption.
Un même disque rigide peut être séparé logiquement en plusieurs partitions. Chaque partition portera un nom et aura sa propre organisation interne[7].
Le tout premier secteur d'un disque rigide est généralement connu sous le nom de secteur de partition (en anglais: «Partition Sector» ou encore «Master Boot Record»). Ce secteur contient un petit programme (le «boot-strap») destiné à charger une partie du système d'exploitation en mémoire une fois l'ordinateur allumé.
Il ne peut y avoir plus d'un secteur de partition sur un disque rigide, et c'est toujours le tout premier d'entre eux. Ce secteur contient aussi la table des partitions, qui décrit les partitions qu'on retrouve sur le disque.
Note: | Ce secteur est une cible de choix pour les virus informatiques, pour des raisons évidentes. |
Le schéma suivant[8] présente (de haut niveau) l'organisation d'un disque rigide ayant deux partitions Windows, nommées C et D. L'organisation d'une partition pour un autre système d'exploitation--par exemple LINUX--serait différente[9].
Le reste de la partition--la plus grande partie, en fait--sert aux différents fichiers et sous répertoires de la partition: à son contenu à proprement dit.
Pour que le processeur, la mémoire, le disque rigide et ainsi de suite puissent communiquer, il faut qu'ils soient tous physiquement reliés les uns aux autres. La composante matérielle qui assure ce lien dans l'ordinateur se nomme le bus.
Un bus a deux propriétés essentielles:
Le bus d'un ordinateur est un chemin de transmission sur lequel circulent des signaux qui peuvent être offerts ou saisis par n'importe quelle composante y étant attachée. Chaque signal transporte avec lui l'information nécessaire pour identifier ses destinataires; ainsi, seules les composantes destinées à recevoir un signal donné s'en saisiront.
Il semble que le terme bus soit tiré de la similarité de ce procédé avec la routine des autobus, qui s'arrêtent à différents points sur leur trajet pour embarquer ou débarquer des passagères comme des passagers.
![]() |
De même, pour que tout ce beau monde se rencontre, il faut qu'ils soient quelque part. On nomme ce lieu où toutes les composantes sont branchées et reliées par le bus la carte maîtresse (en anglais: «motherboard»). |
![]() |
Généralement, sur une carte maîtresse, on retrouvera plusieurs circuits imprimés ou fixés sur une surface plane solide, le tout manufacturé d'un bloc.
La technologie AT de IBM primait jusqu'à il n'y a pas si longtemps. Ces jours-ci, la spécification ATX (une mise à jour de la spécification AT) prime pour ce qui est de la conception des cartes maîtresses des ordinateurs personnels.
On retrouve sur une carte maîtresse AT ou ATX les composantes suivantes:
Les ordinateurs offrent des fentes dites «d'extension» («Expansion Slots») permettant d'étendre leurs capacités en branchant des cartes offrant des fonctions supplémentaires. |
|
|
|
Les fentes d'extension sont des séries de petits trous près les uns des autres (en général, on parlera d'entre 16 et 64 petits trous) et d'un espace suffisant pour insérer une carte contenant les circuits requis pour offrir des fonctions spécialisées (accélération de la vidéo, du son, contrôle d'un disque rigide, etc.) |
On nomme carte un ensemble de circuits offrant une extension des fonctions d'un ordinateur, offerte généralement sous la forme d'une surface plane de taille standardisée (pour en faciliter la connexion). On branche une carte dans une fente d'extension.
On trouve, pour les ordinateurs personnels, deux (2) formats distincts de cartes, convenant à deux (2) formats standardisés de fentes d'extension.
Une carte offre parfois une fonction qui lui est propre, comme par exemple une carte vidéo, ou encore permet le contrôle d'un périphérique, comme dans le cas d'un contrôleur de disque rigide.
L'ordinateur, en soi, n'a pas besoin d'un écran, d'un clavier ou d'une souris. Mais l'usager, lui, aime bien pouvoir communiquer avec l'ordinateur--c'est quand même légitime de sa part.
On munit donc les ordinateurs d'unités d'entrée et de sortie qu'on nomme périphériques, (en anglais: «peripherals» ou--fréquemment--«devices») parce qu'elles sont en périphérie de l'ordinateur lui-même.
Note: |
le disque rigide est présenté, dans le schéma, comme un périphérique. On le considère néanmoins comme partie intégrante de l'ordinateur dans la plupart des cas, du fait qu'il est fixe et interne à l'appareil. Pour fins schématiques, il demeure plus facile de le représenter comme l'un des périphériques d'entrée/ sortie avec l'unité de disquette et le lecteur de disque optique. Au sens strict, on considérera généralement périphérique toute unité qui peut être installée et remplacée individuellement. Le terme ne s'appliquera pas à la carte maîtresse, au processeur et aux coprocesseurs (s'il y a lieu), non plus qu'au bus ou à la mémoire vive. |
Nous ne présenterons pas ici tous les périphériques possibles et impossibles--ce serait ridicule et voué à l'échec. Nous prendrons toutefois soin de rappeler la distinction entre périphériques d'entrée, de sortie, d'entrée/ sortie, et nous discuterons brièvement du rôle des logiciels qu'on nomme pilotes.
On sépare les périphériques en trois grandes catégories, soit les périphériques d'entrée, de sortie et d'entrée/ sortie:
Les périphériques permettent à l'ordinateur de communiquer avec le monde extérieur, que ce soit avec l'usager ou avec d'autres ordinateurs. Ils font partie intégrante de l'utilisation de l'informatique, et gravitent autour de l'ordinateur.
Les périphériques arrivent à leurs fins lorsqu'utilisés par un programme écrit à cette fin. On nommera pilote (en anglais: «driver» ou «device driver») un programme--généralement petit--permettant aux autres programmes[10] de communiquer avec un périphérique spécifique[11] et de le contrôler.
On trouve souvent une banque de pilotes fournis pour les périphériques les plus communs à un système d'exploitation donné lorsqu'on installe ce système d'exploitation. Pour l'installation de périphériques moins communs, ou plus récents, il est toutefois de mise d'installer soi-même les pilotes requis--qui seront alors offerts par téléchargement via Internet, ou sur un autre support tel qu'une disquette ou un disque optique.
Grossièrement, un pilote effectue la traduction des instructions d'entrée/ sortie générales d'un système d'exploitation donné en des messages que le périphérique saura comprendre et traiter correctement.
Ce qui suit se veut à la fois un court résumé de ce que nous avons vu, et un retour schématique pour remettre les idées en place, en relation les unes avec les autres. Cette section se terminera sur une liste d'URL vous permettant de fouiner par vous-mêmes, si le coeur vous en dit.
Le schéma suivant est tiré de «http://ecol.webpoint.com/computer/parts.htm». Il présente clairement (quoiqu'en anglais) les différentes composantes entrevues dans le présent document, et apparaît comme l'intérieur--simplifié--d'un ordinateur personnel.
Le schéma suivant illustre brièvement la vitesse d'accès à différents types de mémoire. Plus on s'éloigne du processeur, moins la vitesse d'accès aux données est bonne.
Table des matières
![]() |
![]() |
![]() |
Notes
[1]Les micro opérations ne sont pas au menu du cours 420 231, non plus qu'au menu du DEC en informatique. Elles sont mentionnées ici au passage, mais sont en général du ressort d'autres spécialistes de la haute technologie que des informaticien(ne)s.
[2]À une époque pas si lointaine, c'est une puce séparée du processeur et qu'on appelait le coprocesseur mathématique qui se chargeait des opérations sur des nombres à virgule flottante.
[3]Pour une comparaison des performances d'un Pentium III et d'un processeur Athlon, je vous suggère http://www.review-zone.com/hardware/processors/athlon_vs_pentium_III/page1.shtml
[4]Digital appartient maintenant à Compaq.
[5]Ces mémoires sont programmables par faisceau de lumière, impulsion électrique ou de par d'autres procédés mécaniques. Au sens d'un programme en cours d'exécution dans l'ordinateur, elles ne sont pas modifiables, d'où leur statut «lecture seule».
[6]Ceci signifie que même si on vise à lire un seul octet d'un disque rigide, on se retrouvera à lire tout un secteur, bien qu'on n'ait pas à utiliser les parties dudit secteur ne nous intéressant pas. Ceci est dû au fait que les disques rigides implantent ce qu'on appelle un CRC (pour «cyclic redundancy checking»). Voir plus loin à ce sujet.
[7]Ceci signifie qu'un même disque rigide peut être partagé, par exemple, entre plusieurs systèmes d'exploitation, chacun utilisant les partitions lui convenant. Ceci signifie aussi qu'il est possible, sur un ordinateur personnel utilisant Windows par exemple, de voir des disques portant les noms C: et D: même si concrètement, il n'y a qu'un seul disque rigide dans l'appareil.
[8]Source: «http://www.grisoft.cz/elman/uk/data/harddisk.htm».
[9]Pour les plus ambitieux et les plus ambitieuses parmi vous, l'hyperlien suivant discute de partitions LINUX: «http://www.metalab.unc.edu/mdw/HOWTO/mini/Partition.html».
[10]En particulier le système d'exploitation, bien sûr.
[11]Un pilote sert généralement d'interface à un périphérique (ou un groupe restreint de périphériques similaires) sur une plate-forme (ou un groupe de plates-formes proches l'une de l'autre). Les pilotes sont presque toujours des programmes efficaces, mais très spécialisés.