Skrivet av KattIMössa:
Härligt med öppenhet!(?)
Då är frågan @Yoshman: vad innebär detta för processorbranshen mot konsument respektive enterprise respektive workstation? Samt rimligheten att PC går över till detta gentemot att gå till ARM.
Svårt att säga. POWER är den bästa (minst dåliga) av alla "gamla" ISA, d.v.s. de som designades innan millennieskiftet. Men faktum kvarstår att POWER/PowerPC har egentligen aldrig uppvisat något riktigt stor prestandamässig fördel över samtida x86.
Edit: i fall relevanta för desktop/server ska tilläggas, PowerPC var ju en riktig älskling i embedded/RTOS-världen då interrupt-latens och liknande ofta mycket bättre än på x86 (viktigt för realtidsapplikationer). Vidare verkar IBM varit den enda ISA-designern på 80/90-talet som inte körde firmafesten dagen innan man designade många systemnära funktioner
POWER är en bättre ISA än x86 (rätt låg ribba i.o.f.s.), men finns fortfarande designval som idag inte är helt optimala och inte enkelt kan fixas utan att paja bakåtkompatibilitet. Aarch64 (64-bitars ARM) och RV64 (64-bitars RISC-V) är det bästa vi har för dagens krav.
Aarch64 har också genom Apple och nu även genom ARM Cortex A77 visat just hur mycket bättre designad denna ISA är jämfört med x86. Apples senaste CPU-design ligger ju 40-50 % högre i IPC jämfört med Skylake/Zen2!!!
Problemet ARM har med både RISC-V och nu även med POWER är att allt fler vill undvika att åter sätta sig i knät på ett specifikt företag. Debaclet Trump fixade som resulterade i frågetecken kring huruvida Huawei ens skulle kunna använda Aarch64 framöver fick rätt många att inse det stora värdet med helt öppna ISA.
Ska jag göra en gissning på vilken av RISC-V, POWER och Aarch64 som har störst chans att rubba x86-dominasen säger ändå hjärnan Aarch64. Detta då jag är övertygad om att Apple kommer byta till Aarch64 på MBP-serien relativt snart, gissar på 2020 eller senast 2021. Det kommer visa hur mycket bättre/snabbare bärbara man kan göra om man släpper all gammal x86 dynga.
Hjärtat vill att RISC-V ska vinna, men de ligger helt klart efter Aarch64 i mognadsgrad just nu. Det som kan rädda dagen här är ett väldigt folkrikt land i öster som efter en viss västledares nyckfullhet börjat storsatsa på RISC-V för att minska sitt beroende mot väst. Men just nu är RISC-V primärt inriktad mot mikrokontroller och inbyggda-system, väldigt lite verkar göras kring server/desktop för RISC-V.
Den uppenbara fördelen för POWER är att det redan är en etablerad ISA i serversammanhang och att det har rejäl backning från företag som IBM och Nvidia.
Problemet alla dessa ISA har stavas "Windows" och det operativsystemets dominans på skrivbordet. Gissar att det kommer gå trögt med flytten från x86 så länge som det inte finns vettiga alternativ att köra sin desktop/laptop på något annat än x86. Det är en fördel att köra samma ISA på maskinen man utvecklar programvaran på som den server/datacenter som ska köra slutprodukten, det även när man utvecklar i mot JVM/.Net/Python eller liknande där underliggande ISA i teorin ska kvitta.
Aarch64 ligger klart närmare de två andra att bli ett realistiskt alternativ, framförallt givet att Windows 10 redan finns för Aarch64 (men idag saknas bra HW). Historisk har det ju ändå funnits POWER på skrivbordet/bärbara, även funnits en Windows variant för PowerPC (det för big-endian, mindre steg att fixa stöd för dagens little-endian POWER).
Så POWER skulle kunna bli något att räkna med och ser heller ett öppet POWER än ett x86 som i praktiken helt kontrolleras av Intel (AMD må kunna göra x86 kompatibla kretsar, men är i dag helt Intel som dikterar utveckling av den ISAn). Men föredrar Aarch64 och håller tummarna för RISC-V!
Skrivet av Dracc:
@AndersL: Många distributioner erbjuder en PowerPC/PowerPC64-port. Då är det bara att installera och köra på som vanligt.
Om programmen kan köras direkt beror på vad man gör av ISAn, kör man big endian så lär många program där du gör bitmanipulation behöva skrivas om men i övrigt borde det räcka att kompilera om dem bara.
Sedan POWER8 finns ju fullt stöd för little-endian och för t.ex. Ubuntu är ppc64le det enda som stöds
"Beginning with the 14.04 distribution, Canonical’s Ubuntu Server supports Power in little endian mode only and future release plans show this support continuing. No plans exist to provide an equivalent big endian version optimized for IBM Power Systems."
"Kriget" mellan big/little-endian verkar rätt mycket vara över, little-endian har vunnit (ARM stödjer också båda varianter men idag används i princip bara little-endian).
Personligen tycker jag little-endian är att föredra, det trots att jag ägnat rätt stor del av mitt yrkesliv med nätverks-relaterad programmering (big-endian == network byte order -> lite enklare att ha att göra med här). Little-endian är trots allt mer intuitivt att jobba med på programmeringsnivå i det generella fallet
uint32_t x = 0x42;
uint8_t *p = (uint8_t *) &x;
// *p är vad du rimligen gissar att det är på en little-endian, not so much på big-endian
// *p är 0x42 på little-endian
// *p är 0x00 på big-endian