Origine de l'architecture Von Neumann, modèle, comment ça marche

4799
David Holt
Origine de l'architecture Von Neumann, modèle, comment ça marche

La Architecture von Neumann Il s'agit d'une conception théorique permettant à un ordinateur d'avoir un programme stocké en interne, servant de base à presque tous les ordinateurs actuellement fabriqués.

Une machine von Neumann se compose d'une unité centrale de traitement, qui comprend une unité logique arithmétique et une unité de commande, ainsi qu'une mémoire principale, un stockage secondaire et des dispositifs d'entrée / sortie..

Source: David strigoi - Travail personnel, domaine public, commons.wikimedia.org

Cette architecture suppose que chaque calcul extrait les données de la mémoire, les traite, puis les renvoie en mémoire..

Dans une architecture von Neumann, la même mémoire et le même bus sont utilisés pour stocker à la fois les données et les instructions qui exécutent un programme.

Index des articles

  • 1 Architecture améliorée
  • 2 Origine
  • 3 modèle
    • 3.1 - Unité centrale de traitement (CPU)
    • 3.2 - Mémoire
    • 3.3 - Entrée-sortie
    • 3.4 - Autobus
  • 4 Comment fonctionne l'architecture von Neumann?
    • 4.1 Recherche
    • 4.2 Décoder
    • 4.3 Exécuter
    • 4.4 Magasin
    • 4.5 Goulot d'étranglement
  • 5 avantages
    • 5.1 Développement de systèmes d'exploitation
  • 6 Inconvénients
  • 7 Références

Amélioration de l'architecture

Étant donné que les données et la mémoire programme ne sont pas accessibles en même temps, l'architecture von Neumann est sujette à des goulots d'étranglement et à un affaiblissement des performances de l'ordinateur. C'est ce qu'on appelle le goulot d'étranglement de von Neumann, où la puissance, les performances et le coût sont affectés..

L'une des modifications apportées impliquait de reconsidérer la quantité de données qui devaient réellement être envoyées en mémoire et la quantité qui pouvait être stockée localement.

De cette manière, au lieu d'avoir à tout envoyer en mémoire, plusieurs caches et caches proxy peuvent réduire le flux de données des puces du processeur vers les différents périphériques..

Origine

En 1945, après la Seconde Guerre mondiale, deux scientifiques ont soulevé de manière autonome comment construire un ordinateur plus malléable. L'un d'eux était le mathématicien Alan Turing et l'autre était le scientifique tout aussi talentueux John Von Neumann..

Le britannique Alan Turing avait été impliqué dans le déchiffrage du code Enigma à Bletchley Park, en utilisant l'ordinateur «Colossus». En revanche, l'Américain John Von Neumann avait travaillé sur le projet Manhattan pour construire la première bombe atomique, ce qui a nécessité de nombreux calculs manuels..

Jusque-là, les ordinateurs de guerre étaient plus ou moins «programmés» en reconnectant l'ensemble de la machine afin d'effectuer une tâche différente. Par exemple, le premier ordinateur appelé ENIAC a mis trois semaines à se reconnecter pour effectuer un calcul différent..

Le nouveau concept consistait en ce que dans une mémoire non seulement les données devaient être stockées, mais aussi le programme qui traitait ces données devait être stocké dans la même mémoire.

Cette architecture de programme stockée en interne est communément appelée architecture «Von Neumann»..

Cette nouvelle idée signifiait qu'un ordinateur avec cette architecture serait beaucoup plus facile à reprogrammer. En effet, le programme lui-même serait traité de la même manière que les données.

Modèle

Le fondement principal du modèle de Von Neumann est l'idée que le programme est stocké en interne dans une machine. L'unité de mémoire contient les données et également le code de programme. La conception de l'architecture se compose de:

Source: De UserJaimeGallego - Ce fichier est dérivé de Von Neumann Architecture.svg, CC BY-SA 3.0, commons.wikimedia.org

- Unité centrale de traitement (CPU)

C'est le circuit numérique qui est chargé d'exécuter les instructions d'un programme. Il est également appelé processeur. La CPU contient l'ALU, l'unité de contrôle et un ensemble de registres.

Unité arithmétique logique

Cette partie de l'architecture n'est impliquée que dans l'exécution d'opérations arithmétiques et logiques sur les données..

Les calculs habituels d'addition, de multiplication, de division et de soustraction seront disponibles, mais des comparaisons de données telles que «supérieur à», «inférieur à», «égal à» seront également disponibles..

Unité de contrôle

Contrôle le fonctionnement de l'ALU, de la mémoire et des périphériques d'entrée / sortie de l'ordinateur, en leur indiquant comment agir selon les instructions du programme que vous venez de lire dans la mémoire.

L'unité de contrôle gérera le processus de déplacement des données et des programmes vers et depuis la mémoire. Il se chargera également d'exécuter les instructions du programme, une à la fois ou séquentiellement. Cela inclut l'idée d'un registre pour contenir les valeurs intermédiaires.

Registres

Ce sont des zones de stockage à grande vitesse sur le processeur. Toutes les données doivent être stockées dans un registre avant de pouvoir être traitées.

Le registre d'adresse mémoire contient l'emplacement mémoire des données auxquelles accéder. Le registre de données de la mémoire contient les données qui sont transférées vers la mémoire.

- Mémoire

L'ordinateur aura une mémoire qui peut contenir des données, ainsi que le programme qui traite ces données. Dans les ordinateurs modernes, cette mémoire est la RAM ou la mémoire principale. Cette mémoire est rapide et accessible directement par le CPU.

La RAM est divisée en cellules. Chaque cellule se compose d'une adresse et de son contenu. L'adresse identifiera de manière unique chaque emplacement en mémoire.

- Entrée sortie

Cette architecture permet de capturer l'idée qu'une personne a besoin pour interagir avec la machine, à travers les périphériques d'entrée-sortie.

- Autobus

Les informations doivent circuler entre les différentes parties de l'ordinateur. Dans un ordinateur avec l'architecture von Neumann, les informations sont transmises d'un appareil à un autre via un bus, reliant toutes les unités centrales à la mémoire principale..

Le bus d'adresses transporte les adresses de données, mais pas de données, entre le processeur et la mémoire.

Le bus de données transporte des données entre le processeur, la mémoire et les périphériques d'entrée-sortie.

Comment fonctionne l'architecture von Neumann?

Le principe pertinent de l'architecture von Neumann est que les données et les instructions sont stockées en mémoire et traitées de la même manière, ce qui signifie que les instructions et les données sont directionnelles..

Il fonctionne en quatre étapes simples: rechercher, décoder, exécuter, stocker, appelé le «cycle machine».

Les instructions sont obtenues par le CPU à partir de la mémoire. La CPU décode et exécute ensuite ces instructions. Le résultat est réenregistré en mémoire une fois le cycle d'exécution des instructions terminé..

Chercher

Dans cette étape, les instructions sont obtenues à partir de la RAM et placées dans le cache pour que l'unité de contrôle y accède..

Décoder

L'unité de contrôle décode les instructions de manière à ce que l'unité arithmétique logique puisse les comprendre, puis les envoie à l'unité arithmétique logique.

Cours

L'unité logique arithmétique exécute les instructions et renvoie le résultat dans le cache.

Stocker

Une fois que le compteur de programme indique l'arrêt, le résultat final est téléchargé dans la mémoire principale.

Goulot

Si une machine von Neumann souhaite effectuer une opération avec des données en mémoire, elle doit être transférée via le bus vers la CPU. Après avoir effectué le calcul, vous devez déplacer le résultat en mémoire via le même bus.

Le goulot d'étranglement de Von Neumann se produit lorsque des données entrées ou supprimées de la mémoire doivent s'écouler pendant que l'opération de mémoire en cours se termine..

Autrement dit, si le processeur vient de terminer un calcul et est prêt à effectuer le suivant, il doit écrire le calcul terminé, qui occupe le bus, en mémoire avant de pouvoir récupérer de nouvelles données de la mémoire, qui utilisent également les mêmes autobus..

Ce goulot d'étranglement s'est aggravé avec le temps, car les microprocesseurs ont augmenté leur vitesse et d'autre part la mémoire n'a pas avancé aussi rapidement.

avantage

- L'unité de contrôle récupère les données et les instructions de la même manière dans la mémoire. Par conséquent, la conception et le développement de l'unité de contrôle sont simplifiés, étant moins chers et plus rapides..

- Les données des périphériques d'entrée / sortie et de la mémoire principale sont récupérées de la même manière.

- L'organisation de la mémoire est effectuée par des programmeurs, ce qui permet d'utiliser la pleine capacité de la mémoire.

- La gestion d'un seul bloc de mémoire est plus simple et plus facile à réaliser.

- La conception de la puce du microcontrôleur est beaucoup plus simple, car une seule mémoire sera accessible. La chose la plus importante à propos du microcontrôleur est l'accès à la RAM et dans l'architecture von Neumann, cela peut être utilisé à la fois pour stocker des données et pour stocker des instructions de programme..

Développement de systèmes d'exploitation

Le principal avantage d'avoir la même mémoire pour les programmes et les données est que les programmes peuvent être traités comme s'il s'agissait de données. En d'autres termes, vous pouvez écrire des programmes dont les données sont d'autres programmes.

Un programme dont les données sont un autre programme n'est rien de plus qu'un système d'exploitation. En fait, si les programmes et les données n'étaient pas autorisés dans le même espace mémoire, comme c'est le cas avec l'architecture von Neumann, les systèmes d'exploitation n'auraient jamais pu être développés.

Désavantages

Bien que les avantages l'emportent de loin sur les inconvénients, le problème est qu'il n'y a qu'un seul bus connectant la mémoire au processeur, de sorte qu'une seule instruction ou un élément de données peut être extrait à la fois..

Cela signifie que le processeur devra peut-être attendre plus longtemps pour que les données ou les instructions arrivent. C'est ce qu'on appelle le goulot d'étranglement de von Neumann. Comme le CPU est beaucoup plus rapide que le bus de données, cela signifie qu'il reste souvent inactif.

- En raison du traitement séquentiel des instructions, la mise en œuvre parallèle du programme n'est pas autorisée.

- En partageant la mémoire, il y a un risque qu'une instruction soit écrasée sur une autre en raison d'une erreur dans le programme, provoquant un plantage du système..

- Certains programmes défectueux sont incapables de libérer de la mémoire lorsqu'ils en ont terminé, ce qui pourrait entraîner le blocage de l'ordinateur en raison d'une mémoire insuffisante.

- Les données et les instructions partagent le même bus de données, même si la vitesse à laquelle chacune doit être récupérée est souvent très différente..

Les références

  1. Ingénierie des semi-conducteurs (2019). Architecture de Von Neumann. Tiré de: semiengineering.com
  2. Scott Thornton (2018). Quelle est la différence entre les architectures Von-Neumann et Harvard? Conseils sur les microcontrôleurs. Tiré de: microcontrollertips.com.
  3. Enseigner les TIC (2019). La machine Von Neumann. Tiré de: teach-ict.com.
  4. Informatique (2019). Architecture de Von Neumann. Tiré de: computerscience.gcse.guru.
  5. Apprenez l'informatique avec Mr C (2019). La machine Von Neumann. Tiré de: learnitwithmrc.co.uk.
  6. Solid State Media (2017). Comment fonctionnent les ordinateurs? L'architecture de Von Neumann. Tiré de: solidstateblog.com.

Personne n'a encore commenté ce post.