To je hloupost
|
26.11.2010 18:16
Miloslav Ponkrác
|
ARM má bohužel několik omezení, které způsobí, že nikdy v desktopu nad Intelem nevyhraje.
ARM na rozdíl od x86 architektury je low level a jeho stroják i další věci jsou nastaveny tvrdě tak, aby to šlo jednoduše zadrátovat. ARM architektura je přes 20 let stará, takže řada vlastností je dědictví toho, co bylo možné před 20 lety drátovat.
x86 je de facto high level virtuální mašina, jejíž stroják nemá nic společného s vnitřní architekturou procesoru
ARM tedy musí degradovat jak výkon, tak možnosti pro stroják značným sepětím mezi vnitřní architekturou procesoru a strojákem. Tedy nemůže udělat ani ideální max. výkonné jádro, ani ideální výkonný stroják.
x86 má mezi jádrem a strojákem překladací jednotku do mikroinstrukcí, několik jednotek pro rozdělování do vnitřních jednotek, atd. – díky oddělenosti strojáku a architektury procesoru může být obojí mnohem optimálnější.
Boom ARM podle mně skončí do cca 10 let na zastaralost architektury, která po více, než 30 letech už bude tak svázána mnoha rozhodnutími činěnými z hlediska snadné hardwarovatelnosti, že už s ní nebude možné nic moc dělat.
Spoluzakladatel ARMu zapomíná, že podobné řeči tu nejsou poprvé, a skončily pro neIntelovou stranu tím, že dostala na prdel mnohem víc, než si vůbec dokázala představit. Hauser dostane na prdel rovněž. Byly tu dobu, kdy se předpovídalo, že x86 architektura zanikne, protože nemůže předvést takový výkon jako RISC procesory (ARM je představitelem RISC procesorů). Nakonec x86 postupně předvedlo výkon i vyšší, než běžné RISC. Hlasy přestaly kecat, protože realita jim ukázala, že své přání jim zatemnilo mozek. Stejně tak jako Hauserovi, který to začíná recyklovat. I tehdy byly určité dominantní cpu architektury tak jako dnes ARM.
x86 má obrovskou výhodu proti ARMu, i proti RISCům v jeho flexibilitě. Jádro procesoru je zcela nezávislé na programátorském rozhraní, a každý model cpu může vylepšit jádro na maximum nezávisle na předchozích modelech, protože nepotřebuje zpětnou kompatibilitu, ani prznit kvůli strojáku jak to dělá ARM.
Až cca za 10 let ARM bude bojovat o své přežití, zatímco Intel a x86 pojede, pak si na mně vzpomeňte. Nebude to historicky poprvé, co se tak stalo, ARM není první kdo prohlašuje to co teď prohlašuje – on to musí dělat z marketinkových a PR důvodů. Ale projede to o celé gatě, stačí se s ARM důkladněji seznámit. |
|
|
IBM POWER RISC CPU
|
26.11.2010 20:13
Radim Kolář
|
Nejrychlejsi CPU na svete je IBM POWER7 a je to RISC.
http://www-05.ibm.com/cz/events/power7/pdf/IBM_Power_Systems_vs_konkurence_-_Pavel_Sykora.pdf |
|
|
Re: IBM POWER RISC CPU
|
26.11.2010 22:29
Miloslav Ponkrác
|
A myslíte, že tyto procesory budou cenově na tom tak, že se masově rozšíří do desktopů na každém stole?
Nehledě na tom, že to běží frekvenčně výrazně výše, má to více tranzistorů a spotřeba bude asi také v pásmu, kde by žádný běžný uživatel PC nechtěl být, tedy pokud nevlastní zlaté doly, nebo vlastní jadernou elektrárnu.
Nemluvě o tom, že Váš cpu má více jader, než se běžně v x86 dělají, atd.
Srovnával bych tedy srovnatelné, přepočetl bych výkon na stejné podmínky (frekvenci, počet vláken, …) a pak by Power7 nevyzněl nijak dobře.
---
Nicméně podstata je, že x86 natrhnul zadek i RISCům, které se těšily na vítězství.
Podstata vítězství je stále jednoduchá: RISC sada nedává žádnou výhodu proti CISC sadě za podmínek běžných pro lidské uživatele – naopak x86 je převálcuje.
ARM má jedinou výhodu – vyšší poměr výkon/spotřeba, která se ale u x86 sady stále zlepšuje. Přesně tak, jak se zlepšoval výkon v době, kdy x86 byl pod výkonem RISCů.
ARM zase vytahuje spotřebu nahoru kvůli nalepovákům, který musí dělat díky poměrně debilní instrukční sadě a přes 20 let různých rozhodnutí, aby se to dalo snadno zadrátovat. Díky této sadě je stejná akce delší storják v paměti (= více paměťových operací na čtení programu), často je nutné i konstanty dávat zvlášť, protože ARM sada neumožňuje obecně každou konstantu dát do registru (= další paměťové operace). ARM také neumí provádět operace v paměti, vše je load/store orientováno (= další snížení výkonu proti x86).
V okamžiku, kdy ARM má předvést slušný výkon, odnáší to optimalizace na spotřebu, protože díky architektuře i strojáku orientované pouze na jednoduchost nemůže ARM ani náhodou dosáhnout stejný výkon/frekvence, bude vždy horší.
Jakmile na ARMu začnete dělat větší programy, ARM dostává další penalizaci. Jakmile se programy začnou rozrůstat – ARMovský stroják začíná vyžadovat delší stroják, protože jeho instrukční sada není schopena přímo adresovat ani celý 32bitový prostor – je třeba nepřímo odkládat do registrů.
Kromě toho x86 je sjednocený, a tedy optimalizovaný celek – cpu + memory manager + cache, zatímco ARM je v principu jen cpu. Jakmile ho začnete dovybavovat, tak to není bezešvé a vzájemně opimalizované.
Kromě toho ARM není zpětně kompatibilní, je nucen předefinovávat storjové instrukce, protože autory ARMu nenapadlo, že je budou potřebovat v budoucnu rozšířit. Takže instrukce v nějaké generaci ARMu mohou znamenat úplně jinou operaci v následující generaci. To příliš nezvýší šanci na jejich uplatnění z dlouhodobého hlediska.
O tom, jak blbě se trefuje v jeho instrukční sadě svědčí i to, že Linux změnil konvenci volání syscall kernelu, trvalo řadu let, než se podařilo najít obstojně rychlou konvenci.
Navíc ARM dělá v instrukční sadě všechny ty prasárny, které se museli programátoři x86 odnaučit, aby procesor mohl jít výše výkonem. Například volání kernelu spočívalo v tom, že si dohledáte instrukci, která kernel zavolala, tu přečte, následně jí zanalyzujete a zjistíte podle bitových operací co vůbec volající program chtěl udělat.
Řadu dat jste nucení umísťovat do kódu, protože ARM prostě vzdálenější data v adresovém prostoru neumí nijak rozumně číst, musí se to dělat přes ruku.
Zkrátka, všude se píše o ARMu jako o zázraku, který všechno převálcuje – já myslím, že ARM do 10-15 let bude bojovat vůbec jen o svou existenci. Na ohrožení x86 nemá.
Hlavní co ARMu shází, aby na to mohl pomýšlet je jednoduchá věc: Neexstují desktop Windows pro ARM. Což je větší penalizace, než si představíte. A na emulaci x86, aby se to mohl pokusit zlomit jinak nemá ani desetinu potřebného výkonu.
ARM je dobrý procesor pro určité účely – pro embedded věci. Jeho instrukční sada je ovšem šitá na omezení čipu a proto ne nijak skvělá a dost nešikovná. Na převálcování x86 emůže pomýšlet ani v nejlepším snu – autor odkazovaného článku pravděpodobně hulil dobrý matroš, jako autor ARMu by měl vědět, co v něm je.
|
|
|
Re: IBM POWER RISC CPU
|
26.11.2010 23:50
slune
|
Mimochodem, nejsou x86 procesory lhari? Ruzumejte: tvari se jako CISC, ale ve skutecnosti jsou RISC, pouze ma subrutiny, ktere vytvareji iluzi kompletni instrukcni sady? |
|
|
Re: IBM POWER RISC CPU
|
27.11.2010 00:59
Miloslav Ponkrác
|
Nejsou. Jejich API je CIScové, jejich architektura RISCová – přebrali to nejlepší z obou možností a získali výhody obou.
x86 začínala jako čistě CISCová i uvnitř – ale vidíte tu hlavní sílu x86
Bohatá sada instrukcí umožňuje jakkoli změnit architekturu, aniž by se změnilo API, aniž by to zhoršilo výkon.
x86 je CISC, protože rozhoduje to je navenek |
|
|
Re: IBM POWER RISC CPU
|
27.11.2010 00:50
Radim Kolář
|
POWER7 vyhraje nad Intelem s velkym naskokem. 32 core systems
CINT2006 Rate
IBM Corporation IBM Power 780 (4.14 GHz, 32 core, SLES) 1470
Cisco Systems Cisco UCS B440 M1 (Intel Xeon X7560, 2.27 GHz) 771
a moc nezere
The result is improved performance per watt -- more than two-times better than similar Intel x86-based systems, four times better than Sun SPARC servers and eight times better than similar HP Itanium-based servers
|
|
|
Re: IBM POWER RISC CPU
|
27.11.2010 01:07
Miloslav Ponkrác
|
Dobře, že jste to uvedl.
Je to klasickým důkazem toho, že statistiku si nejlépe sám zfalšuji.
Čuchám, že nemáte moc co říci, protože jste se záměrně vyhnul přímému srovnání výkonu, ale raději jste uvedl výkon/watt – což obvykle dělají podvodníci, když chtějí lidem, co nerozumí předhodit parametr, o kterém se nemluvilo.
Vzhledem k tomu, že vlastní jednotky v cpu mají pár procent spotřeby, zatímco maximum spotřeby mají jednotky, které to řídí a cache, pak z toho vyplývá, že srovnání výkonu na Watt, když jeden je 8 jádrový a druhý 32 a jeden na poloviční frekvenci vůbec nic neříká a je naprosto k ničemu.
Až bude existovat x86 procesor se stejným počtem jader jako Power7 a na stejné frekvenci – nebo blízký model, bude spotřeba na Watt vypovídat.
Každý elektronik ví, že čím větší a výkonnější model – tím lepší účinnost. Například 1W trafo má mnohem horší účinnost, než třeba 1000W trafo.
Takže Vaše údaje mně jen přesvědčily o vynikajících vlastnostech x86 architektury. A jakýkoli pokus okecat to jiným parametrem, než přímo výkonem/jádro a frekvenci ve mně vyvolává ostražitost, jako každá snaha o podvod. |
|
|
POWER7
|
27.11.2010 08:44
Radim Kolář
|
SpecInt2006 rate je srovnani vykonu v integer operacich, cisla jsou z testu na spec.org. Testoval se celkovy vykon u 32 core systemu. |
|
|
Re: IBM POWER RISC CPU
|
1.12.2010 17:30
Petr Ježek
|
No, zdá se, že jste si přečetl nejdříve celý test než jste se dopustil zase nějaké nerealistické x86 adorace. Je celkem jedno, kolik máte mozků, důležité je, kolik toho jste schopen vymyslet :-) Osobně vidím Hauserova slova jako poněkud slaboduchá navzdory faktu, že každý návrh procesoru má prostor pro zlepšení všech vlastností, což platí i pro ARM. Jenže je tu ještě jedna drobnost: Bude budoucí desktop nutně stále náročnější na výkon nebo si snadno vystačí s jednodušší a na zdroje nenáročnější kombinací kernelu a aplikační vrstvy včetně GUI? Jste zapouzdřen ve stereotypu současného stavu, což nevidím jako výhodu... |
|
|
Re: IBM POWER RISC CPU
|
29.11.2010 12:24
Aleš Hakl
|
Je pravda, ze ARM je otresna architektura, ovsem x86 je daleko otresnejsi.
Velikost kodu pro ARM a x86 bude pravdepodobne celkem srovnatelna (prave proto, ze to je takovy hodne divny RISC a ty RISCove "jednoduche instrukce" jsou v pripade ARMu velmi mocne, casto mocnejsi nez na x86). Load/Store architektura dava i dnes vetsi smysl, nez uzasne komplikovane adresovaci rezimy x86, mimochodem i na te x86 (x>=5) bude vas kod obvykle vyznamne rychlejsi, pokud nejakou silenou instrukci pristupujici do pameti rozbijete na lea, mov, instrukci a mov zpet. Rozhodne samotny mov s netrivialnim pametovym operandem je vyrazne pomalejsi(~20%) nez kombinace lea+mov delajici totez (alespon na CPU kde jsem to zkousel).
Se slusnym vykonem ma ARM opravdu problem, otazkou je, jestli to dnes nekoho zajima, kdyz 90% uzivatelu stejne nic lepsiho nez co byl slusny vykon PC pred 6ti lety nepotrebuje (a na takove urovni ty ARMy dnes uz klidne jsou)
Vetsi programy na ARMu nejsou az zas takovy problem jako se snazite tvrdit. Ony zminene instrukce s kratkym immediate offsetem (at uz pro pristup datum nebo volani) se vyznacuji zejmena tim, ze klasicka x86 (az do amd64, kde konecne lze pouzit %rip jako bazi) nic takoveho stejne nema. Je to uzitecne na generovani PIC kodu, coz se na x86 obchazi pomerne slozitou vrstvou indirekci a z jednoho pristupu do pameti se vam pak klidne stanou 3. Cosi podobneho plati o volani funkci. Zpusob jak tohle resi windows (PIC nevedou, misto toho proste doufaji ze kod nebude potreba relokovat) opravdu neni argument, jednak to neuveritelne plytva pameti a druhak to obcas proste nefunguje (Windows CE...). Navic to stejne funguje jenom vramci prekladove jednotky (linker moc nema zpusob jak delat takovehle zmeny v kodu) takze bych rekl, ze opravdu nehrozi ze by ten offset nestacil.
S tou zpetnou kompatibilitou je to asi o neco horsi nez u x86, nicmene o to dnes take pomalu prestava jit, kdyz velka mnozina programu je stejne pro nejake virtualni stroje. |
|
|
Re: IBM POWER RISC CPU
|
1.12.2010 17:37
Petr Ježek
|
Díky Aleši za upřesnění, právě ten hostnoucí prales x86 instrukcí mne naplňuje pochybnostmi o údajných výhodách téhle platformy.. O potřebě výkonu nedosažitelného pro ARM bez újmy na vstupní náročnosti jsem všechno jiné než přesvědčen... |
|
|
Re: IBM POWER RISC CPU
|
1.12.2010 21:43
Radim Kolář
|
No nekteri vyrobci proste radi pridavaji neustale nove instrukce. Ted vysel novy mainframe - nastupce z10 a ejhle ma 100 novych asm instrukci. No ono se na mainframech programuje dost v asm, takze tam to asi zakaznici oceni. Osobne se mi ale cesta neustaleho pridavani instrukci nelibi - prinasi to komplexitu v navrhu a zvetsuje pravdepodobnost chyby. |
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|