是否可以向Raspberry Pi 添加RAM?
是否可以向Raspberry Pi 添加RAM?
Answers:
不可以。没有方法可以将RAM添加到Pi。请参见本次讨论的raspberrypi.org论坛的更多细节,但基本上RAM和CPU是难解难分,难得连接。没有物理方法可以有效地添加RAM,除非您要开始酸剥离CPU芯片,将显微镜拿出并追踪微米级的烙铁。
没有。
通常,每个Pi型号都已经安装了最大支持的RAM。
某些早期的模型B仅具有256MB,而可以具有512MB。但是,不破坏主板就无法更新RAM芯片(除非您有专门的实验室)。
从理论上讲,在256MB Pi上,应该可以用512MB Pi替换该芯片,但这并不容易。您必须仔细加热PoP堆栈,然后以某种方式将处理器与ram芯片分开。然后清理一堆旧球,并焊接新的ram芯片。
还有一个问题是固件是否可以应对,512MB型号的ID代码与256MB型号的SoC上的OTP刻录的ID代码不同,而且我不确定如果情况不匹配,引导代码是否可以正常工作。
在基于512MB BCM2835的pis上,无法升级,该内存控制器设计为支持1GB,但是存在一个错误,使该控制器无法在该大小下正常工作。
在树莓派2 Mdoel B和树莓派3 B型1GB的限制上,Soc中的总线结构和内存控制器的设计根本不支持更多。
如果我们看到基于512MB BCM2837的Pi(例如Raspberry pi 3模型A),那么我希望理论上可以升级到1GB,但是再次需要进行BGA返工(尽管您不会享受PoP的乐趣),但我没有不知道是否会有固件问题。
如果其他人指出,如果SoC可以支持更多功能,那么设计人员可能会包括更多的内存。不过,还有一个更重要的原因:成本控制。
512M和1G之间此类产品的价格差在1美元以下;两者的价格都在5美元左右。即使是该类别的8G IC也在14美元左右,所以您可能会认为,大不了,价格有些上涨。没那么简单。
3个零售价为40美元;其BOM可能低于15美元,因此,即使多花一点钱,也会对零售价格产生很大的影响。尽管有些人可能会花更多的钱购买更昂贵的pi,但仅提供两个版本就增加了成本(设计,测试,分发,库存等),而40美元的1G型号可能不得不以45美元的价格出售。您和我可能不在乎,但这确实对Pi瞄准的教育市场产生了很大的影响。
同样,当预算有限时,您必须决定要包含的内容。我想,比起有了额外的内存,在3上安装wifi和bt会更快乐。您的体验可能会有所不同,但到目前为止,我从来不需要更多的内存,但是我使用pi进行的所有操作都需要WiFi,因此,我喜欢在WiFi软件狗上节省5美元。
如果您绝对需要更多的内存,那么还有其他(更昂贵的)选择!
您无法将RAM添加到树莓派,但树莓派群集是另一回事
检查:http : //www.zdnet.com/article/build-your-own-supercomputer-out-of-raspberry-pi-boards/
更新:
由于有人要求,我将总结以上链接。尽管我本人并不熟悉这些细节,但是似乎可以“连接”树莓派。
“ Kiepert运行了高性能Linpack(HPL),这是他家用计算机上的标准超级计算机基准,发现他的RPiCluster及其32个Broadcom BCM2708 ARM11处理器运行在1GHz和14.6GB可用RAM上,HPL的峰值性能为10.13。 GFLOPS”
如果只需要更多内存即可工作,并且运行Linux发行版,则可以扩大交换空间。为此,请按照http://www.thegeekstuff.com/2010/08/how-to-add-swap-space/中的说明进行操作。在我的Rasp上,我找到了一个swapfile,/var/swap
但这只是100 MB。所以我换了一个更大的。现在我的Rasp有1 GB RAM和4 GB交换空间。
如果确实需要交换,则速度会降低。在正常操作中,这不会影响性能。在此处查看en.wikipedia.org/wiki/Swappiness了解更多信息。如果您需要短时间的内存或内存高峰,则应使用此解决方案。交换到SSD会缩短SSD的寿命。提醒您,交换并非旨在扩大用于常规操作的内存。
如果您永久寻求更多的RAM和速度,请访问http://www.digitaltrends.com/computing/c2-offers-competitive-specs-to-raspberry-pi/。
关于下面的讨论,一些示例用例,在这种情况下,我宁愿交换而不是更改硬件:
在目标上构建软件。这里有两种可能性:
使用单核减少所需的内存量。在我的示例中,经过9小时45分钟,这导致了370 MB的峰值内存使用。
使用并行构建。在我的示例中,经过4小时30分钟后,这导致了1400 MB的峰值内存使用量。但是在将近98%的时间中,已用内存低于1024 MB。
一个具有繁重的初始化过程的应用程序:众所周知,应用程序的主要部分需要的内存比现有RAM少,但是初始化例程(仅在程序生命周期发生一次)具有更大的内存峰值,因此交换是一种合适的方法处理内存需求。
要检查硬件要求,可以使用:
/usr/bin/time -v <program invocation>
这给你这些信息
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
在目标设备上使用或架子的编译器会有所不同。但是,就构建性能而言,交叉构建当然是有意义的。