ISN. Machines - Découverte du Raspberry Pi
2Processeurs ARM ou x86
Le processeur qui anime le système Raspberry Pi est un processeur 700MHz, multimédia Broadcom BCM2835 de type
SoC (System-on-Chip, tout le système sur un seul circuit). Cela signifie que la plupart des composants du système (unité
centrale, coprocesseur graphique, matériel audio et vidéo) sont réunis dans un seul composant, qui est physiquement
caché sous le circuit mémoire de 512 Mo qui est implanté au centre de la plaque.
Le processeur BCM2835 utilise un jeu d’instructions 1machine (ISA, Instruction Set Architecture) nommé ARM. (ARMv6)
Le langage machine est le seul langage qu’un processeur puisse exécuter
•Les processeurs doivent reconnaître des instructions codifiées sous la forme de groupes de bits.
– Par exemple, un processeur de la famille x86 reconnaît une instruction du type 10110000 01100001
En langage assembleur, cette instruction est représentée par un équivalent plus facile à comprendre pour le programmeur : movb $0x61,%al
(10110000 = movb %al et 01100001 = $0x61) Ce qui signifie : « écrire le nombre 97 dans le registre AL ». (en hexadécimal : 6116 =9710).
•Il y a deux grandes familles de processeurs, selon la complexité de son langage machine :
– processeurs CISC (Complex Instruction Set Computer). Exemple : Pentium
– processeurs RISC (Reduced Instruction Set Computer). Exemples : PowerPC, MIPS, BCM2835
Avec un jeu d’instructions machine réduit, chaque instruction devrait être assez simple, pour être exécutée en 1 cycle d’horloge.
•Il y a trois grands types d’instruction :
– transfert de données (échange avec la mémoire)
– opérations arithmétiques/logiques
– contrôle (pour faire des sauts, des boucles etc. ..)
•L’ensemble des instructions reconnues par un processeur et son système de codage forment ce qu’on appelle le
langage machine du processeur.
L’architecture ARM a été inventée à la fin des années 1980 par la société Acorn Computers. elle est très répandue dans
l’univers des appareils nomades : de nombreux modèles de smartphones fonctionnent avec un processeur ARM.
Cette architecture utilise un jeu d’instructions machine réduit (RISC).
C’est grâce à la faible consommation électrique des circuits ARM que le Raspberry Pi peut fonctionner avec une alimen-
tation 5 V 1 A, et donc être alimenté par le port Micro-USB de la carte.
a. Pourquoi un logiciel conçu pour les ordinateurs de bureau et portables PC, n’est-il pas directement compa-
tible avec le Raspberry Pi ?
b. Quel élément, en contact avec le processeur sur une carte mère d’un ordinateur, est absent du Raspberry Pi ?
c. L’architecture ARM est ici, une architecture de « Harvard modifiée ».
Citer très brièvement ce qui la distingue, lors d’un cycle d’instruction, d’une architecture de « Von Neumann ».
3Windows ou Linux ?
En dehors de la taille et du prix d’achat, une importante différence entre le Raspberry Pi et la majorité des ordinateurs
vendus dans le commerce est son système d’exploitation, c’est-à-dire le logiciel principal qui anime et régit l’ordinateur.
De nos jours, la grande majorité des ordinateurs proposés dans le commerce utilisent soit le système Microsoft Win-
dows, soit le système Apple Mac OS X. Il s’agit dans les deux cas d’une plate-forme fermée, conçue dans des laboratoires
confidentiels et protégés par des batteries de brevets.
a. Pourquoi les systèmes Microsoft Windows et Apple Mac OS X sont-ils dits « fermés » ?
b. Exprimer en quelques lignes la philosophie « Open-source ».
Le Raspberry Pi a été conçu dès le départ pour faire fonctionner un système d’exploitation appelé GNU/Linux, que nous
abrégeons dans la suite en Linux, symbole même du logiciel ouvert.
Il existe déjà plusieurs variantes de Linux, des distributions, utilisables avec le circuit BCM2835 du Raspberry Pi. Citons
notamment Debian, Fedora Remix et Arch Linux. Chaque distribution met l’accent sur un sous-ensemble fonctionnel
spécifique, mais toutes restent Open-source. De plus, les différentes distributions restent pour l’essentiel compatibles
entre elles : un logiciel écrit pour une distribution Debian fonctionnera sur une distribution Arch Linux et vice versa.
1. jeu d’instructions http://fr.wikipedia.org/wiki/Jeu_d’instructions
m2