Quote:
Originariamente inviato da yossarian
la tendenza è sempre stata quella di far eseguire quante più operazioni possibili, cercando di differenziarle. Il limite è dato da quanto transistor e, di conseguenza, da quanti circuiti puoi mettere dentro un chip. Tornando indietro nel tempo, la differenziazione tra pixel pipeline e rop's non era marcata come ora (che abbiamo dei chip con un numero differente di rop's rispetto alle pp), ma era molto più sfumata, al punto che le rop's si consideravano pressochè inglobate nelle pipeline di rendering (insieme a tmu e alu). Questo perchè c'erano meno circuiti dedicati (ad esempio quello relativa al MSAA, visto che le vga DX7 facevano SS e per quel tipo di antialiasing non esistono circuiti dedicati neppure sulle attuali gpu). Ad esempio, sulle prime geforce, c'era una serie di 3 combiner che svolgevano le operazioni di color texture e alpha blending, all'interno della pipeline di rendering.
Quindi, la possibilità di operare su più gruppi di dati esisteva già allora, ma era decisamente più limitata dell'attuale (sia per la quantità di unità di elaborazione poste in serie, sia per il numero di registri di cui ogni unità era dotata).
|
Già, infatti in passato molto difficilmente si parlava di ROPs, ma solo di pipeline (o TMU).
Quindi, ricapitolando:
-) per operare nello stesso ciclo su più pixel occorre avere una pipeline lunga, che in effetti abbia più unità di elaborazione, da impiegare all'occorrenza non su un'unico pixel ma su più pixel;
-) per operare in cicli _differenti_ su pixel differenti basta che la scheda grafica possa mettere in "standby" il pixel che, per qualche motivo, sta attendendo dei dati che al momento non ci sono. Questa possibilità è comune a tutti i chip grafici, anche obsoleti.
Relativamente a operazioni non strettamente legate al rendering il discorso è lo stesso?
Ad esempio, anche un chip vecchio come il Voodoo Graphics potrebbe utilizzare l'unità di load/store per caricare i dati del pixel B mentre il pixel A (di cui i dati sono stati già caricati) è ancora in elaborazione?
Ciao. :)
PS: hai link a qualche documentazione tecnica riguardante questo discorso? Così evito di tediarti con le mie domande... :D
|