Sunteți pe pagina 1din 7

Particularitatile memoriilor cache in sisteme

mobile de tip smatphones



I. Ce este memoria cache?
Memoria cache (sau simplu un cache) este o colecie de date ce sunt o "copie la indigo" a
valorilor originale stocate altundeva sau calculate mai devreme, unde operaia de aducere din
memorie a datelor originale este costisitoare (datorit timpilor mari de acces la memorie) sau costul
recalculrii acestora este mare, n comparaie cu costul citirii acestora din cache. Cu alte cuvinte, un
cache este o arie temporar de stocare unde datele utilizate n mod frecvent pot fi depozitate pentru
un acces rapid la acestea. Odat ce datele sunt stocate n cache, n viitor vor fi luate de aici i
utilizate dect s se ncerce readucerea datelor originale sau recalcularea acestora, astfel nct
timpul mediu de acces este mai mic.
Memoria cache, sau RAM cache-ul este memorie de tip static RAM. Ca orice SRAM, are o
viteza si un cost mult mai ridicate decat RAM-ul dinamic (DRAM). Avand in vedere ca programele
acceseaza memoriile de date sau instructiuni in repetate randuri, s-a observat ca prin pastrarea a
cat mai multe dintre aceste informatii pe SRAM, intregul sistem functioneaza mai rapid.


Exista 3 tipuri de memorie cache:
cache de nivel 1 (Level1 sau L1) - este memoria cache construita in Unitatea Centrala de
Procesare (UCP); este cel mai rapid tip de memorie, pentru ca poate functiona la aceeasi viteza
cu cea a microprocesorului
cache de nivel 2 (Level2 sau L2) - este memoria de pe un chip separat fata de UCP; poate
ajunge sa functioneze la o viteza de aproape 2 ori mai mare decat RAM-ul.
cache de nivel 3 (Level3 sau L3) - folosite de anumite UCP-uri contin atat memorie de nivel 1
cat si memorie de nivel 2 atasate sistemului

Fig 1. Reprezentare grafica a unui
sistem cu memorie cache




II. System on a Chip
Datorita cerintelor de portabilitate, in cadrul sistemelor de tip smartphone, se doreste o
dimensiune totala cat mai mica, folosindu-se astfel concepul SOC (System on a Chip). Un SOC
este un circuit integrat care integraza toate componentele smartphone-ului.
Pe un sistem de tip Desktop, avem diferite elemente precum procesorul(CPU) , placa
video (GPU), memoria si perifericele, toate conectate pe placa de baza. In cadrul unui
smartphone, componentele sunt similare, adaugandu-se si alte sub-procesoare specializate
pentru diverse functii ale telefonului, toate integrate pe un singur chip, datorita spatiului foarte
limitat. Practic, cand discutam despre procesoarele smartphone-urilor, discutam practic de
SOC.
La baza oricarui SOC sta procesorul (CPU) . Majoritatea producatorilor folosesc un
design de CPU de la compania ARM, design gandit pentru a realiza majoritatea functiilor unui
smartphone, de la rularea sistemului de operare pana la functiile display-ului touch-screen.
In momentul de fata exista 4 mari firme in lupta procesoarelor pentru smartphone-uri :
Nvidia, Qualcomm, Texas Instruments si Samsung, insa toate au un lucru in comun: ARM.
Lupta in acest domeniu pleaca de la faptul ca unele companii preiau procesoarele de la ARM si
le integraza in SOC asa cum sunt in timp ce alte companii isi construiesc propriul CPU folosind
setul de instructiuni si ghidurile celor de la ARM, adaptandu-l la nevoile proprii cu ajutorul
inginerilor.

Fig 2. Schema bloc a SOC-ului Snapdragon S4 cu procesor Krait produs de Qualcomm



Pentru a intelege mai bine specificatiile unui smartphone am adaugat mai jos cu lista cu numele
SOC-urilor celor mai utilizate pe piata in functie de producatorul lor:
* Apple: A4,A5 etc.
* Samsung: Exynos 3 Single, Exynos 4 Dual, Exynos 4 Quad etc.
* Nvidia: Tegra 2, Tegra 3, Tegra 4, etc.
*Qualcomm : Snapdragon S3, Snapdragon S4 etc.
*Texas Instruments : OMAP 4, OMAP 5, etc.
Atentie! nu toate smpartphone-urile produse de Samsung au la baza SOC-uri Exynos, exista un
numar foarte mare de smartphone-uri Samsung ce au la baza SOC-uri Qualcomm.



Fig 3. Procesoare din interiorul diverselor
SOC-uri



III. Memoria cache in arhitectura ARM
Memoriile cache in cadrul arhitecturii ARM sunnt similare memoriilor cache ale
arhitecturilor Intel si ADM studiate in cadrul cursului, iar informatia despre aceste aceste
memorii cache se poate gasi in foile de catalog ale fiecarui procesor in parte.
Design-ul arhitecturilor ARM pune accent pe numarul mic de tranzistori,dimensiuni mici
si chipuri de mica putere,reusind astfel sa pastreze memori cache destul de mici.Una dintre
caracteristicile distinctive ale arhitecturii ARM din punct de vedere al memoriei cache este
existenta buffer-ului de scriere ( Write Buffer) FIFO intre memoria cache si memoria principala.
Datele sunt scrise in write buffer la viteza procesorului, iar write buffer-ul scrie apoi informatia in
paralel cu procesorul.
Procesoarele produse de ARM folosite cel mai mult in cadrul smartphone-urilor fac parte
din familia Cortex-A.
Vom analiza in continuare procesoarele ARM pe masura dezvoltarii lor, urmarind doar
evolutia memoriei cache.

*ARM 1 si ARM 2 nu au avut memorie cache
* ARM 3 a inovat printr-o memorie cache unificata de 4KB si o frecventa a procesorului de 25
MHZ
*ARM 6 pasteaza memoria cache unificata de 4KB si introduce o magistrala de pentru
coprocesoare. Frecventa procesorului : 12-20 MHZ
*ARM 7 pastreaza arhitectura precedenta, insa observam o marire a memoriei cache la 8 KB si
a frecventei procesorului pana la 40 MHZ
* ARM 8 vine cu o multime de inovatii : 5-stage pipeline, Thumb, Jazelle DBX, instructiuni
specifice prelucrarii digitale a semnalelor, etc. Dimensiunea memoriei cache ramane de 8 KB
* ARM 9 : In cadrul acestei generatii, ARM se schimba de la o arhitectura von Newman la o
arhitectura Harvard, cu memorii cache diferentiate pentru date si pentru instructiuni cu
dimenstiuni de pana la 16 KB/16 KB
* ARM 11 vine cu o noua arhitectura pentru memoriile cache. Acestea sunt indexate si adresate
fizic, dimensiunea memoriilor cache este intre 1-64 KB pentru fiecare dintre cele 2 memorii
cache(pentru date si pentru instructiuni).
* Cortex-A5 : 4-64 KB memorie cache separata.
* Cortex A7 are o memorie cache L1 de 32 KB/ 32KB si o memorie cache L2 de pana la 4 MB
* Cortex A9 are o memorie cache L2 de pana la 8 MB
* Cortex A15 : In cadrul acestei arhitecturi, memoria cache L2 este partitionale in bancuri
multiple pentru a permite operatii paralele.









Fig.4 Schema bloc a memoriei cache L1 in cadrul procesorului ARM 11
Fig 5.Structura banc-urilor din memoria cache L2 pentru procesorul Cortex A15









Fig 6. Specificatiile memoriei cache pentru diferite procesoare ARM
Fig 7. Schema bloc a procesorului Cortex A9.



* Cortex A17 este un procesor de la ARM lansat la inceputul anului 2014. Acesta are 64 sau
96 KB memorie cache L1 per core si intre 256 KB si 8 MB memorie cache L2 totala.

Fig.8 Schema procesorului cortex A17

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