Unified Shader malli

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 18. heinäkuuta 2021 tarkistetusta versiosta . tarkastukset vaativat 2 muokkausta .

Unified shader malli on termi ,  jota käytetään kuvaamaan kahta samanlaista, mutta samalla erillistä käsitettä: unified shader-arkkitehtuuri ( englanniksi Unified Shading Architecture ), joka kuvaa laitteistotasoa, ja yhtenäinen shader-malli , joka kuvaa ohjelmistokerrosta. .  

Unified shader malli

Unified Shader Model, joka tunnetaan Direct3D 10 :ssä nimellä Shader Model 4.0, käyttää johdonmukaista (samanlaista) komentosarjaa kaikille varjostintyypeille [1] . Kaiken tyyppisillä varjostimilla on hyvin samankaltaiset ominaisuudet - ne voivat "lukea" tekstuureja , tietopuskureita ja suorittaa samat aritmeettiset käskyt.

Ohjesarja ei kuitenkaan ole täysin sama kaikissa Shader-tyypeissä; esimerkiksi vain pikselivarjostin voi lukea tekstuurit implisiittisillä koordinaattigradienteilla; ja vain geometrian varjostin voi hahmontaa lisäprimitiivejä ja niin edelleen [1] .

Varhaiset varjostimet (Shader Model 1.x) käyttivät hyvin erilaisia ​​käskysarjoja vertex- ja pikselivarjostimille, joissa vertex-varjostimissa oli paljon joustavampi käskysarja. Myöhemmät Shader-mallit (2.x ja 3.0) vähensivät eroja yhä enemmän, mikä johti yhtenäiseen Shader-malliin.

Unified shader-arkkitehtuuri

Kun grafiikkasuoritin tukee yhtenäistä varjostusmallia, on järkevää suunnitella sen laskentayksiköt siten, että mikä tahansa näistä yksiköistä voi suorittaa minkä tahansa tyyppisen varjostimen. Kun GPU:n laskentayksiköt ovat "unified" eli pystyvät suorittamaan minkä tahansa tyyppisiä varjostusohjelmia, tätä kutsutaan "Unified Shader Architectureksi". Useimmiten tällaiset GPU:t koostuvat joukosta laskentayksiköitä ja dynaamisia ajoitus-/kuormituksentasausyksiköitä Shader-ohjelman suorittamisen jakamiseksi kaikille laskentayksiköille.

Laitteistolla ei vaadita yhtenäistä varjostusarkkitehtuuria yhtenäisen varjostusmallin tukemiseksi ja päinvastoin. Direct3D 10 -yhteensopivassa GPU:ssa voi silti olla omat geometria-, kärki- ja pikseliprosessorit. Teknologisesti vanhemmat GPU:t, jotka tukevat Shader Model 3.0:aa, voivat myös suorittaa Unified Shader Modelin osittain, kuten Xbox 360 -pelikonsolin Xenos -grafiikkasuorittimesta näkyy .

Unified Shader -arkkitehtuuri mahdollistaa GPU-resurssien joustavamman käytön [2] . Esimerkiksi olosuhteissa, joissa on raskaan tason geometrian simulointi, yhtenäinen varjostinarkkitehtuuri voi käyttää kaikkia GPU-yksiköitä vertex- ja geometriavarjostimien laskemiseen. Ja päinvastoin; kun geometria ei ole monimutkainen, mutta simuloidaan monia monimutkaisia ​​pikselitehosteita, kuten Parallax okkluusiokartoitus , hiukkasjärjestelmä ja niin edelleen, kaikki laskentayksiköt voidaan ohjata suorittamaan pikselivarjostimia.

Unified shader -arkkitehtuuria tukevat GeForce 8 , Radeon R600 , S3 Graphics Chrome 400 GPU ., Intel GMA X3000, Xbox 360:n GPU , Qualcomm Adreno 200 -sarja , Mali Midgard, PowerVR SGX -grafiikkasuorittimet ja muut.

Muistiinpanot

  1. 1 2 Common Shader Core (DirectX HLSL) . Microsoft. Haettu 17. elokuuta 2008. Arkistoitu alkuperäisestä 4. huhtikuuta 2012.
  2. Loyd Case. GeForce 8800 GTX: 3D-arkkitehtuurin yleiskatsaus . ExtremeTech (8. marraskuuta 2006). Arkistoitu alkuperäisestä 11. marraskuuta 2006.

Linkit