Différences entre versions de « Arduino Memoire Architecture »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 32 : Ligne 32 :
 
Le modèle Harvard semble être un bon choix pour les application embarquées et l'Atmega 328 utilisé par un Arduino UNO utilise un architecture Harvard relativement "pure". Le programme est stocké dans la mémoire Flash tandis que les données sont stockées dans la SRAM.
 
Le modèle Harvard semble être un bon choix pour les application embarquées et l'Atmega 328 utilisé par un Arduino UNO utilise un architecture Harvard relativement "pure". Le programme est stocké dans la mémoire Flash tandis que les données sont stockées dans la SRAM.
  
Dans la plupart des cas, le compilateur et le système run-time en prennent soin pour vous, mais lorsque les choses deviennent délicates (qu'il manque de mémoire) care of managing these for you, but when things start getting tight, it helps to be aware of how things work under the hood. And things start getting tight much quicker on these tiny machines!
+
Dans la plupart des cas, le compilateur et le système run-time en prennent soin pour vous, mais lorsque les choses deviennent délicates (qu'il manque de mémoire), cela devient utile de savoir comment les choses fonctionnent sous le capot. Et comme vous vous en doutez, plus ces "machine" sont petites, plus vite vous risquez d'être confrontez à ce type de problèmes!
  
 
== A completely different Scale ==
 
== A completely different Scale ==

Version du 30 août 2013 à 11:16


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Harvard vs Princeton

Deux architectures processeur/mémoire différentes émergèrent aux tout premiers jours de l'électronique informatisée.

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

L'architecture Von Neumann (eq: Princeton) (wikipedia, anglais) fut développée pour pour l'ENIAC et utilisait la même méthode d'accès données et programme pour le stockage du programme et stockage des données.

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

L'architecture Harvard (wikipedia, anglais) utilisée par le Harvard Mark 1 utilisait des mémoires physiques distinctes (et méthode d'accès distinctes) pour stockage du programme et le stockage des données.

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

Quelle est la meilleure architecture?

Chacune des architecture présente des avantages, rendant ces modèle "équivalent".

Le modèle Harvard (deux mémoires mémoires distinctes) offre une meilleure performance.

Le modèle de Von Neumann (une seule mémoire physique) est plus flexible.

Les hybrides modernes

De nos jours, la plupart des ordinateurs (PCs MACs etc.) utilisent une conception hybride qui vous offre le meilleurs des deux architectures. Au tréfond de la machine, près du processeurs, c'est le modèle de Harvard qui est utilisé. Aunsi en utilisant des mémoires caches séparées pour les instructions et les données, le CPU maximise les performances grâce à cette architecture. Mais les caches d'instruction et de donnée sont tous les deux automatiques chargés à partir d'un espace mémoire commun. D'un point de vue programmation, ces ordinateurs apparaissent comme de pure modèles "Von Neumann" (un seul espace mémoire massif) avec plusieurs GigaOctects de stockage virtuel. L

La réalité est plus subtile.

Microcontrôleurs

Un microcontrôleurs, tel que celui qui propulse votre Arduino, est conçu pour réaliser des applications intégrées. A l'opposé des ordinateurs conçu pour des tâches diverses, un processus embarqué a une tâche bien définie qu'il doit exécuté efficacement et de façon fiable - et avec un coût minimum. Par leurs conceptions, les microcontrôleur tendent à être plutôt spartiate. Ils renoncent au luxe du cache multi niveau, mémoire à base de disque virtuel, stockage de masse USB pour se concentrer sur ce qui est essentiel pour la tâche.

Le modèle Harvard semble être un bon choix pour les application embarquées et l'Atmega 328 utilisé par un Arduino UNO utilise un architecture Harvard relativement "pure". Le programme est stocké dans la mémoire Flash tandis que les données sont stockées dans la SRAM.

Dans la plupart des cas, le compilateur et le système run-time en prennent soin pour vous, mais lorsque les choses deviennent délicates (qu'il manque de mémoire), cela devient utile de savoir comment les choses fonctionnent sous le capot. Et comme vous vous en doutez, plus ces "machine" sont petites, plus vite vous risquez d'être confrontez à ce type de problèmes!

A completely different Scale

The biggest difference between these microcontrollers and your general purpose computer is the sheer amount of memory available. The Arduino UNO has only 32K bytes of Flash memory and 2K bytes of SRAM. That is more than 100,000 times LESS physical memory than a low-end PC! And that's not even counting the disk drive!

Working in this minimalist environment, you must use your resources wisely.


Source: Memories of an Arduino. Crédit AdaFruit Industries.

Créé par Bill Earl pour AdaFruit Industries.

Traduit par Meurisse D. pour MCHobby.be

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.