Apple kan släppa persondatorer med ARM-baserade processorer 2016–2017

Permalänk
Medlem

Gör inte det här att det inte alls går att spela på en Mac?

Visa signatur

De köper en bil. Säljaren säljer bilen till dem. Var är du? Vart ska du? Varifrån kom du?

Permalänk
Avstängd
Skrivet av peterholm1:

Apple stänger in sig ännu mer i sin egen bubbla. Alla nya datorer är ju fullständigt omöjliga att skruva i själv. Fastlödda minne, special-SSD:er etc... får du fel på datorn så är det DYR reparation som gäller utan återvändo...

Jag har kört Mac sen 1996 men byter kanske till PC snart då de inte har vad jag vill ha... en snabb stationär till vettigt pris utan allt fastlött. Då blir det nog så att jag lämnar Iphone också och köper nån billig m$/nokia-lur för en 1000-lapp.

Går liksom åt andra hållet... följer inte strömmen...

Eller så är det exakt det du gör...

Skrivet av ArcticFire:

Gör inte det här att det inte alls går att spela på en Mac?

Prova att spela alls på de aktuella modeller det sägs kommer få dessa, så det blir ingen större skillnad mot hur det är nu.
Kanske ska läsa artikeln och inte bara rubriken, bara ett förslag.

Skrivet av Tilax:

Ja! Fan vad bra! Allt som minskar på Intels överlägsna dominans är bra.

Den förtjänar de eftersom deras största konkurrent inte klarar av att tillverka vettiga CPU'er.

Visa signatur

The problem in society today: Smart phones, stupid people.

Permalänk
Medlem
Skrivet av ArcticFire:

Gör inte det här att det inte alls går att spela på en Mac?

Det har det ju inte gjort tidigare heller så vad är skillanden?

Visa signatur

There are two kinds of people: 1. Those that can extrapolate from incomplete data.
Min tråkiga hemsida om mitt bygge och lite annat smått o gott: www.2x3m4u.net

Permalänk
Hedersmedlem
Skrivet av Dr.Mabuse:

Det har det ju inte gjort tidigare heller så vad är skillanden?

Vad vill du åstadkomma genom att komma med rena troll-kommentarer som denna? Du vet mycket väl att det inte stämmer. Självklart går det att spela på Apples datorer, och så kommer det förbli, oavsett processorarkitektur.

Permalänk
Medlem
Skrivet av widL:

Vad vill du åstadkomma genom att komma med rena troll-kommentarer som denna? Du vet mycket väl att det inte stämmer. Självklart går det att spela på Apples datorer, och så kommer det förbli, oavsett processorarkitektur.

Självklart kan man spela på Apples datorer så rimligen borde mitt inlägg inte tolkas ordagrant och utanför sitt kontext. Jag försökte ordvitsa lite utifrån att prestandan för Apples OSX inte är i paritet med Windows när det gäller 3D-grafik och avslutar med en fråga som visar att ArcticFires inlägg är öppen för tolkning så han kan utveckla sitt resonemang.

Visa signatur

There are two kinds of people: 1. Those that can extrapolate from incomplete data.
Min tråkiga hemsida om mitt bygge och lite annat smått o gott: www.2x3m4u.net

Permalänk
Medlem
Skrivet av Rajat:

Prova att spela alls på de aktuella modeller det sägs kommer få dessa, så det blir ingen större skillnad mot hur det är nu.
Kanske ska läsa artikeln och inte bara rubriken, bara ett förslag

Nog kan man spela på dagens macbook air. Moba-spel och WoW på hyfsat låga inställningar. Tycker det är något att notera att det kanske inte kommer vara möjligt längre.

Skickades från m.sweclockers.com

Visa signatur

i7-2700K 5 GHz | 16 GB DDR3-1600 | ASUS Maximus V Gene Z77 | GTX 980
i7-4790K 4.8 GHz | 32 GB DDR3-2133 | ASUS Maximus VII Gene Z97 | GTX 980

Permalänk
Avstängd
Skrivet av Teddis:

Nog kan man spela på dagens macbook air. Moba-spel och WoW på hyfsat låga inställningar. Tycker det är något att notera att det kanske inte kommer vara möjligt längre.

Skickades från m.sweclockers.com

Tycker inte det är värt att notera alls eftersom de inte är optimala för spel, MBA är mest en smidig laptop att ta med sig om man är på språng mycket, den är endast ett verktyg och optimal för exempelvis skolarbeten och presentationer.

Visa signatur

The problem in society today: Smart phones, stupid people.

Permalänk
Medlem
Skrivet av anon99339:

Detta handlar inte om inlåsning. Det handlar om att Intel har fått sin dominerande ställning på marknaden genom att muta datortillverkarna så att de enbart sålde Intels produkter, på en tid då AMD slog Intel med hästlängder.

Tja, de hade redan en dominerande ställning. Och AMD mutar också tillverkarna. Skillnaden är mest att de har mindre pengar att muta med.

Skrivet av Sveklockarn:

Hela diskussionen grundar sig på en (1) persons hypotes, inte sant?

Ja, inga bevis eller uttalanden från apple, bara en "expert inom industrin" som tycker att det hade varit en bra idé (kanske? Men bara på lowend air. Och de skulle då bli helt oanvändbara för det jag använder min till (aka, jobb)).

Permalänk
Medlem
Skrivet av Yoshman:

ARM har specifikt dementera att ARM-designen på något sätt på skulle ha något med 6502 att göra (d.v.s. vara inspirerad av dess design). Vad RISC och 6502 ursprungligen delade var en väldigt enkel design med få instruktioner som var väldigt ortogonala, i övrigt finns i princip inga likheter. 6502 uppfyller t.ex. inte grundkravet för RISC då det inte är en load/store arkitektur utan instruktioner kan direkt ta minne som argument medan RISC bara kan ta register. 6502 har även väldigt få register (A,Y,X) medan RISC typisk haft rejält med register 16/32 eller ännu fler. Nu skulle man kunna hävda att zero-page adressering (en av orsakerna till att denna design i praktiken var riktigt effektiv jämfört med samtida konkurrenter) i 6502 i princip är som 256st 8-bitars register

Å andra sidan verkar just en ren load/store design vara något som inte passar bra för vissa typer av multi-core operationer, verkar som ARM också insett detta då ARMv8.1 verkar få väldigt CISC-lika instruktioner för en rad atomära operationer. Är övertygad om att x86 klarat sig så väldigt bra just därför det är en design som (av ren tur) råkar passa multicore väldigt bra.

Självfallet så dementerar dom, fattas bara annat
Intressant är hur historien skrivs om, från början så kom inte iden till ARM förrän efter dom besökt WDC. Nu reffereras det mest till att iden fanns innan besöket

Och givetvis är inte 6502 en RISC per def. däremot så var den en inspiration med sin enkla och effektiva minnes adressering, avbrottshantering och i/o. Adresseringen av dom första 256 adresserna var rätt genial, var ju en av dom starka bitarna med 6502'an.
Sen var ju inte allt med indirekt adessering implementerat fullt ut på 6502, kom ju först i 65C02...
Deras mål var ju en snabbare CPU med mer än 16 bitars adressering, adresseringen kunde ju gås runt med paging men inte hastigheten.
När dom under designen började att snegla på Berkeley RISC så försvann väll likheten än mer, men besöket hos WDC var ändå från början en förhoppning om att få till en snabbare CPU med möjlighet till ett större adress område.
Planer som troligen ändrades redan direkt vid besöket då dom förstod att 6502 var en en-mans konstruktion, då deras egna resurser och kompetens redan då var större. Något som aldrig sades, men var rätt lätt att läsa ut mellan raderna på den tiden...

Att WDC sen kom ut med 65C816 och 65C802 (pinkmpatibel med 6502) ungefär samtidigt som ARM bildades är en annan story, vilken som var snabbast 65C816 eller ARM2 har jag inte en aning om
Det sägs även att 65C816 kom till på förfrågan från Apple, vilket ju är troligt då den direkt kom i Apple IIgs.
Förmodligen så ansåg WDC inte Acorn som någon större kund...

Det med load/store och problem på ARM med flera är väll mer när det körs beroende processer, kan tänka mig att det kan ge lite mer förlust på RISC sidan än på CISC sidan. Detta då det tar tid att spara och ladda register, något som teoretiskt borde ge mer förlust på RISC sidan även om tiden att spara/ladda X antal register ger samma mängd klock cykler.
Då borde ju TI990 ha fördel om den funnits nu, den körde ju nästan helt med minnesregister

Visa signatur

Engineer who prefer thinking out of the box and isn't fishing likes, fishing likes is like fishing proudness for those without ;-)
If U don't like it, bite the dust :D
--
I can Explain it to you, but I can't Understand it for you!

Permalänk
Datavetare
Skrivet av hansfilipelo:

Jag fick >95% cache hits på ARM Cortex A9 (ARM first gen OoOE) när jag skrev vettig kod. Detta är en helt irrelevant jämförelse precis som vad du får på Sandy Bridge.

Bara en liten fråga: hur mätte du det cache-hit rate på en Cortex A9? Så vitt jag vet finns inget motsvarande Intels MSR i ARMs Cortex A-serie och utan information om cache-missar, TLB-missar, branch-missar, genomsnittligt antal instruktioner avkodade per cykel, genomsnittligt antal instruktioner slutförda etc lär dina >95% endera vara en mer eller mindre kvalificerad gissning eller så hade du en arbetslast med så litet "working-set" att det med marginal får plats i cache (vilket är fallet för Geekbech där data för i princip alla test får plats i L1-cachen).

Det närmsta man kommer funktionerna i Intel MSR för Cortex A-serien är att kunna läsa ett register som ökas med ett för varje klockcykel, men av någon outgrundlig anledning har ARM valt att göra den instruktioner privilegierad (får bara köras i supervisor mode) men går att flippa en bit i ett CPU- kontrollregister så kommer man åt detta även från "vanliga" applikationer. Ett problem på iOS där det krävs jail-break för att som svensson få köra kod i kärnan.

Skrivet av hansfilipelo:

Out of order execution och bra branch prediciton (vad du kallar "rå beräkningskraft") är svårt och kräver mycket chipyta - ja. Intel Core-seriens kärnor är klart större än Silvermont och Cyclone och är av förklarliga skäl snabbare.

oooe och branch-prediction är inte vad jag kallar "rå beräkningskraft", det är faktiskt ingenting att göra med den teoretiska beräkningskraften. Beräkningskraften bestäms av hur många ALU-enheter som finns på chippet och det kräver faktiskt inte speciellt mycket kretsyta att stoppa dit relativt många sådana. Cortex A15 är ingen gigantisk CPU-kärna, men den har ändå totalt 5 pipes som hanterar rena beräkningar (3 för heltal och 2 för flyttal, vilket i teorin är helt i nivå med Haswell).

Out-of-order execution kan ta mycket kretsytan, men det beror på hur pass avancerad man vill göra den. Både Cortex A9 och Silvermont är t.ex. in-order för flyttal och minnesoperationer vilket då betyder att oooe inte alls är speciellt dyrt men "rätt" implementerat (vilket det rent empiriskt visar sig att Silvermont lyckats med) så får man en väldigt stor andel av fördelen av oooe jämfört med AMD/Intels "big-core" CPUer men till en fraktion av kretsytan. Problemet är att de förenklingar man gjort betyder att man inte kommer klara av de mer avancerade fallen.

Vad som däremot tar mycket kretsyta är främst cache, men även olika former av statistik- och historia-tabeller + logiken att göra något vettigt av detta. Där ligger typiskt skillnaden mellan en CPU-design som klarar sig bra på de enkla fallen men fallerar på de lurigare och en som fixar båda.

Skrivet av hansfilipelo:

Du hävdar att anledningen till att A8 är "dålig" i "3DMark Physics test" därför att det är en tillämpning som är beroende av bra branch prediction - vilket enligt dig A15 först kunde leverera men sedan inte. Konstigt nog är både A15 och A8 snabbare än Silvermont (när de har lika många kärnor) i detta test .

Du säger sedan följande om tillämpningar där bra branch prediction är viktigt:

Det du säger motstrider sig självt - antingen är inte 3Dmark physics beroende av bra branch prediction (vilket det inte är) eller så har Cortex A15 bättre branch predictor än Silvermont.

När det kommer till andra applikationer: Du kan absolut inte veta huruvida A8ans branch predictor presterar i applikationer den ej testats i.

Sluta trolla och erkänn att du tagit dig vatten över huvudet.

Inser att det där hade kunna vara tydligare, men det är inte en motsägelse. I det första fallet, 3DMark, refererar jag till hur bra/dålig något är på att hantera villkorade hopp och serie av instruktioner som har relativt mycket beroenden mellan sig (3DMark physics har detta enligt uttalande från deras utvecklare).

Det andra fallet pratar om oregelbunden minnesaccess, du kan ha totalt förutsägbara hopp (eller inga hopp alls) men ändå har extremt oregelbunden minnesaccess. Ett exempel på detta, allokera ett N poster totalt slumpmässigt i minnet, sätt ihop dem till en länkad lista och traversera sedan listan genom kod som där man följer "next" pekare N gånger. Listan traverseras nu med noll hopp, men det kommer ändå vara väldigt svårt för CPU-delen att veta vart "next" pekar. Silvermont (och Core-serien) är långt mycket bättre på detta än någon annan CPU-design jag jobbat med och så väldigt ovanligt är det inte med denna typ av strukturer i verkligheten, i mer avancerad applikationer kommer det vara normalfallet med olika former av träd och hash-tabell strukturer och inte raka arrayer som är fallet i många benchmarks för mobiler.

Och som du ser har jag sagt relativt lite specifikt om just Cyclone, helt enkelt för att Apple vägrar att ge några som helst specifika detaljer om sina produkter och iOS är inte precis en drömplattform att jobba med om man vill black-box analysera en CPU.

Använde 3DMark physics för det är en av de få lite mer avancerade applikationer som finns på många OS, inte använder OS-funktioner i den prestandakritiska delen så OS är inte del av resultatet, det skalar visligen med CPU-kärnor men det skalar ungefär som "riktiga" applikationer i det att 1->2 kärnor ger rätt mycket, men efter det händer inte mycket. A8->AX8 (2->3 kärnor samt +100MHz, +2MB L3-cache) ger bra 10%/1120 poäng extra, i7-4558U->i7-4712MQ (2->4 kärnor, samma turbofrekvens, +2MB L3-cache) ger 3%/800 poäng extra.

Att Cortex A15 står sig bra mot Silvermont i detta test beror mer på att det är flyttalsintensivt och Silvermont har (by-design) en väldigt enkel flyttalsdel (är ju som sagt till och med in-order) medan just flyttalsdelen är relativt kompetent i Cortex A15 givet att det är en krets för små system. Att Silvermont ändå klarar sig bra måste därför beror på att det finns andra saker den kompenserar med. Z3770 (som i praktiken drar mindre ström än A8X) har 80% högre resultat i 3DMark physics och det trots att Z3770 kör 32-bitars kod (x86_64 fixade många tillkortakommanden, bl.a. dubblades antal CPU-register).

Vad man kan säga om Cyclone utan att extra data är att den är mycket mer beroende av branch-predictors, oooe etc då den får sin fart från att vara "bred". Cyclone kan avkoda upp till 6 instruktioner per cykel, den kan rent teoretiskt (helt rätt mix av instruktioner) påbörja exekvering av totalt 9(!) instruktioner per cykel. En felspekulerat hopp kostar ca15 cykler, load-to-use för L1$ är 4 cykler och över 20 cykler för L2$.

Silvermont är en enklare design som den kompenserar med högre frekvens, vissa tror att en 20-30W Cyclone skulle matcha Haswell U, bara titta på Jaguar för att inse att effekt och frekvens är INTE linjär och det kan mycket väl vara så att designen inte kan klockas speciellt högt oavsett TDP. På Silvermont kostar ett felspekulerat hopp ca12 cykler, load-to-use för L1$ är 3 cykler och 15 cykler för L2$. (som extra referens Cortex A15 har ca15/3/>20)

Så felspekulerade hopp och data som inte ligger i L1 (men ändå i L2) kostar färre cykler på Silvermont (+ att den har högre frekvens) vilket betyder att Cyclone måste ha mycket mer avancerade branch-predictors och större cache för att ens matcha Silvermont (men det är ju i slutändan Core-serien man ska sikta på om CPU-designen ska vara vettig på MBA/MBP) i avancerade program med "elaka" RAM accessmönster och svårförutsägbara hopp.

Tycker ändå Cyclone är med marginal den bästa CPUn för mobiler, men det är inte seriöst att tro att det skulle ha någon chans i praktiken mot Intel/AMD big-core i mer avancerade program. Då är det ändå en krets på 3miljarder transistorer, så är inte helt lätt för Apple att bara slänga mer transistorer på problemet (Brodwell CoreM har 1.3miljarder transistorer).

Visa signatur

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

Permalänk
Datavetare
Skrivet av Bengt-Arne:

Det med load/store och problem på ARM med flera är väll mer när det körs beroende processer, kan tänka mig att det kan ge lite mer förlust på RISC sidan än på CISC sidan. Detta då det tar tid att spara och ladda register, något som teoretiskt borde ge mer förlust på RISC sidan även om tiden att spara/ladda X antal register ger samma mängd klock cykler.
Då borde ju TI990 ha fördel om den funnits nu, den körde ju nästan helt med minnesregister

Load/store-arkitektur är i normalfallet inget problem, men för atomära instruktioner måste man ju ha en load-op-store cykel för att det överhuvudtaget ska vara en poäng med att göra det atomärt och att då inte direkt kunna referera minne i "op" delen blir ju ett problem. RISC löser traditionellt det problemet via någon form av load-linked/store-conditional sekvens, men är naturligtvis lättare att design logik där det som kommer mellan "load" och "store" är hårt specificerat än LL/SC som i.o.f.s är mer flexibelt men rent teoretiskt kan det ju vara hur många instruktioner som helst mellan LL och SC.

Sen har ju Intel även i normalfallet löst det RISC-anhängare anser den absolut största fördelen med RISC: icke-förstörande operationer. RISC instruktioner är typiskt på formen (A, B och C är register, X är register eller RAM).

C = A op B

med CISC typiskt är på formen

X = X op B

d.v.s. innehållet i X skrivs alltid över i CISC vilket då betyder att man måste spara undan innehållet i X om originalvärdet måste sparas. "Lösningen" på detta problem är att sedan Haswell så hanteras register-till-register tilldelningar helt i front-end (via register renaming/alias) så back-end delen blir aldrig belastad av detta. Ovanpå det är kompilatorer rätt bra på att undvika detta ändå + i många fall behöver man ju inte spara vare sig A eller B så totalt sett är nog just detta ett rätt svagt argument för RISC.

Historian kring hur mycket ARM inspirerades av 8502 kan mycket väl har förvanskats en hel del, var ju rätt mycket stämningar mellan tillverkarna redan på den tiden så ARM vill knappast erkänna att de sneglade allt för mycket på något annat, oavsett om de gjorde det eller ej.

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

Tja, de hade redan en dominerande ställning. Och AMD mutar också tillverkarna. Skillnaden är mest att de har mindre pengar att muta med.

Ja, inga bevis eller uttalanden från apple, bara en "expert inom industrin" som tycker att det hade varit en bra idé (kanske? Men bara på lowend air. Och de skulle då bli helt oanvändbara för det jag använder min till (aka, jobb)).

Det spelar ingen roll. Från att ha varit en värdig konkurrent kämpar AMD nu för att överleva på grund av Intels massiva mutskandal. Det innebär att AMD inte har lika mycket pengar att lägga på forskning och utveckling för att ta fram konkurrenskraftiga produkter. Ingen gynnas av detta.

Har du bevis för att AMD också mutar tillverkarna? Annars är det ren BS. Vad jag vet har AMD inte ens fått en sådan rättegång emot sig medan Intel fick flera miljarder dollar i böter.

Permalänk

Hur bra är en arm-baserad processor om man jämför med intels eller amds processorer? Är det en skillnad i prestanda och hur stor är den ?

Visa signatur

Hamnar man i bråk, slå först slå hårdast =P

Permalänk
Datavetare
Skrivet av anon99339:

Det spelar ingen roll. Från att ha varit en värdig konkurrent kämpar AMD nu för att överleva på grund av Intels massiva mutskandal. Det innebär att AMD inte har lika mycket pengar att lägga på forskning och utveckling för att ta fram konkurrenskraftiga produkter. Ingen gynnas av detta.

Har du bevis för att AMD också mutar tillverkarna? Annars är det ren BS. Vad jag vet har AMD inte ens fått en sådan rättegång emot sig medan Intel fick flera miljarder dollar i böter.

Är det inte dax att släppa den diskussionen? De gjorde fel och blev dömda vilket var helt i sin ordning, men det är snart 15 år sedan. AMD gick som tåget många år efter detta inträffade. Problemen för AMD började med köpet av ATI, de betalade för mycket (samt mer än vad deras kassa tålde för tillfället) och integrationen av ATI och AMD tog långt mer resurser än man uppskattat vilket kraftigt påverkade utvecklingen av nya CPU-designer. Sedan hade AMD väldigt höga kostnaden under de "goda" åren, något man överhuvudtaget inte brydde sig om innan det började gå rejält utför.

Ovanpå detta blev det tyvärr extra olyckligt i att Bulldozer var en sådan total feldesign. Har senare visat sig att tanken på att göra något mellan SMT (Intel HT) en full extra kärna inte alls är fel, men AMD lyckades nästa till 100% välja fel i vad som borde dupliceras och vad som kan delas. FreeScale har designat en PowerPC CPU som på väldigt hög nivå påminner om Bulldozers modulkoncept som har visat sig väldigt lyckad, det är nästan en invers på vad man valde att dela resp. vad man duplicerade i en "modul" med två CPU-trådar.

Nu är det bara att hålla tummarna att man dels överlever till Zen lanseras (vilket man borde) samt att det faktiskt är en bra CPU-design.

Visa signatur

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

Permalänk
Hedersmedlem
Skrivet av hansfilipelo:

Sluta trolla och erkänn att du tagit dig vatten över huvudet.

Ni är båda oerhört kunniga, och det är kul att se diskussioner på den här kunskapsnivån. Jag vill dock be dig att undvika anklagelser om trollning. Yoshman har fått sin titel av en anledning. Det betyder inte att han (eller någon annan med specialtitel, inklusive mig) inte kan ha fel, men lite ödmjukhet skadar aldrig.

Skrivet av Dr.Mabuse:

Självklart kan man spela på Apples datorer så rimligen borde mitt inlägg inte tolkas ordagrant och utanför sitt kontext. Jag försökte ordvitsa lite utifrån att prestandan för Apples OSX inte är i paritet med Windows när det gäller 3D-grafik och avslutar med en fråga som visar att ArcticFires inlägg är öppen för tolkning så han kan utveckla sitt resonemang.

Kontexten var att någon ställde en ärlig fråga om en övergång till ARM skulle göra att det inte gick att spela på Apples datorer. Min tolkning ligger inte utanför kontexten. Det kräver en minst sagt fantasifull tolkning av ditt inlägg för att förstå att du syftade på att OS X ligger efter Windows när det kommer till grafikprestanda i spel... Ditt inlägg kommer av de flesta att tolkas som flame-bait, så försök vara tydlig istället!

Permalänk
Medlem
Skrivet av Lucifer_swnne:

Hur bra är en arm-baserad processor om man jämför med intels eller amds processorer? Är det en skillnad i prestanda och hur stor är den ?

ARM liksom x86 representerar familjer av processorer, som implementerar en instruktionsuppsättning m.h.a. olika kretslösningar och kiselprocesser. Så det finns inget enkelt svar.
Om vi tittar på "best-in-class" implementationerna just nu, kan man kanske jämföra intels Broadwell och Apples A8(x). Det är fortfarande lite av äpplen och päron, prisskillnaden är en faktor tio, olika kiselprocesser, halva A8 består av annat än GPU/CPU/cache/minnesbuss (!), effektförbrukning vid benchmarking osv kan alla diskuteras. Men det råder inte mycket tvivel om att senaste iterationen av Apples ARM är i runda slängar jämförbar med Broadwell, vid motsvarande effektförbrukning. Kolla benchmarks på Lenovos Yoga 3 vs. IPad Air2 t.ex.

Prestanda är inte det som kommer att avgöra om/när/för vilka system Apple börjar använda sina egna processorer också för OSX. Andra aspekter skiljer mycket, mycket mer.

Permalänk
Datavetare
Skrivet av EntropyQ3:

ARM liksom x86 representerar familjer av processorer, som implementerar en instruktionsuppsättning m.h.a. olika kretslösningar och kiselprocesser. Så det finns inget enkelt svar.
Om vi tittar på "best-in-class" implementationerna just nu, kan man kanske jämföra intels Broadwell och Apples A8(x). Det är fortfarande lite av äpplen och päron, prisskillnaden är en faktor tio, olika kiselprocesser, halva A8 består av annat än GPU/CPU/cache/minnesbuss (!), effektförbrukning vid benchmarking osv kan alla diskuteras. Men det råder inte mycket tvivel om att senaste iterationen av Apples ARM är i runda slängar jämförbar med Broadwell, vid motsvarande effektförbrukning. Kolla benchmarks på Lenovos Yoga 3 vs. IPad Air2 t.ex.

Prestanda är inte det som kommer att avgöra om/när/för vilka system Apple börjar använda sina egna processorer också för OSX. Andra aspekter skiljer mycket, mycket mer.

Vet inte hur man kan få det till att Core M och A8X skulle vara jämförbara i prestanda. Enda benchmarks som visar detta är Geekbench (som i princip är absolut best-case för en "bred" CPU som Cyclone + det finns tester som t.ex. SHA1 där Aarch64 har specifika instruktioner för att hantera just detta, något som ingen annan ISA har för tillfället) och Sunspider (där resultatet beror mer på JS-motorn än på CPUn).

Octane och Kraken (som tyvärr också beror av JS-motorn, men dels är betydligt mer avancerade tester + man använder JS-bibliotek som många webbplatser också använder vilket ger viss relevans till resultatet) visar att Core M är ungefär dubbelt så snabb.

Enda test jag kan hitta för båda plattformarna där det är "native-kod" (är tyvärr olika kompilatorer här, men skillnaden mellan LLVM/clang, GCC och MSVC++ är i alla fall långt mindre än skillnaden mellan olika JS-motorer), inte en helt trivialt arbetslast, beror nästan uteslutande av CPU-delen och skalar inte löjligt bra med CPU-kärnor är 3DMark physics. Där är Core M mer än dubbelt så snabb.

Sedan kan man inte heller säga att Core M är dyrare utan att specificera exakt vad man menar med det. Det är dyrare för Apple att köpa en färdig Core M krets från Intel än att vad tillverkningskostnaden för A8X är.

Die shot Core M

Die shot A8X

A8X har fler transistorer och en uppskattad area på 128mm² mot Core M 82mm². Om de inte lever efter olika fysiska lagar borde A8X, en krets med 3 miljarder transistorer, vara dyrare att tillverka än Brodwell Core M, en krets med 1.3 miljarder transistorer.

Då Core M ligger i en klass för sig givet dess TDP kontra prestanda kan Intel ta (nästan) vilket pris de behagar mot kund, mellanskillnaden stoppar Intel i egen ficka. Samma sak gäller ju t.ex. iPhone där marginalen där påslaget mellan tillverkningskostnad och försäljningspris vida överstiger någon annan telefon, helt i sin ordning marknadekonomiskt då folk tydligen vill ha den produkten och det finns bara en leverantör.

Passa på och förtydliga det jag skrev om att Cyclone behöver en mycket bättre branch-predictor än t.ex. Silvermont p.g.a sin "breda" design. För att prestera bra med låg frekvens måste Cyclone hålla sina beräkningsenheter med jobb hela tiden. Tänk en (överförenklat då det handlar om out-of-order designer) felaktig spekulering av ett hopp, det kostar 15 cykler så om CPU-delen maxat och tagit 6 instruktioner per cykel är det nu 90 instruktioner som åker i drickat medan Silvermont som bara är 2 "bred" skickar 24 instruktioner (12 cykler, max 2 instruktioner per cykel) i drickat när den spekulerar fel. Samma princip går att applicera på cache-missar.

Ovanpå det är klockfrekvensen högre för den senare så i absolut tid tar varje felspekulering som Cyclone gör vid 1.5GHz dubbelt så lång tid mot felspekulering av Silvermont vid 2.4GHz. Fördelen med en "bred" design är hög beräkningskapacitet vid relativt låg frekvens, nackdelen är att man måste spendera rätt rejält med transistorer på olika former av cacher om man ska kunna utnyttja bredden. A7/A8/A8X verkar ha angripit detta problem främst genom att inkludera så mycket SRAM att iOS "appar" i praktiken körs ur detta minne, men desktop-applikationer är för stora och komplicerade så en sådan design fungerar inte där.

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:

Är det inte dax att släppa den diskussionen? De gjorde fel och blev dömda vilket var helt i sin ordning, men det är snart 15 år sedan. AMD gick som tåget många år efter detta inträffade. Problemen för AMD började med köpet av ATI, de betalade för mycket (samt mer än vad deras kassa tålde för tillfället) och integrationen av ATI och AMD tog långt mer resurser än man uppskattat vilket kraftigt påverkade utvecklingen av nya CPU-designer. Sedan hade AMD väldigt höga kostnaden under de "goda" åren, något man överhuvudtaget inte brydde sig om innan det började gå rejält utför.

Ovanpå detta blev det tyvärr extra olyckligt i att Bulldozer var en sådan total feldesign. Har senare visat sig att tanken på att göra något mellan SMT (Intel HT) en full extra kärna inte alls är fel, men AMD lyckades nästa till 100% välja fel i vad som borde dupliceras och vad som kan delas. FreeScale har designat en PowerPC CPU som på väldigt hög nivå påminner om Bulldozers modulkoncept som har visat sig väldigt lyckad, det är nästan en invers på vad man valde att dela resp. vad man duplicerade i en "modul" med två CPU-trådar.

Nu är det bara att hålla tummarna att man dels överlever till Zen lanseras (vilket man borde) samt att det faktiskt är en bra CPU-design.

Tyvärr finns det ett antal som håller kvar vid gamla käpphästar och vägrar släppa detta. De vägrar förstå att det finns företag som inte kan räddas mer än tillfälligt oavsett om man så pumpar in tiotals miljarder, för de läcker pengar ännu fortare!

Apple är ett utmärkt exempel. De var på ruinens brant -97, men gjorde en vinst på drygt $300 miljoner -98, tack vare Steve Jobs. Där vände han skeppet på ett år, med ett kassatillskott på $150 miljoner från Microsoft.

Permalänk
Inaktiv
Skrivet av Yoshman:

Är det inte dax att släppa den diskussionen? De gjorde fel och blev dömda vilket var helt i sin ordning, men det är snart 15 år sedan. AMD gick som tåget många år efter detta inträffade. Problemen för AMD började med köpet av ATI, de betalade för mycket (samt mer än vad deras kassa tålde för tillfället) och integrationen av ATI och AMD tog långt mer resurser än man uppskattat vilket kraftigt påverkade utvecklingen av nya CPU-designer. Sedan hade AMD väldigt höga kostnaden under de "goda" åren, något man överhuvudtaget inte brydde sig om innan det började gå rejält utför.

Ovanpå detta blev det tyvärr extra olyckligt i att Bulldozer var en sådan total feldesign. Har senare visat sig att tanken på att göra något mellan SMT (Intel HT) en full extra kärna inte alls är fel, men AMD lyckades nästa till 100% välja fel i vad som borde dupliceras och vad som kan delas. FreeScale har designat en PowerPC CPU som på väldigt hög nivå påminner om Bulldozers modulkoncept som har visat sig väldigt lyckad, det är nästan en invers på vad man valde att dela resp. vad man duplicerade i en "modul" med två CPU-trådar.

Nu är det bara att hålla tummarna att man dels överlever till Zen lanseras (vilket man borde) samt att det faktiskt är en bra CPU-design.

Jag förklarade varför vissa inte gillar Intel och att det inte handlar om inlåsning, med anledningen av att parallellen drogs mot Apples inlåsning. Det var enbart ett inflik, härmed slut med off topic från min sida i tråden.

Skickades från m.sweclockers.com

Permalänk
Skrivet av Yoshman:

Bara en liten fråga: hur mätte du det cache-hit rate på en Cortex A9? Så vitt jag vet finns inget motsvarande Intels MSR i ARMs Cortex A-serie och utan information om cache-missar, TLB-missar, branch-missar, genomsnittligt antal instruktioner avkodade per cykel, genomsnittligt antal instruktioner slutförda etc lär dina >95% endera vara en mer eller mindre kvalificerad gissning eller så hade du en arbetslast med så litet "working-set" att det med marginal får plats i cache (vilket är fallet för Geekbech där data för i princip alla test får plats i L1-cachen).

Det närmsta man kommer funktionerna i Intel MSR för Cortex A-serien är att kunna läsa ett register som ökas med ett för varje klockcykel, men av någon outgrundlig anledning har ARM valt att göra den instruktioner privilegierad (får bara köras i supervisor mode) men går att flippa en bit i ett CPU- kontrollregister så kommer man åt detta även från "vanliga" applikationer. Ett problem på iOS där det krävs jail-break för att som svensson få köra kod i kärnan.

Vi körde en viss last och mätte antalet requests mot minnet. Vi skrev sedan om koden för implementeringen och minskade antalet requests med ca 90%. Då den tidigare lasten (antagligen) inte hade 100% cachce misses landade vi närmare 100% hit rate.

Skrivet av Yoshman:

oooe och branch-prediction är inte vad jag kallar "rå beräkningskraft", det är faktiskt ingenting att göra med den teoretiska beräkningskraften. Beräkningskraften bestäms av hur många ALU-enheter som finns på chippet och det kräver faktiskt inte speciellt mycket kretsyta att stoppa dit relativt många sådana. Cortex A15 är ingen gigantisk CPU-kärna, men den har ändå totalt 5 pipes som hanterar rena beräkningar (3 för heltal och 2 för flyttal, vilket i teorin är helt i nivå med Haswell).

Out-of-order execution kan ta mycket kretsytan, men det beror på hur pass avancerad man vill göra den. Både Cortex A9 och Silvermont är t.ex. in-order för flyttal och minnesoperationer vilket då betyder att oooe inte alls är speciellt dyrt men "rätt" implementerat (vilket det rent empiriskt visar sig att Silvermont lyckats med) så får man en väldigt stor andel av fördelen av oooe jämfört med AMD/Intels "big-core" CPUer men till en fraktion av kretsytan. Problemet är att de förenklingar man gjort betyder att man inte kommer klara av de mer avancerade fallen.

Agreed om OoOE. Det du däremot benämner som "rå beräkningskraft" i ditt tidigare inlägg refererar fortfarande till OoOE - om jag förstår syftningen i detta inlägg rätt (vi kan för all del bara missförstå varandra ). Det är trots allt det vi diskuterat sedan vi startade - för ser vi till antalet ALUer så har ju Cyclone fler än Silvermont.

Skrivet av Yoshman:

Inser att det där hade kunna vara tydligare, men det är inte en motsägelse. I det första fallet, 3DMark, refererar jag till hur bra/dålig något är på att hantera villkorade hopp och serie av instruktioner som har relativt mycket beroenden mellan sig (3DMark physics har detta enligt uttalande från deras utvecklare).

Hittade källa på detta: http://www.futuremark.com/pressreleases/understanding-3dmark-...

Det är verkligen som du säger - 3DMark Physics har problem med cache coherence p g a gemensamma datastrukturer i ett programbibliotek.

Att ha gemensamma datastrukturer är verkligen inte bra i multitrådade prestandakritiska applikationer. Hade en föreläsning angående detta för ett tag sedan. Hoppas att Bullet-biblioteket får lite kod från 3DMark där.

Skrivet av Yoshman:

Vad man kan säga om Cyclone utan att extra data är att den är mycket mer beroende av branch-predictors, oooe etc då den får sin fart från att vara "bred". Cyclone kan avkoda upp till 6 instruktioner per cykel, den kan rent teoretiskt (helt rätt mix av instruktioner) påbörja exekvering av totalt 9(!) instruktioner per cykel. En felspekulerat hopp kostar ca15 cykler, load-to-use för L1$ är 4 cykler och över 20 cykler för L2$.

Silvermont är en enklare design som den kompenserar med högre frekvens, vissa tror att en 20-30W Cyclone skulle matcha Haswell U, bara titta på Jaguar för att inse att effekt och frekvens är INTE linjär och det kan mycket väl vara så att designen inte kan klockas speciellt högt oavsett TDP. På Silvermont kostar ett felspekulerat hopp ca12 cykler, load-to-use för L1$ är 3 cykler och 15 cykler för L2$. (som extra referens Cortex A15 har ca15/3/>20)

Så felspekulerade hopp och data som inte ligger i L1 (men ändå i L2) kostar färre cykler på Silvermont (+ att den har högre frekvens) vilket betyder att Cyclone måste ha mycket mer avancerade branch-predictors och större cache för att ens matcha Silvermont (men det är ju i slutändan Core-serien man ska sikta på om CPU-designen ska vara vettig på MBA/MBP) i avancerade program med "elaka" RAM accessmönster och svårförutsägbara hopp.

Det jag lyckas hitta om Silvermont och Cyclone är följande:

http://www.anandtech.com/show/7335/the-iphone-5s-review/3
http://www.realworldtech.com/silvermont/7/
http://www.anandtech.com/show/6330/the-iphone-5-review/8

Skrivet av AnandTech:

The most visible change to Apple’s first ARMv8 core is a doubling of the L1 cache size: from 32KB/32KB (instruction/data) to 64KB/64KB. Along with this larger L1 cache comes an increase in access latency (from 2 clocks to 3 clocks from what I can tell), but the increase in hit rate likely makes up for the added latency. Such large L1 caches are quite common with AMD architectures, but unheard of in ultra mobile cores. A larger L1 cache will do a good job keeping the machine fed, implying a larger/more capable core.

Skrivet av AnandTech:

The L2 cache remains unchanged in size at 1MB shared between both CPU cores. L2 access latency is improved tremendously with the new architecture. In some cases I measured L2 latency 1/2 that of what I saw with Swift.

Not: Anand mäter Swift (A6) till 12 klockcykler (se källa ovan) vilket skulle lägga Cyclone på < 12 cykler och ofta närmare 6 från L2 cache.

Skrivet av RealWorldTech:

Silvermont’s L2 cache is 1MB and 16 way associative, with a 13 or 14 cycle load to use latency and 32B/cycle bandwidth shared between both cores.

Av det jag lyckas luska fram har alltså Cyclone kortare latens att läsa från L2-cache än Silvermont - har du belägg för det du tagit fram?

Visa signatur

Primär: MBP 16", M1 Pro, 32 GB, 512 GB SSD, Thunderbolt dock, Dell U3415W HTPC: FD Node 202, Ryzen R5 3600, 16 GB, Radeon RX480 Nitro+ 4 GB, 850 Pro 512 GB+MX100 512GB Main server: Rasberry Pi 4 8 GB Worker server: FD Node 304, Core i3 3220T, 16 GB RAM, 60 GB Intel 330+80 GB 320, 3*3TB WD Red, Debian Backup: AMD E-350, 8 GB, 40 GB Intel V40, 3x3TB WD Red, Debian

Permalänk
Skrivet av Yoshman:

Vet inte hur man kan få det till att Core M och A8X skulle vara jämförbara i prestanda. Enda benchmarks som visar detta är Geekbench (som i princip är absolut best-case för en "bred" CPU som Cyclone + det finns tester som t.ex. SHA1 där Aarch64 har specifika instruktioner för att hantera just detta, något som ingen annan ISA har för tillfället) och Sunspider (där resultatet beror mer på JS-motorn än på CPUn).

Intel kan det enligt Intel: https://software.intel.com/en-us/articles/improving-the-perfo...

AES-NI släpptes med Arrandale (krympningen av Nehalem) som lanserades 2010.

Visa signatur

Primär: MBP 16", M1 Pro, 32 GB, 512 GB SSD, Thunderbolt dock, Dell U3415W HTPC: FD Node 202, Ryzen R5 3600, 16 GB, Radeon RX480 Nitro+ 4 GB, 850 Pro 512 GB+MX100 512GB Main server: Rasberry Pi 4 8 GB Worker server: FD Node 304, Core i3 3220T, 16 GB RAM, 60 GB Intel 330+80 GB 320, 3*3TB WD Red, Debian Backup: AMD E-350, 8 GB, 40 GB Intel V40, 3x3TB WD Red, Debian

Permalänk
Skrivet av Yoshman:

Vet inte hur...

Skrivet av widL:

Ni är båda oerhört kunniga, och det är kul att se diskussioner på den här kunskapsnivån. Jag vill dock be dig att undvika anklagelser om trollning. Yoshman har fått sin titel av en anledning. Det betyder inte att han (eller någon annan med specialtitel, inklusive mig) inte kan ha fel, men lite ödmjukhet skadar aldrig.

Håller med det var onödigt. Hoppas Yoshman ser detta och accepterar min ursäkt!

Tycker det däremot är synd att Yoshman lägger fram fakta och data i tråden gång på gång utan källhänvisning - som de flesta bara måste acceptera då ifrågasättande kräver rätt djupa kunskaper inom chipdesign.

För egen del behöver jag sedan påpeka att alla detaljer kanske inte stämmer - vilket tar mig en hiskelig tid eftersom jag källhänvisar dem. Sen är vi bägge två retards eftersom vi för en diskussion med en okänd människa på internet (nu uppskattar jag den så inget ont där).

Det är kul att stöta på någon man kan diskutera chipdesign med på en djupare nivå. Det är något jag uppskattar.

Visa signatur

Primär: MBP 16", M1 Pro, 32 GB, 512 GB SSD, Thunderbolt dock, Dell U3415W HTPC: FD Node 202, Ryzen R5 3600, 16 GB, Radeon RX480 Nitro+ 4 GB, 850 Pro 512 GB+MX100 512GB Main server: Rasberry Pi 4 8 GB Worker server: FD Node 304, Core i3 3220T, 16 GB RAM, 60 GB Intel 330+80 GB 320, 3*3TB WD Red, Debian Backup: AMD E-350, 8 GB, 40 GB Intel V40, 3x3TB WD Red, Debian

Permalänk
Datavetare
Skrivet av hansfilipelo:

Intel kan det enligt Intel: https://software.intel.com/en-us/articles/improving-the-perfo...

AES-NI släpptes med Arrandale (krympningen av Nehalem) som lanserades 2010.

Det du länkar till beskriver hur man kan använda SSE3 för att till viss del accelerera SHA-1, det Aarch64 har och Intel kommer få i Skylake är specifika instruktioner för SHA-1 på samma sätt som 32nm Nehalem (Westmere för servers, Arrandale för laptops) fick för AES i och med AES-NI.

Geekbench använder AES-NI och SHA-1 instruktioner på Aarch64, men den använder inte SSE3 för att göra en mer effektiv SHA-1 implementation. Du får kolla disassembler om du inte tror mig alt. betala för Geekbench så du får tillgång till källkoden.

Visa signatur

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

Permalänk
Datavetare
Skrivet av hansfilipelo:

Håller med det var onödigt. Hoppas Yoshman ser detta och accepterar min ursäkt!

Tycker det däremot är synd att Yoshman lägger fram fakta och data i tråden gång på gång utan källhänvisning - som de flesta bara måste acceptera då ifrågasättande kräver rätt djupa kunskaper inom chipdesign.

För egen del behöver jag sedan påpeka att alla detaljer kanske inte stämmer - vilket tar mig en hiskelig tid eftersom jag källhänvisar dem. Sen är vi bägge två retards eftersom vi för en diskussion med en okänd människa på internet (nu uppskattar jag den så inget ont där).

Det är kul att stöta på någon man kan diskutera chipdesign med på en djupare nivå. Det är något jag uppskattar.

Har inte jag länkat till de benchmark resultat jag refererar till? Vad det gäller cache-latens, branch-missprediction så skulle det kräva extremt mycket tid om jag ska leta på länkar till varenda utsaga, kan de flesta utantill då en av mina arbetsuppgifter är att designa extremt prestandakritiska kodbibliotek till bl.a. Intel Xeon (för tillfället SNB, IVB och HSW) och Avoton (för tillfället SMT) samt ARM Cortex A7 och Cortex A15. För diskussionen var det inte heller viktigt att ha exakta siffror, huvudpoängen var mest: Cyclone är väldigt bred jämfört med Silvermont, Intels L2-cachar har rejält mycket lägre latens jämfört med alla andra samt Cyclone har inte allas samma nivå på sina branch-predictors och prefetcher som HSW, vilket den måste ha om den ska kunna prestera bra på komplicerade program då det är en väldigt "bred" design (är ju bredare än Haswell till och med).

En väldigt bra källa för x86 är Agner Fog, för ARM är det lurigare då det inte finns allas något motsvarande Intel/AMDs optimeringsmanualer och vad Agner Fog satt ihop. Vad det gäller Apples Swift och Cyclone finns i princip bara en vettig källa utöver att testa själv: den information som Apple själva måste specifiera för sina kretsar i LLVM för att den ska kunna optimera väl. Är bl.a. där AnandTech grävt ut decode-width och issue-width.

Sedan kan jag utan problem "erkänna" att jag inte kan något om hur man rent fysiskt designar CPU-kretsar, men vet väldigt mycket om hur olika designval påverkar olika delar i ett program och vad man bör göra och inte göra givet en viss design.

Visa signatur

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

Permalänk
Datavetare
Skrivet av hansfilipelo:

Vi körde en viss last och mätte antalet requests mot minnet. Vi skrev sedan om koden för implementeringen och minskade antalet requests med ca 90%. Då den tidigare lasten (antagligen) inte hade 100% cachce misses landade vi närmare 100% hit rate.

Med andra ord en kvalificerad gissning. Var just därför jag använde en Intel CPU när jag testade cache hit-rate i Geekbench, då behöver man inte gissa utan det går att mäta ner på enskild cache hit/miss. Dock var det enda relevanta här: Geekbench går inte att använda för att avgöra hur en CPU står sig i mer normala program då den använder arbetslaster som är så löjligt små att de får plats i en 32kB L1 cache.

Geekbench-testet för "stream" är bokstavligen detta

geekbench_stream(uint32_t *a, uint32_t *b, uint32_t scale, size_t len) { for (size_t i = 0; i < len; i++) { a[i] = scale * b[i]; } }

där scale är 1 för "copy" och >1 för "scale" stream-tester. Seriöst vad har resultatet av detta för relevans i verkliga applikationer?

Skrivet av hansfilipelo:

Agreed om OoOE. Det du däremot benämner som "rå beräkningskraft" i ditt tidigare inlägg refererar fortfarande till OoOE - om jag förstår syftningen i detta inlägg rätt (vi kan för all del bara missförstå varandra ). Det är trots allt det vi diskuterat sedan vi startade - för ser vi till antalet ALUer så har ju Cyclone fler än Silvermont.

Cyclone har fler ALU än Haswell, men min poäng var att det är bara en väldigt liten den av hur en CPU faktiskt presterar. Ju mer komplicerade program man kör ju mindre viktigt är teoretisk beräkningskraft då prestanda kommer vara helt begränsad av huruvida processorn lyckas förse sin back-end med relevant data i tid. Mäter man IPC (något som igen går att mäta ner på instruktionsnivå på Intels CPUer, så man behöver inte gissa, ett alternativ är Intels Performance Monitor för Linux) för serverlaster med väldigt stora "working-set" så inser man snabbt att inte ens den värsta Xeon CPU med 30MB cache fixar att hålla IPC speciellt mycket över 1.0. Om man då har 1, 2 eller 100 ALU-enheter är rätt irrelevant då för prestanda, så Silvermont, Haswell och Cyclone har alla overkill vad det gäller ALU ett sådant fall.

Så min poäng här var: för mer komplicerade program så är det betydligt viktigare hur bra CPU-delen är att lära sig mönster i hopp och minnesaccesser + en låg latens är kritiskt när del väl gissat fel.

Skrivet av hansfilipelo:

Hittade källa på detta: http://www.futuremark.com/pressreleases/understanding-3dmark-...

Det är verkligen som du säger - 3DMark Physics har problem med cache coherence p g a gemensamma datastrukturer i ett programbibliotek.

Att ha gemensamma datastrukturer är verkligen inte bra i multitrådade prestandakritiska applikationer. Hade en föreläsning angående detta för ett tag sedan. Hoppas att Bullet-biblioteket får lite kod från 3DMark där.

Fast det är inte vad jag sa och inte heller vad texten du länkade till säger. Den säger att så länge posterna ligger sekventiellt i minnet presterar Cyclone bra (trivial last för en prefetcher att hantera) men i deras "riktiga" fall blir accessmönstret väldigt oregelbundet (+ att logik baserad på data i posterna gör att villkorade hopp inte längre är triviala att förutsäga, men det sägs inte explicit men är något som kommer hända i en simulering). Min enda poäng här var att Cyclone må ha "bredden" för att matcha Haswell vad det gäller IPC i något så trivialt som Geekbench, men när man jämför Cyclone mot Haswell (och även Silvermont) i detta test så ser man att det trots allt handlar om en CPU med väldigt simpel (men bred) front-end.

Skrivet av hansfilipelo:

Det jag lyckas hitta om Silvermont och Cyclone är följande:

http://www.anandtech.com/show/7335/the-iphone-5s-review/3
http://www.realworldtech.com/silvermont/7/
http://www.anandtech.com/show/6330/the-iphone-5-review/8

Not: Anand mäter Swift (A6) till 12 klockcykler (se källa ovan) vilket skulle lägga Cyclone på < 12 cykler och ofta närmare 6 från L2 cache.

Av det jag lyckas luska fram har alltså Cyclone kortare latens att läsa från L2-cache än Silvermont - har du belägg för det du tagit fram?

Just latensen för cache i Swift och Cyclone går inte att veta exakt då Apple inte uppger den och det är tyvärr inget som går att hitta i LLVM-beskrivningen för arkitekturen (där finns bara L1-latens och branch-missprediction kostnad). Däremot går det att hitta latens för t.ex. Cortex A9 och Cortex A15. Notera att effektiv latens kan vara lägre än faktisk latens för allt som missar L1, Cortex A15 i fallet jag refererar till har en latens på 21 cykler men ändå är den uppmätta latensen för 128kB 17 cykler vilket då visar att vissa accesser har prefetchen helt eller delvis lyckats pricka in så data kommer till CPU-delen fortare än L2-latensen.

Mätningen som AnandTech gjord är också ett mått på effektiv latens, enda sättet att jämföra det mot t.ex. Silvermont vore att köra exakt samma test på den. Något i Cyclone är rejält förbättrat jämfört med Swift, men eftersom man inte har värdet på L2-latensen kan den lägre effektiva latensen komma av bättre prefetchers, snabbare cache men också (och det VET man är fallet) ett mycket bredare out-of-order fönster som då kan "svälja" mer latens i ett fall när man inte gör något annat än den "for-loop" som Geekbench stream gör.

Den diskussion jag förde kring detta hade med relativa kostnaden för en "bred", lågt klockad design som Cyclone kontra en "smal" men högre klockad design som Silvermont. Exakta siffror finns inte för Cyclone vilket var en anledning till att jag använde branch-miss-prediction kostnad i stället, men värdet var ändå inte relevanta för slutsatsen. Nu kanske Apple lyckas med något som varken andra ARM-tillverkare eller AMD lyckats med under väldigt många år: göra en L2-cache matchar i alla fall Silvermont (Haswell har 12 cyklers latens mot sin cache, fast den är då mindre med sina 256kB). Resultatet av diskussionen blir ändå att om Silvermont och Cyclone har ungefär lika avancerade prefetcher/branch-predictors och ungefär lika låg latens på cachen så kommer Silvermont presterar bättre då den relativa kostnaden för missar är lägre då den är smalare samt högre klockad.

Men fel av mig att ens gissa en L2-latens för Cyclone, det var både irrelevant för diskussionen och sannolikhet fel (får skylla på att jag var kvar i min Cortex A15 diskussion mental). Cyclone är så pass lågt klockad, så även fast det är en relativt stor L2-cache på 2MB borde den ha en latens under 20 cykler (Cortex A15 klockas ju i telefoner till 2.5GHz så där är det svårare att ha riktigt låg latens). Rätt utsaga är att Silvermont har lägre absolut latens mot L2, 13-14 cykler med högre klocka. 2MB L2 lär inte ha en latens i Haswell nivå då ljusets hastighet är konstant även för Apple.

Detta är ett diskussionsforum, finns gränser för hur mycket efterforskning folk orkar göra för att skriva ett inlägg. Saker ska inte vara totalt fel, men det mesta som diskuteras i denna post är om det ska vara 14, 17 eller 21 cyklers latens vilket för den diskussion som egentligen fördes (hur pass bra/dåligt Cyclone presterar i applikationer mer avancerade än iOS-appar) är totalt irrelevant, slutsatsen blir den samma vid 14 cyklers latens som vid 21 då den det är en så liten del av helheten.

Visa signatur

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

Permalänk
Skrivet av Yoshman:

Har inte jag länkat till de benchmark resultat jag refererar till? Vad det gäller cache-latens, branch-missprediction så skulle det kräva extremt mycket tid om jag ska leta på länkar till varenda utsaga, kan de flesta utantill då en av mina arbetsuppgifter är att designa extremt prestandakritiska kodbibliotek till bl.a. Intel Xeon (för tillfället SNB, IVB och HSW) och Avoton (för tillfället SMT) samt ARM Cortex A7 och Cortex A15. För diskussionen var det inte heller viktigt att ha exakta siffror, huvudpoängen var mest: Cyclone är väldigt bred jämfört med Silvermont, Intels L2-cachar har rejält mycket lägre latens jämfört med alla andra samt Cyclone har inte allas samma nivå på sina branch-predictors och prefetcher som HSW, vilket den måste ha om den ska kunna prestera bra på komplicerade program då det är en väldigt "bred" design (är ju bredare än Haswell till och med).

Låter tokhäftigt! Vilka bilbiotek? Finns du på Github?

Poängen var här att du och Anand Lal Schimpi har helt olika uppgifter om latenser för Cyclones cachelatens - och Anand har ju här gjort faktiska tester (vilket syns i länken i mitt tidigare inlägg) medan du hänvisar till att "Intels L2-cachar har lägre latens än alla andra".

Angående bredden på designen är jag väl medveten om för- och nackdelar med den typen av design. Det är däremot så att en bredare design oftast får ett mindre straff för en felaktigt förutspådd branch eftersom den oftast har en lägre latens till följd av en kortare pipeline (en effekt man kan få av att använda en bred design) - vilket är precis den modell Apple arbetat efter med A8 - däremot har man ändå ett högre straff än Silvermont (10 vs 16 cykler) - men att använda enbart bredden för att förklara straffet vid en cachemiss ger inte en helt objektiv bild.

Gällande caching så har ALLA CPUer svårt med icke-linjära accessmönster, se exempelvis den här föreläsningen av Scott Meyer (specifikt på Intel Core / SnB): https://www.youtube.com/watch?v=3G-LO9T3D1M&feature=youtu.be&.... Det klart att olika arkitekturer hanterar jumps olika bra och på olika sätt - men tycker du benämner det fel när du säger att enbart Cyclone har problem med icke-linjära minnesaccesser eftersom alla CPUer har det.

Skrivet av Yoshman:

Med andra ord en kvalificerad gissning. Var just därför jag använde en Intel CPU när jag testade cache hit-rate i Geekbench, då behöver man inte gissa utan det går att mäta ner på enskild cache hit/miss. Dock var det enda relevanta här: Geekbench går inte att använda för att avgöra hur en CPU står sig i mer normala program då den använder arbetslaster som är så löjligt små att de får plats i en 32kB L1 cache.

Visst är det en "kvalificerad gissning" - men det är en "gissning" stödd av mätdata gjorda på ett faktiskt chipp - inte spekulation.

Har aldrig refererat till GeekBench så ser inte varför du drar in det. Den last jag arbetade på med Cortex A9 var ren bildbehandling (vilket enligt dig var ett exempel på en svår last) och den last vi diskuterat mest är 3DMark physics - där dual cyclone är snabbare än dual-core Cortex A15, medan quad core A15 är snabbare än dual cyclone, medan t o m quad core Krait 200 är snabbare än bägge dual core-varianterna. 3DMark physics skalar alltså bra med antalet kärnor, trots att de använder gemensamma datastrukturer (vilket är en motsägelse förvisso, men här är det ett faktum). Sen kan såklart A8ans cachestruktur vara sämre lämpad för lasten än de andra ändå - men den är trots det snabbare än de andra chipen.

Bildbehandling och fysikberäkningar är extremt parallelliserbara, det är därför vi har GPUer designade efter den modell de är (många beräkningsenheter) och fysikmotorer som körs på GPUer. Du kan därmed inte kika på den här lasten eftersom A8 är snabbare än de andra alternativen med lika många kärnor (vilket är det diskussionen rör) - även om den inte är snabbast sett till chipimplementering.

----------

Vet inte varför du tar upp Haswell eftersom urpsrungsdiskussionen var att en användare, mindre informerad än oss två, tog upp att ARM är löjligt långsamma - varpå jag tog upp A8 som motexempel då den är snabbare än Silvermont (alltså att ISAn som sådan inte är löjlig). Det var detta påstående du sedan angrep.

Kan vi komma överens om att A8 är snabbare och mer energieffektiv än Silvermont och att det i framtiden finns all möjlighet för Apple att lansera ett chip som kan konkurrera med Core-serien?

---------

Uppskattar i diskussionen vi har - vilket jag sa tidigare. Så man blir sugen på att diskutera chipmarknaden med dig mer. Har svårt att få in det här djupet om chipdesign i min vardag.

edit: Damn you autocorrect!

Visa signatur

Primär: MBP 16", M1 Pro, 32 GB, 512 GB SSD, Thunderbolt dock, Dell U3415W HTPC: FD Node 202, Ryzen R5 3600, 16 GB, Radeon RX480 Nitro+ 4 GB, 850 Pro 512 GB+MX100 512GB Main server: Rasberry Pi 4 8 GB Worker server: FD Node 304, Core i3 3220T, 16 GB RAM, 60 GB Intel 330+80 GB 320, 3*3TB WD Red, Debian Backup: AMD E-350, 8 GB, 40 GB Intel V40, 3x3TB WD Red, Debian

Permalänk
Datavetare
Skrivet av hansfilipelo:

Låter tokhäftigt! Vilka bilbiotek? Finns du på Github?

Utvecklar enbart "stängd" kod, ett exempel på vad jag gjort är en TCP/IP-implementation + väldigt enkelt webb-server som fixade att hantera upp till 9 miljoner HTTP/1.1 transaktioner per sekund på 2st Xeon E5-2690 kärnor. Gör man något mer avancerat än statiska HTTP-sidor skalar detta linjärt till ett fullt dual-socket system upp till i alla fall 2x 12-kärnor, i det enklaste fallet var det helt enkelt svårt att hitta något som kan generera mer än 9M HTTP/1.1 anrop... Systemet hade en genomsnittlig IPC på ~2.5 vilket jämfört med andra program är väldigt högt, SNB->HSW har alla ett teoretisk max på 4 x86 instruktioner per cykel, 5 om man kan använda "macro-op fusion" varje cykel.

Skrivet av hansfilipelo:

Poängen var här att du och Anand Lal Schimpi har helt olika uppgifter om latenser för Cyclones cachelatens - och Anand har ju här gjort faktiska tester (vilket syns i länken i mitt tidigare inlägg) medan du hänvisar till att "Intels L2-cachar har lägre latens än alla andra".

Dels skrev jag att min referens om >20 cykler var en ihopblandad med Cortex A15, sedan refererar jag till absolut load-to-use latens medan Anand mäter effektiv latens. Du såg ju att den är lägre än faktiskt latens, hur mycket lägre beror på hur bra prefetchers är och hur stort stort OoO fönstret är (och det är stort på Cyclone).

Sedan måste jag säga att Apple har ju gjort något väldigt rätt med tanke på att Swift mikroarkitekturmässigt (det lilla som är känt) påminner om något mellan Cortex A9 och A15, men har en IPC som är bättre än A15. AnandTech har många gånger varit inne på att det är just en bättre cache än andra ARM-designer som ligger bakom det.

Skrivet av hansfilipelo:

Angående bredden på designen är jag väl medveten om för- och nackdelar med den typen av design. Det är däremot så att en bredare design oftast får ett mindre straff för en felaktigt förutspådd branch eftersom den oftast har en lägre licens till följd av en kortare pipeline (en effekt man kan få av att använda en bred design) - vilket är precis den modell Apple arbetat efter med A8 - däremot har man ändå ett högre straff än Silvermont (10 vs 16 cykler) - men att använda enbart bredden för att förklara straffet vid en cachemiss ger inte en helt objektiv bild.

En bredare design får ett större straff för felaktig spekulering då detta upptäcks i "back-end" och det ligger då en rad instruktioner som redan börjat hanteras men nu måste slängas, ju bredare design desto fler instruktioner hinner CPUn tugga i sig.

Är egentligen 3 "huvudmått" man måste klassificera en CPU efter

  • bredden: hur många instruktioner kan maximalt avkodas per cykel. Finns även en bredd i back-end i form av antal exekveringsportar. Cyclone har 6/9, Haswell har 4/8, Silvermont har 2/6

  • djup: storleken på ROB (ReOrder Buffer), d.v.s. storleken på out-of-order fönstret, det är gigantiskt på Cyclone och Haswell, 192 micro-ops. Det är endast 32 micro-ops på Silvermont. Större djup möjliggör fler instruktioner "in-flight" vilket ger större möjligheter att hitta något att göra medan load/store operationer väntar på sitt resultat. Transistormässigt är det dyrt med ett högt värde här.

  • längd: (vettigt namn?) vilket är längden på pipeline genom processorn och därmed minsta latens från att en instruktion kliver in i front-end till dess att resultatet skrivs ut av back-end. Det är inte längre ett fix värde då olika ALU har olika latens, har inte sett detta på Cyclone men typisk är branch-miss-prediction kostnaden rätt nära detta värde och enligt AnandTech så är den kostnaden 14-19 cykler. Missprediction på Silvermont är 10 enligt RealWorldTech och pipeline längden är 14-16 cykler. Haswell har en 14-19 cyklers längd på sin pipeline och en missprediction kostnad på 15-20 cykler.

Ju "längre" den är ju högre går den typisk och klocka, men alla felspekuleringar blir dyrare.
Ju "djupare" den är ju dyrare blir "worst-case" felspekuleringar för hopp, men däremot kan man "gömma" allt mer cache-latens med större "djup".
Ju "bredare" ju högre maximal kapacitet får man, väldigt svårt att dra nytta av bredden i kod med mycket villkorade hopp. Har hört från CPU-designers att det är i princip hopplöst att nå över en IPC på 2-2.5 per CPU-tråd i genomsnittlig kod, oavsett bredd, då det helt enkelt inte finns tillräckligt med oberoende instruktioner. SPARC (Oracle) anser ju fortfarande att det är meningslöst med en bredare kärna än 2 och det trots att deras T4/T5 har 8 trådar per fysisk kärna, skulle säga att de har rätt om man bara siktar på databas-laster och liknande men som desktop-OS skulle den CPUn suga.

Skrivet av hansfilipelo:

Gällande caching så har ALLA CPUer svårt med icke-linjära accessmönster, se exempelvis den här föreläsningen av Scott Meyer (specifikt på Intel Core / SnB): https://www.youtube.com/watch?v=3G-LO9T3D1M&feature=youtu.be&.... Det klart att olika arkitekturer hanterar jumps olika bra och på olika sätt - men tycker du benämner det fel när du säger att enbart Cyclone har problem med icke-linjära minnesaccesser eftersom alla CPUer har det.

Alla CPUer har problem med slumpmässig minnesaccess, men verkar som Cyclone relativt sätt har större problem än t.ex. Haswell, Silvermont och Cortex A15. Är helt övertygad att det kommer av att det blir helt omöjligt att upprätthålla en hög IPC i dessa fall, något Cyclone relativt sätt lider mer av än smalare designer som Silvermont och Cortex A15, Haswell hanterar det med en extremt avancerad front-end.

Skrivet av hansfilipelo:

Har aldrig refererat till GeekBench så ser inte varför du drar in det. Den last jag arbetade på med Cortex A9 var ren bildbehandling (vilket enligt dig var ett exempel på en svår last) och den last vi diskuterat mest är 3DMark physics - där dual cyclone är snabbare än dual-core Cortex A15, medan quad core A15 är snabbare än dual cyclone, medan t o m quad core Krait 200 är snabbare än bägge dual core-varianterna. 3DMark physics skalar alltså bra med antalet kärnor, trots att de använder gemensamma datastrukturer (vilket är en motsägelse förvisso, men här är det ett faktum). Sen kan såklart A8ans cachestruktur vara sämre lämpad för lasten än de andra ändå - men den är trots det snabbare än de andra chipen.

<EDIT>missade att nämna Geekbench. Är något jag drog in och pekare på dess begränsningar då väldigt många (på forum som AnandTech och liknande) ofta använder resultatet i denna benchmark att visa att t.ex. Cyclone är i Haswell-nivå. Cyclone har en IPC i nivå med Haswell i detta test, så felet är inte där utan att Geekbench är väldigt irrelevant som vägvisare kring relativ prestanda mellan olika CPU-designer i "verkliga" program. Enkla "breda" designer presterar väldigt bra i Geekbench, ungefär som Itanium som var rätt dålig på det mesta men den var fantastisk bra på HPC-laster för saker med mycket inneboende parallellism i instruktionströmmen och relativt få hopp (Itanium är en av de "bredaste" designer som någonsin skapats, upp till 12 instruktioner per cykel med Poulson).</EDIT>

Att dela något där man skriver mellan kärnor orsakar cache-line-bouncing, det är ett annan problem än vad 3DMark physics har. Sedan finns beroende mellan CPU-kärnor som delar cache även om man inte orsakar cache-line-bouncing, en 4 kärnors Cortex A15 skalar t.ex. inte linjärt på saker som inte får plats i L1 cache då alla 4 kärnorna delar L2, Silvermont (där 2 kärnor delar en L2-cache) skalar däremot helt linjärt i ett sådant fall upp till 8 kärnor (Avoton).

Kan ju vara så att Cyclone har problem med skalning till 3 kärnor då alla kärnor delar L2 där, vilket i så fall förklarar varför det inte skalar alls från 2->3 kärnor. Men ingen annan CPU-arkitektur verkar skala speciellt bra förbi två kärnor, så att andra CPUer skulle vara snabbare för de har fler kärnor håller inte som förklaring.

Skrivet av hansfilipelo:

Bildbehandling och fysikberäkningar är extremt parallelliserbara, det är därför vi har GPUer designade efter den modell de är (många beräkningsenheter) och fysikmotorer som körs på GPUer. Du kan därmed inte kika på den här lasten eftersom A8 är snabbare än de andra alternativen med lika många kärnor (vilket är det diskussionen rör) - även om den inte är snabbast sett till chipimplementering.

3DMark physics resultatet verkar inte vara skalbart, tog ju fram resultatet för A8 och A8X och det skilde 10%. 2 kärnor i7 mot 4 kärnors i7 med samma frekvens skilde 3%.

Bildbehandling är kanske parallelliserbart, har inte jättekoll på det. Men det är också något med väldigt hög cache-lokalitet både i tid och rum så det är en "snäll" last, är däremot något som behöver mycket beräkningskraft och lämpar sig därför väl för SSE/Neon. Fysikberäkningar och andra typer av simuleringar har inte alls lika hög cache-lokalitet främst i rummet då partiklar/kroppar som påverkar varandra behöver inte alls ligga nära varandra i RAM.

Skrivet av hansfilipelo:

Vet inte varför du tar upp Haswell eftersom urpsrungsdiskussionen var att en användare, mindre informerad än oss två, tog upp att ARM är löjligt långsamma - varpå jag tog upp A8 som motexempel då den är snabbare än Silvermont (alltså att ISAn som sådan inte är löjlig). Det var detta påstående du sedan angrep.

Kan vi komma överens om att A8 är snabbare och mer energieffektiv än Silvermont och att det i framtiden finns all möjlighet för Apple att lansera ett chip som kan konkurrera med Core-serien?
---------

Uppskattar i diskussionen vi har - vilket jag sa tidigare. Så man blir sugen på att diskutera chipmarknaden med dig mer. Har svårt att få in det här djupet om chipdesign i min vardag.

Det vi ursprungligen diskuterade var huruvida det är rimligt att Apple skulle köra sin ARM-design i MBA/MBP, där ska man ersätta Core i5/7, inte Silvermont. Jag drog in Silvermont för rent nykter så är A8/A8X betydligt närmare Silvermont än den är Haswell/Broadwell, redan Core M är ett rejält steg upp från A8X.

Är då Cyclone inte "desktop-class"? Om Apple stoppar in den CPUn i MBA är den ju det, finns ingen definition på desktop-class. Men idag är A8X något som i konkurrera med Silvermont i mer avancera applikationer, det är å andra sidan en CPU som fungerar även för ett desktop-OS, kör själv Z3770 i en 11" Win8.1 laptop.

Kan däremot inte se att A8X skulle vara energieffektivare än BayTrail (Silvermont), har ungefär samma batteritid på iPad som i Z3770 enheten med hänsyn taget till batteritkapacitet. Så skulle säga att de har likvärdig effektivitet.

Är då det rimligt att Apple går över till ARM? Har faktiskt ingen aning, men om de gör det så kommer de prestandamässigt gå tillbaka till den nivån man hade i de absolut första MBA-modellerna.
Kommer folk vilja ha det? Vet inte, den kommer vara lättare, ha bättre batteritid och vara fläktlös så viss utveckling är det ändå.

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:

Är då det rimligt att Apple går över till ARM? Har faktiskt ingen aning, men om de gör det så kommer de prestandamässigt gå tillbaka till den nivån man hade i de absolut första MBA-modellerna.
Kommer folk vilja ha det? Vet inte, den kommer vara lättare, ha bättre batteritid och vara fläktlös så viss utveckling är det ändå.

Men det är väl inte någon omöjlighet att Apple parallellt med utvecklingen av sina CPU:er för mobil/tablet även jobbar med något bättre anpassat för desktop applikationer? Även om det var känt sedan länge att Apple köpt upp exempelvis P.A Semi och hade rätt ARM licens så kom ju Swift (CPUn) och framförallt Cyclone som överraskningar för de flesta i branschen. Vad säger att de inte kan upprepa det med en "helt ny" ARM design?

Permalänk
Medlem

Startegi och makt pa marknaden

Det är BARA en fraga om strategi och marknadsmakt, INTE om den bästa tekniken och des finns INGEN RÄTTVISA.

Jobs hatade Intel för att de hade sa mycket makt pa processormarknaden.
Till slut hade Inte lyckats utrota alla andra processortillverkare, inkulderat motorola och risc. Amd var kvar som ett alibi för att kunna säga att Intel inte hade monopol. Intelprocessorerna var bättre pga en överlägsen halvedarteknologi och trots att Intel inte hade en risc architektur.
Jobs var tvungen att byta till Intel för att inte ha kvar en urgammal processor i sina produkter. Han hatade medemattskomponenter. Intelcheferna skrattade gott och kanske yttrade nagra smadelser.

Och sa kom smarttelefonerna där energiförbrukning betyder allt. Arm lyckades fa in en medemattig riscprocessor som de hade mekat ihop i nagot garage. Risc drar mindre energi och tar mindre yta. Trots en medelmattig halvledar teknologi blev arm bättre i en mobiltelefon
än en Atom med cisc teknologi. MIPS som skapade Riscteknologin saldes för ett tag sen för en spottstyver till ett annat Engelsk företag. Man undrar om jänkarna är totalkorkade.

Sa nu vill Apple byta tillbaka. Kanske lyckas de mikla ihop en A9 kärna med ett inte föraktligt antal modifierade Armkärnor som blir lika snabb som en Core processor fran Intel, till lägre kostnad pga att det är en risc. Om samtidigt windows 10 misslycks och android lyckas skapa tillräckligt mycket oreda med alla sina inkompatibla processorer sa är Apple King of the Universe. Om cheferna pa Apple har lärt sig bar litet av Jobs är det vad som kommer att hända och det finns absolut ingenting som nagon i hela världen kan gôra. Glöm inte att Apple tjänar mer pengar än alla de andra pa alla omraden de jobbar pa: surfplattor, nedladdning av spel, video och musik, mobiltelefoner,... snart koper de väl in elbilsteknologi ocksa. Har jag glömt nagot? Troligtvis.

Om nagra ar har Apple surfplattor, datorer, tvboxar, bilar och datorer som kör ett och samma operativsystem, superergonomiskt och enkelt att använda med proprietära applikationer som inte funkar medn nagra andra. Jag glömde: kärnan i detta OS är inte Linux, utan den mest stabila Unixkärnan som nagonsin existerat, kopierat fran Berkleyuniversitet.

Vem hatar Intel och Microsoft pga monopol ? HA HA HA HA.

De som inte tror att de kan förändra världen: köp Apple aktier och sälj Microsoft, Intel, Samsung. Inte ens kineserna har en chans.

P.S. Själv har jag PC och Window, till och med Limia och Surface, för det har vi pa Jobbet. Jag är inte Apple eller Linux eller Microsoftnörd, men jag drar den enda möjliga slutsatsen.

P.S. Igen: Oracle och IBM har ricprocessorer med 16 eller 32 kärnor som kör 8 tradar eller mer vardera. Ingen tvekan om att risc är bättre. Men det är Apple som kommer att dominare världen.

Permalänk
Datavetare
Skrivet av S_Z:

Men det är väl inte någon omöjlighet att Apple parallellt med utvecklingen av sina CPU:er för mobil/tablet även jobbar med något bättre anpassat för desktop applikationer? Även om det var känt sedan länge att Apple köpt upp exempelvis P.A Semi och hade rätt ARM licens så kom ju Swift (CPUn) och framförallt Cyclone som överraskningar för de flesta i branschen. Vad säger att de inte kan upprepa det med en "helt ny" ARM design?

Apple har så mycket pengar för tillfället så man kan absolut inte utesluta något sådant, men tidsmässigt och ekonomiskt är det osannolikt. P.A. Semi hade nästan en färdigt PPC64 design som Apple sedan konverterade till "Cyclone" (känner folk som hade börjat jobba med PPC CPUn under NDA precis innan uppköpet). Att ta fram en helt ny CPU-design är extremt tidskrävande och dyrt (se på AMD och titta hur ofta Intel, IBM, ARM, Qualcomm etc gör något helt nytt), tror man kan se Cyclone i det läge Sandy Bridge var för Intel: första release med Nehalem, sedan mikroarkitekturputsning varje eller vart annat år.

Att använda samma systemkrets som man kör i Ipad och Iphone betyder skalfördelar -> prismässigt vettigt att använda designen i andra enheter. Mac-serien har helt enkelt för låg upplaga för att det ska vara ekonomiskt vettigt att designa något bara för den, framförallt om high-end skulle fortsätta med Intel. Men det är Apple, de har så mycket pengar att det är möjligt att göra val som inte är helt ekonomiskt rationellt.

Visa signatur

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