Az Artmobil.hu a weboldalán cookie-kat használ annak érdekében, hogy a weboldal a lehető legjobb felhasználói élményt nyújtsa.
Amennyiben Ön folytatja a böngészést weboldalunkon, azt úgy tekintjük, hogy nincs kifogása a tőlünk érkező cookie-k fogadása ellen. A részletekért kattints ide.

 

Termékek Menü

Okostelefonos SoC-határozó

Okostelefonos SoC-határozó

A cikk elolvasása után a laikusok számára is világossá válhat, hogy mi a különbség egy és két processzormag között.

Ezt a leírást azoknak szánjuk, akik érdeklődnek az okostelefonok és táblagépek iránt, de nem teljesen tudják, hogy a specifikációs táblázat hardveres mezőit böngészve mit mire véljenek.

Hardveres alapfogalmak: SoC, CPU, IPC és magok

Az okostelefonok és táblagépek kapcsán egyre többször lehet találkozni az SoC kifejezéssel, melyről talán még olvasóink egy része sem tudja, hogy pontosan mi, sokan pedig a processzorral keverik össze. Pedig az SoC (System On a Chip) egy olyan integrált áramkör (IC), aminek részét képezik a perifériakezelő rendszerek, a CPU-mag vagy -magok, jellemzően az integrált grafikus vezérlő és még sok minden más. Elektronikai eszköz alatt ugye az okostelefonokat, táblagépeket, tágabb értelemben számítógépet érthetjük, de a lényeg itt tényleg az, hogy fizikailag csak egyetlen egy chip van, aminek részét képezik a már említett egységek (perifériakezelő rendszerek, a CPU, adott esetben a GPU stb.). A definíció itt elég nehéz, egy SoC-t elméletileg csak egy hajszál választja el egy mikrokontrollertől, melyek a rajtuk található CPU-nak és a programozható I/O kezelőknek köszönhetően szintén SoC-k, de a mikrokontrollerek specializáltabb szerkezetek, mint amikről mi most beszélünk. Egyetlen leírható különbség van, mégpedig az, hogy a mikrokontrollerekben található valamennyi memória, míg az okostelefonos szemszögből megközelített SoC-kben nem, mivel az „mellettük” van. Ennél persze gyakorlatiasabb megközelítés az, hogy mikrokontrollernek nevezzük azt a specializált hardvert, ami képes működtetni mondjuk egy gyerekeknek szánt szintetizátort, míg az SoC jelzőt a komolyabb számítási kapacitással rendelkező egységekre aggatjuk rá – minden mikrokontroller SoC, de ez fordítva nem igaz. Ebből az egészből persze nem ezt kell látni, hanem azt, hogy a gyártók a helymegtakarítás miatt használnak SoC-ket a hordozható eszközöknél. Egy lapka kisebb alaplapot igényel, mint kettő, azaz több hely marad az akkumulátornak vagy kisebb lehet a telefon. Épp ezért jelenthető ki, hogy pár kivételtől eltekintve ma már szinte minden okostelefonban és táblagépben SoC található – ezért is olvadt kicsit össze a processzor és az SoC fogalma.

Az előző bekezdésben több olyan fogalom is bejött a képbe, melyek erősen magyarázatra szorulnak. Talán a legtöbbek számára a CPU mond valamit, ez a Central Processing Unit angol szóhármas rövidítése, melyet magyarul központi feldolgozóegységként szoktunk emlegetni. Ez az egység az elektronikai eszköz agya, az okostelefonoknál egyben talán a legösszetettebb, legtöbb tranzisztort tartalmazó hardver is, mely az utasítások értelmezését és végrehajtását vezérli – és rengeteg egyéb, számunkra érdekes tulajdonsága van. Például az órajel, melynek mértékegysége a Hertz (Hz), de a nagy számok miatt már évtizedek óta Megahertz (MHz), jó pár éve pedig Gigahertz (GHz) egységeket használunk: 1 GHz = 1000 MHz = 1 000 000 kHz = 1 000 000 000 Hz.

Óra     és           órajel

A processzorokban található óra magában foglal egy kvarckristályt, ami az órajel előállításához szükséges rezgés stabilitását adja, ezt mérjük ugyebár Hertzben. A processzor részegységei az órajel ütemére végzik feladataikat; amikor egy részegység megkapja az órajelet egy elektronikus jel formájában, akkor elvégzi a soron következő műveletet, majd amikor megkapja a következő jelet, akkor a következő műveletet végzi el. Egy másodperc alatt egy mai processzor egysége több milliószor kap jelet, ami a gigahertzes mértékegységek alapján kikövetkeztethető. Az órajel sebességének így ahhoz az időhöz kell alkalmazkodnia, amennyi időbe telik egy részegységnek a rá kijelölt művelet elvégzése (különben akkor jönne a következő művelet, amikor az előző még feldolgozás alatt van, ami problémákat okozna). Ez lényegében azt eredményezheti, hogy a processzor egységeinek a leglassabb elem miatt kell várakozniuk, amit persze különféle megoldásokkal orvosolnak. Ám a műveletet nem szabad összetéveszteni az utasítással: egy utasítás végrehajtása több órajelciklust is igénybe vehet.

Sokan a mai napig azt hiszik, hogy az órajel a teljesítmény mértékegysége és minél nagyobb a szám, annál nagyobb a számítási teljesítmény, azaz kvázi annál gyorsabb a processzor, de ez tévedés. Ez az általános nézet anno a Pentium 4-es asztali processzorok bemutatkozásával terjedt el (pontosabban az Intel próbálta terjeszteni), majd később az AMD Athlon megjelenése mutatott rá arra, hogy nem igaz. Egy adott processzor teljesítményét két szimpla változó szorzatának eredményeként kapjuk meg. Ezek a változók az órajel (pl. 2,6 GHz) és az IPC, azaz Instructions Per Cycle, magyarul egy órajelciklus alatt elvégzett műveletek száma. Egyértelmű, hogy két CPU közül a magasabb órajelű a gyorsabb, ha ugyanolyan IPC-vel rendelkeznek, tehát ha két azonos típusról van szó, ellenben ha két különböző típusú CPU-ról beszélünk, akkor az órajel ismerete önmagában nem elég ahhoz, hogy kiderüljön, melyik a gyorsabb (feltételezve, hogy a két különböző típusú processzor az IPC-t kivéve minden más paraméter szempontjából megegyezik). Azt, hogy egy adott CPU milyen IPC-vel rendelkezik, nem lehet konkrétan meghatározni, hiszen tudni kellene azt is, hogy milyen műveletről van szó, azonban a CPU-tesztek ki szokták mutatni, ha egy adott architektúra azonos órajelen gyorsabb, mint egy másik. Mivel az okostelefonoknál és a táblagépeknél ma már nagyon fontos, hogy milyen teljesítményre számíthatunk, gyakorlatilag az összes platformon vannak olyan tesztprogramok, melyek nagyjából biztos összehasonlítási alapot adnak bizonyos részterületeken.

A processzoroknál nagyon fontos paraméter a magok száma, ma ugye egy, két, négy és nyolcmagos megoldások is piacon vannak. Sokan úgy gondolják, hogy a magok számának duplázása egyben 200 százalékos sebességet is jelent, de ez sajnos távolról sem igaz; a több processzormagnak azoknál a feladatoknál van értelme, ahol a műveleteket lehet párhuzamosítani, ráadásul ott is csak akkor, ha a feladat végrehajtását kérő szoftvert optimalizálták többmagos rendszerre. Mindezt egy nagyon egyszerű példával lehet leírni: képzeljük el magunkat és egy barátunkat, mint egy-egy processzormagot. Matematikai feladatokat kell megoldanunk, az első egy összeadás, mondjuk 3+4: itt nyilván nincs előnyünk abból, hogy egy barátunk is segít számolni, hiszen legfeljebb azt tudjuk csinálni, hogy mindketten egyszerre kiszámoljuk és kétszer lesz meg ugyanaz az eredményünk. Ellenben egy kicsit komplexebb műveletnél már meg lehet osztani a feladatokat; a (3+4)*(4+3) esetében például három műveletünk van, két összeadás és egy szorzás. Ha mi megcsináljuk az első összeadást, a barátunk közben megcsinálhatja a másikat, nekünk pedig ezután csak a szorzás marad, azaz bár nekünk három műveletnyi idő lett volna elvégezni a feladatot, a barátunk segítségével kettő alatt meglettünk. Mindez azonban csak akkor működik, ha a feladatokat megkapjuk és van köztünk kommunikáció, ez okostelefonos rendszereknél viszont nem ilyen triviális ez az egész. Az Android rendszer például csak a 3.0-s (Honeycomb) verzió óta támogatja rendszerszinten a kétmagos processzorokat, épp ezért is kapott kritikákat annak idején a korábbi rendszerrel piacra került LG Optimus 2X, melyben ugyan kétmagos CPU működött, de azt a rendszer nem tudta kihasználni. El kell viszont különíteni magát az Androidot és a szoftvereket, a lehetőségek ugyanis nem ugyanazok. Egy operációs rendszernél felhasználói élmény szempontjából talán fontosabb az, hogy milyen gyorsan kerülnek kiszámításra a felhasználói felülettel kapcsolatos műveletek, mint az, hogy sok processzormagunk legyen. Igaz ugyan, hogy vannak háttérfolyamatok, de azok inkább memória, nem pedig processzorigényesek. Ellenben mondjuk webböngészéskor jól jöhet egy négymagos rendszer; egy mag számolja a JavaScript műveleteket (mivel ez egy párhuzamos feldolgozást nem támogató nyelv), a többi mag pedig a sorban megnyíló újabb és újabb böngészőablakokat, azaz három darab fül megnyitásáig még egyértelmű előnyünk van. Ugyanígy egy játéknál is jól jön, ha egy processzormag foglalkozik a fizikai számításokkal és egy másik a mesterséges intelligenciával, de hangsúlyozni kell, hogy mindez csak akkor működőképes, ha a szoftverfejlesztők erre lehetőséget adnak. Operációs rendszerek tekintetében egyébként nincs nagy különbség a több mag kihasználásának tekintetében, nem lehetne azt mondani, hogy az Android vagy mondjuk a Windows Phone jobb vagy rosszabb, mint a többiek.

ARM, utasításkészlet, csíkszélesség, RAM

A hordozható gépek hardvere kapcsán egyre többször lehet olvasni az ARM kifejezést, mely az ARM Limited által kifejlesztett, 32 bites, egyszerűsített utasításkészletű (RISC) processzorarchitektúra. Jelenleg ez a világ egyik legelterjedtebb megoldása, amit nem véletlenül használnak a hordozható eszközökben; bár az ARM-alapú processzorok teljesítménye elmarad az x86-os architektúrát használó megoldásokétól, energiaigényük is jóval alacsonyabb. Többek között ennek köszönhető, hogy 2011-ben közel 8 milliárd ARM-alapú processzort szállítottak világszerte, ami a mobiltelefonok között 95 százalékos, a televízióknál pedig 40 százalékos részesedést jelentett, azaz 20-ból 19 mobiltelefonban ARM-chip volt.

Az ARM Limited nem gyárt processzorokat, tervezni viszont terveznek és ezeket a terveket el is adják. Itt konkrét processzormagokra kell gondolni, de az egész képletet átlátni már csak azért sem egyszerű, mert ARM-architektúrájú processzorokat külső gyártók is tervezhetnek, többek között ezt csinálja a Qualcomm (Snapdragon család) és az Apple (A6, A6x) is. Ráadásul az ARM által tervezett processzorok besorolása sem a legegyszerűbb, hiszen van egyrészt a processzorcsalád, mely nagyjából 10 évvel ezelőttig még teljesen átlátható volt: ARM1, ARM2, ARM3 és így tovább egészen ARM11-ig. Utána viszont jött a Cortex-M, a Cortex-R és a Cortex-A család, mely közül mi főleg az utóbbit ismerjük, hiszen az ottani megoldásokat tervezték alkalmazások futattására. A Cortex-A család jelenleg 5 tagból áll (A5, A7 MPCore, A8, A9 MPCore, A15 MPCore), de hamarosan érkezik majd két új gyermek is (A53 és A57), melyek már architekturális lépést is jelentenek majd. A telefonoknál ARMv6 vagy ARMv7 architektúrát használnak, de manapság már minden friss megoldás az ARMv7 architektúrára épít, v6-os processzorokat csak az olcsóbb készülékekben használnak. A közös utasításkészlet biztosítja, hogy az architektúrára lefordított programok minden egyes cég fejlesztésén elinduljanak. Az ARMv7 a nevének megfelelően a hetedik generációs technológia, de az előző architektúrára írt alkalmazások is futnak rajta. Az új generációt az ARMv8 jelenti majd, mely már egy 64 bites processzorarchitektúra, így a mai megoldásoknál sokkal több memóriát képes megcímezni, emellett a kompatibilitása is biztosított a régebbi programokkal. Fűszerezésként elmondható, hogy bizonyos ARM processzormagokba implementálható az úgynevezett NEON SIMD kiterjesztés, ami a multimédiás feladatokat képes felgyorsítani.

Egy kicsit most fellélegezhetünk, a csíkszélesség ugyanis egy jóval egyszerűbben érthető tulajdonsága a processzoroknak. Az efféle chipeket ugyebár szilíciumból gyártják, ami egyébként egy nagyon kemény kémiai elem (és a földkéreg negyedét teszi ki, megtalálható többek között a homokban is, de a természetben tisztán nem fordul elő). A processzorok fejlődését többek között az teszi lehetővé, hogy egyre keskenyebb (vagy ha úgy tetszik, vékonyabb) szilíciumlapkákra nyomtatják az áramköröket; a számítógépeknél jelenleg 22 nanométer a minimum, az okostelefonos/táblagépes megoldások általában 28, 32, 45 és 65 nanométeres csíkszélességgel készülnek (egy nanométer az egymilliárdod méter, azaz egy átlagos hajszál hozzávetőlegesen egymilliószor vastagabb, mint az említett csíkszélesség). Nagy általánosságban azt lehet mondani, hogy a kisebb csíkszélesség kevesebb hőtermeléssel és fogyasztással, ebből adódóan jellemzően nagyobb teljesítménnyel jár, de a gyártástechnológia és a chipgyártás nem olyan egyszerű, hogy az elméleti következtetések minden szempont szerint megállják a helyüket. Az adott lapka teljesítmény/fogyasztás aránya nagymértékben függ a tervezéstől, így olyan gyakorlati tényezők kerülnek a képletbe, melyek kiüthetik az elméletet.

SoC-k összehasonlítása

Az alábbi táblázatban a jelenleg elterjedt, okostelefonokban vagy táblagépekben használt megoldásokat találhatják. A tudástár jelen pillanatra érvényes, természetesen ezen a területen is hihetetlen gyors a fejlődés.

Okostelefonokban és táblagépekben használt SoC-k összehasonlítása

Típus

Csíkszélesség

Magok

Órajel

GPU

 

Allwinner A10/A13

55 nm

1

? - 1,2 GHz

ARM Mali-400 MP

 

Allwinner A31

?

4

?

PowerVR SGX544 MP2

 

Amlogic AML8726-M1

65 nm

1

? - 1 GHz

ARM Mali-400 MP

 

Amlogic AML8726-M3

45 nm

1

? - 1 GHz

ARM Mali-400 MP

 

Amlogic AML8726-MX

40 nm

2

? - 1,5 GHz

ARM Mali-400 MP2

 

Apple A4

45 nm

1

1 GHz

PowerVR SGX535

 

Apple A5

45/32 nm

1/2

1 GHz

PowerVR SGX543MP2

 

Apple A5X

45 nm

2

1 GHz

PowerVR SGX543MP4

 

Apple A6

32 nm

2

1,3 GHz

PowerVR SGX543MP3

 

Apple A6X

32 nm

2

1,4 GHz

PowerVR SGX554MP4

 

Broadcom BCM21654

40 nm

1

~850 MHz

VideoCore IV

 

Hisilicon Hi3620 (Huawei K3V2)

40 nm

4

1,2 - 1,5 GHz

Vivante GC4000

 

Intel Medfield

32 nm

1

1,6 GHz

PowerVR SGX540

 

MTK MT6573

65 nm

1

650 MHz

PowerVR SGX531

 

MTK MT6575

40 nm

1

1 GHz

PowerVR SGX531

 

MTK MT6577

40 nm

2

1 GHz

PowerVR SGX531

 

MTK MT6589

28 nm

4

1 - 1,2 GHz

PowerVR SGX544

 

NVIDIA Tegra 2

40 nm

2

1 - 1,5 GHz

ULP GeForce

 

NVIDIA Tegra 3

40 nm

4 + 1

1,2 - 1,6 GHz

ULP GeForce (Kal-El)

 

Rockchip RK2918

55 nm

1

1 - 1,2 GHz

Vivante GC800

 

Rockchip RK3066

40 nm

2

? - 1,6 GHz

ARM Mali-400 MP4

 

Rockchip RK31xx

28 nm

4

? - 2 GHz

?

 

Samsung Exynos 4210

45 nm

2

1,2 GHz - 1,4 GHz

ARM Mali-400 MP4

 

Samsung Exynos 4212

32 nm

2

1,2 GHz - 1,4 GHz

ARM Mali-400 MP4

 

Samsung Exynos 4412

32 nm

4

1,5 GHz - 1,8 GHz

ARM Mali-400 MP4

 

Samsung Exynos 5250

32 nm

2

2 GHz

ARM Mali-T604MPx

 

ST-Ericsson NovaThor U8500

45 nm

2

800 MHz - 1 GHz

ARM Mali-400 MP

 

ST-Ericsson NovaThor A9500

45 nm

2

1,2 GHz

ARM Mali-400 MP

 

ST-Ericsson NovaThor A9540

32 nm

2

1,85 GHz

PowerVR SGX544

 

Qualcomm MSM7x25 (Snapdragon S1)

65 nm

1

528 MHz

nincs

 

Qualcomm MSM7x25A (Snapdragon S1)

45 nm

1

600 - 800 MHz

Adreno 200

 

Qualcomm MSM7x27 (Snapdragon S1)

65 nm

1

600 MHz

Adreno 200

 

Qualcomm MSM7x27T (Snapdragon S1)

65 nm

1

800 MHz

Adreno 200

 

Qualcomm MSM7x27A (Snapdragon S1)

45 nm

1

800 MHz - 1 GHz

Adreno 200

 

Qualcomm MSM7x30 (Snapdragon S2)

45 nm

1

800 MHz - 1 GHz

Adreno 205

 

Qualcomm QSD/MSM8x50 (Snapdr. S1)

65 nm

1

1 GHz

Adreno 200

 

Qualcomm MSM8x55 (Snapdragon S2)

45 nm

1

1 GHz

Adreno 205

 

Qualcomm MSM8x55T (Snapdragon S2)

45 nm

1

1,5 GHz

Adreno 205

 

Qualcomm MSM8x60 (Snapdragon S3)

45 nm

2

1,2 - 1,5 GHz

Adreno 220

 

Qualcomm MSM8x30 (Snapdragon S4)

45 nm

2

1,2 - 1,5 GHz

Adreno 305

 

Qualcomm MSM8260A (Snapdragon S4)

28 nm

2

1,5 - 1,7 GHz

Adreno 225

 

Qualcomm MSM8x70 (Snapdragon S4)

28 nm

2

1,5 - 1,7 GHz

Adreno 225

 

Qualcomm MSM8930 (Snapdragon S4)

28 nm

2

1 - 1,2 GHz

Adreno 305

 

Qualcomm MSM8960 (Snapdragon S4)

28 nm

2

1,5 - 1,7 GHz

Adreno 225

 

Qualcomm MSM8960 Pro (Snapdr. S4)

28 nm

2

1,5 - 1,7 GHz

Adreno 320

 

Qualcomm MSM8930 (Snapdragon S5)

28 nm

1

1 - 1,2 GHz

Adreno 305

 

Qualcomm MSM8974 (Snapdragon S5)

28 nm

4

2 - 2,5 GHz

Adreno 320

 

TI OMAP3630

45 nm

1

800 MHz - 1,2 GHz

PowerVR SGX530

 

TI OMAP4430

45 nm

2

1 GHz - 1,2 GHz

PowerVR SGX540

 

TI OMAP4460

45 nm

2

1,2 GHz - 1,5 GHz

PowerVR SGX540

 

TI OMAP4470

45 nm

2

1,5 GHz - 1,8 GHz

PowerVR SGX544

 

TI OMAP5430/32

28 nm

2

2 GHz

PowerVR SGX544MP2

 

 

A cikk sokaknak segíthet eligazodni a hardveres fogalmak tengerében és most már egyszerűbben megértik az SoC-k felépítését és az eszközök működését.

Forrás:Mobilaréna

 

Tartalomhoz tartozó címkék: hír Újdonság
blog comments powered by Disqus