artykuły

AMD A10-4600M – mobilne Trinity kontra Core i3 oraz Core i5

Bulldozer – część druga

329
15 maja 2012, 06:00 Tomasz Niechaj, Mateusz Brzostek

Trinity – na wskroś laptopowe

Po pierwszym rzucie oka na budowę i cechy Trinity nie można mieć wątpliwości, że AMD miało dwa główne cele. Po pierwsze, nowe APU miały być pod niemal każdym względem zoptymalizowane do wykorzystania w laptopach. Nic dziwnego, w końcu tam trafi ich najwięcej, a i w komputerach biurkowych optymalizacje laptopowe na pewno nie zaszkodzą. Skupiono się więc na energooszczędności, która w ostatnich latach była uznawana, najczęściej słusznie, za piętę achillesową AMD.

Po drugie, układ miał być we wszystkim tak nowoczesny, jak to tylko możliwe. Na rynku laptopów nie ma już miejsca na rozwiązania dobre pod jednym względem i kiepskie pod każdym innym, takie jak pierwsza seria procesorów Atom Intela. Pierwsze APU o nazwie roboczej Llano nie były do końca „na czasie”, jeśli chodzi o użyte techniki. Szczególnie brakowało lepszego zarządzania budżetem energetycznym i nieco nowocześniejszych rdzeni x86. I jedno, i drugie zapewnia Trinity.

Rdzenie x86 Piledriver

Usprawniony Bulldozer – to może budzić pewne obawy, bo choć procesory AMD FX w architekturze Bulldozer miały swoje zalety, wad też było sporo. Trzeba jednak pamiętać, że problemem Bulldozerów, tak samo jak kiedyś Pentium 4, jest nie mikroarchitektura, tylko jej implementacja. W NetBurst założenia projektowe rozeszły się z możliwościami technicznymi, gdy okazało się, że taktowanie powyżej 5 GHz nie jest w zasięgu ręki. Piledriver oprócz tego, że przynosi usprawnienia w mikroarchitekturze, o których zaraz powiemy, ma właśnie zlikwidować lub ominąć jeden z tych problemów produkcyjnych: trudność z osiągnięciem szybkiego taktowania. Ma w tym pomóc nowa technika rozprowadzania sygnału zegarowego z centralnego generatora na całą powierzchnię układu. Tradycyjnie używa się do tego celu sieci przewodów w najwyższej metalowej warstwie krzemowego jądra. Problem w tym, że taka sieć zachowuje się jak kondensator o stosunkowo dużej pojemności: ciągłe przełączanie stanów logicznych wymaga ładowania tego kondensatora za każdym razem i konsumuje ogromne ilości energii. W układzie wielkości dzisiejszego rdzenia CPU rozprowadzanie sygnału zegarowego przejada do jednej trzeciej budżetu energetycznego, a przecież architektury Bulldozer i Piledriver wymagają stosunkowo szybkiego taktowania. Dlatego w rdzeniach Piledriver zastosowano rezonującą sieć zegarową, opracowaną przez firmę Cyclos. Założenie tej techniki jest proste: w najwyższych warstwach metalowych umieszcza się cewki, które mają zmagazynować energię podczas rozładowywania sieci, a następnie wykorzystać do jej ponownego naładowania.

Cewka w krzemie: zielona spirala i połączona z nią pomarańczowa w niższej warstwie stanowią uzwojenie cewki

Okazało się, że dodanie cewek nie jest dużym problemem produkcyjnym, a zmniejsza straty energii o mniej więcej 30%, szczególnie w przedziale od 3,3 GHz do 3,7 GHz. To powinno dać około 10% oszczędności energii względem tak samo taktowanego rdzenia Bulldozer, nie licząc wpływu innych funkcji oszczędzających energię.

Spore zmiany poczyniono też w mikroarchitekturze. Koncepcja pozostała ta sama: dwa rdzenie mają wspólny „front-end”, czyli część odpowiedzialną za dekodowanie i kolejkowanie rozkazów oraz przewidywanie skoków. Wspólna jest też jednostka obliczeń zmiennoprzecinkowych i AVX. Bulldozer ma dość jednostek obliczeniowych, kulało tylko ich wykorzystanie – dlatego zmiany dotknęły głownie części front-end, karmiącej układ danymi i instrukcjami. Poprawiono przewidywanie skoków i pobieranie danych z wyprzedzeniem; powiększono też przedział czasu, w którym przekolejkowuje się rozkazy. Wszystko po to, żeby jednostki obliczeniowe więcej czasu spędzały na obliczeniach, a mniej na czekaniu. Należy pamiętać, że poprawianie wydajności to też technika oszczędzania energii: szybszy procesor szybciej wykona całą pracę i szybciej przejdzie do stanu spoczynku. Dokładna natura wszystkich zmian jak zawsze jest tajemnicą.

Dekoder w Trinity odziedziczył po Bulldozerze rozszerzenia AES i AVX, a ponadto rozumie kilkanaście nowych instrukcji. Najważniejsze to FMA3, czyli Fused Multiply-Add: możliwość pomnożenia dwóch liczb i dodania wyniku do trzeciej. Procesory Bulldozer już to umiały, ale zapis instrukcji FMA był inny od tego, który Intel planuje wprowadzić w procesorach Haswell, przewidzianych na 2013 rok. Zapis Intela jest prostszy i łatwiejszy do zastosowania w krzemie, ale wersja AMD daje większe możliwości programistom. Ponieważ bardziej zaawansowany tryb i tak już wbudowano, AMD udostępniło też prostszy zapis kompatybilny z rozwiązaniem Intela. Zmiany względem Bulldozera są niewielkie, ale w porównaniu z Llano to ogromny krok naprzód. Nowe instrukcje czynią w tej chwili z Piledrivera najbardziej funkcjonalny rdzeń x86: ma większy zestaw instrukcji niż Bulldozer, Llano, a nawet Ivy Bridge. Względem tego ostatniego brakuje mu tylko szybkiego generatora liczb pseudolosowych.

2