Prosim x86 zavislaky (coz je bohuzel temer totozne s Linuxovou komunitou, se vsemi dusledky na strukturu ovladani pameti v Linux kernelu), aby si uvedomili rozdily mezi logickou a fyzickou adresaci pameti a pripadne mezi 32 bitovym a 64 bitovym ABI, behem kernelu a aplikace v ruznych kombinacich (32/32,64/32,64/64), dusledky na velikost kodu a dat (ILP/LP model), vliv na CPU cache, promlemy s MMU/TLB (a moznost volby velikosti stranek) a nepovedenym procesorem x86. Pak se podivejte na studie 32/64 bitu nekde kolem roku 1995, kde se na povedenych (ne x86) procesorech a prislusnych un*xovych (ne Linux a Win) systemech provadely testy a optimalizace HW/SW. Jste minimalne 10 let pozadu.
Chytraky mam rad. Skoda jen, ze jsou vetsinou tak chytry, az jsou z toho uplne blbi.
Mimochodem, dnes mate skvelou prilezitost naemulovat na tech svych o deset let vyspelejsich procesorech smejd x86 tak, ze ve vysledku bude beh vseho nejmene 167,5 x rychlejsi. Tesim se na prvni dodavky, chytraku.
Usmevne. Proc bych emuloval x86 (pokud by jste to tak myslel) ?
Procesory s jinym designem maji bud daleko vyssi single-thread (PowerPC) nebo masivni multi-thread vykon (Niagara) a propracovanejsi skalovani na vice CPU (vsechny, krom CPU Intelu (pokud tedy nepocitam nejnovejsi kousky)).
Nicmene jsem nechtel polemiku timto smerem, s x86 "designem" se bohuzel neda nic moc delat (pokud nepocitam alespon trochu cerstveho vzduchu ze strany AMD). Chtel jsem poukazat na to, ze "PAE" je jen jedna z problematickych designovych HW patchu, muzou nasledovat clanky rozdilnem ABI 32/64, ruzne velikosti stranek (ktera taky nejde vsude), CPU cache problemech, brzdou ve vnejsi pameti, sdilenych "sbernic" FSB...
Kontrolni otazka: Pokud na procesor spustim linpack (benchmark pro reseni linearnich rovnic) bud 32 bitove nebo 64 bitove a mam treba CPU cache jen 512k - o kolik to bude rychlejsi ci pomalejsi ? - spravna odpoved pro ne-x86 architektury na 64 bitech to pojede o 1/3 pomaleji :-) (prumerne o 1/4 vetsi kod a data, ktera vytecou z cache) (HP lab whitepaper cca 1996). Pro x86 je spravne reseni jine, kod (ne data) bude prumerne o 1/5 mensi (ABI64) a zaroven se predavaji parametry v registrech (diky AMD! za vice registru) a ne v pametovem stacku - takze zpomaleni nebude tak vyrazne az zadne v 64 bitech.
No prece aby neco tak super hyper vubec nekdo chtel. Jinak prece ti x86 zabednenci do smrti nepochopi rozdil mezi logickou a fyzickou adresaci pameti a spoustou dalsich veci. Jsme tupi, sesli na nas osviceni, o zarici!
BTW Dost mi pripominate marketing Apple. PowerPC je az 5x rychlejsi nez Intel, ale prechodem na Intel se vse az 5x zrychlilo.
Ta první věta byla hodně hloupá. Kdybyste řekl windowsovou komunitou (neboť widle na ničem jiným než x86 nikdy nepoběžijou), tak to dává smysl, pro Linux ne, ten funguje i na jiných platformách.
Na druhé straně sem nikdy nepochyboval, že x86 je bastl.
Na linuxu je 64bitu vyreseno od portu na DEC Alpha (muj DS-20 ma podle datasheetu stejne velky bandwidth do RAM, jako Athlon do L2 :-)), takze s portem na 64bit nebyl az takovy problem, jaky byt mohl. Dulezite je, ze jsou vychytane hnusne chyby, kde nekdo ocekava hodnotu pevne velikosti a podobne ...