• Nie Znaleziono Wyników

Index of /rozprawy2/10269

N/A
N/A
Protected

Academic year: 2021

Share "Index of /rozprawy2/10269"

Copied!
152
0
0

Pełen tekst

(1)AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI, INFORMATYKI I ELEKTRONIKI KATEDRA ELEKTRONIKI. ROZPRAWA DOKTORSKA MGR INŻ. SŁAWOMIR MIKUŁA ASYNCHRONICZNE STEROWANIE AKTYWNOŚCIĄ BLOKÓW FUNKCJONALNYCH SYSTEMÓW SCALONYCH. Promotor: Prof.dr hab.inż. Andrzej Kos. Kraków, 2010.

(2) Serdeczne podziękowania składam mojemu promotorowi Panu prof. Andrzejowi Kosowi za życzliwą pomoc i opiekę naukową podczas pracy nad moją rozprawą doktorską. Ogromne podziękowania pragnę złożyć mojej żonie Patrycji oraz moim drogim Rodzicom za miłość i wsparcie. 2.

(3) Spis treści 1 Wykaz ważniejszych symboli i oznaczeń...............................................................................4 2 Wstęp......................................................................................................................................6 3 Problemy termiczne współczesnych procesorów..................................................................23 3.1 Mechanizm skalowania napięcia zasilającego..............................................................34 3.2 Mechanizm skalowania częstotliwości pracy ...............................................................36 3.3 Mechanizm bramkowania głównego zegara.................................................................37 4 Teza pracy.............................................................................................................................44 5 Asynchroniczne sterowanie blokami funkcjonalnymi..........................................................47 5.1 Ogólny mechanizm sterowania.....................................................................................47 5.2 Obliczanie temperatury za pomocą funkcji Greena......................................................55 5.3 Metody weryfikacji poprawności – model....................................................................67 5.4 Algorytm asynchronicznego sterowania – weryfikacja modelu ..................................73 6 Dynamika termiczna układów VLSI z algorytmiczną metodą wyboru rdzeni.....................78 6.1 Temperatura średnia układu scalonego.........................................................................78 6.2 Metoda wyznaczania Czasu Punktowej Reakcji Termicznej (Point Heating Time).....80 6.3 Porównanie Czasu Punktowej Reakcji Termicznej (Point Heating Time) dla materiałów podłoża..............................................................................................................82 6.4 Wartości Point Heating Time dla położenia geometrycznego aktywnego modułu......88 6.5 Analiza PHT dla ścieżki przesunięć..............................................................................91 6.6 Wartość Point Heating Time dla zmiennych warunków chłodzenia............................94 6.7 Wartość Point Heating Time dla przesunięcia geometrycznego modułów aktywnych 96 6.8 Wpływ wielu aktywnych obiektów na wartość PHT..................................................101 7 Mechanizmy sterowania rdzeniami.....................................................................................107 7.1 Wstępny opis algorytmu..............................................................................................107 7.2 Diagramy realizacji sterowania...................................................................................108 7.3 Środowisko testowe.....................................................................................................111 7.4 Realizacja algorytmu...................................................................................................112 7.4.1 Opis funkcjonalny algorytmu..............................................................................112 7.4.2 Diagramy sekwencji działania modułów.............................................................115 7.5 Testy............................................................................................................................119 7.6 Zmiany względem rzeczywistego systemu.................................................................120 7.7 Wyniki – przydzielanie zadań.....................................................................................121 7.7.1 Opis zadań testujących........................................................................................121 7.7.2 Wyniki syntetyczne.............................................................................................122 7.8 Wyniki – pełny algorytm ASTER...............................................................................127 8 Wnioski...............................................................................................................................142 9 Bibliografia własna.............................................................................................................145 10 Bibliografia.......................................................................................................................145. 3.

(4) 1 WYKAZ WAŻNIEJSZYCH SYMBOLI I OZNACZEŃ • • • •. Csw CLin CLext Dx, Dy. •. Dxy. • • • •. Ea f fmax L. • • • • •. Lx, Ly Lz Pdiss Pdyn Pq-s. •. Pq-s avg. • • •. Pstatic P0 PAC. • •. Pi PHTTmax. •. PHTTmean. •. PHTATmean. •. PHTdyn. •. PHTmean. • • • • •. S Smod t T Tmax. – pojemność przełączania układu CMOS [F] – pojemność obciążenia wejściowego układu CMOS [F] – pojemność wyjściowa układu CMOS [F] – przesunięcie elementu aktywnego względem geometrycznego środka układu scalonego dla osi X oraz Y [mm] – sumaryczny współczynnik przesunięcia elementu aktywnego względem geometrycznego środka układu scalonego dla osi X i Y [mm] – energia aktywacji [J] – częstotliwości pracy układu [Hz] – maksymalna częstotliwość pracy układu [Hz] – odległość punktu badanego od środka geometrycznego elementu grzejnego [mm] – rozmiary układu scalonego na płaszczyźnie X,Y [mm] – grubość układu scalonego [mm] – całkowita moc rozpraszana w układzie CMOS [W] – tracona moc dynamiczna [W] – moc strat w przypadku quasi-zwarciowej ścieżki w momencie przełączania układu CMOS [W] – uśredniona moc strat w przypadku quasi-zwarciowej ścieżki w momencie przełączania układu CMOS [W] – moc statyczna [W] – stały komponent mocy rozpraszania [W] – zmienny komponent mocy rozpraszania generowany przez element aktywny [W] – moc rozpraszana przez i-ty rdzeń [W] – wartość Point Heating Time dla maksymalnej temperatury całego układu scalonego [s] – wartość Point Heating Time wyznaczona dla temperatury średniej układu scalonego [s] – wartość Point Heating Time tożsama z wartością stałej czasowej dla temperatury średniej układu scalonego [s] – wartość PHT liczona dla danego punktu przy dynamicznych zmianach temperatury [s] – wartość PHT dla średniej arytmetycznej temperatury w układzie scalonym [s] – całkowita powierzchnia badanego układu [mm2] – powierzchnia badanego modułu (rdzenia) [mm2] – czas [s] – temperatura [K] – maksymalna chwilowa temperatura układu scalonego w trakcie wykonywania obliczeń [K]. 4.

(5) •. Tactsw. •. Ttasksw. • • • •. Tcritical TA Tmain T0. •. TAC. • • • • • • • • • •. Tm V Vdd VIN VOUT VTHN Xmod Ymod α αtop. •. αbottom. •. αtb. • • • • •. ω τ ρ ε κ. – temperatura włączenia mechanizmu asynchronicznego przełączania aktywności modułów funkcjonalnych [K] – temperatura włączenia mechanizmu przenoszenia zadań pomiędzy rdzeniami układu scalonego [K] – temperatura wyłączenia awaryjnego rdzenia układu scalonego [K] – temperatura otoczenia [K] – wynikowa temperatura obliczeń numerycznych [K] – temperatura wynikająca z wpływu komponentu stałego mocy rozpraszania [K] – temperatura wynikająca z wpływu komponentu zmiennego mocy rozpraszania [K] – średnia temperatura układu scalonego [K] – napięcie [V] – napięcie zasilające [V] – napięcie wejściowe układu [V] – napięcie wyjściowe [V] – napięcie progowe tranzystora CMOS [V] – środkowe położenie elementu aktywnego dla osi X [mm] – środkowe położenie elementu aktywnego dla osi Y [mm] – uogólniony współczynnik konwekcji [W/m2K] – współczynnik konwekcji dla górnej warstwy układu scalonego [W/m2K] – współczynnik konwekcji dla dolnej warstwy układu scalonego [W/m2K] – uogólniony współczynnik konwekcji dla górnej i dolnej warstwy układu scalonego [W/m2K] – pulsacja przełączania aktywności rdzeni [1/s] – stała czasowa [s] – masa właściwa (gęstość) [kg/m3] – przenikalność elektryczna [F/m] – przewodność cieplna [W/mK]. 5.

(6) 2 WSTĘP Praca powstała w ramach prac doktoranta na wydziale Elektrotechniki, Automatyki, Informatyki i Elektroniki Akademii Górniczo-Hutniczej w Krakowie. Prace badawcze zostały wykonane pod kierownictwem prof. Andrzeja Kosa w zespole Mikro i Nano- Systemów oraz podczas pobytu w ramach programu Socrates/Erasmus na Uniwersytecie w Gandawie pod kierownictwem prof. Gilberta De Mey'a. Rynek elektroniki użytkowej na przestrzeni ostatnich kilkudziesięciu lat zmienił się diametralnie. W momencie powstawania systemów wykorzystujących procesory ogólnego użytku nawet projektanci nie przewidywali takiego rozszerzenia zasięgu stosowalności swoich produktów na każdą dziedzinę ludzkiego życia. Na początku rozwoju technik komputerowych szacowano liczbę maszyn obliczeniowych jakie mogą być kiedykolwiek potrzebne ludzkości w ilości 3-5[Bow70][Ste85]. Urządzenia powszechnego użytku, które obecnie są produkowane przewyższają tysiąckrotnie wydajność obliczeniową pierwszych systemów procesorowych. Aktualnie w produkcji znajdują się systemy wykorzystujące procesory ogólnego przeznaczania, które możemy podzielić na kilka kategorii. Systemy te to: 1. Urządzenia mobilne. 2. Urządzenia przeznaczone do zastosowań domowych. 3. Urządzenia dedykowane zastosowaniom przemysłowym oraz naukowo-badawczym. Podział rynku sprzedaży na w/w grupy przedstawiono na rysunku 1 [Ce07].. Udział elektroniki w segmentach rynku Dane na rok 2009 16% 31%. Urządzenia mobilne Elektronika domowa/biurow a Elektronika profesjonalna. 53%. Rys. 1: Podział całkowitej produkcji sprzętu elektronicznego na trzy główne grupy docelowego zastosowania 6.

(7) Trend sprzedaży urządzeń elektroniki użytkowej[Ces09] w okresie ostatnich kilku lat został przedstawiony na rys. 2, natomiast profil segmentów rynku został przedstawiony na rys. 3.. Światowa sprzedaż elektroniki użytkowej Lata 1998-2007 300. Miliardy Dolarów. 250 200 150 100 50 0 1998. 1999. 2000. 2001. 2002. 2003. 2004. 2005. 2006. 2007. Rok. Rys. 2: Trend sprzedaży urządzeń elektroniki użytkowej w ostatnich 10 latach. Pierwsza grupa produktów obejmuje coraz bardziej rozbudowywany segment rynku. W przeciągu ostatnich 10 lat projekty dotyczące systemów przenośnych charakteryzują się intensywnym rozwojem. Co jeszcze w roku 1995 było ekstrawagancją i stosowaniem najnowocześniejszych technik, obecnie jest w posiadaniu przeciętnego użytkownika w cywilizacjach wysoce uprzemysłowionych. W przypadku urządzeń mobilnych mówimy o urządzeniach, które mogą być przenoszone i zapewniają pewien określony przez producenta czas pracy na zasilaniu niezależnym (np. bateryjnym). W tym segmencie pojawia się podział na dwie główne grupy: urządzenia elektroniki użytkowej oraz urządzenia specjalizowane (przenośne urządzenia pomiarowe itp.). Pierwsza kategoria w ostatnich 10 latach rozwija się w coraz to nowe specjalizowane podgrupy. Podział ten można zaobserwować na rysunku 3.. 7.

(8) Domowa elektronika użytkowa Udział procentowy wg. sprzedaży 100,00%. Udział w sprzedaży [%]. 90,00% 80,00% 70,00% 60,00% 50,00%. 24,80%. 25,50%. 25,20%. 26,70%. 5,00% 3,30%. 9,00%. 12,50%. 3,80%. 15,00%. 11,80%. 8,50%. 3,20% 5,70%. 2,80% 4,00%. 8,50%. 9,80%. 10,90%. 7,20%. 6,80%. 5,50%. 15,00%. 15,00%. 15,00%. 8,90% 7,90%. 40,00% 30,00% 20,00% 10,00%. 17,00%. 0,00% 2005. 2006. 2007. Telefony przenośne Telewizory LCD Telewizory plazmowe Inne telewizory Komputery przenośne Komputery domowe Aparaty cyfrowe Kamery Konsole do gier Monitory Odtwarzacze MP3 DVD Drukarki GPS Inne produkty. 2008. Lata. Rys. 3: Elektronika użytkowa - podział na produkty W tych grupach można wyszczególnić określone kategorie urządzeń mobilnych: 1. Telefony komórkowe 2. Przenośne komputery (laptop/netbook/notebook) 3. Tablety internetowe oraz tzw. Mobile Internet Devices (MID) 4. Czytniki książek 5. Przenośne odtwarzacze muzyki/zdjęć/video 6. Implanty medyczne 7. Systemy geolokacji i inne W każdej z tych kategorii można zauważyć coraz większe zapotrzebowanie na moc obliczeniową przy niezmienionym czasie pracy urządzenia na jednym zestawie baterii. Wymagania te nie mogą być zawsze dotrzymane. Jak wiadomo moc tracona przez układy elektroniczne jest wprost proporcjonalna do częstotliwości pracy układów[Bur95]. Nierzadko zdarza się, iż czas pracy urządzeń jest tak ograniczony, iż urządzenia tylko z nazwy pozostają „przenośne”. Te oczekiwania stawiają przed projektantami elektroniki coraz to większe wymagania. techniczne.. Niejednokrotnie. można. również zauważyć. trend. łączenia. poszczególnych funkcjonalności urządzeń. Niekiedy producenci określają dany produkt jako "Twój komputer przenośny"[Nok09] - w obecnych czasach ten slogan coraz bardziej jest na miejscu. Producenci w/w komponentów elektronicznych stosują w przypadku urządzeń. 8.

(9) przenośnych różnorakie metody zmniejszenia poboru mocy. Prace realizowane są na kilku płaszczyznach: 1. Zwiększenie. pojemności. obecnie. stosowanych. ogniw. bateryjnych. lub. wprowadzenie nowych sposobów generowania energii wymaganej przez urządzenia przenośne do działania. W tym przypadku możemy mówić m.in. o zastosowaniu nowych związków chemicznych w celu przedłużenia pracy baterii lub umożliwieniu jej szybkiego naładowania bez straty korzystnych parametrów[Zhi09]. Drugą metodą jest zastosowanie innego sposobu magazynowania energii jaką są np. ogniwa paliwowe[Sam06]. Aktualny stan tych projektów jest wysoce zaawansowany. Obecnie prace prowadzone są nad wprowadzeniem w/w mechanizmu do produkcji seryjnej. 2. Kolejnym mechanizmem, który jest analizowany przez producentów jest absorpcja energii z otaczających nas fal elektromagnetycznych. Urządzenie wyposażone w odpowiednio. skonstruowany. odbiornik. ma. możliwość. gromadzenia. energii. wytworzonej przez fale elektromagnetyczne generowane przez radio, telewizję, sieci komórkowe i ogólnie wszystkie urządzenia elektroniczne. Aktualny stan rozwoju tej technologii nie wychodzi poza badania naukowe prowadzone we współpracy z największymi firmami technologicznymi np. Nokia. 3. Mechanizmy. ograniczania. poboru. mocy. przez. procesory. obliczeniowe.. Zasadniczym elementem pobierającym moc jest główny procesor danego rozwiązania technicznego. Projektanci stosują różne metody sterowania działaniem układu w celu minimalizacji pobieranej energii. Stosowane są m.in. techniki zmniejszania napięcia zasilającego, skalowania częstotliwości pracy układu scalonego oraz wydzielanie obszarów układu scalonego z różnymi lokalnymi częstotliwościami pracy. Innymi metodami. są. mechanizmy. dynamicznego. sterowania. napięciem. zasilania,. częstotliwości pracy lub bramkowania głównego zegara. W przypadku urządzeń mobilnych wchodzi dodatkowo w rachubę możliwość pracy z alternatywnymi układami scalonymi odpowiedzialnymi za realizację tej samej funkcjonalności. Układy te charakteryzują się jednak określonym, różnym dla siebie poziomem usług. Przykładem takim mogą być laptopy wyposażane w zintegrowaną kartę graficzną z głównym układem scalonym oraz dodatkowym układem graficznym o dużo większej wydajności. Takie podejście oczywiście charakteryzuje się różnymi poborami mocy. Domyślnie system pracuje z wykorzystaniem mniej wydajnego układu graficznego. W 9.

(10) przypadku. konieczności. zwiększenia. mocy. obliczeniowej. wyświetlanie. zaawansowanej grafiki przejmuje dodatkowy układ. Pobór mocy zwiększa się w tym przypadku jedynie na czas wykorzystywania tych funkcji. 4. Mechanizmy optymalizacji poboru mocy przez układy dodatkowe takie jak np. wyświetlacz. Systemy aktualnie oferowane klientom charakteryzują się coraz to większym obszarem wyświetlania. Nierzadko połączone jest to z możliwością dotykowego sterowania elementami przedstawianymi na ekranie. W przypadku tego komponentu możemy wyróżnić trzy technologie, które charakteryzują się określonym poborem energii: a. Wyświetlacze LCD z podświetleniem wykorzystujące świetlówki z zimną katodą (CTFL) – są to wyświetlacze najstarsze technologicznie. Obwód zasilania świetlówki wymaga osobnego potencjału zasilania wytwarzanego w urządzeniach przenośnych za pomocą dodatkowej przetwornicy napięcia. Pobór mocy przez taki układ jest największy z prezentowanych. b. Zastosowanie podświetlania diodowego - umożliwia zmniejszenie pobieranej mocy i zwiększenie niezawodności pracy układu wyświetlania. Elementy półprzewodnikowe charakteryzują się dużo większą niezawodnością w porównaniu do elementów takich jak świetlówka z zimną katodą CTFL[Che06]. c. Zastosowanie tzw. elektronicznego papieru (e-ink) - wyświetlacze te stosowane są obecnie w przenośnych czytnikach książek. Wyświetlacze charakteryzują się wyświetlanym obrazem w kolorach szarości[Chi09]. Idealnym zastosowaniem jest symulacja drukowanego papieru. Bardzo dużą zaletą stosowanego rozwiązania jest technologia wykonania wyświetlacza. Wyświetlacz pobiera moc jedynie w momencie zmiany stanu prezentowanego obrazu. Po ustaleniu danych (np. strona książki) poszczególne elementy składowe obrazu (piksele) wchodzą w stan trwałego przedstawiania obrazu, w którym nie wymagany jest pobór energii. Dodatkową zaletą elektronicznego papieru jest kontrast wyświetlania znaków, który zbliża je do zwykłej książki eliminując. zmęczenie. ciekłokrystalicznych. ze. oczu. charakterystyczne. sztucznym. dla. podświetleniem.. wyświetlaczy W. przypadku. zastosowania w/w typu wyświetlacza czas pracy takich urządzeń na. 10.

(11) standardowym zestawie baterii określany jest w skali miesięcznej. Przekracza to przynajmniej kilkukrotnie czas pracy urządzeń z wyświetlaczami LCD. Prace związane z minimalizacją mocy są prowadzone również w obszarze zagadnień termicznych. Analiza termiczna stanowi obecnie coraz większy problem podczas projektowania układów scalonych. Można przytoczyć kilka przypadków komercyjnie dostępnych urządzeń elektronicznych, w których projekt termiczny okazał się zbyt łagodnie potraktowany[Fly04]. Problemy spowodowane przez zaniedbanie analizy termicznej powodują kolosalne straty związane z obsługą działań serwisowych - wskaźnik awaryjności urządzenia na poziomie 50% jest gigantyczny i stanowi znaczącą stratę producenta. Niewątpliwie, na analizę termiczną w następnych latach zostanie położony ogromny nacisk zarówno wśród środowisk produkcji elektronicznej, jak i zespołów badawczych. Kolejną grupą urządzeń elektronicznych, w których zagadnienia termiczne obejmują coraz większy zakres są systemy komputerowe o wysokiej wydajności. Terminem tym obejmujemy zarówno super-komputery (High Performance Computers), które samodzielnie tworzą jednorodny system obliczeniowy do określonych działań jak i centra danych (Data Centers), które służą jako obszary magazynowania setek tysięcy samodzielnych systemów komputerowych. Systemy te używane są przez dostawców treści dla internetu i sieci komórkowych. Wymagania wysokiej dostępności usług i coraz to większej mocy obliczeniowej takich centrów rośnie w zastraszającym tempie[Mem09]. Koszty chłodzenia w ogólnych kosztach utrzymania centrów obliczeniowych w skali czasu przedstawia rysunek 4 natomiast historia wydajności obliczeniowej systemów HPC została przedstawiona na rysunku 5.. Wydatki dla centrów danych Podział na części składowe Koszt całkowity (mln $). 300 250 200 150 100 50 0 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 Chłodzenie i zasilanie. Lata. Zarządzanie. Nowy sprzęt serwerowy. Rys. 4: Podział kosztów centrów danych z wyszczególnieniem kosztów chłodzenia[Sca06] 11.

(12) konsekwencji. zagadnień. termicznych.. Normą. staje. się. projektowanie. centrów. komputerowych w okolicy rzek oraz innych źródeł wody służących jako wymienniki ciepła[Bra09]. Położenie geograficzne w rejonach o niskiej średniej temperaturze otoczenia może wprowadzić znaczący zysk w koszcie utrzymania takiej lokalizacji centrum danych. Nowym pomysłem w zapewnieniu dużej ilości wody do celów wymiany ciepła jest przeniesienie centrów danych na statki, które zacumowane na przybrzeżnych wodach umożliwiłyby pracę takich centrów z łatwym dostępem do zimnej wody[Cli08]. 1,00E+16. Moc obliczeniowa superkomputerów. IBM Blue Gene/L IBM Blue Gene/L NEC Earth Simulator. 1,00E+14. ASCI Red/9632 IntelIntel ASCI Red/9152. Instrukcje/Sek. 1,00E+12. Intel Paragon XP/S 140 Thinking Machines CM-5/1024 NEC SX-3/44R Cray-2/8 Cray X-MP/4 CDC Cyber 205 Burroughs ILLIAC IV CDC STAR-100 CDC 7600. 1,00E+10 1,00E+08. CDC 6600 IBMUNIVAC AN/FSQ-7 LARC IBM NORC. 1,00E+06 1,00E+04 1,00E+02 1,00E+00 1930. Zuse Z3 Zuse V1. 1940. 1950. 1960. 1970. 1980. 1990. 2000. 2010. 2020. Lata. Rys. 5: Możliwości obliczeniowe superkomputerów - skala czasu Zaprezentowana w tym rozdziale historia rozwoju elektroniki użytkowej na przestrzeni lat oraz umieszczenie prognozowanych danych pozwala wskazać konieczność dalszego zwiększania wydajności oferowanych procesorów ogólnego przeznaczenia. Analizując aktualnie produkowane układy scalone możemy zauważyć coraz to większy udział systemów wielordzeniowych w portfolio największych firm takich jak Intel, AMD, IBM itp. Na rysunku 6 przedstawiono historyczny rys komercyjnej dostępności procesorów z wieloma rdzeniami.. 12.

(13) Histora procesorów wielordzeniowych 9 CELL. 8. UltraSPARC T2 8c. 7 UltraSPARC T1 6c. Liczba rdzeni. 6. UltraSPARC T2 Xeon 6c 7400. 5 UltraSPARC T1 Core 2 Quad Phenom. 4. Xenon. 3 Power4. 2. UltraSPARC IV Power5. Core i7. Phenom Core 2 Duo. 1 0 2000. 2001. 2002. 2003. 2004. 2005. 2006. 2007. 2008. 2009. Lata. Rys. 6: Historia procesorów wielordzeniowych Systemy wielordzeniowe zyskują coraz to większy udział w rynku ze względu na kilka przyczyn. Pierwszą i najważniejsza jest konieczność oferowania przez producentów układów scalonych z coraz większą wydajnością. Od 1965 roku prawo Moore'a obowiązuje dzięki wysiłkom projektantów i naukowców aż do obecnych czasów. Niestety obecnie projektanci elektroniki doszli do poziomu napięcia zasilającego i częstotliwości, w którym dotrzymanie zgodności z prawem Moore'a staje się niemożliwe stosując standardowe jedno-rdzeniowe architektury CISC[Yan06]. W poprzednich dekadach prostą metodą zwiększenia wydajności produkowanych układów procesorowych było zwiększanie częstotliwości generatora taktującego. Dla pojedynczego rdzenia obliczeniowego zwiększanie się częstotliwości pracy pozwalało na wykazanie syntetycznego wzrostu mocy obliczeniowej. Rzeczywisty i mierzalny za pomocą aplikacji użytkowych wzrost częstotliwości pracy tych procesorów nie powodował już takiego przyrostu mocy obliczeniowej. Wynikało to z ograniczeń stosowanych języków programowania i wprowadzenia wielozadaniowości systemów operacyjnych. Zadania wykonywane przez system operacyjny otrzymywały dostęp do pełnej wydajności procesora przez określony zakres czasu. Pozwoliło to na wprowadzenie wrażenia wykonywania zadań równolegle dla użytkownika końcowego, jednak kosztem coraz to bardziej zaawansowanych rozwiązań technicznych wewnątrz procesorów takich jak np. organizacja pamięci wewnętrznej cache drugiego i trzeciego poziomu, kolejki przetwarzania danych oraz specjalne mechanizmy operowania na mikro-kodzie programu w celu przyśpieszenia obliczeń. W pewnym momencie rozwój procesorów opisaną ścieżką napotkał na problemy związane z kilkoma przyczynami:. 13.

(14) •. Różnicą w częstotliwości pracy procesora i pamięci - efekt ten powodował powstawanie coraz to większych struktur pamięci podręcznych. Jednocześnie wymiana danych pomiędzy tymi pamięciami oraz pamięcią główną również wykazywała efekty spowolnienia. Efekt ten został nazwany Memory Wall[McK04].. •. Rozbudowaniem struktur wewnętrznych - procesory stawały się coraz bardziej skomplikowane i niewielkie zmiany w architekturze nie powodowały znaczących przyrostów wydajności. Dodatkowo ze względu na rodzaj wykonywanych zadań i wykorzystywanie proceduralnych języków programowania stawało się coraz trudniejsze dostarczenie coraz mocniejszym procesorom ciągłego strumienia instrukcji do wykonania. Problem ten został oznaczony jako ILP Wall[Gon99].. •. Mocą rozpraszaną przez układy - aby zwiększyć wydajność procesorów producenci zwiększali częstotliwości pracy głównego zegara. Zgodnie ze wzorem (1) moc wydzielana przez układ jest proporcjonalna do częstotliwości przełączania podstawowego budulca układów CMOS - bramki komplementarnej. Wpływ zwiększania częstotliwości można redukować znacząco przez zmianę napięcia zasilającego (2). Ze względu na to, iż moc wydzielana zależy liniowo od częstotliwości pracy a kwadratowo od napięcia zasilającego nawet mała zmiana napięcia powodowała znaczący spadek mocy. Efekt ten określano jako Power Wall[Mee99].. •. Powierzchnia układów - zwiększanie się zaawansowania budowy wewnętrznej procesorów powodowało konieczność rozbudowy struktur sterujących. Przy aktualnych dla danej generacji procesorów technologii tworzenia układów VLSI tj. minimalnej szerokości ścieżki w krzemie powodowało to powstawanie coraz to większych powierzchni układów i w konsekwencji zwiększenie się poboru prądu dla danego układu scalonego. Rozwiązaniem stało się zmniejszenie rozmiarów produkcyjnych. W tym przypadku zmniejszała się zarówno powierzchnia aktywna układu jak i całkowita moc tracona przez układ: P diss=C SW⋅ f ⋅V 2. (1). 14.

(15) gdzie Pdiss – całkowita moc tracona przez układ, Csw – pojemność przełączania, f – częstotliwość pracy układu, V – napięcie zasilające. Należy pamiętać, iż skalowanie częstotliwości pracy układu nie może być zwiększane w nieskończoność. Maksymalna częstotliwość pracy układu jest określona przez wzór[Bak98]: V −V THN 2 f max ≈ V. (2). gdzie V – napięcie zasilające, VTHN – jest napięciem progowym tranzystorów CMOS. Niestety w/w rozwiązania spowodowały piętrzenie się kolejnych problemów związanych z budową układów CMOS. Zmniejszanie napięcia zasilającego i rozmiarów produkcyjnych układów scalonych powodowało problemy z działaniem tranzystorów MOS. Do poprawnego działania i szybkiego przełączania układu ze stanu otwartego do zamkniętego wymaga się odpowiedniego napięcia bramki. Przy zmniejszaniu wymiarów fizycznych procesora konsekwentnie zmniejszał się rozmiar fizyczny powierzchni bramki. Efektem zmiany napięcia zasilania było przesunięcie progu przełączania tranzystora i trudności w fizycznym. wykonaniu. tranzystora. o. małych. rozmiarach. i. niskim. napięciu. przełączającym[Gon97]. Wszystkie w/w problemy spowodowały zatrzymanie się w rozwoju procesorów dla głównych producentów komercyjnych systemów scalonych. Obecnie od kilku lat można zaobserwować oferowanie komercyjne procesorów z częstotliwością pracy w okolicach 3GHz. Natomiast gdyby utrzymano zmianę częstotliwości pracy z końca 2005 roku aktualne procesory powinny pracować z częstotliwością ok. 5GHz. Wykres 7 przedstawia tą analizę. Przedstawiono na nim historię wprowadzania układów scalonych przez głównych producentów tj. firmy Intel i AMD z wyszczególnieniem maksymalnej częstotliwości pracy procesora dla danej rodziny układów scalonych. Dodatkowo na rysunku wykazano estymację aktualnej częstotliwości zegara procesora przy zachowaniu niezmienionego trendu wzrostu z lat 2001-2005. Jak widać obecna częstotliwość pracy jest znacznie niższa niż mogłoby wynikać z prognozy jeszcze w roku 2005. Zwiększanie poboru mocy przez w/w efekty spowodowało anulowanie w 2004 roku projektów procesorów Tejas oraz JayHawk firmy Intel. Ta data jest określana jako zakończenie epoki zwiększania wydajności procesorów poprzez metodę wzrostu częstotliwości taktowania.. 15.

(16) Częstotliwość pracy procesorów Dla f-my Intel/AMD 5000. Częstotliwość pracy [MHz]. 4500 4000 3500 3000 2500 2000 1500 1000 500 0 1992. 1994. 1996. 1998. 2000. 2002. 2004. 2006. 2008. 2010. Rok. Rys. 7: Historia zmiany częstotliwości pracy procesorów dla firm Intel/AMD. Na wykresie linią przerywaną zaznaczono estymację zmian częstotliwości względem zmian z lat 2000-2005 Jak przedstawiono powyżej ścieżka zwiększania wydajności procesorów poprzez zmianę częstotliwości pracy napotkała na znaczące przeciwności fizyczne. Wymusiło to na producentach systemów procesorowych zmianę podejścia i zaproponowanie alternatywnych rozwiązań. Alternatywą zyskującą coraz to większy obszar rynku jest technologia wieloprocesorowa. Wykazuje ona kilka etapów rozwoju, które były wymuszone dostępną w danym okresie czasu technologią wytwarzania takich systemów. Systemy wieloprocesorowe możemy podzielić na grupy na podstawie sposobu łączenia rdzeni obliczeniowych ze sobą: •. dwa lub więcej osobnych fizycznych procesorów montowanych na jednej płycie głównej - Symmetric Multiprocessing (SMP). •. procesory montowane w jednej obudowie - Multi Chip Module (MCM). •. procesory montowane na jednej płycie krzemu Chip Multiprocessor (CMP). Zgodnie z rysunkiem 6 pierwszym procesorem wielordzeniowym typu CMP był układ Power4 produkowany przez firmę IBM. Firma montowała go w systemach komputerowych serii RS/6000 oraz AS/400. Składał się on z dwóch rdzeni umieszczonych na jednej płycie krzemu. Częstotliwość taktowania zawierała się w zakresie 1.1 - 1.9 GHz w zależności od wersji. Budowa umożliwiała wykonywanie do 8 instrukcji w jednym cyklu zegara[Ten02]. Układ procesora Power4 znajdował również zastosowanie w układach MCM produkowanych 16.

(17) przez firmę IBM. Do 4 układów Power4 mogło zostać zamontowanych w pojedynczym układzie scalonym. Układ Power4 był początkiem drogi układów wielordzeniowych typu CMP. Jak przedstawiono na rysunku 6 wydanie tego procesora nie spowodowało lawinowego wzrostu liczby systemów CMP. Spowodowane to było dwoma powodami. Po pierwsze producenci w tamtych latach korzystali ze ścieżki zwiększania częstotliwości pracy procesorów w celu uzyskania jak największej wydajności. Drugim elementem był koszt oraz problemy techniczne w wytworzeniu takich układów - techniki VLSI posiadały dość niski uzysk z pojedynczego wafla krzemu[Sin03][Kor00]. Budowa procesora CMP, który wymagał stworzenia pojedynczego układu scalonego o dużej jak na tamten okres powierzchni powodowała znaczny wzrost kosztów jednostkowych. Te dwa elementy w połączeniu spowodowały, iż systemy CMP na kilka lat były montowane jedynie w ramach bardzo wydajnych jednostek obliczeniowych tworzonych specjalnie na zamówienie m.in. środowisk rządowych oraz naukowych. Opisywane wcześniej problemy tzw. trzech ścian (power, frequency, memory wall) spowodowały coraz to większy nacisk na znalezienie alternatywnych rozwiązań. Z tego też powodu (jak widać na rysunku 6) od roku 2005 można zauważyć stopniowe wprowadzanie układów CMP na masowy rynek sprzedaży komputerów osobistych i biurowych. Wzrost w obszarach konsumenckich wymagań co do mocy obliczeniowej był spowodowany głównie bardzo szybkim rozwojem rozrywki elektronicznej - począwszy od gier komputerowych do filmów wysokiej rozdzielczości. Trend ten jest obecnie bardzo widoczny. Elektroniczna rozrywka w tym roku została niekwestionowanym liderem w ilości kapitalizacji zysku nawet w porównaniu z telewizją i internetem. Wymagania co do wydajności jednostek obliczeniowych w przypadku takich systemów rosną lawinowo. Klient oczekuje fotorealistycznej grafiki, sztucznej inteligencji przeciwników na poziomie żywego gracza. Te elementy wymuszają zmianę sposobu tworzenia gier. Rynek ten nie jest już rynkiem entuzjastów tylko korporacji o miliardowych obrotach. Wszystkie w/w elementy wymuszają na producentach coraz to nowsze rozwiązania techniczne. Obecnie producenci oferują dla użytkownika końcowego uniwersalne procesory z liczbą rdzeni 2-4. Układy Intel Dual Core, Core 2 Duo, Quad Core lub rodzina serwerowych procesorów Xeon są takimi przykładami. Aktualnie prezentowane jako w fazie rozwoju są następujące rodziny procesorów wielordzeniowych: •. IBM Power 7 - kolejna iteracja procesorów rodziny Power. Składają się z 2/4/8 rdzeni. Na rysunku 8 przedstawiono schematycznie diagram budowy procesora o największej 17.

(18) liczbie rdzeni. Jak można zauważyć ze względu na konieczność budowy procesorów wraz z pamięcią podręczną obszar zajmowany przez poszczególne rdzenie jest niewielki w stosunku do całkowitej powierzchni układu. Dostępność komercyjna rok 2009. •. AMD Istanbul - układ typu CMP z 6 rdzeniami na jednej płycie krzemu. Architektura fizyczna została przedstawiona na rysunku 9. Dostępność komercyjna wg. producenta rok 2010.. •. AMD Magny-Cours - układ typu CMP z 12 rdzeniami na jednej płycie krzemu. Jest to ewolucyjne rozszerzenie układu AMD Istanbul do 12 rdzeni. Dostępność komercyjna rok 2011. Obecnie w fazie projektowania.. •. Intel Larabee - architektura projektowana przez firmę Intel od podstaw. Umożliwia skalowanie ilości rdzeni. Komercyjne mają być dostępne procesory z 24/32/48 rdzeniami. Układ znajduje się obecnie w fazie projektowania.. Rys. 8: Układ IBM Power 7 - rysunek poglądowy. 18.

(19) Rys. 9: AMD Instanbul - rysunek poglądowy Wszystkie zaprezentowane komercyjne układy wielordzeniowe charakteryzują się budową na której można wyznaczyć obszary przeznaczone na poszczególne rdzenie obliczeniowe oraz na elementy dodatkowe w tym zajmującą największą powierzchnię pamięć podręczną. Jak widać wszystkie nowe procesory oferowane przez głównych producentów są układami CMP. Kolejnym przykładem procesora jest alternatywne rozwiązanie umożliwiające budowę systemów o liczbie rdzeni liczonej w setkach. Układ Intel Polaris jest projektem rozwojowym firmy Intel [Intel08]. Ze względu na zastosowane rozwiązania nie jest obecnie planowana jego premiera komercyjna, jednak pierwsze próbki zostały zbudowane w laboratoriach firmy Intel. Układ Polaris jest jednym z efektów pracy projektu nazwanego 1TeraFlop Computing Project. Miał on na celu zbudowanie pojedynczego układu scalonego, którego moc obliczeniowa byłaby równa 1TFlop. Układ składa się z 80 rdzeni, które są regularnie rozmieszczone na całej powierzchni układu. Każdy z rdzeni składa się z elementu obliczeniowego i specjalizowanego router'a, który umożliwia komunikację z pozostałymi rdzeniami. Fizyczną architekturę procesora przedstawiono na rysunku 10. Jak można zauważyć istnieje zasadnicza różnica pomiędzy budową procesora Polaris i innych zaprezentowanych w tym rozdziale. Elementem tym jest obszar zajmowany przez procesory. W tym układzie 100% powierzchni jest przeznaczone na moduły obliczeniowe (rdzenie). Układy te muszą mieć dostęp do pamięci - czy to programu, czy danych – połączenia te umożliwiło zastosowanie technologii pamięci nakładanej (stacked RAM)[Pat08]. Układy pamięci znajdują się na kolejnej warstwie krzemu układu scalonego i komunikują się bezpośrednio z każdym rdzeniem z osobna. W ten sposób projektanci umożliwili dostęp 19.

(20) każdemu rdzeniowi do pamięci oraz jednocześnie zwiększyli możliwości maksymalizacji liczby rdzeni na określonej powierzchni krzemu. Budowa całego układu scalonego została przedstawiona na rysunku 11.. Rys. 10: Architektura procesora Intel Polaris. Rys. 11: Architektura połączeń pamięć - rdzenie obliczeniowe dla procesora Intel Polaris Układ Intel Polaris jest jednym z pierwszych z tak dużą liczbą rdzeni. Jednak na podstawie przekazów głównych projektantów firmy Intel należy się spodziewać w niedalekiej przyszłości układów scalonych z setkami rdzeni[Hel08]. W każdym z tych przypadków zagadnienia związane z termiką i poborem mocy będą odgrywały zasadnicze znaczenie w procesie projektowania. Aktualnie przedstawiony rynek produktów komercyjnych charakteryzuje się określonym wykorzystaniem mocy obliczeniowej w poszczególnych segmentach rynku. 20.

(21) Każdy z nich charakteryzuje się określonym modelem wykorzystania mocy obliczeniowej procesorów: •. Rynek mobilny - telefony oraz inne urządzenia typu Mobile Internet Devices (MID) charakteryzują się coraz to większym wymaganiem na moc obliczeniową. Urządzenia te dawno już przestały być tylko narzędziem do rozmów i krótkich wiadomości tekstowych. Obecnie użytkownicy korzystają za pomocą tych komputerów z multimediów (obraz, dźwięk) oraz dostępu do internetu. Wymagania na moc obliczeniową tych urządzeń można scharakteryzować za pomocą krótkich okresów, w których wymagana jest maksymalna moc obliczeniowa oraz dużo dłuższych okresów podstawowej aktywności, w której najważniejszym elementem jest zachowanie identyfikowalności urządzenia w sieciach teletransmisyjnych. Procesory w tym przypadku jako główne elementy swojej architektury muszą się charakteryzować: o małym całkowitym poborem mocy w stanie spoczynku 'idle' o dużymi możliwościami skalowana poboru mocy → wydajności o niskim napięciem zasilającym o małymi wymiarami ogólnymi. •. Systemy urządzeń biurowych/domowych - systemy te charakteryzują się łagodniejszymi wymaganiami w stosunku do poboru mocy i zależnościami termicznymi. Układy procesorowe mogą być w tych środowiskach montowane w urządzeniach zapewniających komfort termiczny kosztem większych gabarytów lub hałasu generowanego przez urządzenie. Profil poboru mocy przez te urządzenia można scharakteryzować jako okresowy wymóg pracy z maksymalną dostępną wydajnością - nawet kosztem zwiększenia hałasu, poboru mocy oraz okresami pracy z średnią wydajnością umożliwiającą na korzystanie z podstawowych zasobów systemów operacyjnych bez efektów multimedialnych. •. Systemy serwerowe oraz High Performance Computing - systemy, w których wymagana jest maksymalna możliwa wydajność przez cały czas pracy systemu. Budowa centrów obliczeniowych została tak zaprojektowana aby umożliwić pracę z maksymalną wydajnością bez względu na rozpraszaną w takich przypadkach moc i zagadnienia. termiczne.. Z. tego. powodu. geograficzna. lokalizacja. centrów. obliczeniowych ma coraz większe znaczenie[Bra09]. Obszary z niską średnią 21.

(22) temperaturą powietrza i bliskość cieków wodnych umożliwiających ich wykorzystanie do procesu chłodzenia są w tym przypadku kluczowe. Ze względu na coraz większe wymagania na liczbę takich centrów danych/obliczeniowych ich wpływ na środowisko staje się znaczący. Ostatnie opracowania[Gar08][Sha08][Shr08] wskazują na coraz większą świadomość środowisk naukowych na wpływ centrów obliczeniowych na lokalne efekty środowiskowe jak i na globalny efekt cieplarniany. W w/w centrach obliczeniowych wykorzystanie procesorów znajduje się blisko granicy 100%. W tych przypadkach elementy aktywnego chłodzenia systemów scalonych znajdują największe zastosowanie. Jak zostało przedstawione, zagadnienia termiczne będą odgrywały znaczącą rolę w przypadku aktualnych i nowych rozwiązań systemów procesorowych. W żadnej z dziedzin zastosowania takich komponentów nie ma możliwości ucieczki od zagadnień termicznych. Projektanci rozwiązują zagadnienia termiczne na wiele sposobów. W związku z tym przedstawiony powyżej krótki rys historii rozwoju procesorów wielordzeniowych, którego inspiracją są między innymi problemy termiczne pozwala uzasadnić dziedzinę problemu wybraną przez doktoranta. Dalsze rozdziały przedstawią szczegółową analizę prezentowanego problemu na tle zagadnień termicznych w systemach wielordzeniowych.. 22.

(23) 3 PROBLEMY TERMICZNE WSPÓŁCZESNYCH PROCESORÓW Zagadnienia termiczne jak przedstawiono w poprzednim rozdziale stanowią znaczny przyczynek w dalszym rozwoju systemów wielordzeniowych. Dodatkowo systemy te znajdują się obecnie w stanie ciągłego i intensywnego rozwoju. Grupa procesorów CMP jest coraz bardziej znaczącym elementem systemów wielkiej skali integracji. W związku z tym projektanci przeznaczają coraz to większe zasoby na etap projektowania tych układów. Zarys problemów termicznych przedstawionych w poprzednim rozdziale wymaga uzasadnienia i szczegółowej analizy. Jak przedstawiono w poprzednim rozdziale drastyczny rozwój architektur procesorów w kierunku budowy wielordzeniowej wprowadza wiele nowych zagadnień, które nie występowały w przypadku architektur jedno-rdzeniowych. W przypadku systemów wielordzeniowych możemy mówić o następujących zagadnieniach: •. Rozmieszczenie rdzeni i możliwość skalowania architektury - celem do którego dążą projektanci układów wielordzeniowych jest możliwość opracowania takiej architektury, w której w łatwy sposób można zwiększać liczbę rdzeni. Pozwoliłoby to na proste wprowadzania kolejnych wersji procesorów z danej rodziny. Niewątpliwie wytworzyłoby to znaczny sukces marketingowy oraz pozwoliło na amortyzację kosztów projektu w dłuższej perspektywie czasu. Niestety obecnie komercyjnie dostępne procesory wielordzeniowe ogólnego przeznaczenia nie wychodzą poza zakres 8 rdzeni na pojedynczym bloku krzemu.. •. Budowa. rodzin. procesorów. -. w. większości. przypadków. architektury. wielordzeniowe są tworzone na bazie istniejących procesorów superskalarnych. Projektanci na bazie multiplikacji rdzenia podstawowego tworzą dodatkowe moduły umożliwiające wymianę danych pomiędzy tymi procesorami oraz dostarczającą strumień danych do każdego z procesorów z osobna[Int08]. Niestety takie podejście nie umożliwia skalowania układów do ilości akceptowalnych przez przemysł. Obecne architektury po prostu nie są wystarczająco przygotowane do pracy w grupie większej niż kilka procesorów. Dodatkowo w tym efekcie uczestniczy warstwa systemu operacyjnego i aplikacji funkcjonalnych, której analiza zostanie rozszerzona w dalszej części rozdziału. 23.

(24) •. Zagadnienia dostępu do pamięci - obecnie produkowane układy operują na dużych obszarach pamięci podręcznych drugiego i trzeciego poziomu. Rozbudowanie ilości rdzeni powoduje multiplikację obszarów pamięci. Co przy wykonywaniu obliczeń numerycznych zależnych od siebie lub modyfikujących przebieg programu (tzw. branch kodu) powoduje unieważnienie dużej ilości operacji wykonywanych przez pozostałe rdzenie[Cas07][Jim01]. •. Zagadnienia termiczne - architektury obecnych systemów superskalarnych rozpraszają znaczne ilości mocy w postaci ciepła. Zmiana procesu produkcyjnego i zmniejszenie. częstotliwości. taktowania. przez różne metody. nie powoduje. wystarczającego zmniejszenia poziomów termicznych pracy układu scalonego[Sar97] [Cha02][Nag05]. Każdy z tych aspektów jest analizowany przez osobne grupy projektantów. Ze względu na zwiększenie ilości rdzeni następuje coraz to większy nacisk na ujęcie aspektów termicznych już na poziomie wstępnego projektowania układów scalonych. Działania te muszą mieć stałe miejsce w procesie projektowania aż do wytworzenia finalnego produktu. Analiza termiczna osiąga coraz to większe znaczenie przy tworzeniu nowych rodzin procesorów. Każda kolejna wersja procesora oferowanego przez danego producenta ze względu na uwarunkowania przedstawione w rozdziale pierwszym musi dostarczyć zarówno większej wydajności jak i cechować się mniejszym rozpraszaniem mocy. Analizę termiczną można podzielić na kilka obszarów, w których niezbędne jest przeprowadzenie szczegółowych badań dotyczących możliwości termicznych układów scalonych. Termiczne zjawiska zachodzące w układzie scalonym można podzielić na dwie główne grupy: 1. Statyczne rozpraszanie mocy oraz temperatura średnia układu [Rel02][Dir90] [Che00][Wch00] - elementy statyczne obejmują warunki pracy układu wynikające z procesu technologicznego takie jak maksymalna dopuszczalna temperatura pracy układu scalonego, wpływ chwilowej temperatury pracy układu na jego niezawodność, wpływ temperatury na efekty połączeń między-warstwowych, zagadnienia pracy układów elektronicznych w środowiskach ekstremalnych, mechanizmy wymiany ciepła pomiędzy układem scalonym a środowiskiem zewnętrznym i efektywność tej wymiany. 24.

(25) 2. Dynamiczne aspekty związane z zagadnieniami termicznymi podczas zmiany stanu układu[Sze96] - elementy biorące udział w dynamicznych procesach termicznych to wszystko analizy związane z wykonywaniem obliczeń przez poszczególne bloki funkcjonalne układu. W momencie aktywacji i obliczania danych z wymaganą pełną mocą obliczeniową następuje dynamiczna zmiana warunków termicznych na powierzchni układu scalonego. Poszczególne moduły funkcjonalne realizując obliczenia zwiększają pobór mocy. Zmiana ta powoduje lokalny wzrost temperatury na okres danej aktywności. Po zakończeniu prac temperatura ze względu na zmianę całkowitej mocy traconej w tym obszarze również się zmienia. Ze względu na wzór (1) istnieje możliwość modyfikacji parametrów pracy układu scalonego tak aby zminimalizować wpływ aktywności modułów na całkowitą temperaturę chwilową układu. Prace te można podzielić na trzy główne grupy: sterujące napięciem zasilającym (Dynamic Voltage Scaling), sterujące częstotliwością pracy modułu (Dynamic Fequency Scaling) oraz zmieniające aktywność poprzez sterowanie dostępem do głównego zegara (Dynamic Clock Throttling).. Wszystkie wymienione wyżej aspekty zagadnień termicznych wymagają szczegółowego omówienia i wyznaczenia kontekstu pracy doktoranta. Każdy scalony układ półprzewodnikowy zbudowany jest z określonego materiału podłoża. Czy jest to krzem, german czy arsenek galu wszystkie elementy tworzące strukturę umieszczane są poprzez metody epitaksji, implantacji jonowej lub innej na powierzchni podłoża. Dana struktura tworzy zaawansowane połączenia z wykorzystaniem aluminium lub miedzi. Cała struktura posiada określoną wytrzymałość termiczną. Patrząc na elementy jak na obszar materiału np. krzemu można określić jego maksymalną temperaturę, w której może jeszcze zachowywać stan ciała stałego. Niestety w przypadku układów o w/w budowie nie można założyć takiego uproszczenia. W tym przypadku oznaczałoby to, iż układ może pracować przy temperaturach rzędu setek stopni Celsiusza. W przypadku rzeczywistych układów półprzewodnikowych jest to fałszywe stwierdzenie. Układ półprzewodnikowy o określonej technologii wytworzenia posiada własną określoną maksymalną temperaturę, w której zachowuje wszystkie swoje charakterystyki. Dla najpopularniejszej technologii CMOS górna granica temperatury została określona na 90-100°C dla technologii 0.35um [Vas06]. Jest to wielokrotnie mniej niż maksymalna temperatura topnienia krzemu. Tak duże 25.

(26) ograniczenie wynika z procesów zachodzących w układzie w trakcie wzrostu temperatury wewnętrznej. Aktualnie nowoczesne procesory wymagają do swojej pracy odpowiedniego stanu termicznego, który umożliwi pracę do określonej przez producenta maksymalnej temperatury pracy. Na rysunku 12 umieszczono przykładowe maksymalne temperatury pracy dla grupy popularnych aktualnie produkowanych układów procesorowych.. Maksymalne temperatury procesora 100 90 80 70 60 50 30 20 10. Mobile Core 2 Duo. Mobile Celeron. AMD Sempron (T-bred/Barton). AMD Athlon XP 1.33Ghz+. AMD Athlon XP Barton. Intel Itanium 2 1Ghz - 1.6Ghz. Intel Core 2 Duo (Conroe E4x00). AMD Sempron (Paris). AMD Athlon 64. Pentium D (Smithfield 830, 840). Celeron D (Prescott). Intel core 2 Duo (Conroe E6x00). 0. Intel Core 2 Extreme (Conroe). Temperatura [C]. 40. Rys. 12: Maksymalne temperatury pracy dla układów procesorowych Jak widać przy porównaniu maksymalnej temperatury dla procesu CMOS z temperaturami określanymi przez producentów wartość tej temperatury jest znacznie niższa niż maksymalna dopuszczalna dla tej technologii. Wartość maksymalnej temperatury oscyluje w granicach 90°C. Takie podejście wynika ze spraw związanych z niezawodnością oraz efektów termicznych występujących w elementach łączących poszczególne elementy w strukturze krzemu. Zagadnienia połączeń zostaną omówione w dalszej części rozdziału. Skupmy się natomiast na wpływie temperatury na ogólną niezawodność urządzenia. Skorzystamy w tym przypadku z wzoru Arrhenius'a[Str09], które wiąże ze sobą stałą szybkości reakcji z energią aktywacji i temperaturą, w której reakcja zachodzi:. 26.

(27) k = A exp.   −E a RT. (3). gdzie: k - stała szybkości reakcji, A - stała dla danej reakcji, zwana też czynnikiem przedwykładniczym, Ea - energia aktywacji, R - (uniwersalna) stała gazowa, T - temperatura. Na podstawie wzoru (3) określono wzór, który pozwala wyliczyć średni czas pomiędzy uszkodzeniami danego elementu fizycznego - w tym przypadku układu elektronicznego. Wzór przedstawiono jako (4). MTTF = A⋅exp.   Ea RT. (4). gdzie MTTF to Mean Time to Failure – średni czas do uszkodzenia elementu, A to stała danej reakcji, Ea to energia aktywacji, R - stała gazowa a T temperatura układu. Na podstawie tego wzoru można określić czas pomiędzy awariami danego elementu. Jak widać temperatura odgrywa znaczącą rolę w tym oddziaływaniu. Im mniejsza temperatura tym mniejsze prawdopodobieństwo wystąpienia awarii układu w danym okresie czasu. Lista parametrów mających wpływ na energię aktywacji dla poszczególnych mechanizmów uszkodzeń została przedstawiona w tabeli 1.. 27.

(28) Element układu. Mechanizm uszkodzenia. Zmienne wpływające. Zmienne przyśpieszające. Energia aktywacji [eV]. SiO2 oraz Si-SiO2. Ładunek powierzchniowy. Ruchome jony. V,T. 1,0-1,05. Przebicie dielektryka. ε, T. ε, T. 0,2 — 1,0. Wstrzyknięcie ładunku. ε, T, Qss. ε, T. 1,3. Elektromigracja. T, j, A, gradient T lub j. T, j. 0,5-1,2. Korozja (chemiczna, galwaniczna itp.). Zanieczyszczenia, H, V, T. H, V, T. ~0,3-0,6. Zniszczenia połączeń. T, nieczystość metalu. T. Wzrost metalu. T, nieczystość, siła powiązań. T. Metalizacja. Wyprowadzenia i inne el. mechaniczne. Zmęczenie materiału. W Al-Au E = 1,05 eV. Siła powiązań, Ekstremalne zmiany zmiany temperatury T. Przenikanie metalu. Przenikanie metalu Al do Si. T, j, A. T, j. Szczelność. Przecieki w zalewaniu. Atmosfera, ciśnienie. ciśnienie. 1,4-1,6. Tabela 1: Energia aktywacji dla poszczególnych mechanizmów uszkodzeń[Ohr98] Każdy z w/w mechanizmów wpływa w określony sposób na uszkodzenia elementów elektronicznych. Z tego powodu producenci starają się, aby układ pracował z jak najniższą temperaturą własną. Pozwala to na zachowania wskaźnika MTTF na tak wysokim poziomie, iż mało prawdopodobne jest wystąpienie awarii w czasie realnego, komercyjnego okresu używania danego procesora - w obecnych warunkach rynkowych jest to 5-10 lat[Ban99]. W przypadku stosowania układów półprzewodnikowych należy też w przypadku niezawodności i temperatury pracy wziąć pod uwagę efekt elektromigracji, na który również duży wpływ ma aktualna temperatura pracy[Pe99]. Efekt elektromigracji jest to wewnętrzny mechanizm zużywania się budowy układów elektronicznych. Jednak ze względu na interakcję pomiędzy defektami, elektromigracja nie objawia się dopóki dany system nie jest w użyciu przez znaczący czas. Jeśli problem ten nie jest usunięty podczas projektowania, układy VLSI stają się wrażliwe na ten sposób uszkodzeń. Efekt ten nie jest wykrywalny podczas testowania w. 28.

(29) procesie produkcji. Jest to proces dyfuzyjny, który występuje gdy gęstość prądu przenoszonego przez ścieżki łączące elementy elektroniczne jest wystarczająco duża aby wytworzyć efekt migracji (dyfuzji) atomów metalu w kierunku przepływu strumienia elektronów[Che00]. Liczba jonów ulegających temu efektowi jest zależna od: •. amplitudy sił, które utrzymują elektrony na miejscu i mają wpływ na naturę przewodności oraz wielkość siatki krystalicznej. •. amplitudy sił, które mają wpływ na wybicia elektronów z ich orbit w atomie, wliczając w to gęstość prądu elektronów, temperaturę oraz naprężenia mechaniczne. Temperatura jak widać posiada udział również w tym elemencie wpływającym na niezawodność układów elektronicznych. Podsumowując, każda zmiana temperatury na wyższą powoduje zwiększenie się prawdopodobieństwa wystąpienia uszkodzeń struktur elektronicznych. Czy to dotyczy natychmiastowego uszkodzenia - w przypadku nagłego wzrostu temperatury poza graniczne wartości, czy zwiększania wartości temperatury powyżej zalecanego doświadczalnie bezpiecznego zakresu temperatur, należy przedsięwziąć określone kroki aby minimalizować pracę przy maksymalnej granicznej temperaturze pracy układów elektronicznych dla danej technologii. Należy tutaj zaznaczyć, iż intencją autora nie jest w tym miejscu zaznaczenie, iż uszkodzenie struktury elektronicznej następuje natychmiastowo powyżej danej temperatury granicznej. Jak wykazuje praktyka należy wybrać temperaturę pracy układu, dla której MTTF przekracza planowany czas życia danego układu elektronicznego. Akceptowalna wartość MTTF jest zmienna nawet dla tej samej technologii i jest wynikiem analiz kosztów wymiany danego elementu i kosztów jego awarii. Wiadomo, że czym innym jest środowisko biurowe a czym innym przestrzeń kosmiczna, w której samo wysokie prawdopodobieństwo wystąpienia awarii dyskwalifikuje całkowicie produkt[Sto01]. Tak samo jest w przypadku aktualnie wytwarzanych procesorów komercyjnych. Wiadomo jest, iż proponowane przez producentów akceptowalne temperatury pracy leżą poniżej granicznej wartości temperatur. Takie podejście zapewnia na tyle wysoką wartość MTTF, iż mogą one być spokojnie oferowane do mniej wymagających środowisk pracy układów elektronicznych. Analizując możliwości pracy układów elektronicznych i ich niezawodność należy również wziąć pod uwagę wpływ temperatury na niezawodność połączeń międzyelementowych (interconnect) u układzie VLSI. Elementy połączeń w przypadku zwiększania się komplikacji układów scalonych zaczynają zajmować coraz to większą powierzchnię 29.

(30) układu. Dodatkowo stopień komplikacji tych połączeń staje się zagadnieniem nietrywialnym. Na rysunku 13 przedstawiono przekrój układu scalonego w technologii 0,13um otrzymany z mikroskopu dla rzeczywistego układu scalonego.. Rys. 13: Przekrój układu scalonego w technologii 0.13um (Fotografia © Intel Corporation). Istniejące połączenia pomiędzy poszczególnymi tranzystorami oraz w skali makro dla modułów funkcjonalnych charakteryzują się różną długością. W układzie scalonym podział traconej mocy dynamicznej można podzielić na kilka elementów. Na podstawie badań można wykazać podział mocy dynamicznej traconej w sieci połączeń układu scalonego zgodnie z rysunkiem 14. Istnieje wiele prac omawiających rozpraszanie mocy oraz zagadnienia termiczne dla połączeń między-elementowych.. 30.

(31) Tracona moc dynamiczna 80. 60 50 40 30 20 10. 40000. 20000. 9000. 7000. 5000. 3000. 1000. 800. 600. 400. 20 0. 90. 70. 40. 20. 9. 7. 5. 3. 0 1. Znormalizowana moc dynamiczna. 70. Długość ścieżki [um] Bramka CMOS. Dyfuzja. Połączenia. Rys. 14: Podział traconej mocy dynamicznej na sieci połączeń[Mag04] Jak wykazano w artykułach [Mag04][Roch06][Ram04][Ban02] moc tracona w połączeniach między-elementowych układów VLSI przyczynia się do konieczności dokładnej analizy sposobu działania układów scalonych wraz z określeniem sposobu przesyłania danych pomiędzy poszczególnymi blokami układu scalonego. W tym przypadku ustalenie odpowiedniej architektury możne zmniejszyć wpływ[Mag04] mocy traconej w połączeniach między-elementowych na temperaturę wewnętrzną układu scalonego. Należy zaznaczyć, iż opisana tutaj wartość maksymalna temperatury układu określa temperaturę układu, która jest możliwa do zmierzenia przez sensory termiczne umieszczone w danym układzie. Najczęściej stosowanym do pomiaru sensorem jest złącze P-N ogólnodostępne w strukturze układów CMOS. Na podstawie informacji pobranych z tego sensora następuje określenie aktualnej temperatury układu i podjęcie ewentualnych działań zapobiegających wzrostowi temperatury ponad określone limity[Rot06]. Zgodnie z zasadą działania elementy te wymagają określonego czasu na przeprowadzenie akwizycji danych termicznych i przetworzenie ich w postać cyfrową, która jest następnie analizowana przez elementy decyzyjne procesora. Każdy ze stopni przetwarzania wprowadza swój czas obsługi, który w konsekwencji może spowodować chwilowe przegrzanie układu elektronicznego ponad ustalony limit temperatury. Dodatkowo ważną obserwacją jest to, iż obecnie 31.

(32) produkowane układy scalone charakteryzują się powierzchnią liczoną w setkach mm2. Natomiast sensory termiczne umieszczane są w ograniczonej liczbie na całej powierzchni układu - najczęściej stosuje się maksymalnie kilka sensorów w miejscach najbardziej narażonych na nieplanowany wzrost temperatury chwilowej. Z w/w powodów producenci układów scalonych ustalają limity temperatur pracy na niższe wartości w stosunku do granicznej temperatury dla danej technologii. Każda reakcja na zmianę temperatury musi być zrealizowana na tyle wcześnie, aby wykryć wszelkie możliwe przekroczenia temperatury pracy. Elementem umożliwiającym układowi scalonemu zapewnienie odpowiedniego poziomu termicznego pracy jest odpowiednio skonstruowane chłodzenie aktywne. Na te elementy składa się odpowiednio zaprojektowana obudowa układu, która przy wykorzystaniu radiatorów, ogniw Peltiera oraz wentylatorów zapewnia odpowiedni transfer energii termicznej poza strukturę krzemową układu scalonego[Kak94]. Elementy te są projektowane w taki sposób, aby przy pełnej aktywności układu zapewnić pracę na określonym limicie termicznym układu. W systemach, w których pobór mocy oraz inne zagadnienia np. akustyka określają komfort pracy oraz całkowity pobór prądu istnieje konieczność minimalizacji tych niekorzystnych wskaźników. Elementy te w celu kontroli w/w parametrów są sterowane na podstawie informacji przekazywanych przez układ scalony. Sterowanie to jest realizowane z pewnym opóźnieniem w stosunku do momentu wystąpienia zdarzenia termicznego. Negatywną konsekwencją tego zjawiska jest możliwość zwiększenia się temperatury układu do zakresu przekraczającego dopuszczalne wartości jeszcze przed uruchomieniem chłodzenia aktywnego. Podsumowując można wskazać komponenty sterowania pracą układów scalonych w zakresie analizy termodynamicznej. Komponenty te to: •. sensory termiczne rozmieszczone w określonych, charakterystycznych punktach termicznych układu. •. chłodzenie aktywne – wentylatory, radiatory, układy Peltiera – wymuszające wymianę ciepła z układu elektronicznego do otoczenia. •. mechanizmy kontroli termicznej na podstawie danych odbieranych z sensorów i przekazywanych do chłodzenia aktywnego. 32.

(33) Opisany sposób działania w/w elementów jednoznacznie wskazuje, iż należy projektować te elementy w taki sposób, aby nie przekroczyć maksymalnych limitów temperatury dla jakiegokolwiek elementu układu scalonego. Powoduje to, iż zalecana wartość maksymalnej dopuszczalnej temperatury pracy ustalana jest na tak niską wartość, aby zapewnić odpowiednią wartość MTTF przy zastosowaniu w/w komponentów. Należy podkreślić, iż wartość ta jest w głównej mierze wynikiem bezwładności sterowania aktywnego chłodzenia i brakiem możliwości reakcji na zmianę temperatury chwilowej niż rzeczywistymi wynikami analitycznymi obliczeń wartości MTTF dla danej technologii pracy.. Rys. 15: Model układu CMOS z zaznaczeniem pojemności oraz napięć i prądów Moc rozpraszaną przez układy elektroniczne, a zwłaszcza przez układy CMOS, których podstawowym budulcem jest bramka CMOS przedstawiona na rysunku 15 można podzielić ze względu na pochodzenie zgodnie ze wzorem:. 33.

(34) P diss =P dynP q −sP static. (5). Gdzie: – Pdyn – moc dynamiczna, która jest określona wzorem:. P dyn=  C Lin C Lext ⋅ f ⋅V 2dd. (6). – Pq-s – moc strat w przypadku quasi-zwarciowej ścieżki w momencie przełączania, zgodnie ze wzorem: P q− s ≈t rt f . (7). avg. – Pstatic – moc statyczna Straty mocy statycznej wynikają z własności fizycznych układu scalonego oraz z parametrów elektrycznych takich jak napięcie zasilające. Moc dynamiczna powstaje jedynie w momencie przełączania stanu inwertera CMOS ze stanu otwartego do zamkniętego. Aby zaradzić stratom mocy dynamicznej stosuje się różne metody, które umożliwiają w sposób aktywny sterowanie poborem mocy przez ten układ. Jest to realizowane poprzez kontrolę wykonywanych zadań przez układ scalony, tak aby ograniczyć pobór mocy dynamicznej. Elementy sterowania możemy podzielić na kilka grup, które charakteryzują się określonymi metodami zapobiegania temu zjawisku. Jak przedstawiono we wzorze (5) w przypadku projektowanych układów scalonych istnieje kilka ścieżek modyfikacji pracy tego układu aby zminimalizować moc traconą. Na podstawie w/w wzoru projektanci mają realny wpływ na częstotliwość pracy lub napięcie zasilające. Elementy te podlegają zmianom w proponowanych technikach, które można podzielić na trzy kategorie algorytmów sterujących dynamicznym poborem mocy: •. Skalowanie napięcia zasilającego (Dynamic Voltage Scaling/DVS). •. Skalowanie częstotliwości pracy (Dynamic Frequency Scaling/ DFS). •. Bramkowanie głównego zegara (Dynamic Clock Throttling/ DCT). 3.1 MECHANIZM SKALOWANIA NAPIĘCIA ZASILAJĄCEGO Mechanizm polega na zastosowaniu zaawansowanych metod sterowania napięciem zasilającym. Napięcie zasilające ograniczane jest w przypadku, gdy dany obszar/rdzeń układu 34.

(35) scalonego nie jest używany. Dodatkowo istnieje możliwość zmniejszenia napięcia zasilającego w przypadku zmiany częstotliwości pracy układu. Systemy, które oferują możliwość pracy z wieloma częstotliwościami zegara głównego pozwalają jednocześnie na minimalizację napięcia zasilającego. Obrazowo działanie metody skalowania napięcia zasilającego przedstawiono na rysunku 16, gdzie tf_down i tf_up to czas w którym następuje zmiana napięcia/częstotliwości pracy układu.. Rys. 16: Schemat przedstawiający mechanizm działania skalowania napięcia zasilającego i częstotliwości W ramach badań przeprowadzono prace związane z analizą oddziaływań radiacyjnych podczas skalowania napięcia zasilającego układów scalonych[Sun09]. Analiza ta jest niezmiernie ważna w przypadku wystąpienia zjawisk Single Event Upset (SEU). Zdarzenia te wpływają bardzo niekorzystnie na czas działania urządzenia. Zjawisko to będzie się nasilało w systemach pracujących z mechanizmem skalowania napięciem zasilającym lub z zakresami napięć blisko napięć progowych dla danej technologii. Innymi elementy analizowanymi były przerzutniki w trakcie pracy ze zmiennym napięciem zasilającym[Dao01]. Inne badania dotyczyły zmiany napięcia zasilającego spowodowanego przez wymagania określonej wydajności jak i przez rozrzut produkcyjny i położenie elementów na powierzchni układu[Rua07]. Mechanizm skalowania napięcia zasilającego znalazł również zastosowanie w przypadku systemów klastrowych. Zadania przekazywane pomiędzy elementami klastra 35.

(36) powodują powstawanie opóźnień i braku aktywności poszczególnych elementów. Wprowadzenie skalowania napięcia zasilającego powoduje znaczny zysk energii, a w konsekwencji temperatury. W temacie zagadnienia powstały również algorytmy sterowania zmianą napięcia wejściowego systemu w przypadku kwantyzacji poziomów napięcia zasilającego[Chan01]. Mechanizm skalowania napięcia zasilającego można również powiązać z warstwą oprogramowania[Fla02], która na podstawie aktualnej aktywności rdzenia realizuje mechanizm sterowania. Przeglądową analizę mechanizmów sterowania napięciem zasilającym zawiera artykuł[Nur03]. Innymi propozycjami, który brane są pod uwagę w przypadku sterowania napięciem zasilającym są mechanizmy zarządzania skalowaniem, które obejmują takie metody jak sterowanie PID oraz zastosowanie heurystyki[Ank03], mechanizmy przewidywania zadań w czasie rzeczywistym[Kim02][Tia08], sterowanie mechanizmem wyboru i częstości przełączania[Bier04]. Osobnym zagadnieniem są systemy multimedialne. [Uru07][Yua04],. systemy. mobilne[Tam03][Pil01]. ze. szczególnym. uwzględnieniem ogólnego mechanizmu zarządzania napięciem przy systemach o niskim napięciu zasilającym[Pil01][Pou01]. Przykładowe powiązane rzeczywiste zmiany napięcia i częstotliwości pracy dla procesora Intel Pentium M® zostały przedstawione w tabeli 2. Napięcie zasilające (V) 0.988 1.052 1.100 1.148 1.196 1.244 1.292 1.34. Częstotliwość (MHz) 600 800 1000 1200 1400 1600 1800 2000. Tabela 2: DVS oraz DFS dla procesora Pentium M®[Han05]. 3.2 MECHANIZM SKALOWANIA CZĘSTOTLIWOŚCI PRACY Mechanizm dynamicznego sterowania częstotliwością pracy układu scalonego jest drugim co do popularności mechanizmem ograniczania strat mocy w układach scalonych. Jak przedstawiono we wzorze (5) największy wpływ na moc traconą ma napięcie zasilające. Obniżenie napięcia zasilającego wprowadza kwadratowe zmiany w porównaniu do zmiany 36.

(37) pozostałych parametrów. Z tego powodu liczba publikacji operujących na napięciu zasilającym jest dużo większa niż dla pozostałych zmiennych. Jednakże skalowanie częstotliwości pracy układu scalonego również ma istotny wpływ na pracę i moc pobieraną przez układ scalony. Ogólny mechanizm skalowania częstotliwości pracy został przedstawiony na rysunku 16. W literaturze prezentowane są analizy skalowania częstotliwości pracy dla systemów wbudowanych[Zha09]. Bardzo często analizy te są powiązane w kompleksowe rozwiązanie razem z mechanizmem skalowania napięciem zasilającym[Mag03] - oczywiście uzyskując znacznie lepsze rezultaty. Mechanizm skalowania częstotliwości pracy może być inicjowany przez użytkownika, jak i zaszyty w warstwie systemu operacyjnego lub nawet w warstwie sprzętowej układu ukrywając to zachowanie przed użytkownikiem. Ma to uzasadnienie w przypadku, gdy moc obliczeniowa wymagana przez użytkownika wielokrotnie przekracza oferowaną przez układ scalony w standardowym trybie pracy.. 3.3 MECHANIZM BRAMKOWANIA GŁÓWNEGO ZEGARA Mechanizm. bramkowania. głównego. zegara. powstał. poprzez. ograniczenie. częstotliwości pracy układu za pomocą wyłączania głównego zegara przez określony czas. Te operacje wykonywane są lokalnie dla określonych modułów funkcjonalnych systemu scalonego. Mechanizm ten został nazwany bramkowaniem zegara taktującego (Dynamic Clock Throttling). Zasada działania bramkowania zegara taktującego została przedstawiona na rysunku 17.. Rys. 17: Zasada działania mechanizmu bramkowania zegara taktującego 37.

(38) dodatkowe aspekty termiczne w pierwszej kolejności autor przedstawi specyfikę układów wielordzeniowych oraz sposób działania w kontekście systemu operacyjnego. U podstaw aktualnych systemów wielordzeniowych leży zagadnienie wydajności obliczeniowej poprzednich generacji procesorów. Szczegółowy rys przedstawiono we wstępie pracy doktorskiej. Konsekwencją jest kierunek produkcji procesorów o kilku lub kilkunastu rdzeniach obliczeniowych. W poprzednich generacjach układów scalonych pojedynczy procesor. posiadał. zmiennoprzecinkowych. kilka. elementów. umożliwiających. obliczeniowych realizację. (modułów). systemów. -. stało. superskalarnych. i tj.. realizujących kilka operacji w pojedynczym cyklu zegara[Hen07]. Systemy wielordzeniowe postanowiły wprowadzić dodatkowo multiplikację na poziomie głównego procesora - jest to typowa ewolucja układów pozwalająca stosunkowo niskim kosztem zwiększyć moc obliczeniową. Niewielu producentów postanowiło zaprojektować system wielordzeniowy od podstaw. Jednym z takich przykładów jest układ CELL produkcji konsorcjum IBM, Toshiba oraz SONY[Eich05]. Projekt miał na celu stworzenie komercyjnego rozwiązania uniwersalnego procesora wielordzeniowego, który znajdzie zastosowanie w produktach elektroniki użytkowej i systemach komputerowych produkowanych przez współtwórców. Projektanci postanowi odejść od standardowego rozwiązania związanego z multiplikacją już istniejących rdzeni. Zaproponowali całkowicie nowe rozwiązanie[Pha06]: stworzenie grupy specjalizowanych rdzeni obliczeniowych. Każdy z rdzeni posiada własną pamięć lokalną, na której przeprowadza obliczenia związane z określonym zadaniem. Rdzeń może w tym przypadku odwoływać się do globalnej pamięci zewnętrznej w celu pobrania/zapisania wyników obliczeń. Każdy z rdzeni powinien być jak najbardziej uniwersalny i niezależny od pozostałych. Projekt zmaterializował się w roku 2007. Schemat budowy wewnętrznej procesora znajduje się na rysunku 18.. 38 Rys. 18: Schemat budowy wewnętrznej procesora CELL.

(39) magistrala komunikacyjna pomiędzy rdzeniami SPE. Projekt zdefiniował zadania rdzeni wchodzących w projekt tego procesora w następujący sposób: •. każdy rdzeń jest elementem samodzielnym. •. rdzeń posiada własną lokalną pamięć danych i kodu aplikacji. •. system umożliwia zdefiniowanie dla dowolnego rdzenia zadania do wykonania. •. system nadzorujący ma możliwość zdefiniowania zadania, uruchomienia oraz monitorowania statusu zakończenia zadania. •. rdzeń ma możliwość dostępu do globalnej pamięci danych. •. każdy rdzeń posiada własny element sterujący odpowiedzialny za zarządzanie energią. Jak widać zadaniem głównego procesora jest jedynie tworzenie zadań do wykonania przez poszczególne rdzenie oraz monitoring wykonania tych zadań. W cyklu rozwojowym wykazywanym przez producentów układów scalonych ten mechanizm rozwoju znajduje własne realizacje takie jak przedstawiane już procesory Intel Polaris, Nvidia Fermi itp. Schemat procesora Nvidia Fermi z setkami małych rdzeni obliczeniowych został przedstawiony na rysunku 19. W tym przypadku udowodniono trend rozwoju procesorów wielordzeniowych. Jak widać trend ten określający setki rdzeni w niedalekiej przyszłości jest jak najbardziej prawdziwy.. Rys. 19: Schemat budowy procesora Nvidia Fermi. 39.

Cytaty

Powiązane dokumenty

Wyznacz energię wewnętrzną i pojemność cieplną układu N rozróżnial- nych, nieoddziałujących

▪ Korzystając ze związku między natężeniem pola E a potencjałem V oblicz różnicę potencjałów między okładkami oraz wyprowadź wzór na pojemność tego kondensatora..

Zajmijmy się jeszcze na chwilę energią potencjalną naładowanego przewodnika.. Jeszcze

Udowodniono, że najkrótszy czas miarodajny do wymiarowania zbiornika dolnego ZR2 może wystąpić przy wszystkich układach hydraulicznych zbiornika górnego i jest zależna

Potencjał kuli przewodzącej

Okładki mają na swych wewnętrznych powierzchniach ładunki o takich samych wartościach q, ale o przeciwnych zna- kach. b) Linie pola pokazują, że pole elektryczne wytworzone

które przy dalszym powiększaniu natężenia pola prowadzą do przebicia warstwy dielektryka.. Największą wartośd natężenia pola E max , która nie wywołuje jeszcze

Odmiany tej technologii, które charakteryzują się następującymi parametrami poboru prądu (Icc) oraz prędkości (Fmax):.. CMOS standard - podstawowym elementem technologii