Procesor to serce każdego urządzenia elektronicznego, z jakim stykamy się na co dzień. Dzięki niemu komputery działają, są w stanie przetwarzać dostarczane im informacje i reagować na naciśnięcia przycisków. Ostatnie kilkanaście lat stało pod znakiem ciągłej ich miniaturyzacji. Równocześnie zwiększano ich wydajność, jednak od pewnego czasu można zauważyć pewną stagnację na rynku procesorów dla „pecetów” czy laptopów. Znacznie ciekawiej dzieje się na mobilnej scenie. Jak w ogóle działają układy scalone? Jakie architektury możemy rozróżnić?
Na początek możemy zacząć od samego zdefiniowania procesora i tutaj z pomocą przychodzi m.in. Słownik Języka Polskiego PWN:
Najważniejszy element komputera, w którym odbywa się przetwarzanie informacji.
Używając w tym celu bardziej technicznego słownictwa możemy napisać, że CPU (ang. Central Processing Unit) to sekwencyjne urządzenie cyfrowe, wykonujące kolejne polecenia poprzez prostw operacje logiczne. Najważniejszy element ich budowy to monokryształ krzemu. Na niego nanoszono są warstwy półprzewodnikowe, które to właśnie tworzą rozbudowaną sieć tranzystorów. Połączenia muszą być wykonane z materiałów znakomicie przewodzących prąd.
Litografia procesora
Wszystkie tranzystory typu MOSFET wytwarza się na krzemowej płytce, produkowane są z wykorzystaniem technologii CMOS. Składają się one z drenu, źródła oraz dwóch komplementarnych tranzystorów z kanałami przewodzącymi: jednym typu n (ujemny) i drugim typu p (dodatni). Zaletą tego rozwiązania jest niski pobór prądu, prosta konstrukcja oraz odporność na zakłócenia.
Tranzystory miniaturowych rozmiarów zdecydowanie nie należą do łatwych w produkcji. Cykl w fabryce zajmuje bardzo długo, a wafle krzemu wykorzystywane do produkcji procesorów składają się w aż 99,9999% z czystego półprzewodnika. W ich przypadku dopuszczalne zanieczyszczenie to jeden atom na jeden miliard atomów krzemu. Kiedy producent już posiada właściwy materiał, może przejść do kolejnego etapu, tj. hodowania monokryształ o sprecyzowanej strukturze krystalograficznej. Jedna z metod jego uzyskiwania została opracowana przez Polaka, Jana Czochralskiego, w 1916 roku.
Produkcja tranzystorów musi odbywać się w pomieszczeniach bezpyłowych, w których ograniczono do minimum występowanie kurzu, pyłu czy bakterii, które mogłyby negatywnie wpłynąć na cały proces. Nawet jeden pyłek może spowodować nieodwracalne uszkodzenie obwodów układu.
Litografia jest bardzo pomocnym procesem technologicznym. Przy produkcji procesora najczęściej wybierana jest metoda zwana fotolitografią. Używając jej rozrysowuje się na krzemie rozmieszczenie otworów i ścieżek, a to wszystko przy nanometrowej dokładności. Obecnie korzysta się z masek odbiciowych. Pozwalają one na odwzorowanie na powierzchni surowca takiego wzoru, jakiego oczekiwali inżynierowie. Sam skaner litograficzny można podzielić na kilka części: blok lasera, soczewki redukcyjne oraz pozycjoner.
Przy układach w niskich procesach litograficznym niezbędne są techniki fotolitografii immersyjnej. Odpowiednia ciecz immersyjna zwiększa rozdzielczość liniową całego układy optycznego, co przekłada się także na minimalizację liczby uszkodzonych produktów. Właśnie od dokładności tych technik zależy proces litograficzny. Intel stwierdził dwa lata temu, że asymptotą dla krzemu będzie bariera 7 nm i niezbędne będzie wtedy przejście na nowy półprzewodnik.
Oczywiście cały proces produkcji jest znacznie bardziej skomplikowany. Postaram się przygotować dla Was osobny tekst opisujący wszystkie fizyczne i chemiczne zagadnienia z tym związane, teraz przejdźmy już jednak do tych całych magicznych bitów.
Bity
Bit to najmniejsza jednostka informacyjna i może przyjmować jedynie jedną z dwóch wartości (0/1, prawda/fałsz, -1/+1) – obecnie stosowane procesory opierają się na binarnym systemie liczbowym. W teorii 32-bitowy układ będzie w stanie obsłużyć do 4GB RAM (232b), podczas gdy dla 64-bitowego wartość ta wynosi 18EB (264 b) W jednym cyklu pracy pierwszy z nich przetworzy 4 bajty, a drugi już 8. W praktyce bardziej zaawansowana konstrukcja będzie szybsza, chociaż nie w każdej sytuacji. Jeżeli mówimy o smartfonach, znacznie więcej korzyści niż 64-bity, daje nowy zestaw instrukcji dla danej architektury, ale o tym za chwilę. Czy w przypadku telefonów 32-bitowy procesor jest już passe? Zdecydowanie nie, chociaż producenci stawiają na nie jedynie ze względu finansowych.
Procesor, a architektura
Podstawowy podział procesorów ze względu na ich architekturę wynika z listy dostępnych rozkazów. Pierwsza grupa to CISC (Compound Instruction Set Computer), a druga – RISC (Reduced Instruction Set Computer). Różnice dotyczą m. in. liczby rozkazów (do 300 kontra do 128), trybów adresowania (duża kontra mała), czasami wykonania rozkazów (zróżnicowany kontra ujednolicony), układem sterowania procesora (mikroprogramowany kontra sprzętowy) czy rozkazami wewnętrznymi (skomplikowane kontra proste).
O ile wszystkie różnice między nimi miały duże znaczenie w przeszłości, o tyle aktualnie straciły już na znaczeniu. Flagowym przykładem CISC jest architektura x86 opracowana przez firmę Intel i dominuje ona w segmencie komputerów, jednak nie zdołała zdobyć popularność w świecie smartfonów. To z kolei udało się ARM. Wynika to przede wszystkim z bardziej energooszczędnej konstrukcji i procesory tego typu można spotkać nie tylko w telefonach, ale również kalkulatorach, dyskach czy zabawkach. Innym przedstawicielem RISC jest MIPS.
Rdzenie w naszych smartfonach
Intel na dobre zrezygnował już z rynku smartfonów, więc nie będziemy w tym miejscu zajmować sięAtomami, które znajdują aktualnie szerokie zastosowanie w tabletach i budżetowych hybrydach. Przejdziemy do rdzeni opartych o projekty ARM. Tutaj możemy je podzielić na dwie kategorie: starszych ARMv7 oraz nowszych ARMv8.
W tym miejscu wspomnę również o licencjach udzielanej przez ARM na procesory. Pierwsza z nich to POP (Processor Optimization Pack). Idealna propozycja dla producentów, którzy nie dysponują ani środkami ani możliwościami, aby stworzyć własne, kompletne rozwiązanie. Śmiało można powiedzieć, że brytyjska firma może po prostu opracować całe SoC dla innego konsorcjum.
Inny rodzaj licencji polega na udostępnieniu informacji o konkretnych rdzeniach czy układach grafiki, które producent samodzielnie zaimplementuje we własnym układzie. Trzeci typ daje natomiast możliwość zaprojektowania własnego CPU w oparciu o wybrany zestaw instrukcji, jednak najmniej firm decyduje się na taki krok. W końcu zatrudnienie sztabu doświadczonych inżynierów oraz cały proces badań i rozwoju może pochłonąć ogromne fundusze oraz wiele miesięcy.
ARMv7
Leciwe konstrukcje, jednak wciąż można znaleźć ich przedstawicieli w najtańszych dostępnych telefonach, w których montuje się wiekowe Mediateki oparte o ARM Cortex A7. Ich najpoważniejszą zaletą pozostaje energooszczędność. Poniżej nich w hierarchii znajdują się A5, najmniejsze i najsłabsze, a powyżej - A8, pierwszy rdzeń tej rodziny, A9, prawdziwy hit w swoim czasie, napędzający m.in. Samsung Galaxy SII czy SIII, oraz flagowe produkty. Chodzi tu o A15 oraz A17. Ostatnie z wymienionych nie zrobiły oszałamiającej kariery i trudno wymienić modele z nimi na pokładzie. Do głowy przychodzi mi jedynie Meizu MX4.
ARMv8
Ogromny krok naprzód, wiele optymalizacji w instrukcjach, większe zróżnicowanie oferty. Pierwsza część rodziny produktów to A32 oraz A35 – następcy A7 o niskim poborze prądu, do zastosowań w najprostszych telefonach, IoT, wearables czy przemyśle. Oczywiście można je implementować do układów z technologią ARM big.LITTLE.
Łącznikiem między niską, a wysoką półką pozostają Cortex A53, obecnie najczęściej stosowane w urządzeniach elektronicznych. Można je spotkać w m.in. dyskach, systemach multimedialnych w samochodach czy lotnictwie. Niedługo mają zostać zastąpione przez A55. ARM deklaruje wzrost wydajności o 18%, o 15% mniejsze zużycie energii, wsparcie dla DynamIQ, o którym za chwilę, oraz dwukrotnie krótszy czas dostępu do pamięci.
Najstarszym modelem dla najszybszych produktów jest A57, ale mimo trzyletniego już stażu na rynku wciąż znajduje zastosowanie w nowych modelach. Nowsza generacja to A72. Przede wszystkim zminimalizowano w niej zużycie energii i znacznie ją przyspieszono w porównaniu do poprzedniej. Kolejne rdzenie zostały nazwane A73. Najważniejszą nowością zawartą w nich jest dodanie 64 kB pamięci cache, ale nie sposób zapomnieć tu o zmniejszeniu powierzchni zajmowanej przez układ.
Na samym szczycie mamy A75. Na rynku jeszcze nie ma dostępnych SoC z nim, ale muszę powiedzieć, że wprowadzone zmiany robią wrażenie na papierze. Każdy rdzeń będzie miał własną pamięć podręczną L2, a wszystkie klastry będą współdzielić między siebie L3. Firma chwali się również ich świetnym przystosowaniem do uczenia maszynowego. Zresztą ARM uważa, że A75 mogą znaleźć zastosowanie także w laptopach.
Własne implementacje ARMv8 stworzyło wielu producentów. Napisać tu można o Samsungu i ich rdzeniach Exynos M1 (a.k.a. Mongoose), Nvidia i Tegra K1, Apple i np. Cyclone z iPhone 5s, czy Qualcommie wraz ze swoimi Kryo we wszystkich wariantach.
Klastry – big.LITTLE i DynamIQ
Jak połączyć w jednym procesorze wydajność i energooszczędność? Umieszczając w nim zarówno rdzenie o niskim poborze mocy, jak i szybkie – w myśl tego stwierdzenia w 2011 roku zadebiutowała technologia big.LITTLE. Początki jednak nie były kolorowe. Pierwszym smartfonem od czołowego producenta wykorzystującą ją został Samsung Galaxy S4 z Exynosem 5410, który należał do mało udanych ze względu na problemy z nadmiernym nagrzewaniem się. Szybko udało się wyeliminować jego poważne wady i już Exynos 5420 z Samsunga Galaxy Note 3 działał jak należy.
Początkowo klastry nie mogły działać jednocześnie, występowało opóźnienie w załączaniu kolejnych rdzeni. Na szczęście na przełomie 2013 i 2014 roku udało się osiągnąć odpowiednio wysoki poziom. Prawdziwy rozkwit nastąpił jednak w 2015, kiedy to jeszcze Qualcomm dołączył do pojedynku ze słynnymi Snapdragonami 808 i 810. To były gorące czasy…
Obecnie nawet w telefonach ze średniej półki można natknąć się na SoC wykorzystujące big.LITTLE. Przykładami takich mogą być Snapdragony 650, Exynos 7880 czy Mediatek Helio X20 (z trzema klastrami – sic!). W praktyce pozwala to zaoferować produkt o znakomitej wydajności, który będzie mógł pochwalić się również energooszczędnością.
DynamIQ to ewolucja dopracowanego już rozwiązania. Zasadnicza zmiana dotyczy samych klastrów, w których nie będzie musiała się już znajdować określona liczba rdzeni: 2 lub 4; producenci dostaną większą swobodą wyboru – od 1 do aż 7. W dodatku wytwórcy SoC będą mogli zarządzać każdym poszczególnym elementem, a przełączanie komponentów między trybami włączony/wyłączony/uśpiony będzie znacznie szybsze. Nie bez znaczenia pozostaje wyższa wydajność. Znaczący wpływ na to ma dodanie współdzielonej pamięci podręcznej L3 oraz współpraca jedynie z jednostkami wspierającymi instrukcje ARMv8.2 – Cortex A55 i A75.
Miniaturyzacja mocy
Z roku na rok wydajność naszych telefonów wzrasta. Można dywagować, czy te przyrosty mocy wymiernie wpływają na przyjemność z ich używania - aplikacja uruchomiona o setne części sekundy szybciej nie odmieni raczej naszego życia. Obecnie nawet model z procesorem ze średniej półki pozwala na stabilną pracę. Myślę, że nowe konstrukcje to przede wszystkim pokaz możliwości producentów, nawet w Sklepie Play czy App Store nie znajdziemy wielu tytułów wykorzystujących pełny potencjał zastosowanych podzespołów. Jedynie tworzenie nowych SoC z myślą o rozszerzonej rzeczywistości i uczeniu maszynowym ma rzeczywiście sens.
źródło: ARM, ARM Community, FrazPC, Stack Overflow , Polsko-Japońska Akademia Technik Komputerowych
źródło grafik: Tech Entice, Android Authority, Gizmodo
Hej, jesteśmy na Google News - Obserwuj to, co ważne w techu