r   e   k   l   a   m   a
r   e   k   l   a   m   a

Z 64-bitowym Denver NVIDIA obiecuje, że androidowe tablety będą szybkie jak nowe PC

Strona główna AktualnościSPRZĘT

Po raz pierwszy NVIDIA wspomniała o projekcie Denver podczas zeszłorocznych targów CES, ale o tym, że zamierza stworzyć rdzeń ARM, który wydajnością dorównywałby rdzeniom x86, dawała znać już znacznie wcześniej. Śmiałe zapowiedzi sprowokowały niekończące się rozważania nad tym, czym Denver będzie i co zaoferuje. W tym tygodniu podczas konferencji HOT CHIPS kurtyna została uniesiona – i trzeba otwarcie przyznać, że jesteśmy bardzo zdziwieni. Zielona drużyna zrobiła coś, czego nie robiono od dawna, idąc pod prąd w panujących trendach produkcji mikroprocesorów.

Nowy układ SoC od Nvidii będzie pierwszym 64-bitowym procesorem ARM dla urządzeń z Androidem. Ten następca pokazanej w zeszłym roku 32-bitowej Tegry K1, która w benchmarkach wydajności grafiki nie dała żadnych szans innym czipom SoC, tym razem ma zdeklasować konkurencję także pod względem możliwości CPU. Znany już procesor graficzny ze 192 rdzeniami w architekurze Kepler został połączony z dwurdzeniowym, 64-bitowym CPU „Denver”, zgodnym z architekturą ARMv8. Producent podkreśla, że nowy SoC jest całkowicie zgodny z 32-bitową Tegrą K1 pod względem elektrycznym i mechanicznym, więc jego wdrożenie ma być dla producentów sprzętu sprawą prostą.

Dwa rdzenie w architekturze ARMv8, to w czasach gdy wielu producentów ARM chwali się ośmiordzeniowymi CPU, wydawać się może niewiele. Rdzeń jednak rdzeniowi nierówny, a kompatybilność z ARMv8 nie oznacza, że „Denver” jest po prostu kolejnym klonem masowo produkowanych układów na licencji konsorcjum ARM. Każdy z rdzeni zbudowany jest w 7-stronnej superskalarnej architekturze (do siedmiu mikrooperacji w cyklu zegara), ze 128 KB 4-drożnej pamięci podręcznej L1 dla poleceń i 64 KB dla danych. Oba rdzenie współdzielą ze sobą 2 MB 16-drożnej pamięci podręcznej L2.

r   e   k   l   a   m   a

Te liczby jeszcze żadnej rewolucji nie zapowiadają, choć duże cache L1 (128 KB w porównaniu do 32 KB w typowych ARM-ach) może dawać do myślenia. Jak się jednak przyjrzeć architekturze nowego procesora, to widać, że NVIDIA zrezygnowała ze standardowej jednostki wykonawczej z wykonywaniem poza kolejnością (out-of-order execution, OoOE) jaką można znaleźć dziś w praktycznie wszystkich CPU, od czasów Pentium Pro. Popularność OoOE nie wzięła się bez powodu. Pozwala ona na znacznie przyspieszenie działania procesora, gdyż to sam procesor wybiera instrukcje, które mają zostać wykonane w danym cyklu. Oczywiście logika implementująca ten wybór nie jest za darmo – dodatkowe obwody zajmują miejsce i zużywają energię tylko na to, by sterować optymalizacją.

W Denver mamy do czynienia tymczasem z klasyczną jednostką wykonawczą typu in-order, wykonywaniem instrukcji w kolejności – z tym, że wykorzystującą dynamiczną optymalizację kodu. Uruchamiane na drugim rdzeniu oprogramowanie optymalizacyjne pozwala na przekształcenie najczęściej uruchamianych fragmentów kodu w wysoce stuningowane odpowiedniki w mikrokodzie. Trafiają one do dużego (128 MB) bufora, z którego są wywoływane w miarę potrzeby, bez konieczności ponownego dekodowania.

Zamiast więc stosować sprzęt do optymalizacji kodu, w Denver optymalizacja odbywa się software'owo, szybko ograniczając koszty procesu wraz z wzrostem liczby wykonań danej jednostki. Przekształcenie kodu ARMv8 w wewnętrzny mikrokod pozwala na niemal dwukrotne zwiększenie wydajności procesora i znaczne zmniejszenie zużycia energii. W tych zaś sytuacjach, gdy kod niezbyt się nadaje do optymalizacji (niewiele jest wielokrotnie wykonywanych fragmentów), Denver po prostu bezpośrednio uruchamia instrukcje ARM, bez jego optymalizowania.

Taka dynamiczna optymalizacja działa ze wszystkimi aplikacjami napisanymi na ARM, nie wymagając żadnych w nich zmian. Producent twierdzi, że jego dwurdzeniowy procesor osiąga znacznie lepsze wyniki zarówno dla jednowątkowych jak i wielowątkowych obciążeń roboczych, niż układy konkurencji, korzystające z czterech, a nawet ośmiu rdzeni. W połączeniu z wysoką przepustowością superskalarnej, 7-stronnej konstrukcji i bardzo dużej wydajności energetycznej, zapewnionej dzięki bramkowaniu obwodów, dynamicznej kontroli napięcia i częstotliwości zegara, Denver ma dorównywać wielu popularnym układom x86, przy znacznie niższym zużyciu energii.

Starsi Czytelnicy mogą pamiętać analogiczne rozwiązanie z przeszłości, które niewątpliwie projektantów Nvidii musiało zainspirować w pracach nad systemem software'owej optymalizacji. Chodzi oczywiście o układy Transmeta, oszczędne energetycznie czipy x86, wykorzystujące rdzeń typu VLIV, dla którego mikrokod przygotowywany był przez software'owy optymalizator Code Morphing. Oczywiście nie oznacza to, że NVIDIA skopiowała pomysł Transmety – Denver pod względem architektury niczym nie przypomina tamtych czipów – ale widać, że idea przyświecała ta sama: tam gdzie chodzi o oszczędzanie energii, optymalizację lepiej przygotować na drodze software'owej.

Nie wiadomo jeszcze, czy NVIDIA będzie zainteresowana przystosowaniem swojej nowej, 64-bitowej Tegry K1 do Windows RT. Przeznaczony dla układów ARM system Microsoftu jest wciąż co najwyżej rynkową ciekawostką. Pojawiają się za to doniesienia, że 64-bitowa Tegra K1 będzie mogła trafić do chromebooków z wyższej półki. 32-bitową Tegrę K1 do swojego chromebooka wybrał niedawno Acer – i już pierwsze testy pokazują, że dzięki temu udało się połączyć bardzo długi czas pracy na baterii z bardzo dobrą wydajnością, szczególnie w dziedzinie grafiki. Co będą faktycznie potrafiły takie małe lekkie urządzenia z Tegrą K1 Denver na pokładzie, powinniśmy zobaczyć jeszcze w tym roku.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.