« Fonctionnement d'un ordinateur/L'architecture de base d'un ordinateur » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 114 :
L''''unité de traitement''' est un circuit qui s'occupe de faire des calculs et de manipuler l'information provenant des entrées-sorties ou récupérée dans la mémoire. Dans les circuits vus auparavant, le traitement effectué par l'unité de traitement est toujours le même et dépend uniquement du câblage de celle-ci : impossible de faire faire autre chose à l'unité de traitement que ce pour quoi elle a été conçue. Par exemple, un circuit conçu pour additionner des nombres ne pourra pas faire autre chose. On peut parfois reconfigurer le circuit, pour faire varier certains paramètres via des interrupteurs ou des boutons, mais cela s’arrête là : l'unité de traitement n'est pas programmable. Et cela pose un problème : à chaque problème qu'on veut résoudre en utilisant un automate, on doit recréer un nouveau circuit.
 
Mais sur certains circuits, on peut remplacer le traitement effectué sans modifier leur câblage. On peut donc faire ce que l'on veut de ces circuits : ceux-ci sont réutilisables à volonté et il est possible de modifier leur fonction du jour au lendemain. On dit qu'ils sont programmables. Pour rendre un circuit programmable, il faut impérativement modifier son unité de traitement, qui devient ce qu'on appelle un '''processeur''', ou '''''Central Processing Unit''''', abrévié en CPU. Tout processeur est conçu pour effectuer un nombre limité d'opérations bien précises, comme des calculs, des échanges de données avec la mémoire, etc. Ces opérations sont appelées des ''''instructions'''. Elles se classent en quelques grands types très simples :
 
* Les instructions arithmétiques font des calculs. Un ordinateur peut ainsi additionner deux nombres, les soustraire, les multiplier, les diviser, etc.
Ligne 124 :
===Programmes===
 
Tout processeur est conçu pour exécuter une suite d'instructions dans l'ordre demandé, cette suite s'appelant un '''programme'''. Ce que fait le processeur est définit par la suite d'instructions qu'il exécute, par le programme qu'on lui demande de faire. La totalité des logiciels présents sur un ordinateur sont des programmes comme les autres. Ce programme est stocké dans la mémoire de l'ordinateur, comme les données : sous la forme de suites de bits dans notre mémoire. Le programme est donc dans une mémoire, volatile, de type RWM, qui est donc modifiable à loisir. C'est ceainsi quique permetnotre ordinateur est rendu programmable : on peut parfaitement modifier le contenu de la mémoire (ou la changer, au pire), et donc changer le modifierprogramme exécuté par notre ordinateur. Mine de rien, rendantcette lidée d'automate stockant son programme en mémoire est ce qui a fait que l’informatique est ce qu'elle est aujourd’hui. C'est la définition même d'ordinateur : appareil programmable qui stocke son programme dans une mémoire modifiable.
 
En théorie, il est impossible de faire la différence entre donnée et instruction. Il arrive assez rarement que le processeur charge et exécute des données, qu'il prend par erreur pour des instructions, mais cela est rare. Cela peut même être un effet recherché : par exemple, on peut créer des programmes qui modifient leurs propres instructions : cela s'appelle du '''code auto-modifiant'''. Ce genre de choses servait autrefois à écrire certains programmes sur des ordinateurs rudimentaires (pour gérer des tableaux et autres fonctionnalités de base utilisées par les programmeurs), pouvait aussi permettre de rendre nos programmes plus rapides, servait à compresser un programme, ou pire : permettait de cacher un programme et le rendre indétectable dans la mémoire (les virus informatiques utilisent beaucoup de genre de procédés). Mais passons ! Ce qu'il faut retenir est que le fait que le programme soit stocké comme les données est ce qui permet à l'ordinateur d'être reprogrammable, et non simplement reconfigurable.