Modifications

Sauter à la navigation Sauter à la recherche
Ligne 22 : Ligne 22 :  
Le modèle de Von Neumann (une seule mémoire physique) est plus flexible.
 
Le modèle de Von Neumann (une seule mémoire physique) est plus flexible.
   −
== Modern Hybrids ==
+
== Les hybrides modernes ==
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.
+
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
   −
== Microcontrollers ==
+
La réalité est plus subtile.
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.
+
== 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.
   −
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!
+
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.
   −
== A completely different Scale ==
+
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!
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'''.
+
== Une échelle totalement différente ==
 +
La plus grande différence existant entre votre microcontrôleur et votre ordinateur c'est la quantité de mémoire vraiment disponible. Sur un Arduino UNO cela se résume à seulement 32Kb (Kilo octets) de mémoire Flash et 2Kb de SRAM. C'est '''100,000 fois MOINS de mémoire physique que le PC le plus bas gamme!''' et sans compter que vous n'avez même pas de lecteur disque!
 +
 
 +
'''Pour travailler dans un environnement aussi minimaliste, il vous faut utiliser vos ressources à bon escient'''.
    
{{Arduino-Memoire-TRAILER}}
 
{{Arduino-Memoire-TRAILER}}
29 917

modifications

Menu de navigation