Innowacje w układach scalonych
Złożoność oprogramowania komputerowego rośnie w tempie wykładniczym, podobnie jak zapotrzebowanie na moc obliczeniową. Stwarza to pilną potrzebę opracowania nowatorskich architektur zwiększających zarówno moc obliczeniową, jak i efektywność energetyczną. Jednym z obiecujących kierunków są wieloprocesory scalone, gdyż według prognoz ITRS (International Technology Roadmap for Semiconductors) liczba rdzeni w takich układach wzrośnie dramatycznie w najbliższych latach. Producenci często wykonują rdzenie wieloprocesora w postaci homogenicznych układów scalonych, co nie zapewnia optymalnego wykorzystania ograniczonej przestrzeni. Finansowany z siódmego programu ramowego UE (7PR) projekt HTCMP ("Heterogeneous chip multiprocessor design") zajął się tym problemem, badając możliwości łączenia w wieloprocesorach układów scalonych o różnej mocy obliczeniowej. Prace zorganizowano według wybranych kwestii projektowych, w tym efektywnego podziału dostępnej przestrzeni pomiędzy rdzenie procesora i bloki pamięci podręcznej, projektowania hierarchii pamięci, wyboru procesorów i ich typów z puli procesorów oraz dystrybucji wątków i danych. Projekt HTCMP zajął się opracowaniem nowych technik kompilacji kodu dla heterogenicznych wieloprocesorów scalonych, ponieważ ta dziedzina nie nadąża obecnie za postępem w dziedzinie obwodów i architektury. Dodanie skutecznej obsługi przez kompilatory pozwoli wypełnić tę lukę, a tym samym ułatwi programowanie na nowe architektury. W drugiej fazie projektu HTCMP prace skierowano na dystrybucję wątków i danych, redukcję komunikacji i zaawansowane techniki optymalizacji. Realizując wyznaczony cel wspomagania tworzenia heterogenicznych wieloprocesorów scalonych, projekt opracował algorytm projektowania heterogenicznych sieci układów scalonych. Projekt HTCMP zidentyfikował też sposoby minimalizacji kosztu i maksymalizacji niezawodności trójwymiarowych architektur komunikacyjnych w sieciach układów scalonych.