documentaa

54
1. Etapele de dezvoltare a calculatoarelor.??? Generaţia zero ,calculatoare mecanice,(1642-1945) a fost Blaise Pascal (1623- Primul care a construit o maşină de calcul funcţionabilă 1662) care a proiectat o maşină mecanică, folosind roţi dinţate şi fiind acţionată de o manivelă manevrată de om. Maşina putea să facă numai adunări şi scăderi. Gottfried von Leibnitz (1646-1716) a contribuit, teoretic şi practic, la naşterea informaticii. El a perfecţionat maşina lui Pascal, noua maşină reuşind să execute, pe lângă adunări şi scăderi, şi înmulţiri şi împărţiri. Cel care poate fi considerat autorul precursorului calculatorului actual este Charles Babbage (1792-1871). Acesta a creat două maşini: maşina de calcul diferenţială şi maşina analitică. Maşina de calcul al diferenţelor (diferenţială) era o maşină specializată care, pe baza unui algoritm, calcula tabele de numere utile în navigaţia maritimă prin metoda diferenţelor finite. Cea mai interesantă caracteristică a acestei maşini era înscrierea rezultatelor pe o tablă de aramă gravabilă cu o ştanţă de oţel, previzionând mediile periferice de inscripţionare de azi. Maşina analitică avea patru componente: -magazia (memoria); -moara (unitatea de calcul); -secţiunea de intrare (cititorul de cartele); -secţiunea de ieşire (ieşire perforată şi imprimată). Magazia consta din 100 de cuvinte a câte 50 cifre zecimale, fiecare fiind folosite pentru a memora variabile şi rezultate. Moara putea accepta operanzi din magazie, pe care putea aduna , scădea, înmulţi sau împărţi, pentru ca, în final, să întoarcă rezultatul în magazie. Această maşină analitică era programabilă, într-un limbaj simplu de asamblare, care necesita pe cineva care să facă programarea. Acel cineva a fost Ada de Lovelace, fiica lordului Byron, care este cunoscută ca fiind primul programator din istoria calculatoarelor. Următoarele calculatoare aparţin tehnologiei electromecanice. În 1930, un student german, Konrad Zuse, a construit o serie de maşini de calcul folosind 1

Upload: alicia-torres

Post on 30-Sep-2015

219 views

Category:

Documents


4 download

DESCRIPTION

afaceri

TRANSCRIPT

AA raspunsuri.docx

1. Etapele de dezvoltare a calculatoarelor.???Generaia zero ,calculatoare mecanice,(1642-1945)a fost Blaise Pascal (1623- Primul care a construit o main de calcul funcionabil 1662) care a proiectat o main mecanic, folosind roi dinate i fiind acionat de o manivel manevrat de om. Maina putea s fac numai adunri i scderi.Gottfried von Leibnitz (1646-1716) a contribuit, teoretic i practic, la naterea informaticii. El a perfecionat maina lui Pascal, noua main reuind s execute, pe lng adunri i scderi, i nmuliri i mpriri.Cel care poate fi considerat autorul precursorului calculatorului actual este Charles Babbage (1792-1871). Acesta a creat dou maini: maina de calcul diferenial i maina analitic.Maina de calcul al diferenelor (diferenial) era o main specializat care, pe baza unui algoritm, calcula tabele de numere utile n navigaia maritim prin metoda diferenelor finite. Cea mai interesant caracteristic a acestei maini era nscrierea rezultatelor pe o tabl de aram gravabil cu o tan de oel, previzionnd mediile periferice de inscripionare de azi.Maina analitic avea patru componente:-magazia (memoria);-moara (unitatea de calcul);-seciunea de intrare (cititorul de cartele);-seciunea de ieire (ieire perforat i imprimat).Magazia consta din 100 de cuvinte a cte 50 cifre zecimale, fiecare fiind folosite pentru a memora variabile i rezultate. Moara putea accepta operanzi din magazie, pe care putea aduna , scdea, nmuli sau mpri, pentru ca, n final, s ntoarc rezultatul n magazie. Aceast main analitic era programabil, ntr-un limbaj simplu de asamblare, care necesita pe cineva care s fac programarea. Acel cineva a fost Ada de Lovelace, fiica lordului Byron, care este cunoscut ca fiind primul programator din istoria calculatoarelor.Urmtoarele calculatoare aparin tehnologiei electromecanice. n 1930, un student german, Konrad Zuse, a construit o serie de maini de calcul folosind relee electromagnetice. Din cauza rzboiului, ns, mainile lui nu au fost cunoscute i, mai mult, au fost distruse n bombardamentul Berlinului din 1945.n SUA, John Atanasoff, de la Colegiul Statului Yowa, a creat, pornind de la ideea lui Babbage, o main asemntoare din punct de vedere logic dar utiliznd o alt tehnologie. Memoria era format din capaciti care se rencrcau periodic, idee utilizat astzi la memoria dinamic RAM cu refresh. Ca i maina Babbage, maina lui John Atanasoff era tributar tehnologiei i nu a funcionat. Se pare, ns, c istoria a reinut prototipul ABC (Atanasoff-Berry-Computer), Berry fiind un student a lui Atanasoff, realizat n 1939.George Stibitz, de la Bell Laboratories, a creat o main mai primitiv ca a lui Atanasoff dar care are marele merit c a funcionat, demonstraia fcndu-se, n 1940, la Colegiul Dartmouth.n 1944, Howard Aiken a construit o main pornind de la maina Babbage, pe care a studiat-o ndelung, crend o nou main pe baz de relee electromagnetice. Maina avea 72 cuvinte, fiecare de cte 23 cifre zecimale, i un timp de instruciune de 6 secunde. Intrarea i ieirea se fceau pe baz de hrtie perforat. Generaia nti, maini cu tuburi electronice (1945- 1955)Circuitele logice din generaia nti erau realizate cu tuburi electronice i aveau un consum energetic foarte mare. Principalele caracteristice ale acestor calculatoare au fost:-memoria realizat cu tambur magnetic;-utilizarea cititorului/perforator de hrtie;-existena a 10-20 instruciuni simple care constituiau baza unui limbaj cod main.Din punct de vedere logic nu era mare diferen fa de maina Babbage dar tehnologic se intra n era electronic.Principalele calculatoare din aceast generaie au fost:ENIGMA, main realizat de Germania n timpul celui de-al doilearzboi mondial pentru transmiterea mesajelor codificate.COLLOSUS, maini fabricate de Englezi pentru decodificareamesajelor ENIGMA. De menionat c la fabricarea lor a contribuit i AllanTuring, cunoscut mai trziu drept creator al mainii TURING.ETC. Generaia a doua, calculatoare cu tranzistori (1955-1965)John Bardeen, Walter Brattain i Wiliam Shockley au inventat n 1948 tranzistorul bipolar cu jonciune ceea ce le-a adus n 1956 Premiul Nobel pentru Fizic. Tranzitorul are aceleai funciuni ca tuburileelectronice cu vid dar are avantajul de a fi miniaturizabil.Calculatoarele bazate pe tehnologia cu tranzistori au urmtoarele caracteristici:-utilizarea diodelor i tranzistorilor pe baz de germaniu i apoi pe baz de siliciu ceea ce a condus la o putere disipat mai mic i siguran n funcionare;-memorii pe inele de ferit, de 1000 de ori mai rapide dect cele din generaia anterioar, avnd timpul de acces de 2-12 s.;-apariia cablajului imprimat;-apariia echipamentelor periferice precum discul, banda magnetic, imprimanta;-apariia limbajelor de nivel nalt ca Fortran, Cobol, Algol.Dintre calculatoarele din aceast generaie, cele mai cunoscute sunt:TX-0 (Tranzistorised eXperimental computer 0) realizat la MIT.PDP-1 (Programmable Data Procesor) realizat de ctre DEC (Digital Equipement Corporation) , avnd o memorie intern de 4kcuvinte a 18 bii i ciclul instruciune de 5s., fiind echipat cu consol monitor CRT (Cathode Ray Tube) cu posibilitatea de control al fiecrui punct de pe ecran. Generaia a treia, calculatoare cu circuite integrate (1965- 1980)n 1958 a fost inventat circuitul integrat de ctre Robert Noyl sau, dup alte surse, de ctre Jack Kilby de la Texas Instruments. Este vorba despre gruparea pe o pastil de siliciu a mii i apoi milioane decomponente..Principalele caracteristici ale calculatoarelor din aceast generaie sunt:-utilizarea circuitelor integrate pe scar redus, cu 100 tranzistori pe chip;-apariia memoriilor de semiconductoare, cu timp de acces de 0,5- 75s;-memorie extern de mare capacitate, discuri de mas i benzi magnetice.Sistemele de calcul din aceast generaie au fost create de:IBM, cel mai reprezentativ fiind IBM 360;DEC, cu minicalculatoare din seria PDP 11/XX. Generaia a patra . V.L.S.I. (1980-2005)Apariia acestei generaii a fost posibil datorit perfecionrii tehnologiei integratelor. Circuitele integrate VLSI (Very Large Scale Integration) ajung la 1 miliard de tranzistoare pe cip..Calculatoarele din aceast generaie se caracterizeaz prin urmtoarele:-utilizarea circuitelor VLSI;-apariia i dezvoltarea microprocesoarelor;-dezvoltarea de noi tipuri de memorii (MOS, magnetice, holografice) i echipamente periferice orientate pe sesizarea primar a datelor;-interconectarea calculatoarelor n reele, nsoit de ntreptrunderea industriilor de calculatoare i telecomunicaii;-apariia i dezvoltarea mediilor de programe complexe cu puternice faciliti grafice.n aceast generaie au aprut la nceput calculatoarele personale de tip Home Computer iar apoi cunoscutele Personal Computer, pe baz de microprocesoare; dou dintre firmele cele mai importante care produl microprocesoare sunt INTEL i MOTOROLA. Generaia cinciaS-a ncercat o definire a generaiei a cincia, prin formularea cerinelor ce stau n faa calculatoarelor la ora actual, cerine care cuprin urmtoarele:-o interfa inteligent care s permit dialogul pe baz de limbaj natural (voce, sunete, imagini, informaie grafic);-crearea unei maini care s realizeze raionament pentru rezolvarea problemei, fr cunoaterea prealabil a algoritmului;-baze de date imense cu o cutare foarte rapid.

2. Evoluia arhitecturilor de calcul.????Din punct de vedere tehnologic cele mai importante tendine sunt:-gradul de integrare al tranzistorilor pe cip crete cu cca. 55% pe an; tehnologia de integrare a microprocesoarelor a evoluat de la 10 microni (1971) la 0,18 microni 2001.-frecvena ceasului crete i ea cu 50% pe an;-pentru memoriile DRAM, densitatea de integrare crete cu cca 40- 50% pe an, iar timpul de acces aferent scade cu 3 % pe an.-tehnologia i performanele reelelor se mbuntesc semnificativ. Se poate spune c aceste tendine respect legea lui Gordon Moore, cofondator mpreun cu Obert Noyce a societii INTEL. Acesta, n 1965, enun celebra sa lege: numrul de tranzistori din circuitele integrate se va dubla la fiecare doi ani . Aceasta nseamn c, la fiecare 10 ani se schimbprefixul de msurare, adic totul crete de 1000 de ori. ntr-adevr, dac hard discurile din anii 90 aveau 100 MB, n 2000 ele au 100 GB. Frecvena ceasului era n 1990 de 8 MHz iar n 2000 era de 1 GHz etc. ntre cele mai evidente tendine de evoluie n arhitectur :-exploatarea paralelismului la nivelul instruciunilor i firelor de execuie, att prin tehnici statice (soft) ct i dinamice(hard); exist i tehnici hibride cum ar fi cazul procesorului Intel Ithamium IA-64;-structuri tot mai performante de ierarhizare a sistemului de memorie prin utilizarea arhitecturilor evoluate de memorie cache;-reducerea latenei critice de program, prin tehnici de predicie;-utilizarea microprocesoarelor Shered memory n special n cadrul arhitecturii serverelor i staiilor grafice.

3. Taxonomia (clasificarea) Flynn.?????Taxonomia lui Flynn este o clasificare a arhitecturilor de calculatoare propus de Michael J. Flynn n 1966 . Cele patru clase de arhitecturi definite de Flynn au la baz numrul de fluxuri de instruciuni i de date concurente disponibile n arhitectur.Taxonomia lui Flynn

Flux de instruciuni singularFlux de instruciuni multiplu

Flux de date singularSISDMISD

Flux de date multipluSIMDMIMD

Aceasta arhitectura interna a fost dezvoltata n mai multe directii rezultnd sisteme de calcul cu posibilitati noi si adaptate noilor cerinte cerute de societate. Pentru a vedea aceste noi directii ne vom folosi de o clasificare a sistemelor dupa arhitectura interna propusa de Flynn:SISD (Single Instruction Single Data)SIMD (Single Instruction Multiple Data)MISD (Multiple Instructions Single Data)MIMD (Multiple Instructions Multiple Data) SISD realizeaz o execuie segvenial a instruciunilor (figura 1.5.)Principalul neajuns al acestei arhitecturi este viteza de execuie care , la un moment dat, este plafonat, situaie denumit gtul sticlei lui Neumann (Neumann Bottleneck). Spargerea acestei limitri este realizat prin arhitectura paralel.

Fig. 1.5. Arhitectura SISD; UC-seciunea de comand a Unitii centrale; UP-seciunea de prelucrare a Unitii centrale; MM-modul de memorie; FD-flux de date; FI-flux de instruciuni. Arhitectura SIMD se caracterizeaz prin n uniti de procesare (UP) care opereaz sub controlul unui flux unic de instruciuni (FI) lansat de o singur unitate de comand (UC).

Cele mai cunoscute maini SIMD sunt calculatoarele vectoriale. Acestea transform instruciuni care se execut n n pai ntr-o main SIMD, n instruciuni care se execut ntr-un singur pas. De exemplu, suma a doi vectori: c[i]=a[i]+b[i] pentru i=1n se face ntr-un pas, fiecare Unitate de Prelucrare calculnd o component a vectorului sum.3. MISD (Multiple Instruction Single Data - mai multe instructiuni cu o data) Fluxuri de instruciuni multiple, flux de date singular (MISD)- neobinuit datorit faptului c fluxurile de instruciuni multiple au nevoie, de obicei, de fluxuri multiple de date pentru a fi eficient. Totui, acest tip este folosit cnd se ajunge la paralelism redundant, ca de exemplu la avioane, care sunt obligate s posede cteva sisteme backup n cazul n care unul se defecteaz. Acestea sunt sistemele care folosesc microprocesoare pipeline (conduct), metod folosit de ctre procesoarele recente. La un astfel de microprocesor, de exemplu, n paralel se execut instruciunean, se decodific instruciunea n+1 i se aduce n memorie instruciunea n+2. Ideea acestei arhitecturi provine de la benzile de montaj a produselor industriale (automobile, televizoare etc.). MISD nu are nici un sens i de aceea nu este utilizat. MIMD cuprinde dou feluri de maini: -multiprocesoare i -multicalculatoare.Multiprocesoarele se caracterizeaz prin existena memoriei comune la care au acces n procesoare. Schimbul de informaie dintre procesoare se face prin variabilele partajate din memoria comun la care au acces toate procesoarele, ns accesul trebuie fcut prin excludere mutual pentru a realiza ceea ce se numete consistena memoriei. Multicalculartoarele se caracterizez prin existena unui numr foarte mare de calculatoare ( de la ordinul sutelor n sus) care sunt legate printr-o reea topologic. Fiecare procesor are memoria lui local, vzut doar de el, iar comunicarea ntre procesoare se face prin mesaje.

4. Legea Amdahl. Analiza asimptotic a performanei calculatoarelor.Legea lui Amdahl : eficiena maxim n mbuntirea unui sistem (concret sau abstract) se atinge dac se optimizeaz subsistemul cel mai folosit.Aceast lege afirm c o mic parte a programului, care nu poate fi paralelizat va limita acceleraia global care poate fi obinut din restul programului, din partea paralelizabil a acestuia. Orice probleme matematice sau de inginerie suficient de complexe, de obicei, vor consta din mai multe pri, unele paralelizabile, iar altele secveniale. Accelerarea S pentru un sistem cu N procesoare este, prindefiniie: S=Ts/Tn, unde:Ts = timpul de execuie pentru cel mai rapid algoritm secvenial care rezolv problema pe un monoprocesor;Tn = timpul de execuie al algoritmului paralel executat pe un sistem multiprocesor, cu N microprocesoare. Dac notm cu f fracia (procentajul) din algoritm care are un caracter eminamente secvenial, f [0,1], putem scrie: Tn=fTs+(1f (Ts))/N Legea lui G. Amdahl, 1S N Aceast lege sugereaz c un procentaj ( f ) orict de sczut de calcule secveniale impune olimit superioar a accelerrii (S) care poate fi obinut pentru un anumit algoritm paralel, peun sistem multiprocesor, indiferent de numrul N al procesoarelor din sistem i topologia deinterconectare a acestora . Legea lui Amdahl presupune o dimensiune fix a problemei i faptul c mrimea prii secveniale este independent de numrul de procesoareS presupunem acum c operaiile de nmulire din codul executabil sunt responsabile pentru 75% adic 75 de secunde. De cte ori trebuie mrit viteza de execuie a unei nmuliri pentru a reduce timpul de execuia a aplicaiei de 4 ori.

Relaia obinut reprezint formula clasic pentru legea lui Andahl. Aceast lege este perfect valabil pentru aplicaii cu sarcin de lucru fix. a) n=1 => Sn=1b) =1 => Sn=1c) =1 => Sn=nd) n->oo , Sn-> 1/cnd parametrul n tinde spre infinit, accelerarea sau ctigul de vitez Sn este limitat de ponderea operaiilor secveniale n aplicaia dat.

5. Conveiere sincrone: Organizarea i caracteristica general.n general un conveiere poate fi de tip sincron sau asincron. Conveierele asincrone au performana teoretic cea mai mare. Realizarea practic ns a acestora e foarte dificil. De aceea sub aspect practic sunt implementate i utilizate conveierele sincrone. Un conveier sincron poate fi reprezentat cu urmtoarea structur genetic.

Dup cum se observ conveierul respectiv e constituit din n nivele, primul fiind nivel de intrare iar ultimul nivel de ieire. Fiecare nivel conine un fixator(circuit de memorare de ex. registru) i un circuit logic combinaional(CLC). Toate circuitele de memorare sunt sincronizate cu semnalul CLK. n acest fel n fiecare moment de timp pe fiecare nivel al conveierului sunt fixate simultan pentru o perioad de tact nite date. Datele de pe primul nivel sunt date de intrare n conveier, datele la nivelul de ieire reprezint rezultatul final generat de conveier iar datele de pe celelalte nivele sunt date intermediare. CLC de pe un anumit nivel al conveierului prelucreaz datele furnizate de fixatorul respectiv n conformitate cu cerinele operaiei de pe nivelul corespunztor. Toate operaiile executate pe nivelele conveierului rezult din divizarea unei operaii complexe. Astfel, nivelele conveierului permit asamblarea a operaiei sau funciei de la intrarea conveierului.n aa fel n fiecare moment de timp se proceseaz cteva perechi de operanzi(n cazul operaiei cnd apare virgula flotant), dar tot n fiecare tact se genereaz cte un rezultat la ieire. Datorit acestei proprieti performana conveierelor este foarte nalt i poate fi caracterizat ca un rezultat pe tact. Durata tactului depinde practic de ntrzierea introdus de circuitul logic combinaional. Evident frecvena de lucru a conveierului trebuie corelat cu ntrzierea maxim introdus pe unul din nivelele conveierului. n caz ideal ntrzierea introdus de fiecare CLC ar trebui s fie egal. La nivel practic divizarea operaiei complexe pe sub-operaii trebuie realizat n aa mod nct complexitatea respectiv ntrzierea la nivel de fiecare sub-operaie s fie ct mai aproape una de alta.Cel mai simplu conveier dar i cel mai performant ca vitez de lucru este conveierul liniar. Un conveier liniar are conectate intrrile ieirile la 2 nivele vecine.Pentru a reduce costurile conveierelor se utilizeaz conveiere multi-funcionale(dinamice). Un conveier multi-funcional e capabil s execute cel puin dou tipuri de operaii complexe(de ex. nmulirea i adunarea n virgul flotant). Conveierul multi-funcional conine interconexiuni de tip reacie(de ex. nivelul i e conectat la nivelul i-3). ntr-un conveier multi-funcional intrarea respectiv ieirea pot fi oriunde la nivel structural.Conveierele pot fi aritmetice, de instruciuni la nivel de memorie a sistemului etc.

6. Conveierul de adunare n virgul fix.Sisteme pipeline aritmetice Pentru mbunttirea performantelor, anumite functii ale unittii aritmetice logice a unui procesor pot fi implementate printr-un sistem pipeline. Pentru implementarea functiilor aritmetice complexe, ca adunarea, nmultirea i mprtirea n virgul mobil se utilizeaz sisteme pipeline aritmetice. Aceste functii pot fi descompuse n mai multe subfunctii executate n mod succesiv.Considerm, de exemplu, adunarea a dou numere normalizate n virgul mobil, X i Y. Aceast operatie poate fi executat n urmtoarele patru etape: compararea exponentilor, alinierea mantiselor (egalizarea exponentilor), adunarea mantiselor i normalizarea rezultatului. Aceste operatii necesit un sistem pipeline cu patru etaje, dup cum se arat n figura 1.19. Presupunem c X are reprezentarea normalizat n virgul mobil ( Xm, Xe ), unde Xm este mantisa i Xe este exponentul i, n mod similar, Y= (Ym, Ye).In prima etap a adunrii numerelor X= (Xm ,Xe ) i Y= (Ym, Ye) se compar Xe i Ye. Aceast operatie este executat de etajul E1 al sistemului pipeline, care necesit un sumator n virgul fix. Acest etaj identific exponentul cel mai mic, de exemplu Xe si stabilete exponentul comun, care n acest caz, este Ye.Mantis corespunztoare Xm se modific prin deplasarea la dreapta pentru a forma o nou mantis X'm , astfel nct ( X'm, Ye) = ( Xm, Xe) Aceast operatie este executat de etajul al doilea (E2) al sistemului pipeline.In etajul al treilea E3 sunt adunate mantisele X' i Y, care sunt acum aliniate corespunztor. Aceast adunare n virgul fix poate produce un rezultat care nu este normalizat.Rezultatul este normalizat n etajul al patrulea E4. Pentru realizarea normalizrii se contorizeaz mai nti numrului k al cifrelor de zero de la nceputul mantisei (sau al cifrelor de unu n cazul unui numr negativ). In continuare se deplaseaz mantisa cu k pozitii la stnga i se ajusteaz n mod corespunztor exponentul

Sisteme pipeline aritmetice cu reactie inversUtilitatea unui sistem pipeline aritmetic poate fi mrit prin includereacilor de reactie invers de la ieirile etajelor la intrrile primare ale sistemului pipeline. Reactia invers permite ca rezultatele calculate de anumite etaje s fie utilizate n calculele ulterioare de sistemul pipeline. Vom ilustra n continuare acest concept prin adugarea reactiei inverse la un sumator n virgul mobil de tip pipeline cu patru etaje.

Considerm problema calculrii sumei a N numere n virgul mobil b1, b2, , bn.nsumarea poate fi efectuat prin modificarea sumatorului dup cum se arat n figura 1.20. A fost adugat o cale de reactie invers la ieirea etajului final E4, permitnd rezultatelor sale s fie aplicate la intrarea primului etaj E1. Operanzii de intrare ai sumatorului modificat se obtin din patru surse separate: o variabil X care este obtinut dintr-un registru UCP sau o locatie de memorie; o surs constant K; ieirea etajului E4, reprezentnd rezultatul calculat de E4 n perioada de ceas precedent i un rezultat anterior calculat de sistemul pipeline i memorat n registrul de ieire R.Problema adunrii a N numere este solutionat de sistemul pipeline aritmetic din figura 1.20 n modul urmtor:Operanzii b1, b2, , bN sunt introdui n sistemul pipeline ntr-un ir continuu prin intrarea X. Acest proces necesit o secvent de operatii de ncrcare din memorie, care sunt implementate simplu dac operanzii sunt memorati n locatii continue.In figura 1.23, b8 = bN este ultimul element care trebuie nsumat.Dup ce ultimul operand bN a fost aplicat la intrarea sistemului pipeline, structura reactiei inverse este modificat din nou pentru a permite ca cele patru sume partiale b1+b5, b2+b6, b3+b7 i b4+b8 s fie adunate. Modificarea necesar a structurii reactiei inverse este indicat n figura 1.22 pentru cazul N= 8. La momentul t = 9, intrrile externe n sistemul pipeline sunt invalidate prin setarea lor la zero, iar prima din cele patru sume partiale b1+b5 de la ieirea etajului E4 este memorat n registrul R. Apoi, la momentul t = 10, noul rezultat b2+b6 de la etajul E4 este aplicat la intrarea sistemului pipeline, mpreun cu rezultatul precedent b1+b5 obtinut din R. Astfel, n acest moment ncepe calculul b1+b5+b2+b6, care este suma jumttii operanzilor de intrare. Dup o nou ntrziere de o perioad, ncepe calculul sumei celeilalte jumtti b3+b7+b4+b8.

Atunci cnd b1+b5+b2+b6 apare la ieirea etajului E4 la momentul t =14, aceasta este memorat n R, pn cnd b3+b7+b4+b8 apare la ieirea etajului E4 la momentul t = 16. In acest moment, ieirile etajului E4 i ale registrului R sunt aplicate la intrrile etajului E1. Rezultatul final este produs patru perioade mai trziu, la momentul t = 20 n cazul N = 8.Pentru cazul general al N operanzi, sistemul pipeline aritmetic din figura 1.21 i 1.22 poate calcula suma a N>4 numere n virgul mobil ntr-un timp (N+11)T unde T este perioada de ceas a sistemului pipeline, deci ntrzierea pe etaj. Deoarece un sumator comparabil care nu este de tip pipeline necesit un timp de 4NT pentru calcularea sumei, creterea vitezei obtinute este 4N/(N+11), care se apropie de 4 pe msur ce N crete.

7. Conveierul de nmulire n virgul fix. Cile de cretere a frecvenei de lucru.Sumatorul CSA : se aplica 3 numere la intrare fiind generate 2 nr. Binare la iesire. O iesire reprezinta suma separata pe fiecare coloana de biti iar cealalta iesire cifrele transportului generate salvate sub forma de vector C.Pentru a obtine suma celor 3 numere vectorul C si Sb ( bit WISE ) trebuie sumati pe un sumator clasic de tip CPA. Reprezentarea Raspunsului de n biti la un sumator CSA : Sb = { 0, sn-1, sn-2,..., s1,s0 } C = {cn, cn-1, cn-2,..., c1, 0 }Relatia pentru un bit a Sb este : Sbi = xi + yi + zi ( in cazul dat + e adunare modulo2 )Iar pentru vectorul C relatia este : C = xiyi V xizi V yiziDeci suma celor 3 numere x, y si z va fi : S=x+y+z = C + SbDeoarece sumatorul CSA efectueaza toate calculele a C si Sb in paralel rezultatele sunt calculate cu o intirziere foarte mica, intirzierea este practic de 2 nivele logice. Acest tip de sumator se utilizeaza la imultirea a 2 numere.PipeLine de imultireFie 2 numere A si B a cite 8 biti este necesara efectuarea produsului P a acestor 2 numere

Structura de mai sus reprezinta conveerul de imultire in care sumarile se realizeaza conform aroborelui walles.Pentru a suma cele 8 produse partiale (p/u a genera produsul P) v-om utiliza un set de circuite CSA astfel in cit se reduce arborele sumarii de la 8 numere de intrare la doar 2 numere dupa care am putea recurge la un circuit CPA pentru a obtine produsul propriu zis.Conveerul reprezintat este realizat pe 4 etaje S1, S2, S3, S4;I et. Logica care genereaza cifrele binare ale tuturor produselor partialeII III et. Contin circuite CSA interconectate a cite 2 niveleIV et. Etapa finala este dintr-un sumator clasic din care se obtine produsul finalModificand str. Initiala intr-un conveer pe 6 etaje devine posibila dublarea fregventei de lucru a conveeruului. Costurile noii versiuni a conveerului ar fi cu 20-25 % mai mari fata de varianta initiala. Astfel utilizand aceeasi tehnologie se obtine o inbunatatire substantiala a raportului post performanta printr-o simpla modificare a structurii conveerului.

8. Conveierul de instruciuni. Modelul de execuie a instruciunilor n regim band de asamblare.Orice instructiune poate fi divizata in cel putin 2 faze : I faza de extragere II faza de executiePentru a efectua un conveer de instructiuni in primul rind este necesar de impartit in asa mod toate fazele (etajele) ca timpii de executie a etajului sa fie cit mai posibil de egali pentru realizarea fiecarei sub operatii. Si in al 2 lea rind noi trebuie sa stabilim nr de etaje in pipeline.Deoarece timpul de executie a fazei de extragere este cu mult mai mica decit cea de executie, v-om folosi aceasta faza ca un etaj aparte. Iar faza de executie o v-om imparti in 5 etaje in asa fel ca sa fie permisa procesarea paralela. Deci noi v-om avea 6 etaje, ele sunt : FI faza de extragere DI decodarea CO calcularea adresei directive a operanzilor FO stergerae operanzilor EI executia propriu zisa a instructiunilor WO scrierea rezultatului In diagrama este prezentat executia unui conveer pe un fragment liniar de instructiuni si executia este fara perturbari in realitatate exista multi factori ce au un impact negativ asupra performantelor unui conveer.

9. Caracteristica general a arhitecturii de tip CISC. CISC - Complex Instruction Set ComputerCISC = Complex Instruction Set ComputingMicroprocesoarele care utilizeaza arhitectura CISC au multe instructiuni incorporate in ele. Acest lucru salveaza timp de procesare. Timpul este salvat deoarece instructiunile necesare sunt disponibile direct din microprocesor si nu este nevoie ca acesta sa le preia din programul stocat pe memoria externa, cum ar fi RAM-ul.Arhitectura CISC ajuta microprocesorul sa grabeasca executia programelor ce au nevoie de instructiuni. Din cauza instructiunilor incorporate in microprocesor, performantele acestuia sunt scazute. Pentru a trece peste aceasta problema trebuie incorporate mai multe tranzistoare in microprocesor. Acest tip de procesor este folositor pentru nevoi generale de calcul. Este folosit in general in PC-uri. - Caracteristici ale arhitecturilor CISC- Set amplu de instructiuni, peste 300;- Moduri de adresare complexe;- Folosirea de micro-instruciuni, execuia instruciunilor presupune un numr variabil de stri.- Folosirea microprogramelor pentru execuia instruciunilor cod main

Dezavantajele:- Creterea capacitii necesare ROM pentru microcod reduce spaiul unitilor logice de procesare i implicit diminueaz performanele.- Un dezavantaj semnificativ al unui set complex de instruciuni este acela c exist instruciuni complexe rar folosite, instruciuni care ocup o cantitate considerabil de spaiu disponibil pe chip n zona ROM de microcod.IBM a realizat o statistic detaliat cu rezultate neateptate i impresionante:Un program pentru un procesor CISC folosete tipic 20% din instruciuni n aproximativ 80% din durata execuiei unui program. n contexte speciale execuia unei secvene de instruciuni simple ruleaz mai repede dect o singur instruciune cu cod main complex care ar avea acelai efect.Programele au un numr semnificativ de instruciuni de control al programului ( call, jmp ...) Se prefigureaz ca alternative:Reducerea setului de instruciuni;Nivele de pipeline pentru execuia instruciunilor;Numai anumite instruciuni s aibe acces direct la memorie, restul folosesc registrele interne ale microprocesorului;Folosirea registrelor ntr-o manier care s permit acces rapid al apelurilor.

10. Caracteristica general a arhitecturii de tip RISC.IntroducereIn general, arhitecturile calculatoarelor au evoluat progresiv spre o complexitate mai ridicat ca, de exemplu un numr mai mare de instructiuni, un numr mai mare de moduri de adresare, o putere de calcul mai ridicat a instructiunilor individuale, registre mai specializate. Calculatoarele care se ncadreaz n asemenea tendinte sunt numite calculatoare cu set complex de instructiuni (CISC - Complex Instruction Set Computer).S-a constatat la un moment dat c adugarea unei instructiuni complexe la un set de instructiuni afecteaz eficienta i costul procesorului. Efectele unei asemenea instructiuni trebuie evaluate nainte ca aceasta s fie adugat la setul de instructiuni. Unele din instructiunile puse la dispozitie de procesoarele CISC sunt utilizate rareori de compilatoare. Conceptul de baz de a nu se aduga instructiuni utilizate rar la setul de instructiuni reprezint un concept inovativ al arhitecturilor de calculatoare, numit calculator cu set redus de instructiuni (RISC - Reduced Instruction Set Computer). Filozofia de proiectare a arhitecturilor RISC este de a se aduga la setul de instructiuni numai acele instructiuni care determin un ctig de performant. Avantajele arhitecturilor RISC se refer la:1. Viteza de calcul;2. Implementarea n circuite VLSI;3. Timpul de proiectare;4. Facilitarea utilizrii limbajelor de nivel nalt.1. In ceea ce privete viteza de calcul, arhitecturile RISC sunt mai potrivite pentru utilizarea sistemelor pipeline de instructiuni. Aceste arhitecturi maximizeaz rata de transfer a sistemului pipeline prin faptul c au o dimensiune uniform i o durat egal a executiei pentru majoritatea instructiunilor. Aceste caracteristici reduc perioadele de inactivitate n cadrul sistemului pipeline.2. Implementarea n circuite VLSI se refer la faptul c :unitatea de control a arhitecturilor RISC este implementat prin hardware. Un sistem cu o unitate de control cablat va fi, mai rapid dect unul microprogramat. In plus, un numr mare de registre i memoriile cache n cadrul capsulei vor reduce numrul accesurilor la memorie. Datele mai frecvent utilizate pot fi pstrate n registre. Registrele pot pstra de asemenea parametrii care trebuie transmii altor proceduri.3. Un alt avantaj al arhitecturilor RISC este c acestea necesit o perioad mai scurt de proiectare, deci costurile sunt mai reduse. Timpul necesar pentru testarea i depanarea circuitelor rezultate este mai redus, deoarece nu se utilizeaz microprogramarea i dimensiunea unittii de control este redus deci posibilitatea erorilor de proiectare este mai redus.4. Arhitecturile RISC ofer anumite caracteristici care faciliteaz n mod direct operatiile obinuite ale limbajelor de nivel nalt. Caracteristici ale arhitecturilor RISC :1. Majoritatea instructiunilor acceseaz operanzii din registre, cu exceptia unui numr redus dintre ele, cum sunt instructiunile LOAD i STORE, care acceseaz memoria. Cu alte cuvinte, o arhitectur RISC este un calculator de tip load/store.2. Executia majorittii instructiunilor necesit un singur ciclu de ceas, cuexceptia unui numr redus dintre ele, cum sunt instructiunile LOAD i STORE.3. Unitatea de control este cablat. Deci, arhitecturile RISC nu sunt microprogramate. Codul generat de compilator este executat direct prin hardware i nu este interpretat prin microprogramare.4. Exist un numr redus de formate ale instructiunilor (adesea mai mic dect 4).5. UCP are un numr mare de registre. O alternativ la un numr mare de registre este amplasarea unei memorii cache n aceeai capsul.6. Compilatorul are o complexitate ridicat. De exemplu, compilatorul trebuie s se ocupe de salturile ntrziate.8. Exist relativ putine instructiuni (adesea, mai putin de 150) i foarte putine moduri de adresare (adesea mai putin de 4).9. Arhitecturile RISC faciliteaz operatiile limbajelor de nivel nalt printr-o alegere judicioas a instructiunilor i prin utilizarea compilatoarelor care optimizeaz codul.10. Arhitecturile RISC utilizeaz sistemele pipeline de instructiuni i metode pentru rezolvarea problemei salturilor, cum sunt tehnicile de prencrcare multipl i de predictie a salturilor.

11. Analiza comparat a arhitecturilor CISC-RISC.

3. Comparatie CISC vs RISC Cand a aparut CISC, ideea era ca sa se aduca in hardware stilul de programare specific unui limbaj care sa se aproprie (pe cat e posibil la nivelul hard) de un limbaj inalt. Astfel, instructiunile complexe au acelasi efect ca si mici secvente de instructiuni simple. Implemenarea acestor instructiuni complexe in hard insemana insa :-hard complex-locul ocupat de hardul pentru instructiunile complexe ar fi putut fi utilizat pentru a aveamai multe unitati de executie (si deci grad de paralelism mai mare)-secvente de microcod , care sunt lente comparativ cu restul procesorului Hardul complex poate avea si un alt efect relativ neasteptat. Proiectantii au fost nevoiti sa se concentreze pe functionarea lui si au acordat mai putina atentie performantelor. Un astfel de exemplu este cazul instructiunii INDEX de la procesorul VAX , care ruleaza mai incet decat o bucla care executa acelasi cod. Tot datorita setului redus de instructiuni de asamblare, compilatoarele optimizate pentru RISC sunt capabile sa organizeze mai eficient fluxul de instructiuni de asamblare. Pe de alta parte insa, compilatoarele obtimizate pentru RISC necesita mai mult timp de compilare decat cele pentru CISC. Aceasta deoarece trebuie sa se ocupe si de managementul benzii de asamblare, anticiparea ramificatiilor sau reorganizarea codului. Ca principiu, arhitectura RISC are mai multi registri generali, in timp ce CISC are mai multi speciali. Oricum, procesoarele moderne imprumuta atat caracteristici CISC cat si RISC.

12. Execuia instruciunilor n regim band de asamblare pe procesoare cu arhitectur RISC.Intr-o arhitectura de tip RISC operatiile sunt nu doar cit mai simple ci pot fi grupate pe 2 categorii:- operatii (instructiuni) tip registru registru- operatii de transfer memorie registruluiIn cazul instructiunilor de tip reg reg pot fi evedentiate 2 faze de executie a instructiunilor :- IF (instruction fetch) alegerea instructiunii- EI (execution instruction) Rg -> ALU -> RgIn cazul Load/Store ( operatii de transfer mem reg ) presupunem 3 faze in executia instructiunii- IF ( instruction fetch )- EI ( exec + calculate memory address ) se executa luind in calcul adresa memoriei- MT ( memory transfer ) Transfer propriu zis : Mem to Reg; Reg to Mem;La prezentarea diagramelor de executie a instructiunilor v-om presupune ca fazele IF si EI se suprapun. Mai jos sunt prezentate 3 diagrame in ordinea urmatoare:I cazul cind executia este pur segventialaII executia conveer cu suprapunere a 2 faze ( la fiecare faza este posibil un singur acces la memorie )III exec conveer cu suprapunere a 3 faze ( este posibila 2 aceese la memorie pe o singura faza )Se va lua acelas fragment de cod pentru fiecare din cele 3 cazuri pentru a putea face o comparatie. Fragmentul de cod va contine si o instructiune de salt.

13. Procesoare cu arhitectur SuperScalar: Noiuni generale.????Procesoarele superscalare, exploatnd paralelismul arhitecturii, pot executa mai multe instruciuni ntr-un ciclu main. Metodele superscalare, rezultat al extinderii principiilor ce stau la baza procesoarelor RISC, au fost aplicate ncepnd din anii 1990 unei game largi de arhitecturi, de la cele specifice RISC (DEC Alpha), pn la unele evident non-RISC (Intel x86).

Un procesor superscalar aduce din memorie i decodific, n mod obinuit, mai multe instruciuni simultan. Ca parte a acestui proces, efectele salturilor condiionate sunt anticipate pentru a asigura un flux nentrerupt de instruciuni. Fluxul de instruciuni, adus anticipat n bufferul de prefetch (citire anticipat a instruciunilor), este analizat pentru determinarea dependenelor de date, iar instruciunile independente sunt distribuite unitilor funcionale, n conformitate cu tipul lor. Aici ncepe, n paralel, execuia instruciunilor, n funcie, mai ales, de disponibilitatea operanzilor i mai puin de ordinea n care se afl acetia n programul secvenial. Terminarea execuiei instruciunilor i nscrierea rezultatelor are loc n aa fel nct starea logic a procesului este actualizat n ordinea secvenial a programului, pentru a da posibilitatea tratrii precise a unei eventuale ntreruperi.Dependenele de date apar ntre instruciuni care obin acces la acelai registru sau locaie de memorie. n acest moment se spune c exist un hazard datorat posibilitii ca instruciunile s se execute ntr-o ordine incorect. Aceste hazarduri pot fi de tipurile WAR,WAW i RAW.Hazardul WAR (Write After Read), adic scriere dup citire", apare cnd instruciunile trebuie s modifice o locaie de memorie, dar trebuie s atepte ca toate instruciunile anterioare ce necesit vechea valoare s o citeasc.Hazardul WAW (Write After Write), adic scriere dup scriere", apare cnd mai multe instruciuni modific aceeai locaie; modificrile trebuie realizate n ordinea precizat de programul secvenial, pentru ca la locaia respectiv s rmn, n final, valoarea corect.Aceste dou tipuri de hazarduri sunt artificiale, fiind cauzate de un cod neoptimizat, de numrul limitat de registre, de necesitatea de a economisi memorie sau de ciclurile programului (n care o instruciune poate fi dependent de ea nsi). n general, aceste dependene pot fi eliminate prin redenumirea resurselor respective.Hazardurile RAW (Read After Write), adic citire dup scriere" sunt cele mai frecvente, deoarece o instruciune poate citi o valoare numai dup ce valoarea a fost furnizat de instruciunea care o scrie.Mai toate procesoarele superscalare utilizeaz o memorie rapid, de mici dimensiuni, de tip cache, care conine instruciunile cel mai recent executate, pentru a reduce ntrzierile, datorate accesului la memoria principal, care este mai lent, i pentru a mri numrul de instruciuni aflate, la un moment dat, la dispoziia procesorului. Cache-ul de instruciuni este organizat n blocuri coninnd instruciuni consecutive. Dac instruciunea ce urmeaz a fi executat nu este n cache, atunci blocul care o conine este adus, n ntregime, din memoria principal, i scris n cache.

14. Memoria ierarhic: Organizare general, caracteristici principale.(imi pare cai asta)Ierarhia de memoriiPrincipalele caracteristici de care trebuie s se in cont la realizarea unui sistemde memorie sunt capacitatea i performanele memoriei, n special timpul de acces.Pe lng acestea, trebuie s se ia n considerare i costul memoriei. Aceste caracteristicisunt contradictorii. De exemplu, exist n general urmtoarele relaii ntre capacitatea,timpul de acces i costul pe bit al diferitelor tehnologii utilizate pentru implementareasistemelor de memorie: O capacitate mai mare implic un timp de acces mai mare; O capacitate mai mare implic un cost pe bit mai mic; Un timp de acces mai mic implic un cost pe bit mai mare.Pe de o parte, trebuie utilizate tehnologii de memorie care asigur o capacitateridicat, pentru c o asemenea capacitate este necesar, i deoarece costul pe bit alacestor tehnologii este mai redus. Pe de alt parte, pentru a satisface cerinele de performan,trebuie utilizate memorii cu un timp de acces redus, care au un cost ridicat i ocapacitate relativ redus. Aceste cerine contradictorii se pot asigura dac se utilizeazn cadrul unui sistem de calcul mai multe componente i tehnologii de memorie, careformeaz o ierarhie de memorii. O ierarhie tipic este ilustrat n Figura 8.1.Memoria intern principal a calculatorului este cea la care fac referire celemai multe instruciuni i date. Pentru operaiile interne ale UCP i cele aritmetice i logice,se utilizeaz registrele. Memoria principal este extins uneori cu o memorie mairapid, de dimensiuni mai mici, numit memorie cache sau memorie tampon rapid.Memoria principal i extensiile sale sunt, n general, volatile. Datele sunt pstratepe termen lung n memorii externe de mas, dintre care cele mai utilizate sunt discurilei benzile magnetice. Acestea se utilizeaz pentru memorarea fiierelor deprograme i de date. Discurile se utilizeaz de asemenea pentru a asigura o extensie amemoriei principale, numit memorie virtual.

Pe msura deplasrii din partea superioar a ierarhiei spre cea inferioar, seconstat urmtoarele:(a) Scade costul pe bit;(b) Crete capacitatea;(c) Crete timpul de acces;(d) Scade frecvena de acces la memorie de ctre UCP.Rezult deci c memoriile rapide, cu un cost mai ridicat, sunt extinse prin memoriide dimensiuni mai mari, mai lente, dar mai ieftine. Dac memoria poate fi organizat conform punctelor (a) - (c), i dac datele i instruciunile pot fi distribuite n cadrul acestei memorii conform condiiei (d), aceast organizare va reduce costurile globale, meninnd n acelai timp un anumit nivel al performanelor. Baza pentru validitatea condiiei (d) o reprezint principiul cunoscut sub numelede localitate a referinelor. Referinele la memorie efectuate de UCP, att pentru date, ct i pentru instruciuni, tind s se grupeze n anumite zone. Programele conin de obicei un numr de bucle repetitive i subrutine. Dup intrarea ntr-o asemenea bucl sau subrutin, vor exista referine repetate la un numr redus de instruciuni. n mod similar, operaiile cu tablouri de date implic accesul la un set grupat de cuvinte de date. ntr-o perioad mai lung de timp, zonele de memorie accesate se schim, dar ntr-o perioad scurt de timp, UCP lucreaz mai ales cu referine de memorie grupate.n mod corespunztor, este posibil organizarea datelor n cadrul ierarhiei astfel nct procentul de accesuri la nivelul imediat inferior este cu mult mai redus dect cel la nivelul imediat superior. Considerm, de exemplu, c memoria este organizat pe dou nivele, nivelul 1 fiind nivelul superior. Nivelul 2 conine toate instruciunile i datele programului. O parte a instruciunilor i datelor pot fi plasate temporar n nivelul 1. Periodic, anumite zone din nivelul 1 sunt mutate n memoria de nivel 2, elibernd spaiupentru alte zone din nivelul 2. n medie ns, majoritatea referinelor se vor efectua lainstruciunile i datele aflate n memoria de nivel 1.15. Proprietile memoriei ierarhice: incluziunea i consistena (coerena) datelor.Pentru a folosi proprietatea referinelor localizate n timp, datele cele mai recent accesatetrebuie pstrate ct mai aproape de procesor. Pentru a folosi proprietatea referinelor localizate nspaiu la transferul ntre niveluri trebuie mutate blocuri continue de date i nu cuvinte individuale.Dar organizarea ierarhic i folosirea proprietii localizrii referinelor la memorie, face cape diferite niveluri ierarhice s existe informaii copii ale aceluiai bloc de date, date ce pot fimodificate doar pe nivelul cel mai apropiat de UCP, sau i pe nivelurile inferioare. De aceeasistemele de memorie multi-nivel, cu posibilitatea de scriere-citire trebuie s satisfac douproprieti privind informaia stocat: proprietatea de incluziune proprietatea de coeren

Proprietatea de incluziune exprim faptul c totdeauna informaiile care se gsesc pe unanumit nivel de memorie se vor gsi i pe nivelul de memorie inferior (M1 M2 ... Mn ) Este posibil ca o informaie existent pe nivelul Mi+1 s nu se gseasc pe nivelul Mi, dar s fie accesat (cerut) pe nivelul i de memorie. n acest caz (evenimentul este numit "word miss") cuvntul necesar a fi accesat trebuie adus pe un nivel de memorie superior (de pe nivelul i+1, pe nivelul i). Proprietatea de coeren exprim faptul c informaia existent la o anumit adres n spaiulde memorie trebuie s fie aceeai, indiferent de nivelul de memorie pe care se afl. Dac un cuvnt este modificat pe nivelul i, atunci va trebui modificat i pe nivelul i+1 i pe toate nivelurile inferioare. Coerena nivelurilor de memorie se poate obine fie prin propagarea valorii modificate spre toate nivelele inferioare ("write-through"), sau prin actualizarea nivelurilor inferioaren momentul nlocuirii informaiei de pe nivelul curent ("write-back").

16. Memoria ierarhic pe patru nivele. Transferul de date ntre nivele.Ierarhia de memoriiDac analizm organizarea unui calculator, vedem c "inima" acestuia este o unitate de prelucrare a informatiilor (localizat n procesor), nconjurat de o serie de circuite al cror rol este, n ultim instant, de a memora informatiile n diverse forme.Aceste circuite de memorare sunt organizate pe mai multe nivele, ntr-o structur ierarhic, n functie de distanta fat de unitatea de prelucrare. Pe msur ce se deprteaz de procesor, nivelele de memorie au o capacitate mai mare, dar i o vitez mai mic. Putem distinge, n principiu, patru nivele ale ierarhiei de memorii: - Nivelul regitrilor procesorului. Acetia au, n mod evident, cel mai mic timp de acces, aflndu-se pe acelai circuit cu unitatea de prelucrare. Este deci de preferat ca aplicatiile s utilizeze ct mai mult posibil regitrii, pentru a mri performanta. Totui,numrul acestora este redus, astfel nct este practic imposibil ca o aplicatie s se poat executa exclusiv cu ajutorul regitrilor, fr a face deloc apel la nivelele urmtoare de memorare. Mai mult, codurile instructiunilor nu pot fi retinute nregitri. - Nivelul memoriei cache (numit i memorie imediat). Este singurul nivel care poate lipsi, fr ca aceasta s implice o schimbare n programele care ruleaz. Att lucrul cu regitrii procesorului, ct i accesarea nivelelor urmtoare necesit o form de gestiune prin software; nu este i cazul memoriei cache. La rndul su, memoria cache poate fi mprtit pe nivele: poate exista un modul cache chiar n interiorul procesorului (numit cache L1), foarte mic i care functioneaz practic la viteza procesorului, i un altul pe placa de baz (cache L2), fabricat tot n tehnologie SRAM,care este putin mai mare dect cache-ul L1 i putin mai lent. Unele implementri pot lucra chiar cu 3 nivele de cache, dintre care 2 sunt integrate n procesor. - Nivelul memoriei principale. Dei aici poate fi inclus i memoria ROM, n practic se are n vedere doar memoria RAM, deoarece prelucrarea informatiei nseamn implicit modificarea acesteia. - Nivelul memoriei secundare. Acest nivel are caracteristica de stocare persistent. Spre deosebire de nivelele anterioare, care sunt volatile, la acest nivel informatiile se pstreaz i dup ntreruperea alimentrii calculatorului. Tot la nivelul memoriei secundare se gsete memoria virtual. Formele de implementare a memoriei secundare sunt: discul dur (cel mai folosit), discheta, mediile optice (CD,DVD), banda magnetic etc.

17. Nivelele memoriei ierarhice moderne n servere i PMD (personal mobile device).Ierarhia memoriei are un numr de cel puin 5 niveluri: Nivelul 0: Registre Nivelul 1: On-chip-cache Nivelul 2: On-board-cache Nivelul 3: Memoria principal Nivelul 4: Memoria secundar18. Principiul localizrii referinelor: Localizare spaial.Schimbul de informaii ntre diversele niveluri ale memoriei, trebuie s aib un caracter transparent pentru utilizator. Aceasta se realizeaz prin folosirea unor resurse hardware i a unor tehnici software pentru administrarea i alocarea spaiului memoriei (principale) cu acces direct. De obicei, la rularea unui program se folosete proprietatea numit localizarea referinelor la memorie. Pe baza acestei proprieti sistemul de memorie pstreaz cele mai recent accesate articole, pe ct posibil, n memoria cea mai rapid (care are i cea mai mic capacitate de stocare). Localizarea referinelor la memorie, observabil n majoritatea programelor, se exprim sub forma: localizare spaial a referinelor: dac la momentul t programul face acces la o celul de memorie de adres X, este foarte probabil ca la momentul t+ programul s fac acces la celula de adres X + .Pentru a folosi proprietatea referinelor localizate n timp, datele cele mai recent accesate trebuie pstrate ct mai aproape de procesor. Pentru a folosi proprietatea referinelor localizate n spaiu la transferul ntre niveluri trebuie mutate blocuri continue de date i nu cuvinte individuale. Dar organizarea ierarhic i folosirea proprietii localizrii referinelor la memorie, face ca pe diferite niveluri ierarhice s existe informaii copii ale aceluiai bloc de date, date ce pot fi modificate doar pe nivelul cel mai apropiat de UCP, sau i pe nivelurile inferioare.

19. Principiul localizrii referinelor: Localizare temporal.Schimbul de informaii ntre diversele niveluri ale memoriei, trebuie s aib un caracter transparent pentru utilizator. Aceasta se realizeaz prin folosirea unor resurse hardware i a unor tehnici software pentru administrarea i alocarea spaiului memoriei (principale) cu acces direct. De obicei, la rularea unui program se folosete proprietatea numit localizarea referinelor la memorie. Pe baza acestei proprieti sistemul de memorie pstreaz cele mai recent accesate articole, pe ct posibil, n memoria cea mai rapid (care are i cea mai mic capacitate de stocare). Localizarea referinelor la memorie, observabil n majoritatea programelor, se exprim sub forma:localizare temporal a referinelor: dac programul face acces la o celul de memorie la momentul t, este foarte probabil ca programul s fac din nou acces la aceeai celul la momentul t + Pentru a folosi proprietatea referinelor localizate n timp, datele cele mai recent accesate trebuie pstrate ct mai aproape de procesor. Pentru a folosi proprietatea referinelor localizate n spaiu la transferul ntre niveluri trebuie mutate blocuri continue de date i nu cuvinte individuale. Dar organizarea ierarhic i folosirea proprietii localizrii referinelor la memorie, face ca pe diferite niveluri ierarhice s existe informaii copii ale aceluiai bloc de date, date ce pot fi modificate doar pe nivelul cel mai apropiat de UCP, sau i pe nivelurile inferioare.

20. Memoria cache: Noiuni generale de organizare i funcionare.Memoria cache reprezint un buffer de mare vitez plasat ntre procesor i memoriaprincipal ce are drept scop s stocheze poriuni din memoria principal care snt n utilizare curent. De asemenea memoria cache poate fi plasat ntre memoria principal i memoria secundar (virtual). Datorit faptului c memoria cache este cu un ordin de mrime mai rapid dect memoria principal, se poate reduce timpul efectiv de acces la memorie cu condiia ca aceasta s fie corect dimensionat i s se utilizeze o politic adecvat de gestiune a memoriei cache.

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.Memoriile de tip cache s-au dovedit a fi extrem de folositoare n multe domenii ale informaticii pentru c modelele accesului la memorie n programele aplicaie obinuite sunt de tiplocalitate a referinei. Exist cteva feluri de localitate, dar acest articol prezint cazul n care datele accesate sunt foarte apropiate n domeniul timp (fenomenul de localitate temporal). Datele ar putea fi sau nu localizate fizic aproape una de cealalt (localitate spaial).

2. Organizarea memoriei cache si functionareaExist trei metode de baz pentru plasarea blocurilor din memoria principal n memoriacache (denumite asocieri sau mapri) :- mapare direct- mapare asociativ (fully associative)- mapare asociativ pe seturi (set associative) .Pentru simplificarea figurilor ce ilustreaz organizarea memoriei cache (n aceste patrucazuri) se consider dimensiunea memoriei cache de 2k cuvinte i dimensiunea blocului de 16cuvinte.Memoria principal se alege de 256k cuvinte.

Memoria cache poate fi organizata in mai multe zone de memorie, cu dimensiuni si functionalitati diferite. Aceste zone ( de date, de instructiuni, TLB) se regasesc la nivelul microprocesorului,in exteriorul UCP-ului. La un nivel superior, zonele sunt unificate si rezultata cache-ul unificat, care este cel ce interactioneaza cu memoria principala. ]Cache de instructiuniCache-ul de instructiuni este folosit pentru memorarea instructiunilor care sunt folosite frecvent, ceea ce duce la marirea vitezei de functionare a sistemului. Aceasta zona poate chiar sa faca operatii limitate, sau sa "prezica" datele ce vor fi folosite ulterior, prin memorarea instructiunilor accesate cu frecventa. ]Cache-ul de DateCache-ul de date este un buffer foarte rapid, care poate prelua datele necesare unor instructiuni din memoria principala si sa le transmita registrilor. Odata ajunse datele in registrii, acestea pot fi folosite de catre procesor in intructiuni. Dupa terminarea executiei instructiunii, rezultatul retinut in registrii este returnat pentru memorarare in cache-ul de date si apoi transmis memoriei principale. ]Cache-ul TLBCache-ul TLB (din engleza, Translation Look-aside Buffer)acceseaza memoria fizica. Fiecare task care ruleaza are alocat un spatiu din memoria virtuala, care acceseaza spatii din adresa fizica. Procesorul lucreaza cu memoria virtuala, iar memoria cache si memoria de operare lucreaza cu memoria fizica. Fiecare spatiu din memoria virtuala sau fizica foloseste pagini pentru accesare. TLB-ul retine aceste pagini, si datorita vitezei caracteristice memoriei cache, accesarea spatiilor memoriei fizice este rapida, ceea ce duce la o viteza buna a procesorului pentru lucrul cu adresele virtuale si rularea taskurilor.

21. Memoria cache: Elemente de proiectare i analiza succint.

Considerm parametrii principali ai memoriei cache. Costul mediu pe bit CS alsistemului de memorie format din memoria principal i memoria cache este dat de:

unde:CC = costul mediu pe bit al memoriei cache;CM = costul mediu pe bit al memoriei principale;DC = dimensiunea memoriei cache;DM = dimensiunea memoriei principale.

Timpul de acces al sistemului de memorie nu depinde numai de viteza memorieicache i a memoriei principale, ci i de probabilitatea ca un anumit cuvnt adresat deUCP s fie gsit n memoria cache. Aceast probabilitate este numit rat de succes.Avem:unde:

22. Tehnici de mapare n sisteme cu memorie cache: Mapare direct. Avantaje i dezavantaje.Maparea directMaparea direct a memoriei cache este ilustrat n figura 2.Adresa din memoria principal (adresa fizic) se compune din cmpurile : tag, bloc icuvnt. n acest caz blocul i din memoria principal este asociat cu blocul (i mod nr_blocuri_n _cache) = (i mod 128) din memoria cache. Fiecare bloc din cache are asociat un cmp "tag" (primii 7 bii mai semnificativi ai adresei fizice n memoria principal ).Cmpul tag din adresa memoriei principale se compar cu fiecare cmp "tag" al memrieicach. Dup gsirea corespondenei dintre cmpurile tag se alege cmpul "bloc" din adresamemoriei principale i cmpul "cuvnt" din aceeai adres pentru selectarea octetului ce va fi transferat din blocul memoriei cache (dat de tag) n blocul memoriei principale (dat de cmpul bloc i cmpul cuvnt al adresei n memoria principal).Avantajul acestei mapri directe este accesul simultan la datele dorite i la cmpul tag (nuse face o cutare asupra cmpului tag). Dac cmpul tag nu exist n memoria cache , datele vor fi suprimate.Un dezavantaj al maprii directe apare atunci cnd dou sau mai multe blocuri din memoria principal, utilizate alternativ, snt asociate aceluiai bloc din cache. Aceast situaie are probabilitate mic n sistemele uniprocesor, dar probabilitatea crete pentru sistemele multiprocesor cu memorie cache comun.

23. Tehnici de mapare n sisteme cu memorie cache: Mapare asociativ. Avantaje i dezavantaje.Maparea asociativ (fully associative)Maparea asociativ a memoriei cache este ilustrat n figura 3.Adresa din memoria principal (adresa fizic) se compune din cmpurile : tag i cuvnt.n acest caz orice bloc din memoria principal poate fi asociat cu orice bloc din memoriacache. Metoda este cea mai bun, dar i cea mai scump. Maparea asociativ elimin conflictele de acces ntre blocuri, dar timpul de acces cretedatorit faptului c este necesar o cutare asociativ pe seturi.Maparea asociativ pe seturi a memoriei cache este ilustrat n figura 4.Adresa din memoria principal (adresa fizic) se compune din cmpurile : tag, set icuvnt. Aceast mapare reprezint un compromis ntre maparea direct i maparea asociativ. Memoria cache este mprit n S seturi . Blocul i , din memoria principal, poate corespunde cu orice bloc din memoria cache aparinnd setului (i mod S).Numrul de seturi , S, determin costul cutrii (specifice maprii asociative). Setul sedetermin direct din adres, apoi se caut cmpul tag corespunztor adresei n set.Observaii- dimensiunea blocului n memoria cache este aleas n raport cu proprietatea delocalizare a programelor .- memoria cache este adresat cu adrese fizice i nu cu adrese virtuale (se elimin etapade translatare a adresei virtuale n adres fizic)- algoritmii de reamplasare a blocurilor din memoria cache determin performanamemoriei cache, exprimat ca rat de pierderi (numr de ncercri euate de a gsi informaia dorit n cache).Exist urmtoarele politici de reamplasare a blocurilor din memoria cache:1. Least recently used (LRU) Least recently used (LRU) - se nlocuiete blocul din cache cel mai puin recent utilizat , relativ la momentul de timp curent (se face o analiza a utilizarii blocurilor existente n memoria cache cu un anumit numr de momente de timp n urm n raport cu momentul de timp curent, la care trebuie s se produc o reamplasare).2. First In First Out (FIFO) First In First Out (FIFO) - se nlocuiete blocul din cache care a stat n memoria cache cel mai mare interval de timp.3. Last In First Out (LIFO) Last In First Out (LIFO) - se nlocuiete blocul din cache care a stat n memoriacache cel mai mic interval de timp.4. Random (RAND) Random (RAND) - se alege, n mod aleator ,un bloc din memoria cache ce va finlocuit.

24. Tehnici de mapare n sisteme cu memorie cache: Mapare set-asociativ. Avantaje i dezavantaje.Putem sa ne imaginam un cache set-associative(in romana-> partial-asociativ) ca o colectie de mai multe cache-uri directe care lucreaza in paralel. Fie K numarul de astfel de cache-uri directe. Cache-ul se mai numeste si associative on K ways adica: asociativ pe K directii. Ideea este simpla: atunci cand caut o adresa folosesc adresare directa in toate cele K cache-uri directe simultan. Daca blocul se gaseste intr-unul am rezolvat problema. Daca nu, aleg unul dintre ele pentru inlocuire. Numele este de partial asociativ, pentru ca plasamentul in cele K blocuri posibile este oricare, ca la un cache asociativ.Inainte de toate sa vedem din ce este alcatuit un slot. Acesta contine: -> V bitul de validitate. Acesta indic validitatea datei pstrat in slot. Daca V=1 atunci data este valid, iar daca V=0 atunci data este invalid. Iniial aceasta este invalid. n momentul n care a fost plasata o dat n slot, aceasta devine valid. -> D dirty bit. Importanta acestui bit releva abia cnd bitul de validitate este 1 (V=1). Acesta indic faptul ca data din slot a fost modificat sau nu. Atunci cand D=1 inseamna ca data este modificat din momentul in care a fost introdusa n cache. Daca D=0, data este la fel cum a fost scris prima dat n cache. -> Tag-ul sau eticheta - reprezint biii cei mai semnificativi ai adresei. Lungimea Tag-ului este 32 lgN, iar N este numrul biilor din partea de date a slot-ului. -> Cache Line Linia de date respectiva. Are N bytes, unde N este o putere a lui 2. Acesta se mai numete i bloc de date.

Asadar vom avea: O schema set-associative reprezinta un hibrid intre o memorie cache adresata in mod direct si una adresata full-associative. Este considerata drept un compromis rezonabil intre hardware-ul complex necesar cache-urilor full-associative (necesitand cautari paralele de slot-uri) si hardware-ul simplistic al schemei cache-ului adresat direct ceea ce ar putea sa produca coliziuni intre adrese catre acelasi slot(similar coliziunilor de pe o tabla de sah). Sa presupunem ca avem 128 de slot-uri a cate 32 de octeti. Mai mult, putem sa grupam aceste slot-uri in seturi. In particular, com presupune de asemenea si ca intr-un set incap exact 8 slot-uri. Vom trata aceste slot-uri ca pe un vector, numarandu-le de la 0000000 la 1111111(adica 128 de slot-uri). Totusi, grupam slot-urile in seturi iar ideea principala este de a tine evidenta seturilor si nu a slot-urilor. Vom avea prin urmare 16 seturi (128/8). Este necesar sa specificam numarul de seturi in locul numarului de slot-uri si asta ne ocupa (lg 16) adica 4 biti. Iata cum vom imparti pe biti adresele. Vom utiliza cei 4 biti pentru set si nu pentru slot. A4-0 -> Offset. A8-5 -> Numarul de seturi. A31-9 -> Tag.

25. Performana memoriei cache: Hit ratio/Miss rate versus Block&Cache size. Alte dependene.Cache-ul reprezinta locatia in care procesorul poate gasi date cautate mai aproape de el decat in memoria principala a sistemului Un cache hit este momentul in care datele au fost gasite intr-un nivel de Cache Un cache miss este momentul in care datele nu au fost gasite Un exemplu de functionare: L1 cache miss, L2 cache miss, L3 cache hit Cand se inregistreaza un miss, un bloc este adus in Cache Un bloc este un set de date de dimensiune fixa Blocul contine celulele cerute, si aditional alte celule ce speram ca vor fi folosite de alte instructiuni (localitate spatiala) Un cache miss determina un overhead seminificativ: Definim lat = latenta memoriei (in secunde) bw = latimea de banda (in bytes/sec) S = dimensiunea blocului in bytes Un cache miss duce la un overhead de lat + S/bw secunde

Cache-ul este compus din seturi de blocuri (block frames) Fiecare set poate contine unul sau mai multe blocuri (depinde de implementare) Hit time este timpul de accesare al Cache-ului Miss penalty este timpul necesar mutarii datelor pe diferite nivele de Cache catre procesor Hit Ratio este procentul din timp in care datele sunt gasite in Cache Miss Ratio este 1 Hit Ratio Instruction Cache este Cache-ul ce contine instructiuni (cod) Data Cache este Cache-ul ce contine date Unified Cache este Cache-ul ce contine atat date cat si instructiuni Exista mai multe moduri de a imbunatatii performanta cache-urilor si anume : Reducerea penalitatilor unui Cache Miss Reducerea ratei de Cache Miss-uri Reducerea timpului de rezolvare a unui Hit Imbunatatirea memoriei Performanta crescuta Cost redusPerformanta cache-ului este data de accesul mediu la memorie Programatorii sunt interesati in general doar de timpul de excutie insa timpul de acces la memorie este o componenta extrem de importanta Formula e simpla: timpul de acces la memorie = hit time + miss rate * miss penalty Miss-rate este procentul de miss-uri pe acces la date si NU la instructiuni!

MIPS, POWER-PC, SUN-SPARC, DEC ALPHA dein doar o instruciune de tip MOVE condiionat, n timp ce alte microarhitecturi precum HEWLET PACKARD PA, HARP, HSA, etc., permit execuia condiionat a majoritii instruciunilor main. La ora actual exist nc puine evaluri cantitative care s stabileasc avantajele/dezavantajele acestei idei ntr-un mod clar.

26. Exemplu de organizare a memoriei cache: Procesorul Alpha 21264.-Set relativ redus de instruciuni simple, majoritatea fr referire la memorie i cu puine moduri de adresare. n general, doar instruciunile LOAD / STORE sunt cu referire la memorie (arhitectur tip LOAD / STORE). La implementrile recente caracteristica de "set redus de instruciuni" nu trebuie neleas add literam ci mai corect n sensul de set optimizat de instruciuni n vederea implementrii aplicaiilor propuse (n special implementrii limbajelor de nivel nalt - C, Visual C++, Pascal, etc.). -Datorit unor particulariti ale procesrii pipeline (n special hazardurile pe care aceasta le implic), apare necesitatea unor compilatoare optimizate (schedulere), cu rolul de a reorganiza programul surs pentru a putea fi procesat optimal din punct de vedere al timpului de execuie. -Format fix al instruciunilor, codificate n general pe un singur cuvnt de 32 bii, mai recent pe 64 bii (Alpha 21164, Power PC-620, etc.). n literatur se citeaz un model de procesor numit superpipeline.Acesta este caracterizat printr-un numr relativ mare al nivelelor de procesare. Desigur c n acest caz detecia i corecia hazardurilor este mai dificil, dup cum se va arta n continuare. Arhitecturile superpipeline se preteaz la tehnologiile cu grade de mpachetare reduse unde nu este posibil multiplicarea resurselor hardware, n schimb caracterizate prin viteze de comutaie ridicate (ECL, GaAs). O asemenea arhitectur caracterizeaz de ex. procesoarele din familia DEC (Digital Equipment Corporation, actualmente nglobat n concernul HP) Alpha. Avantajul principal al arhitecturilor superpipeline este c permit frecvene de tact deosebit de ridicate (800 - 3000 MHz la nivelul tehnologiilor actuale, 2002), aspect normal avnd n vedere super - divizarea stagiilor de procesare.Microarhitectura organizarea detaliat a unei implementri de ISA. IA-32 a fost implementat de-a lungul anilor de cteva microprocesoare diferite, fiecare avnd o microarhitectur unic: de la Intel 8086 n 1979 pn la Pentium III n 1999. Alpha ISA este implementat n 4 microprocesoare diferite fiecare cu microarhitectura proprie 21064, 21164, 21264 i 21364.

27. Organizarea i caracteristica memoriei cache: Procesorul Intel i7.n sistemele de calcul moderne se ntlnesc n mod uzual mai multe procesoare, fiecare cumai multe nuclee. Figura 12 prezint un exemplu de schem bloc a unui procesor multicore(arhitectura Intel i7 sau AMD Phenom - difer dimensiunile cache-urilor). Figura 12. Ierarhia de memorii cache ntr-un procesor cu 4 nucleen imagine sunt prezentate cele patru nuclee ale procesorului. Nucleele au un cache L1 pentrudate, unul pentru instruciuni i un cache L2 unificat. Chiar dac nucleele au propriul set deregitrii, cache L1 i L2, ele partajeaz memoria cache L3 i memoria principal.Aceast structur aduce pe lng beneficii i noi probleme. Astfel, n sistemele multi-procesorsimetrice, memoriile cache ale diferitelor procesoare nu pot lucra independent. Toate procesoareletrebuie s vad, la un anumit moment de timp, exact aceleai date n memorie. Meninerea acesteiuniformiti a vederii memoriei poart numele de asigurarea coerenei memoriei cache.Pentru cazul cel mai ntlnit, al memoriilor cache de tip write-back, dac un procesor ar analizadoar coninutul propriului cache nu ar vedea liniile murdare din cache-urile celorlalte procesoare.O soluie deloc eficient ar fi furnizarea accesului la cache-ul unui procesor ctre celelalteprocesoare. O alt soluie, mai eficient, are la baz detectarea de ctre celelalte procesoare/nuclee a inteniei unui procesor/nucleu de a scrie n propriul cache. Dac s-a detectat o operaiunede scriere n cache-ul altui procesor, celelalte procesoare i vor marca linia respectiv ca invalid.Cnd vor dori s acceseze acea linie, va avea loc o operaie de fetch din memoria principal.Memoriile cache avansate ofer suport pentru tehnici de snooping. Cnd un procesor cere o liniemurdrit de alt procesor, procesorul care a murdrit acea linie detecteaz (snoops in on theother processors) cererea i transmite linia direct n cache-ul primului procesor, eventual scriind-oi n memoria principal n proces.Pentru meninerea coerenei memoriei cache s-au dezvoltat numeroi algoritmi, cel mai importantfiind MESI (Modified, Exclusive, Shared, Invalid). Numele acestuia provine de la cele patru strin care se poate afla o linie din cache, cele mai importante tranziiile dintre acestea fiind date deurmtoarele condiii: o linie murdar este prezent n cache-ul unui singur procesor cel care a murdrit-o copii curate ale aceleiai linii se pot regsi n orict de multe cache-ur

1. Etapele de dezvoltare a calculatoarelor. P12. Evoluia arhitecturilor de calcul. P43. Taxonomia (clasificarea) Flynn. P5!4. Legea Amdahl. Analiza asimptotic a performanei calculatoarelor. P75. Legea Amdahl. Analiza asimptotic a performanei calculatoarelor. P96. Conveierul de adunare n virgul fix. P107. Conveierul de nmulire n virgul fix. Cile de cretere a frecvenei de lucru. P12!8. Conveierul de instruciuni. Modelul de execuie a instruciunilor n regim band de asamblare. P139. Caracteristica general a arhitecturii de tip CISC. P1510. Caracteristica general a arhitecturii de tip RISC. P1611. Analiza comparat a arhitecturilor CISC-RISC. P1812. Execuia instruciunilor n regim band de asamblare pe procesoare cu arhitectur RISC. P1913. Procesoare cu arhitectur SuperScalar: Noiuni generale. P2014. Memoria ierarhic: Organizare general, caracteristici principale P2315. Proprietile memoriei ierarhice: incluziunea i consistena (coerena) datelor. P2516. Memoria ierarhic pe patru nivele. Transferul de date ntre nivele. P25!17. Nivelele memoriei ierarhice moderne n servere i PMD (nuiiiiii)18. Principiul localizrii referinelor: Localizare spaial. P2619. Principiul localizrii referinelor: Localizare temporal. P2720. Memoria cache: Noiuni generale de organizare i funcionare. P2721. Memoria cache: Elemente de proiectare i analiza succint. P30!22. Tehnici de mapare n sisteme cu memorie cache: Mapare direct. Avantaje i dezavantaje. P3123. Tehnici de mapare n sisteme cu memorie cache: Mapare asociativ. Avantaje i dezavantaje. P3324. Tehnici de mapare n sisteme cu memorie cache: Mapare set-asociativ. Avantaje i dezavantaje. P3525. Performana memoriei cache: Hit ratio/Miss rate versus Block&Cache size. Alte dependene. P3626. Exemplu de organizare a memoriei cache: Procesorul Alpha 21264. P3727. Organizarea i caracteristica memoriei cache: Procesorul Intel i7. P38

40