... al ga nitko nema doma u "normalnoj" konfiguraciji ... kao još mnogo boljih stvari
otkud ti to!? Ja se secam jednog intervjua sa Karmakom u kome je on rekao da je optimizacija Quake masine za AltiVec bila naporan posao, tezi u odnosu na SSE optimizaciju.ma nemoj 🙂
cak je i AltiVec u PowerPC-u bolje izveden nego SSE-a u x86...
npr:
AltiVec ima prednost pri obradi ARGB-a (alpha + RGB) jer moze da ucita/snimi cetiri 32bitne vrednosti u jedan 128bitni registar sto je pogodno za manipulaciju ARGB pixelima (nema penala ako su vrednosti u data cache-u). Ovo se secam da sam citao na chiparchitect sajtu. Intel je u SSE2 dodao slicnu mogucnost ali sa 2x 64bitni podacima sto bash i nema neku primenu.
i josh kao bonus (nije direktno vezano sa SSE instrukcije) Pentium4 exec. unti moze da primi SSE instrukciju svaki drugi ciklus a pored toga jedinaca za izvrsavanje SSE-a se koristi i za FP instrukcije (sto najverovatnije nije problem jer predpostavljam da se sve (i SSE i FP) razlazu na microOp pa je svejedno). *ako neko moze da objasni kako stvari tacno funkcionisu bilo bi lepo 😉 ali i dalje ostaje jedan exec. unit za (SSE/FP) load/store i jedan za ostale SSE/FP funkcije... ovo je Intelova implementacija SSE-a, kod AMD je posve drugacije.
dalje, u tom svetlu, AltiVec ima 32 128bitna registra vs. 8 SSE registara kod Pentiuma 4. Kod Pentiuma MMX instrukcije nisu cak ni imale zasebne registre vec su koristile FPU registre (MMX se pojavio 2 godine pre AltiVeca)...
kad pogledash sta donose nove verzije SSE-a tacno se cini da Intel dodaje/krpi stvari u hodu (naravno da poboljsava). Koliko znam postoji samo jedna verzija AltiVec-a. Jedino konzole (Xboxu i GameCube/Wii-ju) imaju drugaciji AltiVec koji nije 100% kompatibilna sa originalnim. Mozda je to zato sto su AltiVec smislili Apple-ovi inzinjeri, najverovatnije su namenski smisljeno optimizovali AltiVec za sam MacOS. Novi IBM Power6 bi tek sad trebao da dobije AltiVec (samo namenski Power4 (PowerPC G5) je imao AltiVec) tako da ce ga sad najverovatnije unaprediti.
i bottom line: ako je nekome teze da radi sa AltiVecom ne znaci da je SSE bolji 🙂 - pogledaj perfomanse PhotoShop-a na Mac-u i PC-ju (dok je Mac imao PowerPC procesore...). ili Adobe inzinjeri ne znaju da optimizuju kod za SSE ili je SSE jednostavno sporiji/losiji od AltiVec-a 🙂
OpenGL Improvements: OpenGL is the industry-standard API for developing portable, interactive 2D and 3D applications. Leopard also provides a dramatic increase in OpenGL performance by offloading CPU-based processing onto another thread which can then run on a separate CPU core feeding the GPU. This can increase, or in some cases, even double the performance of OpenGL-based applications.
npr:
AltiVec ima prednost pri obradi ARGB-a (alpha + RGB) jer moze da ucita/snimi cetiri 32bitne vrednosti u jedan 128bitni registar sto je pogodno za manipulaciju ARGB pixelima (nema penala ako su vrednosti u data cache-u). Ovo se secam da sam citao na chiparchitect sajtu. Intel je u SSE2 dodao slicnu mogucnost ali sa 2x 64bitni podacima sto bash i nema neku primenu.
kovacm je napisao(la):a pored toga jedinaca za izvrsavanje SSE-a se koristi i za FP instrukcije (sto najverovatnije nije problem jer predpostavljam da se sve (i SSE i FP) razlazu na microOp pa je svejedno). *ako neko moze da objasni kako stvari tacno funkcionisu bilo bi lepo 😉 ali i dalje ostaje jedan exec. unit za (SSE/FP) load/store i jedan za ostale SSE/FP funkcije... ovo je Intelova implementacija SSE-a, kod AMD je posve drugacije.
kovacm je napisao(la):Mozda je to zato sto su AltiVec smislili Apple-ovi inzinjeri, najverovatnije su namenski smisljeno optimizovali AltiVec za sam MacOS.
Kod x86 valja jedino postojanje konkurencije koja ga tera dalje. Sta bi samo bilo da je taj silan RnD ulozen u redovan ISA...genuine je napisao(la):nisam ja rekao da je sse mnogo dobar.. rekao sam da je jedino sto valja kod x86...
AltiVec je delo Motorole tj. Freescale-a.
Meni se navise svidja ideja najstandardnijeg RISC procesora koji ima troadresni format i load/store arhitekturu, ima veliki broj registara opste namene i specijane namene, koji cak i ne mora da bude out of order ali kojih moze da stane mnogo vise na chip... takodje ne bi bilo lose da se ubace i posebni namenski procesorcici nesto slicno gpu-ovima samo malo opstije... znaci barem kako se meni cini, na mesto ogromnog kesa, ogromnih jedinica koji samo sluze da povecaju IPC da se procesori odreknu velikog IPC-a i da se udruze zajedno u vecim kolicinama ali ne u bus arhitekturi vec nesto drugacije... kada je na pametan nacin organizovan protok informacija izmedju procesora automatski se smanjuju zahtevi za memorijom pa moze vise takvih da se stavi... itd.
to sam i ja mislio (mada nikad nisam bio siguran) ali onda sam procita... http://en.wikipedia.org/wiki/Altivec - "AltiVec was developed between 1996 and 1998 by Keith Diefendorff, the distinguished scientist and director of microprocessor architecture at Apple Computer."
Follow along with the video below to see how to install our site as a web app on your home screen.
Napomena: this_feature_currently_requires_accessing_site_using_safari