Skocz do zawartości
Gość Pussik

Kto Się Zna Na Budowie Gpu (g80)?

Rekomendowane odpowiedzi

Otóż robię w 3ds maxie na zlecenie trojwymiarowy model układu G80.

Do tej pory mam połowę układu, dalej napotkały mnie pewne niezrozumiałe dla mnie zagadnienia i mam kilka pytań, dlatego powstał ten topic.

 

Obecnie render przypomina diagramy jakie można znaleźć w internecie, tylko, że jest z perspektywy.

 

link

 

No to jedziemy:

Czy L1 Cache Memory (parallel data cache), jest pomiędzy Streaming processors ("jednostki zunifikowane"), a TMU (Texture Addressing Units & Texture Filtering Units), czy już, za TMU?

Dołączona grafika

 

 

Pixel Shaders i Vertex Shader składały się z 2 ALU i 2 mini ALU (dodanych w GF7, których brakowało w GF6, lecz były w GFX). Zunifikowane jednostki cieniujące Unified Shaders w G80 posiadają tylko jedno ALU, co jest przyczyną ich niskiej wydajności. Czy te ALU są fizycznym elementem gdzieś w blokach?

Dołączona grafika

 

 

Takie coś jak "Register Arrays" komunikuje się z Streaming processors. Czy to jest tylko jakaś funkcja, czy również fizyczny blok. Jeśli to drugie, to gdzie go umieścić ?

 

Na jednym z poniższych diagramów ROP`y, dzielą się na 16.. ale czego?

Przecież budowa ROP`ów wyglda tak:

Dołączona grafika

 

 

Thread Manager dzieli się na 3 bloki: Vertex Thread Issue, Geometry Thread Issue oraz Pixel Thread Issue. Informacje płynące z Input Assemblera, przechodzą wyłącznie przez Vertex Thread Issue, czy także przez Geometry oraz Pixel?

 

 

Dołączona grafika

 

Dołączona grafika

 

Teraz coś, czego kompletnie nie rozumiem. Powołując się na dwa powyższe obrazki, można zbudować prawie cały diagram G80. Tylko jak się odnieść z tym do obrazka poniżej. Przecież schemat i kolejność jest kompletnie zaburzona. o.O

 

Jest w stanie ktoś wytłumaczyć jak rozrysować np. StreamOutput, geometry shader i całą resztę? A na dodatek to wszystko się odwołuje w dowolnej chwili do pamięci. A wydawało mi się, ze dopiero po przejściu całego bloku GPU. (update: jednak w dowolnym momencie)

 

 

Liczę, że ktoś nawiąże jakąś dyskusję.

 

Dołączona grafika

www.geforce9.pl

 

 

Edit: Chyba coś mi świta.

 

Ponieważ Stream Processor nie może w tej samej chwili realizować jednocześnie funkcji Vertex, Pixel, Geometry czy Physics shaderów, układ wyposażony został w technologię Stream Output, która obrobione przez jeden typ shaderów dane wysyła do pamięci, a stamtąd znów do jednostki Stream Processor, ale na koniec kolejki, gdzie czekają na obróbkę przez następny typ shaderów. Za obsługę rozdzielania danych między shaderami odpowiada technologia GigaThread, która obsługuje tysiące wątków obliczeniowych na raz.

 

Dane z assemblera przechodzą przez vertex shader, potem przez stram processors i TMU, a następnie mogą wrócić ("prawą storną") przez "Thread Processor" i przejść przez Setup Rasterize, Z-Cull -> Pixel Thread Issue, lub Geometry Thread Issue i spowrotem to Streaming Processors. :D

 

Tylko, że tutaj:

 

Dołączona grafika

 

Geometry Shader jest przed Stream Output. Czy tu chodzi o obliczenia geometryczne w zunifikowanych jednostkach, czy o Geometry Thread Issue (raczej o jednostki)?

Edytowane przez Pussik

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Czy L1 Cache Memory (parallel data cache), jest pomiędzy Streaming processors ("jednostki zunifikowane"), a TMU (Texture Addressing Units & Texture Filtering Units), czy już, za TMU?

 

Ja tam się zbytnio nie znam ale z tego schematu co podałaś oraz z "logiki z gory na dół" i z tego np:

2730357[/snapback]

Ponieważ Stream Processor nie może w tej samej chwili realizować jednocześnie funkcji Vertex, Pixel, Geometry czy Physics shaderów, układ wyposażony został w technologię Stream Output, która obrobione przez jeden typ shaderów dane wysyła do pamięci, a stamtąd znów do jednostki Stream Processor, ale na koniec kolejki, gdzie czekają na obróbkę przez następny typ shaderów. Za obsługę rozdzielania danych między shaderami odpowiada technologia GigaThread, która obsługuje tysiące wątków obliczeniowych na raz.

 

Dane z assemblera przechodzą przez vertex shader, potem przez stram processors i TMU, a następnie mogą wrócić ("prawą storną") przez "Thread Processor" i przejść przez Setup Rasterize, Z-Cull -> Pixel Thread Issue, lub Geometry Thread Issue i spowrotem to Streaming Processors.

 

Wydje się sensowne i potwierdza to ten schemat:

http://pda.terralab.ru/upload/terralab/vid.../g80_scheme.jpg

 

a co do tego ostatniego obrazka to nie mam pojecia dlaczego tam jest inaczej...

 

to tyle co powiem raczej niewiele ale przynajmniej temat się upnie, swoja droga to pierw jak zobaczyłem ten temat to pomyslalem eee nudne ale jak sie blizej przyjrzec to calkiem ciekawe to to, btw widze ze na pclab Ci podali linka obszernego dosc ale zauwazyłem że według niego ALU sa w shader clusterze gdzies przynajmniej IMO ;p , ciekawe tylko ze na kazdym schemacie inaczej sa poprowadzone strzałki

Edytowane przez Nerevar

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...