Superkomputer na scalaku

Naukowcy z University of Texas (Austin) pracują z IBM nad nową architekturą procesorową, która może rozwiązać większość problemów, z którymi borykają się obecnie projektanci układów CPU. Jeśli badania (wspierane finansowo przez Departament Obrony) zakończą się sukcesem, to procesory kolejnej generacji będą pracować bardzo, ale to bardzo wydajnie.

Zaawansowane układy scalone wykorzystują obecnie takie techniki jak przewidywanie rozgałęzień i instrukcje wykonywane z wyprzedzeniem, po to aby zbudować wydajny mechanizm przetwarzania danych, który potrafi wykonywać jednocześnie wiele instrukcji. Jednak architektura takich układów jest bardzo skomplikowana i grzeją się one ponad miarę, co oznacza, że tą drogą nie można już dalej iść.

Dlatego zamiast budować coraz szybciej pracujące procesory, projektanci poszli inną drogą, umieszczając na jednym układzie scalonym wiele procesorów (układy wielordzeniowe).

I tu pojawia się problem polegający na tym, że aplikacje muszą być wtedy tak zaprojektowane, aby mogły w efektywny sposób korzystać ze wszystkich rdzeni znajdujących się na scalaku. Muszą być one po prosty przygotowane na przetwarzanie równoległe, co w wielu przypadkach jest bardzo trudne albo wręcz niemożliwe.

Naukowcy z University of Texas postanowili rozwiązać ten problem, projektując nowy mikroprocesor zawierający specjalny zestaw instrukcji, nazywając to rozwiązanie TRIPS (Tera-op Reliable Intelligently Adaptive Processing System). Rozwiązanie zasadza się na pomyśle aby można były korzystać z przetwarzania równoległego niezależnie od tego czy programista przewidział taką możliwość, czy też nie.

Trips wykorzystuje kilka technik aby to osiągnąć. Po pierwsze, kompilator wysyła do warstwy sprzętowej wykonywalny kod w blokach o długości 128 instrukcji. Procesor "widzi" i przetwarza cały blok za jednym podejściem, tak jakby to było jedna instrukcja, co znacznie obniża koszty związane z obsługą i kolejkowaniem wielu instrukcji.

Po drugie, instrukcje znajdujące się w bloku są wykonywane w trybie "data flow". Oznacza to, że każda instrukcja jest wykonywana tak szybko jak tylko pojawią się dane wejściowe, a nie w odpowiedniej kolejności, co w standardowych rozwiązaniach jest często wymuszane przez kompilator lub programistę.

Inny trik polega na tym, że kompilator TRIPS może połączyć dwie instrukcje znajdujące się na różnych ścieżkach, tworząc jedną instrukcję (pod warunkiem, że obie instrukcje wykonują operacje dotyczące tego samego celu).

Uniwersytet razem z IBM wyprodukują najpóźniej do lutego 2006 r. prototypowe układy scalone. Układ będzie zawierać dwa rdzenie, każdy zdolny wykonywać jednocześnie 16 instrukcji (razem 250 mln tranzystorów) i będzie taktowany zegarem 500 MHz, wykonując 16 mld operacji na sekundę. Docelowo naukowcy chcą pokazać, że można zbudować układ TRIPS taktowany zegarem 10 GHz, który wykonuje bilion operacji na sekundę.

Specjaliści przewidują, że o sukcesie nowego układu CPU zadecyduje to, czy będzie on kompatybilny z istniejącym już oprogramowaniem i systemami, szczególnie z platforma x86.

Jeden z możliwych scenariuszy może wyglądać tak, że układy Trips będą pełnić funkcje procesora pomocniczego, któremu procesory podstawowe x86 zlecają do wykonywania określone zadania przetwarzania danych.


Zobacz również