artykuły

Radeon HD 6950 i Radeon HD 6970 – powiew nowości od AMD

Sztuka optymalizacji

318
15 grudnia 2010, 06:01 Mieszko Krzykowski, Michał Wójcik

Nowa architektura

W środku układu graficznego nastąpiło kilka zmian, ale jedna z nich jest najważniejsza: w pojedynczym procesorze strumieniowym mamy teraz cztery jednostki wykonawcze zamiast pięciu, jak w kilku poprzednich generacjach Radeonów. Nadal jest to architektura VLIW (ang. Very Long Instruction Word), ale zmiana liczby jednostek wykonawczych, dla których jest przygotowywane słowo, to nie jest kosmetyczna zmiana, którą wprowadza się między obiadem a podwieczorkiem. Inżynierowie AMD doszli do wniosku, że taki układ będzie bardziej efektywny. Poza tym teraz wszystkie jednostki wykonawcze w procesorze strumieniowym są jednakowe i mogą wykonywać takie same rodzaje obliczeń. W poprzednich generacjach Radeonów mieliśmy cztery prostsze jednostki wykonawcze i jedną bardziej zaawansowaną, której wyznaczono bardziej złożone zadania. Poza tym ta piąta zajmowała się specjalnymi rodzajami obliczeń, takimi jak pierwiastkowanie i działania trygonometryczne. Teraz są one wykonywane z użyciem trzech z czterech jednostek wykonawczych procesora strumieniowego.

Dzięki tej zmianie w organizacji procesorów strumieniowych poprawił się też stosunek mocy obliczeniowej do liczby jednostek teksturujących. W obecnej architekturze nadal mamy po cztery jednostki teksturujące i po 16 procesorów strumieniowych na jeden silnik SIMD. Ale ponieważ w jednym procesorze strumieniowym jest teraz mniej jednostek wykonawczych, to te cztery jednostki teksturujące przypadają na 64 jednostki wykonawcze, zamiast na 80, jak w poprzednich generacjach Radeonów. Czyli Radeon HD 6000 o tej samej liczbie jednostek wykonawczych co Radeon HD 5000 będzie miał więcej jednostek teksturujących.

Poprawił się też przez to stosunek mocy obliczeniowej karty w działaniach na liczbach pojedynczej precyzji do mocy obliczeniowej w działaniach na liczbach o zwiększonej precyzji. Działania na liczbach typu double nadal zajmują cały procesor strumieniowy, ale teraz oznacza to, że moc obliczeniowa w działaniach na liczbach podwójnej precyzji to 25% mocy obliczeniowej w działaniach na liczbach o standardowej precyzji, zamiast dawnych 20%.

Widać więc wyraźnie, że wprowadzone zmiany miały na celu zoptymalizowanie architektury i wyciśnięcie większej wydajności z tej samej liczby tranzystorów i jednostek wykonawczych. 

Ponadto poprawiono wydajność RBE oraz wprowadzono kilka zmian związanych z wydajnością obliczeń „pozagrowych”, choć nie są to zmiany tak duże jak w przypadku Fermiego. Przede wszystkim inżynierowie AMD starali się zwiększyć przepustowość pamięci i szybkość dostępu do niej. Poza tym dodano możliwość wykonywania obliczeń związanych z różnymi kernelami, tak samo jak zrobiono w GeForce'ach GTX 400 i GTX 500. Prawdopodobnie też, tak samo jak w przypadku wspomnianych fermipochodnych GeForce'ów, jest wymagane, aby wszystkie kernele dotyczyły tego samego kontekstu. 

Teraz powiemy trochę o kilku bardziej praktycznych zmianach.

2