Czy można dodać pamięć RAM do Raspberry Pi?

26

Czy można dodać pamięć RAM do Raspberry Pi?

Dortík
źródło
2
Tag mówi „pi-2”, który ma inny sprzęt niż wcześniejszy pis, a układ pamięci RAM jest w rzeczywistości osobny. Zaktualizowałem twoje pytanie, aby lepiej odzwierciedlało tag, ale możesz je cofnąć i usunąć, jeśli nie mówisz tylko o PI 2.
Adam Davis
2
@ Jacobm001 Ponieważ Pi 2 nie został wydany, kiedy powstał ten post, myślę, że to pytanie może nie być duplikatem.
pydsigner
@AdamDavis Powinno to być wyraźnie wymienione w tytule. W przeciwnym razie jest to duplikat.
PNDA
Wut Dlatego możesz mieć oddzielne odpowiedzi, aby w razie potrzeby wypełnić kontekst.
Braiam

Odpowiedzi:

29

Nie. Nie ma metody dodawania pamięci RAM do Pi. Zobacz tę dyskusję na forach raspberrypi.org, aby uzyskać więcej szczegółów, ale w zasadzie pamięć RAM i procesor są nierozerwalnie połączone. Nie ma fizycznej metody, za pomocą której można by z powodzeniem dodać pamięć RAM, chyba że chcesz rozpocząć usuwanie kwasu z układu procesora, wyciąganie mikroskopu i śledzenie lutownicy w skali mikrometrycznej.

goobering
źródło
4
Zobacz tutaj, aby szybko zilustrować, jak są „nierozerwalnie połączone”.
Złotowłosa
3
Pi 2 ma oddzielny układ pamięci RAM, a znacznik w tym pytaniu dotyczy Pi 2. Twoja odpowiedź jest dobra dla wcześniejszych wersji Pi, ale czy dotyczy 2?
Adam Davis
3
Patrzę na to - z pewnością wydaje się to głęboko nieprawdopodobne. Układ RAM to SMD 168 kulek i jest trochę mniejszy niż moja miniatura. Mógłbym powiedzieć z rozsądną pewnością, że nie będzie żadnej zabawy próbując zdjąć starą i nową. odpowiedź joana może dokładniej opisuje ten przypadek użycia - nawet gdybyś mógł fizycznie poradzić sobie z chipem, nie zrobiłoby to żadnej różnicy. Każde SoC jest już maksymalne.
goobering
3
Możesz dodać dysk SSD i wykorzystać go jako swap. Następna najlepsza rzecz.
Darth Egregious
2
Wyjęcie układu pamięci z pewnością nie byłoby „zabawne”, powinno być możliwe do wykonania przy odpowiednim sprzęcie i umiejętnościach (i na pi2 łatwiej niż na pi1). Prawdziwy problem polega na tym, że SoC nie obsługuje nic większego.
Peter Green,
12

Nie.

Zasadniczo każdy model Pi został już wyposażony w maksymalną obsługiwaną ilość pamięci RAM.

Niektóre wczesne modele B miały tylko 256 MB i zamiast tego mogły mieć 512 MB. Jednak nie byłoby sposobu na aktualizację układu RAM bez zniszczenia płyty (chyba, że ​​masz specjalne laboratorium).

joan
źródło
Czy dotyczy to również Pi 3?
PythonNut
@PythonNut Tak, Pi2 i Pi3 mają już zainstalowany maksymalnie 1 GB.
joan
Nie oceniając tutaj skrajnych przypadków, ale jeśli bieżący 1 GB na Pi3 nie wystarcza i nie możesz podzielić obciążenia z innym Pi3, prawdopodobnie robisz to źle ...
WorseDoughnut
Nie, to zależy od tego, co próbujesz zrobić. Na przykład, jeśli chcesz go używać do niektórych aplikacji serwerowych, normalne może być zapotrzebowanie na więcej pamięci RAM.
Alexis Dufrenoy,
5

Na Pi 256 MB teoretycznie powinna być możliwa wymiana układu na 512 MB, ale nie byłoby to łatwe. Trzeba będzie ostrożnie podgrzać stos PoP, a następnie jakoś oddzielić procesor od układu pamięci RAM. Następnie posprzątaj bałagan starych piłek i wlutuj nowy układ pamięci RAM.

Pojawia się również pytanie, czy oprogramowanie układowe sobie poradzi, modele 512 MB mają zapisane kody OTP na karcie SoC w modelach SoC w porównaniu z modelami 256 MB i nie jestem pewien, czy kod rozruchowy działałby poprawnie, gdyby coś nie pasowało.

W przypadku 512 MB BCM2835 pis nie jest możliwa żadna aktualizacja, kontroler pamięci został zaprojektowany do obsługi 1 GB, ale wystąpił błąd, który uniemożliwiał jego prawidłowe działanie w tym rozmiarze.

Na Raspberry pi 2 Mdoel B i Raspberry pi 3 model B 1GB jest limitem, konstrukcja struktury magistrali i kontrolera pamięci w Soc po prostu nie obsługuje więcej.

Jeśli zobaczymy 512 MB Pi oparte na BCM2837 (np. Model A Raspberry pi 3), to spodziewam się, że aktualizacja do 1 GB będzie teoretycznie możliwa, ale znowu będzie konieczne przerobienie BGA (choć nie będziesz się dobrze bawić z PoP), a ja nie nie wiem, czy wystąpiłyby problemy z oprogramowaniem układowym.

Peter Green
źródło
3

Gdyby SoC mógł wesprzeć więcej, projektanci zapewne dodaliby więcej pamięci, jak zauważyli inni. Istnieje jednak o wiele ważniejszy powód: kontrola kosztów.

Różnica cen dla tego rodzaju części między 512 mln a 1G wynosi poniżej 1 USD; oba kosztują około 5 USD. Nawet 8G IC w tej kategorii to około 14 USD, więc możesz pomyśleć, wielka sprawa, nieco podnieść cenę. To nie takie proste.

3 ceny detaliczne za 40 USD; jego BOM jest prawdopodobnie poniżej 15 USD, więc nawet dodatkowy dolar miałby znaczący wpływ na cenę detaliczną, w ujęciu procentowym. I chociaż niektórzy ludzie mogą kupić droższe pi za więcej pieniędzy, samo udostępnienie dwóch wersji zwiększa koszty (projektowanie, testowanie, dystrybucję, magazynowanie itp.), A zamiast tego model 1G za 40 USD może być sprzedawany za 45 USD. Ty i ja możemy się tym nie przejmować, ale ma to duży wpływ na rynek edukacyjny, na który skierowane jest przede wszystkim Pi.

Ponadto, gdy pracujesz z ograniczonym budżetem, musisz podjąć decyzję, co uwzględnić. Ja, na przykład, jestem szczęśliwszy z posiadania Wi-Fi i BT na 3, niż miałbym dodatkową pamięć. Twoje wrażenia są różne, ale do tej pory nigdy nie potrzebowałem więcej pamięci, ale wszystko, czego użyłem pi, wymaga WiFi, więc oszczędzenie mi 5 USD na kluczu Wi-Fi było wyborem, który lubię.

Jeśli absolutnie potrzebujesz więcej pamięci, dostępne są inne (droższe) opcje!

JayEye
źródło
2

Nie możesz dodać pamięci RAM do Raspberry Pi, ale klastry Raspberry Pi to inna sprawa

Sprawdź: http://www.zdnet.com/article/build-your-own-supercomputer-out-of-raspberry-pi-boards/

AKTUALIZACJA:

Ponieważ ktoś o to poprosił, streszczę powyższy link. Chociaż sam nie znam szczegółów, wydaje się, że można „połączyć” Raspberry Pi (s).

„Kiepert uruchomił High Performance Linpack (HPL), standardowy test porównawczy superkomputera na swoim domowym komputerze i stwierdził, że jego RPiCluster z 32 procesorami Broadcom BCM2708 ARM11 ma 1 GHz, a 14,6 GB użytecznej pamięci RAM zamieniło się w szczytową wydajność HPL 10,13 GFLOPS ”

Aung Khant Ko
źródło
Witamy w Raspberry Pi! Chociaż teoretycznie może to odpowiedzieć na pytanie (w rzeczywistości jednak odpowiedź jest tylko styczna do pytania), najlepiej byłoby zawrzeć tutaj istotne części odpowiedzi i podać odnośnik.
Ghanima
2

Jeśli potrzebujesz tylko więcej pamięci do pracy i korzystasz z Linuksowej dystrybucji, możliwe jest zwiększenie wymiany. W tym celu postępuj zgodnie z instrukcjami tutaj http://www.thegeekstuff.com/2010/08/how-to-add-swap-space/ . Na moim Rasp znalazłem jej plik wymiany, /var/swapale to tylko 100 MB. Więc zastąpiłem go większym. Teraz mój Rasp ma 1 GB pamięci RAM i 4 GB wymiany.

Prędkość zmniejsza się, jeśli zamiana jest naprawdę potrzebna. W normalnej pracy nie ma to wpływu na wydajność. Więcej informacji można znaleźć tutaj en.wikipedia.org/wiki/Swappiness . Tego rozwiązania należy użyć, jeśli potrzebujesz Memory na krótki czas lub szczytów pamięci. Zamiana na dysk SSD zmniejsza żywotność dysku SSD. Przypomnij, że zamiana nie ma na celu powiększenia pamięci do normalnego użytkowania.

Jeśli stale szukasz więcej pamięci RAM i większej prędkości, powinieneś zajrzeć tutaj http://www.digitaltrends.com/computing/c2-offers-competitive-specs-to-raspberry-pi/ .


W odniesieniu do poniższej dyskusji kilka przykładów użycia, w których wolałbym zamianę niż zmianę sprzętu:

  1. Zbuduj oprogramowanie na celu. Oto dwie możliwości:

    1. Korzystanie z jednego rdzenia w celu zmniejszenia ilości potrzebnej pamięci. W moim przykładzie prowadzi to do maksymalnego wykorzystania pamięci wynoszącego 370 MB w czasie, który upłynął 9h 45min.

    2. Korzystanie z kompilacji równoległej. W moim przykładzie prowadzi to do maksymalnego wykorzystania pamięci 1400 MB w czasie, który upłynął 4h 30min. Ale w prawie 98% tego czasu używana pamięć jest mniejsza niż 1024 MB.

  2. Aplikacja z intensywnym procesem inicjalizacji: wtedy wiadomo, że główna część aplikacji potrzebuje mniej niż istniejąca pamięć RAM, ale procedura inicjalizacji - która pojawia się tylko raz w czasie życia programu - ma większe szczyty pamięci, zamiana jest odpowiednim sposobem na poradzić sobie z potrzebą pamięci.

Aby sprawdzić wymagania sprzętowe, możesz użyć:

/usr/bin/time -v <program invocation>

to daje ci te informacje

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
Alex44
źródło
1
RPi jest już wolny. Pozwolenie na zamianę spowoduje jeszcze wolniejsze działanie.
Thomas Weller,
Jak dotąd tak dobrze. Ale w niektórych przypadkach pamięć jest ważniejsza niż szybkość. Dla mnie na przykład: muszę zbudować dużą liczbę źródeł i rozpruć, ponieważ nie ma wystarczającej ilości pamięci. Więc powiększam swap. A prędkość maleje tylko wtedy, gdy zamiana jest naprawdę potrzebna. W normalnej pracy nie ma to wpływu na wydajność. Więcej informacji można znaleźć tutaj en.wikipedia.org/wiki/Swappiness .
Alex44
Czy naprawdę musisz bazować na samym RPi? Nie chcesz krzyżować kompilacji w szybszym systemie?
Thomas Weller,
Jest to kwestia wydajności aplikacji na końcu. W przypadku aplikacji w czasie rzeczywistym zastosowanie innego crossbuild-essential-armellub kompilatora półki na urządzeniu docelowym jest inne. Ale w odniesieniu do wydajności kompilacji sensowne może być oczywiście budowanie krzyżowe.
Alex44
To dobra odpowiedź - przesłałeś mi tę sprawę i nie jestem fanem wymiany. Chociaż nie jest to dokładna odpowiedź na pytanie, prawdopodobnie ma więcej pragmatycznych wartości dla większej liczby ludzi niż niektórzy inni ...
goldilocks