Mať divný proprietárny procesor miesto štandardného pre mňa osobne nie je dobré rozhodnutie, ale chápem, že teraz môžu lepšie plánovať a nezávisia od ľubovôle Itelu.
Môj daľší počítač už nebude mac. Keď budem musieť, tak si mac kúpim najlacnejší dostačujúci podľa možností ožužlaný, aby ma vyšiel čo najmenej.
Tomu moc nerozumím, co je to standardní a proprietární? Apple Silicon procesory používají ARM instrukční sadu, kterou sdílí řada výrobců procesorů a jiných SoC. Na téhle úrovni to samozřejmě kompatibilní je. Existují překladače, optimalizované programy a knihovny atd.
A na hw úrovni ty procesory přeci ty starší x86 procesory jsou svým způsobem vždycky vázané na jednoho výrobce - např. v notebooku nejde vyměnit procesor Intel za AMD.
Jasně, někomu nemusí třeba sedět, že je to SoC se svými principiálními výhodami i nevýhodami. Taky chápu, že třeba někdo měl teď Hackintosh, nebo si na macOS virtualizoval x86 Windows a Linux přes VMWare Fusion, to samozřejmě teď nepůjde bez výrazné ztráty výkonu. Ale zase naopak např. když někdo vyvíjí sw pro mobilní platformy, kde je ARM majoritní, tak má stejná architektura na počítači své výhody.
Za mě se jim to povedlo a s novými AS stroji se pracuje skvěle a ty zmíněné věci bych řešil vzdáleným připojením na jiné x86 PC nebo server s virtualizací.
Zdroj? Dle mých znalostí jsou jediné věci navíc TSO a podpora AF a PF, obojí pouze pro emulaci x86_64.
Udržovat vlastní verzi celého development systému se ukázalo jako příliš velké sousto i pro jiné korporáty jako Microsoft, IBM.
PS: Naopak Fujitsu si svoje aarch64 trochu upravilo - ale jde jen o jeden prefix pro SVE, který se používá speciálně pro jejich HPC.
Samotný název instrukcí říká, že jde o koprocesor (dokonce instrukce do něj ani nejdou přes out-of-order jader CPU, když jsem se trochu začet do odkazované stránky). Ano, je to v jednom křemíku, protože SoC.
Společnost ARM dbá na "duševní hygienu" a nedovoluje přidávat vlastní instrukce do architektury CPU (jader CPU). Takže myslím, že např. přepínač pro strong memory model pro emulaci x86 je jen nějaký flag a ne instrukce, aby to Apple obešel (nicméně i tak mám pocit, že mu firma ARM dovolí víc něž jiným).
7. 6. 2023, 23:45 editováno autorem komentáře
Apple měl vždy něco extra, někdy kolem roku 1998 měl v CPU vektorové instrukce a 32 vektorových registrů (po 128 bitech), přičemž se zpracovávaly dvě instrukce zároveň. Na tehdejší dobu něco nevídaného. A taky to bylo trochu bokem, například data nešla přímo přenášet do běžných registrů. Už si nepamatuju detaily, ale různé fyzikální simulace na tom běhaly pekelně rychle (ve srovnání s konkurencí). Pár let to vylepšovali, pak přešli na Intel.
AltiVec. Vyvíjel s dalšími firmami (Motorola a IBM), ale nakonec byl na PowerPC sám, takže ta architektura umřela. Jinak automatické řešení multiskaláru na x86 mělo zas výhodu, že částečně zrychlilo i dosavadní programy, které nevyužívaly nové instrukce (ale zas nutnost napsat kód pro nové instrukce znamenal jejich efektivní využití).
jj. O těch AMX a ANE instrukcích navíc vím, ale vždycky jsem to bral tak, že to řeší vlastně další proprietární jednotky v rámci toho SoC. Podobně jako třeba některé předchozí Intel Macy měly možnost dodatečné Afterburner výpočetní karty, která akcelerovala jejich video, opět proprietární, kodeky.
Samozřejmě ideální stav by byl, aby rovnou uvolnili dokumentaci a mohly to používat kompilátory pro libovolný kód. Možná už jsem po těch letech spíš cynik, a podobný proprietární šprajc pro extra funkce, kdy si budou chtít udržet nějakou konkurenční exkluzivitu, tam tak nějak u Apple rovnou čekám :(.
Jinak já v té předchozí odpovědi měl na mysli spíš obecnou kompatibilitu těch jejich čipů s ARMv8.5-A. Tam naštěstí nic úplně specifického není a optimalizovaný kód (NEON, SVE1..) funguje napříč mezi různými výrobci. Upřímně moc neočekávám, že by se na tomhle i do budoucna moc něco měnilo, Apple by byl sám proti sobě.
Apple framework, co to používá, se jmenuje Accelerate
https://developer.apple.com/documentation/accelerate
Z toho to Dougall Johnson vypreparoval (viz. ten gist linkovaný výše, má v sobě komentáře)
O planovani vubec nejde, Apple se dlouhodobe snazi byt co nejvic nekompatabilni.
Duvod je jednoduse ten, aby sis od nich musel koupit vse. Tohle prozmenu nechape 99% uzivatelu treba iphonu, a pak se divej. Neustale chodej s tim, ze to ci ono prece umi kazdej android za pet korun padesat, tak jak je mozny ze jejich iphone za 50k to neumi.
Vzdycky jim na to rikam, at si koupi macbook, appletv, (za dalsich 200k) ... a bude umet.
Stejne tak si predstav, ze na x86 jabka se dal dostat vlastne libovolnej x86 SW ... a to bez toho aby z toho Apple neco mel. Opet, oni se to snazi dotlacit k tomu, ze co si na appstoru nekoupis mit nebudes. (ne ze by se MS nesnazil o totez, ale moc se jim to nedari).