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

Contenu supprimé Contenu ajouté
Ligne 116 :
===Instructions et programmes===
 
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écise, comme des calculs, des échanges de données avec la mémoire, etc. Ces opérations sont des traitements élémentaires auquel on donne le nom d''''instructions'''. Ce sont des calculs, des échanges de données avec la mémoire, etc. Un grand nombre d'instructions servent à faire des calculs : un ordinateur peut ainsi additionner deux nombres, les soustraire, les multiplier, les diviser, etc. Les instructions de test peuvent comparer deux nombres entre eux pour vérifier si deux nombres sont égaux ou non, et agir en fonction. D'autres instructions d'accès mémoire permettent d'échanger des informations entre la mémoire et le processeur. Il existe d'autres types d'instructions, mais nous laissons ceux-ci pour plus tard. Pour le moment, nous pouvons nous limiter aux instructions les plus élémentaires : les calculs et les accès à la mémoire.

Pour modifier le comportement de ce processeur, il suffit de créer une suite d'instructions qui va faire ce que l'on souhaite : cette suite d'instructions s’appelle un '''programme'''. La totalité des logiciels présents sur un ordinateur sont des programmes comme les autres. Tout processeur est conçu pour exécuter cette suite d'instructions dans l'ordre demandé. Ce programme est stocké dans la mémoire de l'ordinateur, ce qui fait qu'on peut le modifier, rendant l'ordinateur programmable.
 
Le programme exécuté par le processeur est stocké comme les données : sous la forme de suites de bits dans notre mémoire. Dans ces conditions, 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.