Bloomberg: "Apples Macbook med ARM-processor får 12 kärnor"

Permalänk
Medlem
Skrivet av lillaankan_i_dammen:

Det blir halmgubbar av det hela, jag ser jag misstolkade dig och du nu mig.
Det jag ville syfta på att gemene person inte behöver ha mycket datorkraft på deras dator.
Den stora skaran som vill ha bra prestanda på deras laptop så är det självklart först och främst spel, sedan kommer säkerligen videoredigering och man kan diskutera vad som kommer näst.
Det jag skrev var med 3 -4 maskiner var när man var ute för brutal prestanda när Arm kommer få stora problem. Detta för att det alltid blir problem vid övergångar oavsett om övergångarna är bra eller dåliga.
Övergången till 64 bit os i windows skapade megastora problem, första 32 bit Pentium Pro processor var dåliga för 16 bit program osv. Men tillslut så blev det bra.

Ok då är jag med på resonemanget. Vi får se hur det går. Själv lutar jag nog mer åt vad @Yoshman skriver i tråden. Tiden får dock utvisa detta

Permalänk
Datavetare
Skrivet av Ase:

@Mindfighter: x86 cisc, risc var något mac hade för 20-30 år sen + några servrar vilket blev frånsprunget av cisc några år efter. Arm är inte risc processorer.
Finns någon tillverkare som försöker på att göra moderna risc processorer men de verkar inte lyckas.

RISC och CISC har aldrig haft någon direkt specifikation. I praktiken är distinktionen huruvida instruktionsuppsättningen tillåter minnesoperander i aritmetiska operationer eller ej, d.v.s. om det är en "load-store design" eller ej.

Med den definitionen är z80, 6502, x86 definitivt en CISC (inte en "load-store design) medan ARM, Aarch64, MIPS, RISC-V, PowerPC och AVR är RISC. Internt bryter ju moderna x86 upp en aritmetisk instruktion som går mot minne till "ladda minnet i internt register, utför instruktion mot register, spara ned resultat i minne", vilket gör att man brukar se att x86 är en RISC internt (fast den är egentligen en "load-store design" internt).

Det som gör framförallt ARM/Aarch64 unik bland "RISC" är att de har väldigt "CISC" lik flora av minnesoperander, men det är fortfarande bara knutet till load/store instruktioner.

Vidare har ARM rätt komplicerade finesser (som man tog bort i Aarch64 för att det försvårade design av riktigt hög IPC). Nästan alla instruktioner i ARM är villkorade, om villkoret inte är uppfyllt blir det effektivt en "gör ingenting" instruktion. Fördelen med detta är att man ofta kan få till otroligt kompakt kod, som också har långt färre hopp än på andra CPU-arkitekturer. Lysande om man vill designa en superenkel mikrokontroller (så ARM lär leva vidare i Cortex M serien, M=mikrokontroller), men en klar försvårande omständighet om man vill göra en high-end CPU.

ARM kan också spara/återställa valfritt antal register med en enda instruktion. Åter igen något som ger extremt kompakta funktionsprologer/epiloger, men dåligt för hög IPC (de flesta ARM CPUer mikrokodar dessa instruktioner, så de är en serie load/store internt). Även detta är borta i Aarch64, där kan man spara/ladd två intilliggande register. Vettigt då det är en tillräckligt vanlig sak för en kompilatorn att vilja göra, väldefinierat vad som ska hända så behöver inte mikrokodas samt mer effektivt mot cache (cache-lines i dagens CPUer är i praktiken alltid större än 64-bitar, så att läsa/skriva ett register är inte optimalt).

Rent generellt är Aarch64 (och även RISC-V som designats under samma tidsperiod) "perfekta" ISA givet dagens krav. x86 designades i en tid när det fortfarande var en självklarhet att människor skrev assembler och innan multicore var normen. Aarch64 är specifikt designad för att göra det lätt att optimera kompilatorer till den, vettigt då ingen längre skriver saker i assembler utöver de få delar i OS som måste skrivas i assembler (men det är rätt lite och man gör det inte av prestandaskäl).

Aarch64 och RISC-V är de enda två som är en "perfekt" match på instruktionsnivå för den modell de stora programspråken valt för minneskonsistens mellan trådar. x86 ger en massa garantier som man nästan aldrig behöver, det lämnar prestanda på bordet. Vissa av de tidigare RISC:arn gav för lite garantier, så man fick lägga till explicita "minnesbarriärer" som då gjorde att man sköt över målet (ofta mer än vad x86 skjuter över målet).

Bakåtkompatibilitet är viktigt. Men i något läge blir bagaget av onödiga saker som samlats på hög allt för stort, en storstädning behövs och ofta ger städningen möjligheter till nya insikter!

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

Om nu Macbook börjar primärt använda arm-arkitektur, hur sannolikt tror ni att program som adobes suite och spel som man är vana vid att se på desktop kommer dyka upp för Arm i nära framtiden?

Visa signatur

Rota3: Ryzen 5600 - 32GB - Radeon RX 7600 - Kingston NV200 2TB - Fractal Design R3 - EVGA Supernova 750W

Permalänk
Skrivet av nick-li:

Om nu Macbook börjar primärt använda arm-arkitektur, hur sannolikt tror ni att program som adobes suite och spel som man är vana vid att se på desktop kommer dyka upp för Arm i nära framtiden?

Stora program går supersnabbt. Adobe har väl redan mycket till iPaden? Så här har det alltid varit. Så det förvånar mig inte om det mesta va Adobe och Office från Microsoft finns från dag 1.
Problemet är dock mindre program, men folk använder dessa mindre idag och ofta kör webblösningar.

Permalänk
Datavetare
Skrivet av nick-li:

Om nu Macbook börjar primärt använda arm-arkitektur, hur sannolikt tror ni att program som adobes suite och spel som man är vana vid att se på desktop kommer dyka upp för Arm i nära framtiden?

Skulle bli enormt förvånad om de av Adobes program som är populära på MacOS inte finns i Aarch64-native form inom ett år efter lansering, inte alls osannolikt att det finns från start.

Det vi lär ha i bakhuvudet här är: det är fortfarande ett rykte fram till Apple officiellt säger något! Men tydligen har Intel nämnt att de antagligen kommer tappa Apple p.g.a. övergång till Aarch64.

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:

RISC och CISC...

Hatten av till dig Yoshman, måste bara säga att dina inlägg är en fröjd att läsa som gammal unix-nörd med stort teknikintresse!
Vem sa att folk som använder Apple inte är intresserade av teknik?!

Visa signatur

Amd o Apple

Permalänk
Medlem
Skrivet av Yoshman:

Sedan flera versioner tillbaka stödjer inte ens Apple ARM, de har helt gått över till Aarch64. Det borde även Android-sidan göra snarast (även på Android kör man idag primärt Aarch64, men där tror jag man fortfarande har stöd för ARM).

När jag kollade på nätet så kallar Apple det ARM64, men hittade också svar att det är i princip samma sak som Aarch64.
https://developer.apple.com/search/?q=ARM64
https://developer.apple.com/search/?q=Aarch64

Jag är lekman i dessa områden, är det samma sak eller?

Permalänk
Medlem
Skrivet av nick-li:

Om nu Macbook börjar primärt använda arm-arkitektur, hur sannolikt tror ni att program som adobes suite och spel som man är vana vid att se på desktop kommer dyka upp för Arm i nära framtiden?

Photoshop finns redan på iPad. Adobe var noga med att påpeka att det är hela Photoshop, även om man inte kommer åt alla funktioner från touchen-gränssnittet. Anledningen skulle vara att man ville se till att det var exakt samma filformat så att man kunde redigera samma fil på bägge, men jag anar att Adobe gjorde det för att de visste att en ARM-portning skulle vara användbar.

Visa signatur

5900X | 6700XT

Permalänk
Medlem
Skrivet av Yoshman:

Det enda som då spelar roll är mikroarkitekturen, de PowerPC Apple körde på slutet hade mer gemensamt med Pentium (original varianten) än de PIII/P4/Athlon man tampades med!

Alltså jag håller med om mycket av vad du skriver, men en G5 - dvs Power4 med en påhängd vektorenhet - liknar inte en dual-issue in-order som Pentium speciellt mycket. Inte ens G4 (745x) är speciellt lik.

Visa signatur

5900X | 6700XT

Permalänk
Medlem
Skrivet av Fulci:

När jag kollade på nätet så kallar Apple det ARM64, men hittade också svar att det är i princip samma sak som Aarch64.
https://developer.apple.com/search/?q=ARM64
https://developer.apple.com/search/?q=Aarch64

Jag är lekman i dessa områden, är det samma sak eller?

AArch64 är namnet på arkitekturen. Apple kallar det för ARM64 i sin LLVM-backend, som var deras egen implementation tills de för några år sen gick open source.

Permalänk
Datavetare
Skrivet av mpat:

Alltså jag håller med om mycket av vad du skriver, men en G5 - dvs Power4 med en påhängd vektorenhet - liknar inte en dual-issue in-order som Pentium speciellt mycket. Inte ens G4 (745x) är speciellt lik.

Rätta mig om jag har fel, men refererade till bärbara datorer och de gick väl ändå från G4 till Core (den Core som egentligen var en omdöpt Pentium M som i stort sätt var en PIII)?

G4 är i praktiken en PowerPC 74xx som är en dual-issue in-order design, visst med AltiVec. Det är i praktiken en Pentium med SSE stöd sett till mikroarkitektur, även om kunde klockas högre än Pentium någonsin nådde. Varianter av PPC 74xx har fram till rätt nyligen varit väldigt vanliga i vissa områden för inbyggda system, så har hyfsad koll på den designen.

Har dålig koll på G5 (i.e. aldrig någonsin kör något på en sådan CPU), inte så att det blev någon större succé. Det verkar vara ett derivat av POWER4, vilket i sin tur verkar vara en relativt begränsad out-of-order design. Precis som PIII/Pentium-M har G5 två ALU-pipelines, fast G5 har bra två minnespiplines medan den förra har tre (asymmetriska i funktion, men ändock "bredare").

Så visst, G5 är jämförbar med PPro-serien av Intel CPU sett till teoretisk kapacitet per cykel. Men vad jag kan se användes den aldrig utanför MacPro.

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 lillaankan_i_dammen:

Apple datorer håller sig bra av flera anledningar som har med operativsystemet att göra. Men användarbasens behov påverkar också. Deras billigaste ca 15,6" laptop (aom är en gammal standardstorlek) kostar nästan 30 000kr. Och om man köper en sådan dator för att typ enbart surfa, kolla mail, lite netflex, enklare ordbehandling så säger det sig själv att hårdvaran i denna dator lär hålla väldigt länge för användarens behov.

Går man tillbaka till winXp tiden, den tid då teknisk intresserade personer körde en drös saker direkt på värdoperativsystemsystemet, så installerade och avinstallerade för på windows hur mycket som helst. Och när dessa program knappast återställde operativsystemet efter sig så var det inte konstigt att datorn blev slö. Många datorintresserade på den tiden använde en image fil och återställde windows med jämna mellanrum.
Apple användarna däremot, ja de använde ofta inte så många program och då skröt om att deras operativsystem höll sig så länge utan blev slött. Visst var macos bättre, men en stor sak berodde på hur lite applikationer de använde.
Denna trend har fortsatt även om de går emot att det finns mindre tekniska personer som vill installera dritt på värdoperativsystemet, inte minst nu när dockers har blivit självklart och även på enklare kurser ska man visa att man kan hantera detta. Vill man ha grundläggande certifikat inom olika saker inom IT så kommer idag dockers in i väldigt många idag, borta är den trend att förstöra värdoperativsystemet med en massa skit

Nu råkar väl, iofs, MacBook Air vara den mest sålda laptopen - vilket är deras med lägst pris. Vilket snarare kostar 13K - och tidigare kostade den mindre (dollarkursen har ju ökat med över 50% mot kronan dom senaste 10 åren vilket påverkar mycket, för allt så klart).
Jag testade att installera Catalina (senaste MacOS) på en Mac Mini från 2009 med Core 2 Duo(!) och sjukt nog så flöt OS:et på bra.

Jag tror du överskattar skillnaden i behoven och hur man använder en dator bland majoriteten av datoranvändarna. Att Mac-användare skulle installera färre program än Windows-användare vet jag inte riktigt vad du grundar det på? MacOS är ju betydligt mer robust byggt än Windows och "straffas" inte på samma sätt av att installera och sedan avinstallera program.

Permalänk
Skrivet av bimbim:

Nu råkar väl, iofs, MacBook Air vara den mest sålda laptopen - vilket är deras med lägst pris. Vilket snarare kostar 13K - och tidigare kostade den mindre (dollarkursen har ju ökat med över 50% mot kronan dom senaste 10 åren vilket påverkar mycket, för allt så klart).
Jag testade att installera Catalina (senaste MacOS) på en Mac Mini från 2009 med Core 2 Duo(!) och sjukt nog så flöt OS:et på bra.

Jag tror du överskattar skillnaden i behoven och hur man använder en dator bland majoriteten av datoranvändarna. Att Mac-användare skulle installera färre program än Windows-användare vet jag inte riktigt vad du grundar det på? MacOS är ju betydligt mer robust byggt än Windows och "straffas" inte på samma sätt av att installera och sedan avinstallera program.

Jag skrev på WinXp tiden. Det har snart gått 20 år och folks datoranvändning skiljer sig från idag.
Där trenden idag är att man ej installerar en massa skit på sin egen dator. Med skit så för var det ett stort intresse att testa alla program man hittade på internet, idag har detta intresse minskat och andra saker som netflex m.m har kommit istället-

Men går vi tillbaka nästan 20år så var det matematik, simuleringsprogram, elektronikprogram, panelprogram, plc, robot, diverse cadprogram, asic, FPGA programmeringsverktyg etc som de mer tekniska pc användarna i skolan installerade på sin dator. Macanvändarna, ja de programmen som skolan använde fanns ej till deras operativsystem från första början, så man kan då utgå från att de inte installerade dem.

Efter runt 2007 så började folk med Apple datorer att virtualisera windows och gör samma sak fast ej bloatar ner sitt värdoperativsystem.

Permalänk
Medlem
Skrivet av DasIch:

AArch64 är namnet på arkitekturen. Apple kallar det för ARM64 i sin LLVM-backend, som var deras egen implementation tills de för några år sen gick open source.

Fast när jag kollar verkar det inte som de kallar arkitekturen för det, utan den heter ARM i olika versioner. Däremot verkar instruktionsuppsättningen (?) kallas Aarch64. Bara jag som försöker reda ut detta för egen del.

Permalänk
Datavetare
Skrivet av Fulci:

Fast när jag kollar verkar det inte som de kallar arkitekturen för det, utan den heter ARM i olika versioner. Däremot verkar instruktionsuppsättningen (?) kallas Aarch64. Bara jag som försöker reda ut detta för egen del.

Orsaken till förvirring här är att arm64 används som alias for det tekniskt korrekta aarch64. Från LLVM, den kompilatorn Apple primärt använder

Registered Targets: aarch64 - AArch64 (little endian) aarch64_32 - AArch64 (little endian ILP32) aarch64_be - AArch64 (big endian) arm - ARM arm64 - ARM64 (little endian) arm64_32 - ARM64 (little endian ILP32) armeb - ARM (big endian) ...

När man befinner sig i 64-bitars läge på en ARM CPU som också stödjer 32-bitar kallas 32-bitars instruktionerna Aarch32. Aarch32 och Aarch64 är två separata ISA, d.v.s. Aarch64 är inte en utökning av Aarch32 utan de har helt separat binär kodning.


ARM: 32-bitars applikationer med 32-bitars OS-kärna
Aarch32: 32-bitars applikation med 64-bitars OS-kärna
Aarch64: 64-bitars applikation med 64-bitars OS-kärna

Möjligen kan man tänka sig "ARM64" att mena system som överhuvudtaget inte stödjer 32-bitars applikationer, men för koden i 64-bitars applikationer har inte det någon påverkan vad jag kan komma på.

Edit: inser att även Aarch32 (som det heter enligt ARM själva) ställer till det, det kallas ju aarch64_32 eller arm64_32 ovan... Tror som sagt att Apple inte längre accepterar 32-bitars program, så för MacOS lär nog bara Aarch64 vara relevant.

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:

Orsaken till förvirring här är att arm64 används som alias for det tekniskt korrekta aarch64. Från LLVM, den kompilatorn Apple primärt använder
...

Ok, tack för info!

Permalänk
Medlem

Som många andra sagt blir detta spännande. Det stora problemet är väl om Apple gör en riktigt snabb och effektiv CPU för sina datorer, blir det svårt att få se liknande på Windows/PC sidan. Vem ska göra en snabb ARM/Aarch64 CPU där?

Apple gör nu mellanpris mobiler (Iphone SE 2020) med en CPU som är betydligt snabbare än de dyraste highend mobilernas CPU på Android. Får vi samma klasskillnad på datorsidan sen?

Permalänk
Inaktiv

Spännande! Låter som det kan bli ett riktigt effektivt prestandamonster!
Hoppas de fixat de flesta "barnsjukdomarna" tills 2022 när jag ska skaffa ny jobbdator då

Permalänk
Medlem
Skrivet av Yoshman:

Orsaken till förvirring här är att arm64 används som alias for det tekniskt korrekta aarch64. Från LLVM, den kompilatorn Apple primärt använder

Registered Targets: aarch64 - AArch64 (little endian) aarch64_32 - AArch64 (little endian ILP32) aarch64_be - AArch64 (big endian) arm - ARM arm64 - ARM64 (little endian) arm64_32 - ARM64 (little endian ILP32) armeb - ARM (big endian) ...

När man befinner sig i 64-bitars läge på en ARM CPU som också stödjer 32-bitar kallas 32-bitars instruktionerna Aarch32. Aarch32 och Aarch64 är två separata ISA, d.v.s. Aarch64 är inte en utökning av Aarch32 utan de har helt separat binär kodning.


ARM: 32-bitars applikationer med 32-bitars OS-kärna
Aarch32: 32-bitars applikation med 64-bitars OS-kärna
Aarch64: 64-bitars applikation med 64-bitars OS-kärna

Möjligen kan man tänka sig "ARM64" att mena system som överhuvudtaget inte stödjer 32-bitars applikationer, men för koden i 64-bitars applikationer har inte det någon påverkan vad jag kan komma på.

Edit: inser att även Aarch32 (som det heter enligt ARM själva) ställer till det, det kallas ju aarch64_32 eller arm64_32 ovan... Tror som sagt att Apple inte längre accepterar 32-bitars program, så för MacOS lär nog bara Aarch64 vara relevant.

Nu känner jag mig lite förvirrad. Vad har aarch32 respektive aarch64 för relation till ARMv8, och hur relaterar det till A64?

Permalänk
Medlem

Intressant tråd. Vill bara, helt apropå ingenting, inflika att vi har 2 Macbook Pro från 2008 respektive 2009, med 6GB (4GB, som vi hade först, är för lite) minne och SSD funkar de helt ok. Ser snygga ut för sin ålder - det gör inte många PC laptops. Speciellt unibody-2009 ser ju rätt modern ut. Skulle nästan säga tidlös.
Visst, core2duo och nvidia 9600 kanske ingen hoppar i taket av, men till surf, web, titta på foton, räcker det fortfarande ganska ok. Vi har även en plastig ibook från, öh, 2005. Den känns rejält mycket äldre än Macbook Pron från 2008 trots att bara 3 år skiljer. Plast åldras mer än aluminium.

De flesta som köper Mac klarar sig tvärsäkert på ARM.

Jag tror absolut på att ARM-macarna blir roliga saker. Svårare för mig att köra hackintosh på befarar jag dock.

Angående "Mac håller bättre än pc" så hänger det delvis ihop med att Mac är premiumdatorer, som kostat tiotusentals kronor. Motsvarande dyra PC håller också några år. PC-datorn jag har nu är bortemot 10 år, den har inga problem med Windows 10, MacOS eller diverse Linuxar, och inget jag har är premiumgrejor (även om processorn var rätt bra för sin tid).

Man kan notera att de Macar som trots allt hållit sämst, var sista generationen PowerPC och första generationerna Intel. Säger inte att det blir så denna gång, men det är ju inte förvånande om det blir så. Vår G4 ibook från 2005 blev ganska snart totalt föråldrad, och då en av fördelarna var att kunna köra Mac Classic-program så försvann även den möjligheten om man uppdaterade till 10.5 Leopard, man var tvungen att ligga kvar på 10.4 Tiger för Classic-programmen. Men det är en annan historia. Kortfattat är Macar gjorda från 2008 ganska långlivade, men intelmodellerna från 2006-2007 bedrövliga, ungefär.

Visa signatur

ASUS P8Z68-v Pro i7 2600K@4.5, 32GB RAM, RX 580, 4K Samsung u24e590, Intel SSD, Seagate SSHD, LG BH16NS55 BD/RW, MacOS Sonoma, Win 10+11, Linux Mint
***gamla grejor duger***
Macbook Pro 2009, 8GB RAM, SSD, MacOS Catalina + Windows 10; Macbook Pro 2015 16GB RAM 512GB SSD Radeon Mojave

Permalänk
Medlem
Skrivet av lillaankan_i_dammen:

Apple datorer håller sig bra av flera anledningar som har med operativsystemet att göra. Men användarbasens behov påverkar också. Deras billigaste ca 15,6" laptop (aom är en gammal standardstorlek) kostar nästan 30 000kr. Och om man köper en sådan dator för att typ enbart surfa, kolla mail, lite netflex, enklare ordbehandling så säger det sig själv att hårdvaran i denna dator lär hålla väldigt länge för användarens behov.

Går man tillbaka till winXp tiden, den tid då teknisk intresserade personer körde en drös saker direkt på värdoperativsystemsystemet, så installerade och avinstallerade för på windows hur mycket som helst. Och när dessa program knappast återställde operativsystemet efter sig så var det inte konstigt att datorn blev slö. Många datorintresserade på den tiden använde en image fil och återställde windows med jämna mellanrum.
Apple användarna däremot, ja de använde ofta inte så många program och då skröt om att deras operativsystem höll sig så länge utan blev slött. Visst var macos bättre, men en stor sak berodde på hur lite applikationer de använde.
Denna trend har fortsatt även om de går emot att det finns mindre tekniska personer som vill installera dritt på värdoperativsystemet, inte minst nu när dockers har blivit självklart och även på enklare kurser ska man visa att man kan hantera detta. Vill man ha grundläggande certifikat inom olika saker inom IT så kommer idag dockers in i väldigt många idag, borta är den trend att förstöra värdoperativsystemet med en massa skit

Jag kan bara säga att i mitt fall, så använder jag ett bra stort antal program på daglig bas.
Har installerat Parallels Desktop med ett WinXP Pro 32 bitars, samt att jag kör olika .mp3 program för att bearbeta och tagga dem.
Har Winamp på som spelar musik eller ljudböcker, använder gamla ACDsee 3.1 för bildsortering och annat.

Sen använder jag under macOS själva diverse video program som MKVToolNix Handbrake och Final Cut Pro X, VLC spelaren och massa andra kommunikationsprogram som Teamspeak, Teamtalk, Skype och allt möjligt annat, synkar filer till en server med Findern.
Har flera tabs öppet i Firefox och kör Reaper med ett anta plugins och andra grejer och kör JDownloader2 i bakgrunden.
Det händer ofta att jag har 15 till 20 program öppna i flera veckor i rad. UTAN att behöva starta om, utan att datorn borja försätta sig i "Diva-läge"
På toppen sätter jag igång Fusion 360 ibland för att mata CNC:n med nytt fodder då och då.

Det gick inte alls lika bra med Windows, då det OS:et betedde sig konstigt efter bara tre dygn max.
Så på den sidan vinner macOS stort. Och det säger jag som verkligen gillar Windows allmänt. Men jag kommer nog inte gå tillbaka ändå.
Det som övertyger med macOS är driftsäkerheten och framförallt hur den hanterar RAM minnet.

Jag personligen ser fram emot ARM implementeringen under macOS, även om det medföljer en bittersweet smak i nuläget, för man inte vet med all säkerhet hur det kommer påverka macOS som OS.
Jag vill helst ser iPadOS närma sig macOS än tvärtom.
Min iMac är från 2013 och den har hållit sig bra än så länge. Och jag har inte uppdaterat varken RAM eller något annat i den.

Visa signatur

iMac "27" Late 2013

Permalänk
Datavetare
Skrivet av DasIch:

Nu känner jag mig lite förvirrad. Vad har aarch32 respektive aarch64 för relation till ARMv8, och hur relaterar det till A64?

Det är förvirrande för alla tror jag, finns tyvärr ännu en dimension i form av ARMs ISA versioner

Tidigare var det bara ISA-versionerna man behövde bry sig i. Du kanske sett ARMv6 och ARMv7, där den förra är vad första RPi hade stöd för och man har valt att stanna där i Raspbian-distron.

ISA-versionerna är en lite mer organiserad variant av det vi ser på x86 i form av nya instruktioner. Fram till och med ARMv7 fanns ju bara 32-bitars ARM, så instruktionsuppsättningen var alltid "ARM" och exakt vilka instruktioner som fanns tillgängliga dikterades av ISA-version.

Det blev rejält komplicerat med ARMv8...

ARMv8 fixade till så även 32-bitars ARM fick de förbättringar kring minnessynkronisering som Aarch64 berikades med. 32-bitars läget i ARMv8 är i praktiken en ren utökning av ARMv7, d.v.s. det är samma binära kodning på instruktionerna med samma antal register också så.

Men nog mycket p.g.a. att 32-bitars ARM och 64-bitars ARM verkligen är två separata instruktionsuppsättningar (helt inkompatibla binärkodningar) så ville ARM ha sätt att referera till de olika exekveringskontext som finns i 64-bitars läget. Möjligheten att köra 32-bitars program under en 64-bitars (Aarch64) kärna betecknas Aarch32.

Men Aarch32 är ett nytt påfund som just kom i samband med ARMv8, det är inte vad man kallar "vanlig" 32-bitars ARM-kod som används för ARMv7 och tidigare (där både program och OS-kärna är 32-bitars program).

Vill man bli ännu mer förvirrad finns ett till läge i 32-bitars ARM som kallas Thumb/Thumb2. Det är ännu mer kompakt jämfört med 32-bitars ARM, men har nackdelen att vara lite mer komplicerat att avkoda p.g.a. att instruktioner är 2 eller 4 bytes (de är alltid 4 bytes på "vanlig" 32-bitars ARM och Aarch64).

Ännu en anledning att droppa 32-bitarsstödet helt om du frågar mig. Kör man renodlad 64-bitars ARM är det enkelt, instruktionsuppsättningen är Aarch64 och benämns ibland också ARM64.

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 anon228747:

Jag spår att den blir ett prestandamonster när den kör nativekod!
Quota mig och skratta när den släpps om jag har fel.

Jag tror snarare "helt ok" prestanda och löjlig batteritid. Nu undrar jag om jag ska köpa en laptop i år eller vänta till nästa

Visa signatur

Ryzen 9 5950X, 32GB 3600MHz CL16, SN850 500GB SN750 2TB, B550 ROG, 3090 24 GB
Har haft dessa GPUer: Tseng ET6000, Matrox M3D, 3DFX Voodoo 1-3, nVidia Riva 128, TNT, TNT2, Geforce 256 SDR+DDR, Geforce 2mx, 3, GT 8600m, GTX460 SLI, GTX580, GTX670 SLI, 1080 ti, 2080 ti, 3090 AMD Radeon 9200, 4850 CF, 6950@70, 6870 CF, 7850 CF, R9 390, R9 Nano, Vega 64, RX 6800 XT
Lista beg. priser GPUer ESD for dummies

Permalänk
Skrivet av Yoshman:

"Enligt rapporten introduceras ARM-processorerna först i Apples enklare Macbook-modeller och bestyckas med totalt 12 ARM-baserade kärnor."

Nu är detta fortfarande inte något som kommer från Apple, så är spekulation. Men anta att det är rätt, om "enklare Macbook-modeller" betyder MBA kommer vi få en rätt humoristisk situation där man få köpa Apples instegsmodell för att få vad som jag är övertygad kommer vara den snabbaste laptop CPU som pengar kan köpa i det läget (om vi nu ignorera "bärbara" där man tråcklat ned en desktop CPU och där datorn överröstar en jetmotor).

Med "scissor keyboard" och deras A14 ARM kommer i alla fall inte jag ens fundera på någon annan bärbar dator än en Mac nästa år

SMT går att använda på vilken CPU-arkitektur som helst och som redan nämnts i tråden finns Aarch64 (vilket är namnet på 64-bitars ARM instruktionsuppsättningen) CPUer med SMT.

Men att man lägger till SMT är egentligen ett tecken på någon form av svaghet. I P4 lade man till SMT för den gjorde rätt ofta ingenting p.g.a. sin brutalt långa pipeline, rätt mycket dötid i back-end när den spekulerade fel.

SMT i Core och Zen handlar allt mer om svagheter i x86 instruktionsuppsättning. Man måste ta till SMT då det helt enkelt inte går att öka IPC med någon rimlig transistor vs prestandaförbättringskvot. Med SMT har man ju två helt oberoende instruktionsströmmar, vilket gör att man bättre kan utnyttja de rätt breda "back-ends" som dagens high-end x86 har.

Aarch64 (och även RISC-V) är specifikt designad för att eliminera de mest kritiska flaskhalsar tidigare instruktionsuppsättningar har. Aarch64 förhåller sig inte alls till ARM som x86_64 (AMD64/Intel64) förhåller sig till x86 (IA32). AMD64/Intel64 är en ren utökning av IA32, Aarch64 är en helt separat instruktionsuppsättning från ARM.

ARM ansåg (helt korrekt har det visat sig) att man nu lärt sig så mycket nytt om hur en "prefekt" ISA ska designats att det var värt att starta om från scratch. Hos t.ex. Cortex A77 (som bl.a. sitter i senaste Snapdragon-systemkretsen) kan man se upp mot 40 % bättre prestanda i samma program om de använder Aarch64 i stället för ARM.
https://images.anandtech.com/doci/15603/SPEC32-64_575px.png

Apples senaste A13 (den i Iphone 11) utför runt 70-80 % mer per klockcykel om man jämför samma program kompilerat för x86_64 körandes på Skylake/Zen2 jämfört med Aarch64 körandes på A13. Hade inga tvivel om att x86_64 (och även ARM, MIPS och PowerPC) började visa sin ålder, men hade kanske förväntat mig att man skulle kunna få 20-30 % högre "IPC" (rent tekniskt kan man inte jämföra IPC rakt av mellan olika ISA, men enda som egentligen spelar roll är ju hur snabbt de utför en viss uppgift).

Tyvärr är väldigt mycket på skrivbordet fast i x86, för det är allt uppenbart att vi skulle kunna ha klart bättre prestanda om man kunde släppa x86-flaggan och kliva in på den här sidan millennieskiftet när det kommer till ISA-design...

Fast de PowerPC som Apple använde på slutet var inte konkurrenskraftiga mot samtida x86. Det hade väldigt lite att göra med instruktionsuppsättning, PowerPC är bättre på vissa saker medan x86 är bättre på andra. På det stora hela har de ungefär lika mycket för- och nackdelar prestandamässigt.

Det enda som då spelar roll är mikroarkitekturen, de PowerPC Apple körde på slutet hade mer gemensamt med Pentium (original varianten) än de PIII/P4/Athlon man tampades med!

Nu lär det bli det omvända fallet. Kolla Geekbench 5 resultatet för enkeltrådfallen på en Iphone 11, den är i absolut prestanda inte alls speciellt långt efter i9-9900K och 3950X. De senare drar lite mer ström för att nå dit... Och det är enkeltrådfallet, fatta vilken brutal fördel det kommer bli för Apple i multitrådfallen på en bärbar.

Sedan flera versioner tillbaka stödjer inte ens Apple ARM, de har helt gått över till Aarch64. Det borde även Android-sidan göra snarast (även på Android kör man idag primärt Aarch64, men där tror jag man fortfarande har stöd för ARM).

En fråga till dig. Varför utvecklar inte Intel eller AMD gemensamt en ny arkitektur som är bättre än även ARM?

Permalänk
Inaktiv
Skrivet av Yoshman:

<klipp>
Aarch64 och RISC-V är de enda två som är en "perfekt" match på instruktionsnivå för den modell de stora programspråken valt för minneskonsistens mellan trådar. x86 ger en massa garantier som man nästan aldrig behöver, det lämnar prestanda på bordet. Vissa av de tidigare RISC:arn gav för lite garantier, så man fick lägga till explicita "minnesbarriärer" som då gjorde att man sköt över målet (ofta mer än vad x86 skjuter över målet).

Är det problem med minneskonsistens som hindrar Intel att bygga processorer med både x86 och Aarch64-kärnor?

Nu kanske Intel av uppenbara skäl inte är intresserade av att kränga Aarch64 men man hade ju kunnat hitta på en Intel-specifik arkitektur som inte dras med allt det gamla bagaget samtidigt som det fortfarande gick att köra den gamla koden på några x86-kärnor inuti CPUn.

Man hade migrerat över kundbasen till något bättre och samtidigt hängt av AMD.

Permalänk
Medlem

Alltid intressant med utveckling och stärkt konkurrens, så det blir intressant att se var detta leder. Det kommer nog inte vara något för mig då man än mer sannolikt blir tvungen att köra MacOS (mina erfarenheter av det gör att det är ett distanserat tredje val) samt att jag inte uppskattar deras aktiviteter mot vettiga reparationer, både i dum design och motarbetandet av tredjepartsreparatörer, men förhoppningsvis leder det till mer aktion på marknaden överlag där processorkonkurrensen breddas på allvar.

Permalänk
Medlem

Spekulation följer:

Jag är ganska säker på att det finns fungerande prototyper redan nu som testas Air-gappat så att TUM_APISAK och Komachi inte får tag på några läckor så att relationer med nuvarande och ev. framtida leverantörer inte får kalla fötter.

Anledningen till att de inte finns på marknaden ännu: inte tillräcklig prestanda, för mycket prestanda så att det blir svårt att segmentera produktuppställningen på vettigt vis eller inte tillräckligt bra stöd från utvecklare av tredjepartsapplikationer.

/slut spekulation...

Visa signatur

🛜🫀: HP 290 PRO G9, i3 14100, 8GB DDR4, Intel X520-DA2
🐳🐧: AMD R5 3600 | Google Coral.ai | ASRock X570D4U-2L2T | Silverstone CS381 | 80GB DDR4 | 8 HDD BTRFS RAID1
⌨️🎮#1: R7 5700X3D | RTX 4070 | Acer XF270HUA | 96GB @ 3600 | MSI X570 MPG GAMING EDGE
⌨️🎮#2: i5 12400F | RTX 2080 LC | Huawei GT 27 | 16GB @ 3600 | MSI B760M-P DDR4 | CORSAIR C70
🎞🎶: LG OLED55C8 | Epson TW3200 | Onkyo TX-NR646 | Infinity Reference 61/51 mk2 | Shield TV V2 | minhembio.com

Permalänk
Medlem
Skrivet av bimbim:

Nu råkar ju livslängden vara väldigt bra på Apples maskiner. Inte ovanligt att ha maskiner ifrån 2012-2013 som fortfarande är ”daily drivers” för folk utan att man någonsin har öppnat upp datorn. Sällan man ser någon med en 7-8 år gammal PC-laptop (kanske någon Thinkpad). Sedan ska man väl vara transparent med att på den tiden så gick det att byta hårddisk/SSD enkelt och även fram tills ganska nyligen så gick det att byta SSD. Sedan håller jag med dig om att det är piss att man löder fast SSD:n. Det är liksom den enda komponenten som tar slut - även om deras livslängd oftast är väldigt bra. Tror dock att, ur ett miljöperspektiv, så är Apple best in class fortfarande. Det sämsta är ju low- till mid-tier-laptops som folk köper för 3000-7000 SEK och sedan blir dom liggandes för det är, ofta, inte några kanonprodukter (nu generaliserar jag men ni fattar).

Jag har en 27” iMac late 2009 som tuffar på bra ännu. Bytte den mekaniska hårddisken till en SSD för en månad sedan. Datorn blev som ny och duger utmärkt till lite surf och ordbehandling. Fick byta synckabeln till skärmen också, men det gick på garantin.

Permalänk
Medlem
Skrivet av Yoshman:

Rätta mig om jag har fel, men refererade till bärbara datorer och de gick väl ändå från G4 till Core (den Core som egentligen var en omdöpt Pentium M som i stort sätt var en PIII)?

Bärbara gick från G4 - 744x eller 745x - till Core Duo, vilket var Yonah, eller på ren svenska andra generationens Pentium M fast tvåkärning med SSE3 och NX-biten. Men...

Citat:

G4 är i praktiken en PowerPC 74xx som är en dual-issue in-order design, visst med AltiVec. Det är i praktiken en Pentium med SSE stöd sett till mikroarkitektur, även om kunde klockas högre än Pentium någonsin nådde. Varianter av PPC 74xx har fram till rätt nyligen varit väldigt vanliga i vissa områden för inbyggda system, så har hyfsad koll på den designen.

Det är skillnad på PPC 7400/7410 och 7440/7450. Apple kallade bägge för G4, men de är inte speciellt lika. I entusiast-kretsar kallades 7450 för G4e, även om Apple aldrig sa det. G4e är definitivt inte in-order. Rent tekniskt gäller det också lite äldre PPC designer, där de har små ”reservation stations” som gör att instruktioner kan exekveras utan att följa programmets ordning, men det är en ytterligt begränsad omfattning.

En helt OK genomgång av G4e finns här:

https://arstechnica.com/features/2001/05/p4andg4e/

Citat:

Har dålig koll på G5 (i.e. aldrig någonsin kör något på en sådan CPU), inte så att det blev någon större succé. Det verkar vara ett derivat av POWER4, vilket i sin tur verkar vara en relativt begränsad out-of-order design. Precis som PIII/Pentium-M har G5 två ALU-pipelines, fast G5 har bra två minnespiplines medan den förra har tre (asymmetriska i funktion, men ändock "bredare").

Så visst, G5 är jämförbar med PPro-serien av Intel CPU sett till teoretisk kapacitet per cykel. Men vad jag kan se användes den aldrig utanför MacPro.

Imacarna körde G5 de också. Jag hade en av dem, som tyvärr dog. G5 var en design med väldigt hög latens till huvudminnet. I en POWER4 täcks det problemet genom att den hade en för sin tid enorm cache (16MB, tror jag, men jag kan minnas fel). Den cachen hade Apple inte råd med, och då gick det som det gick med heltalsprestandan. Flyttal var den enorm på, däremot.

Visa signatur

5900X | 6700XT

Permalänk
Medlem
Skrivet av Dinkefing:

En fråga till dig. Varför utvecklar inte Intel eller AMD gemensamt en ny arkitektur som är bättre än även ARM?

Det är inte för att Intel inte har försökt!
Jag kan dra mig till minnes åtminstone tre försök, i960, en "RISC" (se Yoshmans inlägg ovan) som funkade hyfsat bra, hamnade så småningom som embedded CPU i skrivare o dyl. i860, ett flyttalsmonster som var tänkt för desktop som ersättare till x86, men visade sig knepig att kompilera bra kod till. Och naturligtvis Itanium, deras 64-bitars dröm, som egentligen aldrig levererade där den skulle, såldes som FP stark processor tills den dog.

Det är en definitionsfråga hur man väljer att betrakta Larrabee.