Cechy architektury Radeona HD 3870

Nie jest dziś dla nikogo tajemnicą, że pierwsza generacja masowo produkowanych procesorów graficznych obsługujących DirectX 10, a także oparte na nich karty wideo, okazała się wyjątkowo nieudana – przede wszystkim pod względem wydajności. Pomimo innowacyjnej architektury, ATI Radeon HD 2600 i Nvidia GeForce 8600 radziły sobie w grach daleko od najlepszych, często ustępując rozwiązaniom poprzedniej generacji, choć nie tak doskonałe, ale bez wyraźnych wąskich gardeł w postaci małej liczby siłowników, jak również niewystarczające sterowniki optymalizacyjne. Równie ważnym czynnikiem ograniczającym było zastosowanie przez obu gigantów rynku graficznego 128-bitowej magistrali pamięci, która wyraźnie nie była w stanie nasycić danych GPU we współczesnych grach, szczególnie przy korzystaniu z FSAA i wysokich rozdzielczości.
Wydawało się, że AMD, dotychczasowy właściciel wszystkich aktywów ATI Technologies, powinna pośpieszyć się z „bronią odwetu”, zwłaszcza w świetle coraz bardziej niepewnej pozycji firmy w sektorze konsumenckiej grafiki 2006D. Pod przywództwem AMD przychody ATI w drugim kwartale roku kalendarzowego 40 tego roku spadły o 2006% w porównaniu z drugim kwartałem 19,1 roku, podczas gdy udział ATI w rynku Radeonów spadł do 27,6% z XNUMX% w momencie ogłoszenia ATI-AMD połączenie. Najwyraźniej AMD pilnie potrzebowało środków, aby naprawić sytuację i wrócić na właściwe tory. Szybkie ogłoszenie nowości GPU RV670 i rozpoczęcie masowych dostaw opartych na nim rozwiązań mogłoby być właśnie takim środkiem, zwłaszcza że procesor przeszedł pomyślnie testy już w sierpniu ubiegłego roku, jednak Advanced Micro Devices zdecydowało się wypuścić na rynek nową linię ATI Radeon HD w ramach ogłoszenie nowej platformy do gier o kryptonimie „Spider”. Z kolei jego premiera była wielokrotnie przekładana ze względu na problemy z osiąganiem przez procesory AMD Phenom wymaganych taktowań. W rezultacie ogłoszenie platformy przesunięto na 19 listopada i nawet do tego czasu nowe procesory AMD były w stanie osiągnąć jedynie granicę 2.30 GHz, a dział grafiki nadal ponosił straty. Wróćmy jednak do RV670, który, choć z opóźnieniem, w końcu ujrzał światło dzienne.
Wcześniej firma ATI Technologies była wielokrotnie i słusznie krytykowana za zamieszanie w nazwach swoich produktów. Nie zmieniła swoich przyzwyczajeń do dziś, będąc oddziałem Advanced Micro Devices. Oczekiwano, że karty wideo oparte na RV670 będą nosić nazwę Radeon HD 2950, co byłoby całkiem logiczne z punktu widzenia zdrowego rozsądku – nowego chipa nie można nazwać rewolucyjnym; był to naturalny ewolucyjny rozwój R600. Zamiast tego całkowicie zmieniono system nazewnictwa, a nowa rodzina została nazwana Radeon HD 3800, jakby była oparta na GPU nowa generacja. Obecność wsparcia dla DirectX 10.1 nie była podstawą do przypisania nowym produktom statusu „rozwiązań nowej generacji”, jednak stało się, a nowe karty graficzne AMD ATI Radeon oznaczono następująco:
ATI Radeon HD 3850
ATI Radeon HD 3870
Architektura ATI Radeon HD 3800
AMD poszło dalej w opanowaniu bardziej subtelnych procesów technicznych niż Nvidia - jej chip stał się pierwszym na świecie procesorem graficznym wykorzystującym standardy produkcyjne 55 nm, co pozwoliło pewnie przekroczyć granicę 700 MHz, przynajmniej w starszym modelu Radeon HD 3800. Jednocześnie kilku udało się zmniejszyć złożoność chipa, najprawdopodobniej poprzez optymalizację wewnętrznej architektury chipa i uproszczenie topologii kontrolera pamięci pierścieniowej, ponieważ pod względem liczby bloków funkcjonalnych RV670 odpowiada R600. To pierwszy raz od długiego czasu, kiedy coś nowego GPU ATI pozostaje w tyle za podobnie sklasyfikowanym procesorem graficznym Nvidia pod względem liczby tranzystorów. Z tego punktu widzenia ATI po raz kolejny udało się zostać technologicznym liderem, ale jak nowe produkty wypadają na tle GeForce 8800 GT?
Przede wszystkim ATI Radeon HD 3800 przewyższa Nvidia GeForce 8800 GT pod względem taktowania rdzenia, co jest jednak rekompensowane mniejszą liczbą jednostek funkcjonalnych, takich jak TMU. Istotna przewaga w liczbie jednostek wykonawczych, jak już wiemy, nie jest w zasadzie taka, i nie tylko i nie tyle, że jednostki ALU w układach Nvidii działają z wyższą częstotliwością: architektura VLIW zaimplementowana w Radeonie HD wymaga szczególnej ostrożności optymalizacje sterowników w celu zapewnienia wydajnej równoległości kodu modułu cieniującego. W przeciwnym razie, jeśli nie jest możliwe załadowanie wszystkich jednostek ALU niezależnymi instrukcjami, wydajność procesorów superskalarnych cieniowania Radeon HD gwałtownie spada; w najgorszym przypadku można użyć tylko 1 jednostki ALU na 5 należących do każdego z 64 takich procesorów. Jak na ironię, to właśnie AMD/ATI Technologies ma najwięcej problemów z optymalizacją oprogramowania, ponieważ nie ma dostępu do kodu gier opracowanych w ramach programu Nvidii „The Way It's Meant To Be Played” przed ich oficjalną premierą. Często taki stan rzeczy wpływa bezpośrednio na wydajność rozwiązań graficznych AMD/ATI w grach i oczywiście nie na lepsze.
Jeśli skupisz się wyłącznie na schemacie blokowym RV670, nie będzie można na nim wykryć różnic w stosunku do R600. Leżą na głębszym poziomie, dlatego należy je bardziej szczegółowo omówić. Godne uwagi różnice między RV670 i R600 obejmują obsługę DirectX 10.1 (Shader Model 4.1) oraz pełnoprawny sprzętowy procesor wideo UVD, podobny do tego zawartego w ATI Radeon HD 2600.
Podobnie jak R600, każdy procesor cieniujący RV670 składa się z sześciu bloków — pięciu jednostek ALU i jednego bloku do wykonywania instrukcji sterowania przepływem, takich jak rozgałęzienia, sprawdzanie dopasowania, pętle i wywołania podprogramów. Ponadto zawiera zestaw rejestrów ogólnego przeznaczenia
Spośród pięciu jednostek ALU, cztery są proste, zdolne do wykonywania jednej instrukcji FP MAD na zegar, a piąta jednostka ALU może również wykonywać złożone instrukcje, takie jak SIN, COS, LOG, EXP, itp. Architektura ta jest niezwykle elastyczna i wysoce skalowalna, ale jej słabym punktem jest zależność od optymalizacji oprogramowania. Chociaż rdzenie graficzne ATI Radeon HD zawierają menedżera zadań specjalnych, jego wydajność zależy bezpośrednio od wydajności kompilatora kodu cieniującego, który jest częścią sterowników. Faktem jest, że architektura superskalarna osiąga największą wydajność, gdy wszystkie jednostki ALU są zajęte wykonywaniem niezależnych operacji, a jest to dość trudne do osiągnięcia, ponieważ w aplikacjach 3D wiele operacji zależy od wyników poprzednich.
Procesory tekstur architektonicznych i rastrowych ATI Radeon HD 3800 również nie różnią się od podobnych bloków ATI Radeon HD 2900. Są to skomplikowane urządzenia, więc możemy mówić tylko o ich równoważności z tradycyjnymi TMU i ROP-ami. W sumie RV670 ma cztery duże procesory tekstur, z których każdy zawiera w środku następujące bloki:
8 jednostek adresu tekstury
20 bloków próbkowania tekstur
4 jednostki filtrujące tekstury
Każdy z procesorów rastrowych RV670 zawiera:
4 bloki pracy z kanałem alfa i mgłą
8 bloków pracy z buforami Z- i szablonowymi
4 jednostki miksujące
16 multisamplingowych jednostek przetwarzania
Jest więc w przybliżeniu równoważny 4 klasycznym ROP i może przetwarzać cztery piksele na cykl, w sumie 16, ponieważ w sumie są cztery takie procesory. W przypadku pracy z buforem Z, czyli pikselami, które nie zawierają danych o kolorze, wydajność jest podwojona i wynosi 32 piksele na zegar. Podobnie jak jednostki tekstur, procesory rastrowe w RV670 przeszły dość poważne zmiany w celu obsługi funkcji DirectX 10.1.
Kontroler pamięci RV670 został ulepszony, a przepustowość pamięci jest wykorzystywana przez nowy układ znacznie wydajniej, co pozwala mu konkurować na równych warunkach z R600. Jednak w praktyce widzimy tylko zmniejszenie szerokości zewnętrznej magistrali pamięci z 512 do 256 bitów, a także zmniejszenie całkowitej szerokości wewnętrznych magistrali pierścieniowych kontrolera z 1024 do 512 bitów. Bardziej subtelne zmiany, jeśli w ogóle, są niestety przed nami ukryte i nie możemy powiedzieć, czy deklarowana porównywalna wydajność RV670 i R600 jest ich wynikiem, czy wynikiem nieefektywnego wykorzystania możliwości podsystemu pamięci tego ostatniego. Skłaniamy się ku drugiej opcji, ponieważ w rzeczywistych warunkach grania obecność 512-bitowej magistrali pamięci zewnętrznej o przepustowości ponad 100 GB/s często nie dawała ATI Radeonowi HD 2900 XT żadnych przewag.
ATI RV670 to także pierwszy na świecie procesor graficzny do komputerów stacjonarnych oferujący te same zaawansowane możliwości zarządzania energią, co mobilne rdzenie graficzne ATI. Dzięki technologii ATI PowerPlay nowy chip może elastycznie sterować swoimi częstotliwościami, napięciem zasilania, a nawet wyłączać nieużywane bloki, gdy obciążenie rdzenia jest niewielkie. W przeciwieństwie do innych komputerów stacjonarnych GPU, obsługa funkcji oszczędzania energii w RV670 jest zaimplementowana na poziomie sprzętowym, co zapewnia szybszą reakcję na zmiany obciążenia i eliminuje błędy w ustalaniu pracy procesora graficznego.
W historii ATI Technologies zdarzały się już przypadki, kiedy firma wspierała standard, który nie był wcześniej szeroko rozpowszechniany. Na przykład ATI Radeon 8500 obsługiwał specyfikację Pixel Shader 1.4, która była częścią DirectX 8.1. Specyfikacje te były znacznie bardziej elastyczne niż PS1.0/1.1/1.3 obsługiwane przez układy Nvidii i pozwalały na uzyskanie efektów specjalnych o wyższej jakości, ale właśnie z powodu ograniczonego wsparcia nie zostały one powszechnie przyjęte przez twórców gier w cyklu życia ATI Radeon 8000. Podobny los spotkał obsługę Shader Model 2.0b zaimplementowaną w rodzinie ATI Radeon X700/X800/X850, a także Shader Model 2.0a promowany przez Nvidię w rodzinie GeForce FX. DirectX 9 Shader Model 3.0 zaczął zyskiwać znaczącą dystrybucję dopiero po pojawieniu się portów gier z konsol Microsoft Xbox 360 i Sony PlayStation 3, co wyraźnie wykraczało poza cykl życia GeForce 6 i wczesnego GeForce 7.
DirectX 10.1 stał się pierwszym i ostatnim podzbiorem DirectX 10. Został oficjalnie uwzględniony w Windows Vista z Service Packiem 1
Kluczowe innowacje w DirectX 10.1:
Obsługa tablic sześciennych map: pozwala osiągnąć akceptowalną prędkość podczas korzystania z globalnego oświetlenia sceny poprzez dostęp do kilku map sześciennych w jednym przebiegu renderowania. Ta metoda globalnego oświetlenia obejmuje obliczanie pośredniego oświetlenia rozproszonego, załamań, miękkich cieni i dokładniejszych obliczeń odbić.
Ulepszone renderowanie odroczone i techniki FSAA: obsługa niezależnych trybów mieszania dla każdego MRT, obowiązkowa obsługa MSAA 4x, obsługa pisania masek pokrycia pikseli z shadera, wybór próbki wzorca, próbkowanie z bufora multisamplingu, obsługa filtrów wykrywania pikseli, które wymagają -aliasing.
Zwiększono liczbę rejestrów Vertex Shader: nowe specyfikacje zapewniają 32 rejestry zamiast 16 w specyfikacjach DirectX 10.
Obsługa Gather4: Podobnie jak funkcja Fetch4 w ATI Radeon X1000, umożliwia pobranie bloku 4 pikseli (2x2) dla tekstury jednoskładnikowej. Służy do przyspieszenia pracy z mapami cieni i poprawy jakości cieni.
Ulepszone techniki mieszania i filtrowania: obsługa instrukcji LOD, która zwraca poziom szczegółowości filtrowanego pobierania tekstur, obsługa INT16 do mieszania i FP32 do filtrowania (INT8 i FP16 w DirectX 10)
GPU RV670 imponuje rozmiarem rdzenia - pomimo tego, że składa się z 666 milionów tranzystorów, jego powierzchnia to zaledwie 192 milimetry kwadratowe (13.7x14 mm.). To wyraźnie pokazuje, do czego zdolny jest nowy proces 55 nm. Poza logo ATI i datą produkcji rdzeń nie zawiera istotnych informacji dla użytkownika końcowego. Nasz egzemplarz powstał w 39 tygodniu 2007 roku, który przypadał na 23-29 września. Ponieważ procesory graficzne ATI Radeon HD nie deklarują różnych częstotliwości zegara dla różnych części układu, pomimo faktu, że różne domeny działają na 26 różnych częstotliwościach, zwyczajowo wskazuje się tylko „główną” częstotliwość układu; dla Radeona HD 3870 jest to 775 MHz. Kryształowe opakowanie pozbawione jest ramki ochronnej, dlatego podczas montażu i demontażu układu chłodzenia należy uważać, aby nie odpryskiwać rdzenia.
Pod względem konfiguracji bloków nie ma różnic w stosunku do ATI Radeon HD 2900 XT: chip zawiera 320 jednostek ALU pogrupowanych w 64 superskalarne jednostki obliczeniowe po 5 jednostek ALU każda. Jednocześnie 4 jednostki ALU w każdym takim bloku są w stanie wykonać proste instrukcje, takie jak MAD (Multiply+Add), a piąta, bardziej złożona, może również wykonywać instrukcje transcendentalne, takie jak SIN, COS, LOG, EXP itp. Dodatkowo każdy procesor obliczeniowy zawiera blok sterowania gałęziami odpowiedzialny za wykonywanie instrukcji sterowania przepływem (porównania, pętle, wywołania podprogramów itp.). Jedyną różnicą w stosunku do R600 w tym przypadku jest obsługa zaawansowanych funkcji DirectX 10.1 (Shader Model 4.1)
Dane techniczne ATI Radeon HD 3870
Nazwa | Radeon HD 3870 |
Rdzeń | RV670 |
Technologia procesu (µm) | 0.055 |
Tranzystory (mln) | 666 |
Częstotliwość rdzenia | 775 |
Częstotliwość pamięci (DDR) | 1125 (2250) |
Typ magistrali i pamięci | GDDR4 256 bitów |
Przepustowość (Gb/s) | 72 |
Zunifikowane bloki shaderów | 320 |
Częstotliwość zunifikowanych jednostek cieniujących | 775 |
TMU na przenośnik | 16 (łącznie) |
RPO | 16 |
tekstury na zegar | 16 |
tekstury na przejazd | 16 |
Model cieniowania | 4.1 |
Szybkość wypełniania (Mpix/s) | 12400 |
Szybkość wypełniania (Mtex/s) | 12400 |
DirectX | 10.1 |
Antyaliasing (maks.) | MS-24x |
Filtrowanie anizotropowe (maks.) | 16x |
Pojemność pamięci | 512 |
Interfejs | PCI-E 2.0 |
RAMDAC | 2x400 |
Chociaż karty graficzne ATI Radeon HD 3870 i ATI Radeon HD 3850 mają dobrą wydajność, pozycjonowanie HD 3870 pozostawiło bardzo nieprzyjemny posmak. Jak się okazało, zamiast konkurować z GeForce 8800 GT 512MB i Radeonem HD 3870, dostaliśmy niechęć AMD do konkurowania z Nvidią, ATi nadal konkurowało nie szybkością, ale ceną.
Need for Speed Pro Street