Gość Pussik Opublikowano 26 Sierpnia 2007 Zgłoś Opublikowano 26 Sierpnia 2007 (edytowane) 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? 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? 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: 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? 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ę. 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: Geometry Shader jest przed Stream Output. Czy tu chodzi o obliczenia geometryczne w zunifikowanych jednostkach, czy o Geometry Thread Issue (raczej o jednostki)? Edytowane 17 Marca 2009 przez Pussik Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Nerevar Opublikowano 30 Sierpnia 2007 Zgłoś Opublikowano 30 Sierpnia 2007 (edytowane) 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 30 Sierpnia 2007 przez Nerevar Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...