Est-il possible d'ajouter de la RAM à un Raspberry Pi?
Est-il possible d'ajouter de la RAM à un Raspberry Pi?
Réponses:
Non. Il n'y a aucune méthode permettant d'ajouter de la RAM au Pi. Voir cette discussion sur les forums raspberrypi.org pour plus de détails, mais fondamentalement la RAM et le CPU sont inextricablement et inaccessiblement connectés. Il n'y a pas de méthode physique par laquelle la RAM pourrait être utilement ajoutée, à moins que vous ne vouliez commencer à éliminer l'acide de la puce CPU, sortir votre microscope et traquer un fer à souder à l'échelle micrométrique.
Non.
Généralement, chaque modèle Pi a déjà été équipé de la quantité maximale de RAM prise en charge.
Certains premiers modèles B n'avaient que 256 Mo et auraient pu avoir 512 Mo à la place. Cependant, il n'y aurait aucun moyen de mettre à jour la puce RAM sans détruire la carte (sauf si vous disposiez d'un laboratoire spécial).
Sur un 256 Mo Pi, il devrait théoriquement être possible de remplacer la puce par une 512 Mo mais ce ne serait pas facile. Vous devez chauffer soigneusement la pile PoP, puis séparer le processeur de la puce RAM. Ensuite, nettoyez le désordre des vieilles boules et soudez la nouvelle puce de RAM.
Il y a aussi la question de savoir si le firmware fonctionnerait, les modèles 512 Mo ont des codes d'identification différents gravés dans l'OTP sur le SoC à partir des modèles 256 Mo et je ne sais pas si le code de démarrage fonctionnerait correctement si les choses ne correspondaient pas.
Sur 512 Mo basé sur BCM2835, aucune mise à niveau n'est possible, le contrôleur de mémoire a été conçu pour prendre en charge 1 Go, mais un bogue l'a empêché de fonctionner correctement à cette taille.
Sur le raspberry pi 2 Mdoel B et le raspberry pi 3 modèle B 1GB est la limite, la conception de la structure du bus et du contrôleur de mémoire dans le Soc ne prend tout simplement pas en charge plus.
Si nous voyons un Pi basé sur 512 Mo BCM2837 (par exemple un Raspberry pi 3 modèle A), alors je m'attends à ce qu'une mise à niveau vers 1 Go soit théoriquement possible, mais encore une fois, une révision BGA serait nécessaire (bien que vous n'ayez pas le plaisir de PoP) et je ne sais pas s'il y aurait des problèmes de firmware.
Si le SoC pouvait supporter plus, les concepteurs auraient probablement inclus plus de mémoire, comme d'autres l'ont souligné. Il y a cependant une raison beaucoup plus importante: le contrôle des coûts.
La différence de prix, pour ce type de pièce, entre 512M et 1G est inférieure à 1 USD; les deux coûtent environ 5 USD. Même un circuit intégré 8G dans cette catégorie coûte environ 14 USD, alors vous pourriez penser, gros problème, que le prix augmente un peu. Ce n'est pas aussi simple.
Les 3 se vendent pour USD40; sa nomenclature est probablement inférieure à 15 $, donc même un dollar supplémentaire aurait un impact significatif sur le prix de détail, en pourcentage. Et bien que certaines personnes puissent acheter un pi plus cher pour plus d'argent, la simple mise à disposition de deux versions augmente les coûts (conception, test, distribution, stockage, etc.), et votre modèle 1G à 40 $ pourrait devoir se vendre à 45 $ à la place. Vous et moi ne nous en soucions peut-être pas, mais cela fait une grande différence pour le marché de l'éducation, auquel le Pi est principalement destiné.
De plus, lorsque vous travaillez avec un budget limité, vous devez prendre des décisions sur ce qu'il faut inclure. Pour ma part, je suis beaucoup plus heureux d'avoir le wifi et le bt sur le 3 que je ne le serais avec de la mémoire supplémentaire. Votre expérience peut varier, mais jusqu'à présent, je n'ai jamais eu besoin de plus de mémoire, mais tout ce que j'ai utilisé pour le pi a besoin du WiFi, alors économiser 5 $ sur un dongle wifi était un choix que j'aime.
Si vous avez absolument besoin de plus de mémoire que cela, il existe d'autres options (plus chères)!
Vous ne pouvez pas ajouter de RAM à un Raspberry Pi, mais les clusters Raspberry Pi sont une autre chose
Vérifier: http://www.zdnet.com/article/build-your-own-supercomputer-out-of-raspberry-pi-boards/
MISE À JOUR:
Puisque quelqu'un a demandé, je résumerai le lien ci-dessus. Bien que je ne connaisse pas moi-même les détails, il semble qu'il soit possible de "connecter" des Raspberry Pi.
"Kiepert a exécuté le High Performance Linpack (HPL), la référence standard des superordinateurs sur son ordinateur fait maison et a constaté que son RPiCluster avec ses 32 processeurs Broadcom BCM2708 ARM11 fonctionnant à 1 GHz et 14,6 Go de RAM utilisable se traduisaient par des performances de pointe HPL de 10,13" GFLOPS "
Si vous avez seulement besoin de plus de mémoire pour travailler et que vous exécutez une distribution Linux, il est possible d'agrandir le swap. Pour cela, suivez les instructions ici http://www.thegeekstuff.com/2010/08/how-to-add-swap-space/ . Sur ma Rasp, j'ai trouvé un fichier d'échange, /var/swap
mais cela ne fait que 100 Mo. Je l'ai donc remplacé par un plus gros. Maintenant, ma Rasp a 1 Go de RAM et 4 Go de swap.
La vitesse diminue si le swap est vraiment nécessaire. En fonctionnement normal, cela n'a aucun effet sur les performances. Jetez un œil ici en.wikipedia.org/wiki/Swappiness pour plus d'informations. Cette solution doit être utilisée si vous avez besoin de mémoire pour une courte période ou des pics de mémoire. Le passage au SSD diminue la durée de vie du SSD. Rappelez-vous que l'échange n'est pas destiné à agrandir la mémoire pour une utilisation normale.
Si vous recherchez en permanence plus de RAM et de vitesse, vous devriez jeter un œil ici http://www.digitaltrends.com/computing/c2-offers-competitive-specs-to-raspberry-pi/ .
En ce qui concerne la discussion ci-dessous, voici quelques exemples d'utilisation, dans lesquels je préférerais échanger plutôt que changer de matériel:
Créez un logiciel sur la cible. Ici, il y a deux possibilités:
Utilisation d'un seul cœur pour réduire la quantité de mémoire nécessaire. Dans mon exemple, cela conduit à une utilisation maximale de la mémoire de 370 Mo par un temps écoulé de 9h 45min.
Utilisation de la construction parallèle. Dans mon exemple, cela conduit à une utilisation maximale de la mémoire de 1400 Mo par un temps écoulé de 4 h 30 min. Mais dans près de 98% de cette période, la mémoire utilisée est inférieure à 1024 Mo.
Une application avec un processus d'initialisation lourd: On sait alors que la partie principale de l'application nécessite moins que la RAM existante mais la routine d'initialisation - qui ne se produit qu'une fois la durée de vie d'un programme - a des pics de mémoire plus importants, l'échange est un moyen approprié pour gérer le besoin de mémoire.
Pour examiner la configuration matérielle requise, vous pouvez utiliser:
/usr/bin/time -v <program invocation>
cela vous donne ces informations
Command being timed: "program invocation"
User time (seconds): 33164.02
System time (seconds): 1560.20
Percent of CPU this job got: 98%
Elapsed (wall clock) time (h:mm:ss or m:ss): 9:45:12
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 379092
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 354
Minor (reclaiming a frame) page faults: 47740772
Voluntary context switches: 1049855
Involuntary context switches: 482091
Swaps: 0
File system inputs: 170240
File system outputs: 3477064
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
crossbuild-essential-armel
ou le compilateur de l'étagère sur le périphérique cible. Mais en ce qui concerne les performances de construction, il peut être judicieux de croiser la construction bien sûr.