Update 2019-06-30: Ethernet-Anbindung korrigiert, USB3-Anbindung präzisiert, Cachegrößen nachgepflegt, USB-Strombegrenzung aus dem Datenblatt erwähnt, Dual-Head-Unklarheit bezüglich 4K@60Hz erwähnt.
Die Raspberry Pi Foundation hat mal wieder alle überrascht (und vorher auch reichlich Nebelkerzen geworfen, im Einklang mit Broadcom): der brandneue Raspberry Pi 4 ist ab sofort verfügbar, und er basiert weiterhin auf einem Broadcom-Chip. Nach dem RPi 3B+ wurde ja reichlich spekuliert, dass die Broadcom-Reihe nun ausgereizt sei und man möglicherweise sogar auf einen anderen SoC-Hersteller wechseln müsse. Pustekuchen.
Was steckt drin, vor allem im Unterschied zum 3B+? Die Kurzfassung: ein BCM2711 (Quad-Cortex A72@1,5 GHz), Gigabit Ethernet über einen schnellen internen Bus angebunden, USB3.0 über PCIe, Dual-Head mit je 4K@60Hz-Unterstützung (einzelne Quellen sprechen allerdings auch davon, dass im Dual-Head-Betrieb nur je 4K@30Hz möglich wären, eventuell ist das aber nur eine vorübergehende Treiberschwäche), und Modelvarianten mit 1, 2 oder 4 GiB RAM das zudem als LPDDR4-2400 ausgeführt ist. Und da man wegen der 2x microHDMI für Dual-Head-Unterstützung sowieso nicht mehr kompatibel zu den alten Gehäusen sein konnte, hat man die Stromversorgung nun auf USB Typ C umgestellt – endlich nicht mehr peilen, wie rum der microUSB-Stecker rein muss…warum man auch noch die Position von Ethernet und USB getauscht hat, erschließt sich hingegen nicht direkt, eventuell wegen der Positionierung der PoE-Pins.
Also: neues Netzteil (das offizielle Netzteil leistet 15W – durch 2x USB3 statt den bisherigen USB2 liegt allein der Stromverbrauch bei voller Auslastung durch angeschlossene USB-Geräte ja schon 800mA höher, weil USB3 900mA zusichert, gegenüber 500mA bei USB2 – irritierenderweise redet das vorläufige Datenblatt von einem Limit in Summe über alle 4 Buchsen von 1,1A – das ist so niedrig, dass ich einen Druckfehler vermute), neues Gehäuse, neue HDMI-Kabel sind angesagt. Die microHDMI-Buchsen liegen relativ nah beieinander, von einer Adapterlösung microHDMI-auf-Standard-HDMI würde ich nach erster Betrachtung eher abraten, das könnte platztechnisch eng werden.
Was kann man über die Performance sagen? Eigentlich nur Gutes. Obwohl die CPU taktmäßig nur einen kleinen Sprung gemacht hat, gilt der Cortex-A72 pro MHz als deutlich leistungsfähiger gegenüber dem vorher verwendeten Cortex-A53 im Pi 3. Grob sagt man dem Cortex-A53 etwa 2,3 DMIPS/MHz nach, dem Cortex-A72 hingegen 4,6 DMIPS/MHz. Erreicht wird das durch die üblichen Maßnahmen, die die x86-Welt seit Jahren vormacht: tiefere Pipeline, bessere branch prediction, ausgefuchsteres Out-Of-Order-Execution-Handling, mehr Parallelisierung beim instruction decoding. Und weil gleichzeitig ein Prozess-Shrink bei der Fertigung mit einfloss (28nm statt 40nm), soll der Stromverbrauch sich weiterhin in einem ähnlichen Rahmen wie bisher bewegen. Erste Messungen zeigen ähnlichen Stromverbrauch bei Volllast und etwas Höheren in Ruhe – welcher Anteil da auf die CPU entfällt, was auf den neuen Videocore VI und was auf den Rest vom Board – keiner weiß es im Moment.
Zu den CPU-Caches gibt es ebenfalls positive Details zu vermelden. Der Cortex-A72 hat 48 KiB instruction cache und 32 KiB data cache zu bieten auf der L1-Ebene, und 1 MiB L2-Cache – das ist deutlich mehr als der Cortex-A53 des RPi 3 B(+) zu bieten hatte (16 KiB I+16 KiB D-L1, 512 KiB L2). Die ersten Linux-Benchmarks zeigen einen Nettogewinn von 60-80%, was darauf hinweist, dass sowohl das schnellere RAM als auch die größeren Caches ausreichen, um die CPU-internen Fortschritte nicht über Gebühr auszubremsen.
Dadurch, dass nun das Gigabit-Ethernet endlich vom USB2 weg ist und an einen eigenen High-Speed-Bus direkt am SoC angedockt wurde, steigert sich der Netzwerkdurchsatz laut ersten Messungen nahe an das theoretische Maximum von 1 Gbit/s, während vorher eher so 300 MBit/s angesagt waren. Und vor allem kollidiert das nicht mehr mit dem USB-Massenspeicher – bisherige Pis hatten alles an einem einzigen USB-Kanal.
USB3 ist für heutige Massenspeicher wie schnelle SSDs natürlich auch ein gewaltiger Fortschritt, von theoretisch 480 MBit/s auf 4 GBit/s Durchsatz. Durch die Anbindung sowohl des USB2-Hosts und des USB3-Hosts über PCIe ist hier eine signifikante Performanceverbesserung drin. Mal sehen, was davon in der Praxis übrigbleibt, bei Konkurrenz-ARM-Boards gab es da öfter mal böse Überraschungen.
Das neue RAM-Maximum von 4 GiB ist vermutlich aus RISC OS-Sicht die unwichtigste Verbesserung – schon das eine GiB ist doch die meiste Zeit leer. Aber wer weiß, wenn es mal eine aktuelle Browser-Portierung gibt…ob RISC OS überhaupt so ohne weiteres mit den 4 GiB klarkommen wird, ist momentan noch unklar – bisher lag das Maximum bei 2 GiB. Der Preisaufschlag für 4 GiB statt 1 GiB liegt z.B. bei Reichelt Elektronik bei nicht ganz zu vernachlässigenden 21€.
Für RISC OS ebenfalls nicht so interessant, aber bei Einsatz als Mediacenter nützlich: die eingebauten Hardware-Decoder im neuen Videocore VI können nun H.265 in 4K@60Hz decodieren.
Und der Vollständigkeit halber: Bluetooth ist jetzt bei 5.0 angelangt gegenüber 4.2 beim Vorgängermodell. WLAN wie bisher – 802.11ac in der 2,4- oder 5-GHz-Variante.
Ich bin gespannt, wie die Praxis-Benchmarks unter der besonderen RISC OS-Situation aussehen werden. Es steht zu erwarten, dass die bisherigen Performancekönige Titanium und IGEPv5 zumindest CPU-technisch die Krone abgeben müssen, da deren Cortex-A15 typischerweise mit 3,5 DMIPS/MHz eingeordnet wird. Ebenso spannend, an welchen Stellen RISC OS das Gebotene wirklich ausnutzen kann – der TCPIP-Stack ist nicht bekannt für Top-Performance, mal sehen was da vom echten Gigabit übrig bleibt. USB3-Unterstützung gibt es im USB-Stack bisher noch gar nicht – umso wichtiger, dass das USB-Stack-Update-Bounty mal in die Gänge kommt. Bei Bluetooth und WLAN bleibt die Situation so traurig wie zuvor. Ob der Cortex-A72 ein paar Überraschungen bereithält, wie es beim Cortex-A53 bei einigen ARMv8-“undefined behaviour”-Dingen passiert ist, ist noch unbekannt.
Nicht unwichtig für uns RISC OSler: die Foundation sichert zu, dass der RPi 4 bis Januar 2026 “in production” bleiben wird. Wenn das mal keine guten Zukunftsaussichten sind. Denn es wird zunehmend unwahrscheinlich, dass es bei 32bit ARM-Geräten in der Zukunft noch große Sprünge geben wird, weil der Rest der Welt mit Riesenschritten zu AArch64 wechselt. Was aus RISC OS-Sicht im Prinzip einem Wechsel auf x86 oder AMD64 entspricht.
Außerhalb der RISC OS-Welt ist der RPi nun wieder ein ernstzunehmender Kandidat für allerhand Anwendungsfälle, die zuletzt eher zur Konkurrenz abgewandert sind – vom NAS übers Mediacenter bis zum Desktop-Ersatz ist der RPi 4 nun für alle Anwendungsfälle gerüstet. Denn entscheidende Performanceschwächen wurden allesamt behoben. Es bleibt spannend.