È possibile aggiungere RAM a un Raspberry Pi?
È possibile aggiungere RAM a un Raspberry Pi?
Risposte:
No. Non esiste un metodo con cui aggiungere RAM al Pi. Vedi questa discussione sui forum di raspberrypi.org per maggiori dettagli, ma fondamentalmente la RAM e la CPU sono inestricabilmente, inaccessibilmente connesse. Non esiste un metodo fisico che consenta di aggiungere utilmente la RAM, a meno che non si desideri iniziare a rimuovere l'acido dal chip della CPU, estrarre il microscopio e rintracciare un saldatore su scala micrometrica.
No.
Generalmente ogni modello Pi è già dotato della massima quantità di RAM supportata.
Alcuni primi modelli B avevano solo 256 MB e invece avrebbero potuto avere 512 MB. Tuttavia non ci sarebbe modo di aggiornare il chip RAM senza distruggere la scheda (a meno che non si avesse un laboratorio speciale).
Su un 256 MB Pi dovrebbe teoricamente essere possibile sostituire il chip con uno da 512 MB, ma non sarebbe facile. Dovresti riscaldare attentamente lo stack PoP e quindi in qualche modo separare il processore dal chip ram. Quindi ripulisci il disordine delle vecchie palle e salda il nuovo chip ram.
C'è anche la questione se il firmware funzionerebbe, i modelli da 512 MB hanno codici ID diversi masterizzati nell'ODP sul SoC da modelli da 256 MB e non sono sicuro che il codice di avvio funzionerebbe correttamente se le cose non corrispondessero.
Su 512 MB BCM2835 basato su pis non è possibile alcun aggiornamento, il controller di memoria è stato progettato per supportare 1 GB, ma si è verificato un errore che ha impedito il corretto funzionamento a quella dimensione.
Su Raspberry pi 2 Mdoel B e raspberry pi 3 modello B 1GB è il limite, il design della struttura del bus e del controller di memoria nella Soc semplicemente non supporta più.
Se vediamo un Pi basato su BCM2837 da 512 MB (ad esempio un modello Raspberry pi 3 modello A), mi aspetto che teoricamente un aggiornamento a 1 GB sarà teoricamente possibile, ma sarebbe necessario rielaborare BGA (anche se non ti divertiresti con PoP) e io don sapere se ci sarebbero problemi con il firmware.
Se il SoC potesse supportare di più, i progettisti avrebbero probabilmente incluso più memoria, come altri hanno sottolineato. C'è una ragione molto più importante, però: il controllo dei costi.
La differenza di prezzo, per quel tipo di parte, tra 512 M e 1 G è inferiore a 1 USD; entrambi sono circa 5 USD. Anche un IC 8G in quella categoria è di circa 14 USD, quindi potresti pensare, un grosso problema, un po 'più alto del prezzo. Non è così semplice.
Le 3 vendite al dettaglio per USD40; la sua distinta base è probabilmente inferiore a $ 15, quindi anche un dollaro in più avrebbe un impatto significativo sul prezzo al dettaglio, in percentuale. E anche se alcune persone potrebbero acquistare un pi più costoso per più soldi, semplicemente rendere disponibili due versioni aumenta i costi (progettazione, test, distribuzione, stoccaggio, ecc.), E il tuo modello da $ 40 1G potrebbe invece essere venduto a $ 45. A me e te non potrebbe interessare, ma questo fa una grande differenza per il mercato educativo, a cui il Pi è principalmente rivolto.
Inoltre, quando lavori con un budget limitato, devi prendere delle decisioni su cosa includere. Io, per esempio, sono molto più felice di avere wifi e bt sul 3 di quanto non sarei con memoria aggiuntiva. La tua esperienza varia, ma finora non ho mai avuto bisogno di più memoria, ma tutto ciò che ho usato per il pi ha bisogno del WiFi, quindi risparmiarmi $ 5 su un dongle wifi è stata una scelta che mi piace.
Se hai assolutamente bisogno di più memoria di quello, ci sono altre opzioni (più costose) in giro!
Non è possibile aggiungere RAM a un Raspberry Pi ma i cluster Raspberry Pi sono un'altra cosa
Controlla: http://www.zdnet.com/article/build-your-own-supercomputer-out-of-raspberry-pi-boards/
AGGIORNARE:
Dato che qualcuno ha richiesto, riassumerò il link sopra. Anche se io stesso non ho familiarità con i dettagli, sembra che sia possibile "collegare" Pi lampone.
"Kiepert gestiva l'High Performance Linpack (HPL), il benchmark standard del supercomputer sul suo computer fatto in casa e ha scoperto che il suo RPiCluster con i suoi 32 processori ARM11 Broadcom BCM2708 in esecuzione sono 1 GHz e 14,6 GB di RAM utilizzabile con prestazioni di picco HPL di 10,13 GFLOPS"
Se hai solo bisogno di più memoria per funzionare ed esegui una distribuzione Linux, è possibile ingrandire lo scambio. Per questo segui le istruzioni qui http://www.thegeekstuff.com/2010/08/how-to-add-swap-space/ . Sul mio Rasp l'ho trovata un file di scambio /var/swap
ma questo è solo 100 MB. Quindi l'ho sostituito con uno più grande. Ora my Rasp ha 1 GB di RAM e 4 GB di swap.
La velocità diminuisce se lo scambio è veramente necessario. Nel normale funzionamento questo non ha alcun effetto sulle prestazioni. Dai un'occhiata qui en.wikipedia.org/wiki/Swappiness per ulteriori informazioni. Questa soluzione dovrebbe essere utilizzata se è necessaria memoria per brevi periodi di tempo o picchi di memoria. Lo scambio con l'SSD riduce la durata dell'SSD. Ricordare che lo scambio non ha lo scopo di ingrandire la memoria per l'uso normale.
Se cerchi permanentemente più RAM e velocità, dai un'occhiata qui http://www.digitaltrends.com/computing/c2-offers-competitive-specs-to-raspberry-pi/ .
Per quanto riguarda la discussione qui sotto alcuni esempi di casi d'uso, in cui preferirei scambiare piuttosto che cambiare hardware:
Costruisci software sul bersaglio. Qui ci sono due possibilità:
Utilizzo di un singolo core per ridurre la quantità di memoria necessaria. Nel mio esempio questo porta ad un picco di utilizzo della memoria di 370 MB per un tempo trascorso di 9h 45min.
Usando la build parallela. Nel mio esempio questo porta ad un picco di utilizzo della memoria di 1400 MB per un tempo trascorso di 4h 30min. Ma in quasi il 98% di questo tempo la memoria utilizzata è inferiore a 1024 MB.
Un'applicazione con un pesante processo di inizializzazione: quindi è noto che la parte principale dell'applicazione richiede meno della RAM esistente ma la routine di inizializzazione - che si verifica solo una volta durante la vita di un programma - ha alcuni picchi di memoria più grandi, lo scambio è un modo appropriato per gestire la necessità della memoria.
Per esaminare i requisiti hardware è possibile utilizzare:
/usr/bin/time -v <program invocation>
questo ti dà queste informazioni
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
o il compilatore dello scaffale sul dispositivo di destinazione. Ma per quanto riguarda le prestazioni della build, può essere logico incrociare la build ovviamente.