Keresés

Új hozzászólás Aktív témák

  • Raymond

    titán

    Az egysegek nem vec5D mert ott eppen a vec (=vector) resz mondja hogy ugyanazon muvelet hajtodik vegre 5 erteken. Es az R600-nal nem ez a helyzet. A regieknel ahol vec4D egysegek voltak mukodott igy. Peldanak itt van ez:

    R580:
    A bejovo adatokbol (A, B, C, D, E, F, G, H) a scheduler fog 4-et (A, B, C, D) es kikuldi feldolgozasra a pixel shadereknek. Igy egy vec4D egyseg mondjuk elvegzi a MADD-t egyszerre mind a negyel. Egy masik elvegzi ugyanezt az E, F, G, H adatokkal. Ez lemehet egyszerre. Ha viszont ezt nem lehet megcsinlani mert epp nem allnak igy idealis ossze es csak mondjuk az ABC-t kuldheti ki mert a D-vel es az F-el valami mast kell csinalni akkor az A, B, C kimegy az egyik egysegbe, a D egy masikba stb.

    R600:
    A bejovo adatokbol a scheduler kivalaszt amennyit lehet hogy egy 5 utasitasbol es komponensbol allo VLIW utasitast csinaljon. Peldaul lehet belole olyan MADD A, MUL B, MUL C, MADD D es mivel meg van egy specialis funciokat elvegzo egyseg is bedobhat oda egy ezt megkovetelot pl. a F-el. A maradekot (E, G, H) berakja egy masik VLIW-be es elkuldi egy masik egysegnek ha lehet meg mas komponensekkel is nem csak azzal a harommal.

    Tehat az R580 csak max 4 komponenst tudtal felgolgozni ugyanazzal az utasitassal, az R600-nal keverheti az utasitasokat es az adatokat is. Ez egy nagyon leegyszerusitett pelda es siman bele lehet kotni hogy XY-t nem vetted figyelembe de azert nem vettem mert a blokkok kozti kulonbseget akartam illusztralni a felbukkano vec5D marhasag miatt.

Új hozzászólás Aktív témák