reklama
reklama
reklama
reklama
reklama
reklama
© franz pfluegl dreamstime.com Technologie | 28 marca 2013

Niech żyje bateria!

Ograniczenie poboru mocy w systemach graficznych urządzeń mobilnych.

Jeśli jest w świecie telefonów komórkowych coś, za czym tęskni każdy z nas, kiedy wspomina pierwsze modele tych urządzeń, to jest to z pewnością długa żywotność baterii. Jako szczęśliwi posiadacze Nokii 6210 mogliśmy pozwolić sobie na luksus zapomnienia ładowarki przed wyjazdem na tygodniowe wakacje. Oczywiście, oszczędzanie baterii było łatwiejsze również z powodu zaporowych opłat za połączenia, ale trzeba przyznać, że szybkie zużycie energii jest główną wadą wszystkich urządzeń mobilnych, z jakimi mamy obecnie do czynienia. Na ten stan rzeczy wpływa z pewnością wiele czynników, ale dziś, w erze wyświetlaczy HD, o szybkim zużyciu baterii decydują przede wszystkim jasność wyświetlacza oraz pobór mocy w podsystemie graficznym. Ten artykuł poświęcony jest drugiemu z wymienionych czynników – budowie efektywnej ścieżki danych wideo w zaawansowanym systemie na czipie, SoC (ang. System-on-Chip). Rozumiemy przez to rozwiązanie o wydajności porównywalnej do konkurencyjnych rozwiązań, które jednak cechuje się znacznie mniejszym zapotrzebowaniem na energię. Wyzwania dla podsystemów graficznych i wideo Nowoczesne systemy graficzne w układach SoC muszą wspierać wysokie rozdzielczości (Full HD i wyżej) przy prędkości wyświetlania minimum 24 klatek na sekundę. Ponadto, systemy takie wykonują wiele operacji polegających na przetwarzaniu otrzymanego z pamięci obrazu, takich jak: konwersja formatu, skalowanie, rotacja itp. Typową odpowiedzią inżynierów na to wyzwanie jest stosowanie w urządzeniach mobilnych procesora graficznego GPU (z ang. Graphics Processing Unit), jednakże bardzo szerokie spektrum wykonywanych przez niego zadań skutkuje zazwyczaj dużym poborem mocy. W odpowiedzi na to wyzwanie inżynierowie firmy Evatronix opracowali grupę kontrolerów PANTA Display Processors – procesorów wyświetlających, których głównym celem jest odciążenie głównego procesora graficznego poprzez przejęcie określonych zadań w procesie przetwarzania obrazu, a w konsekwencji zwiększenie wydajności pracy urządzenia zasilanego bateryjnie. Procesory PANTA zostały zaprojektowane do wykonywania takich zadań jak kompozycja wielu strumieni graficznych w trybie alpha-blending, konwersja formatu YUV do RGB, rotacja i wielu innych operacji, które wykonywane są przed wysłaniem obrazu bezpośrednio do wyświetlacza. Pozwala to znacznie zmniejszyć ogólne zużycie energii dynamicznej układu SoC poprzez częściowe lub całkowite odciążenie procesora graficznego ogólnego przeznaczenia. Dalsza redukcja zużycia energii w układach graficznych wspomaganych kontrolerami PANTA jest możliwa dzięki ograniczeniu transferu danych pomiędzy kontrolerem a pamięcią systemową. Ulepszanie istniejącej architektury Rozważmy przykład typowego systemu wyświetlaczy zarządzanego przez układ GPU, w którym obsługiwane są 3 strumienie graficzne – wyjście z dekodera oraz dwie warstwy grafiki renderowane przez procesor graficzny. System wyświetla ramki w różnej rozdzielczości na dwóch panelach – wyświetlaczu zewnętrznym Full HD (1920 x 1080 pikseli) i lokalnym ekranie LCD w rozdzielczości HD (1280 x 720 pikseli). Rysunek 1. Typowy podsystem złożony z kilku wyświetlaczy Każda ramka wyjściowa komponowana jest z trzech wymienionych strumieni. Zanim obraz z kamery będzie widoczny na wyświetlaczu, musi zostać wykonany szereg operacji. Składa się na niego konwersja między z formatu YUV na RGB dla warstwy wideo, kompozycja trzech warstw do pojedynczej ścieżki wyjściowej, a dodatkowo skalowanie oraz rotacja celem dopasowania sygnału do parametrów lokalnego ekranu. W systemie zaprezentowanym na rysunku 1 kontrolery ekranu jedynie odczytują z bufora ramek ostateczne dane przygotowane przez GPU. W tym przypadku duża część mocy jest rozpraszana w procesorze GPU zaangażowanym w wykonywanie bardzo szczegółowych operacji, podczas gdy jest on optymalizowany głównie do tworzenia grafiki 2D/3D. Rysunek 2. Podsystem wspomagany komponentami PANTA. By udoskonalić wydajność systemu, w układzie alternatywnym zastosowane zostały komponenty z rodziny PANTA DP. Rysunek 2 prezentuje podobną architekturę podsystemu graficznego, niemniej ulepszonego o dwa procesory wyświetlania PANTA DP 30, każdy wyposażony w koprocesor skalujący PANTA CP20. W tym przypadku GPU odpowiada jedynie za generowanie warstw graficznych i wysłanie ich do bufora ramek. Procesor graficzny jest zwolniony z konwersji między formatami YUV a RGB, sterowania przezroczystością, skalowania i rotacji, którymi w tym przypadku zajmują się komponenty PANTA DP30 oraz PANTA CP20. W przedstawionym systemie warstwy wideo przetwarzane są przez procesor PANTA DP30 na format RGB, który złożony jest z różnych warstw graficznych i wyświetlany bezpośrednio na panelu zewnętrznym. W tym samym czasie skomponowana ramka jest przeskalowywana z rozdzielczości 1080p na 720p przez moduł PANTA CP20 i zwracana do pamięci. Drugi kontroler PANTA pobiera tę przeskalowaną ramkę i obraca ją o 90 stopni, zanim zostanie ona wyświetlona na lokalnym wyświetlaczu. Dzięki komponentom PANTA IP dodatkowe operacje skalowania i rotacji nie są wykonywane przez GPU, przez co zużycie energii w podsystemie graficznym znacznie spada. Dodatkowo, jako że wielkość danych graficznych przechowywanych w buforze ramki zależy od rozdzielczości i formatu ramki, korzystanie z komponentów PANTA umożliwia zmniejszenie przepustowości pamięci systemowej do 40% w stosunku do rozwiązania przedstawionego na rysunku 1. Całkowite zużycie energii przez podzespoły PANTA zaprezentowane w tym przypadku i wdrożone w procesie ASIC 40nm LP jest mniejsze niż 30mW. Idąc dalej, komponenty PANTA stwarzają możliwości jeszcze większej redukcji zużycia energii. W niektórych przypadkach wszystkie zadania dotyczące obróbki sygnału graficznego czy wideo mogą być wykonywane przez elementy PANTA, umożliwiając całkowite wyłączenie GPU. Rysunek 3. Podsystem wspomagany komponentami PANTA, pozbawiony GPU. Rysunek 3 przedstawia przypadek, gdzie kontroler PANTA wyświetla zdekodowany sygnał wideo przekazywany do bufora ramki bezpośrednio przez dekoder wideo. Taki strumień wymaga jedynie przekonwertowania formatu z YUV na RGB, a zatem eliminuje potrzebę zaangażowania procesora graficznego. W tym przypadku zużycie energii przez kontroler PANTA DP30 nie przekracza 6mW w procesie ASIC 40nm LP. Podsumowanie Obsługa gier 3D czy odtwarzanie filmów w rozdzielczości HD to obecnie nie tyle dodatkowe, co bardziej podstawowe cechy urządzeń mobilnych, stąd kluczowym elementem dla zachowania efektywności opisanej wyżej ścieżki wideo jest zoptymalizowanie zużycia energii na poziomie sprzętowym. Użytkownicy oczekują od swoich smartfonów i tabletów rozsądnego zużycia baterii bez względu na intensywność użytkowania. Procesory PANTA stworzone przez inżynierów firmy Evatronix optymalizują zużycie energii w systemach graficznych w sposób bezkompromisowy. Jest to możliwe przez przeniesienie operacji typowych dla kontroli wyświetlacza z procesora GPU do specjalizowanego układu PANTA oraz minimalizację pasma pamięci w systemie. Autorzy: Paweł Duc i Damian Modrzyk, Evatronix oraz Aris Aristodemou, ARM Artykuł został umieszczony dzięki uprzejmości firmy Evatronix. © Evatronix
reklama
reklama
Załaduj więcej newsów
September 20 2019 17:48 V14.4.1-1