Freebsd på RPI3 är på G med full 64-bitars stöd!

Permalänk
Medlem

Freebsd på RPI3 är på G med full 64-bitars stöd!

FreeBSD på RPI3 är på G i Freebsd 12 HEAD med full 64-bitars stöd, det är nått att se fram emot

Länk: https://mysteriouscode.io/blog/freebsd-on-raspberry-pi-3/

Permalänk
Medlem
Skrivet av crash:

FreeBSD på RPI3 är på G i Freebsd 12 HEAD med full 64-bitars stöd, det är nått att se fram emot

Länk: https://mysteriouscode.io/blog/freebsd-on-raspberry-pi-3/

WOHO!

Visa signatur

:(){ :|:& };:

🏊🏻‍♂️   🚴🏻‍♂️   🏃🏻‍♂️   ☕

Permalänk
Datavetare

Var inte en stor anledning till att 64-bitars stöd fått rätt lång prioritet i t.ex. Raspbian att enheten trots allt inte är begränsad av 32-bitar samt att Cortex A53 (CPU-kärnan i RPi3) faktiskt presterar bäst med det instruktionsformat som kallas Thumb2?

ARMv8 (som är den senaste standarden och den RPi3 använder) specificerar tre olika instruktionsformat

  • Thumb2: detta är ett 32-bitars läge som även finns hos RPi2, instruktionerna är 2 eller 4 bytes långa (olika för olika instruktioner, så en form av variabel instruktionsstorlek), register är 32-bitar. Detta läge ger typisk de minsta binärerna

  • A32: detta är ett 32-bitars läge som (utan att gå in på pyttedetaljer) finns på alla RPi-modeller, alla instruktioner är 4 bytes långa, register är 32-bitar

  • A64: detta är ett 64-bitars läge som endast finns hos RPi3, alla instruktioner är 4 bytes långa, register är 64-bitar

Cortex A53 är en väldigt enkel CPU-kärna och flaskhalsarna verkar mest ligga i dess begränsade minneshierarkidesign, Thumb2 är det läge som ger mest plats i cachar och liknande så att det blir färre minnesanrop.

A64 kan mycket väl vara det långsammaste av de tre lägena på just denna CPU. Om/när det kommer RPi med mer avancerade ARM-modeller lär vi få se 64-bitars stöd. Om inte annat lär de komma om/när det kommer modeller med så pass mycket RAM att 32-bitar är en flaskhals, vilket med normal konfiguration av Linux-kärnan inträffar om man går över 2 GB.

Det skrivet:
Som utvecklare skulle jag absolut vilja se Aarch64 stöd för RPi3! Om kärnan kör A64 är det fullt möjligt att köra alla tre instruktionsformat som stöds i user-land (i vanliga program).

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av Yoshman:

Var inte en stor anledning till att 64-bitars stöd fått rätt lång prioritet i t.ex. Raspbian att enheten trots allt inte är begränsad av 32-bitar samt att Cortex A53 (CPU-kärnan i RPi3) faktiskt presterar bäst med det instruktionsformat som kallas Thumb2?

ARMv8 (som är den senaste standarden och den RPi3 använder) specificerar tre olika instruktionsformat

  • Thumb2: detta är ett 32-bitars läge som även finns hos RPi2, instruktionerna är 2 eller 4 bytes långa (olika för olika instruktioner, så en form av variabel instruktionsstorlek), register är 32-bitar. Detta läge ger typisk de minsta binärerna

  • A32: detta är ett 32-bitars läge som (utan att gå in på pyttedetaljer) finns på alla RPi-modeller, alla instruktioner är 4 bytes långa, register är 32-bitar

  • A64: detta är ett 64-bitars läge som endast finns hos RPi3, alla instruktioner är 4 bytes långa, register är 64-bitar

Cortex A53 är en väldigt enkel CPU-kärna och flaskhalsarna verkar mest ligga i dess begränsade minneshierarkidesign, Thumb2 är det läge som ger mest plats i cachar och liknande så att det blir färre minnesanrop.

A64 kan mycket väl vara det långsammaste av de tre lägena på just denna CPU. Om/när det kommer RPi med mer avancerade ARM-modeller lär vi få se 64-bitars stöd. Om inte annat lär de komma om/när det kommer modeller med så pass mycket RAM att 32-bitar är en flaskhals, vilket med normal konfiguration av Linux-kärnan inträffar om man går över 2 GB.

Det skrivet:
Som utvecklare skulle jag absolut vilja se Aarch64 stöd för RPi3! Om kärnan kör A64 är det fullt möjligt att köra alla tre instruktionsformat som stöds i user-land (i vanliga program).

Tack för den djupa förklaringen, hade absolut ingen koll på detta. Så det var väldigt intressant läsning för min del Så egentligen är rpi3 a64 onödigt då minnet är så pass lågt och andra saker behöver optimeras för att vinna något på det?

Permalänk
Datavetare
Skrivet av crash:

Tack för den djupa förklaringen, hade absolut ingen koll på detta. Så det var väldigt intressant läsning för min del Så egentligen är rpi3 a64 onödigt då minnet är så pass lågt och andra saker behöver optimeras för att vinna något på det?

Det är onödigt om målet är att pressa ut så mycket prestanda som möjligt då Cortex A53 tenderar prestera bäst med Thumb2 vilket är formatet i princip alla program använder sig av idag när man kör t.ex. Raspbian (är dock fullt möjligt att köra A32 om man vill).

Men sedan har man alltid hönan och ägget problemet. Så ur den aspekten vore det trevligt om det i alla fall fanns en möjlighet att köra en 64-bitars kärna, i alla fall för testning. Då går bytet smidigare om/när det kommer en RPi med mer än 2 GB RAM eller med en CPU som faktiskt presterar bättre i 64-bitars läge.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av Yoshman:

Det är onödigt om målet är att pressa ut så mycket prestanda som möjligt då Cortex A53 tenderar prestera bäst med Thumb2 vilket är formatet i princip alla program använder sig av idag när man kör t.ex. Raspbian (är dock fullt möjligt att köra A32 om man vill).

Men sedan har man alltid hönan och ägget problemet. Så ur den aspekten vore det trevligt om det i alla fall fanns en möjlighet att köra en 64-bitars kärna, i alla fall för testning. Då går bytet smidigare om/när det kommer en RPi med mer än 2 GB RAM eller med en CPU som faktiskt presterar bättre i 64-bitars läge.

Jo det har du helt rätt i, jag själv bryr mig inte om om den egentligen klarar a64 eller inte mest för att det går man har ju inte en rpi till något i produktion iallafall då sd-kort inte är så kända på att hålla så länge