Différences entre versions de « Arduino Memoire Architecture »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
(Page créée avec « {{Arduino-Memoire-NAV}} == Harvard vs Princeton == In the early days of electronic computing, two different processor/memory architectures emerged: {{ADFImage|Arduino-Memoi... »)
 
Ligne 10 : Ligne 10 :
 
{{ADFImage|Arduino-Memoire-11.jpg}}
 
{{ADFImage|Arduino-Memoire-11.jpg}}
  
The [http://en.wikipedia.org/wiki/Harvard_architecture Harvard architecture] (''wikipedia, anglais'') characterized by the the [http://en.wikipedia.org/wiki/Harvard_Mark_I Harvard Mark 1] used physically separate memory and data paths for program and memory.
+
The [http://en.wikipedia.org/wiki/Harvard_architecture Harvard architecture] (''wikipedia, anglais'') characterized by the the [http://en.wikipedia.org/wiki/Harvard_Mark_I Harvard Mark 1] used physically separate memory and data paths for program and memory.
  
 
{{ADFImage|Arduino-Memoire-12.jpg}}
 
{{ADFImage|Arduino-Memoire-12.jpg}}
Ligne 17 : Ligne 17 :
  
 
Each architecture has its advantages: All else being equal, the Harvard model has the edge in performance. The Von Neumann model is more flexible.
 
Each architecture has its advantages: All else being equal, the Harvard model has the edge in performance. The Von Neumann model is more flexible.
 +
 +
== Modern Hybrids ==
 +
These days, most general purpose computers (PC's Mac's etc.) are hybrid designs that give you the best of both architectures. Deep within the CPU they operate on the Harvard model using separate caches for instructions and data to maximize performance. But the instruction and data caches are both loaded automatically from a common memory space. From a programming perspective, these computers appear to be pure Von Neumann machines with many gigabytes of virtual storage.
 +
 +
== Microcontrollers ==
 +
Microcontrollers such as the ones that power the Arduinos are designed for embedded applications. Unlike general purpose computers, an embedded processor typically has a well defined task that it must perform reliably and efficiently - and at minimal cost, Microcontroller designs tend to be rather spartan. They forego the luxuries of multi-layer caching and disk-based virtual memory systems and stick to what is essential to the task.
 +
 +
The Harvard model turns out to be a good match for embedded applications and the Atmega 328 used in the Arduino UNO use a relatively pure Harvard architecture. Programs are stored in Flash memory and data is stored in SRAM.
 +
 +
For the most part, the compiler and run-time systems take 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!
 +
 +
== 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'''.
  
 
{{Arduino-Memoire-TRAILER}}
 
{{Arduino-Memoire-TRAILER}}

Version du 26 août 2013 à 11:18


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

In the early days of electronic computing, two different processor/memory architectures emerged:

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

The Von Neumann (a.k.a. Princeton) architecture (wikipedia, anglais) developed for the ENIAC uses the same memory and data paths for both program and data storage.

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

The Harvard architecture (wikipedia, anglais) characterized by the the Harvard Mark 1 used physically separate memory and data paths for program and memory.

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

Which is better?

Each architecture has its advantages: All else being equal, the Harvard model has the edge in performance. The Von Neumann model is more flexible.

Modern Hybrids

These days, most general purpose computers (PC's Mac's etc.) are hybrid designs that give you the best of both architectures. Deep within the CPU they operate on the Harvard model using separate caches for instructions and data to maximize performance. But the instruction and data caches are both loaded automatically from a common memory space. From a programming perspective, these computers appear to be pure Von Neumann machines with many gigabytes of virtual storage.

Microcontrollers

Microcontrollers such as the ones that power the Arduinos are designed for embedded applications. Unlike general purpose computers, an embedded processor typically has a well defined task that it must perform reliably and efficiently - and at minimal cost, Microcontroller designs tend to be rather spartan. They forego the luxuries of multi-layer caching and disk-based virtual memory systems and stick to what is essential to the task.

The Harvard model turns out to be a good match for embedded applications and the Atmega 328 used in the Arduino UNO use a relatively pure Harvard architecture. Programs are stored in Flash memory and data is stored in SRAM.

For the most part, the compiler and run-time systems take 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!

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.