Systèmes embarqués - Types d'architecture

Les microcontrôleurs 8051 fonctionnent avec un bus de données 8 bits. Ainsi, ils peuvent prendre en charge une mémoire de données externe jusqu'à 64K et une mémoire de programme externe de 64k au mieux. Collectivement, 8051 microcontrôleurs peuvent adresser 128 ko de mémoire externe.

Lorsque les données et le code se trouvent dans des blocs de mémoire différents, l'architecture est appelée Harvard architecture. Si les données et le code se trouvent dans le même bloc de mémoire, l'architecture est appeléeVon Neumann architecture.

Architecture de Von Neumann

L'architecture Von Neumann a été proposée pour la première fois par un informaticien John von Neumann. Dans cette architecture, un chemin de données ou un bus existe pour les instructions et les données. En conséquence, la CPU effectue une opération à la fois. Il récupère une instruction de la mémoire ou effectue une opération de lecture / écriture sur les données. Ainsi, une extraction d'instruction et une opération de données ne peuvent pas se produire simultanément, partageant un bus commun.

L'architecture Von-Neumann prend en charge du matériel simple. Il permet l'utilisation d'une seule mémoire séquentielle. Les vitesses de traitement actuelles dépassent largement les temps d'accès à la mémoire, et nous utilisons une très petite quantité de mémoire (cache) locale au processeur.

Architecture de Harvard

L'architecture Harvard offre des bus de stockage et de signaux séparés pour les instructions et les données. Cette architecture a un stockage de données entièrement contenu dans la CPU, et il n'y a pas d'accès au stockage d'instructions en tant que données. Les ordinateurs ont des zones de mémoire séparées pour les instructions de programme et les données utilisant des bus de données internes, permettant un accès simultané aux instructions et aux données.

Les programmes devaient être chargés par un opérateur; le processeur n'a pas pu démarrer lui-même. Dans une architecture Harvard, il n'est pas nécessaire de faire partager des propriétés aux deux mémoires.

Architecture de Von-Neumann vs architecture de Harvard

Les points suivants distinguent l'architecture de Von Neumann de l'architecture de Harvard.

Architecture de Von-Neumann Architecture de Harvard
Mémoire unique à partager à la fois par le code et les données. Mémoires séparées pour le code et les données.
Le processeur doit récupérer le code dans un cycle d'horloge séparé et les données dans un autre cycle d'horloge. Cela nécessite donc deux cycles d'horloge. Un seul cycle d'horloge suffit, car des bus séparés sont utilisés pour accéder au code et aux données.
Vitesse plus élevée, donc moins de temps. Vitesse plus lente, donc plus de temps.
Conception simple. Conception complexe.

CISC et RISC

CISC est un ordinateur à jeu d'instructions complexe. C'est un ordinateur qui peut adresser un grand nombre d'instructions.

Au début des années 1980, les concepteurs d'ordinateurs ont recommandé que les ordinateurs utilisent moins d'instructions avec des constructions simples afin qu'elles puissent être exécutées beaucoup plus rapidement dans le processeur sans avoir à utiliser de mémoire. Ces ordinateurs sont classés en tant qu'ordinateur à jeu d'instructions réduit ou RISC.

CISC vs RISC

Les points suivants différencient un CISC d'un RISC -

CISC RISC
Ensemble d'instructions plus grand. Facile à programmer Petit ensemble d'instructions. Difficile à programmer.
Conception plus simple du compilateur, compte tenu d'un plus grand ensemble d'instructions. Conception complexe du compilateur.
De nombreux modes d'adressage entraînant des formats d'instructions complexes. Peu de modes d'adressage, format d'instruction fixe.
La longueur de l'instruction est variable. La durée de l'instruction varie.
Cycles d'horloge plus élevés par seconde. Cycle d'horloge bas par seconde.
L'accent est mis sur le matériel. L'accent est mis sur les logiciels.
L'unité de contrôle met en œuvre un grand jeu d'instructions à l'aide d'une unité de micro-programme. Chaque instruction doit être exécutée par le matériel.
Exécution plus lente, car les instructions doivent être lues à partir de la mémoire et décodées par le décodeur. Exécution plus rapide, car chaque instruction doit être exécutée par le matériel.
Le pipelining n'est pas possible. Le pipelining des instructions est possible, en considérant un cycle d'horloge unique.