Ma liste de blogs

mardi 10 avril 2012

Évolution de l'architecture de l'ordinateur


Figure: Architecture de la machine informatique
\begin{figure}\centering \mbox{
\subfigure[Schéma 1]{\epsfig{figure=graphics/ar...
...{figure=graphics/architecture_ordinateur_4.eps,width=5.5cm}}\quad }
\end{figure}
Un ordinateur est une machine à calculer automatique. Le schéma général d'un ordinateur est de prendre en entrée des données, d'effectuer un traitement automatique, par exemple une addition (sans intervention de l'humain) et de fournir en sortie des résultats (voir le schéma [*] fig-architecture-ordinateur-1). Le problème avec ce schéma, s'il ne comporte qu'une unité de traitement est qu'on ne peut pas effectuer des opérations complexes nécessitant des traitements intermédiaires, de type $(4+5) + (6+7)$. Il faudrait mémoriser le résultat intermédiaire ($9$).
Rajoutons donc une mémoire qui permettrait de stocker les résultats intermédiaires (voir le schéma [*] fig-architecture-ordinateur-2). Problème, la machine ne sait toujours effectuer qu'un seul traitement.
Il faudrait concevoir une machine susceptible d'effectuer à un instant donné un traitement choisi parmis plusieurs possibles (additions, multiplications, soustractions, etc.). Le traitement que la machine pourrait désormais effectuer serait beaucoup plus étendu, et serait le résultat d'une suite d'actions élémentaires. Cette suite d'actions est un programme. On construit donc un organe particulier à l'ordinateur, qu'on appelle le programmateur (il trouve ses ordres sur un support quelconque, carte perforée, ruban, etc.). C'est l'architecture développée par Babbage dès 1812. Le nombre de traitements possibles est dorénavant pratiquement infini. Problème: le programme est indépendant des résultats intermédiaires (pas de « si $A$ alors $B$ »), et dépend de la vitesse du défilement du support du programme.
Dans les années 40, l'architecture de l'ordinateur n'a toujours pas évolué et la programmation physique (par commutateurs) est devenue vraiment trop lente et trop rigide par rapport à la vitesse de traitement des instructions (exemple de l'ENIAC qui est un monstre). Von Neumann à l'idée de placer le programmme en mémoire (proposition de Von Neumann). La vitesse est limitée par le temps de transfert en mémoire, le programme peut réagir aux résultats trouvés (branchements conditionnels).

Aucun commentaire:

Enregistrer un commentaire