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

Contenu supprimé Contenu ajouté
mAucun résumé des modifications
Ligne 118 :
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éciseprécises, comme des calculs, des échanges de données avec la mémoire, etc. Ces opérations sont appelées des traitements élémentaires auquel on donne le nom d''''instructions'''. UnElles grandse 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 agirclassent en fonction.quelques D'autres instructions d'accès mémoire permettent d'échanger des informations entre la mémoire et le processeur. Il existe d'autresgrands types d'instructions, mais nous laissons ceux-ci pour plus tard. Pour le moment, nous pouvons nous limiter aux instructions les plus élémentairestrès simples : les calculs et les accès à la mémoire.
 
* Les instructions arithmétiques font des calculs. Un ordinateur peut ainsi additionner deux nombres, les soustraire, les multiplier, les diviser, etc.
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.
* Les instructions de test comparent deux nombres entre eux et agissent en fonction.
* Les instructions d'accès mémoire échangent des données entre la mémoire et le processeur.
* Les instructions d'entrée-sortie communiquent avec les périphériques.
* Etc.
 
LeTout processeur est conçu pour exécuter une suite d'instructions dans l'ordre demandé, cette suite s'appelant un '''programme'''. exécutéCe parque 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. C'est ce qui permet de le modifier, rendant l'ordinateur programmable. 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.
 
===Program Counter===