GCSE Von Neumann Architecture (14-16 ans)
- Une présentation de cours PowerPoint modifiable
- Des polycopiés de révision modifiables
- Un glossaire qui couvre les terminologies clés du module
- Des mindmaps thématiques pour visualiser les concepts clés
- Des flashcards imprimables pour aider les élèves à engager un rappel actif et une répétition basée sur la confiance.répétition basée sur la confiance
- Un quiz avec son corrigé pour tester la connaissance et la compréhension du module
A-Level Contemporary Processors (16-18 ans)
- Une présentation de cours PowerPoint modifiable
- Des polycopiés de révision modifiables
- Un glossaire qui couvre les terminologies clés du module
- Des mindmaps thématiques pour visualiser les concepts clés
- Des flashcards imprimables pour aider les élèves à s’engager dans un rappel actif et une répétition basée sur la confiance-.répétition basée sur la confiance
- Un quiz avec clé de réponse d’accompagnement pour tester la connaissance et la compréhension du module
Le terme Architectures informatiques se réfèrent à un ensemble de règles indiquant comment le logiciel et le matériel informatique sont combinés ensemble et comment ils interagissent pour rendre un ordinateur fonctionnel, en outre, l’architecture informatique spécifie également les technologies que l’ordinateur est capable de gérer.
L’architecture informatique est une spécification, qui décrit comment le logiciel et le matériel interagissent ensemble pour produire une plate-forme fonctionnelle.
Lorsqu’une personne pense au mot « architecture », l’esprit humain pensera probablement à l’assemblage de bâtiments ou de maisons, de plus, avec le même principe en tête, l’architecture informatique implique la construction d’un système informatique en interne et en externe.
Il existe trois catégories principales dans l’architecture informatique:
- Conception du système:
- La conception du système est les parties matérielles, qui comprennent les multiprocesseurs, les contrôleurs de mémoire, l’unité centrale, les processeurs de données et l’accès direct à la mémoire. La conception du système peut être considérée comme le système informatique réel.
- Architecture du jeu d’instructions :
- Elle tourne autour de l’unité centrale de traitement. Elle comprend les capacités et les fonctions de l’unité centrale, en outre, elle comprend également les formats de données de l’unité centrale, le langage de programmation et les types de registres et d’instructions du processeur, qui sont utilisés par les programmeurs informatiques.
- L’unité centrale est la partie de l’ordinateur, qui permet l’exécution d’un programme, que ce soit le système d’exploitation ou une application comme Photoshop.
- Microarchitecture :
- La microarchitecture dans un système définira les éléments de stockage/chemins de données et comment ils seront implémentés dans l’architecture du jeu d’instructions, la microarchitecture est également responsable du traitement des données.
Tout cela se gélifiera dans un certain ordre pour rendre le système fonctionnel.
Qu’est-ce que l’architecture de von Neumann ?
En 1945, John von Neumann, qui était mathématicien à l’époque, avait creusé l’étude que, un ordinateur pourrait avoir une structure simple fixe et être encore capable d’exécuter n’importe quel type de calcul sans modification du matériel. Ceci à condition que l’ordinateur soit correctement programmé avec des instructions appropriées, dans lesquelles il est capable de les exécuter.
L’avancement primaire de Von Neumann était appelé « transfert de contrôle conditionnel », qui avait permis à une séquence de programme d’être interrompue et ensuite réinitialisée à n’importe quel point, de plus cet avancement avait permis aux données d’être stockées avec des instructions dans la même unité de mémoire.
Ceci était bénéfique parce que si les instructions étaient désirées, elles peuvent être arithmétiquement modifiées de la même manière que les données.
L’architecture de von Neumann décrit un modèle de conception pour un ordinateur numérique à programme enregistré qui n’incorpore qu’une seule unité de traitement et une seule structure de stockage séparée, qui contiendra à la fois les instructions et les données.
L’architecture de von Neumann fait référence à celle qui conserve les données ainsi que les instructions programmées dans une RAM (Random Access Memory) en lecture-écriture.
Caractéristiques de l’architecture de von Neumann
Comme mentionné ci-dessus, l’architecture de von Neumann est basée sur le fait que les données du programme et les données des instructions sont stockées dans la même unité de mémoire. Cela peut également être appelé le « concept de programme stocké ».
Cette conception est toujours utilisée dans l’ordinateur produit de nos jours:
Unité centrale de traitement (CPU):
- L’unité centrale de traitement est un circuit électronique, qui exécute les instructions du programme informatique.
- L’unité centrale de traitement peut également être appelée microprocesseur ou processeur.
A l’intérieur de l’unité centrale de traitement, il y a l’ALU, l’UC et les registres, qui sont décrits plus en détail ci-dessous :
Unité de commande :
- Contrôle le fonctionnement de l’UAL, de la mémoire et des entrées/sorties, en leur indiquant comment répondre aux instructions du programme qu’elle venait de lire et d’interpréter à partir de l’unité de mémoire. L’unité de contrôle dirige les opérations de l’unité centrale en exécutant les tâches suivantes :
- Coordonner et contrôler les activités de l’unité centrale
- Gérer le flux de données entre les autres composants et l’unité centrale
- Accuser et accepter l’instruction suivante
- Décoder les instructions
- Remettre en mémoire les données résultantes dans une unité de mémoire
Unité arithmétique et logique (ALU) :
- permet d’effectuer des opérations logiques et arithmétiques telles que l’addition et la soustraction.
- (Les opérateurs logiques sont : ET, OU, NON, XOR)
Unité de mémoire :
- Comprend la mémoire vive, qui est partitionnée et se compose d’une adresse et de son contenu, qui sont sous forme binaire.
- La RAM (Random Access Memory) est un type de mémoire rapide contrairement aux disques durs, elle est également directement accessible par l’unité centrale.
- L’existence de la RAM dans une unité centrale, lui permet de fonctionner beaucoup plus rapidement et donc plus efficacement.
Registres :
- Petit bloc dans l’unité centrale qui consiste en des cellules de mémoire de stockage à grande vitesse qui stockent les données avant qu’elles ne soient traitées, toutes les opérations logiques, arithmétiques et de décalage se produisent ici.
- Le registre se compose de 5 éléments
- Compteur de programme (PC) : détient l’adresse de la prochaine instruction à exécuter
- Accumulateur (AC) : Zone de stockage où sont stockés les résultats logiques et arithmétiques
- Registre d’adresse mémoire (MAR) : Détient l’adresse d’un emplacement des données qui doivent être lues ou écrites
- Registre de données mémoire (MDR) : Emplacement de stockage temporaire qui stocke les données qui ont été lues, ou les données qui doivent encore être écrites
- Registre d’instruction en cours (CIR) : Zone où l’instruction courante est en cours d’exécution. L’opération est divisée en opérande et opcode.
- Opérande : Contient des données ou l’adresse des données (où l’opération sera exécutée)
- Opcode : Spécifie le type d’instruction à exécuter
Bus :
- Ce sont un ensemble de fils parallèles, qui relient les composants (deux ou plus) à l’intérieur de l’unité centrale. À l’intérieur de l’unité centrale, il existe trois types de bus, et ils sont tous désignés sous le nom de bus système. Les types de bus sont les suivants : Le bus de données, le bus de contrôle et le bus d’adresse.
- Bus de données : Ce bus est désigné comme un bus bidirectionnel, ce qui signifie que les « bits » peuvent être transportés dans les deux sens. Ce bus est utilisé pour transporter les données et les instructions entre le processeur, l’unité de mémoire et l’entrée/sortie.
- Bus d’adresse : Transmet l’adresse mémoire spécifiant où les données pertinentes doivent être envoyées ou récupérées. (Le bus d’adresse ne transporte pas les données, seulement l’adresse)
- Bus de contrôle : Il s’agit également d’un bus bidirectionnel utilisé pour transmettre les « signaux de contrôle »/commandes de l’unité centrale (et les signaux d’état des autres composants) afin de contrôler et de coordonner toutes les activités au sein de l’ordinateur.
Entrées/Sorties:
- Information transmise par l’utilisateur/information reçue par l’utilisateur.
Avantages et inconvénients de l’architecture de von Neumann
Avantages | Inconvénients |
L’unité de commande récupère l’instruction et les données de la même manière à partir d’une unité de mémoire. Cela simplifie le développement et la conception de l’unité de commande | Les exécutions parallèles de programmes ne sont pas autorisées en raison du traitement des instructions en série |
L’avantage ci-dessus signifierait également que les données de la mémoire et des dispositifs sont accessibles de la même manière. Cela augmente donc l’efficacité | On ne peut accéder qu’à un seul « bus » à la fois. Il en résulte que le processeur est inactif (car il est plus rapide qu’un bus de données) Cela est considéré comme le goulot d’étranglement de von Neumann |
Une caractéristique avantageuse est que les programmeurs ont le contrôle de l’organisation de la mémoire | Bien que les instructions et les données étant stockées au même endroit peuvent être considérées comme un avantage dans l’ensemble. Cela peut cependant conduire à réécrire par-dessus, ce qui entraîne une perte de données, en raison d’une erreur dans un programme |
Si un programme défectueux ne libère pas la mémoire lorsqu’il n’en a pas besoin (ou qu’il a terminé avec elle), il peut provoquer un crash de l’ordinateur, en raison d’une insuffisance de mémoire disponible |
Goulot d’étranglement de von Neumann
Comme les processeurs, et les ordinateurs au fil des ans ont eu une augmentation de la vitesse de traitement, et que les améliorations de la mémoire ont augmenté en capacité, plutôt qu’en vitesse, cela avait abouti au terme « goulot d’étranglement de von Neumann ». En effet, l’unité centrale passe beaucoup de temps à ne rien faire, en attendant que les données soient extraites de la mémoire. Peu importe la vitesse du processeur, cela dépend finalement du taux de transfert, en fait, si le processeur est plus rapide, cela signifie simplement qu’il aura un plus grand temps « d’inactivité ».
Les approches pour surmonter ce goulot d’étranglement comprennent :
- La mise en cache :
- Des données qui sont plus facilement accessibles dans la mémoire vive, plutôt que stockées dans la mémoire principale. Le type de données stockées ici sera le type de données, qui est fréquemment utilisé.
- Prefetching:
- Le transport de certaines données dans le cache avant qu’elles ne soient demandées. Cela permet d’accélérer l’accès en cas de demande de ces données.
- Multithreading:
- Gestion de nombreuses requêtes en même temps dans des threads séparés.
- Nouveaux types de mémoire vive:
- Comme la DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory).
- Ce type de RAM active la sortie à la fois sur le front descendant et le front montant de l’horloge système, au lieu de seulement le front montant.
- Cela peut potentiellement doubler la sortie.
- RAMBUS:
- Sous-système reliant le contrôleur de RAM, la RAM et le bus (chemin) reliant la RAM au microprocesseur et aux périphériques de l’ordinateur qui l’utilisent.
- Processeur en mémoire (PIM):
- Les PIM intègrent un processeur et une mémoire dans une seule puce.
Qu’est-ce que l’architecture de Harvard ?
L’architecture de Harvard doit son nom à l’ordinateur à relais « Harvard Mark I », qui était un ordinateur IBM de l’université de Harvard.
L’ordinateur stockait les instructions sur une « bande perforée » (24 bits de large), de plus les données étaient stockées dans des compteurs électromécaniques. L’unité centrale de ces premiers systèmes informatiques contenait entièrement le stockage des données, et elle ne fournissait aucun accès au stockage des instructions en tant que données.
L’architecture de Harvard est un type d’architecture, qui stocke les données et les instructions séparément, divisant ainsi l’unité de mémoire.
L’unité centrale d’un système d’architecture de Harvard est capable de récupérer les données et les instructions simultanément, en raison de l’architecture ayant des bus séparés pour les transferts de données et les récupérations d’instructions.
Caractéristiques de l’architecture Harvard
Les deux types d’architectures contiennent les mêmes composants, cependant la principale différence est que, dans une architecture Harvard, les extractions d’instructions et les transferts de données peuvent être préformés en même temps (simultanément) (car le système dispose de deux bus, un pour les transferts de données et un pour les extractions d’instructions).
Avantages et inconvénients de l’architecture de Harvard
Avantages | Inconvénients |
Du fait que les instructions et les données sont transférées dans des bus différents, cela signifie qu’il y a moins de chances de corruption des données | La mémoire dédiée à chacun (données et instructions) doit être équilibrée par le fabricant. Car s’il y a de la mémoire libre pour les données, elle ne peut pas être utilisée pour les instructions et vice versa |
Les instructions et les données sont accessibles de la même manière | Cependant, cet avantage (à gauche) se traduit par une architecture plus complexe, car elle nécessite deux bus. Ce qui signifie que cela prend plus de temps à fabriquer et cela rend ces systèmes plus chers |
L’architecture Harvard offre une haute performance, car cette architecture permet le flux simultané des données et des instructions. Celles-ci sont conservées dans des mémoires séparées et circulent via des bus distincts | Cette architecture cependant, malgré ses hautes performances, est très complexe à mettre en œuvre, notamment pour les fabricants de cartes mères |
Il existe une plus grande bande passante mémoire qui est plus prévisible, du fait que l’architecture dispose de mémoires séparées pour les instructions et les données | Bien que, comme mentionné ci-dessus, pour obtenir l’avantage de gauche, l’architecture Harvard nécessite une unité de contrôle pour deux bus. Ce qui augmente la complexité et rend le développement plus difficile. Le tout augmentant le prix du système |
Architecture Harvard modifiée
Architecture Von Neumann contre architecture Harvard :
Architecture Von Neumann | Architecture Harvard |
Sur la base du concept d’ordinateur à programme stocké | Sur la base du modèle d’ordinateur à relais Harvard Mark I |
Utilise la même adresse de mémoire physique pour les instructions et les données | Il utilise des adresses de mémoire séparées pour les instructions et les données |
Les processeurs nécessitent deux cycles d’horloge pour exécuter une instruction | Le processeur nécessite seulement un cycle pour compléter une instruction |
L’architecture de von Neumann consiste en une conception d’unité de contrôle plus simple, ce qui signifie qu’un développement moins complexe est nécessaire. Cela signifie que le système sera moins coûteux | L’unité de contrôle de l’architecture Harvard consiste en deux bus, ce qui entraîne un système plus compliqué. Cela ajoute au coût de développement, ce qui entraîne un système plus coûteux |
Les extractions d’instructions et les transferts de données ne peuvent pas être effectués en même temps | Les extractions d’instructions et les transferts de données peuvent être effectués en même temps |
Utilisé dans les ordinateurs portables, ordinateurs personnels et stations de travail | Utilisé dans le traitement du signal et les microcontrôleurs |
Architecture Harvard modifiée :
Une architecture Harvard pure souffre de l’inconvénient de devoir prévoir un mécanisme permettant de séparer la charge du programme à exécuter dans la mémoire d’instructions et de laisser ainsi toute donnée à opérer dans la mémoire de données.
Cependant, les systèmes modernes utilisent aujourd’hui une technologie de lecture seule pour la mémoire d’instructions et une technologie de lecture/écriture pour cette même mémoire.
Cela permet à un système de permettre l’exécution d’un programme préchargé dès que l’alimentation est appliquée.
Cependant, les données seront dans un état inconnu, elles ne peuvent donc pas fournir de valeurs prédéfinies au programme.
La solution à ce problème est de fournir des instructions en langage machine afin que le contenu de la mémoire d’instructions puisse être lu comme s’il s’agissait de données, ainsi que de fournir un chemin matériel.
La plupart des adoptions de l’architecture Harvard de nos jours est une forme modifiée, ceci afin de relâcher la séparation stricte entre les données et le code, tout en maintenant une haute performance d’accès simultané aux données et aux instructions de l’architecture Harvard originale.
L’architecture Harvard modifiée est une variation de l’architecture Harvard originale. Cependant, la différence entre les deux est que l’architecture modifiée permet d’accéder au contenu de la mémoire d’instructions en tant que données.
Les trois principales modifications appliquées à une architecture Harvard modifiée sont :
- Architecture à cache divisé :
- Très similaire à l’architecture de von Neumann, cette modification construit une hiérarchie de mémoire avec des caches CPU pour les instructions et les données à des niveaux inférieurs de la hiérarchie.
- Architecture de la mémoire d’instructions en tant que données:
- Cette modification permet d’accéder au contenu de la mémoire d’instructions en tant que données. Ceci peut être réalisé parce que les données ne peuvent pas directement être exécutées en tant qu’instructions.
- (Bien qu’il y ait un débat pour savoir si oui ou non ceci peut réellement être nommé comme une architecture Harvard « modifiée »)
- Mémoire de données en tant qu’architecture d’instruction:
- Exécution d’instructions extraites de n’importe quel segment de mémoire, contrairement à l’architecture Harvard, qui peut seulement exécuter des instructions, extraites du segment de mémoire de programme.
Résumé et faits
L’architecture de von Neumann était un grand progrès par rapport aux ordinateurs contrôlés par programme, qui étaient utilisés dans les années 1940. Ces ordinateurs étaient programmés en réglant l’insertion de fils de connexion et de commutateurs pour acheminer les données et les signaux de contrôle entre les différents ensembles fonctionnels.
Alors qu’aujourd’hui, la majorité des systèmes informatiques partagent la même mémoire pour les données et les instructions du programme.
L’unité centrale de traitement d’un système d’architecture Harvard est en mesure de récupérer les données et les instructions simultanément, en raison de l’architecture ayant des bus séparés pour les transferts de données et les récupérations d’instructions.
Qu’est-ce que l’architecture de von Neumann ?
L’architecture de von Neumann désigne celle qui conserve les données ainsi que les instructions programmées dans une RAM (Random Access Memory) en lecture-écriture.
Caractéristiques de l’architecture de von Neumann :
- Unité centrale de traitement (CPU)
- Unité de contrôle
- Unité arithmétique et logique (ALU)
- Unité de mémoire
- Registres :
- Compteur de programmes (PC)
- Accumulateur (AC)
- Registre d’adresses mémoire (MAR)
- Registre de données mémoire (MDR)
- Registre d’instructions en cours (CIR)
- Bus :
- Bus de données
- Bus d’adresses
- Bus de contrôle
- Entrées/Sorties
Avantages :
- Moins coûteux/complexe par rapport à l’architecture Harvard
- Efficace
Inconvénients :
- Goulot d’étranglement Von Neumann
- Plus grand risque de perte de données
Qu’est-ce que l’architecture Harvard ?
- L’architecture Harvard est un système informatique qui contient deux zones distinctes pour les données et les commandes/instructions.
- L’architecture Harvard est un type d’architecture, qui stocke les données et les instructions séparément, divisant ainsi l’unité de mémoire.
Avantages:
- Moins de chance de corruption des données
- Hautes performances
- Grande bande passante mémoire
Inconvénients :
- Complexe
- Chère
Architecture Harvard modifiée:
L’architecture Harvard modifiée est une variation de l’architecture Harvard originale. Cependant la différence entre les deux est que l’architecture modifiée permet d’accéder au contenu de la mémoire d’instruction comme à des données.
Les trois principales modifications appliquées à une architecture Harvard modifiée sont :
- Architecture à cache divisé
- Mémoire d’instructions en tant que données
- Mémoire de données en tant que…d’instruction
- https://www.techopedia.com/definition/19737/harvard-architecture
- https://tdck.weebly.com/uploads/7/7/0/5/77052163/03_-_harvard_architecture_comparison.pdf
- https://getrevising.co.uk/grids/von-neumann-architecture
- http://differencebetween.net/technology/difference-between-von-neumann-and-harvard-architecture/
- https://en.wikipedia.org/wiki/Von_Neumann_architecture
- https://www.geeksforgeeks.org/computer-organization-von-neumann-architecture/
- https://www.techopedia.com/definition/32480/von-neumann-architecture
- http://www.computinghistory.org.uk/det/3665/John-von-Neumann/
- https://www.computerscience.gcse.guru/theory/von-neumann-architecture
- https://en.wikipedia.org/wiki/Modified_Harvard_architecture
- https://www.edaboard.com/threads/harvard-vs-modified-harvard-architechture.111764/