richie08 píše:1. Jaké navýšení výkonu lze očekávat při zachování šířky sběrnic 64bit low end, 128-bit mainstream, 256-bit performance. Tedy zejména o kolik by šlo zvětšit jádro RV770 ve smyslu aritmetického výkonu, aby se stala nejužším místem paměťová sběrnice.
Aritmetický výkon lze zvyšovat prakticky libovolně nezávisle na paměťové sběrnici. Sběrnici vytěžují hlavně ROPs s L2 cache, texturovací jednotky by imho šly na pořadí až potom. SPs samy o sobě na sběrnici prakticky nároky nemají, ovšem je možné, že compute shadery budou zatěžovat ROPs, které budou zatěžovat sběrnici. To je ale oproti současné situaci spíš novinka.
richie08 píše:Bylo by to 2000 SPs, 80 TUs, 32 ROPs? Předpokládám, že nejvíc vytěžují sběrnici texturovací jednotky. Dokáží dnes GDDR5 nakrmit čip o výkonu cca 1.6x RV770?
Už u současné RV770 jsou ROPs poměrně limitující prvek. A to jsme na 800SPs na 16 ROPs. Zvyšovat tenhle poměr by nebylo ideální - nejsem si jistý, jestli by zvyšování počtu SIMDs mělo nějakou rozumnou návratnost ve výkonu.
Pokud má zůstat stejný poměr ALU:TEX jako nyní, byly by možné kombinace jako 2000SPs + 100TMUs nebo 1600SPs + 80TMUs nebo 1280SPs + 64 TMUs atd. První z možností by imho měla smysl jen při více než 32 ROPs. Další dvě by 32 ROPs celkem odpovídaly.
HD4870 a HD4890 má propustnost sběrnice pamětí dimenzovanou s ohledem na MSAA 8x. Bohužel je stále dost osob, která přínos MSAA 8x neuznají, dokud ho nezačne propagovat jinak zabarvený výrobce, takže by nebylo divu, kdyby na to ATi nebrala až takové ohledy. Pro MSAA 4x stačí to, co nabízí HD4770, což je 4,3 bajtů na 1 ROP za takt.. (HD4870 má 9,6 bajtu na ROP a takt). Čekal bych, že s novými produkty se ATi trefí někam mezi tyto dvě hodnoty. Kdyby měla třeba 32 ROPs na 850MHz a 256bit sběrnici s 4800MHz GDDR5, bylo by to asi 5,66 bajtu pro ROP a takt - imho ještě lépe vyvážené pro poměr cena/výkon, než předchozí generace.
richie08 píše:2. O kolik by pomohla implementace paměťové sběrnice ring-bus, která byla u RV770 vypuštěna? Vyplatil by se ring-bus nebo spíš rovnou jít do 512-bit sběrnice jako R600?
R600 měla ring-bus. Bohužel R600 a její architekturu stále většina lidí nechápe, protože si neuvědomuje, jak úzce spolu jednotlivé části čipu souvisely, a jak jedna byla závislá na druhé. Dost lidí si myslelo, že změny provedené při vývoji RV770 byly prostě náhoradou některých částí čipu za jiné/efektivnější, ale není tomu tak, došlo v podstatě k náhradě základního systému, na kterém čip pracoval.
R600 jako první desktopový čip ATi vykresloval scénu postupně bez nějakého jejího dělení, polygon po polygonu. Na vykreslování se podílely všechny čtyři quady stejně, takže pokud jeden z nich vykreslil texel na hraně dvou polygonů a jiný quad pracoval na sousedícím polygonu, byl pro něj tento texel sdílen přes ring-bus. Samozřejmě, že takových texelů byly obrovské objemy, takže není divu, že ring-bus měl takovou datovou propustnost. K tomu ještě byla veškerá filtrace textur v R600 prováděna s přesností FP16 - i pokud to hra nevyžadovala - což požadavky na přenosovou kapacitu ještě navyšovalo. Ring-bus zároveň komunikoval s ROPs a všemi externími sběrnicemi a I/O (CrossFire, PCI-E, propojoval L1 a L2 cache, RAMDACs...). Výhoda ring-bus sběrnice spočívala ještě v tom, že její komplexnost nenarůstala s šířkou sběrnice, ale s počtem klientů, kteří na ni byli připojeni (tzn. jednotlivé quady, PCIe atd.). Ring-bus tedy zastával nejen funkci standardního řadiče, ale ještě řadu dalších.
RV770 se vrátila ke konceptu, který používaly R300/R420/R520/R580 - obraz je rozdělený na čtvercové úseky a každý quad (resp. SIMD) se věnuje vykreslování jednoho čtverce. Takže je jasné, že jednotlivé SIMDs spolu nemusejí sdílet tolik dat/texelů na hranách sousedících polygonů, protože krom těch, které akorát vyjdou na rozhraní sousedících čtvercových úseků, se všechny zpracovávají v rámci jednoho SIMD. Také filtrace textur se vrátila na původní Int8 (méně náročnou) preciznost. Ring-bus tedy nebyl nutný a pro účely sdílení dat mezi jednotlivými SIMDs se použila pouze malá lokální crossbar sběrnice. Ring-bus nejen, že už nebyl nutný, ale z jednoho důvodu se stal i nevhodný - jak jsem zmínil, nenarůstal s šířkou sběrnice, ale s počtem klientů, No a RV770 má 10 SIMDs, zatímco R600 měla jen 4. To je 2,5x více, takže by se stal příliš komplexní. Byla tedy použita standardní sběrnice, která je pro užší (256bit) rozhraní s větším počtem klientů v čipu efektivnější. Aby byla ještě jednodušší, byla pro ostatní klienty s nízkými požadavky na přenosovou kapacitu (PCIe, UVD, CrossFire, výstupy...) vytvořena samostatná sběrnice (hub), ke které byly připojené.
Oba koncepty jsou dobré, ale každý pro čip jiného charakteru a nemělo by smysl je míchat. Původní ring-bus by se tedy pro současné čipy nehodil, protože mají příliš mnoho částí (klientů), které je ke sběrnici třeba připojit. Jedině snad, že by došlo k nějakým úpravám, ring-bus by spojoval jen měnší počet hlavních bloků a menší klienty by propojoval např. hub, který by sám byl jako jeden klient napojen na ring-bus. To si dokážu představit jako efektivní řešení pro velký čip s 512bit sběrnicí, což ale asi R8xx nebude
richie08 píše:3. Uvedla někdy ATi v produktové lajně 4 čipy? Viz spekulace o RV810, 830, 840, 870? Není to příliš? Na druhou stranu tohle by podporovalo spekulaci, že 4. čip by mohl mít 512-bit sběrnici...což se mi nezdá vzhledem ke spotřebě a celosvětové krizi.
Šířka sběrnice a spotřeba nesouvisí, pro 512bit sběrnici je třeba jen čip větší než cca 400mm², aby byl dostatečně velký, aby se na jeho obvod vešly pads potřebné pro danou sběrnici.
Nemyslím si, že by mělo jít o čtyři rozdílné čipy. Čipů bude imho méně než základních modelů karet
richie08 píše:4. Docela mne udivuje ve spekulacích malý počet SPs vzhledem k ploše čipu. To znamená, že emulace ROPs přes ALUs nebude nebo byly výpočetní jednotky zásadně přepracovány nebo přednost dostaly jiné části čipu - texturovací jednotky a ROPs. Nevěřím spekulacím, že by čistě implementace DX11 stála tolik tranzistorů.
Tolik? 29% (oproti RV740) se zdá možná dost - zvlášť když DX10.1 čipy byly úspornější, než DX10 čipy, ale v minulosti ATi věnovala novým architekturám mnohem větší množství tranzistorů jen por implementaci nové verze DX a nové architektury:
R420 -> R520 = +100% (160M -> 321M) [oba mají 16 TMUs, 16 ROPs, 16 PS ALUs]
R580 -> R600 = +88% (384M -> 720M) [oba mají 16 TMUs, 16 ROPs, i když rozdílných, 56 ALUs -> 64 ALUs (48 PS vec3+1 + vec3+1 ALUs + 8 VS ALUs -> 64 unified 1+1+1+1+1 ALUs)]
mimochodem...
Cypress:
Hemlock:
