Home Praca zdalna Po co tyle rdzeni?

Po co tyle rdzeni?

0
0
139

Coraz większa popularność sieci bezprzewodowych oraz sieci komórkowych umożliwiających szybki przesył danych oznacza, że w przyszłości urządzenia mobilne będą również wykonywać wiele innych, wymagających obliczeniowo zadań, które do tej pory pozostawały domeną tradycyjnych komputerów osobistych. Tablety i smartfony nowej generacji  umożliwiają odtwarzanie filmów w wysokiej rozdzielczości (1080p), uruchamianie gier i odtwarzanie filmów w technologii Flash, obsługę bogatych wizualnie gier, edytowanie materiału wideo, symultaniczne pobieranie, kodowanie i przesyłanie materiału wideo w wysokiej rozdzielczości, a także prowadzenie wideo-konferencji realizowanych w wysokiej rozdzielczości i w czasie rzeczywistym.

Obecna generacja procesorów mobilnych nie jest w stanie sprostać ogromowi tych zadań, gdyż wymagają one wysokiej wydajności. Uruchomienie wielu aplikacji jednocześnie lub jednego, acz wymagającego programu (czyli np. gry, aplikacji do wideo-konferencji, czy też aplikacji do edytowania materiałów wideo) na urządzeniu z procesorem jednordzeniowym skutkuje drastycznym spadkiem wygody użytkowania. Inżynierowe projektujący urządzenia mobilne stosują szereg technik mających na celu zwiększenie wydajności procesora centralnego: używają szybszych i mniejszych półprzewodników, zwiększają częstotliwość zegara i napięcie rdzenia, a także montują większe rdzenie lub więcej pamięci podręcznej układu.

Wielkość ma znaczenie

Zwiększenie rozmiaru rdzenia czy ilości pamięci podręcznej procesora centralnego zapewnia wzrost wydajności, tego zabiegu nie można stosować jednak w nieskończoność. W pewnym momencie projektanci urządzeń mobilnych napotykają barierę: duże układy wydzielają zbyt wysoką temperaturę. Trudności w jej odprowadzeniu sprawiają, że dalsza rozbudowa staje się niepraktyczna. Według podstawowych zasad fizyki półprzewodnikowej, zwiększenie wydajności pracy i napięcia w urządzeniach opartych na półprzewodnikach skutkuje wykładniczym wzrostem poboru energii. Zwiększenie wydajności poprzez podniesienie częstotliwości zegara oraz napięcia układu skutkowałoby więc drastycznym skróceniem czasu pracy na akumulatorach. Należy również pamiętać, że procesory zużywające więcej energii wymagają zastosowania odpowiednio większych układów chłodzenia, co wymusza niepożądany rozrost gabarytów urządzenia. W obliczu tych faktów można stwierdzić, że proces zwiększania częstotliwości zegara procesora w celu zaspokojenia potrzeb coraz bardziej wymagających aplikacji mobilnych nie jest rozwiązaniem możliwym do zastosowania w przyszłości.

W tej sytuacji producenci urządzeń mobilnych, chcąc zaspokoić rosnące zapotrzebowanie na wydajne i ultra-cienkie urządzenia mobilne, sięgnęli po nowocześniejsze technologie – mechanizm przetwarzania symetrycznego (SMP) oraz heterogeniczną architekturę wielordzeniową.

Przetwarzanie symetryczne (SMP)

Dzięki technologii przetwarzania symetrycznego, procesory mobilne osiągają wyższą wydajność, nawet w sytuacjach zwiększonego zapotrzebowania, nie nadwyrężając przy tym akumulatorów urządzeń mobilnych. Architektura wielordzeniowa z funkcją przetwarzania symetrycznego to:

  • Architektura złożona z dwóch lub większej liczby identycznych rdzeni procesorów centralnych.
  • Architektura, w której pamięć operacyjna jest współdzielona przez wszystkie rdzenie pracujące pod kontrolą jednego systemu operacyjnego.

Każdy procesor centralny może pracować i być obciążany niezależnie od pozostałych układów, a także może współdzielić swoje obciążenie z innymi procesorami. Jeżeli użytkownik posiadający telefon komórkowy oparty na architekturze dwuprocesorowej z obsługą przetwarzania symetrycznego zechce uruchomić jednocześnie aplikację do strumieniowania dźwięku oraz aplikację do nawigacji, to system operacyjny urządzenia będzie w stanie rozdzielić obsługę tych aplikacji na dwa procesory. Aplikacje jednowątkowe również pracują szybciej na procesorach wielordzeniowych, ponieważ system operacyjny może przydzielić wątki takich aplikacji dwóm procesorom jednocześnie. Rozdzielenie obciążenia na dwa układy skutkuje szybszą realizacją zadania. Ponieważ obciążenie pracą zostało rozłożone na dwa rdzenie, oba układy mogą pracować z niższa prędkością. W ten sposób można zapewnić doskonałą wydajność przy niskim poborze energii, ponieważ wolniejsza częstotliwość zegara umożliwia stosowanie niższego napięcia, co skutkuje zmniejszeniem poboru mocy o pierwiastek kwadratowy wartości zmniejszenia napięcia

Przedstawiamy układ NVIDIA Tegra 2: pierwszy mobilny procesor dwurdzeniowy

NVIDIA Tegra to pierwszy procesor mobilny na świecie z dwurdzeniowym procesorem centralnym. Dwurdzeniowy procesor centralny zastosowany w układzie NVIDIA Tegra to wysoce zoptymalizowana wersja architektury Cortex A9 MPcore™ firmy ARM, która zapewnia prawie dwukrotnie wyższą wydajność w porównaniu z procesorami mobilnymi dostępnymi w dzisiejszych urządzeniach. Dzięki funkcjom przetwarzania symetrycznego, wykonywania poza kolejnością oraz wysokowydajnym mechanizmom przewidywania zoptymalizowane rdzenie ARM umożliwiają szybkie ładowanie stron internetowych oraz zapewniają przyjemność z obsługi urządzenia,

Dwurdzeniowa architektura procesora ARM Cortex A9

Procesor Cortex-A9 MPcore został zbudowany na nowoczesnym, wysoce wydajnym ośmioetapowym potoku umożliwiającym wykonywanie poleceń poza kolejką, z użyciem architektury zestawu poleceń ARMv7. Wydajność procesora Cortex-A9 Mpcore jest o wiele wyższa od wydajności poprzednich procesorów centralnych ARM, a niski pobór energii czyni go idealnym układem dla urządzeń mobilnych. Architektura Cortex A9 stanowi rozwinięcie architektury poprzedniej generacji – procesora ARM Cortex A8™.

Nowy układ uzupełniono o szereg funkcji zwiększających wydajność:

  • Dynamiczny, ośmio-etapowy potok z obsługą spekulatywnego wykonywania poza kolejnością. Dzięki niemu procesor może dynamicznie zmieniać kolejność instrukcji, unikając opóźnień spowodowanych opóźnieniem w wykonywaniu instrukcji oraz konfliktami dostępu do zasobów. Starsza generacja procesorów Cortex-A8 wykorzystuje potok wykonujący instrukcje w kolejności, który nie ma możliwości uniknięcia spowolnień spowodowanych błędną prędykcją rozgałęzień lub nieprawidłową zawartością pamięci podręcznej.
  • Dwurdzeniowa konfiguracja z obsługą przetwarzania równoległego, która umożliwia niezależną pracę obu rdzeni i współpracę w sytuacjach wymagających wysokiej wydajności, przy minimalnym zużyciu energii w stanie oczekiwania.
  • Każdy z rdzeni jest wyposażony w dwa 32KB bloki pamięci podręcznej (dla instrukcji i dla danych). Oba rdzenie współdzielą też jeden megabajt ogólnodostępnej pamięci podręcznej L2, która np. wystarcza do pomieszczenia całej zawartości pamięci przeglądarki internetowej, co skutkuje większą płynnością przeglądania stron.
  • Rdzenie procesorów centralnych zostały zoptymalizowane do pracy z częstotliwością 1 GHz i mogą pracować z jeszcze większymi prędkościami. Oba rdzenie są wspomagane przez wspólną jednostkę nadzorczo-sterującą, którą zapewnia spójność pracy tych rdzeni i zarządza współdzielonym megabajtem pamięci podręcznej L2.

Pobór energii i wydajność obu rdzeni są kontrolowane przez złożone i wysoce inteligentne algorytmy dynamicznej regulacji napięcia i skalowania częstotliwości. Algorytmy zostały wdrożone zarówno na poziomie programowy, jak i na poziomie sprzętowym. W ten sposób oba rdzenie zawsze będą pracować z optymalnymi wartościami napięcia i częstotliwościami w czasie wykonywania bieżącego zadania, zużywając przy tym jak najmniej energii. Opisywane algorytmy zostały stworzone przez firmę NVIDIA w wyniku dogłębnych badań i rozwiązywania rzeczywistych problemów użytkowania urządzeń mobilnych. To dzięki nim rdzenie zawsze pracują z maksymalną efektywnością – zapewniając najwyższą wydajność, gdy jest to konieczne i pozostając przez resztę czasu w trybie bardzo niskiego poboru energii.

Zalety przetwarzania symetrycznego

Mechanizm przetwarzania symetrycznego zastosowany w procesorach Tegra 2 przynosi wymierne korzyści w wielu różnorodnych sytuacjach:

• Krótszy czas wczytywania witryn internetowych

• Mniejszy pobór energii i wyższa wydajność na wat

• Możliwość obsłużenia gier w wysokiej jakości, dorównującej konsolom do gier

• Duża responsywność i wysoka płynność obsługi urządzenia

• Lepsza obsługa wielozadaniowości

Podsumowanie

Przez wiele dziesięcioleci architektury procesorów w komputerach osobistych były przeważnie konstrukcjami jednordzeniowymi, a producenci procesorów zwiększali wydajność układów poprzez zwiększanie częstotliwości pracy zegara, rozmiarów rdzenia, czy stosowanie mniejszych procesów produkcyjnych, które umożliwiały pomieszczenie większej liczby tranzystorów na tej samej powierzchni. Ciągły wzrost częstotliwości i rozmiarów rdzeni skutkował jednak wykładniczym wzrostem zużycia energii i produkcji ciepła. Aby rozwiązać ten problem, producenci procesorów zaczęli tworzyć procesory w oparciu o architekturę wielordzeniową, które umożliwiły osiągnięcie jeszcze wyższej wydajności przy mniejszym poborze energii.

Większość dzisiejszych komputerów osobistych i przenośnych jest wyposażonych w procesory dwu- i czterordzeniowe, które zużywają dużo mniej energii od starszych modeli jednordzeniowych. Architektura wielordzeniowa zapewnia jeszcze więcej korzyści w urządzeniach mobilnych, jak np. smartfony i tablety, ponieważ owocuje znaczącym wydłużeniem czasu pracy na akumulatorze. Procesory dwurdzeniowe będą standardowym wyposażeniem urządzeń mobilnych w 2011, a w przyszłości możemy spodziewać się wersji czterordzeniowych.

Świat urządzeń mobilnych, a zatem i procesorów mobilnych, stanął przed problemami mocy i wydajności, które kilka lat temu występowały w procesorach dla komputerów stacjonarnych i przenośnych. Procesory jednordzeniowe w dzisiejszych urządzeniach mobilnych obsługują tak wymagające aplikacje, jak odtwarzacze wideo w wysokiej rozdzielczości, strumieniowanie materiału wideo, gry 3D, interfejsy 3D itp, ale nie ma już miejsca na rozwój ich możliwości. SMP jest  nieuniknione – architektury urządzeń mobilnych zostaną wzbogacone o więcej rdzeni, ponieważ w ten sposób można zwiększyć wydajność urządzenia bez zwiększania poboru cennej energii. Wiele systemów operacyjnych urządzeń mobilnych, takich jak Android, Windows® CE i Symbian, jest już wyposażonych w obsługę środowisk wielordzeniowych i może wydajnie wykorzystać kilka rdzeni procesora urządzenia. Popularne przeglądarki internetowe oraz większość gier PC również wykorzystuje mechanizm wielowątkowości. Dzięki temu użytkownicy zaobserwują ogromny wzrost wydajności w tych aplikacjach, gdy tylko zostaną one dostosowane do wielordzeniowych procesorów mobilnych.


Dodaj komentarz

Przeczytaj również

Jedno hasło do wszystkiego, czyli…do niczego  

Nie dla wszystkich są jasne elementarne zasady korzystania z bezpiecznych haseł. Z najnows…