Aha. Tak z tohoto důvodu ty procesory tak šíleně topí, jsou pomalé a vůbec stojí za ... Aby mohl být zachován nedomyšlený formát intel instrukcí a zachována zpětná kompatibilita, tak se vymyslí 5x složitější procesor, který dělá 98% času pořád dokola tytéž operace, které by se mohly udělat jednou při kompilaci. Ale to by nesměl být všechen SW skompilován pro jednu nedomrlou architekturu, která se tu drží čistě jen ze setrvačnosti a marketingových důvodů i když už 10 let jsou známi lepší technologie. Ale aspoň je to učebnicový příklad jak paralelizovat velmi obtížný problém. Hlavně ta logika, která zabezpečuje, aby se to navenek neprojevilo je přímo mistrovský kousek inženýrské práce. Takže se stráví miliony člověkohodin vývoje sofistikovaného zabezpečení správné kauzality, než by se vyrobil modernější design instrukční sady. Hlavně, že se díky masovému nasazení vynucenému setrvačností trhu podaří převálcovat cenou každou konkurenci.
Vidim ze jsi to moc nepochopil. Myslis si ze Alpha nebo PowerPC to dela jinak ? Pokud si ten clanek doopravdy pozorne prectes a promyslis, musis dojit ke zcela opacnemu zaveru - na instrukcni sade celkova vykonnost/slozitost procesoru zavisi mene nez se zda. Jasne, ponekud rozevlate binarni kody x86 instrukci situaci mirne komplikuji, ale ne tolik aby stalo za to je menit....
"Jasne, ponekud rozevlate binarni kody x86 instrukci situaci mirne komplikuji,..."
Praveze instrukcni sada ia32 je prekvapive relativne usporna vec - obvykle instrukce jsou zapsany kratkymi operacnimi kody, mene obvykle delsimi. Coz zpusobuje lepsi vyuziti pameti kodem (mensi velikost binarek, mensi L1 a L2 i-cache footprint, atd). Vzhledem k tomu, ze dnes uz i tzv. RISC procesory sve instrukce aspon zcasti interpretuji nebo aspon jsou podobne superskalarni a zretezene, je to jen otazka o neco slozitejsiho dekoderu u ia32 oproti RISC (coz se ale vrati v uspornejsim kodu).
Spis nevim, jak jsou na tom napriklad Pentia IV se spekulativnim vykonavanim kodu (coz ma treba R14k a UltraSparc II/III) - kdyz se neumi predpovedet vysledek vetveni, zacne CPU provadet jednu z vetvi (nebo dokonce obe) a pak se jen jedna necha vypropagovat ven.
IA32 ma jine slabiny: jednak maly pocet obecnych registru (tohle x86-64 odstranuje), jednak slabou podporu pro viceprocesorove systemy (prefix lock versus ex-post detekce kolizi), dale treba hardwarove plneny TLB, ktery vynucuje pevny format strankovych tabulek.
-Yenya