- Učlanjen(a)
- 21.07.2003
- Poruke
- 3,894
- Poena
- 410
kovacm je napisao(la):...Pentium IV (NetBurst) je pored toga (dodavanje novih funkcija) odbacio masu stvari koje su se koristile prilikom razvoja novih procesora u protekle 2 decenije (npr. izbacivanje shiftera, izbacivanje vishe dekodera instrukcija i ostavljanje samo jednog...)
Prvo, ako se dobro secam ni jedan x86 procesor nije tada imao vise od jednog dekodera instrukcija (za AMD nisam siguran doduse, neka me neko ispravi ako gresim).
NetBurst jezgro je pretrpelo dosta izmena u odnosu na prethodna, L1 instruction cache je pomeren iza dekodera tako da kesira dekodirane instrukcije, neke shift/rotate operacije su postale manje efikasne na ustrb vece efikasnosti nekih drugih, a narocito SIMD instrukcija iz SSE/SSE2 seta.
Sustina svega toga je da su inzenjeri iz Intela racunali na to da ce softver vrlo brzo ispratiti hardver i da ce te optimizacije pokazati sta NetBurst zaista moze. Ispostavilo se da su bili bar 5 godina ispred svog vremena jer u to vreme ne samo da softver nije pratio nego je problem bio i memorijski bandwidth za ovo jezgro koje je zaista dobro optimizovano za streaming algoritme. Na nesrecu Rambus koji je bio (a i dan danas je!) tehnicki superiornije resenje nije prihvacen iz ekonomskih razloga i spletki o kojima ne bih sada da pocinjem diskusiju. Tako je jedna, po meni sjajna arhitektura, u startu bila osudjena na propast jer se kosila sa osnovnim principom kapitalizma koji veoma rado primenjuju sve softverske kuce i koji glasi "prodaj sto vise, ulozi sto manje".
kovacm je napisao(la):...Athlon usavrseni PIII (doato josh FPU jedica...).
Da, AMD je razvio neku vrstu paralelne obrade u hardveru kao sto to danas rade graficki procesori sa svojim mnogobrojnim pixel i vertex jedinicama. To je u sustini dobra ideja, ali negde se mora stati sa tim. Ne mogu se dodavati FPU ili bilo koje druge jedinice beskonacno, a da se pritom vrti prastari softver jer ce vrlo brzo nesto drugo (osim tih jedinica) postati usko grlo ako se nista ne promeni. Takodje, paralelizam koji je inherentan u obradi slike i koji je tako lako implementirati u grafickom hardveru, a da programeri ni ne osete nije moguce eksploatisati i u svim drugim oblastima jer se javljaju problemi sa koherencijom i sinhronizacijom.
kovacm je napisao(la):Vec sam pitao sta znachi SSE optimizovan software: da li se to svodi na chekiranje opcije SSE u kompajleru ili se mora raditi ruchna optimizacija koda?
Odgovor je trojak:
1. Moguce je samo cekirati opciju i dobiti SSE kod nece raditi nikakvu paralelnu obradu (SIMD = single instruction multiple data) ali ce opet bolje raditi od generickog x86/x87 koda na Intelu, dok AMD-u nece ni najmanje smetati.
2. Moguce je (sa Intelovim kompajlerom) cekirati opciju i dobiti SSE/SSE2 kod koji zaista koristi SIMD principe (kompajler radi automatsku vektorizaciju, razmotavanje petlji, itd) i koji radi 3-4x brze nego kod generisan Microsoftovim ili GNU kompajlerom (mislim na stare verzije MSVC i GCC -- 2003 i 3.x, kod novih se stanje dosta popravilo).
3. Moguce je (sa bilo kojim kompajlerom) koristiti SIMD (SSE/SSE2) instrukcije preko intrinisic-a, ili direktno iz asemblera. Rezultat moze da varira u odnosu na Intelov kompajler. Rucno pisan kod je u 90% slucajeva bolji svega par procenata, mada moze biti bolji izmedju 4-6x u zavisnosti od toga da li kompajler "zna" da vektorizuje kod ili ne. To zavisi od tipa podataka (da li postoje odgovarajuce instrukcije) i nacina pristupa memoriji (sekvencijalan .vs. slucajan).
ivanbo2003 je napisao(la):Odakle ti znas da vise registara donosi 3% ubrzanja?
"Slucajno" se bavim optimizacijom koda pa sam nesto kao i testirao, a i proucio sam krajnje nezgrapan AMD64 ABI i novu FASTCALL konvenciju u x64. Ako te ne mrzi potrazi AMD64 ABI na MSDN pa ces videti da se skoro sva prednost veceg broja registara gubi u startu. Zapravo ako se izbroji i nemas nesto mnogo vise slobodnih registara na raspolaganju jer je vecina rezervisana i ako hoces da ih koristis moras ih "prosuti" na stek.
ivanbo2003 je napisao(la):ali kada ce quad(ili quad+) preci i zaziveti u desktop trzistu?Molim bez wild nagadjanja tipa "pri kraju sledece(06')" i sl.
Sve ti je tu, a konkretno desktop quad-core detalji su ti ovde pa uzivaj.
ivanbo2003 je napisao(la):Sto se tice FarCry ,prica ispricana vise puta.Igra je samo rekompajlirana(u long modu nema MMX-a i 3Dnow! pa se mozda gubi koji precenat ako je igra koristila nesto od njih)
To stoji, ali rezultat makar u tom slucaju u potpunosti pobija PR tvrdnju Valve-ovaca da 64 bita donose znacajno ubrzanje u igrama.
ivanbo2003 je napisao(la):Inace tek kad se budu pojavile igre iz temelja pisane za x86-64(ili Vistu),videcemo sta ce dobitak(ili mozda gubitak) biti.
Iz mog iskustva sa x64 Windowsom i softverom (ukljucujuci i VS2005) prilicno ce se pricekati na to. Ako programere mrzi (a softverskim kucama se ne isplati) da rekompajliraju kod postojecim kompajlerom, sta mislis koliko ce im trebati da predju na novi razvojni alat i novu platformu? :crash:
@all:
Srecna svima Nova Godina :wave:, zelim vam da imate toliko para da svi kupite Intel ploce i procesore.
Poslednja izmena: