[Jak to działa] Procesor mobilny – część I

Adrian Celej Artykuły 2017-10-21

Procesor jest jednym z najważniejszych elementów każdego telefonu. Nie da się ukryć, że jednostki znajdujące się w urządzeniach mobilnych znacznie różnią się od tych, które montowane są w komputerach. Temat ten jest dość skomplikowany, dlatego warto przypomnieć ogólną zasadę funkcjonowania procesora.

Jak działa procesor?

Zacznijmy od systemów liczbowych. Współczesne procesory korzystają z systemu binarnego. Oznacza to, że mogą przyjąć tylko 2 stany – 1 dla informacji lub 0 w przypadku jej braku. Analogicznie oznacza to przepływ prądu lub jego brak. Warto zaznaczyć, że 0 nie oznacza całkowitego zaniku napięcia, po prostu jego napięcie jest niższe. Niestety, system binarny wymaga dużej ilości pojedynczych bitów do zapisania informacji, znacznie lepiej sprawdzają się systemy ósemkowe, dziesiętne i szesnastkowe. Dlaczego nadal korzystamy z tej nieefektywnej metody? Otóż system binarny został wykorzystany ze względu na możliwość eliminacji zakłóceń. Nie bez znaczenia jest też jego prostota. Dziś jego powszechność uniemożliwia zastąpienie go innym systemem

Architektura ARM

Procesory ARM w znacznym stopniu różnią się od architektury i386 Intela. Wiele osób mylnie porównuje te procesory ze sobą. Architektura ARM powstała z myślą o niewymagających i energooszczędnych urządzeniach. Początkowo świetnie sprawdzała się w telefonach, gdzie jedynym wyzwaniem było utrzymanie przy życiu niezwykle lekkiego systemu operacyjnego. Dziś to już przeszłość, producenci tych układów toczą wojnę o moc obliczeniową i cyferki w benchmarkach. Nie można powiedzieć, aby procesory ARM były rozwiązaniem idealnym, w dzisiejszych smartfonach znacznie lepiej sprawdziłby się procesory w architekturze MIPS. Niestety, układy te zostały niemal całkowicie porzucone wiele lat temu, nadrobienie takich zaległości jest dziś w zasadzie niemożliwe. Do niedawna swoich sił próbował Intel, jednak ostatecznie zrezygnował z walki o rynek mobilny. Nie było to jego pierwsze podejście, w przeszłości tworzył on także świetne układy XScale. Tamten dział został sprzedany, aby skupić się na walce z największym rywalem – AMD.

Prostota ARM

Nie da się ukryć, że procesory ARM rzeczywiście są energooszczędne. Osiągnięto to poprzez zmniejszenie liczby tranzystorów, uproszczony został także zestaw instrukcji. Rozwiązanie to ma także swoje wady, złożone operacje nie mogą być wykonywane w jednym cyklu pracy procesora. Architektura ta była w dość ostrych (czasem także niecenzuralnych) słowach wielokrotnie krytykowana przez twórcę Linuksa – Linusa Torvaldsa. Podczas jednego z wystąpień publicznie życzył śmierci jej autorom. Wszystko właśnie przez ograniczony zestaw instrukcji i problemy z osiągnięciem zadowalającej stabilności.

Licencjonowanie układów ARM

Właściciel praw do architektury ARM, firma ARM Holdings nie zajmuje się produkcją własnych układów. Oferowane są 2 typy współpracy z producentami. Większe firmy mogą kupić jedynie prawa do architektury i zaprojektować od podstaw własne układy. Tak robi np. Apple i Qualcomm. W przeciwnym wypadku można kupić prawa do gotowych rdzeni, a następnie na ich podstawie zbudować własny procesor. Są to słynne rdzenie Cortex, które spotkacie głównie w układach MediaTeka.

Wielordzeniowość

Typowy procesor może na raz wykonywać tylko jedną operację. Wyjątkiem od tej reguły jest technologia Hyper Threading Intela, jednak pomińmy ten wątek, nie udało się zaimplementować jej w smartfonach. Android podczas pracy wykonuje wiele operacji jednocześnie, ich kolejkowanie mogłoby spowodować zawieszanie się systemu. Z tego powodu wprowadzono układy wielordzeniowe. W przypadku np. Snapdragona 410 możliwe jest wykonywanie 4 operacji jednocześnie, co oznacza sprawniej działającą wielozadaniowość. W razie potrzeby bardziej wymagające aplikacje mogą próbować rozbić swoje obliczenia na wszystkie rdzenie. Oczywiście taka aplikacja musi zostać przygotowana do wykorzystywania większej liczby rdzeni, w przeciwnym wypadku obciąży w 100% jeden rdzeń. Czy duża liczba rdzeni zwiększa wydajność? Niekoniecznie. Mocne układy 4-rdzeniowe bez problemu pokonają 10-rdzeniowe chipy MediaTeka. Już w telefonach posiadających więcej niż 4 rdzenie pojawiają się problemy z ich jednoczesnym wykorzystaniem. Z tego powodu błędem jest krytykowanie np. Apple za dość ostrożne podejście do dużej liczby rdzeni. W swoim czasie Qualcomm publicznie ogłosił, że rezygnuje z tworzenia 8-rdzeniowych układów dla flagowych urządzeń. Miało to miejsce po aferze ze Snapdragonem 810, który miał tendencję do przegrzewania się. Ostatecznie korporacja stworzyła własne rdzenie (podobnie jak Apple), które sprawdzają się znacznie lepiej.

W następnej części omówię budowę oraz możliwości przykładowych układów.

Zobacz też:



  • maxprzemo

    Dla zainteresowanych polecam dwa linki https://goo.gl/NGfxhG https://goo.gl/TvkMfX

    • dodo

      Spk ale gdyby to po polsku było

  • Kamienna Gęba

    Kiedyś obiło mi się o uszy, że tranzystory procesorze działają na zbliżonej zasadzie co filtr środkowo przepustowy to znaczy nie tylko nie reagują na niższe napięcie niż napięcie pracy ale także w przypadku chwilowego skoku napięcia ignorują taki sygnał. Oczywiście nie traktuj tego jako uzupełnienie tekstu czy nie daj Boże wytykanie błędu: jak mówiłem to mi się obiło o uszy, nawet nie pamiętam gdzie więc sam podchodzę do tego z rezerwą.

  • Robert Andegaven

    Super artykuł! Wiem że to nie jest strona o komputerach ale bym prosił też o jakiś artykuł w tak prostej zrozumiałej formie o procesorach x86

    • Adrian Celej

      x86? Jedyne co przychodzi mi do głowy, to omówienie historii. Nawet ciekawa jest.

    • mihix

      A komu to potrzebne? Teraz przecież stosuje się AMD64.

  • Marek Błaszczyk

    Zamysł artykułu chwalebny, ale wykonanie pozostawia bardzo wiele do życzenia. Mnóstwo chaotycznie posklejanych informacji, szczątkowo wyjaśniających poszczególne zagadnienia, często niepoprawnych merytorycznie. Z niepokojem czekam na następne odcinki serialu 🙂

  • ElektronicznyFan

    O widzę mój ulubiony temat poruszyłeś, zaczęło się ciekawie, lecz szybko skończyło, mam lekki niedosyt 🙂 ARM rządzi w mobilkach niema co ukrywać. Dla mnie bardzo udane procki to S835 i S625. Mam nadzieję, że coś drapniesz o tym w następnej części. Faktem jest też to, że Apple jak narazie jest najlepsze w te klocki, a potem reszta dosyć blisko. Nie można też lekceważyć HiSilicon Huawei coraz lepiej im idzie. Chcę też napomnieć trochę o S835 otóż układ jeżeli zostanie wzorowo zaimplementowany i dostanie „tylko” ekran full HD to nie ma mocnych, pierwszy, który się nie gotuje i naprawdę działa na 98% możliwości /obrotach. S625 jest też bardzo nowoczesny (14nm) z conajmniej dobrym GPU i średniaki na nim oparte nie były jeszcze tak dobre. No bo jak tu nie kochać 🙂 że mamy wydajną nie drogą słuchawkę, która trzyma na SOT świetne wyniki, a dzięki tańszemu SOC mamy też lepsze, ba naprawdę dobre aparaty w tychże słuchawkach. Szkoda trochę Mediateka bo czasami na papierze wygląda to konkretnie, ale w rzeczywistości niestety. Podoba mi się też Mali, które Samsung wstawia u siebie, mocne i wydajne GPU Premium. Szkoda że nikt ze świata Androida nie stawia na PoverVr bo to w ogóle rewelacyjne grafiki i ciekawe co będzie bo Apple też przestało stawiając na własne GPU, może ktoś się skusi na ich produkt hmm może Huawei? Nie wiem narazie dali mocny,dobry G72 w MP12 jako pierwsi na rynku (samsung ma G71 z 20 rdzeniami) i wychodzą narazie na tym rewelacyjnie, w końcu bo wcześniej zawsze ciut im brakowało. To by było tyle ode mnie, chętnie podyskutuje etc. P.s szkoda że taka mała konkurencja, bo topowi producenci mają własne układy, a reszta to Qualcomm

    • Devil_Dragos

      Apple akurat robi slabe procesory. Nadrabiaja to optymalizacja i lekkim systemem.

      • stark2991

        Jest zupełnie odwrotnie – Applowe procki są o wiele szybsze od reszty ARMów, co daje im przewagę w testach. Pamięci też zawsze najszybsze mają iPhone’y. Gdyby wrzucić iOS na np. Samsunga S8 to podejrzewam że wcale by tak świetnie nie działał. Oczywiście optymalizacja, czyli multitasking i brak zamulania po czasie też są ważne.

        • Devil_Dragos

          Wlasnie na odwrot. Apple ma slabszy hardware a lepszy software

          • stark2991

            Jak doszedłeś do tej absurdalnej tezy? 🙂

          • Devil_Dragos

            Od zawsze tak byl. Ios dziala natywnie a android to maszyna wirtualna. Jest sporo dowodow na to

          • stark2991

            Okej, a co z częścią że Apple ma słabszy hardware i słabe procesory? Jak do tego doszedłeś?

          • Devil_Dragos

            Bobapple dostosowuje swoje procki pod system anie dowrotnie jak w swiecie androida

    • stark2991

      Napisałbym coś gdybym miał wolny czas, ale w sumie nawet nie wiem co mógłbym dodać 😉

    • Tylko co tu dużo pisać. Dawniej było wiele architektur, różne procki z różną obsługą rozkazów i wszystko bazowało na eksperymentach „co się przyjmie, to się przyjmie”, a teraz? Jest nałożony ARM, na PC też podobnie, Apple wyzbył się PowerPC i przeszedł na Intela 🙂
      Wiele ciekawostek można wyrwać nawet z najnowszych książek do szkół zawodowych – to jest piękna skarbnica wiedzy i informacji.
      Komputery się już tak nie rozwijają jak kiedyś, teraz już producenci wiedzą, którą ścieżką podążać, itd. Dawniej porty, magistrale, wszystko się tak rozwijało, a dziś? Za jakiś czas wszystko podłączysz przez port USB-C 🙂
      Już chyba nawet powstał monitor, który jest zasilany przez jeden kabel USB-C, przez który leci też obraz (Thunderbolt ma również złącze USB-C). Więc jak widzisz – świat zmierza do totalnej prostoty. Wszystko będzie podłączane przez USB-C, a komputer sam będzie potrafił rozpoznać co to za sprzęt, czy to zasilanie, czy to obraz 🙂 To samo jest dziś z lapkiem – jeden port USB-C do np. zewnętrznej karty graficznej, a do karty graficznej np. mysz, klawa, monitor i już masz stacjonarkę zrobioną z laptopa (wg mnie piękna ideal, ale jeszcze droga) 😉
      Powrót do historii – pamiętasz jak dawniej źle podłączone złącze zasilające do płyty główniej paliło ją? 🙂 A jak musiałeś ręcznie wyłączać PC-ta? 🙂
      Dziś są już specjalne zabezpieczenia, komputer sam się może wyłączyć, włączyć zdalnie, itd. Do tego to wszystko zmierza – komputer staje się bardziej inteligentny i sam wszystko rozpoznaje. Czy to dobre czy złe? Są plusy i minusy, jak prawie wszystkich innych rzeczy 😉

      • mihix

        >Wszystko będzie podłączane przez USB-C, a komputer sam będzie potrafił rozpoznać co to za sprzę
        Na pewno nie Windows, Windowsowy będziesz jeszcze musiał zainstalować gigabajty sterowników.

        • Nic nie będziesz musiał to instalować, bo Windows to już ma. A w razie czego jest jeszcze Windows Update, który wyszukuje sterowniki automatycznie.

          • mihix

            Ta, pamiętam jak testowałem Windowsa 10 i mi ciągle pobierał i instalował nowsze, ale jakieś gówniane sterowniki. Musiałem zablokować automatyczne aktualizacje bo instalował gówno. Na szczęście w Magicznym Świecie Wolnego Oprogramowania mam już wszystko w kernelu i nie trzeba się bawić sterownikami.

  • Smołki

    Technologia HT była dostępna w smartfonach, przykładem jest motorola razr i xt890 z procesorem intela z2480.

  • Henrar

    „Android podczas pracy wykonuje wiele operacji jednocześnie, ich kolejkowanie mogłoby spowodować zawieszanie się systemu.”

    To tak nie działa 😉

    • Adramel

      HT (lub odpowiednika) nie ma w ARMach bo te mają za mało jednostek wykonawczych które można by przepisać do drugiego wątku. Nowe Intele i AMD mają ich „na zapas” wiec HT nie powoduje spadków wydajności.
      A co do zdania z artu, to Henrar ma 100% racji. To zupełnie inaczej działa.



x