Sunteți pe pagina 1din 12

1.

Noțiuni Introductive

1.1. Concepte fundamentale sisteme embedded

Un sistem de tip embedded sau încastrat este un sistem comandat de un microprocesor,


microcontroler, SoC (System on a Chip) sau de un DSP (Digital Signal Processor –
procesor dedicat procesării digitale a semnalelor). Această parte electronică, ce are drept
nucleu un procesor (microprocesor, microcontroler sau DSP), este inclusă, încastrată
(embedded) ca subsistem a unui dispozitiv mult mai complex, dispozitiv care poate să
includă şi alte componente hardware sau părţi mecanice. Un astfel de sistem este proiectat
să execute un număr finit de funcţii, de multe ori având diferite constrângeri în executarea
acestor funcţii; constrângeri legate de resursele disponibile sau de tip temporal (rezolvarea
unor sarcini într-un interval de timp bine stabilit).
În concluzie, spunem că un sistem embedded este un dispozitiv ce are cel puţin un
procesor în structura sa.
Diferenţele existente între un calculator de uz general şi un dispozitiv de tip embedded
sunt prezentate în tabelul de mai jos.

Tabel 1. Diferenţele existente între un calculator de uz general şi un sistem embedded

Calculatoare de uz general1 Dispozitive embedded

Pot efectua sarcini diverse (divertisment, calcule


Efectuează o sarcină sau un număr mic de sarcini
matematice, comunicaţii etc.) atâta timp cât există
predefinite într-un mod eficient și la costuri cât mai
o aplicaţie (program – software) şi resursele
scăzute.
necesare efectuării ei.
Nu implică constrângeri de procesare sau prelucrare
O bună parte din aceste sisteme necesită
a datelor de timp real. Constrângerile existente țin
performanțe de timp real pentru asigurarea
doar de fluența comunicării, prezentării
siguranței și funcțiilor echipamentelor în care sunt
informațiilor către un utilizator (de confortul
incluse.
acestuia).
Dispozitivele embedded nu respectă nici un
standard (fiind de altfel de o diversitate rar
Toate calculatoarele personale au o arhitectură ce
întâlnită). Arhitectura acestora este specifică:
respectă un anumit standard.
sarcinii pe care trebuie să o îndeplinească şi
mediului de lucru.

În cea mai mare parte a lor sunt sisteme În cea mai mare parte a lor sunt părți componente a
independente. unui sistem mult mai complex.

Dezvoltarea programelor se poate realiza pe acelaşi Dezvoltarea aplicaţiei software ce va rula pe aceste
sistem pe care vor rula. dispozitive este realizată pe alte calculatoare.

1
de exemplu un calculator personal

1
Dispozitive mecanice de tipul hardisk (HDD) Stocarea se realizează pe medii SSSD (solid state
stochează programele software şi sistemul de storage devices), gen memorii flash. Aceste
operare (SO). HDD oferă de asemenea capacităţi dispozitive nu au părți mecanice în mişcare iar
suplimentare de stocare pentru diversele necesităţi capacitatea lor medie de stocare este net inferioară
ale utilizatorului. HDD.
Funcție de aplicația specifica în care aceste sisteme
sunt utilizate constrângerile de consum pot fi
Constrângerile de consum a acestor sisteme nu sunt
extrem de dure, existând familii întregi care sunt
foarte limitative, din acest motiv consumul este
optimizate doar pentru un consum redus. În genere
mult mai mare ca al sistemelor embedded.
consumul dispozitivelor embedded este mult mai
mic decât al calculatoarelor de uz general.
Sunt sisteme de înaltă fiabilitate. Datorită rolului
Fiabilitatea este medie, fiind dată în principal de
critic pe care îl îndeplinesc (comanda și controlul
evoluțiile tehnologice și de prețul pe care
diferitelor echipamente industriale, auto sau, de
utilizatorul sistemului este dispus să îl plătească.
exemplu, în industria aernautică), cea mai mare
Acestea sisteme sunt de altfel bunuri de larg
parte din aceste sisteme trebuie să aibă o fiabilitate
consum.
foarte ridicată.

1.2. Arhitecturi

Unul dintre conceptele fundamentale ce definesc un procesor este acela al arhitecturii


acestuia. De asemenea, orice sistem de operare (Windows, Linux, iOS, Android etc.) –
deoarece rulează pe un anumit hardware – este direct dependent de arhitectura procesorului
și a sistemului embedded. În cadrul procesului de dezvoltare conceptuală şi ulterior de
implementare fizică a unui sistem embedded primul pas constă, de altfel, în alegerea
arhitecturii procesorului, ulterior această alegere ne va influenţa întregul lanţ decizional. În
continuare ceea ce este cu adevărat interesant este să definim noţiunea de arhitectură şi să
observăm influenţele pe care aceasta le are asupra performanţelor diferitelor procesoare.
Arhitectura unui microprocesor precizează conceptele fundamentale ce stau la baza
construcţiei interne a acestuia, definind structura care susţine şi care se află în spatele
modului de manipulare şi calcul a datelor – de exemplu, încărcarea/stocarea din/în
memorie, adunare, scădere, înmulţire şi împărţirea diferitelor valori.
La ora actuală există un număr foarte mare de arhitecturi. Câteva dintre acestea sunt
următoarele:
1. IA-32 (Intel Architecture 32-bit) cunoscută publicului larg sub denumirea x86, x86-
32 sau i386 este arhitectura utilizată şi impusă de către compania Intel. IA-32 este
o arhitectură pe 32 de biţi de tipul von Neuman, implementată pentru prima dată pe
microprocesorul 80386. Această arhitectură a fost extinsă şi pentru structuri pe 64
de biţi, IA-64, păstrându-se însă compatibilitatea cu IA-32. IA-64 a fost
implementată pentru prima dată în cadrul familiei de microporcesoare Itanium. O
prezentare în detaliu a procesoarelor ce au la bază această arhitectură va fi realizată
în subcapitolul „Unitatea centrală de procesare”. În principal aceste procesoare
sunt dedicate pieții calculatoarelor personale având prea puține legături cu piața
sistemelor embedded.
Începând cu familia de procesoare Atom, compania Intel își face simțită prezența
și pe piața sistemelor embedded. Această familie de procesoare are la bază

2
arhitecturile IA-322 și/sau IA-643 fiind capabile să ruleze la tensiuni de operare
foarte mici – de aici rezultând și consumul redus de energie, una din cerințele
fundamentale ce caracterizează o clasă largă de dispozitive embedded. În principal,
familia de procesoare Atom a fost lansată pentru a contrabalansa oferta existentă a
concurenților pe piața sistemelor optimizate pentru curenți și costuri scăzute (de
exemplu: familia Geode produsă de AMD sau familia ARM).
2. ARM (Advanced RISC Machines) este o arhitectură RISC pe 32 de biţi şi a fost
dezvoltată de Compania ARM Holdings din Cambridge, Marea Britanie. Dacă
procesoarele bazate pe arhitectura x86 domină piaţa calculatoarelor personale,
procesoarele bazate pe arhitectura de tip ARM domină în totalitate piaţa bunurilor
la larg consum fiind înglobate în telefoanele mobile, media playere, PDA-uri,
console de jocuri, rutere şi în nenumărate periferice ale calculatoarelor personale
precum plăci video, hardisk-uri etc.
Arhitectura ARM este cea mai utilizată din punct de vedere a numărului de
procesoare produse, ce o au la bază, şi utilizate în diferite aplicaţii. Astfel în anul
2006 s-a estimat că în jur de 98% din telefoanele mobile au în componenţă cel puţin
un procesor bazat pe o arhitectură de tip ARM [Krazit, 2006]. În timp ce în anul
2009 aproximativ 90% din piaţa procesoarelor embedded erau bazate pe o
arhitectură de tip ARM [Wikipedia, 2011].

Tabelul 1.1. Versiunile arhitecturii ARM


Nuclee (CPU)
Nr. Nuclee (CPU) dezvoltate de ARM
Arhitectură dezvoltate de alte
biți Holdings
companii
ARMv1 32 ARM1
ARMv2 32 ARM2, ARM3 Amber
ARMv3 32 ARM6, ARM7
ARMv4 32 ARM7TDMI, ARM8, ARM9TDMI StrongARM, FA526
XScale, FA626TE,
ARMv5 32 ARM7EJ, ARM9E, ARM10E
Feroceon, PJ1/Mohawk
ARMv6 32 ARM11
ARM Cortex-M0, ARM Cortex-M0+,
ARMv6-M 32
ARM Cortex-M1
ARMv7-M 32 ARM Cortex-M3
ARMv7E-M 32 ARM Cortex-M4
ARM Cortex-R4, ARM Cortex-R5, ARM
ARMv7-R 32
Cortex-R7

2
De exemplu, cele din seriile: Atom Z5xx, Atom Z6xx și Atom N2xx.
3
De exemolu, cele din seriile: Atom 2xx, 3xx, N4xx, D4xx și D5xx.

3
ARM Cortex-A5, ARM Cortex-A7, ARM Krait, Scorpion,
ARMv7-A 32 Cortex-A8, ARM Cortex-A9, ARM PJ4/Sheeva, Apple A6
Cortex-A12, ARM Cortex-A15 (Swift)
X-Gene, Denver, Apple
ARM Cortex-A53, ARM Cortex-A57,
ARMv8-A 64 A7 (Cyclone), A8, A8X,
ARM Cortex-A72
A9, A9X

Un avantaj fundamental al procesoarelor bazate pe arhitectura ARM este dat de


consumul redus al acestor procesoare. Acest consum redus este generat în principal
de simplitatea arhitecturii. Arhitectura ARM a cunoscut în timp un număr mare de
versiuni, vezi Tabelul 1.1.
Versiunea 2 a arhitecturii (depăşită la ora actuală), ARMv2, a stat la baza
microprocesorul ARM2 – produs în 1986. Acest microprocesor a fost considerat
cel mai simplu microprocesor pe 32 de biţi, având în componenţă în jur de 30.000
de tranzistoare. Pentru comparaţie procesorul produs de Intel 80386 în anul 1986
îngloba 275.000 de tranzistoare. Simplitatea arhitecturii ARM a generat un consum
foarte scăzut; performanţele acestui microprocesor au fost superioare
microprocesorului 80286 produs de compania Intel. Continuându-şi evoluţia
această arhitectură şi-a păstrat simplitatea4, simplitate generatoare a acestor
consumuri reduse. Această simplicitate a arhitecturii (generatoare a unor consumuri
reduse) este dată în special de ne utilizarea microcodului în rularea
instrucţiunilor limbajului de asamblare.
Fiecare nouă versiune a arhitecturii ARM aduce o nouă îmbunătățire față de
generația anterioară. De exemplu, arhitectura ARMv4 introduce, față de arhitectura
anterioară ARMv3, un nou set de instrucțiuni (pe 16 biți denumit Thumb) care
permite obținerea unei densități mai mari a codului față de versiunea standard a
setului de instrucțiuni ARM care este pe 32 de biți – aceleași programe ocupă mai
puțină memorie chiar dacă anumite operații trebuie făcute cu mai multe instrucțiuni
Thumb decât în cazul în care erau utilizate setul standard ARM.
Cerințele din piața dispozitivelor de tip embedded au determinat o diversificare
a versiunilor existente în vederea specializării acestora. Astfel, versiunea 7 a
arhitecturii ARM are următoarele subversiuni:
1. A (cunoscută sub numele de ARMv7-A) a fost realizată pentru a putea rula
sisteme de operare sofisticate, ce necesită utilizarea de tehnici de tip
memorie virtuală. Pe baza acestei versiuni (ARMv7-A) au fost realizate
următoarele procesoare sau CPU (Central Processing Unit):
a. Cortex-A8 este un procesor pe 32 de biţi proiectat special pentru a
obţine cele mai bune performanţe având consumul cel mai redus5;
b. ARM Cortex-A9 Single Core Processor;

4
De exemplu, microprocesorul ARM6, bazat pe următoarea versiune a acestei arhitecturi (ARMv3), era
realizat cu ajutorul a doar 35.000 de tranzistoare.
5
Consumul acestui procesor este mai mic de 300 mW lucrând la frecvenţe ce încep de la 600MHz ajungând
şi depăşind 1GHz.

4
c. ARM Cortex-A9 MPCore - procesor dezvoltat specific pentru a
conlucra cu mai multe nuclee similare de același tip etc.
2. R (ARMv7-R) a fost proiectată dedicat pentru procesoarele de tip
embedded de timp real (real-time systems). Utilizându-se această versiune
a arhitecturii ARM au fost construite următoarele procesoare: Cortex-R4 şi
Cortex-R4F. Aceste procesoare sunt dedicate de asemenea aplicaţiilor de
tip embedded comerciale ce sunt produse în volume mari (hard disk-uri,
imprimante, modemuri wireless etc.).
3. M (ARMv7-M) – arhitectură optimizată pentru diferitele tipuri de
microcontrolere. Această versiune este dedicată în special aplicaţiilor ce
urmăresc minimizarea costurilor (low-cost applications). Această familie
include următoarele procesoare:
a. Cortex-M0 – procesor de mici dimensiuni şi consum redus (este
considerat procesorul cu consumul cel mai redus construit
utilizându-se o arhitectură ARM);
b. Cortex-M1 este proiectat special spre a fi inclus în FPGA-uri;
c. Cortex-M3 este proiectat special pentru a obţine maximum de
performanţă cu costuri minime.
Unul din nucleele (procesor sau CPU) cele mai de succes a versiunii 4 a
arhitecturii ARM a fost ARM7TDMI utilizat în milioane de dispozitive chiar și
astăzi. Numele acestui nucleu, ARM7TDMI, este dat de următoarea combinație
ARM7 + Thumb + Debug + Multiplier + ICE6, pe toate procesoarele se poate
realiza operația de debug (depanare) a programelor dezvoltate, deosebirea nucleului
ARM7TDMI este dată de faptul că aici CPU se oprește fizic în cazul unei cereri de
debug. ARM7TDMI este primul procesor în care a fost implementat setul de
instrucțiuni Thumb. Microcontrolerul AT91SAM7S256, componentă principală a
modulului de comandă și control (NXT brick), are la bază un procesor RISC de
tipul ARM7TDMI care este o implementare a versiunii 4 a arhitecturii ARM -
ARMv4.
3. MIPS (Microprocessor without Interlocked Pipeline Stages) este o arhitectură de
tip RISC ce a stat la baza dezvoltării unei întregi familii de microprocesoare pe 32
sau pe 64 biţi. Această arhitectură a fost dezvoltată de compania Americană MIPS
Technologies. La ora actuală există o serie largă de versiuni ale arhitecturii MIPS
(MIPS I, MIPS II, MIPS III, MIPS IV, MIPS V, MIPS32, and MIPS64).
Iniţial microprocesoarele bazate pe arhitectura MIPS au fost destinate pieţii
calculatoarelor personale intrând în directă competiţie cu arhitectura de tip IA-32,
reuşind la un moment dat să o depăşească în performanţe. Dar lansarea de către
Intel a unor noi versiuni de procesoare Pentium cu performanţe superioare şi
pierderea suportului oferit de către compania Microsoft pentru procesoarele bazate
pe această arhitectură (ultimul sistem de operare care a mai fost compatibil cu
arhitectura MIPS a fost sistemul de operare Windows NT versiunea 4.0) a
determinat retragerea companiei şi implicit a arhitecturii de pe piaţa calculatoarelor

6
In-Circuit Emulator

5
personale de uz general şi îndreptarea atenţie companiei producătoare către piaţa
sistemelor şi a aplicaţiilor de tip embedded.
4. SH sau SuperH a fost la origine o arhitectură de tip RISC pe 32 de biţi dezvoltată
de compania Hitachi care ulterior prin versiunea arhitecturală SH5 a migrat către
64 de biţi. In acest moment sunt produse o serie largă de microprocesoare pe baza
arhitecturii SH de către compania japoneză Renesas Technology (companie
deţinută de firmele Hitachi şi Mitsubishi). Versiunile SH2, SH2A, SH3, SH4 şi
SH4A ale arhitecturii SuperH sunt în continuare active şi implementate în diferite
tipuri de procesoare.
5. PowerPC (Power Performance Computing sau Performance Optimization With
Enhanced RISC Performance Chip) a fost dezvoltată în anul 1991 de un consorţiu
format din trei companii Apple, IBM şi Motorola. Această arhitectură a fost
dezvoltată iniţial pentru piaţa calculatoarelor personale, iar ulterior s-a impus în pe
segmentul de piaţă al sistemelor embedded şi a sistemelor de foarte înaltă
performanţă7. De asemenea, aceste procesoare sunt utilizate la consolele de jocuri
Nintendo GameCube şi Wii precum şi la Xbox 360 produsă de Microsoft.
PowerPC este o arhitectură de tip RISC pe 32 sau pe 64 de biți ce are la bază
arhitectura Power dezvoltată de compania IBM. Aceste microprocesoare pot opera
cu numere cu virgula mobilă în simplă sau dublă precizie.
Diferitele sisteme de operare sunt proiectate să lucreze cu diferite familii de
microprocesoare caracterizate de diferite arhitecturi şi de diferite versiuni ale acestora. De
exemplu:
1. sistemul de operare Windows CE suportă următoarele arhitecturi x86, ARM
(doar versiunea ARMv4I), SuperH (doar versiunea SH4 până la Windows CE
6.0 R2) şi MIPS (versiunile MIPSII şi MIPSIV),
2. sistemul de operare Windows Embedded Compact 7 (urmașul lui Windows
CE 6.0) suportă arhitecturile x86, ARM (doar versiunile ARMv5, ARMv6 și
ARMv7) şi MIPS (versiunile MIPSII şi MIPSIV) în timp ce,
3. sistemele de operare de la Microsoft, Windows 7, 8 și 10, suportă arhitecturile
IA-32 şi IA-64 în timp ce Windows 8 și 10 rulează și pe arhitectura ARM.
Făcând o analiză comparată a produselor existente, se observă că la ora actuală
arhitectura ARM domină piaţa telefoanelor mobile în timp ce compania Intel prin
arhitecturile IA-32 şi IA-64 domină piaţa calculatoarelor personale (PC).
Arhitectura unui procesor nu este un lucru fizic, ea este o descriere a conceptelor
fundamentale ce stau la baza funcţionării unui CPU. După cum am văzut anterior fiecare
arhitectură are diferite versiuni, de exemplu arhitectura ARM are 8 versiuni (ARMv1,
ARMv2, ..., ARMv6, ARMv7 și ARMv8). Iar de cele mai multe ori este posibil ca o
anumită versiune a unei arhitecturi să aibă alte subversiuni.

7
Firma BAE SYSTEMS Platform Solutions a implementat pentru avionul de vânătoare F-35 Lightning II
(avion din generaţia a cincea multirol de tip stealth) produs de Lockheed Martin sistemul electronic de
comandă şi control ce are drept nucleu un procesor dual core dezvoltat pe baza unei arhitecturi de tip
PowerPC. Acest procesor a fost construit de firma Freescale. Procesoare, ce au la bază această arhitectură,
sunt utilizate și în: avioanele F-22 (Lockheed Martin) sau în avionul multirol francez Dassault Rafale
(Dassault Aviation).

6
Figura 1.1. Schema bloc a microprocesorului OMAP3530 produs de Texas Instruments

Arhitecturi CPU SoC Placă electronică

Samsung OMAP35x
S5PC100 Evaluation Module
IA-32
Texas Instruments
Cortex A8 OMAP3530
MIPS

Freescale
ARM i.MX515 BeagleBoard

SH Texas Instruments
ARM1136J(F)-S
OMAP2430

PowerPC Qualcomm 7x00

Figura 1.2. Legăturile existente între arhitecturi, CPU, SoC şi plăcile electronice

În concluzie, implementarea unei anumite versiuni a unei anumite arhitecturi este

7
chiar procesorul sau CPU. Din punct de vedere a proiectantului după alegerea
arhitecturii, alegerea CPU este cel de al doilea pas. Funcţie de cerinţele impuse sistemului
(de exemplu: consum, cost redus, necesitatea existenţei unui sistem de operare sau/şi
rularea unor aplicaţii de tip real-time) se va alege procesorul sau CPU (de exemplu pentru
arhitectura ARM putem alege Cortex-M0 sau Cortex-A8 sau Cortex-R4F).
Producătorii de circuite şi microprocesoare înglobează ulterior procesorul (CPU) într-
un SoC (System on a Chip). SoC8 înglobează pe lângă CPU și o serie de circuite logice
proiectate să susţină funcţionarea CPU împreună cu o serie de dispozitive periferice
(porturi de comunicație paralele sau seriale, convertoare ADC sau DAC, circuite suport și
drivere pentru elemente de afișare LCD etc.). Toate acestea sunt înglobate într-un SoC,
deci într-un singur circuit electronic – toate acestea sunt realizate pentru reducerea
costurilor dar şi pentru optimizarea la maximum a performanţelor sistemului global.

Figura 1.3. Schema bloc a microprocesorului i.MX515 produs de Freescale

De exemplu, CPU-ul Cortex-A8 este înglobat într-o serie largă de microprocesoare de

8
De multe ori termenul SoC este utilizat greșit în legătură cu dispozitivele embedded de tip
microcontroler, deoarece și acestea înglobează un CPU împreună cu un număr larg de periferice care
asigură autonomia acestor dispozitive (numărul de componente externe suport este foarte mic).
Microcontrolerele sunt, în mod firesc, asimilate în familia sistemelor de tip SCS (single chip systems)
chiar dacă uneori această realitate nu este în totalitate valabilă.
Termenul SoC este folosit în directă legătură cu CPU puternice capabile să susţină sisteme pe
operare ce necesită existența unei memorii externe foarte mare – memorii ce nu por fi înglobate într-un
sistem de tip SoC în principal datorită: costurilor prohibitive şi a dificultăţilor tehnologice. Cu toate
acestea, sistemele SoC necesită existența unui număr considerabil de dispozitive periferice externe, mult
mai multe și mai complexe decât în cazul microcontrolerelor.
Teoretic vorbind utilizarea termenului SoC în legătură cu microcontrolerele nu este corectă dar este
utilizată.

8
tip SoC precum: OMAP3530 produs compania Texas Instruments, i.MX515 produs de
compania Freescale, S5PC100 produs de compania Samsung etc. Pentru o analiză
comparativă a acestor microprocesoare de tip SoC, a arhitecturii lor interne vezi Figura
1.2, Figura 1.3 şi Figura 1.4.

Figura 1.4. Schema bloc a microprocesorului S5PC100 produs de compania Samsung

Ulterior aceste microprocesoare de tip SoC sunt înglobate pe diferite plăci electronice
devenind astfel un sistem de sine stătător. Aceste plăci electronice (board) sunt cunoscute
sub numele de plăci de dezvoltare sau, de exemplu, plăci de bază (mainboard).

Studiu de caz: După cum am menționat anterior, pentru a spune cu certitudine care din
două procesoare este mai bun, în sensul unei puteri mai mare de calcul, trebuie luate
în considerare, pe lângă frecvența de lucru, și mulți alți factori, precum: arhitectura,
pe câți biți este procesorul sau numărul de nuclee pe care acesta le conține.
Pentru a înțelege influențele diferitelor arhitecturi, a numărului de nuclee sau a
frecvenței de lucru prezint mai jos rezultatele obținute cu ajutorul testului Google
Octane [Shimpi, 2013], test compozit ce urmărește multiple aspecte ale modalității
de comportare a diferitelor procesoare, precum performanțele de: citire și scriere în
vectori, calcul matematic în virgulă mobilă, operații pe bit, management a memoriei
sistemului (creare și distrugere de obiecte), apelări de funcții etc.
Pentru a putea înțelege semnificația valorilor prezentate în Figura 1.5 și a
realiza o analiză mai profundă a diferitelor nuclee analizate se va prezenta mai jos
o scurtă descriere a fiecăruia în parte.
Telefonul Apple iPhone 5 utilizează un circuit Apple A6, de tip package on
package (PoP) system on a chip (SoC), are nucleul ARM Cortex-A15 de tip dual-
core (vezi Tabelul 1.1) ce are la bază o arhitectură ARMv7.

9
Smartphon-ul Apple iPhone 5s are la bază procesorul A7 produs de Apple
(denumit comercial Cyclone) care este unul dual-core tactat la aceeaşi frecvenţă de
1,3 GHz, ca și predecesorul A6, dar acesta este o versiune îmbunătăţită şi
îmbogăţită cu suportul arhitecturii ARMv8 a procesorului Swift produs anterior
(A6). O caracteristică importantă este dată și de faptul că această versiune 8 a
arhitecturii ARM (ARMv8) este pe 64 de biți. A7 este primul procesorul pe 64 de
biţi apărut pe un terminal mobil, el fiind dezvoltat intern de către Apple şi nu unul
licenţiat direct de la compania ARM Holding.

Intel Bay Trail FFRD (Atom Z3770) 6219

Apple iPhone 5s 5500

Samsung Galaxy S4 (SHVE300s) 2999

Apple iPhone 5 2859

Figura 1.5. Testul compozit Google Octane utilizat în cuantizarea performanțelor


diferitelor nuclee de procesare – cu cât valoarea este mai mare cu atât procesorul
este mai performant [Shimpi, 2013]

Telefonul Samsung Galaxy S4 are un SoC (system on chip) de tip Exynos 5


Octa (octa-core) caracterizat de arhitectură de tip ARMv7 pe 32 de biți. Structura
procesorului pe 8 nuclee este compusă din procesorul Cortex-A15 (quad core)
tactat la 1.6 GHz și din procesorul Cortex-A7 (quad core) tactat la 1.2 GHz,
obținându-se astfel o împerechere între cluster-ul Cortex-A15, eficientizat pentru
obținerea unei puteri maxime de calcul, cu procesorul Cortex-A7, mai lent dar mult
mai eficient energetic. SoC-ul Exynos 5 Octa văzut de “afară” se prezintă ca un
procesor quad-core care în fiecare moment de timp va avea active doar 4 nuclee,
de exemplu toate cele 4 nuclee Cortex-A15 sau toate cele 4 nuclee Cortex-A7 sau
orice combinație între aceste 2 cazuri “extreme” (generatoare de performanțe
maxime sau de consum minim).
Intel Bay Trail FFRD Z3770 este un procesor quad-core bazat pe arhitectura
Intel IA-64 ce poate lucra la o frecvență a semnalului de tact situată în domeniul
1.46 – 2.4 GHz.
Comparând performanțele obținute în graficul anterior între terminalele
Samsung Galaxy S4 și Apple iPhone 5s se observă că performanțele terminalului
iPhone sunt aproape duble față de a terminalului Galaxy S4 chiar dacă acesta din
urmă are cu două nuclee în plus. Aceste performanțe sunt obținute în special
datorită noii arhitecturii ARMv8 și a dublării numărului de biți a magistralelor
procesorului (64 de biți versus 32 de biți). Un rezultat interesant se poate observa
și în cazul comparării performanțelor procesoarelor A7 cu Atom Z3770. Cu toate
că ambele lucrează pe magistrale de 64 de biți, performanțele lor sunt aproape
identice (5500 versus 6219), aceasta ținând cont și de faptul că A7 lucrează la 1.3
GHz în timp ce Z3770 lucrează la minim 1.5GHz (în cadrul testului a căror rezultate

10
au fost prezentate anterior nu se precizează frecvența procesorului Z3770 – din
acest motiv am presupus că aceasta este cea minimă). Din aceste valori tragem
concluzia că arhitectura ARMv8 este una mai eficientă decât arhitectura IA-64
deoarece procesorul A7 are doar 2 nuclee în timp ce procesorul Z3770 are 4 nuclee.
Rezultatul intrigant apare însă atunci când comparăm rezultatele obținute de
Apple iPhone 5 și Samsung Galaxy S4, deoarece ambele conțin nucleul ARM
Cortex-A15 dar primul are 2 nuclee ce lucrează la 1.3 GHz iar cel de al doilea are
4 nuclee ce lucrează la 1.6 GHz în timp ce prerformanțele sunt de 2859 (A6) și
2999 (Exynos 5 Octa). O posibilă cauză a acestor rezultate va fi evidențiată în
studiul care urmează.
Studiu de caz: Influența codului, a modului în care acesta este scris, asupra puterii
consumate este un factor binecunoscut la ora actuală. De exemplu, având la
dispoziție același sistem (un calculator personal9) s-a testat timpul de viață a
acumulatorilor atunci când resursele sistemului sunt utilizate la maxim de aceeași
serie de aplicații în cazul rulării a două sisteme de operare diferite Windows
versiunea 7 și Mac OS X Snow Leopard (versiunea 10.6.1) [Ngo, 2009]. În ambele
teste un videoclip muzical de înaltă definiție10 a rulat într-o buclă infinită,
iluminatul ecranului și al tastaturii au fost setate pe maximum, volumul sonor a fost
dat la maxim, iar placa de rețea wireless Wi-Fi a fost pornită [Ngo, 2009]. În final
acumulatorul calculatorului personal a fost capabil să alimenteze sistemul timp de
78 de minute atunci când acesta a rulat sistemul de operare Windows 7 și 111
minute atunci când sistemul de operare a fost Mac OS X Snow Leopard [Ngo,
2009]. În concluzie, durata de viață a acumulatorilor calculatorului personal este de
doar 66% (2/3) atunci când PC-ul rulează sistemul de operare Windows 7.
Deoarece sistemul de operare Android este creat să ruleze pe o largă paleta de
dispozitive hardware produse de un număr mare de companii acesta nu este optimizat să
ruleze pe un anumit terminal mobil. Compania Apple produce atât sistemul de operare cat
și dispozitivul hardware pe care acesta rulează. De aici tragem concluzia importanței
optimizării codului de o așa natură astfel încât în final performanțele obținute pe un sistem
ce are 2 nuclee să fie foarte apropiate cu ale unui alt sistem ce utilizează 4 nuclee.

9
Calculatorul a fost un laptop MacBook Pro cu LCD de 15 inch având un procesor Intel Core 2 Duo la 2.5
GHz, 4 GB de RAM și o placă video Nvidia GeForce 9600M GT cu 512 MB RAM.
10
Aceasta implică: un acces continuu la HDD sistemului, utilizarea resurselor procesorului și în special a
setului de instrucțiuni SIMD (decodarea informației video și audio) și prezentarea informației video (deci
transferuri masive de date – prin bus-urile sistemului) pe monitorul LCD înglobat.

11
Bibliografie
[ATtiny13A, 2011] Compania Atmel, documentaţia tehnică a microcontrolerului
ATtiny13A, http://www.atmel.com/dyn/resources/prod_documents/doc8126.pdf,
link valid ianuarie 2011
[Pentium, 2011] Compania Intel, documentaţia tehnică a procesorului Pentium,
www.intel.com/design/pentium/datashts/24199710.pdf, link valid februarie 2011
[Krazit, 2006] Tom Krazit, ARMed for the living room, aprilie 2006, document online la
adresa: http://news.cnet.com/ARMed-for-the-living-room/2100-1006_3-
6056729.html, link valid ianuarie 2011
[Wikipedia, 2011] Wikipedia - the free encyclopedia, ARM architecture,
http://en.wikipedia.org/wiki/ARM_architecture, link valid ianuarie 2011
[Clarke, 2009] Peter Clarke, ARM will overtake Intel in netbooks, smartbooks, says analyst,
articol online:
http://www.industrialcontroldesignline.com/showArticle.jhtml?articleID=22030
0319, septembrie 2009
[Harvey, 1991] A. F. Harvey and Data Acquisition Division Staff, DMA Fundamentals on
Various PC Platforms, National Instruments, Application Note 011, 1991
[Musah, 2008] A. Musah, A. Dykstra, Power-Management Techniques for OMAP35x
Applications Processors, Notă de aplicație SPRT495, Texas Instruments,
septembrie 2008, document online pe site-ul web al firmei Texas Instruments:
http://focus.ti.com/lit/an/sprt495/sprt495.pdf
[Intel, 2013] Intel, Microprocessor Quick Reference Guide, link accesat ultima dată în
decembrie 2013, http://www.intel.com/pressroom/kits/quickreffam.htm
[Gouraud, 1971] H Gouraud, Continuous shading of curved surfaces, IEEE Transactions
on Computers, vol. C-20, pp. 623-629, 1971
[Phong, 1975] B. T. Phong, Illumination for Computer Generated Pictures,
Communications of the ACM, vol. 18, nr. 6, pp. 311-317, 1975

12

S-ar putea să vă placă și