Qualcomm: "Övergång till ARM för PC är oundviklig"

Permalänk
Medlem
Skrivet av Elgot:

Det är väl dock inget specifikt för ARM utan snarare vad som händer när teknik mognar och blir tråkig (jämför med bilar till exempel).

Men x86 PC har ett arv och ta hänsyn till. Din intel core i9 på 5 Ghz idag med 64 GB är faktiskt kompatibel med en IBM PC med 8086 på 4,77 mhz med 640 KB RAM. Du kan boota MS DOS 3.2 på din nya PC om du vill det.

Med Arm riskera vi få som med surfplattor ,telefoner och liknade att man låser enheterna. Man tidsbegränsa livslängden osv.

Permalänk
Hedersmedlem
Skrivet av klein:

Men x86 PC har ett arv och ta hänsyn till. Din intel core i9 på 5 Ghz idag med 64 GB är faktiskt kompatibel med en IBM PC med 8086 på 4,77 mhz med 640 KB RAM. Du kan boota MS DOS 3.2 på din nya PC om du vill det.

Med Arm riskera vi få som med surfplattor ,telefoner och liknade att man låser enheterna. Man tidsbegränsa livslängden osv.

Det är ju en trevlig egenskap, men om det hämmar utvecklingen måste man kanske överväga alternativ. Dos har man väl kunnat köra i emulerad x86 på arm länge, och om man nu lyckas översätta x86-64 till arm någorlunda lika effektivt som Apple täcker man kanske nästan alla behov? Det måste väl ändå vara en rätt liten andel av användarna som faktiskt utnyttjar bakåtkompatibiliteten (i alla fall med dos)? Ett annat hinder för att köra gamla program är väl att omgivningen kan förändras (kanske krävs gamla drivrutiner, speciell hårdvara, webbtjänster, produktaktivering och liknade som inte längre är tillgänglig).

Permalänk
Medlem

Jag tro mer kommer virtualiserad, vill t.ex köra ett gamla program så kör man det i virtuell miljö. Sedan koppla man upp sej emot datorn.. Framtiden heter webbfiering, dvs allt mer program körs på webben.

Skrivet av Elgot:

Det är ju en trevlig egenskap, men om det hämmar utvecklingen måste man kanske överväga alternativ. Dos har man väl kunnat köra i emulerad x86 på arm länge, och om man nu lyckas översätta x86-64 till arm någorlunda lika effektivt som Apple täcker man kanske nästan alla behov? Det måste väl ändå vara en rätt liten andel av användarna som faktiskt utnyttjar bakåtkompatibiliteten (i alla fall med dos)? Ett annat hinder för att köra gamla program är väl att omgivningen kan förändras (kanske krävs gamla drivrutiner, speciell hårdvara, webbtjänster, produktaktivering och liknade som inte längre är tillgänglig).

Permalänk
Medlem
Skrivet av klein:

Med Arm riskera vi få som med surfplattor ,telefoner och liknade att man låser enheterna. Man tidsbegränsa livslängden osv.

Vad är låst och tidsbegränsat? Många äldre enheter kan få nytt liv genom XDA-Developers trots att Samsung, Xiaomi m.fl. överger sina produkter efter 2-3 år.

Kör även fortfarande min tio år gamla iPad med iOS från 2019.

Ser man på exempelvis macOS, så kan du köra program för 68k, PowerPC och x86 utan större problem på Apple Silicon (ARM64).

Permalänk
Medlem
Skrivet av walkir:

Vad är låst och tidsbegränsat? Många äldre enheter kan få nytt liv genom XDA-Developers trots att Samsung, Xiaomi m.fl. överger sina produkter efter 2-3 år.

Kör även fortfarande min tio år gamla iPad med iOS från 2019.

Ser man på exempelvis macOS, så kan du köra program för 68k, PowerPC och x86 utan större problem på Apple Silicon (ARM64).

Problemet brukar inte vara hårdvaran, eller OS, utan drivrutinerna som oftast är proprietära och closed source. Kan vara svårt att skriva egna drivrutiner när allt är odokumenterat.
Vanligt att ihophackade egna OS saknar stöd för kamera, ljud, fingeravtrycksläsare etc

Visa signatur

|| R9 7950X MSI PRO X670-P WIFI 32GB-DDR5-6400c32 MSI RTX4080 Ventus 3X OC || CORE i9 12900KF MSI Z690 Tomahawk WIFI DDR4 32GB-3600c16 Gear1 TUF RTX3080 OC V2 || R7 5800X3D X570S CH8 Extreme 32GB-3800c18 Gigabyte RTX3080 GAMING OC || R9 5900X(B2) B550-F 32GB-3800c18 EVGA RTX3070 FTW Ultra || R9 3900X X470-Prime Pro 32GB-3200c16 MSI RTX2070 Super ||

Permalänk
Medlem
Skrivet av the squonk:

Vanligt att ihophackade egna OS saknar stöd för kamera, ljud, fingeravtrycksläsare etc

Det har jag märkt den hårda vägen från XDA-Developers IR-sändaren på min Xiaomi gör att jag håller kvar i MIUI där. Men lurar från Google som Nexus och Pixel klarar sig bättre, då de förhoppningsvis följer referensarkitekturen.

Skrivet av klein:

Jag tro mer kommer virtualiserad, vill t.ex köra ett gamla program så kör man det i virtuell miljö. Sedan koppla eman upp sej emot datorn.. Framtiden heter webbfiering, dvs allt mer program körs på webben.

Det är så Microsoft gjort i Windows de senaste 10 åren

Vi har idag Electron-appar är helt portabla och kan köras i Windows, macOS och GNU/Linux utan modifiering. VS Code/Codium är ett mer känt exempel där.

Däremot hoppas jag att vi är långt ifrån att flytta ut allt på webben, då många fortfarande saknar tillgång till Internet i världen.

Vi behöver inte ens röra oss så långt utanför storstadsregionerna för att upptäcka hur dålig tillgången till Internet är även i Sverige.

Permalänk
Inaktiv
Skrivet av Yoshman:

<klipp>
Arm insåg att enda sättet att komma runt alla dessa brister var att designa en ny ISA för dagens krav, det från scratch. Resultatet blev ARM64 och den ISAn har visat sig vara en smash hit!
<klipp>

Det var nog mest Apple som insåg det:

https://twitter.com/stuntpants/status/1346470705446092811

Permalänk
Skrivet av klein:

Jag tro mer kommer virtualiserad, vill t.ex köra ett gamla program så kör man det i virtuell miljö.

Problemställningen när du inte har tillräckligt överlapp mellan arkitekturen du använder och den som behövs för mjukvaran du vill köra är att du inte kan virtualisera utan måste översätta (à la Rosetta 2) eller i värsta fall emulera (á la MAME). Båda metoder kommer med en mer påtaglig prestandaförlust än virtualisering. Men absolut: inkluderar du VDI-anslutningar mot maskiner som kör "rätt" arkitektur i begreppet så håller jag i stort med, åtminstone för mjukvara som inte är timingberoende mot slutanvändaren.

Skrivet av klein:

Sedan koppla man upp sej emot datorn.. Framtiden heter webbfiering, dvs allt mer program körs på webben.

Ren webbifiering (i meningen presentera tjänster som webbgränssnitt) funkar om man inte är beroende av korta svarstider eller bra UI/UX. Se typ varenda SaaS-tjänst eller Electronapp där ute om du inte tror mig.

Permalänk
Datavetare
Skrivet av anon214822:

Inget av det där är något Arm eller Apple sagt något om officiellt.

Det mesta pekar på att Apple hade en vision som bl.a. krävde en nydesignade ISA. Apple kom överens med Arm att de skulle ta fram denna ISA. Men det är spekulation/gissningar.

Även om Apple kom med kraven var det i slutändan Arm som faktiskt skapade en ISA som uppfyllde dessa krav. Det är definitivt ingen enkel uppgift givet att ingen ISA som designats innan har varit så konsekvent lika-bra-eller-bättre på näst intill allt.

Enda som ARM64 (specifikt ARMv8) inte riktigt kan matcha x86_64 på är SIMD. Tog Intel rätt många försök, men med AVX fick Intel tillslut till något som fungerar riktigt bra. AVX har dock en stor svaghet, varje tillägg måste göras i väldigt många varianter (8, 16, 32, 64 bit-lanes samt 128, 256 och numera 512 bit SIMD-bredd) så antalet instruktioner är redan astronomiskt!

Arms NEON är långt mer ortogonal i sin design, men den har ändå flera begränsningar. Största är att det egentligen inte finns något vettigt sätet att ha mer än 128-bitars SIMD-lanes. Mycket pekar på att även det kommer lösas, ARMv9 (vilket är det Qualcomm kommer använda och ryktet säger att Apple byter till nästa generation) introducerar SVE2 (”AVX-512 done right”).

Likt hur Arm samarbetade med Apple kring grundläggande ARM64 har man nu jobbat med Fujitsu runt designen av SVE/SVE2. Det verkar ju lovande givet att världens snabbaste superdator är ARM64/SVE baserad och än idag (mer än ett år efter introduktionen) är den en rejält bit framför näst snabbaste superdatorn.

Och oavsett vem som gjort vad, det viktiga är just att ARM64 är en långt bättre ISA än x86_64. Allt annat lika kommer saker köras mer effektivt på ARM64. Handlar inte bara om mer effektivt att köra program, går även fortare att kompilera saker till ARM64 då designen är så mycket bättre att det är optimeringar blir enklare att göra!

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 Det Otroliga Åbäket:

Ren webbifiering (i meningen presentera tjänster som webbgränssnitt) funkar om man inte är beroende av korta svarstider eller bra UI/UX. Se typ varenda SaaS-tjänst eller Electronapp där ute om du inte tror mig.

Det du beskriver är anledningen till att jag fortfarande kör BBEdit på macOS framför långsamma och resurshungriga Electron-appar som Atom och VS Codium.

Permalänk
Inaktiv
Skrivet av Yoshman:

<klipp>
Och oavsett vem som gjort vad, det viktiga är just att ARM64 är en långt bättre ISA än x86_64.
<klipp>

Man kanske kan säga att ARM64 är bättre än x86-64 givet läget och kravbilden just nu. x86 var säkert den optimala lösningen på sin tid, med de förhållanden och den kravbild man hade då.

Jag är inte säker på att ARM64 är optimal för de behov och den kravbild som gäller för PC. Arkitekturen har ju sina rötter i mobilbranschen och med det följer ett starkt fokus på perf/W. En PC är inte en mobil. Det finns effekt att använda. Hur bra är ARM64 på att dras upp till höga klockfrekvenser givet typ 50W tillgängligt per kärna (iallafall kortvarigt)?

Jag är lite förvånad och oroad över att M1 Pro/Max inte innebar någon egentlig förbättring i enkeltrådsprestanda. Apple gör heller inga försök att segmentera marknaden i olika klockhastigheter. Det verkar som man är begränsade i klockfrekvens mycket mer än i effekt.

Kanske kommer x86-64 tillbaka med just enkeltrådsprestanda, inte perf/W, som sitt starkaste kort, när nu Intel börjar hämta in det försprånget Apple just nu har med tillgång till bästa tillverkningstekniken.

Permalänk
Medlem
Skrivet av anon214822:

Jag är lite förvånad och oroad över att M1 Pro/Max inte innebar någon egentlig förbättring i enkeltrådsprestanda.

Jämför istället A14 och A15 och vänta in M2. Då behöver du inte längre känna någon oro

Permalänk
Skrivet av anon214822:

Man kanske kan säga att ARM64 är bättre än x86-64 givet läget och kravbilden just nu. x86 var säkert den optimala lösningen på sin tid, med de förhållanden och den kravbild man hade då.

Jag är inte säker på att ARM64 är optimal för de behov och den kravbild som gäller för PC. Arkitekturen har ju sina rötter i mobilbranschen och med det följer ett starkt fokus på perf/W. En PC är inte en mobil. Det finns effekt att använda. Hur bra är ARM64 på att dras upp till höga klockfrekvenser givet typ 50W tillgängligt per kärna (iallafall kortvarigt)?

Jag är lite förvånad och oroad över att M1 Pro/Max inte innebar någon egentlig förbättring i enkeltrådsprestanda. Apple gör heller inga försök att segmentera marknaden i olika klockhastigheter. Det verkar som man är begränsade i klockfrekvens mycket mer än i effekt.

Kanske kommer x86-64 tillbaka med just enkeltrådsprestanda, inte perf/W, som sitt starkaste kort, när nu Intel börjar hämta in det försprånget Apple just nu har med tillgång till bästa tillverkningstekniken.

Det kan vara så att du problematiserar något som inte är ett problem.
Först och främst: Alla arkitekturer gör ju kompromisser någonstans. x86 var definitivt inte "optimal" men IBM valde en plattform som gjorde kompromisser de var beredda att leva med just då. ARM64 är mer optimerad för vad datorer gör idag, och om ett decennium eller tre kommer våra datorer sannolikt göra ytterligare andra saker - eller liknande saker på andra sätt - där ARM64 rättmätigt förtjänar att bytas ut mot något ytterligare annat.

Att M1 Pro och Max inte höjt enkeltrådsprestandan jämfört med M1 ser du på namnet: Det är fortfarande M1-kretsar, men anpassade till högre I/O-behov. Nästa år får vi se hur M2-kretsarna uppför sig i enkeltrådad prestanda. Baserat på vad experterna säger om A15-kretsen (som är vad de kommer använda som bas) verkar de ha lyckats göra påtagliga förbättringar jämfört med A14/M1.

Jag sitter just nu på en M1 Max och kan säga att den gott och väl lever upp till mina behov och min kravbild för en PC: Jag sitter med tio kärnor varav två används för bakgrundsjobb (slösurfning, mail, indexering av sökbegrepp och bilder, etc) och de övriga åtta utan problem slår kärnorna i speldatorn som står bredvid mig här, både i enkel- och flertrådig prestanda när jag kompilerar kod eller leker med musik. Extrapolerat från liknande last verkar min 24-kärniga grafikdel (naturligt nog) vara märkbart snabbare än RX5500 XT-grafikkortet i min speldator, och SoC:n har förutom det dessutom stödkretsar som avlastar visst arbete som på min vanliga PC skulle ha utförts av processorn eller av grafikkortet. Allt detta i en maskin som inte ens behöver slå på strömmen till fläktarna om jag "bara" använder CPU-delen fullt ut i normala fall.

Med andra ord: Så länge M*-kretsarna i genomsnitt kan göra tillräckligt mycket mer per klockcykel än motsvarande x86-kretsar spelar det mindre roll om de ens är fysiskt kapabla att nå samma maximala frekvenser som de senare kretsarna. Men du har helt rätt: Intels enda chans för tillfället är att kräma på med effekt för att kompensera för ett mindre effektivt arbetsflöde.

Permalänk
Skrivet av walkir:

Det du beskriver är anledningen till att jag fortfarande kör BBEdit på macOS framför långsamma och resurshungriga Electron-appar som Atom och VS Codium.

Samma här: Vim om jag ändå har en terminal uppe, eller BBEdit när jag huvudsakligen jobbar i GUI:t.

Permalänk
Datavetare
Skrivet av walkir:

Det du beskriver är anledningen till att jag fortfarande kör BBEdit på macOS framför långsamma och resurshungriga Electron-appar som Atom och VS Codium.

Fast det är ju ännu en av fördelarna med M1:ans fantastiska prestanda per kärna: man kan även köra Electron-appar med riktigt fin prestanda

Nu tycker jag inte VS Code på något sätt är segt på Intel/AMD heller, det fungerar riktigt bra på M1. Av någon anledning verkar Apples CPU design älska det som trillar ur JS-motorerna, där är prestandafördelen över x86_64 väsentligt större än vad t.ex. GB5 visar.

Skrivet av anon214822:

Man kanske kan säga att ARM64 är bättre än x86-64 givet läget och kravbilden just nu. x86 var säkert den optimala lösningen på sin tid, med de förhållanden och den kravbild man hade då.

Jag är inte säker på att ARM64 är optimal för de behov och den kravbild som gäller för PC. Arkitekturen har ju sina rötter i mobilbranschen och med det följer ett starkt fokus på perf/W. En PC är inte en mobil. Det finns effekt att använda. Hur bra är ARM64 på att dras upp till höga klockfrekvenser givet typ 50W tillgängligt per kärna (iallafall kortvarigt)?

Jag är lite förvånad och oroad över att M1 Pro/Max inte innebar någon egentlig förbättring i enkeltrådsprestanda. Apple gör heller inga försök att segmentera marknaden i olika klockhastigheter. Det verkar som man är begränsade i klockfrekvens mycket mer än i effekt.

Kanske kommer x86-64 tillbaka med just enkeltrådsprestanda, inte perf/W, som sitt starkaste kort, när nu Intel börjar hämta in det försprånget Apple just nu har med tillgång till bästa tillverkningstekniken.

Nog rätt "safe" att säga: x86/x86_64 har aldrig varit en optimal lösning. x86 "vann" dels på långt pris men antagligen väldigt mycket p.g.a. att Intel kunde utnyttja sitt övertag i tillverkningsteknik under mer än två decennier. Hade Intel tillverkat PowerPC eller MIPS skulle dessa har varit minst lika bra som x86. IBMs POWER har ju kunnat konkurrerat hyfsat med Intel trots att man i praktiken alltid haft ett underläge i tillverkningsteknik, när väl TSMC gick förbi var tyvärr POWER en rejäl nischspelare.

Vidare missar alla ISA innan ARM64 och RISC-V målet när det kommer till optimal design för multitrådade applikationer. x86_64 (och även SPARC) är allt för strikt, vilket lämnar prestanda på bordet. MIPS, PowerPC, m.fl. är endera inte tillräckligt strikt (det går att använda i språk som C++, Java m.fl. men rätt få fall där det är användbart) eller så blir det likt x86 för strikt. ARM64 och RISC-V designades efter man lurat ut hur det nog borde designats, så man kunde göra saker "just right".

Mobil-marknaden har varit extremt viktig för Arm, där var fördelarna med 32-bit Arm så stora mot x86 att Intel inte kunde konkurrera trots att de när de försökte hade en av de största försprången någonsin sett till tillverkningsteknik.

Denna video illustrerar delvis vilket katastrof Intel/AMD faktiskt är där perf/W är topprioritet. Intel ligger efter Apple både i benchmarks och "verkliga" applikationer, det "positiva" man kan säga är att avståndet är rätt konsekvent i applikationer/benchmarks samt vare sig man kör på nätdrift eller batteri. AMD klarar sig lysande i benchmarks, betydligt sämre i verkliga applikationer och är en total katastrof när man drar ur sladden (15 W är helt enkelt way to little för x86 med 8C/16T)...

Qualcomm är definitivt inte roliga att vara beroende av. Men videon ovan visar ändå varför Windows-användarna ändå bör hoppas på att Qualcomm/Nuvia får fram något riktigt bra ARM64 baserat för Windows: om inte annat borde det rimligen få andra att börja röra på sig också!

32-bit Arm har helt klart designbeslut som gjorde det svårt att skala upp CPUer med den ISAn till riktigt "breda" designer. Finns däremot inget som hindrar något att designa sådan CPUer med väldigt hög frekvens.

Hur högt man kan klocka något är överlägset mest beroende på mikroarkitektur. Om AMD eller Intel skulle ta sina nuvarande "stora" kärnor och smacka dit en ARM64 front-end skulle den klocka lika högt som man kan med x86_64. Däremot skulle inte perf/W öka i någon större utsträckning.

Perf/W skulle öka något då ARM64 ISA skulle ge något högre "effektiv IPC" (samma program tenderar ta något färre ARM64 instruktioner jämfört med x86_64 instruktioner + en långt större andel av ARM64 instruktionerna jämfört med x86_64 saknar globala sidoeffekter -> ger högre möjlighet till parallellism för back-end). Men det skulle fortfarande handla om 30-50 W per kärna vid frekvenser >5 GHz.

ARM64 har inget i designen som gör det mer lämpligt för mobiler än något annat. Skulle snarare säga att då det är enklare att göra extremt "breda" designer är den om något mer lämpade till server/datacenter/workstations än mobiler.

Apple har en microarkitektur som inte möjliggör speciellt hög frekvens. De har gått all-in för perf/W, optimala där är extremt "bred" design med kort pipeline. En kort pipeline medför högre IPC och mindre energi att köra saker, men det hindra också riktigt höga frekvenser!

Visa signatur

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

Permalänk
Inaktiv
Skrivet av Yoshman:

<klipp>
Hur högt man kan klocka något är överlägset mest beroende på mikroarkitektur. Om AMD eller Intel skulle ta sina nuvarande "stora" kärnor och smacka dit en ARM64 front-end skulle den klocka lika högt som man kan med x86_64. Däremot skulle inte perf/W öka i någon större utsträckning.

Perf/W skulle öka något då ARM64 ISA skulle ge något högre "effektiv IPC" (samma program tenderar ta något färre ARM64 instruktioner jämfört med x86_64 instruktioner + en långt större andel av ARM64 instruktionerna jämfört med x86_64 saknar globala sidoeffekter -> ger högre möjlighet till parallellism för back-end). Men det skulle fortfarande handla om 30-50 W per kärna vid frekvenser >5 GHz.

ARM64 har inget i designen som gör det mer lämpligt för mobiler än något annat. Skulle snarare säga att då det är enklare att göra extremt "breda" designer är den om något mer lämpade till server/datacenter/workstations än mobiler.

Apple har en microarkitektur som inte möjliggör speciellt hög frekvens. De har gått all-in för perf/W, optimala där är extremt "bred" design med kort pipeline. En kort pipeline medför högre IPC och mindre energi att köra saker, men det hindra också riktigt höga frekvenser!

Om inte ARM64-ISA är problemet så betyder det att M1-familjen har rätt dåliga enkeltrådade prestanda, därför att den kommer från mobilsidan där man prioriterar perf/W, jämfört med vad den skulle kunna ha om man tog mindre hänsyn till perf/W.

Det betyder att Qualcomm har rätt när man säger att PC-världen behöver gå över till ARM64. Man skulle annars kunna tänka sig att PC-världen gick över till något annat än ARM64, någon ISA mer optimerat för enkeltrådat prestanda, men nu är det alltså inte där skon klämmer.

Längre fram kan alltså Apple komma med en mikroarkitektur som kan ge bättre enkeltrådade prestanda än M1-familjen, till priset av sämre perf/W. Beror rimligen på hur mycket pengar dom vill lägga på utveckling av en mikroarkitektur för Mac som sedan mobilsidan inte har så stor nytta av. Låter iofs inte som något dom har bråttom att göra.

Andra aktörer som inte är bundna av att bara sälja till sig själva, kan däremot optimera hur dom vill i kompromissen mellan enkeltrådat och perf/W.

Permalänk
Skrivet av anon214822:

M1-familjen har rätt dåliga enkeltrådade prestanda

Så som du skriver behöver jag bara dubbelkolla med dig: Menar du i jämförelse med om Apple gjort andra tekniska val eller är det din uppfattning att detta påstående är objektivt sant?

Permalänk
Medlem
Skrivet av anon214822:

Om inte ARM64-ISA är problemet så betyder det att M1-familjen har rätt dåliga enkeltrådade prestanda, därför att den kommer från mobilsidan där man prioriterar perf/W, jämfört med vad den skulle kunna ha om man tog mindre hänsyn till perf/W.

Det betyder att Qualcomm har rätt när man säger att PC-världen behöver gå över till ARM64. Man skulle annars kunna tänka sig att PC-världen gick över till något annat än ARM64, någon ISA mer optimerat för enkeltrådat prestanda, men nu är det alltså inte där skon klämmer.

Längre fram kan alltså Apple komma med en mikroarkitektur som kan ge bättre enkeltrådade prestanda än M1-familjen, till priset av sämre perf/W. Beror rimligen på hur mycket pengar dom vill lägga på utveckling av en mikroarkitektur för Mac som sedan mobilsidan inte har så stor nytta av. Låter iofs inte som något dom har bråttom att göra.

Andra aktörer som inte är bundna av att bara sälja till sig själva, kan däremot optimera hur dom vill i kompromissen mellan enkeltrådat och perf/W.

M1 har alldeles strålande singeltrådad prestanda, den är ju uppe och slåss med Intel/AMD som är klockade 50% högre (3.2GHz vs 5+GHz)

När M2 kommer, om de bara skrämmer upp samma chip de redan har till 4GHz så kommer de leda ligan igen, men de har ju redan visat att de har mer att komma med i A-serien, så de kommer utan större tveksamheter leda nästa gång också

Prestanda per watt är extremt viktigt, för det finns bara en begränsad strömbudget på ett moderkort och i rimliga formfaktorer som går att kyla smidigt. Och dessutom avgör det i stora drag hur mycket utrymme man har att ’slösa bort’ genom att klocka högre för bättre prestandatoppar

Det är ju främst i absolut prestanda de vinner, att de dessutom gör det vid så löjligt låg effekt/värme är bara förnedrande.

Det är bara stora kärnorna i Intels 12-serie som presterar högre än kärnorna i M1, och de är klockade så högt för att nå den prestandan att varje kärna drar avsevärt mer än hela M1 (basmodellen)

Skulle Apple släppa någon av M1 varianterna separat (för att bygga PC med) så skulle de vara bättre än det mesta på marknaden redan nu, inte i framtiden

Permalänk
Hedersmedlem
Skrivet av anon214822:

Längre fram kan alltså Apple komma med en mikroarkitektur som kan ge bättre enkeltrådade prestanda än M1-familjen, till priset av sämre perf/W.

Riktigt så enkelt som att det endast är en kompromiss mellan prestanda och effekt är det väl sannolikt inte heller? Troligen har man inte hittat optimum för vad man nu är ute efter, så nästa generation skulle nog kunna vara både snabbare och effektivare samtidigt.

Permalänk
Inaktiv
Skrivet av Det Otroliga Åbäket:

Så som du skriver behöver jag bara dubbelkolla med dig: Menar du i jämförelse med om Apple gjort andra tekniska val eller är det din uppfattning att detta påstående är objektivt sant?

Jämfört med om Apple gjort andra val.

M1 är grymt imponerande men kunde alltså varit ännu värre. Detta då i enkeltrådat vilket är mitt fokus i denna diskussionen. Bra perf/W är helt klart värdefullt för multitrådat, för att kunna peta in många kärnor, men det är för mig en annan diskussion.

Permalänk
Inaktiv
Skrivet av Elgot:

Riktigt så enkelt som att det endast är en kompromiss mellan prestanda och effekt är det väl sannolikt inte heller? Troligen har man inte hittat optimum för vad man nu är ute efter, så nästa generation skulle nog kunna vara både snabbare och effektivare samtidigt.

Visst finns det en kompromiss mellan prestanda och effekt. Att man i nästa generation kan vinna i bägge samtidigt betyder inte att den kompromissen inte finns även i den generation.

Permalänk
Hedersmedlem
Skrivet av anon214822:

Visst finns det en kompromiss mellan prestanda och effekt. Att man i nästa generation kan vinna i bägge samtidigt betyder inte att den kompromissen inte finns även i den generation.

Därav "endast".

***

Var inte situationen också lite likartad när Intel övergav pentium4-spåret för att istället bygga vidare på Pentium-m?

Permalänk
Skrivet av anon214822:

Jämfört med om Apple gjort andra val.

M1 är grymt imponerande men kunde alltså varit ännu värre. Detta då i enkeltrådat vilket är mitt fokus i denna diskussionen. Bra perf/W är helt klart värdefullt för multitrådat, för att kunna peta in många kärnor, men det är för mig en annan diskussion.

Tack för förtydligandet - då är jag med på hur du tänker.
Riktningen Apple rört sig i - och vad deras höjdare sagt i intervjuer - tyder på att de är ute efter en så balanserad maskin som möjligt. Uppenbart har de inget emot hög prestanda per tråd, men de har valt - och kan tack vare sin prestanda per Watt göra så - en design där alla prestandakärnor kan jobba för fullt samtidigt om de bara får uppgifter att ta sig an. Deras sätt att skriva program och rekommendera utvecklare att skriva dem drar ju uppenbart nytta av detta där så är möjligt.

Detta är ju helt enkelt en annan strategi än den Intel valde, vilken gjorde sig bra med legacyprogramvara från operativsystem som inte var särskilt bra på multitasking, och med programvara skriven av utvecklare som "växt upp" i sådana miljöer. Ur det perspektivet är ju också Intels tjurskallighet förståelig, vad gäller att hålla nere antalet kärnor till fyra - men som kunde springa i cirklar runt konkurrenten så länge de bara hade en sak att göra. De fick ju eld i baken först när AMD både gav dem en match i prestanda per kärna och började ge konsumenter fler kärnor.

Allt detta för att säga: Det är inte osannolikt att vi kommer se andra ARM-tillverkare ge sig in i MHz-racet, men jag tror inte Apple kommer att göra det med mindre än att de av någon anledning verkligen behöver.

Permalänk
Inaktiv
Skrivet av Det Otroliga Åbäket:

Tack för förtydligandet - då är jag med på hur du tänker.
Riktningen Apple rört sig i - och vad deras höjdare sagt i intervjuer - tyder på att de är ute efter en så balanserad maskin som möjligt. Uppenbart har de inget emot hög prestanda per tråd, men de har valt - och kan tack vare sin prestanda per Watt göra så - en design där alla prestandakärnor kan jobba för fullt samtidigt om de bara får uppgifter att ta sig an. Deras sätt att skriva program och rekommendera utvecklare att skriva dem drar ju uppenbart nytta av detta där så är möjligt.

Detta är ju helt enkelt en annan strategi än den Intel valde, vilken gjorde sig bra med legacyprogramvara från operativsystem som inte var särskilt bra på multitasking, och med programvara skriven av utvecklare som "växt upp" i sådana miljöer. Ur det perspektivet är ju också Intels tjurskallighet förståelig, vad gäller att hålla nere antalet kärnor till fyra - men som kunde springa i cirklar runt konkurrenten så länge de bara hade en sak att göra. De fick ju eld i baken först när AMD både gav dem en match i prestanda per kärna och började ge konsumenter fler kärnor.

Allt detta för att säga: Det är inte osannolikt att vi kommer se andra ARM-tillverkare ge sig in i MHz-racet, men jag tror inte Apple kommer att göra det med mindre än att de av någon anledning verkligen behöver.

Stora problemet med många kärnor är ju att många uppgifter inte går att fördela ut på många kärnor, att många uppgifter till sin natur är enkeltrådade. Så när man börjar komma över 2-4 kärnor så sjunker det vad du i praktiken får ut av dina kärnor, i genomsnitt sett över många typiska arbetsuppgifter (se Amdahl's Law etc). Att bara säga till utvecklarna att köra multitrådat duger inte, så enkelt är det inte. Enkeltrådat kan du alltid köra allting. Enkeltrådat är kung.

Sedan är det här med 'balanserat' lite lurigt. Beror lite på i vilket avseende. Apple lägger alltså in en massa kisel för vissa hårdkodade uppgifter. Jättebra när det kan användas, värdelös prydnad när det inte kan användas. Dom går en balansgång där, dom balanserar vad dom använder kisel-ytan till. Återigen, med högre prestanda enkeltrådat hade dom kunnat gör mer i mjukvara och mindre hårdkodat i kisel.

Så för mig är enkeltrådat det viktiga. Därav att jag alltid törstar efter mer, hur mycket jag än får.

Permalänk
Hedersmedlem
Skrivet av anon214822:

Sedan är det här med 'balanserat' lite lurigt. Beror lite på i vilket avseende. Apple lägger alltså in en massa kisel för vissa hårdkodade uppgifter. Jättebra när det kan användas, värdelös prydnad när det inte kan användas. Dom går en balansgång där, dom balanserar vad dom använder kisel-ytan till. Återigen, med högre prestanda enkeltrådat hade dom kunnat gör mer i mjukvara och mindre hårdkodat i kisel.

Vanligtvis är man väl rätt snål med hårda block; det vanliga är väl att funktionen man accelererar anses viktig och blir många gånger snabbare (så att höja den generella prestandan för att uppnå samma resultat är sällan realistiskt).

Permalänk
Datavetare
Skrivet av anon214822:

Stora problemet med många kärnor är ju att många uppgifter inte går att fördela ut på många kärnor, att många uppgifter till sin natur är enkeltrådade. Så när man börjar komma över 2-4 kärnor så sjunker det vad du i praktiken får ut av dina kärnor, i genomsnitt sett över många typiska arbetsuppgifter (se Amdahl's Law etc). Att bara säga till utvecklarna att köra multitrådat duger inte, så enkelt är det inte. Enkeltrådat kan du alltid köra allting. Enkeltrådat är kung.

Sedan är det här med 'balanserat' lite lurigt. Beror lite på i vilket avseende. Apple lägger alltså in en massa kisel för vissa hårdkodade uppgifter. Jättebra när det kan användas, värdelös prydnad när det inte kan användas. Dom går en balansgång där, dom balanserar vad dom använder kisel-ytan till. Återigen, med högre prestanda enkeltrådat hade dom kunnat gör mer i mjukvara och mindre hårdkodat i kisel.

Så för mig är enkeltrådat det viktiga. Därav att jag alltid törstar efter mer, hur mycket jag än får.

Håller helt med om att ST-prestanda trumfar allt. 20-25 % eller mer ökad ST-prestanda är i en förkrossande majoritet av fallen långt mer värdefullt än 100 % mer peak MT-prestanda.

Grejen är att när M1 släpptes var det inte bara den överlägset mest effektiva CPU sett till perf/W, den släpptes när Intel fortfarande bara harvade med Skylake (och Tiger Lake fanns i.o.f.s. och den är helt OK) och AMD satt med Zen2. D.v.s i det läget hade Apple ST-tronen med minst 20 %.

"Balanserad" för Apple blir ju här: en CPU-design som fungerar ändå från Iphones ända upp till high-end desktop. Ett "problem" med Apples CPU-design är att deras "stora" kärnor är brutalt komplicerade. Ska de ha ekonomi i CPU-utvecklingen måste deras två spår (stora kärnor, Firestorm och senast Avalance, samt små kärnor, IceStorm och senaste Blizzard) kunna täcka allt.

Det är inte unikt. IBM, AMD och snart Qualcomm har ett spår, Intel och Apple kör två spår.

"Balanserad" betyder då att vid ~3 GHz måste de stora kärnorna dra tillräckligt lite för att kunna köras i en telefon (i A15 ökade man ändå från 2,9 GHz till 3,2 GHz hos de stora och 1,8 GHz till 2,0 GHz hos de små kärnorna). Apple lär inte nå 5 GHz i närtid, framförallt inte eftersom perf/W verkar tanka rejält både för Intel och AMD när de passerar 4 GHz och runt 5 GHz når de en vägg. Skillnaden mellan 4,9 GHz (max boost för 12600K) och 5,3 GHz (max boost för 12900K) är ju rätt löjlig. Zen3 drar till och med mer än 12900K när båda passerar 5 GHz-strecket.

Jag vill absolut ha huvudfokus på ST-prestanda (är lite besviken på M1 Pro/Max av den anledningen, framförallt då A15 ändå fick en liten ST-boost). Men för mig är perf/W också viktigt.

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

Kom ihåg den PC Emulatorn som fanns Atari ST, och dom på dåtidens Svenska atari blev chockade av hur långsam denna emulering var. Mätte till under 1 Mhz. Men PowerPC klarade väl att emulera 68000 kod ganska problem fritt när den tiden begav sej?

Skrivet av Det Otroliga Åbäket:

Problemställningen när du inte har tillräckligt överlapp mellan arkitekturen du använder och den som behövs för mjukvaran du vill köra är att du inte kan virtualisera utan måste översätta (à la Rosetta 2) eller i värsta fall emulera (á la MAME). Båda metoder kommer med en mer påtaglig prestandaförlust än virtualisering. Men absolut: inkluderar du VDI-anslutningar mot maskiner som kör "rätt" arkitektur i begreppet så håller jag i stort med, åtminstone för mjukvara som inte är timingberoende mot slutanvändaren.

Ren webbifiering (i meningen presentera tjänster som webbgränssnitt) funkar om man inte är beroende av korta svarstider eller bra UI/UX. Se typ varenda SaaS-tjänst eller Electronapp där ute om du inte tror mig.