P. 1
ASC_3_Structura_unui_calculator_(I)

ASC_3_Structura_unui_calculator_(I)

|Views: 149|Likes:
Published by raduelek87

More info:

Published by: raduelek87 on Dec 05, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/06/2013

pdf

text

original

Sections

  • 3.1.1. Execu ia unei instruc iuni
  • 3.1.2. Tipuri de unit i centrale
  • 3.2.1. Caracteristicile unit ilor de memorie
  • 3.2.2. Ierarhizarea memoriei
  • 3.2.3. Memoria RAM
  • 3.2.4. Accesul la loca iile de memorie
  • 3.2.5. Metodologia de proiectare a memoriilor statice
  • 3.2.6. Metodologia de proiectare a memoriilor dinamice
  • 3.2.7. Modulele de memorie
  • 3.2.8. Formatele fizice de memorie
  • 3.2.9. Formatele logice de memorie
  • 3.2.10. Verificarea prin controlul parit ii
  • 3.2.11. Metodele de acces la memorie
  • 3.2.12. Memoria cache
  • 3.2.4. Memoria ROM

3.

STRUCTURA UNUI CALCULATOR
3.1. Unitatea central (procesorul)
Unitatea centralá (UC) este creierul calculatorului. Rolul UC este de executie
a programelor stocate în memoria principalá, executie realizatá în trei etape:
• extragerea instructiunilor;
• decodificarea instructiunilor;
• executia lor propriu-zisá.
Fig. 3.1. Schema bloc a unui calculator.
Unitatea de comandá si control urmáreste ordinea de executie a instructiunilor
unui program si controleazá întreaga activitate a unitátii centrale, astfel:
• interpreteazá instructiunile programului din memoria interná si comandá
circuitele sá execute instructiunile;
• comandá si controleazá transferul de date dintre memoria interná si
dispozitivele periferice.
Unitatea aritmeticá si logicá (ALU) implementeazá functiile logice, si
executá operatiile aritmetice elementare: adunare, scádere, înmultire, împártire.
Registrele interne pot fi:
• de uz general;
• cu destinatie specificá.
Structura unui calculator
67
Registrele de uz general stocheazá valorile intermediare ale calculelor.
Registrele cu destinatie specificá – contorul de program (program counter, PC)
indicá adresa noii instructiuni care urmeazá a fi executatá precum si adresa
instructiunii curente care se executá.
3.1.1. Execuia unei instruciuni
Timpul necesar executiei unei instructiuni se numeste ciclu instruciune.
Etapele în executia unei instructiuni sunt:
1. încárcarea instructiunii din memorie în registrul de instructiuni (fetch);
2. actualizarea PC pentru a indica urmátoarea instructiune care va fi executatá;
3. decodificarea instructiunii din registrul de instructiuni;
4. localizarea în memorie a eventualelor date utilizate de instructiune;
5. încárcarea datelor (dacá este necesar) în registrele interne ale UC;
6. executia efectivá a instructiunii;
7. stocarea rezultatelor la destinatia corespunzátoare;
8. întoarcerea la etapa nr. 1 pentru a executa urmátoarea instructiune.
3.1.2. Tipuri de uniti centrale
Criteriul dupá care se clasificá unitátile centrale este cel al setului de
instructiuni:
• procesoare CISC (Complex Instruction Set Computer);
• procesoare RISC (Reduced Instruction Set Computer).
În ultimul timp, s-a produs migrarea de la CISC la RISC.
3.1.2.1. Performana unitii centrale
Performanta UC se referá întotdeauna la o aplicatie datá, existând mai multe
moduri de evaluare a performantei:
• mips (mega instructions per second): milioane de instructiuni pe secundá;
• flops (floating point operations per second): operatii în virgulá mobilá
executate pe secundá (exprimat uzual în Mflops sau Gflops);
• timpul în care un anumit procesor poate sá rezolve o anumitá secventá
de program (o sarciná particulará).
Performanta este produsul a trei factori:
• numárul de instructiuni executate în cazul unei aplicatii date (N
i
);
• numárul mediu de perioade de ceas necesare pentru executia unei
instructiuni (N
p
);
• durata unei perioade de ceas (T
c
).
Valoarea N
p
se exprimá în cicluri de ceas/instructiune, iar T
c
se exprimá în
timp/ciclu de ceas.
ARHITECTURA SISTEMELOR DE CALCUL
68
Rezultá cá:
P(t) = N
i
× N
p
× T
c
(sec). (3.1)
Reducerea numárului de instructiuni N
i
se face optimizând compilatorul si
utilizând o arhitecturá adecvatá acestui compilator.
N
p
se reduce fie optimizând compilatorul, aceasta însemnând utilizarea unor
instructiuni de duratá mai scurtá, fie utilizând o arhitecturá paralelá, deci utilizarea
mai multor instructiuni simultan. La optimizarea N
p
, apar limitári tehnologice legate
de implementarea procesorului.
Durata T
c
tine exclusiv de o tehnologie avansatá.
3.1.2.2. Indici de performan
Pâná în 1992, se utiliza urmátoarea pereche de márimi: Whetstones si
Dhrystones, care arátau practic viteza UC. Începând din 1992, s-a trecut la alti
indici de másurare a performantei, si anume indicii SPEC, cu care s-a înlocuit
perechea anterioará.
Standard Performance Evaluation Corporation (SPEC) este o organizatie
non-profit care a luat nastere în 1988 si are ca scop asigurarea testelor corecte si
utile pentru a face diferentá între sistemele de pe piatá. Testele SPEC sunt larg
folosite actualmente în evaluarea performantei calculatoarelor, rezultatele fiind
afisate pe site-ul SPEC. Acestea poartá denumirea de note SPEC (SPECmarks).
Testele sunt concepute pentru a realiza situatii din viata realá. De exemplu,
SPECweb2005, realizeazá un test al performantei serverului de web prin mai multe
tipuri de cereri paralele HTTP. Performanta microprocesorului este testatá prin
rularea câtorva programe (de exemplu, compilatoare gcc) sau printr-un joc de sah.
Diverse cerinte sunt atribuite în functie de importanta perceputá, pentru a rezulta
un singur rezultat final. Testele SPEC au fost actualizate în repetate rânduri.
Aceste teste sunt scrise pe o platformá de limbaj de programare neutrá (de
obicei, C sau Fortran), iar pártile interesate pot compila codul folosind metoda
doritá, dar fárá a schimba codul. Producátorii au lucrat la îmbunátátirea
compilatoarelor pentru a realiza o cât mai buná acuratete a diferitelor teste SPEC.
Teste SPEC actuale sunt:
• SPEC CPU2006 – combiná performantele microprocesorului, memoriei
si compilatorului;
• CINT2006 sau SPECint – testeazá aritmetica numerelor întregi, folosind
compilatoare, interpretoare, procesoare de text, programe de sah;
• CFP2006 sau SPECfp, testeazá performanta în virgulá mobilá, cu
simulári fizice, graficá 3D, procesare de imagine, chimie computationalá;
• SPECjms2007 – testeazá performanta serviciului de mesaje Java;
• SPECweb2005 – testeazá performanta în PHP/JSP;
• SPECviewperf – testeazá performanta unui sistem 3D OpenGL, cu
ajutorul diferitelor sarcini de randare din aplicatii reale;
• SPECapc – testeazá performanta aplicatiilor 3D cunoscute unui sistem dat;
Structura unui calculator
69
• SPEC OMP2001 V3.2 – evalueazá performantelor sistemului paralel,
folosind aplicatii OpenMP;
• SPEC MPI2007 – evalueazá performantele sistemelor paralele, folosind
aplicatii MPI (Message Passing Interface);
• SPECjvm98 – evalueazá performanta unui sistem client, care ruleazá o
masiná virtualá Java;
• SPECjAppServer2004 – evalueazá performanta aplicatiilor bazate pe
Java 2 Enterprise Editition (J2EE);
• SPEC jbb2005 – evalueazá performanta serverului Java, prin emularea
unui sistem client-server;
• SPEC MAIL 2001 – evalueazá performanta unui server de mail, cu
testarea protocoalelor POP si SMTP;
• SPECimap2003 – evalueazá performanta unui server de mail la nivel de
întreprindere, testând protocoalele IMAP4 si SMTP;
• SPECpower_ssj2008 – testeazá eficienta energeticá a sistemelor server;
• SPEC SFS97_R1 – evalueazá viteza de transfer a serverului de fisiere
NFS si timpul de ráspuns;
• SPECappPlatform – evalueazá performanta platformelor web (Java EE
si NET).
Nota obtinutá de sistemul testat se obtine în modul urmátor.
Pentru SPECint, se ruleazá 6 programe care folosesc numere întregi si se
obtin astfel 6 note, din care nota finalá rezultá prin mediere geometricá.
Pentru SPECfp, se ruleazá 12 programe care folosesc virgulá mobilá (12
programe în Fortran si douá programe în C), din care se obtin 14 note. Nota finalá
se obtine tot prin media geometricá.
3.1.3. Organizarea unitii centrale
Datele care trebuie prelucrate sunt aduse din registrele interne în registrele de
intrare ale ALU, unde acestea rámân în timpul în care ALU face operatiunea de
calcul aritmetic si logic. Rezultatul calculului preluat de registrele de iesire ale ALU
este stocat într-unul din registrele de uz general.
Existá trei tipuri de instructiuni (vezi figura 3.2):
• instruciuni registre-memorie: se încarcá date din memorie în registre
si viceversa. Datele pot fi folosite mai departe de alte instructiuni sau
chiar de instructiunile respective. În acest ultim caz, rezultatul este depus
în registre;
• instruciuni registre-registre: mutá operanzii din registrul de la intrarea
ALU, executá asupra lor o anumitá operatie si depun din nou operanzii
în registru;
• instruciuni memorie-memorie: preiau operanzii din memorie, îi
plaseazá în registrul de intrare ALU, se executá o anumitá operatie si se
stocheazá rezultatul în memorie.
ARHITECTURA SISTEMELOR DE CALCUL
70
Fig. 3.2. Schema unitátii centrale.
3.2. Memoria
Memoria reprezintá acea parte a calculatorului în care sunt stocate
programele si datele. Practic, de aici procesorul preia datele de care are nevoie si
tot aici scrie rezultatul. Unitatea de memorie este o cifrá binará care poate lua
numai douá valori: 0 sau 1.
Microprocesorul are capacitatea de a memora atât datele care urmeazá a fi
prelucrate, cât si rezultatele intermediare. Se observá cá rolul sáu principal este de a
prelucra si transmite datele. Capacitatea de memorare este micá, neputând stoca, de
exemplu, programe.
Sistemul de memorie al unui calculator reprezintá ansamblul unitátilor de
memorie, împreuná cu algoritmii necesari pentru controlul transferurilor si
memorarea datelor, algoritmi care pot fi implementati hardware sau software.
Sistemul de memorie include atât locatiile de memorie propriu-zise, cât si circuitele
necesare pentru adresarea locatiilor si controlul operatiilor de citire si scriere. O
parte din aceste circuite se gásesc în unitatea de memorie respectivá, altele sunt
externe, fiind de obicei integrate în controlerul unitátii de memorie.
Obiectivul principal în proiectarea oricárui sistem de memorie este realizarea
unei capacitáti de memorare adecvate sistemului de calcul, cu un nivel acceptabil
de performante, la un cost rezonabil. Trebuie subliniat faptul cá nu întotdeauna
obiectivul este acela de a obtine o capacitate de memorare cât mai mare.
Structura unui calculator
71
3.2.1. Caracteristicile unitilor de memorie
Capacitatea de memorare reprezintá numárul locatiilor (celulelor) de
memorie continute de o unitate de memorie. Aceasta depinde de tehnologia de
fabricatie si se exprimá în numár de cuvinte de informatie memoratá (cuv),
dimensiunea cuvântului fiind diferitá de la un calculator la altul.
Timpul de acces la o unitate de memorie (t
A
) este timpul necesar localizárii
unei celule de memorie pentru transferul de date la/de la locatia de memorie
respectivá. Acesta reprezintá intervalul de timp calculat din momentul în care o
unitate master lanseazá o comandá cátre o unitate de memorie si pâná în momentul
în care informatia este transferatá în sensul dorit.
Rata de acces (r
A
) este inversa timpului de acces, fiind exprimatá în cuvinte
pe secundá:
r
A
=
A
t
1
[cuv/s]. (3.2)
Timpul de ciclu la o unitate de memorie (t
C
) este timpul minim între douá
accese succesive si reprezintá timpul din momentul în care o unitate master
lanseazá o comandá spre unitatea de memorie si pâná când poate lansa o nouá
comandá la aceeasi unitate de memorie. Uzual, t
C
> t
A
, diferenta lor numindu-se
timp de revenire (t
R
= t
C
– t
A
). Acesta reprezintá timpul minim necesar pentru
inactivarea primei comenzi, pâná la activarea celei de-a doua.
Rata de transfer (r
T
) este inversa timpului de ciclu si reprezintá cantitatea
maximá de informatie (exprimatá în cuvinte pe secundá) care poate fi transferatá
la/de la memorie într-o secundá:
r
T
=
C
t
1
[cuv/s]. (3.3)
Costul total al unitii de memorie (C
T
) include, pe lângá costul celulelor
de memorie propriu-zise, costul circuitelor de acces la aceste celule. Pentru
compararea diverselor unitáti de memorie între ele, se utilizeazá costul unitar
(C
U
), care reprezintá costul de memorare a unui cuvânt de informatie. Costul unitar
se determiná prin raportarea costului total (C
T
) la capacitatea de memorare (CM):
C
U
=
CM
C
T
[cost/cuv]. (3.4)
Cu cât memoria este mai rapidá, cu atât costul unitar este mai mare.
Modul de acces la locaiile unitii de memorie aratá ordinea în care
informatia memoratá poate fi accesatá. Acesta poate fi serial sau paralel.
ARHITECTURA SISTEMELOR DE CALCUL
72
Dacá locatiile de memorie pot fi accesate în orice ordine, iar timpul de acces
este independent de locatia accesatá, atunci accesul este aleator, iar unitatea de
memorie se numeste memorie cu acces aleator (Random Access Memory, RAM).
În general, memoriile semiconductoare sunt memorii cu acces aleator.
Prin ierarhizarea unitátilor de memorie, blocurile de date cu probabilitatea
cea mai mare de accesare sunt aduse pe niveluri superioare, mai aproape de
unitatea centralá (localizare spatialá). Dintre acestea, datele cele mai recent
accesate sunt pástrate în apropierea procesorului (localizare temporalá).
3.2.2. Ierarhizarea memoriei
Pornind de la functiile realizate de fiecare tip de memorie, de la rolul si locul
ocupat în sistemul de calcul, se pot distinge mai multe categorii de memorii,
ilustrate în figura 3.3.
Fig. 3.3. Ierarhizarea memoriei.
3.2.2.1. Registrele de memorie
Reprezintá dispozitivele de memorie cele mai rapide, dar si cele mai scumpe.
Sunt utilizate de procesor, fiind de douá feluri: cu destinatie specificá si de uz
general.
Registrele cu destinaie specific au un rol precis si memoreazá numai
anumite tipuri de informatie (de exemplu, contorul de program). Din acest motiv,
pentru ca procesorul sá realizeze o anumitá operatie, este accesat un anumit
registru, si anume, acela care memoreazá tipul de informatie dorit. În acest fel, nu
este necesar ca registrul sá fie accesat prin adresá, fapt care máreste viteza de acces
la informatia memoratá în registre.
Registrele de uz general sunt registre nespecializate, care pot fi utilizate
explicit prin instructiuni-program. Capacitatea registrului depinde de tipul
procesorului si nu depáseste de obicei lungimea cuvântului de memorie. Numárul
de registre de memorie este mic, utilizându-se de regulá 16–20 registre.
3.2.2.2. Memoria intern
Contine programele si datele pentru toate procesele în curs de executie în
sistemul de calcul. Cât timp functioneazá procesorul, el citeste si scrie date din/în
Structura unui calculator
73
aceasta memorie. Memoria interná este o memorie read-write cu acces direct
(RAM). Ea trebuie sá aibá un timp de acces redus, pentru a nu întârzia activitatea
procesorului. Tipurile de memorie din aceastá categorie sunt:
• Memoriile DRAM (Dynamic Random Access Memory) sunt memorii
RAM dinamice, în care, pentru a se pástra informatia, trebuie restabilitá
periodic sarcina electricá cu care a fost încárcat condensatorul circuitului
de memorie. Pentru aceasta, este necesar un circuit de reîmprospátare a
memoriei (refresh).
• Memoriile SRAM (Static Random Access Memory) sunt memorii RAM
statice, realizate cu circuite basculante bistabile de memorie, care
pástreazá informatia atât timp cât sistemul este sub tensiune.
La calculatoarele PC, cipurile de memorie sunt asamblate pe pláci de
memorie organizate în bancuri de memorie. Aceste bancuri se instaleazá în placa
de bazá a PC-ului, în soclurile rezervate memoriei interne. Acest mecanism permite
modificarea dimensiunii memoriei interne a PC-ului, prin adáugarea de noi bancuri
de memorie în locurile disponibile sau prin schimbarea bancurilor cu altele de
capacitate mai mare.
Memoria principal sau memoria primar reprezintá memoria de lucru a
sistemului de calcul, fiind realizatá cu circuite integrate de memorie DRAM si
având o capacitate de memorare relativ mare (sute de MB). Memoria principalá
pástreazá datele active, care vor fi apelate de cátre procesor, dar care nu sunt
imediat necesare acestuia. Datele devin active prin transferarea lor din memoria
secundará în memoria principalá, fiind memorate sub formá de blocuri de date, în
zone de memorie, proprii fiecárui program. Viteza de lucru a memoriei principale
este mult mai micá decât cea a registrelor procesorului (cu 2–3 ordine de márime),
având timpi de acces aleator de zeci pâná la sute de ns.
Memoria nevolatilá cu acces aleatoriu (NVRAM) este cea care stocheazá
date atunci când calculatorul este închis sau nu mai are energie. Memoria NVRAM
este utilizatá pentru a mentine informatiile privind configuratia calculatorului, cum
ar fi data, ora si alte optiuni de pornire care pot fi setate de utilizator.
Memoria cache este o memorie specializatá, utilizatá în scopul scáderii
timpului de acces la datele din memoria interná. Are capacitate micá si vitezá mare,
fiind inseratá logic între procesor si memoria principalá. Constructiv, este o memorie
mai rapidá decât memoria principalá, construitá, de regulá, din circuite SRAM.
Memoria cache are timpul de acces de 2–10 ori mai mic (ns) decât cel al
memoriei primare, fiind însá si de câteva ori mai scumpá. Se urmáreste ca procesorul
sá lucreze cât mai mult timp cu memoria cache, si nu cu memoria principalá.
Pentru o memorie cache bine implementatá, procesorul lucreazá cu aceasta circa
70–90 % din timpul total de lucru cu memoria. Si acest tip de memorie poate fi
extins prin adáugarea de cipuri suplimentare. Utilizarea memoriei cache se bazeazá
pe douá caracteristici ale executiei programelor în sistemele de calcul clasice:
1. programele tind sá utilizeze date si instructiuni situate unele lângá altele
sau în zone apropiate (principiul vecinátátii);
2. programele folosesc în mod repetat adresarea acelorasi blocuri de memorie.
ARHITECTURA SISTEMELOR DE CALCUL
74
Plecând de la aceste constatári, memoria cache contine la un moment dat
cópii ale unor date din memoria principalá. Înainte de orice acces la memoria
principalá, se verificá dacá nu cumva informatia cáutatá se gáseste în memoria
cache. Dacá aceasta existá, se preia de acolo cu o vitezá superioará.
Memoria intermediar, numitá si memorie cache pentru suporti externi sau
memorie cache de disc (Disk-Cached Memory), este plasatá între memoria
principalá si memoria secundará, actionând într-o manierá similará memoriei
cache. Are rol de memorie tampon, care pástreazá blocurile de date cel mai recent
accesate de un program, duplicári ale celor din memoria secundará.
3.2.2.3. Memoria extern
Pentru a utiliza datele memorate în memoria externá, acestea trebuie aduse
mai întâi în memoria principalá. Prin comparatie cu memoria interná, memoria
externá se caracterizeazá prin vitezá de acces mai scázutá, cost mai redus,
capacitate mai mare, având rolul de a mári spatiul de memorare al unui sistem de
calcul. În memoria externá sunt stocate si programele cu ajutorul cárora se realizeazá
prelucrarea datelor. Accesul la memoria externá nu se face direct, ci prin intermediul
memoriei interne. În comparatie cu memoria interná, memoria externá este:
• nevolatilá,
• cu acces pozitional si timp de acces mai mare,
• cu vitezá de transfer mai micá,
• cu cost mai redus,
• cu capacitate mult mai mare,
• de tip read-write,
• cu densitate de memorare variabilá de la un echipament la altul si de la
un suport la altul (magnetic, optic, semiconductor).
Memoria secundar este organizatá pe un suport extern de memorie, de
regulá disc magnetic, si are rolul de a realiza o extindere a memoriei principale,
conform conceptului de memorie virtualá, care se referá la capacitatea procesorului
de a utiliza un spatiu de memorie externá pentru a simula o capacitate mai mare a
memoriei interne disponibile. Altfel spus, este vorba de capacitatea procesorului de a
accesa un spatiu de adrese care depáseste spatiul de adrese al memoriei principale.
Acest concept a apárut încá din anul 1960, iar la PC este disponibil începând cu seria 286.
Memoria suplimentar poate fi de mai multe tipuri: memorie expandatá,
memorie extinsá si memorie de arhivare sau tertiará.
Memoria expandat este o memorie suplimentará la calculatoarele de tipul
PC, pe care utilizatorul o acceseazá prin intermediul mecanismului EMS (Extended
Memory Specification). Este alcátuitá din bancuri de memorie de 64 KB RAM si
este gestionatá de un program-sistem specializat. numit EMM386.EXE (în sistemul
de operare MS-DOS).
Memoria extins este memoria suplimentará accesibilá utilizatorului prin
mecanismul XMS (eXtended Memory Specification), care poate fi implementat pe
procesoare având cuvinte de adresá de 32 biti. Programele trebuie scrise ca
utilizând special aceste mecanisme. Programul-sistem care gestioneazá acest tip de
memorie în sistemul de operare MS-DOS este HIMEM.SYS.
Structura unui calculator
75
Memoria de arhivare este acea parte a memoriei externe care asigurá
stocarea datelor preluate din mediul extern pe o perioadá de timp nedeterminatá si
în volume semnificative.
Memoria de arhivare sau memoria teriar este o memorie nevolatilá de
dimensiuni foarte mari, dar si cu timpi de acces foarte mari (zeci de secunde).
Pástreazá date pasive, stocate doar în scop de arhivare, pe o perioadá de timp
nedeterminatá si în volume semnificative. Accesul la aceste date se face foarte rar.
Memoria tertiará este realizatá cu unitáti de memorare pe suport detasabil, optic
(CD-ROM, DVD-ROM), magnetic (bandá sau casetá magneticá) sau
semiconductor (stick-uri si card-uri de memorie). Trebuie subliniat faptul cá
memoria tertiará reprezintá colectia de discuri si casete existente, si nu unitátile de
memorie propriu-zise.
3.2.3. Memoria RAM
Circuitele integrate de memorie sunt memorii semiconductoare, realizate în
diverse tehnologii de fabricatie (bipolare sau MOS). Acestea sunt de mai multe
tipuri, cu diferite raporturi performante/cost, având domenii specifice de utilizare:
memoriile cu acces aleator (RAM) si memoriile cu acces pentru citire (ROM).
O memorie cu acces aleator (RAM = Random Access Memory) este acea
memorie la care locatiile de memorie pot fi accesate în orice ordine, iar timpul de
acces nu depinde de locatia accesatá. Memoriile RAM pot fi de douá tipuri: SRAM
(Static RAM) si DRAM (Dynamic RAM).
3.2.3.1. Memoria SRAM
Memoria SRAM (Static RAM) este o memorie în care informatia se
memoreazá într-un mod stabil, pe ambele niveluri logice, atât timp cât memoria este
alimentatá. Este realizatá în tehnologii rapide (bipolare sau CHMOS =
Complementary High-density MOS), cu timpi de acces foarte mici (ns). Fiind o
memorie care poate fi si cititá si scrisá, SRAM are magistrala bidirectionalá de date
si douá cicluri diferite de memorie: ciclul de citire si ciclul de scriere, identificate de
semnalul WE , activ pe 0L. Simbolul memoriei SRAM este ilustrat în figura 3.4.
Fig. 3.4. Simbolul memoriei SRAM
ARHITECTURA SISTEMELOR DE CALCUL
76
Memoria SRAM poate fi de douá tipuri:
• Memoria SRAM asincron nu necesitá semnal de ceas pentru
sincronizarea cu unitatea master. Memoriile asincrone sunt mai lente
decât cele sincrone, dar sunt mai ieftine si au un consum de energie mic.
Aceste memorii sunt realizate într-o gamá foarte diversá de performante,
cu timpi de acces care variazá de la 50–70 ns, pâná la 10–15 ns.
• Memoria SRAM sincron necesitá un semnal de ceas pentru validarea
semnalelor de control. Ceasul primit din exterior permite operarea
memoriei, sincron cu unitatea master. Memoriile sincrone sunt foarte
rapide, cu timp de acces sub 10 ns, pot functiona la tensiuni de
alimentare mici, dar sunt scumpe. Ele pot fi de mai multe tipuri: PBS
(Pipelined Burst Synchronous), FTS (Flow Through Synchronous) sau
ZBT (Zero Bus Turnaround) SRAM.
În general, sistemele de calcul simple au memoria RAM de lucru formatá
doar din circuite de memorie SRAM asincroná, cu capacitáti mici, de zeci-sute de
KB, si care memoreazá cuvinte de 8 biti. Sistemele performante, care necesitá
viteze si capacitáti de memorare mari, folosesc memorii SRAM rapide pentru
implementarea memoriei cache.
Din punct de vedere constructiv, cele douá tipuri de memorii SRAM sunt
similare. Ele diferá doar prin algoritmul de transfer al datelor si, implicit, prin
performante. De aceea, în cele ce urmeazá vor fi analizate elementele comune,
definitorii pentru SRAM, iar exemplificárile vor fi realizate pentru memoria
asincroná.
Schema bloc a memoriei SRAM este ilustratá în figura 3.5.
Fig. 3.5. Schema bloc a memoriei SRAM.
Structura unui calculator
77
3.2.3.2. Memoria DRAM
Memoria DRAM (Dynamic RAM) este o memorie volatilá cu acces aleator,
care memoreazá informatia în mod dinamic. Este realizatá în tehnologie CMOS
(Complementary MOS), cu consum de energie foarte mic. Datoritá
particularitátilor constructive ale celulelor de memorie, informatia 0L este
memoratá stabil, dar informatia 1L se pierde în timp si necesitá împrospátarea
periodicá a memoriei, de unde si denumirea acesteia.
Indiferent de modul de realizare, memoria DRAM este mult mai lentá decât
memoria SRAM, din cauza mecanismului specific de memorare a datelor. Timpul
de acces la DRAM este de 2–10 ori mai mare decât la SRAM, si variazá în functie
de tipul accesului la memorie.
Astfel, în acces aleator, timpul de acces este mare (zeci de ns), însá scade
foarte mult (în functie de tipul memoriei DRAM), dacá se restrictioneazá accesul în
modul paginá (vezi paragraful 3.2.9 – FPM), putând ajunge la doar de douá ori mai
mare decât cel al memoriei SRAM.
Celula de memorie este mult mai micá decât la memoria SRAM, ceea ce
permite realizarea unor densitáti mari de integrare. Circuitele de memorie DRAM
au, prin urmare, capacitáti de memorare mari, si, implicit, un numár mare de linii
de adresá. Simbolul memoriei DRAM este ilustrat în figura 3.6.
Fig. 3.6. Simbolul memoriei DRAM.
Memorarea datelor se bazeazá pe stocarea si transferul de sarcini electrice, si
nu pe mecanisme de comutare, ca în cazul memoriilor SRAM. Fiecare bit de
informatie este memorat prin încárcarea sau descárcarea unui condensator. Când
condensatorul este încárcat, se spune cá se memoreazá valoarea 1L, iar când acesta
este descárcat, valoarea memoratá este 0L. Fatá de celula SRAM, mecanismul de
memorare nu presupune consum de curent de la sursa de alimentare.
Schema bloc de bazá a memoriei DRAM este trasatá în figura 3.7.
Celulele de memorie sunt dispuse într-o arie pátratá sau dreptunghiulará de
locatii de memorie, fiecare locatie memorând un cuvânt de m biti, Semnalele de
comandá actioneazá prin intermediul logicii de control. Eventual, memoria DRAM
poate avea circuit intern de împrospátare, care presupune un numárátor de adrese
de rând si un ceas de timp real. În functie de tipul memoriei DRAM, ciclurile de
împrospátare pot fi realizate în trei moduri:
ARHITECTURA SISTEMELOR DE CALCUL
78
Fig. 3.7. Schema bloc de bazá a memoriei DRAM.
• ROR (RAS Only Refresh) este o metodá de împrospátare din exterior,
prin care se transmit memoriei adresa de rând (AR) si semnalul RAS ,
Iárá a se activa semnalul CAS. Unitatea master externá este anuntatá
periodic sá facá refresh de cátre un ceas de timp real, care este
programat software de cátre sistemul de operare.
• CBR (CAS Before RAS) este tot o metodá de împrospátare din exterior,
prin care se transmit semnalele CAS si RAS , activate în aceastá
ordine. În acest caz, memoria dispune de un numárátor de adrese intern,
pentru indicarea liniei care trebuie împrospátatá, fárá a fi nevoie de
transmiterea adresei din exterior. De asemenea, perioada de repetitie a
ciclurilor de refresh este determinatá de un ceas de timp real extern.
• Auto-împrosptare cu ajutorul circuitelor interne memoriei DRAM. În
interior, memoria contine un numárátor de adrese de rând, un ceas de
timp real si o logicá de control pentru generarea semnalelor CAS si
RAS , conform metodei CBR.
Memoria DRAM poate fi de douá tipuri: asincroná si sincroná.
Memoria DRAM asincron nu necesitá semnal de ceas pentru
sincronizarea cu unitatea master apelantá. Ca si la SRAM, memoriile DRAM
asincrone sunt mai lente decât cele sincrone, dar sunt mai ieftine si au un consum
de energie mai mic. Dintre memoriile DRAM asincrone, se pot enumera: FPM
(Fast Page Mode), EDO (Extended Data Out) si BEDO (Burst EDO) DRAM. La
toate memoriile, accesul aleator este lent. În acces aleator, timpul de acces fatá de
RAS (t
RAC
) este de 50–70 ns, iar timpul de ciclu (t
C
) este de 90–120 ns.
Structura unui calculator
79
O altá categorie de memorii DRAM este cea care utilizeazá o interfa
sincron. Prin implementarea unei interfete sincrone, s-au eliminat perioadele de
asteptare de cátre procesor, obtinându-se, de asemenea, unele avantaje
suplimentare. În cazul functionárii sincrone, se memoreazá anumite date de la
procesor în circuitele latch ale memoriei DRAM, sub controlul ceasului de sistem.
Aceste circuite pástreazá adresele, datele si semnalele de control, ceea ce permite
procesorului sá execute alte operatii. Dupá un numár specific de cicluri de ceas,
datele devin disponibile si procesorul le poate citi de pe liniile de iesire.
Un alt avantaj al unei interfete sincrone este cá ceasul sistemului este
singurul semnal de sincronizare care trebuie furnizat memoriei DRAM. Aceasta
eliminá necesitatea propagárii semnalelor multiple de sincronizare. Intrárile sunt de
asemenea simplificate, deoarece semnalele de control, adresele si datele pot fi
memorate fárá temporizárile de setare si mentinere monitorizate de procesor.
Avantaje similare se obtin si pentru operatiile de iesire.
O altá categorie este reprezentatá de memoriile DRAM bazate pe
protocoale. Categoriile precedente de memorii au linii separate de adrese, date si
control, ceea ce limiteazá viteza la care poate functiona circuitul cu tehnologia
curentá. Pentru eliminarea acestui dezavantaj, au fost proiectate memorii DRAM
bazate pe protocoale, care implementeazá toate aceste semnale pe aceeasi
magistralá. Cele mai cunoscute memorii din aceastá categorie sunt DRDRAM
(Direct Rambus) si SLDRAM (SyncLink) DRAM.
Memoria DRAM sincron necesitá un semnal de ceas pentru validarea
semnalelor de control. Ceasul primit din exterior permite operarea memoriei
sincron cu unitatea master. Desi accesul aleator este comparativ cu cel al
memoriilor asincrone, accesul în mod paginá este mult mai rapid.
Memoriile sincrone pot fi de mai multe tipuri: SDRAM (Synchronous
DRAM), DDR SDRAM (Double Data Rate SDRAM), RDRAM (Rambus
DRAM), DRDRAM (Direct Rambus DRAM) etc. Accesul aleator este, de
asemenea, lent, fiind putin mai rapid decât la memoriile asincrone, datoritá
tehnologiei (memoriile sincrone au apárut ulterior). În acces aleator, t
RAC
este de
40–60 ns, iar t
C
este de 80–110 ns. Accesul în mod paginá este mult mai rapid decât
la memoriile asincrone si depinde de frecventa semnalului de ceas de sincronizare.
3.2.4. Accesul la locaiile de memorie
În sistemele cu microprocesoare, modulele de memorie se conecteazá pe
magistrala sistemului. Accesul la locatiile de memorie se realizeazá prin cicluri de
transfer (cicluri masiná), folosindu-se semnalele magistralei (de adresá, date si
comenzi). Modul de desfásurare a diferitelor tipuri de cicluri de transfer se
reprezintá prin diagrame de timp (evolutia în timp a semnalelor de pe magistralá
implicate în transfer). Parametrii de timp ai unui ciclu de transfer depind de tipul
procesorului, de regulile de comunicatie pe magistralá si de tipul circuitelor de
memorie utilizate.
ARHITECTURA SISTEMELOR DE CALCUL
80
Ciclu de citire din memorie
Semnale de adresá
Adresa validá
S. de c-dá MEMR\
(citire memorie) (înaltá impedantá)
Semnale de date Date valide (citite)
t
AR
t
MEMR
t
C
Ciclu de scriere în memorie
Semnale de adresá Adresa validá
S. de c-dá MEMW\
(scriere memorie) (înaltá impedantá)
Semnale de date Date valide (scrise)
t
AW
t
MEMW
t
C
Fig. 3.8. Diagrame de citire/scriere memorie.
În figura 3.8, s-au reprezentat diagramele de transfer pentru un ciclu de citire
din memorie si un ciclu de scriere în memorie.
La proiectarea unui modul de memorie, trebuie sá se tiná cont de urmátorii
parametri de timp:
• timpul de acces la citire (t
AR
) – intervalul de timp între momentul aparitiei
adresei valide si momentul în care data cititá este prezentá pe liniile de
date. Uneori, timpul de acces se másoará în raport cu momentul aparitiei
semnalului de comandá MEMR\. Dacá timpul de acces al circuitului de
memorie folosit este mai mare decât timpul permis pe magistralá, atunci
interfata modulului de memorie trebuie sá prelungeascá ciclul de transfer,
prin dezactivarea pe un timp limitat a semnalului READY cátre procesor.
• timpul de mentinere a semnalului de comandá MEMR\ activ (t
MEMR
).
• durata unui ciclu complet de citire sau scriere (t
C
).
• timpul de acces la scriere (t
AW
) – intervalul de timp între momentul în care
adresa este validá si momentul de generare a comenzii de scriere; în
acelasi mod ca la citire, dacá circuitul de memorie folosit are un timp de
acces mai mare, atunci interfata modulului trebuie sá dezactiveze temporar
semnalul READY pentru prelungirea ciclului de transfer. Momentul
activárii semnalului de scriere se másoará si în raport cu momentul în care
data este prezentá pe magistralá.
• timpul de mentinere a semnalului de scriere (t
MEMW
), de obicei < t
MEMR
.
Structura unui calculator
81
Observaii:
1. la citire, data este generatá dupá aparitia semnalelor de adresá si de
comandá si se mentine un timp scurt dupá dezactivarea acestora;
2. la scriere, data trebuie sá apará pe magistralá înaintea semnalului de scriere
si sá fie validá pe toatá durata de activare a semnalului de comandá;
3. timpul de acces acoperá întârzierile care apar într-un modul de memorie
datoritá circuitelor de decodificare a adresei si de selectie a
amplificatoarelor de intrare sau de iesire;
4. proiectantul trebuie sá aleagá circuite de memorie cu parametri de timp
acoperitori pentru restrictiile impuse pe magistralá si sá ia în calcul
întârzierile produse de circuitele de amplificare din interfatá si de pe
magistralá.
Existá douá moduri de organizare a octetilor în memorie, si anume:
a) Big Endian;
b) Little Endian.
Exemplu. Se considerá cá se lucreazá pe cuvinte de 32 biti. Cele douá
moduri de organizare a octetilor sunt reprezentate în figura 3.9.
Fig. 3.9. Modurile de organizare a memoriei de tip Big Endian (a) si Little Endian (b).
Microprocesoarele PowerPC, Motorola 680×0 si HP, folosesc o organizare a
octetilor în memorie de tip Big Endian, iar microprocesoarele DEC si Intel folosesc
modul Little Endian.
ARHITECTURA SISTEMELOR DE CALCUL
82
3.2.5. Metodologia de proiectare a memoriilor statice
Proiectarea unui modul de memorie se face pe baza unor parametrilor de
proiectare impusi:
• capacitatea memoriei;
• modul de organizare (unitatea elementará de acces la memorie: octet,
cuvânt, cuvânt dublu);
• tipul de magistralá pe care se conecteazá (numárul semnalelor de date si
de adresá, tipurile semnalelor de comandá, parametrii de timp pentru
ciclurile de transfer);
• amplasarea modulului de memorie în spatiul de adresare al procesorului,
exprimatá prin adresa sa de început (trebuie sá fie un multiplu al
capacitátii modulului);
• tipul de circuit de memorie disponibil (poate fi un parametru impus sau
unul ales de proiectant);
• alte cerinte speciale (de exemplu: accesul dual de pe douá magistrale,
reîmprospátarea controlatá centralizat, implementarea unor mecanisme
de detectie a erorilor etc.)
3.2.6. Metodologia de proiectare a memoriilor dinamice
Proiectarea memoriilor dinamice este, în principiu, similará proiectárii
memoriilor statice, cu urmátoarele amendamente:
• trebuie sá se adauge un mecanism de reîmprospátare periodicá a
memoriei (refresh);
• adresele trebuie multiplexate (generarea secventialá pe aceleasi semnale
a adresei de linie si a adresei de coloaná);
• trebuie sá se genereze semnalul de validare a adresei de linie (RAS –
Row Address Select) si semnalul de validare a adresei de coloaná (CAS
– Column Address Select);
• selectia circuitelor se face cu semnalele RAS si CAS (exceptie fac
circuitele tip EDO-DRAM, cu semnal separat pentru selectia circuitului).
Pentru circuitele RAM dinamice, multiplexarea în timp a adreselor a fost
necesará pentru a reduce numárul de pini ai circuitului de memorie si, implicit,
dimensiunea acestuia. De notat cá circuitele dinamice au o capacitate relativ mare,
ceea ce impune un numár mare de linii de adresá pentru selectie. Organizarea
interná a unei memorii dinamice este sub forma unei matrice, cu linii si coloane, iar
selectia unei locatii se face prin specificarea adresei sale de linie si de coloaná.
Reîmprospátarea periodicá a memoriei este necesará deoarece informatia
este pástratá un timp limitat dupá ultima operatie de citire sau scriere
(condensatorul care stocheazá informatia se descarcá în timp).
În figurile 3.10, 3.11, 3.12 s-au reprezentat diagramele de timp pentru ciclurile
de citire din memorie, scriere în memorie si, respectiv, reîmprospátare a memoriei.
Structura unui calculator
83
Adrese
Adresá linie Adresá coloaná
RAS\
CAS\
WR\
Date Date citite
t
RASCAS
t
CAS
t
acces
t
ciclu
Fig. 3.10. Ciclu de citire din memorie.
Adrese Adresá linie Adresá coloaná
RAS\
CAS\
WR\
Date Date de scris
t
RASCAS
t
CAS
t
acces
t
ciclu
Fig. 3.11. Ciclu de scriere în memorie.
Adrese Adresá linie
RAS\
CAS\
WR\
Fig. 3.12. Ciclu de reîmprospátare a memoriei.
ARHITECTURA SISTEMELOR DE CALCUL
84
Controlul procesului de reîmprospátare poate sá se facá la nivelul modulului
de memorie sau centralizat la nivelul întregului sistem. Indiferent de metoda aleasá,
proiectantul trebuie sá se asigure cá ciclurile de reîmprospátare nu se suprapun
peste ciclurile obisnuite de citire sau scriere. Reîmprospátarea se face simultan la
nivelul unei linii întregi din matricea de memorie.
3.2.7. Modulele de memorie
Modulele de memorie sunt plácute cu circuite integrate care includ conectori
externi, pentru a fi introduse în soclurile disponibile pe placa de bazá. Modulele de
memorie sunt prevázute cu conectori CELP (Card Edge Low Profile), având 30–83
contacte pe fiecare parte a modulului. Conectorii aflati la baza modulelor de memorie
permit adáugarea sau scoaterea lor de pe placa de bazá fárá instrumente speciale.
În ceea ce priveste necesarul de memorie într-un sistem de calcul, este demn
de retinut cá prin cresterea dimensiunii acesteia sistemul devine mai rapid,
deoarece microprocesorul citeste datele din RAM foarte repede, neasteptând citirea
de pe hard disk-ul mult mai lent, fárá a mai lua în consideratie drumul pe care l-ar
avea de parcurs datele pe magistralele la fel de lente. Acest aspect nu are însá un
caracter imperativ, deoarece s-a demonstrat cá, începând de la 16–32 MB instalati,
performantele sistemului rámân aproape constante.
Totusi existá anumite aplicatii care cer resurse deosebite si îndeosebi RAM.
Este cazul profesionistilor care lucreazá mai ales în domeniul graficii (atât staticá –
proiectare CAD, fotografie, design, cât si dinamicá – animatii, spoturi publicitare,
filme, aplicatii stiintifice, simulári etc.), fiind necesari peste 256 MB de RAM. Un
alt caz deosebit este al serverelor de retea, unde necesarul de RAM este urias si
poate atinge valori peste 512 MB.
Privitor la modul în care microprocesorul opereazá fizic cu memoria
instalatá, aceasta se plaseazá pe placa de bazá în douá sau mai multe segmente
fizice numite bancuri de memorie. Acestea sunt segmentele minime de memorie
care pot fi accesate de microprocesor, numerotate începând cu 0, fiecare banc
având unul sau mai multe sloturi pentru plácutele de memorie. Toate aceste bancuri
sunt vázute ca niste porti spre memoria fizicá instalatá si au dimensiuni date de
látimea magistralei microprocesorului (inclusiv bitii de paritate), de exemplu, de 72
de biti pentru Pentium.
În sloturile aceluiasi banc, se introduc întotdeauna memorii de acelasi tip
(având în special timpi de acces identici) si aceeasi dimensiune, pentru a nu
provoca accesári gresite de memorie sau chiar blocarea sistemului de calcul.
Exemplu. Pentru un banc cu douá sloturi: 2 pláci × 1 MB sau 2 pláci × 2 MB.
În bancuri diferite, se pot monta (teoretic) memorii diferite (ex.: 2 × 1 MB în
bancul 0 si 2 × 4 MB în bancul 1), dar, practic, este bine sá se utilizeze valori pare.
Exemplu. În loc de 2 × 4 MB + o plácutá de 1 MB ar trebui montate 2 × 4
MB + o plácutá de 2 MB), pentru a evita unele nepláceri.
În figura 3.13 este prezentatá dispunerea bancurilor pe placa de bazá.
Structura unui calculator
85
Fig. 3.13. Dispunerea bancurilor pe placa de bazá.
Arhitectura dual-channel
Motivul care a dus la dezvoltarea acestei arhitecturi a fost aparitia unui
bottleneck între procesor si memorie. Arhitectura dual-channel presupune o
tehnologie prin care se poate dubla transferul dintre RAM si controlerul de
memorie. Controlerele de memorie care suportá dual-channel utilizeazá pentru
transfer douá canale de date de 64 biti, rezultând o látime a cáii de date de 128 biti.
Pentru a putea beneficia de avantajele arhitecturii dual-channel, este nevoie de
douá sau mai multe module de memorie instalate în bancurile corespunzátoare. De
obicei, aceste bancuri sunt colorate diferit pe placa de bazá. Cele douá canale permit
accesul fiecárui modul de memorie la controler, crescând astfel lárgimea de bandá.
Teoretic, nu este absolut necesar ca cele douá module de memorie sá fie identice, dar
acest lucru este recomandat pentru a evita eventualele probleme de compatibilitate.
De asemenea, se pot folosi un modul single-sided si unul double-sided, dar câstigul
de performantá si fiabilitate depind foarte mult de controlerul de memorie.
În cazul în care pe o placá de bazá existá douá perechi de socket-uri DIMM
din bancuri diferite (în general, culoarea socket-ului identificá bancul cáruia acesta
apartine), se poate instala o pereche de douá module în bancul 0 si o pereche de
altá capacitate în bancul 1, atât timp cât acestea functioneazá la aceeasi vitezá. În
acest mod, sistemul va folosi arhitectura dual-channel.
Chiar si module care functioneazá la frecvente diferite pot fi folosite în
modul dual-channel, dar, în acest caz, toate modulele vor rula la frecventa celui
mai lent modul. Desi arhitectura permite – cel putin teoretic – toate aceste
combinatii, foarte multe pláci de bazá au probleme cu anumite module de memorie
dacá urmeazá sá le foloseascá în mod dual-channel. Tocmai din acest motiv este
recomandat sá se utilizeze perechi identice de module.
Meritá retinut faptul cá arhitectura dual-channel este o tehnologie care tine
de plácile de bazá, si nu de memorii. Cu alte cuvinte, orice douá module de
memorii compatibile vor suporta atât operatii single-channel, cât si dual-channel.
ARHITECTURA SISTEMELOR DE CALCUL
86
3.2.8. Formatele fizice de memorie
Plácute cu cipuri de memorie existá sub urmátoarele tipuri de încapsulári:
DIP (Dual In-line Package)
Este varianta clasicá de încapsulare, în care cipul este prevázut cu un numár
de pini pe partea sa inferioará (de ambele párti), pini care vor fi introdusi în socluri
speciale (vezi figura 3.14). Dezavantajul este cá, din cauza rezistentei reduse pinii,
se pot rupe destul de usor. Acest tip de încapsulare este prezent pe sisteme (i80286)
si pláci video vechi.
Fig. 3.14. Modul de memorie DIP.
SOJ (Small Outline J Lead)
Este o metodá de încapsulare mai moderná, regásitá la modulele SIMM si
cipurile BIOS (uneori). Se aseamáná cu DIP-ul, cu diferenta cá, în loc de pini, sunt
folosite niste terminale în formá de J, care se prind prin îndoire (vezi figura 3.15).
Fig. 3.15. Modul de memorie SOJ.
TSOP (Thin Small Outline Package)
Este o încapsulare de tip SMD (Surface Mounted Devices), dar care necesitá
o suprafatá foarte redusá si, de aceea, este folositá pe pláci PCMCIA, notebook-uri
si unele pláci video (vezi figura 3.16).
Fig. 3.16. Modul de memorie TSOP.
Structura unui calculator
87
BGA (Ball Grid Array)
Este o metodá mai nouá de încapsulare, în care cipurile sunt atasate cu
ajutorul unor bilute din cositor, plasate sub cip. Acestea sunt destul de ieftine si
prezintá proprietáti bune de conductivitate electricá si termicá (permit o mai buná
disipare a cáldurii, în special în versiunea cu suport ceramic). Existá mai multe
variante ale încapsulárii BGA (Fine BGA si Tiny BGA), folosite în majoritatea
modulelor de memorie de azi, inclusiv memoriile Rambus (vezi figura 3.17).
Fig. 3.17. Modul de memorie BGA.
SIMM (Single In-line Memory Module)
Este o plácutá de memorie care se introduce în sloturi pe placa de bazá.
Eliminá problemele de compatibilitate, datoritá standardizárii ei de cátre
producátorii plácilor de bazá. Memoriile SIMM folosesc o magistralá de memorie
pe 32 de biti si existá în douá variante (vezi figurile 3.18 si 3.19):
• cu 30 de pini – pentru cantitáti mici de memorie (< 8 MB);
• cu 72 de pini – pentru cantitáti mai mari de memorie (> 8 MB).
Memoriile SIMM pot fi atât single sided (cu cipuri de memorie pe o singurá
parte), cât si double sided (cipurile sunt dispuse pe ambele fete). SIMM-urile
double sided sunt realizate din douá SIMM-uri single sided, conectate împreuná pe
acelasi modul din fibrá de sticlá.
Fig. 3.18. Modul de memorie SIMM cu 30 de pini.
Fig. 3.19. Modul de memorie SIMM cu 72 de pini.
ARHITECTURA SISTEMELOR DE CALCUL
88
SODIMM (Small Outline Dual In-line Memory Module)
SIMM-urile de 72 de pini sunt convenabile pentru calculatoare desktop, dar
sunt prea mari pentru laptop-uri. În consecintá, producátorii de calculatoare
miniaturizate au transformat SIMM-urile cu 72 de pini, astfel încât, în locul
conectárii la un loc a pinilor de pe cele douá párti ale modulului, au introdus niste
spatii pe fiecare parte, pentru a avea douá semnale separate. Astfel, lungimea
modulului s-a redus la jumátate, rezultatul fiind Small Outline Dual In-line
Memory Module, numit astfel datoritá dimensiunilor reduse ale modulului si a celor
douá linii de conectori independenti de pe fiecare parte a modulului (vezi figura
3.20). Un SODIMM cu 72 de pini are lungimea jumátate fatá de SIMM-ul cu 72 de
pini (2,35 inci), fiind echivalent unui SIMM 72 cu conectorii pe ambele párti ale
modulului.
Fig. 3.20. Modul de memorie SODIMM.
SIPP (Single In-line Pin Package)
Desi SIPP-urile sunt identice cu SIMM-urile de 30 de pini din punct de
vedere electric, din punct de vedere fizic sunt mai mici (vezi figura 3.21).
Dimensiunile standard sunt de 3,23 inci lungime si 1 inci înáltime. Desi din punct
de vedere functional SIMM-urile si SIPP-urile pot avea aceleasi cipuri de memorie,
aceeasi tehnologie si aceeasi capacitate, între ele existá diferente care le fac
incompatibile. Dacá se doreste instalarea unei noi extensii de memorie sau înlocuirea
uneia existente, trebuie specificat tipul de memorie folosit: SIMM sau SIPP.
Fig. 3.21. Modul de memorie SIPP.
Structura unui calculator
89
DIMM (Double In-line Memory Modules)
Sunt module de memorie cu látimea magistralei de 64 de biti, folosite la
implementarea memoriilor SDRAM si DDR SDRAM (vezi figura 3.22). DIMM-
urile SDRAM folosesc 168 de pini, pe când cele DDR SDRAM au 184 de pini. Ele
mai diferá si prin numárul fantelor de pe partea inferioará, cele SDRAM având douá,
iar cele DDR, numai una. Din punct de vedere al designului si al tensiunii de
alimentare, existá 4 variante de DIMM-uri: de 3,3V sau 5V si cu buffer (buffered)
sau fárá buffer (unbuffered). Cele mai des întâlnite sunt de tipul 3,3V, fárá buffer.
Fig. 3.22. Modul de memorie DIMM.
RIMM (Rambus In-line Memory Modules)
Este tipul de încapsulare folosit la memorii Rambus (vezi figura 3.23). Este
foarte asemánátor DIMM-ului, dar foloseste setári diferite ale pinilor. Se remarcá
prin prezenta de radiatoare pe ambele fete ale modulului de memorie, pentru a
preveni încálzirea excesivá a acestuia. Se prezintá si în varianta XDIMM (vezi
paragraful 3.2.9 – XDR DRAM)
Fig. 3.23. Modul RIMM Rambus.
3.2.9. Formatele logice de memorie
Încárcarea cipurilor de memorie prin adresarea liniilor si coloanelor consumá
timp de ordinul nanosecundelor, ceea ce provoacá întârzieri la ráspunsurile
furnizate microprocesoarelor. Dacá se adaugá si timpul necesar reîmprospátárii, se
obtin limitele performantei cipului de memorie. Pentru a mári performantele
memoriei, proiectantii au dezvoltat o serie de tehnologii care sá depáseascá aceste
limite, orientându-se asupra modului în care sunt procesate datele intern – moduri
care constituie formatele logice ale memoriilor interne: s-a încercat memoria de tip
coloaná staticá, apoi s-a trecut la FPM, care s-a dovedit a fi mai performantá prin
anul 1995, ulterior tehnologia EDO preluând suprematia. Toate formatele logice,
au acelasi mod de adresare a celulelor si aceeasi tehnologie la bazá, diferind prin
anumite semnale si cuante de timp alocate.
ARHITECTURA SISTEMELOR DE CALCUL
90
SCRAM (Static Column RAM)
Primele memorii au folosit tehnologia Static Column RAM, care efectua
citirea unei coloane de memorie si scrierea adresei pe linia de adresá a cipului,
transmitând apoi semnalul CAS. Odatá ce coloana a fost înregistratá, se poate
trimite un nou set de adrese, prin care se va indica o linie, activând RAS. În tot
acest timp, semnalul CAS este mentinut deschis, pentru a indica faptul cá acea
coloaná a rámas constantá.
FPM (Fast Page Mode)
Tehnologiile FPM folosesc tot o variantá a acestei strategii. Controlerul de
memorie transmite mai întâi o linie de adrese, apoi activeazá semnalul RAS. Cât
timp semnalul RAS este activ, se transmite o adresá a semnalului CAS, pentru a
indica o anumitá celulá. Dacá semnalul RAS este mentinut activ, controlerul poate
trimite una sau mai multe adrese, urmate de un impuls al semnalului CAS, pentru a
indica celule din cadrul aceleiasi linii.
În terminologia de adresare a memoriei, linia este numitá paginá, iar tipurile de
cipuri care permit aceste operatii sunt numite mod pagin (page mode RAM).
Calculatorul poate astfel accesa mai rapid mai multe celule dintr-o paginá de memorie,
asigurând un timp de acces de 25–30 ns. Pentru a accesa mai multe pagini, va trebui sá
se schimbe ambele adrese ale liniei si coloanei, ceea ce va genera întârzieri.
EDO (Extended Data Out)
O altá tehnologie utilizatá este numitá EDO (Extended Data Out) si este
destul de rapidá pentru calculatoarele actuale. Memoria EDO lucreazá cel mai bine
în combinatie cu o memorie cache. În esentá, EDO este o variantá a memorie Fast
Page Mode (care permite accesul repetat la bitii din cadrul unei pagini de memorie,
Iárá a genera întârzieri).
În timp ce memoria conventionalá se descarcá dupá fiecare operatie de citire
si necesitá timp de reîncárcare înainte de a fi cititá din nou, EDO pástreazá datele
pâná când primeste un alt semnal. Memoria EDO modificá cuanta de timp alocatá
pentru semnalul CAS. Linia de date mai rámâne activá un interval scurt de timp,
dupá ce linia CAS este dezactivatá. Se eliminá, astfel, timpul de asteptare necesar
pentru un ciclu separat de citire/scriere, deci, se pot citi sau scrie date la viteza cu
care cipul poate sá selecteze adresele.
La cele mai multe cipuri, este cerutá în mod normal o asteptare de 10 ns între
emiterea adreselor de coloaná. Modelul EDO eliminá aceastá întârziere, permitând
memoriei sá furnizeze mai repede datele solicitate. Teoretic, EDO poate sá creascá
performantele cu 50–60%, dar, la modelele mai recente de calculatoare, cele mai
bune implementári au condus la o crestere a performantelor cu 10–20%.
Fizic, cipurile EDO si SIMM par identice, dar, pentru a implementa EDO,
este necesar un sistem complet diferit de gestiune (management) a memoriei, care
sá se potriveascá cu tehnologia memoriei (BIOS-ul, în special). Astfel, se pot
instala SIMM-uri EDO în majoritatea calculatoarelor, dar vor functiona ca
memorie obisnuitá, si nu vor contribui la o crestere a performantei.
Structura unui calculator
91
În aplicatiile multimedia, diferenta între memoria cache si EDO nu este
notabilá, astfel cá EDO poate fi considerat ca o alternativá la memoria cache
secundará. La sfârsitul anului 1995, înlocuirea memoriei FPM cu EDO devenise
cea mai comuná formá de reducere a timpului de acces la memorie. Diferenta
dintre cele douá memorii este micá, astfel încât multe calculatoare create pentru
memoria FPM acceptá si memoria EDO, desi nu câstigá în performantá. Cu toate
cá FPM nu poate imita EDO, calculatoarele actuale pot determina ce fel de
memorie s-a instalat, lucrând cu ea în mod adecvat. Pentru o ratá de transfer datá,
memoria EDO va fi cu 30% mai rapidá decât memoria FPM.
Exemplu. Acolo unde un cip page mode de 70 ns are starea de asteptare zero
la o frecventá a magistralei de 25 MHz, un cip EDO poate opera la stare de
asteptare zero pentru o frecventá a magistralei de 33 MHz.
BEDO DRAM (Burst Extended Data Out DRAM)
Pentru a câstiga mai multá vitezá cu EDO, Micron Technology a adáugat
circuite cipului, pentru a-l face compatibil cu modul burst folosit de
microprocesoarele Intel, începând cu 486. Noul cip, numit Burst EDO DRAM,
realizeazá toate operatiile de citire si scriere în serii de câte patru cicluri, numite burst.
Aceeasi tehnologie este regásitá sub numele generic de pipeline nibble mode DRAM,
pentru cá transferul datelor se realizeazá în serii de câte patru cicluri pe pipeline.
Cipul functioneazá ca un EDO sau ca un page mode DRAM atunci când
linia CAS devine activá, dar, în loc sá transfere un octet de date, un numárátor
binar transmite un semnal de patru ori în interiorul cipului, fiecare semnal
transferând un octet de date.
BEDO este relativ usor de fabricat, pentru cá necesitá un minim de
schimbári fatá de memoria EDO sau page mode DRAM. Cipul de siliciu contine un
fuzibil care determiná dacá cipul functioneazá ca EDO sau BEDO. Cipul îsi poate
schimba starea în mod ireversibil, prin arderea fuzibilului. Tehnologia BEDO este
capabilá sá opereze la o vitezá a magistralei de 66 MHz cu stári de asteptare zero,
la un timp de transfer de 52 ns.
SDRAM (Sychronous DRAM)
Datoritá multiplexárii, cipurile de memorie nu pot opera simultan cu
microprocesoarele. Adresarea normalá cere cicluri alternante, dar, prin
reproiectarea interfetei de bazá, cipurile de memorie pot accesa date la fiecare ciclu
de ceas. Modificárile cipurilor de interfatá au fácut ca cipurile de memorie sá poatá
opera sincron cu microprocesoarele: acestea se numesc DRAM sincron.
Desi schimbarea interfetei cipului poate evita blocárile sistemului, ea nu are
nicio contributie la cresterea vitezei. Ca si microprocesoarele superscalare, cipurile
SDRAM sunt realizate cu stagii de operare multiple si independente, astfel încât cipul
poate sá acceseze o a doua adresá înainte de a încheia procesarea primei adrese.
Extinderea pipeline se referá doar la adresarea coloanelor unei anumite pagini.
Cipurile SDRAM au rata de transfer foarte ridicatá. Interfata si pipeline-ul
determiná timpi de transfer de ordinul nanosecundelor, ceea ce le permite utilizarea
ARHITECTURA SISTEMELOR DE CALCUL
92
pentru magistrale de memorie de 100 MHz. Cipurile actuale au anumite limite, care
reduc viteza la aproape 66 MHz. SDRAM-urile nu pot opera la viteze mai mari de
100 MHz, pentru cá sloturile SIMM-urilor devin nesigure la frecvente mai mari.
Memoriile SDRAM sunt adaptate noului standard de magistralá
sincroná introdus de microprocesoarele familiei Intel P6 (Pentium Pro,
Pentium II si III). În figura 3.24 este prezentatá structura unei memorii organizate
pe 4 blocuri, care sunt accesibile în mod concurent.
Fig. 3.24. Structura interná a unei memorii SDRAM de 8 MB.
Structura favorizeazá operatiile în regim burst. Se poate programa numárul
de locatii dintr-un burst la valorile de 1, 2, 4, 8 octeti sau o paginá de memorie.
Accesul începe la o adresá specificatá si continuá cu adresele succesive, pâná la
numárul de locatii programate. Circuitul de memorie acceptá mai multe tipuri de
comenzi, fiecare fiind specificatá printr-o combinatie a semnalelor de intrare.
Ratele de transfer cerute de diverse tehnologii de memorie pentru starea de
asteptare zero la o vitezá de transfer datá pe magistralá sunt prezentate în tabelul 3.1.
Structura unui calculator
93
Tabelul 3.1
Ratele de transfer la o vitez dat a magistralei locale
Viteza magistralei de memorie FPM EDO BEDO SDRAM
25 MHz 70 ns 70 ns 70 ns 12 ns
33 MHz 52 ns 70 ns 70 ns 15 ns
50 MHz N/A 52 ns 70 ns 12 ns
66 MHz N/A N/A 52 ns 10 ns
Dintre versiunile rapide de SDRAM dezvoltate în ultimii ani, se pot aminti:
• PC 100 RAM – timp de acces 8 ns, ratá de transfer 500-800 MB/s;
• PC 133 RAM – timp de acces 7,5 ns, ratá de transfer 800 MB/s;
• PC 2100/2700/3200 – la frecventele de 266/333/400 MHz.
EDRAM (Enhanced DRAM)
Memoriile de tip EDRAM sunt mai rapide si se obtin din DRAM-urile
obisnuite prin adáugarea unor blocuri mici de memorie cache staticá pe fiecare cip.
Cache-ul opereazá la vitezá înaltá (în mod obisnuit, 1 ns), astfel încât pot sá
acopere cererile de date ale microprocesorului fárá a adáuga stárile de asteptare
generate de operatia de reîmprospátare. Producátorul tehnologiei EDRAM
(Ramtron) descrie patru avantaje ale acestui tip de memorie:
• legarea cache-ului SRAM cu DRAM-ul pe acelasi cip presupune folosirea
unei magistrale de látime mare pentru conectare (Ramtron foloseste o
magistralá de 16.384 biti), care poate determina o ratá de umplere a
memoriei cache de aproximativ 60 Gb/s, comparativ cu 110 Mb/s la
cache page mode DRAM. Timpul de umplere este de aproape sapte ori
mai mic (35 ns) la EDRAM fatá de cache page mode DRAM (250 ns);
• modelul Ramtron foloseste o structurá de control diferitá fatá de DRAM-
ul conventional, ceea ce permite ca memoria sá fie preîncárcatá în timp
ce sistemul realizeazá transferul în mod burst din cache, preîncárcarea
determinând reducerea timpului de acces;
• desi cache-ul EDRAM foloseste proiectarea write through (vezi
paragraful 3.2.12), scrierea în memoria principalá poate fi fácutá cu timp
de asteptare zero. Prima operatie de scriere necesitá 7 ns, iar ciclul de
scriere pentru o paginá normalá este de 15 ns;
• proiectarea EDRAM permite accesul separat la bancurile de cache, ceea
ce reduce timpul de acces la sistemele care lucreazá în multitasking.
CDRAM (Cached DRAM)
Memoria CDRAM, realizatá de Mitsubishi, adaugá o memorie cache pe
fiecare cip, utilizând un model de tip asociat. Cipul initial de 4 MB are încorporatá
o memorie cache de 2 KB, folosind douá buffer-e de câte un cuvânt (16 biti) pentru
transferul dintre cache si circuitele externe.
ARHITECTURA SISTEMELOR DE CALCUL
94
Spre deosebire de EDRAM, pártile CDRAM asociazá atât cache-ului, cât si
DRAM-ului principal, aceeasi adresá, astfel încât acestea opereazá independent una
fatá de cealaltá, putând fi adresate separat.
Memoria cache este suficient de rapidá pentru a transfera date în mod burst,
la o frecventá de 100 MHz. Cipul permite celor douá buffer-e sá functioneze
independent, deci, pot lucra în flux continuu.
MDRAM (Multibanc DRAM)
Principiul de lucru este urmátorul: în locul unui bloc de celule, fiecare celulá
este adresatá prin numárul liniei si al coloanei. Memoria DRAM produsá de MoSys
Inc. desparte informatia stocatá într-un numár de bancuri de memorie separate.
În modelul MDRAM initial de 4 MB, fiecare din cele 16 bancuri de memorie
pástreazá 256 KB, ele fiind legate printr-o magistralá centralá de date, care
acceseazá fiecare banc individual. Acest model permite unui banc de memorie sá
trimitá sau sá primeascá o serie de date printr-un singur ciclu de ceas si sá comute
la un alt banc pentru un alt transfer. Deoarece fiecare banc de memorie dispune de
o interfatá de 32 biti care lucreazá la fel ca SDRAM, cipurile MDRAM opereazá la
viteze de transfer de pâná la 1 GB/s.
RDRAM (Rambus DRAM)
Modelul Rambus foloseste un cache RAM static de 2.048 octeti, care se
leagá la memoria dinamicá printr-o magistralá de látime foarte mare, permitând
transferul unei pagini de memorie în cache într-un singur ciclu. Cache-ul este
destul de rapid, furnizând date la un timp de acces de 15 ns.
Memoria Rambus nu este implementatá pe calculator ca o memorie standard.
Ea foloseste o magistralá specialá de înaltá vitezá. Indiferent de legátura cu
microprocesorul, látimea magistralei dintre controlerul de memorie si cipul
Rambus este de 1 octet. Rambus opereazá la frecvente între 250 si 800 MHz,
modelul permitând transferul a doi octeti la fiecare ciclu de ceas: unul pe frontul
crescátor, iar al doilea pe frontul descrescátor al impulsului de ceas.
Accesul la memorie se face în mod inteligent, incluzând functia de pre-
încárcare a datelor, iar citirea acestora se face în pachete mici, la viteze ridicate ale
semnalului de ceas. Viteza Rambus este izolatá de microprocesor si rámâne
constantá indiferent de viteza microprocesorului. Rata de transfer maximá poate
atinge 1,6 GB/s. Viteza ridicatá a Rambus-ului impune limite în proiectarea unui
sistem de memorie: magistrala trebuie sá fie scurtá si poate suporta doar 32 de
cipuri sau 10 module de memorie Rambus, un modul continând 32 de cipuri
Rambus. O vitezá de peste 500 MB/s a magistralei poate sá inducá interferente;
pentru a le minimiza, Rambus functioneazá la 2 V, cu oscilatii de 300 mV.
Rambus opereazá ca o micá retea, trimitând date în pachete cu o lungime de
pâná la 256 octeti. Modelul este schimbat radical si cere o modificare importantá a
tipului de calculator pe care se instaleazá, fiind deocamdatá util pentru sisteme care
includ integrare video. O colaborare între Intel si Rambus s-a materializat în 1999
printr-un DRAM care opereazá la 100 MHz, pe calculatoare de 64 de biti.
În figura 3.25 este prezentatá arhitectura unui cip de memorie RDRAM cu
capacitatea de 32 MB.
Structura unui calculator
95
Fig. 3.25. Cip de memorie RDRAM de 32 MB.
Asa cum se observá din figurá, unul din atu-urile memoriei RDRAM este cá
fiecare cip de memorie poate contine pâná la 32 de bancuri de memorie. Aceste
bancuri sunt individuale si apartin riguros aceluiasi cip, spre deosebire de bancurile
SDRAM, care sunt împrástiate printre mai multe cipuri de memorie. Revenind la
diagramá, fiecare banc de memorie are dimensiunea de 1 MB, ceea ce face ca
întregul cip sá aibá o capacitate de 32 MB.
Fiecare banc reprezintá o matrice DRAM organizatá în 512 linii a câte
128 dualocti (dualoctul este cea mai micá unitate de memorie adresabilá de cátre
RDRAM). Fiecare dualoct contine 16 octeti si, deci, dimensiunea totalá a liniilor
matricei este de 2 KB. În mod ideal, se poate pástra activá câte o linie din fiecare
din cele 32 de bancuri, pentru a maximiza sansele de a primi datele dintr-o linie
activá. În realitate, însá, pot exista numai 16 bancuri deschise simultan sau, mai
precis, doar jumátate din bancurile existente pe cip.
Figura 3.26 prezintá douá operatii: una de citire si cealaltá de scriere din/în
memorie, pentru a ilustra lucrul simultan cu doar jumátate din bancurile disponibile.
Modul de functionare este urmátorul. Atunci când procesorul citeste un dualoct
de 16 octeti dintr-un banc, datele respective párásesc bancul si pátrund în
amplificatoarele de semnal (numerotate), care sunt plasate de o parte si de alta a
bancurilor de memorie. Data A si Data B reprezintá douá jumátáti ale unui dualoct (cu
8 octeti fiecare), care párásesc bancul de memorie pe cái separate, asa cum se observá
în figura 3.26. Cele douá magistrale care încadreazá bancurile de memorie au fiecare o
látime de 8 octeti, deci jumátatea dualoctului reprezentatá de Data A se va transfera pe
magistrala din dreapta, iar cea reprezentatá de Data B pe magistrala din stânga.
Desi pe diagramá pare cá fiecare banc este conectat la 4 amplificatoare de
semnal, de fapt, fiecare pereche de cásute cu aceeasi etichetá (0/1, 1/2 etc.) plasatá
la stânga si la dreapta unui banc constituie un singur amplificator de semnal.
ARHITECTURA SISTEMELOR DE CALCUL
96
Fig. 3.26. O operatie de citire si o operatie de scriere din/în memoria RDRAM.
Deoarece un numár prea mare de amplificatoare ar mári considerabil
suprafata pastilei de memorie, fiecare banc de memorie împarte cele douá
amplificatoare adiacente cu bancurile vecine lui. De exemplu, amplificatoarele 0/1
si 1/2 sunt conectate la bancurile 0, 1 si 2. În acest fel, se micsoreazá suprafata
cipului, ceea ce duce la o reducere a costului.
Existá si exceptii, iar acestea sunt bancurile 0, 15, 16 si 31, care sunt conectate
fiecare la câte un singur amplificator dedicat si, ca atare, trebuie sá astepte ca un
singur banc vecin sá îsi termine activitatea pentru a deveni active. Faptul cá douá
bancuri de memorie ajung sá împartá un singur amplificator de semnal (sense amp)
reprezintá motivul pentru care numai jumátate din bancurile unui cip pot fi active
simultan. Chiar si asa, numárul bancurilor de memorie active ale unui modul
RDRAM este mult mai mare fatá de cel al unui modul SDRAM. De exemplu, pentru
un singur modul RIMM cu 4 cipuri, existá 32 de bancuri pe cip si, deci, 128 de
bancuri, dintre care 64 active simultan pentru întregul modul. Acest numár ridicat de
bancuri de memorie reprezintá explicatia pentru lárgimea de bandá si frecventele
foarte mari (400 MHz, 533 MHz) cu care opereazá memoriile SDRAM.
Referitor la ultima diagramá prezentatá, mai trebuie fácute douá precizári:
• fiecare amplificator de semnal are si o capacitate proprie de stocare de
1024 de octeti, el fiind un buffer între bancul de memorie si magistrala
sistemului;
• cele douá magistrale de 8 octeti amintite anterior sunt divizate numai
conceptual, în realitate formând o singurá magistralá cu látimea de 16 octeti.
Schema din figura 3.27 ilustreazá diferentele dintre un sistem de memorie
bazat pe RDRAM si unul bazat pe SDRAM. Se observá cá la RDRAM cipurile
sunt atasate unor module de memorie RIMM, asa cum memoria SDRAM este
organizatá în module DIMM.
Structura unui calculator
97
Fig. 3.27. Diferentele dintre sistemele de memorie RDRAM si SDRAM.
Diferenta constá în faptul cá RIMM-urile sunt atasate plácii de bazá în mod
serial, neputând exista sloturi de memorie goale. Dacá nu existá suficiente module
de memorie RIMM propriu-zise, sloturile de memorie de pe placa de bazá rámase
libere vor trebui completate cu module de continuitate, pentru a permite canalului
Rambus sá-si atingá rezistenta de sarciná (terminatia). Din punct de vedere teoretic,
pot exista oricâte canale Rambus independente într-un sistem, fiecare cu o lárgime
de bandá de 1,6 GB/s, dar, în practicá, numárul canalelor este limitat din
considerente de design al plácilor de bazá.
Un alt factor care complicá designul unui subsistem de memorie Rambus
este dat de faptul cá semnalului de ceas provenit de la controlerul de memorie îi
este necesar un timp atât de ridicat pentru a ajunge la cel mai depártat modul
RIMM din sistem, încât poate fi defazat de mai multe ori, fatá de semnalul ajuns la
primul modul RIMM.
Din acest motiv, canalul Rambus suportá pâná la cinci domenii pentru
semnalul de ceas, doar pentru a putea pástra o sincronizare între transferurile pe
magistrala de memorie. Aceste schimbári ale domeniilor de tact complicá însá si
mai mult arhitectura sistemului de memorie Rambus, prezentatá în figura 3.28.
ARHITECTURA SISTEMELOR DE CALCUL
98
Fig. 3.28. Elementele de bazá ale unui sistem de memorie RDRAM.
DDR SDRAM (Double Data Rate Synchronous DRAM)
Acest tip de memorie transferá date pe ambele fronturi (crescátor si
descrescátor) al semnalului de ceas. În felul acesta, viteza rezultatá în transferul
datelor este dublá (Double Data Rate) fatá de o memorie SDRAM. DDR SDRAM
se monteazá pe acelasi tip de socluri, dar are nevoie de un nou cip-set.
Fatá de RDRAM, DDR SDRAM prezintá urmátorul dezavantaj: dacá datele
solicitate nu existá în cache, continutul curent al acestuia este vársat în DRAM-ul
integrat pe cip, este accesatá o altá paginá si abia apoi are loc citirea din memorie.
Avantajele DDR SDRAM fatá de RDRAM sunt pretul si faptul cá rata de
transfer RDRAM este aproximativ 60–70% din rata DDR SDRAM (datoritá
faptului cá lucreazá pe 16 biti, fatá de DDR SDRAM, care lucreazá pe 64 de biti).
Deoarece memoria DDR SDRAM este o variantá evoluatá a SDRAM-ului,
felul în care interactioneazá cu magistrala de memorie este foarte asemánátor celui
al predecesoarei sale, cu exceptia faptului cá la DDR SDRAM se transferá douá
cuvinte de date într-o perioadá de ceas.
Figura 3.29 prezintá functionarea unui sistem de memorie format din 3
DIMM-uri, fiecare cu 4 bancuri de memorie pe 64 de biti.
În figurá sunt marcate blocurile de date de 64 de biti (alcátuite din 4 pachete
de câte 16 biti), blocuri trimise de bancurile de memorie cátre procesor în timpul
unei operatii de citire. Ságetile indicá sensul parcurs de date pe magistrala de
memorie la care sunt conectate DIMM-urile. În cazul unei operatii de scriere,
sensul ar fi, evident, invers (CPU–memorie).
Evaluarea modulelor DDR SDRAM se face într-un mod diferit de SDRAM,
principalul criteriu nemaifiind frecventa, ci lárgimea de bandá maximá oferitá
teoretic si care se exprimá în MB/s.
Standardele uzuale actuale sunt PC1600, PC2100 si PC2400. Primul are o
frecventá de 2×100 MHz (datoritá transmisiei datelor pe ambele fronturi ale
semnalului). Lárgimea de bandá de 1600 MB/s se obtine înmultind látimea cáii de
date (64 de biti) cu frecventa memoriei (200 MHz) si împártind la numárul de biti
dintr-un octet (8).
Similar, pentru PC2100 frecventa este 2×133MHz, adicá, 266 MHz, iar
pentru PC2700, frecventa este de 333 MHz.
Structura unui calculator
99
Fig. 3.29. Sistem de memorie DDR SDRAM cu 3 DIMM-uri a câte 4 bancuri pe 64 de biti.
DDR2 SDRAM (Double Data Rate Two Synchronous DRAM)
Memoriile DDR2 fac parte din familia memoriilor SDRAM, reprezentând o
îmbunátátire a memoriilor DDR SDRAM. Unul dintre principalele avantaje ale
DDR2-ului este abilitatea acestuia de a opera cu magistrala de date externá de douá
ori mai repede decât DDR. Acest lucru este obtinut prin îmbunátátirea semnalizárii
magistralei si prin operarea celulelor de memorie la jumátate din frecventa de ceas
(un sfert din rata de transfer a datelor).
Dacá memoria DDR2 ar opera la aceeasi frecventá de ceas ca DDR, ar
asigura aceeasi lárgime de bandá, dar ar avea o întârziere semnificativ mai mare.
Ca si în cazul DDR, datele din memoriile DDR2 sunt transferate atât pe frontul
crescátor, cât si pe frontul descrescátor al ceasului. Diferenta principalá dintre DDR
si DDR2 este aceea cá în cazul DDR2 magistrala este sincronizatá la de douá ori
frecventa la care lucreazá celulele de memorie, astfel încât pot fi transferati 4 biti de
date într-un ciclu al celulei de memorie, conform diagramei de timp din figura 3.30.
Frecventa magistralei DDR2 este crescutá prin unele îmbunátátiri la
interfata electricá, folosirea tehnologiei on-die termination sau folosirea unor
buffer-e de preîncárcare. Buffer-ul de preîncárcare în cazul DDR2 are o adâncime
de 4 biti, spre deosebire de doi biti în cazul DDR. Din pácate, implementarea
tuturor acestor tehnologii au dus la o crestere a întârzierilor. Dacá în cazul DDR
apare o întârziere între douá si trei cicluri ale magistralei de date, DDR2 poate avea
întârzieri de 4 pâná la 6 cicluri. Acesta este motivul care a fácut necesar ca
magistrala sá lucreze la o frecventá de douá ori mai mare.
ARHITECTURA SISTEMELOR DE CALCUL
100
Fig. 3.30. Citirea în rafale la DDR2 SDRAM.
Un alt cost cauzat de cresterea vitezei este necesitatea încapsulárii cipurilor
în capsule mai scumpe si mai dificil de asamblat, cum ar fi BGA (Ball Grid Array).
Schimbarea capsulelor a fost necesará pentru a mentine integritatea semnalului la
viteze mai mari.
Din punct de vedere al consumului de energie, DDR2 a mai fácut un pas
înainte, necesitând numai 1,8 V fatá de 2,5 V, cât era necesar pentru DDR.
Consumul de energie poate fi redus chiar si mai mult, prin reducerea frecventei în
situatiile în care nu este necesará o ratá de transfer foarte mare. Tensiunea maximá
recomandatá este 1,9 V, fiind chiar interzisá depásirea acesteia în situatiile în care
stabilitatea memoriei este un factor cheie. Totusi, modulele de memorie ar trebui sá
reziste pâná la 2,3 V, înainte ca memoria sá fie complet distrusá.
Pentru folosirea în calculatoarele personale, memoriile DDR2 vin sub forma
unor module DIMM cu 240 de pini, identificate, de obicei, dupá rata maximá de
transfer. Cele sase standarde pentru modulele DDR2 sunt prezentate în tabelul 3.2.
Tabelul 3.2
Standardele pentru modulele de memorie DDR2
Numele
standardului
Frecvena
memoriei
(MHz)
Perioada
ceasului
(ns)
Frecvena
magistralei
I/O (MHz)
Transferuri
de date pe
sec. (mil.)
Numele
modu-
lului
Rata max.
de transfer
(MB/s)
DDR-400 100 10 200 400 PC-3200 3200
DDR-533 133 7,5 266 533 PC-4200 4266
DDR-667 166 6 333 667 PC-5300 5333
DDR-800 200 5 400 800 PC-6400 6400
DDR-1066 266 3,75 533 1066 PC-8500 853
DDR-1300 325 3,1 650 1300 PC-10400 10400
Structura unui calculator
101
DIMM-urile DDR2 nu au fost proiectate sá fie compatibile cu modulele
DDR. Cheia de sigurantá la DDR2 se aflá în altá pozitie, iar densitatea pinilor (240
pentru desktop, 200 pentru notebook) este usor mai mare decât în cazul DDR
(184). Modulele DDR2 mai rapide sunt compatibile cu modulele DDR2 mai lente,
însá magistrala va functiona la viteza celui mai lent modul.
DDR3 SDRAM (Double Data Rate Three Synchronous DRAM)
Memoriile DDR3 sunt o îmbunátátire a modelului precedent de memorii,
DDR2. Principala diferentá între cele douá constá în faptul cá magistrala I/O
DDR3 functioneazá la o frecventá de patru ori mai mare decât celulele de memorie.
În plus, DDR3 permite cipuri de capacitate de la 512 Mb pâná la 8 Gb, ceea ce
duce la posibilitatea obtinerii de module de pâná la 16 GB. Memoriile DDR3
promit o reducere a consumului de energie cu 17%, tehnologia de 90 nm folositá în
fabricarea cipurilor DDR3 având nevoie de o tensiune de 1,5 V (fatá de 1,8V
pentru DDR2 sau 2,5 V pentru DDR). Unii producátori propun utilizarea
tranzistorilor dual-gate, tehnologie care ar permite reducerea si mai mare a
scurgerilor de curent. Tensiunea maximá recomandatá pentru DDR3 este 1,575 V.
În mod normal, memoriile ar trebui sá reziste pâná la 1,975 V, fárá a suferi o
distrugere totalá, desi, cel mai probabil, nu vor functiona corect la acest nivel.
Principalul avantaj al memoriilor DDR3 este dat de lárgimea de bandá.
Cresterea acesteia a fost posibilá si datoritá buffer-ului de preîncárcare, a cárui
adâncime a fost máritá de la 4 biti, cât era în cazul DDR2, la 8 biti. Aceastá dublare
a dimensiunii buffer-ului este spectaculoasá, în comparatie cu celelalte mici
incrementári ale dimensiunii care au avut loc anterior. Redimensionarea buffer-ului
are un cuvânt greu de spus în ceea ce priveste întârzierea semnalului CAS.
Teoretic, modulele DDR3 pot transfera date la o frecventá de 800–1600 MHz,
folosind ambele fronturi ale tactului I/O, cu frecventa de 400–800MHz.
DIMM-urile DDR3 au acelasi numár de pini ca modulele DDR2 (240),
având si aceleasi dimensiuni, dar, cu toate acestea, sunt incompatibile din punct de
vedere electric, iar cheia de securitate este situatá în altá pozitie.
Cele patru standarde pentru modulele DDR3 sunt prezentate în tabelul 3.3.
Tabelul 3.3
Standardele pentru modulele de memorie DDR3
Numele
standardului
Frecvena
memoriei
(MHz)
Perioada
ceasului
(ns)
Frecvena
magistralei
I/O (MHz)
Transferuri
de date pe
sec. (mil.)
Numele
modu-
lului
Rata max.
de transfer
(MB/s)
DDR3-800 100 10 400 800 PC-6400 6400
DDR3-1066 133 7,5 533 1066 PC-8500 8533
DDR3-1333 166 6 667 1333 PC-10600 10667
DDR3-1600 200 5 800 1600 PC-12800 12800
ARHITECTURA SISTEMELOR DE CALCUL
102
O tehnologie complet nouá, folositá pentru prima datá în cazul DDR3, este
topologia Fly-By. Generatiile anterioare de SDRAM, inclusiv DDR2, utilizau o
topologie stea pentru a împárti datele spre mai multe cái de semnal. Topologia Fly-
By utilizeazá o singurá legáturá directá cátre toate componentele DRAM, ceea ce
permite un ráspuns mult mai rapid din partea sistemului.
Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decât a fácut-o nu
se datoreazá atât procesului de fabricatie, care ar fi trebuit rafinat mai mult, cât
unor limitári mecanice. În esentá, DDR2 nu este pregátit sá atingá viteze mai mari.
Teoretic, acest lucru ar fi posibil, dar, practic, tehnologia mecanicá dezvoltatá pâná
azi nu permite acest lucru. La frecvente mai mari, DIMM-ul începe sá întâmpine
probleme în ceea ce priveste integritatea semnalului. În cazul topologiei stea
folosite de DDR2, aceastá problemá s-ar rezolva dacá s-ar reusi echilibrarea tuturor
ramurilor. Din pácate, efortul necesar pentru a face acest lucru este peste limitele
fizice din ziua de azi.
Pentru DDR3, integritatea semnalului este rezolvatá la nivelul fiecárui modul
DRAM, în locul încercárii unei echilibrári la nivelul întregii platforme de memorie.
Acum, atât adresele, cât si semnalele de control, sunt transmise pe aceeasi cale.
Practic, topologia Fly-By eliminá limitárile cauzate de echilibrarea mecanicá
folositá în DDR2, înlocuind-o cu un semnal automat de întârziere, generat de cátre
controlerul de memorie. O altá inovatie prezentá la DDR3 constá în aparitia unui
pin de reset. Acest pin permite resetarea unui modul de memorie fárá resetarea
întregului sistem, ceea ce duce la o scádere a timpului si a energiei pierdute.
De remarcat este si prezenta unui senzor de temperatur, pentru prima datá
la memoriile DDR, senzor care detecteazá momentul în care modulul se apropie de
un anumit prag de temperaturá si, în consecintá, poate scurta intervalele de refresh.
Acest sistem de sigurantá permite si el o reducere a consumului de energie.
Un alt element caracteristic DDR3 este sistemul XMP (eXtended Memory
Profile). Acest sistem, implementat pe placa de bazá, permite utilizatorului unei
configuratii alcátuite dintr-un procesor Intel si o memorie DDR3 sá realizeze un
overclocking foarte simplu. Doar prin selectarea unei anumite optiuni, sistemul va
decide singur factorii de multiplicare, tensiunile si frecventele pâná la care poate fi
fortat ceasul pentru a câstiga un plus de performantá.
XDR DRAM (eXtreme Data Rate DRAM)
Memoriile XDR-RAM sunt considerate ca fiind succesorul memoriilor
Rambus (RDRAM), fiind în concurentá directá cu DDR2, SDRAM si GDDR4
(memoriile grafice pentru plácile grafice din familia GeForce FX). XDR-ul a fost
proiectat în special pentru sisteme mici, care necesitá o lárgime de bandá ridicatá,
si pentru sisteme GPU (Graphical Processing Unit) de top. Aceastá tehnologie
eliminá problemele cauzate de întârzierile ridicate, prezente la primele modele
RDRAM. De asemenea, XDR DRAM permite o lárgime de bandá per pin mult mai
mare, ceea ce duce la scáderea costurilor de productie a plácilor de circuite
integrate. Scáderea costurilor este posibilá datoritá faptului cá sunt necesare mai
putine cái de transmisie a datelor pentru aceeasi lárgime de bandá.
Structura unui calculator
103
Dispozitivele XDR DRAM folosesc un nucleu DRAM cu 8 bancuri,
implementate în tehnologie CMOS, având momentan o densitate de 512 Mb. Spre
deosebire de alte dispozitive DRAM, dispozitivele ×16 XDR DRAM implementeazá
o lárgime programabilá si suportá magistrale de 8, 4 sau chiar 2 biti.
Elementele cheie ale arhitecturii XDR care permit performante ridicate sunt:
• XDR DRAM este un circuit integrat de memorie de mare vitezá, cu o interfatá
care lucreazá la 4 GHz, asigurând o lárgime de bandá de pâná la 8GB/s;
• Controlerul I/O, numit XIO în cazul XDR DRAM, asigurá aceeasi vitezá
ridicatá ca la DRAM, aducând si unele îmbunátátiri (tehnologia FlexPhase);
• Controlerul de memorie XMS este optimizat pentru a profita de inovatiile
aduse de XDR, cum ar fi tehnologia Dynamic Point-to-Point, care
permite o extindere a capacitátii, pástrând în acelasi timp si integritatea
ridicatá a semnalului, caracteristicá modelului Point-to-Point;
• Generatorul de tact, XCG, asigurá patru iesiri programabile, care
garanteazá semnalele de tact pentru XIO si alte dispozitive XDR DRAM.
Celula XIO este un controler I/O performant cu întârzieri reduse, care
foloseste un sistem de semnalizare pe 8 biti, la o frecventá de pâná la 4 GHz,
permitând o lárgime de bandá de pâná la 8 GB/s de la un singur dispozitiv XDR
DRAM. XIO poate fi configurat sá suporte mai multe dispozitive, asigurând astfel
lárgimea de bandá necesará aplicatiilor grafice sau altor aplicatii.
XIO este compus din unul pâná la 12 blocuri de cerere a magistralei (RQ –
ReQuest bus block), un bloc de control (CTL) si un numár variabil de blocuri de date
de 8 sau 9 biti – în cazul memoriilor cu cod corector de erori (DQ). Blocul RQ asigurá
subsistemelor memoriei informatiile referitoare la adrese si control. Blocul CTL
asigurá accesul la registre, initializarea, întretinerea si testarea functiilor sistemului. Un
bloc DQ este capabil sá primeascá si sá transmitá date cu o frecventá de pâná la 4 GHz.
Memoriile XDR DRAM vin sub forma unor module XDIMM, specifice
Rambus (vezi figura 3.31). Acestea oferá flexibilitate în ceea ce priveste upgrade-
ul, o capacitate ridicatá si performantá ridicatá, esentialá în cazul serverelor, de
exemplu. Datoritá tehnologiei Dynamic Point-to-Point, XDIMM-urile pot fi
instalate atât în configuratie single-channel, cât si în configuratie dual-channel,
pástrând întreagá lárgimea de bandá a sistemului si conservând integritatea
semnalului, caracteristicá topologiei Point-to-Point.
O altá inovatie tehnologicá adusá de XDR este tehnologia DRSL
(Differential Rambus Signaling Level). Aceastá tehnologie presupune un standard
de semnalizare de joasá tensiune, joasá putere, diferential, care permite o
magistralá scalabilá, multi-GHz, bidirectionalá, de tip Point-to-Point, care
conecteazá celula XIO la dispozitivele XDR DRAM.
XDR foloseste si standardul RSL (Rambus Signaling Level), dezvoltat
initial pentru RDRAM, standard care permite conectarea a pâná la 36 de
dispozitive într-un mod sincron, adresate prin intermediul unei magistrale si
comandate prin niste semnale. Sistemul de memorie Rambus XDR satisface
nevoile computationale din numeroase domenii, cum ar fi computere grafice,
servere, retelisticá sau electronicá de larg consum.
ARHITECTURA SISTEMELOR DE CALCUL
104
Fig. 3.31. Modul de memorie XDIMM.
eDRAM (embedded DRAM)
eDRAM reprezintá o memorie dinamicá cu acces aleator, capacitivá,
integratá în mod uzual în acelasi pachet cu procesorul, spre deosebire de modulele
DRAM externe si SRAM-urile utilizate tipic pentru memorii cache.
Împachetarea permite folosirea de magistrale mult mai mari si o vitezá
sporitá a operatiilor. Datoritá unei densitáti mult crescute pentru DRAM în
comparatie cu SRAM, pot fi utilizate cantitáti mai mari de memorie. Diferenta în
procesul de fabricatie determiná dificultatea integrárii pe aria cipului procesorului,
astfel încât mai multe circuite integrate de pe arie trebuie împachetate într-un chip,
ridicând costul. Cele mai recente dezvoltári surmonteazá aceastá limitare, utilizând
procesarea CMOS standard pentru a fabrica eDRAM, ca în formatul de memorie
1T-SRAM (vezi paragraful urmátor).
Memoria eDRAM este folositá într-o largá varietate de console de jocuri.
Atât celula microprocesoare utilizatá în PlayStation 3, cât si cea pentru IBM
Power, folosesc eDRAM la cache-ul L2, în nodul de procesare de 45 nm al IBM.
1T-SRAM (1 Transistor Static RAM)
Tehnologia de fabricare a memoriilor 1T-SRAM, introdusá de cátre MoSys,
oferá o alternativá la memoriile SRAM traditionale, permitând o capacitate mai
mare. Principala utilizare a memoriilor 1T-SRAM este în cazul sistemelor
embedded (sisteme dedicate). MoSys a implementat o celulá de memorare cu un
singur tranzistor, ca în cazul DRAM, dar aceastá celulá este sustinutá de o retea de
circuite care fac functionarea memoriei sá fie echivalentá celei a memoriilor
SRAM (controlerul ascunde toate operatiile specifice memoriilor DRAM, cum ar fi
preîncárcarea sau reactualizarea). În consecintá, memoriile 1T-SRAM au o
interfatá standard SRAM de un ciclu si sunt percepute de restul logicii sistemului
exact ca orice altá memorie SRAM.
Datoritá celulei de memorare cu un tranzistor, varianta 1T-SRAM este mai
micá decât SRAM-ul clasic, bazat pe celule de 6 tranzistori, fiind mai apropiatá de
eDRAM (embedded DRAM) în ceea ce priveste dimensiunea si densitatea (vezi
figura 3.32).
În acelasi timp, 1T-SRAM oferá performante comparabile cu SRAM, consumá
mai putin decât eDRAM si este realizatá în tehnologie CMOS, ca SRAM-ul clasic.
Structura unui calculator
105
Fig. 3.32. Comparatie între celula 1T-SRAM si celula SRAM cu 6 tranzistori.
MoSys prezintá 1T-SRAM ca fiind solutia idealá pentru aplicatiile bazate pe
SOC-uri (System-On-a-Chip – se încearcá integrarea tuturor componentelor unui
computer sau a unui sistem electronic într-un singur circuit integrat), cum ar fi
microcontrolere, DSP-uri, blocuri de memorie, timer-e, regulatoare de tensiune etc.
Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici
bancuri de memorie (în general, 128 linii a câte 256 de biti fiecare, rezultând un
total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc si la un
controler de memorie.
Chiar dacá, în comparatie cu DRAM, 1T-SRAM este ineficient în ceea ce
priveste spatiul, lungimea mai micá a cuvintelor permite atingerea unor viteze mult
mai mari, reusindu-se astfel realizarea unui ciclu RAS la fiecare acces. Fiecare
acces se face la câte un banc, permitând astfel bancurilor nefolosite sá fie
reactualizate în acelasi timp. În plus, fiecare linie cititá este copiatá si în memoria
cache. În eventualitatea unor accesári repetate la acelasi banc, existá douá variante:
fie sunt accesate linii diferite, caz în care toate liniile vor fi reactualizate automat,
fie aceeasi linie este accesatá de mai multe ori. În cazul celei de-a doua variante,
urmátoarele citiri se vor face din memoria cache, acordându-se astfel timpul
necesar pentru realizarea reîmprospátárii.
Pâná în prezent (mai 2008), au fost lansate patru generatii de memorii
SRAM cu un tranzistor:
1. 1T-SRAM original, care are o dimensiune de douá ori mai micá decât
6T-SRAM si consumá mai putin de 50% fatá de acesta.
2. 1T-SRAM-M, care este o variantá cu un consum mult mai mic în modul
stand-by, fiind proiectatá pentru uzul în sisteme portabile, de genul
telefoanelor mobile.
ARHITECTURA SISTEMELOR DE CALCUL
106
3. 1T-SRAM-R, care încorporeazá un sistem de corectie a erorilor (ECC).
Celulele de memorie sunt mai mici, ceea ce duce automat la o ratá mai
mare de aparitie a erorilor. Totusi, sistemul ECC rezolvá aceastá problemá.
4. 1T-SRAM-Q, care este o versiune quad-density, folosind un proces
nestandard de fabricare a condensatoarelor, care permite înjumátátirea
dimensiunilor memoriei încá o datá fatá de 1T-SRAM-R.
Memoriile 1T-SRAM functioneazá la viteze comparabile cu 6T-SRAM si
sunt semnificativ mai rapide decât eDRAM, modelul quad-density fiind cu doar
10–15% mai mare. În majoritatea proceselor de fabricare a memoriei eDRAM este
necesará parcurgerea unor pasi suplimentari si costisitori, depásind astfel destul de
mult costul de productie al memoriei 1T-SRAM.
Memoriile 1T-SRAM sunt disponibile si sub formá de circuite integrate.
Nintendo GameCube a fost prima platformá care a folosit 1T-SRAM ca sistem
principal de stocare a datelor. De asemenea, memoria 1T-SRAM a fost folositá în
urmasul lui GameCube, consola Nintendo’s Wii.
QDR II SRAM (Quad Data Rate II Static Random Access Memory)
QDR este o memorie SRAM echipatá cu un pin pentru intrarea datelor si un
pin separat pentru iesirea datelor, spre deosebire de SRAM standard, în care cei doi
pini sunt comuni. QDR permite introducerea si extragerea datelor pe ambele
fronturi (DDR – Double Data Rate), ducând astfel la obtinerea unor viteze foarte
mari pentru operatiile de scriere si de citire, care se pot desfásura simultan. În felul
acesta, se poate realiza un transfer de pâná la patru cuvinte la fiecare ciclu de ceas,
cu o latentá foarte micá. Acest tip de memorie este ideal pentru sistemele de
comunicatii si retelisticá, cum ar fi router-e sau switch-uri. Pentru a veni în
întâmpinarea tendintelor din acest domeniu, QDRII SRAM utilizeazá porturi I/O la
o vitezá foarte ridicatá prin tehnologia HSTL (High Speed Transceiver Logic),
suportatá de toate sistemele de networking de nouá generatie (vezi figura 3.33).
Din punct de vedere al consumului de energie, memoriile QDR se situeazá
foarte bine, necesitând doar 1,8 V pentru nucleul memoriei si 1,4 V pentru pinii de
intrare/iesire. Acest aspect este extrem de important în domeniul pentru care sunt
concepute sá functioneze aceste memorii.
Fig. 3.33. Arhitectura QDR II SRAM.
Structura unui calculator
107
Memoriile QDR II sunt prevázute cu douá generatoare de semnale de ceas,
unul pentru intrare, celálalt pentru iesire. Astfel, intrarea si iesirea pot fi foarte usor
defazate. Memoriile QDR II vin sub forma unor FPGA-uri de 13 × 15 × 1 mm.
O memorie QDR II hotáráste dacá va efectua o operatie de scriere sau de
citire, în functie de starea în care se aflá pinii de citire (R#) si de scriere (W#) la
momentul în care ceasul se aflá pe front crescátor. Pentru a da o comandá de citire,
R# trebuie sá fie la nivelul 0 (vezi figura 3.34), iar pentru a da o comandá de
scriere, R# trebuie sá fie la nivelul 1 si W# la nivelul 0 (vezi figura 3.35).
Fig. 3.34. Operatia de citire la QDR II.
Fig. 3.35. Operatia de scriere la QDR II.
SGRAM (Synchronous Graphics RAM)
Functionarea memoriei SGRAM este asemánátoare celei de la memoria
SDRAM. Functia principalá a memoriei SGRAM este aceea de a stoca si citi date
simultan în zona de memorie. Deoarece este o memorie de tip DRAM, trebuie sá
dispuná de o reîmprospátare periodicá, pentru a citi si a scrie date eficient si rapid.
Astfel, au fost introduse functii speciale, care specificá adresele grafice necesare
aplicatiilor. Aceste functii sunt selectate prin folosirea unor registre speciale, dar si
prin folosirea unor pini speciali.
ARHITECTURA SISTEMELOR DE CALCUL
108
Fig. 3.36. Formatul ciclic al diagramei de timp pentru memoria SGRAM.
La fel ca în cazul memoriei SDRAM, toate semnalele de intrare sunt
înregistrate pe frontul crescátor al semnalului de ceas (vezi figura 3.36). Formatul
SGRAM conceput de IBM poate citi sau scrie un numár de locatii dintr-un burst de
1, 2, 4, 8 octeti sau chiar o paginá de memorie. Odatá ce un rând este activ, mai
este necesará doar adresa coloanei.
Existá un contor în structura sa interná, care numárá fiecare locatie de
memorie, dupá ce au fost introduse datele. Dacá parametrii de citire si scriere sunt
înregistrati, memoria continuá sá introducá date pâná când toate spatiile sunt
completate sau pâná când apar secvente de întrerupere. Pentru a face trecerea pe un
nou rând, acesta trebuie sá fie pregátit si astfel va deveni activ.
VRAM (Video RAM)
Problemele de acces la memorie apar cu precádere în sistemele video la care
memoria este folositá ca un buffer de cadru pentru imaginea de pe ecran, aceasta
fiind înmagazinatá sub formá digitalá si alocatá pentru fiecare element al imaginii.
Întregul continut al buffer-ului este citit de la 44 la 75 de ori pe secundá. Între timp,
calculatorul poate încerca sá scrie o nouá informatie în buffer, pentru ca aceasta sá
apará pe ecran.
Cu memorii DRAM obisnuite, aceste operatii de citire si scriere nu pot
apárea simultan, una trebuie sá o astepte pe cealaltá, timpul de asteptare afectând în
mod negativ performantele video, viteza sistemului si rábdarea utilizatorului.
Asteptarea poate fi evitatá prin introducerea unui cip special de memorie,
care sá aibá douá cái (dual ported) pentru accesul fiecárei locatii. O astfel de
memorie permite scrierea si citirea simultaná. Cipurile de memorie video VRAM
permit citirea si scrierea aleatorie la un port, în timp ce la celálalt port se permite
doar citirea secventialá, care corespunde nevoilor de scanare a unei imagini video.
Dezavantajul principal al tehnologiei VRAM este cá aceasta este mai
scumpá. Folosind însá memorii VRAM, se poate mári viteza sistemului video cu
aproximativ 40%.
Structura unui calculator
109
Pentru a trimite siruri de date cátre monitor cu o vitezá ridicatá, memoria
VRAM include o serie de registre numite SAM (Serial Access Memory), legate la
un port serial. Acest port este conectat la un controler D/A de vitezá foarte mare.
Memoria VRAM are o interfatá DRAM complet separatá de portul serial. În
timp ce unele date sunt citite cu ajutorul portului serial, altele sunt citite sau stocate
din aria DRAM printr-un port DRAM. Formatul VRAM prezintá câteva
caracteristici realizate special pentru a creste flexibilitatea în aplicatiile grafice.
WRAM (Windows RAM)
Un model VRAM cu douá porturi este WRAM (elaborat de Samsung), util
în sistemele video proiectate sá asiste o interfatá graficá gen Windows.
Cipul de bazá WRAM pástreazá 1 MB aranjat în plane de 32 de biti, fiecare
fiind compus din 512 × 512 celule. Trei cipuri asigurá memoria necesará pentru a
afisa o rezolutie de 1024 × 768, 1024 × 1024 si pentru operare în True Color pe 24
biti. Intern, o magistralá de date de 256 de biti leagá fiecare plan de biti cu
controlerul logic intern al cipului care multiplexeazá datele pe 32 de biti,
compatibile cu circuitele din calculator. Pentru a furniza date în scopul scanárii
video, cipul contine douá registre serie. Cipul încarcá unul din registre, iar din
celálalt extrage datele, comutând între ele în momentul în care registrul al doilea se
goleste. Cipul contine patru registre de 32 de biti, douá pentru înmagazinare si
pentru culorile de fundal, iar celelalte douá pentru control si másti.
Cu o ratá de transfer de pâná la 640 MB/s, modelul WRAM poate mári
viteza sistemului cu 50 % în comparatie cu VRAM.
Observaie. Formatul Windows RAM nu are legáturá cu Microsoft Windows.
3.2.10. Verificarea prin controlul paritii
Revenind la caracteristicile generale ale memoriei, pe majoritatea plácutelor
de memorie se aflá instalate 9 cipuri (pentru memoriile paritare), primele opt având
rol de memorie efectivá de lucru (8 biti – de la 0 la 7), iar cel de-al 9-lea fiind
numit cip de paritate (parity cip), cu rol de testare a stárii de functionare a
celorlalte 8 cipuri, prin verificarea paritátii memoriei.
Paritatea memoriei este de douá tipuri: par si impar.
Exemplu. Fie cazul unei memorii impare. Un rând de biti contine un numár
impar de 1 (numár retinut în câmpul 9). Datele sunt cuprinse pe 8 biti (1 bit/cip).
Când o datá este impará, bitul de paritate este 1.
La pornirea sistemului, când se ajunge la etapa de verificare a memoriei, se
verificá si paritatea rândurilor de biti (parity check). Memoria fiind, conform
exemplului, impará, trebuie sá existe un numár impar de biti, în caz contrar
sistemul semnalând o eroare de paritate (parity error) si deci un cip (sau mai
multe) este (sunt) defect(e). În cazul memoriei pare, procesul este identic cu cel
anterior, doar cá un rând de biti contine un numár par de 1.
ARHITECTURA SISTEMELOR DE CALCUL
110
Memoriile SIMM se prezintá constructiv cu 8 sau 9 cipuri pe plácutá, dupá
cum sunt cipuri paritare sau nu. Nu toate plácile SIMM folosesc verificarea
paritátii, dar toate plácile DIMM sunt prevázute cu aceasta facilitate.
Exemplu. SIMM-urile paritare pe 8 biti folosesc un bit de paritate (module
pe 9 biti), iar cele pe 32 de biti folosesc 4 biti de paritate (module pe 36 biti, 8 × 4
= 32 biti + 4 × 1 = 4 biti de paritate).
Existá si module de memorie care folosesc cipuri compuse, pe o plácutá
fiind prezente doar 2 sau 4 circuite integrate. În acest caz, în aceeasi capsulá sunt
prezente patru sau douá cipuri de memorie. În cazul în care se folosesc module de
memorie neparitare, va trebui dezactivatá din CMOS optiunea de verificare a
paritátii memoriei, în caz contrar apárând erori. În nici un caz nu se pot folosi
combinatii de module paritare cu module neparitare.
În timpul functionárii sistemului, la detectarea unei erori de paritate este
emisá o cerere de întrerupere (de cátre cipul specializat), care va avea ca rezultat
final oprirea procesului aflat în executie si reluarea unei rutine BIOS care va afisa
un mesaj specific. Unele variante de microprocesoare au integrat un modul special
de evaluare si verificare a paritátii memoriei.
Anumiti producátori ai cipurilor de RAM au abandonat verificarea paritátii,
deoarece crestea pretul memoriei cu 10–15 %, la aceasta adáugându-se si
posibilitatea unei compactári a cipurilor utilá la calculatoare de tip notebook.
Existá însá si calculatoare care au implementatá o paritate fals (fake
parity), care emite un semnal ce atestá paritatea fárá sá realizeze o verificare
efectivá. Datoritá faptului cá cipurile care genereazá paritate falsá sunt mai ieftine,
acestea sunt utile la calculatoarele care au implementat mecanismul de detectare a
paritátii. În general, modulele de memorie cu paritate falsá apar identice modulelor
cu paritate.
Singurul mod de a le identifica este folosind un tester pentru module de
memorie. Deoarece modulele cu paritate falsá lucreazá la nivel hard, programele
obisnuite de testare nu pot sá le detecteze (conform cu Kingston Tehnologies,
cipurile cu paritate falsá sunt marcate cu una din urmátoarele inscriptii: BP, GSM,
MPEC sau VT).
Existá însá procedee care pot efectua atât detectia, cât si corectia unor erori.
Un exemplu îl constituie procedeul ECC (Error Correction Code), care necesitá
biti suplimentari pentru fiecare octet memorat. Procedeul poate sá localizeze bitul
care este eronat, iar eroarea poate fi remediatá (se mai numeste tehnologie Error
Detection And Correction – EDAC). Firma IBM foloseste tehnologia ECC pe
calculatoarele proiectate pentru a functiona ca servere.
Acest cod poate corecta automat orice eroare de 1 bit care apare într-un
cuvânt de 64 de biti. În acest scop, memoria foloseste cuvinte de cod de 72 de biti
(64 biti de date + 8 biti de control). Aceastá schemá are aceeasi eficientá cu cea
paritará (8/9 = 64/72), dar oferá corectie cu o robustete mai micá, pentru cá poate
corecta o eroare la 64 de biti, spre deosebire de cealaltá schemá, care poate detecta
o eroare la 8 biti.
Structura unui calculator
111
Procedeul ECC nu este mai costisitor de implementat, datoritá cresterii
dimensiunilor magistralelor; astfel, pentru microprocesoarele Pentium si post-
Pentium, care au magistrala de date de 64 biti, costul unei memorii cu verificare a
paritátii si corectie este acelasi.
La fiecare acces la memorie, hardware-ul verificá dacá cuvântul de cod este
corect; dacá nu, calculeazá automat cel mai apropiat cuvânt de cod, pe care apoi îl
decodificá. Aceste operatii sunt destul de complicate, astfel încât un sistem cu
memorii ECC merge cu aproximativ 5% mai lent decât unul cu memorii paritare.
3.2.11. Metodele de acces la memorie
Un alt aspect care trebuie luat în considerare este timpul de acces al
memoriei RAM folosite. Dupá cum s-a mai spus, acesta sunt de ordinul zecilor de
nanosecunde (cu exceptia memoriilor SDRAM, care pot ajunge pâná la câteva
nanosecunde), timp destul de mare, având în vedere vitezele de tact la care lucreazá
azi diversele procesoare. Pentru a scádea timpul de acces al memoriei RAM, se
folosesc diverse metode de acces la memorie prin paginarea acesteia sau întretesere
(Paging Mode sau Interleaving).
Paginarea asigurá o citire mai rapidá, datoritá faptului cá în cazul unei cereri
de date din partea microprocesorului, acesta transmite cipului de memorie nu adresa
datei cerute, ci adresa unei pagini care contine informatia doritá si, în cadrul paginii,
adresa datei solicitate (vezi capitolul 6). Automat, spatiul de cáutare a informatiei este
micsorat prin paginarea memoriei, iar timpul în care este accesatá o informatie scade.
Întreeserea presupune cá procesorul desfásoará o activitate paralelá de
accesare pentru douá bancuri de memorie (memoria este împártitá, dupá cum s-a
mai spus, în cel putin douá bancuri, bancul 0 si bancul 1, care nu sunt accesate
simultan). Timpul de citire din bancul 0 este folosit de memoria instalatá în bancul
1 pentru operatia de reîmprospátare, apoi timpul în care procesorul citeste din
bancul 1 este folosit de bancul 0 pentru aceeasi operatie de reîmprospátare.
Acest lucru este posibil datoritá faptului cá microprocesorul acceseazá date,
în general, de la adrese apropiate sau învecinate cu adresa cititá anterior. Cum
citirea este un proces secvential, dupá citirea de la adresa k din bancul 0 urmeazá
citirea de la adresa k+1 din bancul 1, citire care se efectueazá foarte rapid (practic,
instantaneu), deoarece operatia de refresh a bancului 1 a fost deja realizatá. Se
asigurá astfel citirii o fluentá aproape perfectá.
Aceastá metodá are un dezavantaj: în cazul citirii din locatii succesive, doar
pare sau doar impare (la citiri succesive din acelasi banc datele sunt scrise – cele
pare în primul banc, cele impare în cel de-al doilea banc), nu mai este timp de
refresh între douá citiri consecutive si se vor introduce una sau douá stri de
teptare ale procesorului (wait states), ceea ce determiná încetinirea generalá a
vitezei sistemului. Plasarea plácilor de memorie în bancuri separate este foarte utilá
si uneori obligatorie, existând modele de placá de bazá care nici nu functioneazá cu
o singurá plácutá de memorie.
ARHITECTURA SISTEMELOR DE CALCUL
112
3.2.12. Memoria cache
Datoritá vitezei foarte mari cu care lucreazá microprocesoarele, implicit si
fluxul de date si informatii cerute de acestea va fi foarte intens. Dar, deoarece unele
componente din lantul de transmisie a datelor sunt mai lente, în spetá memoria de
lucru RAM (prin necesitatea de a fi reîmprospátatá) si magistralele calculatorului
(lente din principiu), acest flux de date cerut de procesor este mai putin rapid decât
ar fi necesar (de exemplu, memoria RAM asigurá un timp de acces de 60–120 ns,
ceea ce este foarte mult fatá de nivelul de câteva nanosecunde, timp cu care
lucreazá de obicei procesoarele pentru un anumit proces).
Ca atare, între posibilitátile de prelucrare a datelor de cátre microprocesor si
capacitatea RAM-ului si magistralelor de a pune la dispozitia microprocesorului
aceste date a apárut un decalaj foarte mare, ceea ce a dus în procesul de lucru al
unui microprocesor la introducerea stárilor de pauzá (wait states), astfel încât, prin
executia a unuia, a douá sau chiar a patru cicluri de asteptare, datele solicitate sá
aibá timp sá ajungá la procesor. Practic, se întâmplá urmátorul lucru: microprocesorul
lucreazá fie cu datele necesare calculelor, fie cu comenzi. Cum datele si informatiile
necesare sunt cuprinse în memoria de lucru, microprocesorul citeste memoria RAM,
preluând anumite date, si realizeazá calculele si procesele cerute.
Cum memoria este mult mai lentá în livrarea datelor fatá de viteza cu care le
poate prelucra microprocesorul, în functionarea procesorului se introduc ciclurile
de asteptare despre care s-a vorbit anterior; cât timp aceste cicluri se executá, se
permite datelor solicitate de procesor sá fie localizate si „extrase“ din RAM,
depuse pe magistrala de date si „transportate“ cátre microprocesor. În final, dacá se
va înmulti timpul cât dureazá un ciclu de asteptare cu milioanele de operatii pe
secundá ale unui microprocesor, va rezulta o pierdere de timp substantialá.
Deci, era nevoie de o memorie de lucru ceva „mai aproape de
microprocesor“ si mult mai rapidá (ideal fárá sá necesite operatii de
reîmprospátare). De aceea, între microprocesor si memoria de lucru a mai fost
introdusá o componentá si anume memoria cache, realizatá din celule de tip
SRAM, cu rol de memorie tampon. La rândul sáu, memoria cache a fost divizatá
fizic în douá niveluri si anume (vezi figura 3.37):
• memoria cache primar sau intern (primary level cache, L1)
• memoria cache secundar sau extern (secundary level cache, L2 / L3).
Memoria cache interná este plasatá chiar în capsula microproceso-rului, dar
este de dimensiuni foarte mici, în general de la 8 KB (Pentium) pâná la 1 MB (Xeon).
Memoria cache secundará este exterioará microprocesorului si se monteazá
pe placa de bazá a sistemului. Este sub formá de cipuri (DIP) care se introduc în
soclurile aferente, existând si aici, ca si la memoria RAM, 8 socluri pentru
memoria cache de lucru si un al 9-lea soclu pentru cipul de control al memoriei
cache. Tipurile mai noi de cache sunt oferite sub formá de plachete asemenea
SIMM-urilor. Plácile de bazá actuale au uzual cel mult 2 MB de memorie cache.
Memoria cache este subordonatá în activitatea ei unui controler de memorie
cache (de exemplu, controlerul i82385) care va realiza gestiunea adreselor si
controlul operatiilor de citire/scriere.
Structura unui calculator
113
Fig. 3.37. Schema unei memorii cache într-un sistem Pentium:
1. microprocesor;
2. cache intern (un bloc de 8 KB);
3. cache intern (al doilea bloc de 8 KB);
4. cache extern;
5. cip de marcare a zonelor de memorie cache (TAG RAM);
6. memorie RAM.
Memoria cache intern
Primul nivel de memorie cache (L1) se aflá integrat în microprocesor si are o
portiune destinatá datelor si instructiunilor (codului) si o alta destinatá comenzilor.
Cele douá module de câte sunt complet separate si lucreazá independent.
Dimensiunea memoriei cache interne creste la procesoarele moderne.
Acest tip de memorie îmbunátáteste mult performantele, deoarece – fiind în
interiorul procesorului – transmisia de date este foarte rapidá, nefolosindu-se în
acest caz magistralele externe, foarte lente. În plus, fiind o memorie de tip SRAM,
nu necesitá reîmprospátare si dispune de un timp de acces extrem de scurt. Mai
mult, la unele microprocesoare, cache-ul de date este împártit în blocuri, iar
controlerul de cache va gási foarte rapid datele necesare, folosind o tabelá index,
alegând exact blocul de memorie care le contine.
Memoria cache extern
Datoritá dimensiunilor mici ale memoriei cache interne (limitele fiind
impuse din considerente tehnice de constructie a microprocesoarelor) si pentru a
mári si mai mult performantele sistemelor de calcul, mai ales pentru a creste
sansele ca procesorul sá gáseascá datele necesare în cache (cache hit) si nu în RAM
sau, mai ráu, pe hard disk (cache miss), a fost introdus încá un nivel de memorie
cache (L2 sau L3), de data aceasta în exteriorul microprocesorului, memorie care
este ca dimensiuni cu mult mai mare decât memoria cache interná (de ordinul
megaoctetilor).
Memoria cache externá este implementatá pe placa de bazá a sistemului.
Este formatá din cipuri de memorie de tip SRAM, foarte rapide, cu timpi de acces
extrem de mici (4–15 ns).
Exemplu. Pentru un procesor cu frecventa interná de 166 MHz, va fi nevoie
de o memorie cache cache cu timp de acces de 100/166 = 6,02 ns.
Principiul de functionare al unei memorii cache este sintetizat în figura 3.38.
ARHITECTURA SISTEMELOR DE CALCUL
114
Fig. 3.38. Principiul memoriei cache.
3.2.12.1. Maparea memoriei cache
Figura 3.39 prezintá schema logicá a algoritmului de citire a memoriei cache.
Fig. 3.39. Operatia de citire a memoriei cache.
Structura unui calculator
115
O caracteristicá de bazá a memoriei cache este funcia de mapare (de
translatare), care atribuie locatii din memoria cache blocurilor din memoria
principalá. Se pot utiliza patru tehnici:
• maparea directá;
• maparea asociativá;
• maparea asociativá pe seturi;
• maparea pseudo-asociativá.
Cu ajutorul politicilor de înlocuire se aflá care locatie din memorie poate fi
depozitatá în cache si în care locatie anume. Dacá politicile de înlocuire au libertatea
de a alege orice locatie din cache pentru a pástra copia, cache-ul se numeste
(complet) asociativ. La extrema cealaltá, dacá fiecare portiune din memoria
principalá poate merge într-o singurá locatie din cache, procedeul se numeste mapare
directá. Cele mai multe memorii cache implementeazá un compromis între cele
douá, numit mapare asociativá pe seturi.
Exemplu. Se considerá o memorie cache de 1024 B (1 KB). Datele se transferá
între memoria principalá si cache în blocuri de câte 8 octeti. Înseamná cá memoria
cache are 128 de linii a câte 8 octeti fiecare. Memoria principalá constá din 64 KB,
fiecare octet fiind direct adresabil printr-o adresá de 16 biti. Se poate considera cá
memoria principalá constá din 8 Kblocuri de câte 8 octeti fiecare. Deoarece existá un
numár mai mic de linii ale memoriei cache fatá de numárul blocurilor memoriei
principale, este necesar un algoritm pentru plasarea blocurilor memoriei principale
în liniile memoriei cache. În plus, este necesar un mijloc de a determina care bloc
al memoriei principale ocupá la un moment dat o linie a memoriei cache.
Memoria cache cu mapare direct
În cazul tehnicii celei mai simple, numitá mapare directá, fiecare bloc al
memoriei principale poate ocupa o singurá linie posibilá a memoriei cache, asa
cum este reprezentat în figura 3.40.
Maparea este:
C = A mod L, (3.5)
unde:
C = numárul liniei din memoria cache;
A = adresa din memoria principalá;
L = numárul de linii din memoria cache.
Pentru exemplul considerat, L = 128 si C = A mod128. Functia de mapare
poate fi implementatá simplu, utilizând adresa de 16 biti. Cei 3 biti mai putin
semnificativi, câmpul cuvânt (offset), identificá un cuvânt (octet) unic în cadrul
unui bloc al memoriei principale. Restul de 13 biti specificá unul din cele 2
13
= 8
Kblocuri ale memoriei principale.
Câmpul de 7 biti, numit linie sau index (slot), indicá numárul blocului,
modulo128. Astfel, blocurile 0, 128, 256, …, 8064 vor fi amplasate în linia 0;
blocurile 1, 129, …, 8065 vor fi amplasate în linia 1, si asa mai departe, pâná la
blocurile 127, 255, …, 8191, care vor fi amplasate în linia 127.
ARHITECTURA SISTEMELOR DE CALCUL
116
Fig. 3.40. Memorie cache cu mapare directá.
Câmpul de 6 biti, numit marcaj sau etichet (tag), are rolul de a identifica
în mod unic blocul din linie. Astfel, blocurile 0, 128, 256, …, 8064 au numerele de
marcaj 0, 1, 2, …, respectiv 63.
Considerând din nou figura 3.40, o operatie de citire are loc astfel. Memoriei
cache i se prezintá o adresá de 16 biti. Numárul liniei de 7 biti este utilizat ca un
index în memoria cache pentru accesul la o anumitá linie. Dacá marcajul de 6 biti
este egal cu marcajul liniei respective, atunci numárul de 3 biti al cuvântului este
utilizat pentru a selecta unul din cei 8 octeti ai liniei respective. În caz contrar,
marcajul si numárul liniei (în total 13 biti) se utilizeazá pentru a încárca un bloc din
memoria principalá.
Memoria cache cu mapare asociativ
Maparea directá este o tehnicá care se poate implementa simplu. Principalul
dezavantaj al acesteia este cá existá o locatie fixá în memoria cache pentru oricare
bloc dat. Deci, dacá un program face referire în mod repetat la cuvinte din douá
blocuri diferite care se mapeazá în aceeasi linie, blocurile vor fi interschimbate în
mod continuu în memoria cache si rata de succes va fi redusá.
O metodá care eliminá dezavantajul mapárii directe este maparea asociativá,
reprezentatá în figura 3.41. În acest caz, adresa memoriei principale constá dintr-un
marcaj de 13 biti si un numár al cuvântului de 3 biti. Un bloc din memoria principalá
se poate încárca în oricare linie, iar marcajul sáu de 13 biti se memoreazá împreuná
cu blocul. Pentru a determina dacá un bloc se aflá în memoria cache, sunt necesare
circuite pentru a compara simultan marcajul sáu cu marcajele fiecárei linii.
Structura unui calculator
117
Fig. 3.41. Memorie cache cu mapare asociativá.
În cazul mapárii asociative, existá o flexibilitate în privinta înlocuirii unui
bloc atunci când un nou bloc este încárcat în memoria cache. Algoritmii de
înlocuire a blocurilor din memoria cache, prezentati în continuare, au rolul de a
creste eficienta. Principalul dezavantaj al acestei metode îl reprezintá circuitele
complexe necesare pentru a examina marcajele tuturor liniilor din memoria cache.
Memoria cache cu mapare asociativ pe seturi
Maparea asociativá pe seturi reprezintá un compromis care retine avantajele
mapárii directe si ale celei asociative. În acest caz, memoria cache este împártitá în
I seturi, iar fiecare din acestea contine J linii, asa cum rezultá din figura 3.42.
Rezultá:
L = I × J, (3.6)
K = A mod I, (3.7)
unde K este numárul setului.
Cu aceastá metodá, blocul continând adresa A poate fi mapat în oricare din
liniile setului I.
Observaie. În cazul extrem, în care I = L si J = 1, maparea asociativá pe seturi
se reduce la maparea directá, iar dacá I = 1 si J = L, se obtine maparea asociativá.
Utilizarea a douá linii pe set (J = 2) este cea mai utilizatá organizare asociativá
pe seturi, care îmbunátáteste semnificativ rata de succes fatá de maparea directá.
Exemplu. Cache-ul de nivel 1 din AMD Athlon este asociativ pe douá seturi,
adicá orice locatie din memoria principalá poate fi depozitatá în 2 locatii din L1.
ARHITECTURA SISTEMELOR DE CALCUL
118
Fig. 3.42. Memorie cache cu mapare asociativá pe seturi.
Memoria cache cu mapare pseudo-asociativ
Memoria cache asociativá pe seturi testeazá simultan toate cáile posibile,
folosind un mecanism asemánátor continutului adresabil al memoriei. Memoria
cache pseudo-asociativá testeazá fiecare cale posibilá o singurá datá. În cele mai
multe cazuri, când gáseste un bloc din prima testare (succes), memoria cache pseudo-
asociativá este la fel de rapidá ca în cazul mapárii directe, dar are o ratá de esec mai
scázutá decât în cazul mapárii directe si mai aproape de cea a mapárii asociative.
Analize i comparaii
Asociativitatea poate fi privitá ca un fel de schimb. Dacá sunt zece unitáti,
politica de înlocuire le trateazá ca o singurá intrare, dar va trebui sá caute în toate
pentru un cache hit. A verifica mai multe locatii consumá mai multá putere, spatiu
si timp. Pe de altá parte, depozitarea folosind asociativitatea are câteva minusuri,
de aceea viteza procesorului scade. Regula ,,degetului mare” are rolul de a dubla
asociativitatea de la maparea directá la cea asociativá pe douá cái si de la cea
asociativá pe douá cái la cea pe patru cái etc., având acelasi efect ca în cazul unui
cache hit. Márirea asociativitátii la peste patru cái are un efect mai slab decât în
cazul unui cache hit si este realizatá, în general, pentru alte motive.
Dacá fiecare locatie din memoria principalá poate fi depozitatá în alte douá
locatii din memoria cache, se pune întrebarea care din cele douá va fi folositá. Cea
mai simplá si cea mai folositá schemá utilizeazá LSB-ul câmpului linie (index) al
locatiei de memorie ca index pentru memoria cache si are douá intrári pentru
fiecare linie. Avantajul acestei scheme este cá etichetele stocate în cache nu trebuie
Structura unui calculator
119
sá includá acea parte a adreselor din memoria principalá care sunt implicate în
câmpul linie (index) al memoriei cache.
Atât timp cât etichetele cache reprezintá doar câtiva biti, ocupá spatiu putin,
putând fi citite si comparate rapid. Unul dintre avantajele mapárii directe este acela
cá lasá loc speculatiilor rapide si simple. Atunci când o adresá a fost calculatá, i s-a
atasat index cache unic, care ar putea contine datele. Noua intrare în cache poate fi
cititá, iar procesorul îsi continuá lucrul cu acele date pe care le avea înainte de a
termina procesul de verificare, dacá adresa cerutá se potriveste cu eticheta actualá.
Ideea ca procesorul sá foloseascá date depozitate în cache înainte ca eticheta
sá se potriveascá complet poate fi aplicatá si la cache-ul asociativ. O parte din
etichetá, numitá cheie (hint), poate fi folositá pentru a alege una din adresele
cerute, aflate posibil în harta cache. Aceste date pot fi folosite în paralel cu
verificarea întregii etichete. Tehnica hint lucreazá excelent când este folositá în
contextul translatárii adreselor.
Alte tehnici propun un cache „oblic” (skewed cache), unde indexul cáii 0
este direct, dar indexul cáii 1 este format cu o functie hash. O functie hash de
calitate are proprietatea cá adresele care intrá în conflict cu maparea directá tind sá
nu mai aibá conflicte când sunt mapate cu functia hash si este mai neplácut ca un
program sá sufere din cauza unui numár neasteptat de mare de conflicte. Pe de altá
parte, existá latentá în implementarea functiei hash. În plus, când trebuie încárcatá
o nouá linie si exclusá una veche, ar putea deveni dificil sá se determine care dintre
liniile existente a fost ultima folositá, deoarece noua linie intrá în conflict cu datele
de la diferiti indecsi ai fiecárei cái. Metoda LRU (vezi paragraful 3.2.12.3)
urmáreste principiul vecinátátii (cache nears) într-un cache non-oblic (non-skewed),
împártindu-l pe seturi. Asadar, asociativitatea completá are un avantaj major fatá
de asociativitatea pe seturi.
3.2.12.2. Eficiena i localizarea datelor în memoria cache
O memorie cache este utilá numai dacá anumite informatii sunt folosite
frecvent si mult timp. Atunci, acele informatii meritá sá fie pástrate în memoria
cache. Din fericire, s-a constatat experimental cá acest lucru este adesea adevárat.
Aceastá observatie poate fi formulatá în mai multe moduri, unul dintre acestea
fiind principiul localizrii (locality principle). Existá douá feluri de localizare:
• localizare spaial – dacá este nevoie de unele date, în curând va fi
nevoie probabil de date aflate în apropierea lor în memorie;
• localizare temporal – când s-au gásit anumite date, foarte adesea
acestea vor fi folosite de mai multe ori.
Acestea sunt doar observatii, dar se potrivesc destul de bine programelor, asa
cum functioneazá acestea în calculatoarele actuale. Validitatea observatiilor
permite folosirea de memorii cache. Acesta nu înseamná cá nu existá programe
care folosesc prost memoriile cache; dimpotrivá, se poate scrie destul de usor un
astfel de program (este o metodá „eficientá” de a încetini calculatorul). Programele
obisnuite însá nu se comportá astfel.
ARHITECTURA SISTEMELOR DE CALCUL
120
Eficiena unei memorii cache se másoará în procentajul de gásiri ale datelor,
numit ratá de succes, H (hit rate). Opusul acestei valori este procentajul de ratári,
numit ratá de esec, M (miss rate). Procentajele acestea se másoará rulând
numeroase programe si fácând media.
Relatia în aceste douá valori este:
H = 1 – M. (3.8)
Dacá timpul de citire din memoria cache este T
H
(hit time), iar timpul pierdut
pâná se rateazá este T
M
(miss time), atunci se poate másura timpul mediu de acces
la memoria cache cu urmátoarea formulá:
T = T
H
× H + T
M
× M. (3.9)
Se observá cá timpul unei ratári (T
M
) nu este neapárat egal cu timpul de citire
din memoria lentá, T
l
, deoarece, în cazul unei ratári, întâi trebuie constatat dacá
datele sunt în memoria cache, iar, dacá nu sunt, se acceseazá memoria lentá.
Memoria cache va fi eficientá dacá T < T
l
. Parametrul H depinde de márimea
memoriei cache: pentru o memorie cache de dimensiunea memoriei lente (caz
limitá), toate datele pot fi tinute în memoria rapidá si se va obtine H = 1. Pentru o
memorie cache de dimensiune 0, H = 0, pentru cá niciodatá datele nu se gásesc în
aceastá memorie.
Relatia între márimea memoriei cache, a memoriei lente si parametrul H nu
este o linie dreaptá, ci creste rapid la început, asa cum se observá în figura 3.43.
Din cauza aceasta, o memorie cache relativ redusá ca márime are o importantá
mare ca eficientá.
Fig. 3.43. Performanta memoriei cache.
Eficienta depinde si de raportul dintre T
H
si T
M
. În anumite cazuri, T
M
este de
ordinul a 10
4
×T
H
, deci chiar un parametru H de valoare redusá poate însemna mult.
Exemplu. Procesorul Intel Xeon la frecventa de 3,06 GHz are o memorie cache
L3 de 1 MB, cu magistrala de sistem la 533 MHz, si contribuie la cresterea nivelului de
performantá cu peste 15%.
Structura unui calculator
121
3.2.12.3. Reînnoirea coninutului memoriilor cache
În ceea ce priveste reînnoirea continutului memoriilor cache, pentru
stergerea datelor curente si aducerea altora noi, sunt folosite mai multe metode:
• metoda RW (Random Write) sau de rescriere aleatorie: datele continute
sunt rescrise aleator, fárá a folosi un anumit criteriu sau algoritm care sá
determine care bloc de date va fi rescris;
• metoda FIFO (First In First Out): primul intrat – primul iesit, adicá,
primele blocuri de date scrise în memorie sunt rescrise primele;
• metoda LRU (Least Recently Used): datele folosite cel mai putin recent;
blocurile de date care, temporal, nu au fost folosite timp de cel mai lung
interval sunt rescrise primele, cele accesate de curând fiind pástrate;
• metoda LFU (Least Frequently Used): datele folosite cel mai putin
frecvent; blocurile de date care, statistic, au fost folosite cel mai rar sunt
rescrise primele, cele folosite mai des fiind pástrate.
Alte metode sunt: politica circulará (round robin), politica setului de lucru
(working set), politica optimá (optimal), politica ceasului (clock), politica celei de-a
doua sanse (second chance) etc. Metoda cea mai folositá este LRU; de aceea, cel
de-al 9-lea cip de memorie cache (TAG RAM) va juca si rol de contor al frecventei
de apelare a datelor din cache, determinându-se datele care vor fi rescrise.
Modul de lucru general al microprocesoarelor cu memoria cache este
urmátorul: programul va cáuta datele, prin intermediul controlerului de cache, în
cache-ul intern. Dacá datele solicitate nu se aflá la acest nivel (cache miss), va
merge mai departe cu cáutarea în cache-ul extern si apoi, în cazul negásirii acestora
nici aici, în memoria principalá RAM. Probabilitatea ca procesorul sá gáseascá
datele necesare într-unul din cele douá niveluri cache este însá destul de mare.
Totodatá, magistrala memoriei care, în lipsa cache-ului, ar fi fost solicitatá pentru
operatii cu RAM-ul, este disponibilizatá pentru alte procese.
3.2.12.4. Conectarea memoriei cache la microprocesor
Memoria cache este conectatá cu microprocesorul si memoria RAM în
sistem serial sau paralel.
Conectarea serial (look through) – vezi figura 3.44 – presupune ca
dialogul microprocesor–RAM sá se desfásoare prin intermediul cache-ului. Acest
sistem are dezavantajul cá cererile procesorului sunt întârziate de intermediarul
cache, dar are avantajul cá magistrala memoriei nu este ocupatá la fiecare cerere a
procesorului. Dacá datele solicitate se aflá în cache (cache hit), interogarea
memoriei RAM nu se mai efectueazá, iar magistrala memoriei rámâne liberá.
Conectarea paralel (look aside) – vezi figura 3.45 – presupune ca
microprocesorul sá se adreseze, în paralel, atât memoriei cache cât si memoriei
RAM. În cazul în care ecoul din partea cache-ului este pozitiv, adresarea cátre
RAM este abandonatá. De aici rezultá, fatá de metoda anterioará, avantajul vitezei,
evitându-se cáutarea secventialá: întâi în cache, apoi în RAM. Dezavantajul apare
prin faptul cá magistrala memoriei este tot timpul folositá si, astfel, nu mai este
disponibilá – în momentele de scanare a memoriei – altor accesári din partea
perifericelor. Mai ales în modul multitasking, acest lucru se reflectá în întârzieri
semnificative ale vitezei de executie a diferitelor sarcini.
ARHITECTURA SISTEMELOR DE CALCUL
122
Fig. 3.44. Organigrama conectárii seriale (look through).
Fig. 3.45. Organigrama conectárii paralele (look aside).
3.2.12.5. Depunerea în memorie a rezultatelor
Indiferent de tipul functiei de mapare, fiecárui bloc din memoria cache îi
sunt asociatii doi biti de comandá, numiti V si D.
Bitul V este un bit de validare a blocului, V = 1 fiind o conditie necesará a
obtinerii unui cache hit. Bitul V este util îndeosebi în sistemele multiprocesor, în
vederea mentinerii coerentei memoriilor cache locale, datoritá redundantei
informationale. Mai precis, aici apare necesitatea citirii din cache-ul propriu a
ultimei cópii modificate a datei respective. Când un procesor modificá o copie
localá a unei date, toate blocurile care contin acea datá din cadrul celorlalte
procesoare trebuie invalidate prin resetarea V = 0.
Necesitatea invalidárii blocurilor (V = 0) apare chiar si în sistemele
uniprocesor. Imediat dupá resetarea sistemului, uzual, procesorul executá un
program încárcátor rezident în memoria EPROM. Cum imediat dupá initializarea
sistemului continutul cache-ului este, practic, aleator, pentru a evita falsele situatii
de cache hit, la citirea programului încárcátor din EPROM, se initializeazá bitii V
cu zero. La prima încárcare a unei date (instructiuni) în cache, bitul V aferent se va
seta pe 1, validând astfel situatia de cache hit.
Structura unui calculator
123
Bitul D (dirty data) este pus pe 0 la încárcarea initialá a blocului în cache. La
prima scriere a acelui bloc, bitul se pune pe 1. Evacuarea propriu-zisá a blocului se
face doar dacá bitul D = 1. Practic, prin acest bit se minimizeazá evacuárile de
blocuri în memoria principalá, pe baza principiului cá un bloc trebuie evacuat
numai dacá a fost scris în cache. În acest sens, din punct de vedere al accesárilor de
scriere de cátre procesor (depunerea în memorie a rezultatelor), existá trei posibilitáti:
• metoda Write Through vezi figura 3.46, în care se utilizeazá traseul
invers al citirii datelor, blocurile fiind depuse mai întâi în memoria cache
interná, apoi în cache-ul extern si în final în memoria RAM;
Fig. 3.46. Schema metodei Write Through.
• metoda Write Back figura 3.47, în care scrierea se face în cache, în
cazul în care adresa de memorie la care se face scrierea existá si ea în
cache (de fapt, dacá blocul de date de la acea adresá se aflá încárcat în
cache). În cazul în care blocul de date localizat de acea adresá nu mai
existá în cache, scrierea se face direct în RAM;
Fig. 3.47. Schema metodei Write Back.
• metoda Posted Write, prin care din memoria cache este rezervatá o
anumitá portiune care va juca un rol de buffer si în care vor fi memorate
blocuri de date pâná când magistrala memoriei devine disponibilá,
moment în care buffer-ul îsi transferá continutul în RAM.
În vederea mentinerii coerentei memoriilor cache, cu precádere în sistemele
multiprocesor, existá douá posibilitáti, în functie de procesul de scriere:
• Write Invalidate, prin care CPU care scrie determiná ca toate copiile din
celelalte memorii cache sá fie invalidate înainte ca ea sá-si modifice
blocul din cache-ul propriu;
• Write broadcast, prin care CPU care scrie pune data de scris pe magistrala
comuná, spre a fi actualizate toate copiile din celelalte cache-uri.
Ambele strategii de mentinere a coerentei pot fi asociate cu oricare dintre
metodele de scriere, dar de cele mai multe ori se preferá Write Back cu invalidare.
ARHITECTURA SISTEMELOR DE CALCUL
124
3.2.12.6. Cache hiti cache miss
Într-o memorie cache, apar posibile patru procese distincte, ca în tabelul 3.4.
Tabelul 3.4
Tipuri de acces în memoria cache
tip acces situaie în cache aciune în cache
citire miss
evacuarea blocului si încárcarea unui
bloc nou
citire hit
compararea marcajelor/etichetelor
(tag)
scriere miss
evacuarea blocului, încárcarea unui
bloc nou si scrierea datei în bloc
scriere hit
scrierea datei în blocul din cache
(Write Back)
Asadar, memoriile cache îmbunátátesc performanta, îndeosebi pe citirile cu
cache hit, iar, în cazul utilizárii scrierii tip Write Back, si pe scrierile cu cache hit.
Îmbunátátirea accesului la memorie pe citirile CPU este normalá, având în vedere
cá acestea sunt mult mai frecvente decât scrierile (orice instructiune implicá cel
putin o citire din memorie pentru încárcarea sa; statistic, cca. 75 % din accesárile la
memorie sunt citiri, unii autori sustinând cá raportul real citiri/scrieri este de 9/1).
Cache miss se referá la încercarea nereusitá de a citi sau scrie o parte din
date în memoria cache, ceea ce rezultá în scrierea/citirea în memoria principalá cu
latente mai mari. Explicatiile pentru cauzele situatiilor de cache miss, conform
literaturii de specialitate, sunt de trei tipuri:
• la citirea instructiunilor;
• la citirea datelor;
• la scrierea datelor.
Un cache miss la citirea instructiunilor cauzeazá, în general, întârzieri,
deoarece procesorul sau ultimul fir de executie trebuie sá astepte pâná când
instructiunile sunt aduse din memorie.
Un cache miss la citirea datelor cauzeazá întârzieri mai mici, deoarece
instructiunile nu depind de citirea cache-ului, putând fi evitate, pâná când datele
sunt preluate din memoria principalá si instructiunile care depind de acestea îsi
continuá executia.
Un cache miss la scrierea datelor cauzeazá întârzieri mici, deoarece scrierea
poate fi pusá într-o coadá de asteptare si sunt câteva limitári în executia
instructiunilor. Procesul poate continua pâná când coada este pliná.
Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca
urme de adrese. Ulterior, analizele simulate au arátat posibile diferente între
lungimile urmelor de adrese, în functie de designul memoriei cache. Cercetátorul
Mark Hill a separat situatiile de cache miss în trei categorii:
Structura unui calculator
125
• Ratri obligatorii (compulsory misses) – sunt acele pierderi cauzate de
primele referiri la date. Márimea si asociativitatea memoriei cache nu fac
nicio diferentá între numárul de ratári obligatorii. Aducerea timpurile a
operanzilor din memorie nu este utilá în acest caz.
• Ratri de capacitate (capacity misses) – sunt acele pierderi care privesc
asociativitatea sau márimea blocurilor, fácute numai de blocurile finite
din cache. Curba ratei pentru ratárile de capacitate în functie de
capacitatea memoriei cache dá másura localizárii temporale a unui sir
temporar de referinte. Informatiile care indicá dacá memoria cache este
pliná, goalá sau aproape pliná nu sunt utile în acest caz.
Observaie. Cache-ul procesorului are aproape mereu fiecare linie
umplutá cu o copie a unei linii din memoria principalá si de fiecare datá
alocarea unei noi linii necesitá stergerea uneia vechi.
• Ratrile de conflict (conflict misses) – sunt acele pierderi care ar putea
fi evitate dacá cache-ul n-ar elimina o intrare mai târziu. Ratárile de
conflict pot fi puse într-o hartá de ratári (miss map), care este inevitabilá
si care oferá un detaliu particular asociativitátii si politicii de înlocuire.
Fig. 3.48. Rata de pierderi (miss rate) în functie de capacitatea memoriei cache.
Graficul din figura 3.48 ilustreazá performantele memoriei cache, obtinute
pe un benchmark pentru întregi din SPEC2000. Aceste benchmark-uri reprezintá
gradul de încárcare al unei statii de lucru. Rata de pierderi în cazul asociativitátii
este sensibil superioará celei pentru mapare directá. Diferentele obtinute se explicá
prin utilizarea algoritmului de înlocuire LRU. Se observá, de asemenea, cá pentru
memorii cache de dimansiune foarte mare, decalajele devin nesemnificative.
3.2.12.7. Tipuri de celule cache
În functie de modul de citire a cuvintelor, celulele memoriei cache pot fi:
• asincrone, la care operatia de citire a unui cuvânt se face în douá etape:
se depune adresa, apoi se transferá datele, pentru fiecare cuvânt fiind
necesar acelasi ritual. Aceste cipuri se livreazá sub formá DIP.
ARHITECTURA SISTEMELOR DE CALCUL
126
• sincrone, pentru care accesul se face în mod burst (se depune o singurá
adresá, iar transferul se face pentru patru cuvinte simultan, primul cuvânt
cu adresa indicatá de controlerul de cache si urmátoarele trei). Timpul de
acces scade destul de mult, ajungând pâná la 9 ns. Cipurile sincrone sunt
implementate direct prin lipire pe placa de bazá a sistemului.
• pipe-line burst cache, care este prevázut la iesire cu registre speciale, în
care datele citite sunt stocate temporar. Astfel, este posibilá o nouá
adresare, practic, în acelasi timp cu preluarea datelor de cátre
microprocesor din registrele de stocare (latch). Timpul de acces scade
foarte mult (chiar la 4 ns), fapt care duce la performante deosebite pentru
sistemele dotate cu astfel de celule de memorie cache.
3.2.12.8. Memorii cache specializate
Accesul la memoriile din procesor cu tehnica pipeline, cu stagii multiple ale
pipeline-ului, presupune:
• aducerea instructiunilor din memorie (instruction fetch);
• translatarea adresei virtuale în adresá fizicá (Translation Look-aside Buffer);
• aducerea datelor din memorie (data fetch)
Designul natural tinde sá utilizeze diferite adrese fizice din cache pentru
fiecare dintre aceste stagii, astfel încât nicio resursá fizicá nu trebuie programatá sá
serveascá simultan douá stagii diferite din pipeline.
Astfel de pipeline-uri se terminá cu cel putin trei memorii cache separate
(pentru instructiuni, TLB si date), fiecare fiind specializatá pe un anumit rol. Dacá
pipeline-urile au instructiunile si datele separate în memoria cache, se poate spune
cá este emulatá o arhitecturá de tip Harvard. Initial, aceastá fazá s-a regásit la
masinile cu instructiuni si date separate în memorie. Dar cele mai multe dintre
calculatoarele moderne sunt concepute în arhitecturá von Neumann.
Cache victim (victim cache)
Cache-ul victimá este o memorie cache folositá pentru a retine blocurile
sterse din cache-ul procesorului, datorate unui conflict sau unei ratári. Cache-ul
victimá se aflá între cache-ul principal si zona de reumplere, detinând numai
blocuri care au fost eliminate din cauza unui cache miss. Aceastá tehnicá este
utilizatá pentru a reduce penalizárile suportate de memoria cache la o ratare.
Exemple. Cache-ul victimá original de pe HP PA 7200 a fost mic si complet
asociativ. Mai târziu, procesoare precum AMD K7 si K8 au folosit multá memorie
cache secundará pe post de cache victimá, pentru a evita duplicatele de stocare.
Cache de urmrire (trace cache)
Unul dintre exemplele cele mai extreme de specializare a memoriei cache
este cache-ul de urmárire, gásit în microprocesoarele Intel Pentium 4. Trace cache
este un mecanism destinat cresterii gradului de aducere din memorie a
instructiunilor (instruction fetch) si lárgimii de bandá, precum si reducerii
consumului de putere (în cazul lui P4), prin stocarea urmelor (traces)
instructiunilor care au fost aduse din memorie si decodate.
Structura unui calculator
127
Un trace cache stocheazá instructiuni chiar si dupá ce acestea au fost
depozitate sau retrase. În general, instructiunile sunt adáugate în trace cache în
grupuri care reprezintá blocuri individuale de bazá sau urme dinamice (dynamic
traces). Un bloc de bazá constá dintr-un grup de instructiuni neramificate,
terminate cu ramificatii. O urmá dinamicá include numai instructiuni ale cáror
rezultate sunt utilizate efectiv si eliminá urmátoarele instructiuni luate ca
ramificatii (atât timp cât acestea nu sunt executate), o urmá dinamicá putând fi o
concatenare de mai multe blocuri de bazá. Acesta permite unitátii de fetch a unui
procesor sá aducá din memorie câteva blocuri de bazá fárá sá se preocupe de
ramificatiile aflate în executie.
Liniile de urmárire sunt stocate în cache pe baza unui numárátor de program
aflat în prima instructiune a urmei. Aceasta permite depozitarea pentru diferite cái a
urmelor care încep de la aceeasi adresá, fiecare reprezentând rezultate diferite ale
ramificatiei. În etapa de aducere din memorie (fetch) a unui pipeline, numárátorul
de program curent, împreuná cu un set de predictii ale instructiunilor ramificate
(branch prediction), este pus în memoria cache, mai exact, în trace cache, pentru o
situatie de cache hit. Dacá apare un cache miss, începe constructia unei noi urme.
Cache-ul victimá este folosit în procesorul P4, pentru a stoca micro-operatii
deja decodate sau translatii ale instructiunilor de pe sisteme ×86, astfel încât, atunci
când va fi necesará o instructiune, aceasta nu va mai trebui decodatá din nou.
Cache multinivel (multilevel cache)
O altá problemá este schimbul între latenta memoriei cache si rata de succes
(cache hit). Memoriile cache mari au o ratá de succes mai buná, dar latente mari.
Pentru a rezolva aceastá problemá, în majoritatea calculatoarelor se folosesc mai
multe nivele de cache, cu blocuri de cache mai mici si rapide, grupate într-unul mai
mare si lent.
Un cache multinivel opereazá cáutând prima datá în nivelul cel mai de jos
(L1) si, în cazul unui cache hit, viteza de procesare creste. Dacá apare cache miss
în module cache mici, atunci se cautá în cache-ul cel mare (L2) si, mai departe, în
memoria principalá. Diferenta de latentá între memoria principalá si memoria
cache a devenit mai importantá. Unele memorii cache au început sá utilizeze mai
mult de 3 nivele pe un chip.
Exemplu. În 2003, procesorul Itanium 2 a început sá fie livrat cu 6 MB de
cache L3 pe cip. Sistemele IBM Power 4 aveau 256 MB de cache L3 pe cip,
partajat între mai multe procesoare. Procesorul AMD Phenom foloseste 2 MB de
cache L2 în schimbul celui L3.
Scratch Pad
Folosirea eficientá a spatiului de memorie integrat în cipul procesorului (on-
chip) este extrem de importantá în aplicatiile moderne ale sistemelor dedicate
(embedded systems), bazate pe nucleele procesoarelor. În completarea memoriei
cache de date, care realizeazá interfata cu memoria mai lentá din afara cipului
procesorului (off-chip), în diverse aplicatii se foloseste adesea o memorie SRAM
rapidá, de tip on-chip, numitá memorie scratch pad (vezi schema din figura 2.29)
ARHITECTURA SISTEMELOR DE CALCUL
128
Cache integrat i cache divizat
Memoria cache multinivel introduce un nou design al deciziilor.
Exemple. În unele procesoare, toate datele din cache-ul L1 trebuie sá se
gáseascá undeva în cache-ul L2. Aceste memorii sunt numite cache strict inclusiv.
Alte procesoare (cum ar fi AMD Athlon) au un cache exclusiv: datele sunt
garantate a fi în cel mult unul dintre nivelele L1 sau L2, nu în amândouá. Totodatá,
alte procesoare, precum Intel PII, PIII si P4, nu solicitá ca datele din cache-ul L1 sá
se gáseascá si în L2, desi ar putea face acest lucru.
Nu sunt acceptate nume universale pentru aceastá politicá intermediará, desi
termenul inclusiv a fost deja folosit. Avantajul cache-ului exclusiv este acela cá
depoziteazá mai multe date. Acest avantaj este cu atât mai mare, cu cât cache-ul L1
exclusiv este compatibil cu L2, caz în care se diminueazá memoria L2, aceasta
fiind mai mare decât L1. Când apare o situatie de cache miss în L1 si cache hit în
L2 la un acces, linia din cache-ul L2 pe care se aflá blocul cu hit este schimbatá cu
o linie din L1. Acest schimb implicá ceva mai multá muncá decât copierea liniei
din L2 în L1, ceea ce o face doar cache-ul inclusiv.
Un avantaj al cache-ului strict inclusiv este cá atunci când dispozitivele
externe sau alte procesoare într-un sistem multiprocesor doresc sá steargá o linie
cache, nu au decât sá caute în L2. În memoria cache, ierarhiile care nu au pus în
aplicare mecanismele includerii trebuie sá verifice si cache-ul L1. În schimb, existá
o corelatie între asociativitatea cache-ului L1 si cea a cache-ului L2: dacá cache-ul
L2 nu are cel putin atâtea cái ca L1, asociativitatea cache-ului L1 este
restrictionatá.
Cache-ul strict inclusiv foloseste linii de dimensiuni mari în cache, ceea ce
reduce márimea etichetelor din cache-ul secundar (cache-ul exclusiv necesitá ca
ambele cache-uri sá aibá linii de aceeasi dimensiune, pentru a le putea schimba
când în L1 apare cache miss si în L2, cache hit). Dacá cache-ul secundar este cu un
ordin de márime mai mare si datele sunt tot cu un ordin de márime mai mari decât
etichetele, aceastá zoná poate fi etichetatá ca zoná de salvare si poate fi
incrementatá comparabil pâná la dimensiunile zonei de care au nevoie L1 si L2 sá
depoziteze date.
Dupá cum s-a mai spus, calculatoarele puternice au un alt cache între L2 si
memoria principalá, numit cache de nivel trei (L3). Acest cache poate fi
implementat pe un chip separat de procesor si, începând din 2004, poate varia ca
márime de la 2 la 250 MB. Beneficiile unui chip L3 depind de cererea de acces a
aplicatiilor. Statiile de lucru high-end si serverele au memoria de tip L3
implementatá în procesor, ceea ce duce la márirea vitezei si reducerea costurilor.
Exemplu. Intel Xeon MP, produs numit Tulsa, are un cache L3 încorporat
de 16 MB, partajat între cele douá nuclee ale procesorului.
În cele din urmá, la celálalt capát al ierarhiei (în cazul statiilor de lucru low-
end), registrul de fisiere al procesorului poate fi considerat drept cel mai mic si cel
mai rapid cache din sistem, cu caracteristica de a fi programat software de un
compilator, ca si cum ar aloca registre pentru a pástra valori primite din memoria
principalá.
Structura unui calculator
129
Studiu de caz: memoria cache la procesorul AMD Athlon 64 (K8)
Pentru a exemplifica specializárile cache-ului multinivel, integrat si divizat, se
foloseste ierarhia din nucleul K8 al procesorului AMD Athlon 64 (vezi figura 3.49).
Fig. 3.49. Structura nucleului K8 al procesorului AMD Athlon 64.
Nucleul K8 are patru memorii cache: una pentru instructiuni, una pentru
blocul TLB, una pentru datele TLB-ului si una pentru date. Fiecare dintre aceste
cache-uri este specializat:
1. Cache-ul pentru instructiuni pástreazá cópii ale celor 64 de linii ale
memoriei si aduce din memorie 16 B la fiecare ciclu. Fiecare octet din acest cache
este depozitat în 10 biti în loc de 8, cu un marcaj suplimentar de bit al limitelor
instructiunilor (acesta este un exemplu de precodare). Cache-ul are doar protectie
de paritate, mai degrabá decât ECC, deoarece informatia de paritate ocupá spatiu
mai putin, iar datele avariate pot fi înlocuite de date proaspete aduse din memorie.
2. Instructiunile blocului TLB pástreazá cópii ale intrárilor din tabelul
paginilor (PTE). Fiecare ciclu de instructiuni adus din memorie are propria sa
adresá virtualá, translatatá cu ajutorul TLB-ului într-o adresá fizicá. Fiecare intrare
are 4 sau 8 octeti în memorie, iar fiecare TLB este împártit în douá sectiuni: una
pentru a pástra PTE-urile care ocupá 4 KB din hartá si alta pentru a pástra PTE-
urile care ocupá 2 sau 4 MB din hartá. Împártirea permite o potrivire a circuitului
în fiecare sectiune în mod complet asociativ. Sistemul de operare mapeazá sectiuni
diferite ale spatiului de adrese virtuale cu diferite márimi ale PTE-urilor.
3. Datele TLB-ului au douá cópii, care contin intrári identice. Cele douá cópii
permit accesul la douá date per ciclu, pentru a translata adresele virtuale în adrese
fizice. Ca si instructiunile TLB-ului, si aceasta este împártitá în douá tipuri de intrári.
4. Datele cache-ului pástreazá cópii ale celor 64 de linii ale memoriei. Este
împártitá în 8 bancuri (fiecare depozitând câte 8 KB de date) si poate aduce din
memorie doi octeti de date pe ciclu.
ARHITECTURA SISTEMELOR DE CALCUL
130
Nucleul K8 are, de asemenea, un cache multinivel. Existá instructiuni de
nivel 2 si date ale TLB-ului care depoziteazá numai PTE-uri mapate pe 4 KB.
Ambele cache-uri, de instructiuni si de date, pot fi umplute din cache-ul L2. Acest
cache este exclusiv, atât pentru instructiunile cât si pentru datele din L1, ceea ce
înseamná cá orice linie de 1 octet se poate gási numai într-o singurá instructiune
datá cache-ului L1 sau în cache-ul L2. Cu toate acestea, este posibil ca o linie de
date în cache sá aibá un PTE care este într-unul din TLB-uri – sistemul de operare
este responsabil cu pástrarea TLB-ului coerent.
3.2.12.9. Concluzii
Se poate spune cá introducerea în practicá a conceptului de memorie cache
ca memorie tampon a adus o serie de îmbunátátiri sistemelor de calcul, márind
foarte mult viteza de procesare, desigur în functie si de dimensiunea memoriei
cache instalate în sistem. Totusi, se poate pune si aici o întrebare: pâná unde poate
merge memoria cache ca dimensiune si cât de folositoare este márimea acesteia?
În ultimul timp se construiesc sisteme care pot avea pe placa de bazá pâná la
câtiva megaocteti de cache extern. Dar o supradimensionare a memoriei cache
externe fárá a se tine seama de scopul în care va fi folosit calculatorul nu va duce
decât la încárcarea notei de platá (memoria cache, fiind o memorie staticá, este cu
mult mai scumpá decât RAM-ul), deoarece avantajele obtinute vor fi insesizabile.
Datoritá faptului cá procesorul executá programele pe segmente, bucle de
program de maximum 64 KB, un astfel de segment poate fi cuprins în primii 64 KB
ai memoriei cache. Deci, un spor de vitezá de circa 90–95% (din totalul sporului adus
de o memorie cache montatá) se va obtine folosind doar 64 KB de memorie cache.
Ridicând dimensiunea cache-ului la 256 KB se va obtine o crestere doar de 2–3 %.
Se considerá cá o memorie cache de 256 KB este suficientá pentru un procesor
Pentium, în timp ce pentru Pentium Pro este nevoie de 512 KB cache în conditii de
lucru deosebite, iar pentru procesoarele actuale valorile de ordinul MB au devenit deja
comune. Problema care se pune este atunci când se lucreazá în mod multitasking
sau în retea, si unde cei 64 KB cache de date ai unei sarcini sunt înlocuiti de cei 64
KB ai altei sarcini, la viteze foarte mari. În acest caz, este evident cá procesorul va
avea nevoie de mai multe „depozite“ de 64 KB, pentru fiecare sarciná cel putin
douá, astfel încât sá creascá probabilitatea ca procesorul sá-si gáseascá datele
necesare într-unul din aceste „depozite“ cache, fárá sá fie nevoit sá mai acceseze
RAM-ul. De aceea, în cazul în care calculatorul va juca rol de file server sau va fi
folosit în activitáti multitasking, este necesará mult mai multá memorie cache.
3.2.4. Memoria ROM
Un alt tip de memorie folosit în constructia calculatoarelor si a unor
echipamente periferice este memoria ROM (Read Only Memory). Spre deosebire
de memoria RAM, aceastá memorie, odatá scrisá prin procedee industriale, nu mai
poate fi stearsá prin metode aflate la îndemâna utilizatorului; în plus, la decuplarea
de sub tensiune a calculatorului, informatiile din ROM rámân intacte.
Structura unui calculator
131
Stergerea anumitor memorii ROM, de constructie specialá (PROM,
EPROM, EEPROM) se poate face prin lansarea unui spot de radiatii ultraviolete
asupra ferestrei de cuart cu care este prevázut cipul de memorie. Scrierea
memoriilor ROM presupune un atac distructiv si ireversibil asupra diodelor si
tranzistoarelor, prin „arderea” jonctiunilor interne. Rezultatul acestei actiuni de
ardere se observá prin modificarea continutului informatiei binare.
În prezent, existá pláci de bazá dotate cu astfel de circuite care permit
revitalizarea rutinelor BIOS prin copierea în ROM, cu ajutorul unui soft
specializat, a unor versiuni mai noi si mai performante. Deci, ca o concluzie de
bazá, datele scrise în memoria ROM au un caracter permanent si au o importantá
vitalá în initializarea si functionarea oricárui sistem de calcul.
Memoria ROM are aspectul unui circuit integrat cu douá rânduri de pini (DIP)
si este montat de placa de bazá a calculatorului prin intermediul unui soclu. Intern,
memoriile de acest tip sunt realizate din retele rectangulare de microtranzistoare
sau microdiode. Accesarea memoriei ROM se face la fel ca la RAM.
O celulá de memorie este alcátuitá dintr-un circuit basculant bistabil (CBB).
Pentru a realiza mai multe celule, se aranjeazá CBB-urile sub forma unui tablou cu
un numár de coloane si rânduri. În general numárul rândurilor este egal cu cel al
coloanelor. Fiecare celulá se aflá la intersectia unei anumite linii X si a unei
anumite coloane Y (vezi figura 3.50).
Fig. 3.50. Organizarea memoriei RAM.
Organizarea memoriei sub formá de matrice permite reducerea numárului
intrárilor de adrese la un numár mai mic decât numárul liniilor si al coloanelor
aferente informatiei stocate. Numárul terminalelor de adresare poate fi micsorat
prin adresarea în cod binar si utilizarea decodificatoarele binar-zecimale. Acest
mod de adresare în cod binar este utilizat si în cazul memoriei RAM.
Exemplu. Fie o memorie ROM care contine 8 cuvinte de câte 4 biti (vezi
figura 3.51.a). O combinatie binará care se aplicá pe cele 3 intrári de adresá (A
2
,
A
1
, A
0
) selecteazá unul din cele 8 cuvinte, iar cei 4 biti de date ai cuvântului
selectat sunt disponibili la iesiri (O
0
, O
1
, O
2
, O
3
), cu conditia ca semnalul de
validare a iesirii, OE (Output Enable) sá fie activ (activarea se face pe 0 logic).
ARHITECTURA SISTEMELOR DE CALCUL
132
Dacá OE = 1, iesirile memoriei sunt în starea de impedantá înaltá (high Z). Tabelul
de adevár din figura 3.51.b este un exemplu care aratá o posibilitate de implementare
a 4 functii binare de câte 3 variabile.
Fig. 3.51.a. Memorie ROM cu 8 cuvinte de 4 biti; b. Tabelul de adevár asociat.
Structura interná a unui cip de memorie ROM organizat pe 1024 cuvinte a
câte 8 biti, adicá 1 K × 8, este prezentat în figura 3.52. Matricea de memorie se
construieste sub o formá cât mai apropiatá de cea a unui pátrat. Liniile matricei
sunt selectate cu ajutorul decodificatorului cu 7 intrári de selectie, iar coloanele, cu
ajutorul celor 8 multiplexoare a câte 3 intrári de selectie. Intrarea suplimentará, CS
(Chip Select), activá pe 0 logic, pregáteste cipul de memorie în vederea unei
operatii de citire a datelor. Prin dezactivare, actioneazá asupra circuitelor din
structurá în scopul reducerii consumului. Schema contine si aspectul unui element
din matricea de memorie, dacá aceasta este realizatá în tehnologia MOS.
Fig. 3.52. Structura interná a unui cip de memorie ROM cu 1024 cuvinte de 8 biti.
Pentru realizarea memoriei ROM, sunt utilizate tehnologii bipolare (TTL,
TTL-Schottky, ECL), tehnologii metal-oxid-semiconductor (MOS) cu canal N (N-
MOS), cu canal P (P-MOS), cu simetrie complementará (CMOS), cu canal negativ
(NMOS) sau tehnologii cu logicá integratá de injectie (I
2
L).
Structura unui calculator
133
Ca urmare, performantele poartá amprenta caracteristicilor tehnologice:
• bipolará – vitezá de procesare mare, putere disipatá ridicatá, densitate de
integrare scázutá;
• MOS – densitate de integrare ridicatá, vitezá de procesare mai scázutá
decât la bipolará, putere disipatá relativ scázutá;
• CMOS – putere disipatá foarte scázutá si vitezá de procesare mare.
În alegerea unui circuit integrat de memorie, trebuie sá se aibá în vedere:
• tensiunea de alimentare;
• capacitatea;
• modul de organizare (lungimea cuvântului, semnalele de control si adresá);
• puterea disipatá (în regim de functionare sau în regim de rezervá stand-by);
• timpul de acces;
• timpul de ciclu memorie;
• disponibilitatea;
• pretul de cost.
Orice sistem de calcul foloseste o memorie ROM care contine urmátoarele
sisteme software:
1. Sistemul cu program starter sau ROM-ul de start, adicá microcodul cu
rol de asistare si control al pornirii sistemului. Aici se aflá înscrise mici rutine care
realizeazá urmátoarele actiuni:
• executá testele de functionalitate ale tuturor componentelor atasate hardware;
• initializeazá toate componentele atasate calculatorului;
• initializeazá tabela vectorilor de întrerupere;
• verificá alte extensii sau periferice atasate sistemului de calcul;
• încarcá în memorie, de pe disc, sistemul de operare.
Testele de verificare, care formeazá asa-numitul POST (Power On Self
Test), dureazá foarte putin pentru verificarea plácii de bazá, a controlerului de disc,
a plácii video, a unitátilor de disc, si ceva mai mult pentru memoria RAM, care este
verificatá kilooctet cu kilooctet. Automat, în cazul în care se detecteazá anumite
erori si disfunctii pentru oricare din componentele hardware, se va lansa un mesaj
de avertizare. Sistemul de operare, odatá încárcat în RAM, va prelua conducerea si
gestiunea sistemului de calcul.
2. ROM-BIOS (Basic Input Output System) este o parte a memoriei ROM
care va asigura toate procesele si serviciile necesare activitátii calculatorului, precum
si gestiunea perifericelor, prin intermediul rutinelor continute. BIOS-ul continut de
ROM este elementul de legáturá sau interfata directá între partea hardware si cea
software, prin care se realizeazá hard cererile soft ale programelor, folosind
întreruperile cu serviciile aferente. Practic, orice program acceseazá partea hardware
prin intermediul BIOS. Rutinele continute vor activa canalele de comunicatie dintre
componentele sistemului si un sistem de operare sub care lucreazá acesta.
3. ROM-Basic este un program optional, care contine nucleul limbajului Basic.
4. Extensiile ROM reprezintá un sistem care contine anumite rutine
necesare gestiunii dispozitivelor atasate.
ARHITECTURA SISTEMELOR DE CALCUL
134
Întreaga memorie ROM este activá pe tot parcursul lucrului cu calculatorul.
Încá de la pornirea si initializarea calculatorului (la încárcarea sistemului de
operare), în situatiile apásárii tastei Delete, BIOS-ul va furniza o interfatá de dialog
cu utilizatorul, prin care va oferi o serie de informatii privind starea functionalá si
structura sistemului de calcul. Prin intermediul unor meniuri, se poate modifica o
serie de parametri pentru a se obtine un mod de lucru optim si rapid.
Fig. 3.53. Modul de organizare al memoriei.
Structura unui calculator
135
Ultimii 128 KB rezervati din zona de memorie superioará (vezi figura 3.53)
sunt utilizati de componenta BIOS de pe placa de bazá. Componenta BIOS este, de
obicei, memoratá în cipuri de memorie ROM. Programele din componenta ROM
BIOS controleazá sistemul pe durata pornirii (pâná la preluarea controlului de cátre
sistemul de operare) si rámân ca driver-e pentru subsistemele hard pe durata
functionárii normale a sistemului. Deoarece aceste programe trebuie sá fie
disponibile imediat, la pornirea sistemului ele nu pot fi încárcate de pe discuri (sau
alte dispozitive de memorare).
Principalele funcii ale programelor de pe placa de baz sunt:
• autotestarea la punerea sub tensiune (POST);
• rutina de încárcare a sistemului de operare (bootstrap loader) – initiazá
cáutarea sistemului de operare pe discurile disponibile;
• sistemul de bazá pentru operatii de intrare-iesire (BIOS) – este interfata
soft sau programul principal de control pentru toate componentele hard
ale sistemului.
Acest sistem contine un prim meniu – Standard CMOS Setup –, unde se
stabilesc tipul si parametrii unitátilor de disc, tastaturii sau plácii video, ora si data
curentá a sistemului.
Un al doilea meniu – Advanced CMOS Setup – cuprinde o serie de parametri
reglabili pentru a obtine maximul de performantá. În acest meniu, se pot activa sau
dezactiva memoria cache interná si externá, se poate stabili o parolá de intrare în
sistem, ordinea de cáutare a sistemului de operare pe disc etc.
Al treilea meniu – Advanced Chip-set Setup – contine reglaje foarte fine de
optimizare, cum ar fi configurarea magistralelor sau a stárilor de asteptare ale
microprocesorului.
Datoritá usurintei cu care se poate accesa BIOS-ul, parametrii care definesc
functionarea generalá a calculatorului pot fi modificati foarte simplu, dar
configurarea arbitrará a parametrilor BIOS poate produce dereglári ale sistemului.
Tot aici se poate mentiona unitatea specialá MMU (Memory Management
Unit), care se ocupá cu transferul continutului memoriei ROM (cel de pe placa de
bazá: ROM-ul de sistem, ROM-ul video, segmentele ROM ale unor adaptoare sau
extensii) în memoria de lucru RAM. Este un dispozitiv integrat în microprocesor.
Aceastá posibilitate de transfer a rutinelor si datelor ROM în RAM ridicá
foarte mult performantele sistemului, deoarece timpul de acces al memoriei ROM
este foarte mare (150–200 ns) si operatiile care implicá folosirea continutului ROM
se desfásoará lent. Activarea optiunilor de transfer (shadowing) se face din meniul
BIOS Features Setup din CMOS, prin activarea punctelor de Shadow definite de
adrese specificate (System Shadow, Video Shadow etc.). MMU va dezactiva
automat toate cartusele ROM al cáror continut a fost citit si scris apoi în RAM, iar
în continuare va marca aceste zone de memorie RAM în care s-a transferat
continutul ROM, protejându-le.
Legátura memoriei ROM cu exteriorul se face prin magistrala de adrese,
corespunzátoare pinilor notati cu A
0
÷A
m
(pentru detectarea locatiei care contine
informatia cerutá) si magistrala de date, pentru transferul datelor, prin pinii notati
cu D
0
÷A
n
, în functie de numárul de pini al cipului respectiv.

Structura unui calculator

67

Registrele de uz general stocheaz valorile intermediare ale calculelor. Registrele cu destina ie specific – contorul de program (program counter, PC) indic adresa noii instruc iuni care urmeaz a fi executat precum i adresa instruc iunii curente care se execut .

3.1.1. Execu ia unei instruc iuni
Timpul necesar execu iei unei instruc iuni se nume te ciclu instruc iune. Etapele în execu ia unei instruc iuni sunt: 1. înc rcarea instruc iunii din memorie în registrul de instruc iuni (fetch); 2. actualizarea PC pentru a indica urm toarea instruc iune care va fi executat ; 3. decodificarea instruc iunii din registrul de instruc iuni; 4. localizarea în memorie a eventualelor date utilizate de instruc iune; 5. înc rcarea datelor (dac este necesar) în registrele interne ale UC; 6. execu ia efectiv a instruc iunii; 7. stocarea rezultatelor la destina ia corespunz toare; 8. întoarcerea la etapa nr. 1 pentru a executa urm toarea instruc iune.

3.1.2. Tipuri de unit i centrale
Criteriul dup care se clasific unit ile centrale este cel al setului de instruc iuni: • procesoare CISC (Complex Instruction Set Computer); • procesoare RISC (Reduced Instruction Set Computer). În ultimul timp, s-a produs migrarea de la CISC la RISC. 3.1.2.1. Performan a unit ii centrale Performan a UC se refer întotdeauna la o aplica ie dat , existând mai multe moduri de evaluare a performan ei: • mips (mega instructions per second): milioane de instruc iuni pe secund ; • flops (floating point operations per second): opera ii în virgul mobil executate pe secund (exprimat uzual în Mflops sau Gflops); • timpul în care un anumit procesor poate s rezolve o anumit secven de program (o sarcin particular ). Performan a este produsul a trei factori: • num rul de instruc iuni executate în cazul unei aplica ii date (Ni); • num rul mediu de perioade de ceas necesare pentru execu ia unei instruc iuni (Np); • durata unei perioade de ceas (Tc). Valoarea Np se exprim în cicluri de ceas/instruc iune, iar Tc se exprim în timp/ciclu de ceas.

68 Rezult c :

ARHITECTURA SISTEMELOR DE CALCUL

P(t) = Ni × Np × Tc (sec).

(3.1)

Reducerea num rului de instruc iuni Ni se face optimizând compilatorul i utilizând o arhitectur adecvat acestui compilator. Np se reduce fie optimizând compilatorul, aceasta însemnând utilizarea unor instruc iuni de durat mai scurt , fie utilizând o arhitectur paralel , deci utilizarea mai multor instruc iuni simultan. La optimizarea Np, apar limit ri tehnologice legate de implementarea procesorului. Durata Tc ine exclusiv de o tehnologie avansat . 3.1.2.2. Indici de performan Pân în 1992, se utiliza urm toarea pereche de m rimi: Whetstones i Dhrystones, care ar tau practic viteza UC. Începând din 1992, s-a trecut la al i indici de m surare a performan ei, i anume indicii SPEC, cu care s-a înlocuit perechea anterioar . Standard Performance Evaluation Corporation (SPEC) este o organiza ie non-profit care a luat na tere în 1988 i are ca scop asigurarea testelor corecte i utile pentru a face diferen între sistemele de pe pia . Testele SPEC sunt larg folosite actualmente în evaluarea performan ei calculatoarelor, rezultatele fiind afi ate pe site-ul SPEC. Acestea poart denumirea de note SPEC (SPECmarks). Testele sunt concepute pentru a realiza situa ii din via a real . De exemplu, SPECweb2005, realizeaz un test al performan ei serverului de web prin mai multe tipuri de cereri paralele HTTP. Performan a microprocesorului este testat prin rularea câtorva programe (de exemplu, compilatoare gcc) sau printr-un joc de ah. Diverse cerin e sunt atribuite în func ie de importan a perceput , pentru a rezulta un singur rezultat final. Testele SPEC au fost actualizate în repetate rânduri. Aceste teste sunt scrise pe o platform de limbaj de programare neutr (de obicei, C sau Fortran), iar p ile interesate pot compila codul folosind metoda dorit , dar f a schimba codul. Produc torii au lucrat la îmbun irea compilatoarelor pentru a realiza o cât mai bun acurate e a diferitelor teste SPEC. Teste SPEC actuale sunt: • SPEC CPU2006 – combin performan ele microprocesorului, memoriei i compilatorului; • CINT2006 sau SPECint – testeaz aritmetica numerelor întregi, folosind compilatoare, interpretoare, procesoare de text, programe de ah; • CFP2006 sau SPECfp, testeaz performan a în virgul mobil , cu simul ri fizice, grafic 3D, procesare de imagine, chimie computa ional ; • SPECjms2007 – testeaz performan a serviciului de mesaje Java; • SPECweb2005 – testeaz performan a în PHP/JSP; • SPECviewperf – testeaz performan a unui sistem 3D OpenGL, cu ajutorul diferitelor sarcini de randare din aplica ii reale; • SPECapc – testeaz performan a aplica iilor 3D cunoscute unui sistem dat;

• SPEC MPI2007 – evalueaz performan ele sistemelor paralele. • SPECappPlatform – evalueaz performan a platformelor web (Java EE i NET). folosind aplica ii OpenMP. din care nota final rezult prin mediere geometric . Nota ob inut de sistemul testat se ob ine în modul urm tor. prin emularea unui sistem client-server.2): • instruc iuni registre-memorie: se încarc date din memorie în registre i viceversa. se execut o anumit opera ie i se stocheaz rezultatul în memorie. se ruleaz 12 programe care folosesc virgul mobil (12 programe în Fortran i dou programe în C). Pentru SPECfp. Organizarea unit ii centrale Datele care trebuie prelucrate sunt aduse din registrele interne în registrele de intrare ale ALU. • SPECjvm98 – evalueaz performan a unui sistem client. Nota final se ob ine tot prin media geometric . • instruc iuni memorie-memorie: preiau operanzii din memorie. • SPEC jbb2005 – evalueaz performan a serverului Java. 3. • SPECimap2003 – evalueaz performan a unui server de mail la nivel de întreprindere. • SPEC MAIL 2001 – evalueaz performan a unui server de mail. • . Datele pot fi folosite mai departe de alte instruc iuni sau chiar de instruc iunile respective. execut asupra lor o anumit opera ie i depun din nou operanzii în registru. se ruleaz 6 programe care folosesc numere întregi i se ob in astfel 6 note. • SPECjAppServer2004 – evalueaz performan a aplica iilor bazate pe Java 2 Enterprise Editition (J2EE).2 – evalueaz performan elor sistemului paralel. din care se ob in 14 note. folosind aplica ii MPI (Message Passing Interface). Pentru SPECint. îi plaseaz în registrul de intrare ALU. În acest ultim caz. care ruleaz o ma in virtual Java. testând protocoalele IMAP4 i SMTP. rezultatul este depus în registre.3. Exist trei tipuri de instruc iuni (vezi figura 3. • SPECpower_ssj2008 – testeaz eficien a energetic a sistemelor server. Rezultatul calculului preluat de registrele de ie ire ale ALU este stocat într-unul din registrele de uz general. cu testarea protocoalelor POP i SMTP. • SPEC SFS97_R1 – evalueaz viteza de transfer a serverului de fi iere NFS i timpul de r spuns. • instruc iuni registre-registre: mut operanzii din registrul de la intrarea ALU.Structura unui calculator 69 SPEC OMP2001 V3.1. unde acestea r mân în timpul în care ALU face opera iunea de calcul aritmetic i logic.

algoritmi care pot fi implementa i hardware sau software. altele sunt externe. cu un nivel acceptabil de performan e. cât i circuitele necesare pentru adresarea loca iilor i controlul opera iilor de citire i scriere. Unitatea de memorie este o cifr binar care poate lua numai dou valori: 0 sau 1. la un cost rezonabil. 3. Sistemul de memorie include atât loca iile de memorie propriu-zise. fiind de obicei integrate în controlerul unit ii de memorie. împreun cu algoritmii necesari pentru controlul transferurilor i memorarea datelor. Sistemul de memorie al unui calculator reprezint ansamblul unit ilor de memorie. Microprocesorul are capacitatea de a memora atât datele care urmeaz a fi prelucrate. Se observ c rolul s u principal este de a prelucra i transmite datele. O parte din aceste circuite se g sesc în unitatea de memorie respectiv .2. de aici procesorul preia datele de care are nevoie i tot aici scrie rezultatul. Capacitatea de memorare este mic .70 ARHITECTURA SISTEMELOR DE CALCUL Fig. 3. Practic. Memoria Memoria reprezint acea parte a calculatorului în care sunt stocate programele i datele. Trebuie subliniat faptul c nu întotdeauna obiectivul este acela de a ob ine o capacitate de memorare cât mai mare. cât i rezultatele intermediare. Schema unit ii centrale. neputând stoca. programe. de exemplu. Obiectivul principal în proiectarea oric rui sistem de memorie este realizarea unei capacit i de memorare adecvate sistemului de calcul.2. .

Aceasta depinde de tehnologia de fabrica ie i se exprim în num r de cuvinte de informa ie memorat (cuv). Uzual. . Rata de transfer (rT) este inversa timpului de ciclu i reprezint cantitatea maxim de informa ie (exprimat în cuvinte pe secund ) care poate fi transferat la/de la memorie într-o secund : rT = 1 [cuv/s]. CM (3. care reprezint costul de memorare a unui cuvânt de informa ie. tC > tA. Acesta reprezint intervalul de timp calculat din momentul în care o unitate master lanseaz o comand c tre o unitate de memorie i pân în momentul în care informa ia este transferat în sensul dorit. cu atât costul unitar este mai mare. Rata de acces (rA) este inversa timpului de acces. pân la activarea celei de-a doua. Costul unitar se determin prin raportarea costului total (CT) la capacitatea de memorare (CM): CU = CT [cost/cuv]. Acesta reprezint timpul minim necesar pentru inactivarea primei comenzi.2) Timpul de ciclu la o unitate de memorie (tC) este timpul minim între dou accese succesive i reprezint timpul din momentul în care o unitate master lanseaz o comand spre unitatea de memorie i pân când poate lansa o nou comand la aceea i unitate de memorie.4) Cu cât memoria este mai rapid .Structura unui calculator 71 3. costul circuitelor de acces la aceste celule. Caracteristicile unit ilor de memorie Capacitatea de memorare reprezint num rul loca iilor (celulelor) de memorie con inute de o unitate de memorie. fiind exprimat în cuvinte pe secund : rA = 1 [cuv/s].2. tC (3. pe lâng costul celulelor de memorie propriu-zise. Pentru compararea diverselor unit i de memorie între ele. tA (3. Acesta poate fi serial sau paralel.1.3) Costul total al unit ii de memorie (CT) include. se utilizeaz costul unitar (CU). Timpul de acces la o unitate de memorie (tA) este timpul necesar localiz rii unei celule de memorie pentru transferul de date la/de la loca ia de memorie respectiv . diferen a lor numindu-se timp de revenire (tR = tC – tA). Modul de acces la loca iile unit ii de memorie arat ordinea în care informa ia memorat poate fi accesat . dimensiunea cuvântului fiind diferit de la un calculator la altul.

3. fiind de dou feluri: cu destina ie specific i de uz general. pentru ca procesorul s realizeze o anumit opera ie.2. Din acest motiv. utilizându-se de regul 16–20 registre. iar timpul de acces este independent de loca ia accesat . datele cele mai recent accesate sunt p strate în apropierea procesorului (localizare temporal ). 3. Num rul de registre de memorie este mic. Ierarhizarea memoriei Pornind de la func iile realizate de fiecare tip de memorie. Prin ierarhizarea unit ilor de memorie. fapt care m re te viteza de acces la informa ia memorat în registre. el cite te i scrie date din/în .2.2. mai aproape de unitatea central (localizare spa ial ). Ierarhizarea memoriei. În acest fel. Dintre acestea. Cât timp func ioneaz procesorul. Capacitatea registrului depinde de tipul procesorului i nu dep te de obicei lungimea cuvântului de memorie. memoriile semiconductoare sunt memorii cu acces aleator. Registrele cu destina ie specific au un rol precis i memoreaz numai anumite tipuri de informa ie (de exemplu. iar unitatea de memorie se nume te memorie cu acces aleator (Random Access Memory. acela care memoreaz tipul de informa ie dorit.2. de la rolul i locul ocupat în sistemul de calcul. care pot fi utilizate explicit prin instruc iuni-program.2. Registrele de memorie Reprezint dispozitivele de memorie cele mai rapide. dar i cele mai scumpe. ilustrate în figura 3. Fig. Registrele de uz general sunt registre nespecializate. 3. RAM). nu este necesar ca registrul s fie accesat prin adres .72 ARHITECTURA SISTEMELOR DE CALCUL Dac loca iile de memorie pot fi accesate în orice ordine. blocurile de date cu probabilitatea cea mai mare de accesare sunt aduse pe niveluri superioare. 3. se pot distinge mai multe categorii de memorii. În general. 3. contorul de program). atunci accesul este aleator.1. Memoria intern Con ine programele i datele pentru toate procesele în curs de execu ie în sistemul de calcul. i anume.2.2. Sunt utilizate de procesor.3. este accesat un anumit registru.

i acest tip de memorie poate fi extins prin ad ugarea de cipuri suplimentare. fiind îns i de câteva ori mai scump . programele folosesc în mod repetat adresarea acelora i blocuri de memorie. Tipurile de memorie din aceast categorie sunt: • Memoriile DRAM (Dynamic Random Access Memory) sunt memorii RAM dinamice. Memoria intern este o memorie read-write cu acces direct (RAM). care vor fi apelate de c tre procesor. fiind inserat logic între procesor i memoria principal . pentru a se p stra informa ia. dar care nu sunt imediat necesare acestuia. Aceste bancuri se instaleaz în placa de baz a PC-ului. 2. în zone de memorie. ora i alte op iuni de pornire care pot fi setate de utilizator. având timpi de acces aleator de zeci pân la sute de ns. Se urm re te ca procesorul lucreze cât mai mult timp cu memoria cache. Pentru o memorie cache bine implementat . • Memoriile SRAM (Static Random Access Memory) sunt memorii RAM statice. pentru a nu întârzia activitatea procesorului. utilizat în scopul sc derii timpului de acces la datele din memoria intern . Pentru aceasta. . i nu cu memoria principal . La calculatoarele PC. procesorul lucreaz cu aceasta circa 70–90 % din timpul total de lucru cu memoria.Structura unui calculator 73 aceasta memorie. Ea trebuie s aib un timp de acces redus. Memoria principal sau memoria primar reprezint memoria de lucru a sistemului de calcul. în soclurile rezervate memoriei interne. din circuite SRAM. este necesar un circuit de reîmprosp tare a memoriei (refresh). Memoria NVRAM este utilizat pentru a men ine informa iile privind configura ia calculatorului. fiind memorate sub form de blocuri de date. programele tind s utilizeze date i instruc iuni situate unele lâng altele sau în zone apropiate (principiul vecin ii). prin ad ugarea de noi bancuri de memorie în locurile disponibile sau prin schimbarea bancurilor cu altele de capacitate mai mare. realizate cu circuite basculante bistabile de memorie. cipurile de memorie sunt asamblate pe pl ci de memorie organizate în bancuri de memorie. Utilizarea memoriei cache se bazeaz pe dou caracteristici ale execu iei programelor în sistemele de calcul clasice: 1. Acest mecanism permite modificarea dimensiunii memoriei interne a PC-ului. cum ar fi data. trebuie restabilit periodic sarcina electric cu care a fost înc rcat condensatorul circuitului de memorie. fiind realizat cu circuite integrate de memorie DRAM i având o capacitate de memorare relativ mare (sute de MB). este o memorie mai rapid decât memoria principal . Memoria cache are timpul de acces de 2–10 ori mai mic (ns) decât cel al memoriei primare. în care. de regul . Are capacitate mic i vitez mare. construit . Constructiv. proprii fiec rui program. Memoria nevolatil cu acces aleatoriu (NVRAM) este cea care stocheaz date atunci când calculatorul este închis sau nu mai are energie. Memoria principal streaz datele active. Viteza de lucru a memoriei principale este mult mai mic decât cea a registrelor procesorului (cu 2–3 ordine de m rime). Datele devin active prin transferarea lor din memoria secundar în memoria principal . care streaz informa ia atât timp cât sistemul este sub tensiune. Memoria cache este o memorie specializat .

optic. . pe care utilizatorul o acceseaz prin intermediul mecanismului EMS (Extended Memory Specification). În memoria extern sunt stocate i programele cu ajutorul c rora se realizeaz prelucrarea datelor. acestea trebuie aduse mai întâi în memoria principal . • cu cost mai redus.EXE (în sistemul de operare MS-DOS). Accesul la memoria extern nu se face direct. Memoria extins este memoria suplimentar accesibil utilizatorului prin mecanismul XMS (eXtended Memory Specification). este vorba de capacitatea procesorului de a accesa un spa iu de adrese care dep te spa iul de adrese al memoriei principale. Memoria intermediar . numit EMM386. Acest concept a ap rut înc din anul 1960. Memoria expandat este o memorie suplimentar la calculatoarele de tipul PC.74 ARHITECTURA SISTEMELOR DE CALCUL Plecând de la aceste constat ri. i are rolul de a realiza o extindere a memoriei principale. Programele trebuie scrise ca utilizând special aceste mecanisme. de regul disc magnetic. este plasat între memoria principal i memoria secundar . duplic ri ale celor din memoria secundar . Are rol de memorie tampon. numit i memorie cache pentru supor i externi sau memorie cache de disc (Disk-Cached Memory). Este alc tuit din bancuri de memorie de 64 KB RAM i este gestionat de un program-sistem specializat. care poate fi implementat pe procesoare având cuvinte de adres de 32 bi i.2. Memoria secundar este organizat pe un suport extern de memorie. ci prin intermediul memoriei interne. • cu densitate de memorare variabil de la un echipament la altul i de la un suport la altul (magnetic. • cu capacitate mult mai mare.3. memoria extern este: • nevolatil . • cu vitez de transfer mai mic . având rolul de a m ri spa iul de memorare al unui sistem de calcul. ac ionând într-o manier similar memoriei cache.2. memoria extern se caracterizeaz prin vitez de acces mai sc zut . semiconductor). Înainte de orice acces la memoria principal . Memoria extern Pentru a utiliza datele memorate în memoria extern . În compara ie cu memoria intern . 3. memoria cache con ine la un moment dat cópii ale unor date din memoria principal . se verific dac nu cumva informa ia c utat se g se te în memoria cache. Programul-sistem care gestioneaz acest tip de memorie în sistemul de operare MS-DOS este HIMEM. care p streaz blocurile de date cel mai recent accesate de un program. • cu acces pozi ional i timp de acces mai mare. Altfel spus. conform conceptului de memorie virtual . iar la PC este disponibil începând cu seria 286. se preia de acolo cu o vitez superioar . Prin compara ie cu memoria intern . capacitate mai mare. • de tip read-write. cost mai redus. care se refer la capacitatea procesorului de a utiliza un spa iu de memorie extern pentru a simula o capacitate mai mare a memoriei interne disponibile. memorie extins i memorie de arhivare sau ter iar . Dac aceasta exist .SYS. Memoria suplimentar poate fi de mai multe tipuri: memorie expandat .

optic (CD-ROM. Este realizat în tehnologii rapide (bipolare sau CHMOS = Complementary High-density MOS). Fig.Structura unui calculator 75 Memoria de arhivare este acea parte a memoriei externe care asigur stocarea datelor preluate din mediul extern pe o perioad de timp nedeterminat i în volume semnificative. Simbolul memoriei SRAM . Memoria SRAM Memoria SRAM (Static RAM) este o memorie în care informa ia se memoreaz într-un mod stabil. Simbolul memoriei SRAM este ilustrat în figura 3. identificate de semnalul WE . realizate în diverse tehnologii de fabrica ie (bipolare sau MOS). Memoriile RAM pot fi de dou tipuri: SRAM (Static RAM) i DRAM (Dynamic RAM). Fiind o memorie care poate fi i citit i scris . streaz date pasive. Accesul la aceste date se face foarte rar. magnetic (band sau caset magnetic ) sau semiconductor (stick-uri i card-uri de memorie). 3. i nu unit ile de memorie propriu-zise. DVD-ROM).4. Memoria RAM Circuitele integrate de memorie sunt memorii semiconductoare. Memoria de arhivare sau memoria ter iar este o memorie nevolatil de dimensiuni foarte mari. Acestea sunt de mai multe tipuri. activ pe 0L. atât timp cât memoria este alimentat .3. 3.4. cu timpi de acces foarte mici (ns).3. cu diferite raporturi performan e/cost.1. SRAM are magistrala bidirec ional de date i dou cicluri diferite de memorie: ciclul de citire i ciclul de scriere. 3. iar timpul de acces nu depinde de loca ia accesat . Trebuie subliniat faptul c memoria ter iar reprezint colec ia de discuri i casete existente. O memorie cu acces aleator (RAM = Random Access Memory) este acea memorie la care loca iile de memorie pot fi accesate în orice ordine. pe ambele niveluri logice. având domenii specifice de utilizare: memoriile cu acces aleator (RAM) i memoriile cu acces pentru citire (ROM).2.2. dar i cu timpi de acces foarte mari (zeci de secunde). Memoria ter iar este realizat cu unit i de memorare pe suport deta abil. stocate doar în scop de arhivare. pe o perioad de timp nedeterminat i în volume semnificative.

pân la 10–15 ns. iar exemplific rile vor fi realizate pentru memoria asincron . Ele difer doar prin algoritmul de transfer al datelor i. implicit. dar sunt mai ieftine i au un consum de energie mic. • Memoria SRAM sincron necesit un semnal de ceas pentru validarea semnalelor de control.5. . cu timp de acces sub 10 ns. În general. Schema bloc a memoriei SRAM este ilustrat în figura 3. care necesit viteze i capacit i de memorare mari. FTS (Flow Through Synchronous) sau ZBT (Zero Bus Turnaround) SRAM.5. cele dou tipuri de memorii SRAM sunt similare. sistemele de calcul simple au memoria RAM de lucru format doar din circuite de memorie SRAM asincron . definitorii pentru SRAM. pot func iona la tensiuni de alimentare mici. Aceste memorii sunt realizate într-o gam foarte divers de performan e. în cele ce urmeaz vor fi analizate elementele comune. Sistemele performante. Ceasul primit din exterior permite operarea memoriei. cu capacit i mici.76 ARHITECTURA SISTEMELOR DE CALCUL Memoria SRAM poate fi de dou tipuri: • Memoria SRAM asincron nu necesit semnal de ceas pentru sincronizarea cu unitatea master. Fig. dar sunt scumpe. i care memoreaz cuvinte de 8 bi i. sincron cu unitatea master. cu timpi de acces care variaz de la 50–70 ns. Ele pot fi de mai multe tipuri: PBS (Pipelined Burst Synchronous). Memoriile asincrone sunt mai lente decât cele sincrone. prin performan e. Memoriile sincrone sunt foarte rapide. Schema bloc a memoriei SRAM. folosesc memorii SRAM rapide pentru implementarea memoriei cache. 3. de zeci-sute de KB. Din punct de vedere constructiv. De aceea.

implicit.9 – FPM). din cauza mecanismului specific de memorare a datelor. fiecare loca ie memorând un cuvânt de m bi i.Structura unui calculator 77 3. timpul de acces este mare (zeci de ns). de unde i denumirea acesteia.2.3. Schema bloc de baz a memoriei DRAM este trasat în figura 3. 3. dac se restric ioneaz accesul în modul pagin (vezi paragraful 3. Indiferent de modul de realizare. valoarea memorat este 0L.2. Fiecare bit de informa ie este memorat prin înc rcarea sau desc rcarea unui condensator. iar când acesta este desc rcat. cu consum de energie foarte mic. mecanismul de memorare nu presupune consum de curent de la sursa de alimentare. Circuitele de memorie DRAM au. putând ajunge la doar de dou ori mai mare decât cel al memoriei SRAM. dar informa ia 1L se pierde în timp i necesit împrosp tarea periodic a memoriei. Fa de celula SRAM.2. Astfel. i variaz în func ie de tipul accesului la memorie. informa ia 0L este memorat stabil. Simbolul memoriei DRAM. Simbolul memoriei DRAM este ilustrat în figura 3. Semnalele de comand ac ioneaz prin intermediul logicii de control. Este realizat în tehnologie CMOS (Complementary MOS). Memorarea datelor se bazeaz pe stocarea i transferul de sarcini electrice. Timpul de acces la DRAM este de 2–10 ori mai mare decât la SRAM.6.6. în acces aleator. i. Fig. care memoreaz informa ia în mod dinamic. În func ie de tipul memoriei DRAM. un num r mare de linii de adres . Eventual. memoria DRAM poate avea circuit intern de împrosp tare. ceea ce permite realizarea unor densit i mari de integrare. se spune c se memoreaz valoarea 1L. Când condensatorul este înc rcat. îns scade foarte mult (în func ie de tipul memoriei DRAM). care presupune un num tor de adrese de rând i un ceas de timp real. Memoria DRAM Memoria DRAM (Dynamic RAM) este o memorie volatil cu acces aleator. capacit i de memorare mari. memoria DRAM este mult mai lent decât memoria SRAM.7. ca în cazul memoriilor SRAM. prin urmare. Celulele de memorie sunt dispuse într-o arie p trat sau dreptunghiular de loca ii de memorie. i nu pe mecanisme de comutare. Celula de memorie este mult mai mic decât la memoria SRAM. ciclurile de împrosp tare pot fi realizate în trei moduri: . Datorit particularit ilor constructive ale celulelor de memorie.

pentru indicarea liniei care trebuie împrosp tat . perioada de repeti ie a ciclurilor de refresh este determinat de un ceas de timp real extern. activate în aceast ordine. . f a fi nevoie de transmiterea adresei din exterior. Ca i la SRAM. memoria con ine un num tor de adrese de rând. prin care se transmit memoriei adresa de rând (AR) i semnalul RAS .78 ARHITECTURA SISTEMELOR DE CALCUL Fig. La toate memoriile. conform metodei CBR.7. care este programat software de c tre sistemul de operare. memoriile DRAM asincrone sunt mai lente decât cele sincrone. De asemenea. Unitatea master extern este anun at periodic s fac refresh de c tre un ceas de timp real. Schema bloc de baz a memoriei DRAM. Memoria DRAM asincron nu necesit semnal de ceas pentru sincronizarea cu unitatea master apelant . CBR (CAS Before RAS) este tot o metod de împrosp tare din exterior. În acces aleator. a se activa semnalul CAS . În acest caz. Auto-împrosp tare cu ajutorul circuitelor interne memoriei DRAM. În interior. un ceas de timp real i o logic de control pentru generarea semnalelor CAS i • • RAS . accesul aleator este lent. 3. Memoria DRAM poate fi de dou tipuri: asincron i sincron . dar sunt mai ieftine i au un consum de energie mai mic. EDO (Extended Data Out) i BEDO (Burst EDO) DRAM. timpul de acces fa de RAS (tRAC) este de 50–70 ns. se pot enumera: FPM (Fast Page Mode). memoria dispune de un num tor de adrese intern. Dintre memoriile DRAM asincrone. prin care se transmit semnalele CAS i RAS . iar timpul de ciclu (tC) este de 90–120 ns. • ROR (RAS Only Refresh) este o metod de împrosp tare din exterior.

ob inându-se. Modul de desf urare a diferitelor tipuri de cicluri de transfer se reprezint prin diagrame de timp (evolu ia în timp a semnalelor de pe magistral implicate în transfer). datele devin disponibile i procesorul le poate citi de pe liniile de ie ire. tRAC este de 40–60 ns. care implementeaz toate aceste semnale pe aceea i magistral . ceea ce limiteaz viteza la care poate func iona circuitul cu tehnologia curent . Ceasul primit din exterior permite operarea memoriei sincron cu unitatea master. modulele de memorie se conecteaz pe magistrala sistemului. Accesul la loca iile de memorie se realizeaz prin cicluri de transfer (cicluri ma in ). Aceasta elimin necesitatea propag rii semnalelor multiple de sincronizare. adresele i datele pot fi memorate f temporiz rile de setare i men inere monitorizate de procesor. Memoria DRAM sincron necesit un semnal de ceas pentru validarea semnalelor de control.Structura unui calculator 79 O alt categorie de memorii DRAM este cea care utilizeaz o interfa sincron . . accesul în mod pagin este mult mai rapid. O alt categorie este reprezentat de memoriile DRAM bazate pe protocoale. DRDRAM (Direct Rambus DRAM) etc. lent. În cazul func ion rii sincrone. Intr rile sunt de asemenea simplificate. datele i semnalele de control. Prin implementarea unei interfe e sincrone. Cele mai cunoscute memorii din aceast categorie sunt DRDRAM (Direct Rambus) i SLDRAM (SyncLink) DRAM. Avantaje similare se ob in i pentru opera iile de ie ire.4. Parametrii de timp ai unui ciclu de transfer depind de tipul procesorului. DDR SDRAM (Double Data Rate SDRAM). datorit tehnologiei (memoriile sincrone au ap rut ulterior). Aceste circuite p streaz adresele. de regulile de comunica ie pe magistral i de tipul circuitelor de memorie utilizate. Pentru eliminarea acestui dezavantaj. ceea ce permite procesorului s execute alte opera ii. de asemenea. unele avantaje suplimentare. date i comenzi). În acces aleator. Un alt avantaj al unei interfe e sincrone este c ceasul sistemului este singurul semnal de sincronizare care trebuie furnizat memoriei DRAM. RDRAM (Rambus DRAM). folosindu-se semnalele magistralei (de adres . Memoriile sincrone pot fi de mai multe tipuri: SDRAM (Synchronous DRAM). iar tC este de 80–110 ns. fiind pu in mai rapid decât la memoriile asincrone. sub controlul ceasului de sistem. se memoreaz anumite date de la procesor în circuitele latch ale memoriei DRAM. Dup un num r specific de cicluri de ceas. Accesul în mod pagin este mult mai rapid decât la memoriile asincrone i depinde de frecven a semnalului de ceas de sincronizare. De i accesul aleator este comparativ cu cel al memoriilor asincrone. Accesul aleator este. deoarece semnalele de control. Categoriile precedente de memorii au linii separate de adrese. au fost proiectate memorii DRAM bazate pe protocoale. date i control. s-au eliminat perioadele de teptare de c tre procesor. de asemenea. Accesul la loca iile de memorie În sistemele cu microprocesoare. 3.2.

prin dezactivarea pe un timp limitat a semnalului READY c tre procesor. atunci interfa a modulului de memorie trebuie s prelungeasc ciclul de transfer. Diagrame de citire/scriere memorie. atunci interfa a modulului trebuie s dezactiveze temporar semnalul READY pentru prelungirea ciclului de transfer. • timpul de acces la scriere (tAW) – intervalul de timp între momentul în care adresa este valid i momentul de generare a comenzii de scriere. de c-d MEMR\ (citire memorie) Semnale de date Adresa valid (înalt impedan ) Date valide (citite) tAR tMEMR tC Ciclu de scriere în memorie Semnale de adres S. în acela i mod ca la citire. timpul de acces se m soar în raport cu momentul apari iei semnalului de comand MEMR\. Uneori. • timpul de men inere a semnalului de scriere (tMEMW). dac circuitul de memorie folosit are un timp de acces mai mare. • timpul de men inere a semnalului de comand MEMR\ activ (tMEMR). • durata unui ciclu complet de citire sau scriere (tC).80 ARHITECTURA SISTEMELOR DE CALCUL Ciclu de citire din memorie Semnale de adres S. s-au reprezentat diagramele de transfer pentru un ciclu de citire din memorie i un ciclu de scriere în memorie. La proiectarea unui modul de memorie.8. trebuie s se in cont de urm torii parametri de timp: • timpul de acces la citire (tAR) – intervalul de timp între momentul apari iei adresei valide i momentul în care data citit este prezent pe liniile de date.8. Momentul activ rii semnalului de scriere se m soar i în raport cu momentul în care data este prezent pe magistral . . de c-d MEMW\ (scriere memorie) Semnale de date Adresa valid (înalt impedan ) Date valide (scrise) tAW tC Fig. Dac timpul de acces al circuitului de memorie folosit este mai mare decât timpul permis pe magistral . tMEMW În figura 3. 3. de obicei < tMEMR.

data este generat dup apari ia semnalelor de adres i de comand i se men ine un timp scurt dup dezactivarea acestora. . Exemplu. proiectantul trebuie s aleag circuite de memorie cu parametri de timp acoperitori pentru restric iile impuse pe magistral i s ia în calcul întârzierile produse de circuitele de amplificare din interfa i de pe magistral . 4. folosesc o organizare a octe ilor în memorie de tip Big Endian. data trebuie s apar pe magistral înaintea semnalului de scriere i s fie valid pe toat durata de activare a semnalului de comand . 3. Exist dou moduri de organizare a octe ilor în memorie. Cele dou moduri de organizare a octe ilor sunt reprezentate în figura 3. Modurile de organizare a memoriei de tip Big Endian (a) i Little Endian (b). 3.9. Motorola 680×0 i HP. timpul de acces acoper întârzierile care apar într-un modul de memorie datorit circuitelor de decodificare a adresei i de selec ie a amplificatoarelor de intrare sau de ie ire. la citire.Structura unui calculator 81 Observa ii: 1. Se consider c se lucreaz pe cuvinte de 32 bi i. Microprocesoarele PowerPC. Fig. i anume: a) Big Endian. la scriere. b) Little Endian. iar microprocesoarele DEC i Intel folosesc modul Little Endian. 2.9.

5. reîmprosp tare a memoriei. Reîmprosp tarea periodic a memoriei este necesar deoarece informa ia este p strat un timp limitat dup ultima opera ie de citire sau scriere (condensatorul care stocheaz informa ia se descarc în timp).2. cu linii i coloane. • tipul de circuit de memorie disponibil (poate fi un parametru impus sau unul ales de proiectant). Metodologia de proiectare a memoriilor statice Proiectarea unui modul de memorie se face pe baza unor parametrilor de proiectare impu i: • capacitatea memoriei. . Pentru circuitele RAM dinamice. cu urm toarele amendamente: • trebuie s se adauge un mecanism de reîmprosp tare periodic a memoriei (refresh). • tipul de magistral pe care se conecteaz (num rul semnalelor de date i de adres . 3. respectiv. De notat c circuitele dinamice au o capacitate relativ mare.10. similar proiect rii memoriilor statice. • modul de organizare (unitatea elementar de acces la memorie: octet. Organizarea intern a unei memorii dinamice este sub forma unei matrice. • alte cerin e speciale (de exemplu: accesul dual de pe dou magistrale. cuvânt dublu). • trebuie s se genereze semnalul de validare a adresei de linie (RAS – Row Address Select) i semnalul de validare a adresei de coloan (CAS – Column Address Select).) 3. • adresele trebuie multiplexate (generarea secven ial pe acelea i semnale a adresei de linie i a adresei de coloan ).2. implicit. ceea ce impune un num r mare de linii de adres pentru selec ie.82 ARHITECTURA SISTEMELOR DE CALCUL 3. În figurile 3. exprimat prin adresa sa de început (trebuie s fie un multiplu al capacit ii modulului). reîmprosp tarea controlat centralizat. cu semnal separat pentru selec ia circuitului). tipurile semnalelor de comand . dimensiunea acestuia. • amplasarea modulului de memorie în spa iul de adresare al procesorului. • selec ia circuitelor se face cu semnalele RAS i CAS (excep ie fac circuitele tip EDO-DRAM. implementarea unor mecanisme de detec ie a erorilor etc.6. iar selec ia unei loca ii se face prin specificarea adresei sale de linie i de coloan . scriere în memorie i.12 s-au reprezentat diagramele de timp pentru ciclurile de citire din memorie. multiplexarea în timp a adreselor a fost necesar pentru a reduce num rul de pini ai circuitului de memorie i. cuvânt. în principiu. parametrii de timp pentru ciclurile de transfer). 3. Metodologia de proiectare a memoriilor dinamice Proiectarea memoriilor dinamice este.11.

Structura unui calculator Adrese RAS\ CAS\ WR\ Date tRAS tacces tciclu Fig. 3.10. Ciclu de citire din memorie. Adrese RAS\ CAS\ WR\ Adres linie Adres coloan
CAS

83

Adres linie

Adres coloan

Date citite tCAS

Date tRAS
CAS

Date de scris tCAS

tacces tciclu Fig. 3.11. Ciclu de scriere în memorie. Adrese RAS\ CAS\ WR\ Fig. 3.12. Ciclu de reîmprosp tare a memoriei. Adres linie

84

ARHITECTURA SISTEMELOR DE CALCUL

Controlul procesului de reîmprosp tare poate s se fac la nivelul modulului de memorie sau centralizat la nivelul întregului sistem. Indiferent de metoda aleas , proiectantul trebuie s se asigure c ciclurile de reîmprosp tare nu se suprapun peste ciclurile obi nuite de citire sau scriere. Reîmprosp tarea se face simultan la nivelul unei linii întregi din matricea de memorie.

3.2.7. Modulele de memorie
Modulele de memorie sunt pl cu e cu circuite integrate care includ conectori externi, pentru a fi introduse în soclurile disponibile pe placa de baz . Modulele de memorie sunt prev zute cu conectori CELP (Card Edge Low Profile), având 30–83 contacte pe fiecare parte a modulului. Conectorii afla i la baza modulelor de memorie permit ad ugarea sau scoaterea lor de pe placa de baz f instrumente speciale. În ceea ce prive te necesarul de memorie într-un sistem de calcul, este demn de re inut c prin cre terea dimensiunii acesteia sistemul devine mai rapid, deoarece microprocesorul cite te datele din RAM foarte repede, nea teptând citirea de pe hard disk-ul mult mai lent, f a mai lua în considera ie drumul pe care l-ar avea de parcurs datele pe magistralele la fel de lente. Acest aspect nu are îns un caracter imperativ, deoarece s-a demonstrat c , începând de la 16–32 MB instala i, performan ele sistemului r mân aproape constante. Totu i exist anumite aplica ii care cer resurse deosebite i îndeosebi RAM. Este cazul profesioni tilor care lucreaz mai ales în domeniul graficii (atât static – proiectare CAD, fotografie, design, cât i dinamic – anima ii, spoturi publicitare, filme, aplica ii tiin ifice, simul ri etc.), fiind necesari peste 256 MB de RAM. Un alt caz deosebit este al serverelor de re ea, unde necesarul de RAM este uria i poate atinge valori peste 512 MB. Privitor la modul în care microprocesorul opereaz fizic cu memoria instalat , aceasta se plaseaz pe placa de baz în dou sau mai multe segmente fizice numite bancuri de memorie. Acestea sunt segmentele minime de memorie care pot fi accesate de microprocesor, numerotate începând cu 0, fiecare banc având unul sau mai multe sloturi pentru pl cu ele de memorie. Toate aceste bancuri sunt v zute ca ni te por i spre memoria fizic instalat i au dimensiuni date de imea magistralei microprocesorului (inclusiv bi ii de paritate), de exemplu, de 72 de bi i pentru Pentium. În sloturile aceluia i banc, se introduc întotdeauna memorii de acela i tip (având în special timpi de acces identici) i aceea i dimensiune, pentru a nu provoca acces ri gre ite de memorie sau chiar blocarea sistemului de calcul. Exemplu. Pentru un banc cu dou sloturi: 2 pl ci × 1 MB sau 2 pl ci × 2 MB. În bancuri diferite, se pot monta (teoretic) memorii diferite (ex.: 2 × 1 MB în bancul 0 i 2 × 4 MB în bancul 1), dar, practic, este bine s se utilizeze valori pare. Exemplu. În loc de 2 × 4 MB + o pl cu de 1 MB ar trebui montate 2 × 4 MB + o pl cu de 2 MB), pentru a evita unele nepl ceri. În figura 3.13 este prezentat dispunerea bancurilor pe placa de baz .

Structura unui calculator

85

Fig. 3.13. Dispunerea bancurilor pe placa de baz .

Arhitectura dual-channel Motivul care a dus la dezvoltarea acestei arhitecturi a fost apari ia unui bottleneck între procesor i memorie. Arhitectura dual-channel presupune o tehnologie prin care se poate dubla transferul dintre RAM i controlerul de memorie. Controlerele de memorie care suport dual-channel utilizeaz pentru transfer dou canale de date de 64 bi i, rezultând o l ime a c ii de date de 128 bi i. Pentru a putea beneficia de avantajele arhitecturii dual-channel, este nevoie de dou sau mai multe module de memorie instalate în bancurile corespunz toare. De obicei, aceste bancuri sunt colorate diferit pe placa de baz . Cele dou canale permit accesul fiec rui modul de memorie la controler, crescând astfel l rgimea de band . Teoretic, nu este absolut necesar ca cele dou module de memorie s fie identice, dar acest lucru este recomandat pentru a evita eventualele probleme de compatibilitate. De asemenea, se pot folosi un modul single-sided i unul double-sided, dar câ tigul de performan i fiabilitate depind foarte mult de controlerul de memorie. În cazul în care pe o plac de baz exist dou perechi de socket-uri DIMM din bancuri diferite (în general, culoarea socket-ului identific bancul c ruia acesta apar ine), se poate instala o pereche de dou module în bancul 0 i o pereche de alt capacitate în bancul 1, atât timp cât acestea func ioneaz la aceea i vitez . În acest mod, sistemul va folosi arhitectura dual-channel. Chiar i module care func ioneaz la frecven e diferite pot fi folosite în modul dual-channel, dar, în acest caz, toate modulele vor rula la frecven a celui mai lent modul. De i arhitectura permite – cel pu in teoretic – toate aceste combina ii, foarte multe pl ci de baz au probleme cu anumite module de memorie dac urmeaz s le foloseasc în mod dual-channel. Tocmai din acest motiv este recomandat s se utilizeze perechi identice de module. Merit re inut faptul c arhitectura dual-channel este o tehnologie care ine de pl cile de baz , i nu de memorii. Cu alte cuvinte, orice dou module de memorii compatibile vor suporta atât opera ii single-channel, cât i dual-channel.

Modul de memorie TSOP. pini care vor fi introdu i în socluri speciale (vezi figura 3.15. în loc de pini.16). 3. notebook-uri i unele pl ci video (vezi figura 3. sunt folosite ni te terminale în form de J. în care cipul este prev zut cu un num r de pini pe partea sa inferioar (de ambele p i).86 ARHITECTURA SISTEMELOR DE CALCUL 3.16. Acest tip de încapsulare este prezent pe sisteme (i80286) i pl ci video vechi.14). reg sit la modulele SIMM i cipurile BIOS (uneori). Fig. SOJ (Small Outline J Lead) Este o metod de încapsulare mai modern . 3. din cauza rezisten ei reduse pinii. Fig. Se aseam cu DIP-ul. TSOP (Thin Small Outline Package) Este o încapsulare de tip SMD (Surface Mounted Devices). se pot rupe destul de u or. Modul de memorie SOJ.14. Fig. Formatele fizice de memorie Pl cu e cu cipuri de memorie exist sub urm toarele tipuri de încapsul ri: DIP (Dual In-line Package) Este varianta clasic de încapsulare. de aceea.2. cu diferen a c . Dezavantajul este c .15). este folosit pe pl ci PCMCIA. . care se prind prin îndoire (vezi figura 3. dar care necesit o suprafa foarte redus i.8. Modul de memorie DIP. 3.

Memoriile SIMM pot fi atât single sided (cu cipuri de memorie pe o singur parte).17.17). Fig. inclusiv memoriile Rambus (vezi figura 3.18. datorit standardiz rii ei de c tre produc torii pl cilor de baz . SIMM-urile double sided sunt realizate din dou SIMM-uri single sided. cât i double sided (cipurile sunt dispuse pe ambele fe e). în care cipurile sunt ata ate cu ajutorul unor bilu e din cositor. Fig. Elimin problemele de compatibilitate. 3.18 i 3. Exist mai multe variante ale încapsul rii BGA (Fine BGA i Tiny BGA).19. conectate împreun pe acela i modul din fibr de sticl . folosite în majoritatea modulelor de memorie de azi. în special în versiunea cu suport ceramic). Modul de memorie SIMM cu 30 de pini. plasate sub cip. Acestea sunt destul de ieftine i prezint propriet i bune de conductivitate electric i termic (permit o mai bun disipare a c ldurii. 3.19): • cu 30 de pini – pentru cantit i mici de memorie (< 8 MB).Structura unui calculator 87 BGA (Ball Grid Array) Este o metod mai nou de încapsulare. Modul de memorie SIMM cu 72 de pini. 3. . • cu 72 de pini – pentru cantit i mai mari de memorie (> 8 MB). Modul de memorie BGA. Fig. SIMM (Single In-line Memory Module) Este o pl cu de memorie care se introduce în sloturi pe placa de baz . Memoriile SIMM folosesc o magistral de memorie pe 32 de bi i i exist în dou variante (vezi figurile 3.

produc torii de calculatoare miniaturizate au transformat SIMM-urile cu 72 de pini. dar sunt prea mari pentru laptop-uri.21).21. fiind echivalent unui SIMM 72 cu conectorii pe ambele p i ale modulului. în locul conect rii la un loc a pinilor de pe cele dou p i ale modulului. SIPP (Single In-line Pin Package) De i SIPP-urile sunt identice cu SIMM-urile de 30 de pini din punct de vedere electric. Modul de memorie SODIMM. Dac se dore te instalarea unei noi extensii de memorie sau înlocuirea uneia existente. aceea i tehnologie i aceea i capacitate. între ele exist diferen e care le fac incompatibile.20. Astfel.23 inci lungime i 1 inci în ime. au introdus ni te spa ii pe fiecare parte.35 inci).20). Modul de memorie SIPP. De i din punct de vedere func ional SIMM-urile i SIPP-urile pot avea acelea i cipuri de memorie. . pentru a avea dou semnale separate. Fig. astfel încât. rezultatul fiind Small Outline Dual In-line Memory Module.88 ARHITECTURA SISTEMELOR DE CALCUL SODIMM (Small Outline Dual In-line Memory Module) SIMM-urile de 72 de pini sunt convenabile pentru calculatoare desktop. Un SODIMM cu 72 de pini are lungimea jum tate fa de SIMM-ul cu 72 de pini (2. Dimensiunile standard sunt de 3. trebuie specificat tipul de memorie folosit: SIMM sau SIPP. Fig. 3. numit astfel datorit dimensiunilor reduse ale modulului i a celor dou linii de conectori independen i de pe fiecare parte a modulului (vezi figura 3. din punct de vedere fizic sunt mai mici (vezi figura 3. În consecin . 3. lungimea modulului s-a redus la jum tate.

3. Ele mai difer i prin num rul fantelor de pe partea inferioar . care s-a dovedit a fi mai performant prin anul 1995. Toate formatele logice.9. iar cele DDR. Se remarc prin prezen a de radiatoare pe ambele fe e ale modulului de memorie. Modul de memorie DIMM. f buffer. exist 4 variante de DIMM-uri: de 3. 3. Fig. orientându-se asupra modului în care sunt procesate datele intern – moduri care constituie formatele logice ale memoriilor interne: s-a încercat memoria de tip coloan static .Structura unui calculator 89 DIMM (Double In-line Memory Modules) Sunt module de memorie cu l imea magistralei de 64 de bi i. Modul RIMM Rambus.22). folosite la implementarea memoriilor SDRAM i DDR SDRAM (vezi figura 3. apoi s-a trecut la FPM. cele SDRAM având dou . Din punct de vedere al designului i al tensiunii de alimentare. 3. ceea ce provoac întârzieri la r spunsurile furnizate microprocesoarelor.2. Cele mai des întâlnite sunt de tipul 3.22. dar folose te set ri diferite ale pinilor. Formatele logice de memorie Înc rcarea cipurilor de memorie prin adresarea liniilor i coloanelor consum timp de ordinul nanosecundelor. RIMM (Rambus In-line Memory Modules) Este tipul de încapsulare folosit la memorii Rambus (vezi figura 3. pentru a preveni înc lzirea excesiv a acestuia. DIMMurile SDRAM folosesc 168 de pini.23.9 – XDR DRAM) Fig. numai una. pe când cele DDR SDRAM au 184 de pini. Pentru a m ri performan ele memoriei. Este foarte asem tor DIMM-ului. proiectan ii au dezvoltat o serie de tehnologii care s dep easc aceste limite. Se prezint i în varianta XDIMM (vezi paragraful 3. au acela i mod de adresare a celulelor i aceea i tehnologie la baz . se ob in limitele performan ei cipului de memorie. ulterior tehnologia EDO preluând suprema ia. Dac se adaug i timpul necesar reîmprosp rii.23).3V sau 5V i cu buffer (buffered) sau f buffer (unbuffered).2. diferind prin anumite semnale i cuante de timp alocate. .3V.

linia este numit pagin . Calculatorul poate astfel accesa mai rapid mai multe celule dintr-o pagin de memorie. EDO este o variant a memorie Fast Page Mode (care permite accesul repetat la bi ii din cadrul unei pagini de memorie. În tot acest timp. Teoretic. EDO p streaz datele pân când prime te un alt semnal. timpul de a teptare necesar pentru un ciclu separat de citire/scriere. se poate trimite un nou set de adrese. a genera întârzieri). asigurând un timp de acces de 25–30 ns. EDO (Extended Data Out) O alt tehnologie utilizat este numit EDO (Extended Data Out) i este destul de rapid pentru calculatoarele actuale. care se potriveasc cu tehnologia memoriei (BIOS-ul. pentru a indica celule din cadrul aceleia i linii. este cerut în mod normal o a teptare de 10 ns între emiterea adreselor de coloan . În timp ce memoria conven ional se descarc dup fiecare opera ie de citire i necesit timp de reînc rcare înainte de a fi citit din nou. cipurile EDO i SIMM par identice. pentru a indica o anumit celul . În esen . i nu vor contribui la o cre tere a performan ei. Modelul EDO elimin aceast întârziere. dar vor func iona ca memorie obi nuit . Cât timp semnalul RAS este activ. urmate de un impuls al semnalului CAS. apoi activeaz semnalul RAS. cele mai bune implement ri au condus la o cre tere a performan elor cu 10–20%. Memoria EDO lucreaz cel mai bine în combina ie cu o memorie cache. deci. Pentru a accesa mai multe pagini. FPM (Fast Page Mode) Tehnologiile FPM folosesc tot o variant a acestei strategii.90 ARHITECTURA SISTEMELOR DE CALCUL SCRAM (Static Column RAM) Primele memorii au folosit tehnologia Static Column RAM. va trebui s se schimbe ambele adrese ale liniei i coloanei. Astfel. semnalul CAS este men inut deschis. prin care se va indica o linie. în special). la modelele mai recente de calculatoare. La cele mai multe cipuri. permi ând memoriei s furnizeze mai repede datele solicitate. Controlerul de memorie transmite mai întâi o linie de adrese. astfel. Fizic. ceea ce va genera întârzieri. se pot citi sau scrie date la viteza cu care cipul poate s selecteze adresele. Odat ce coloana a fost înregistrat . În terminologia de adresare a memoriei. Se elimin . care efectua citirea unei coloane de memorie i scrierea adresei pe linia de adres a cipului. dar. transmi ând apoi semnalul CAS. Dac semnalul RAS este men inut activ. este necesar un sistem complet diferit de gestiune (management) a memoriei. dup ce linia CAS este dezactivat . se pot instala SIMM-uri EDO în majoritatea calculatoarelor. controlerul poate trimite una sau mai multe adrese. Linia de date mai r mâne activ un interval scurt de timp. iar tipurile de cipuri care permit aceste opera ii sunt numite mod pagin (page mode RAM). . Memoria EDO modific cuanta de timp alocat pentru semnalul CAS. se transmite o adres a semnalului CAS. EDO poate s creasc performan ele cu 50–60%. pentru a implementa EDO. dar. activând RAS. pentru a indica faptul c acea coloan a r mas constant .

Structura unui calculator 91 În aplica iile multimedia. Aceea i tehnologie este reg sit sub numele generic de pipeline nibble mode DRAM. un cip EDO poate opera la stare de teptare zero pentru o frecven a magistralei de 33 MHz. Modific rile cipurilor de interfa au f cut ca cipurile de memorie s poat opera sincron cu microprocesoarele: acestea se numesc DRAM sincron. Tehnologia BEDO este capabil s opereze la o vitez a magistralei de 66 MHz cu st ri de a teptare zero. Interfa a i pipeline-ul determin timpi de transfer de ordinul nanosecundelor. în loc s transfere un octet de date. prin reproiectarea interfe ei de baz . realizeaz toate opera iile de citire i scriere în serii de câte patru cicluri. Diferen a dintre cele dou memorii este mic . cipurile SDRAM sunt realizate cu stagii de operare multiple i independente. Cipul func ioneaz ca un EDO sau ca un page mode DRAM atunci când linia CAS devine activ . Exemplu. Cipul de siliciu con ine un fuzibil care determin dac cipul func ioneaz ca EDO sau BEDO. Micron Technology a ad ugat circuite cipului. La sfâr itul anului 1995. lucrând cu ea în mod adecvat. De i schimbarea interfe ei cipului poate evita bloc rile sistemului. BEDO DRAM (Burst Extended Data Out DRAM) Pentru a câ tiga mai mult vitez cu EDO. Pentru o rat de transfer dat . SDRAM (Sychronous DRAM) Datorit multiplex rii. Extinderea pipeline se refer doar la adresarea coloanelor unei anumite pagini. pentru c transferul datelor se realizeaz în serii de câte patru cicluri pe pipeline. Adresarea normal cere cicluri alternante. Acolo unde un cip page mode de 70 ns are starea de a teptare zero la o frecven a magistralei de 25 MHz. dar. astfel încât cipul poate s acceseze o a doua adres înainte de a încheia procesarea primei adrese. calculatoarele actuale pot determina ce fel de memorie s-a instalat. un num tor binar transmite un semnal de patru ori în interiorul cipului. fiecare semnal transferând un octet de date. numite burst. astfel încât multe calculatoare create pentru memoria FPM accept i memoria EDO. cipurile de memorie nu pot opera simultan cu microprocesoarele. la un timp de transfer de 52 ns. pentru a-l face compatibil cu modul burst folosit de microprocesoarele Intel. ceea ce le permite utilizarea . numit Burst EDO DRAM. Cipul î i poate schimba starea în mod ireversibil. cipurile de memorie pot accesa date la fiecare ciclu de ceas. dar. astfel c EDO poate fi considerat ca o alternativ la memoria cache secundar . BEDO este relativ u or de fabricat. pentru c necesit un minim de schimb ri fa de memoria EDO sau page mode DRAM. prin arderea fuzibilului. de i nu câ tig în performan . înlocuirea memoriei FPM cu EDO devenise cea mai comun form de reducere a timpului de acces la memorie. diferen a între memoria cache i EDO nu este notabil . Cipurile SDRAM au rata de transfer foarte ridicat . ea nu are nicio contribu ie la cre terea vitezei. începând cu 486. Cu toate FPM nu poate imita EDO. Noul cip. Ca i microprocesoarele superscalare. memoria EDO va fi cu 30% mai rapid decât memoria FPM.

Structura favorizeaz opera iile în regim burst. care sunt accesibile în mod concurent. 8 octe i sau o pagin de memorie.1. Circuitul de memorie accept mai multe tipuri de comenzi.24.92 ARHITECTURA SISTEMELOR DE CALCUL pentru magistrale de memorie de 100 MHz. SDRAM-urile nu pot opera la viteze mai mari de 100 MHz. Ratele de transfer cerute de diverse tehnologii de memorie pentru starea de teptare zero la o vitez de transfer dat pe magistral sunt prezentate în tabelul 3. În figura 3. Cipurile actuale au anumite limite. 2. Fig. . pentru c sloturile SIMM-urilor devin nesigure la frecven e mai mari. Accesul începe la o adres specificat i continu cu adresele succesive. Se poate programa num rul de loca ii dintr-un burst la valorile de 1. 4. pân la num rul de loca ii programate. Memoriile SDRAM sunt adaptate noului standard de magistral sincron introdus de microprocesoarele familiei Intel P6 (Pentium Pro. Structura intern a unei memorii SDRAM de 8 MB. 3.24 este prezentat structura unei memorii organizate pe 4 blocuri. fiecare fiind specificat printr-o combina ie a semnalelor de intrare. care reduc viteza la aproape 66 MHz. Pentium II i III).

care poate determina o rat de umplere a memoriei cache de aproximativ 60 Gb/s.1 Ratele de transfer la o vitez dat a magistralei locale Viteza magistralei de memorie 25 MHz 33 MHz 50 MHz 66 MHz FPM 70 ns 52 ns N/A N/A EDO 70 ns 70 ns 52 ns N/A BEDO 70 ns 70 ns 70 ns 52 ns SDRAM 12 ns 15 ns 12 ns 10 ns Dintre versiunile rapide de SDRAM dezvoltate în ultimii ani. preînc rcarea determinând reducerea timpului de acces.384 bi i). scrierea în memoria principal poate fi f cut cu timp de a teptare zero. 1 ns). Cipul ini ial de 4 MB are încorporat o memorie cache de 2 KB. adaug o memorie cache pe fiecare cip.5 ns.Structura unui calculator 93 Tabelul 3. • PC 2100/2700/3200 – la frecven ele de 266/333/400 MHz. realizat de Mitsubishi. Prima opera ie de scriere necesit 7 ns. • proiectarea EDRAM permite accesul separat la bancurile de cache. . rat de transfer 500-800 MB/s. EDRAM (Enhanced DRAM) Memoriile de tip EDRAM sunt mai rapide i se ob in din DRAM-urile obi nuite prin ad ugarea unor blocuri mici de memorie cache static pe fiecare cip.12). • de i cache-ul EDRAM folose te proiectarea write through (vezi paragraful 3. CDRAM (Cached DRAM) Memoria CDRAM. rat de transfer 800 MB/s. Timpul de umplere este de aproape apte ori mai mic (35 ns) la EDRAM fa de cache page mode DRAM (250 ns). ceea ce permite ca memoria s fie preînc rcat în timp ce sistemul realizeaz transferul în mod burst din cache. se pot aminti: • PC 100 RAM – timp de acces 8 ns. Cache-ul opereaz la vitez înalt (în mod obi nuit. astfel încât pot s acopere cererile de date ale microprocesorului f a ad uga st rile de a teptare generate de opera ia de reîmprosp tare. comparativ cu 110 Mb/s la cache page mode DRAM.2. iar ciclul de scriere pentru o pagin normal este de 15 ns. • PC 133 RAM – timp de acces 7. Produc torul tehnologiei EDRAM (Ramtron) descrie patru avantaje ale acestui tip de memorie: • legarea cache-ului SRAM cu DRAM-ul pe acela i cip presupune folosirea unei magistrale de l ime mare pentru conectare (Ramtron folose te o magistral de 16. ceea ce reduce timpul de acces la sistemele care lucreaz în multitasking. • modelul Ramtron folose te o structur de control diferit fa de DRAMul conven ional. utilizând un model de tip asociat. folosind dou buffer-e de câte un cuvânt (16 bi i) pentru transferul dintre cache i circuitele externe.

Memoria cache este suficient de rapid pentru a transfera date în mod burst. fiind deocamdat util pentru sisteme care includ integrare video. Acest model permite unui banc de memorie s trimit sau s primeasc o serie de date printr-un singur ciclu de ceas i s comute la un alt banc pentru un alt transfer. Modelul este schimbat radical i cere o modificare important a tipului de calculator pe care se instaleaz . care acceseaz fiecare banc individual. un modul con inând 32 de cipuri Rambus. Rambus opereaz ca o mic re ea.94 ARHITECTURA SISTEMELOR DE CALCUL Spre deosebire de EDRAM. ele fiind legate printr-o magistral central de date. Rata de transfer maxim poate atinge 1. care se leag la memoria dinamic printr-o magistral de l ime foarte mare. Indiferent de leg tura cu microprocesorul. la o frecven de 100 MHz. Viteza ridicat a Rambus-ului impune limite în proiectarea unui sistem de memorie: magistrala trebuie s fie scurt i poate suporta doar 32 de cipuri sau 10 module de memorie Rambus. putând fi adresate separat. MDRAM (Multibanc DRAM) Principiul de lucru este urm torul: în locul unui bloc de celule. Rambus func ioneaz la 2 V. trimi ând date în pachete cu o lungime de pân la 256 octe i. fiecare din cele 16 bancuri de memorie streaz 256 KB. furnizând date la un timp de acces de 15 ns. deci. pe calculatoare de 64 de bi i. iar citirea acestora se face în pachete mici. Ea folose te o magistral special de înalt vitez . Memoria Rambus nu este implementat pe calculator ca o memorie standard. O vitez de peste 500 MB/s a magistralei poate s induc interferen e. fiecare celul este adresat prin num rul liniei i al coloanei. pentru a le minimiza. cât i DRAM-ului principal. În figura 3. Memoria DRAM produs de MoSys Inc. cipurile MDRAM opereaz la viteze de transfer de pân la 1 GB/s.25 este prezentat arhitectura unui cip de memorie RDRAM cu capacitatea de 32 MB. modelul permi ând transferul a doi octe i la fiecare ciclu de ceas: unul pe frontul cresc tor. Rambus opereaz la frecven e între 250 i 800 MHz. . astfel încât acestea opereaz independent una fa de cealalt . Cache-ul este destul de rapid. l imea magistralei dintre controlerul de memorie i cipul Rambus este de 1 octet. permi ând transferul unei pagini de memorie în cache într-un singur ciclu. p ile CDRAM asociaz atât cache-ului. Cipul permite celor dou buffer-e s func ioneze independent.6 GB/s. Accesul la memorie se face în mod inteligent. Viteza Rambus este izolat de microprocesor i r mâne constant indiferent de viteza microprocesorului. cu oscila ii de 300 mV. aceea i adres . În modelul MDRAM ini ial de 4 MB. iar al doilea pe frontul descresc tor al impulsului de ceas. RDRAM (Rambus DRAM) Modelul Rambus folose te un cache RAM static de 2. O colaborare între Intel i Rambus s-a materializat în 1999 printr-un DRAM care opereaz la 100 MHz. incluzând func ia de preînc rcare a datelor. la viteze ridicate ale semnalului de ceas. desparte informa ia stocat într-un num r de bancuri de memorie separate. Deoarece fiecare banc de memorie dispune de o interfa de 32 bi i care lucreaz la fel ca SDRAM.048 octe i. pot lucra în flux continuu.

se poate p stra activ câte o linie din fiecare din cele 32 de bancuri. care sunt plasate de o parte i de alta a bancurilor de memorie. În realitate. 3. a cum se observ din figur . fiecare pereche de c su e cu aceea i etichet (0/1. În mod ideal. pentru a ilustra lucrul simultan cu doar jum tate din bancurile disponibile. spre deosebire de bancurile SDRAM. fiecare banc de memorie are dimensiunea de 1 MB.) plasat la stânga i la dreapta unui banc constituie un singur amplificator de semnal. de fapt.26 prezint dou opera ii: una de citire i cealalt de scriere din/în memorie. De i pe diagram pare c fiecare banc este conectat la 4 amplificatoare de semnal. a a cum se observ în figura 3. mai precis. Cip de memorie RDRAM de 32 MB. Data A i Data B reprezint dou jum i ale unui dualoct (cu 8 octe i fiecare). Modul de func ionare este urm torul. iar cea reprezentat de Data B pe magistrala din stânga.Structura unui calculator 95 Fig. care sunt împr tiate printre mai multe cipuri de memorie. Fiecare dualoct con ine 16 octe i i. Cele dou magistrale care încadreaz bancurile de memorie au fiecare o ime de 8 octe i. Figura 3.25.26. . Aceste bancuri sunt individuale i apar in riguros aceluia i cip. deci. deci jum tatea dualoctului reprezentat de Data A se va transfera pe magistrala din dreapta. datele respective p sesc bancul i p trund în amplificatoarele de semnal (numerotate). pot exista numai 16 bancuri deschise simultan sau. îns . Revenind la diagram . dimensiunea total a liniilor matricei este de 2 KB. unul din atu-urile memoriei RDRAM este c fiecare cip de memorie poate con ine pân la 32 de bancuri de memorie. ceea ce face ca întregul cip s aib o capacitate de 32 MB. 1/2 etc. doar jum tate din bancurile existente pe cip. care p sesc bancul de memorie pe c i separate. Atunci când procesorul cite te un dualoct de 16 octe i dintr-un banc. pentru a maximiza ansele de a primi datele dintr-o linie activ . Fiecare banc reprezint o matrice DRAM organizat în 512 linii a câte 128 dualoc i (dualoctul este cea mai mic unitate de memorie adresabil de c tre RDRAM).

1 i 2. iar acestea sunt bancurile 0. ceea ce duce la o reducere a costului. 128 de bancuri. De exemplu. exist 32 de bancuri pe cip i. • cele dou magistrale de 8 octe i amintite anterior sunt divizate numai conceptual. 533 MHz) cu care opereaz memoriile SDRAM. În acest fel. De exemplu.96 ARHITECTURA SISTEMELOR DE CALCUL Fig. Faptul c dou bancuri de memorie ajung s împart un singur amplificator de semnal (sense amp) reprezint motivul pentru care numai jum tate din bancurile unui cip pot fi active simultan. în realitate formând o singur magistral cu l imea de 16 octe i. Referitor la ultima diagram prezentat . dintre care 64 active simultan pentru întregul modul. . fiecare banc de memorie împarte cele dou amplificatoare adiacente cu bancurile vecine lui. Deoarece un num r prea mare de amplificatoare ar m ri considerabil suprafa a pastilei de memorie. deci. Acest num r ridicat de bancuri de memorie reprezint explica ia pentru l rgimea de band i frecven ele foarte mari (400 MHz. ca atare. O opera ie de citire i o opera ie de scriere din/în memoria RDRAM. num rul bancurilor de memorie active ale unui modul RDRAM este mult mai mare fa de cel al unui modul SDRAM. pentru un singur modul RIMM cu 4 cipuri.26. se mic oreaz suprafa a cipului. Chiar i a a. care sunt conectate fiecare la câte un singur amplificator dedicat i. Exist i excep ii. Schema din figura 3. el fiind un buffer între bancul de memorie i magistrala sistemului. 3. a a cum memoria SDRAM este organizat în module DIMM. Se observ c la RDRAM cipurile sunt ata ate unor module de memorie RIMM. amplificatoarele 0/1 i 1/2 sunt conectate la bancurile 0. 15. 16 i 31.27 ilustreaz diferen ele dintre un sistem de memorie bazat pe RDRAM i unul bazat pe SDRAM. trebuie s a tepte ca un singur banc vecin s î i termine activitatea pentru a deveni active. mai trebuie f cute dou preciz ri: • fiecare amplificator de semnal are i o capacitate proprie de stocare de 1024 de octe i.

canalul Rambus suport pân la cinci domenii pentru semnalul de ceas. pot exista oricâte canale Rambus independente într-un sistem. Diferen ele dintre sistemele de memorie RDRAM i SDRAM. pentru a permite canalului Rambus s i ating rezisten a de sarcin (termina ia). doar pentru a putea p stra o sincronizare între transferurile pe magistrala de memorie. dar. Din punct de vedere teoretic.6 GB/s.27. fa de semnalul ajuns la primul modul RIMM. în practic . Din acest motiv. încât poate fi defazat de mai multe ori. neputând exista sloturi de memorie goale.Structura unui calculator 97 Fig. Un alt factor care complic designul unui subsistem de memorie Rambus este dat de faptul c semnalului de ceas provenit de la controlerul de memorie îi este necesar un timp atât de ridicat pentru a ajunge la cel mai dep rtat modul RIMM din sistem. Diferen a const în faptul c RIMM-urile sunt ata ate pl cii de baz în mod serial. fiecare cu o l rgime de band de 1. 3. . Aceste schimb ri ale domeniilor de tact complic îns i mai mult arhitectura sistemului de memorie Rambus. sloturile de memorie de pe placa de baz r mase libere vor trebui completate cu module de continuitate. Dac nu exist suficiente module de memorie RIMM propriu-zise.28. num rul canalelor este limitat din considerente de design al pl cilor de baz . prezentat în figura 3.

dar are nevoie de un nou cip-set.28.29 prezint func ionarea unui sistem de memorie format din 3 DIMM-uri. fa de DDR SDRAM. Standardele uzuale actuale sunt PC1600. DDR SDRAM (Double Data Rate Synchronous DRAM) Acest tip de memorie transfer date pe ambele fronturi (cresc tor i descresc tor) al semnalului de ceas. sensul ar fi. care lucreaz pe 64 de bi i). principalul criteriu nemaifiind frecven a. Elementele de baz ale unui sistem de memorie RDRAM. Similar. felul în care interac ioneaz cu magistrala de memorie este foarte asem tor celui al predecesoarei sale. con inutul curent al acestuia este v rsat în DRAM-ul integrat pe cip. fiecare cu 4 bancuri de memorie pe 64 de bi i.98 ARHITECTURA SISTEMELOR DE CALCUL Fig. invers (CPU–memorie). frecven a este de 333 MHz. Deoarece memoria DDR SDRAM este o variant evoluat a SDRAM-ului. . ci l rgimea de band maxim oferit teoretic i care se exprim în MB/s. L rgimea de band de 1600 MB/s se ob ine înmul ind l imea c ii de date (64 de bi i) cu frecven a memoriei (200 MHz) i împ ind la num rul de bi i dintr-un octet (8). 3. cu excep ia faptului c la DDR SDRAM se transfer dou cuvinte de date într-o perioad de ceas. În figur sunt marcate blocurile de date de 64 de bi i (alc tuite din 4 pachete de câte 16 bi i). Figura 3. blocuri trimise de bancurile de memorie c tre procesor în timpul unei opera ii de citire. evident. Fa de RDRAM. iar pentru PC2700. În felul acesta. 266 MHz. este accesat o alt pagin i abia apoi are loc citirea din memorie. adic . DDR SDRAM se monteaz pe acela i tip de socluri. Primul are o frecven de 2×100 MHz (datorit transmisiei datelor pe ambele fronturi ale semnalului). viteza rezultat în transferul datelor este dubl (Double Data Rate) fa de o memorie SDRAM. PC2100 i PC2400. S ge ile indic sensul parcurs de date pe magistrala de memorie la care sunt conectate DIMM-urile. Avantajele DDR SDRAM fa de RDRAM sunt pre ul i faptul c rata de transfer RDRAM este aproximativ 60–70% din rata DDR SDRAM (datorit faptului c lucreaz pe 16 bi i. DDR SDRAM prezint urm torul dezavantaj: dac datele solicitate nu exist în cache. pentru PC2100 frecven a este 2×133MHz. Evaluarea modulelor DDR SDRAM se face într-un mod diferit de SDRAM. În cazul unei opera ii de scriere.

. Dac memoria DDR2 ar opera la aceea i frecven de ceas ca DDR. folosirea tehnologiei on-die termination sau folosirea unor buffer-e de preînc rcare. Frecven a magistralei DDR2 este crescut prin unele îmbun iri la interfa a electric . astfel încât pot fi transfera i 4 bi i de date într-un ciclu al celulei de memorie. Unul dintre principalele avantaje ale DDR2-ului este abilitatea acestuia de a opera cu magistrala de date extern de dou ori mai repede decât DDR. conform diagramei de timp din figura 3. spre deosebire de doi bi i în cazul DDR. Din p cate.30. DDR2 poate avea întârzieri de 4 pân la 6 cicluri. datele din memoriile DDR2 sunt transferate atât pe frontul cresc tor. reprezentând o îmbun ire a memoriilor DDR SDRAM. dar ar avea o întârziere semnificativ mai mare. Diferen a principal dintre DDR i DDR2 este aceea c în cazul DDR2 magistrala este sincronizat la de dou ori frecven a la care lucreaz celulele de memorie.Structura unui calculator 99 Fig. 3.29. Acesta este motivul care a f cut necesar ca magistrala s lucreze la o frecven de dou ori mai mare. DDR2 SDRAM (Double Data Rate Two Synchronous DRAM) Memoriile DDR2 fac parte din familia memoriilor SDRAM. cât i pe frontul descresc tor al ceasului. ar asigura aceea i l rgime de band . Sistem de memorie DDR SDRAM cu 3 DIMM-uri a câte 4 bancuri pe 64 de bi i. implementarea tuturor acestor tehnologii au dus la o cre tere a întârzierilor. Ca i în cazul DDR. Buffer-ul de preînc rcare în cazul DDR2 are o adâncime de 4 bi i. Dac în cazul DDR apare o întârziere între dou i trei cicluri ale magistralei de date. Acest lucru este ob inut prin îmbun irea semnaliz rii magistralei i prin operarea celulelor de memorie la jum tate din frecven a de ceas (un sfert din rata de transfer a datelor).

identificate.5 6 5 3. Pentru folosirea în calculatoarele personale.3 V.) 400 533 667 800 1066 1300 Numele modulului PC-3200 PC-4200 PC-5300 PC-6400 PC-8500 PC-10400 Rata max. Citirea în rafale la DDR2 SDRAM.9 V. Totu i. dup rata maxim de transfer. Schimbarea capsulelor a fost necesar pentru a men ine integritatea semnalului la viteze mai mari.2. cât era necesar pentru DDR. Tensiunea maxim recomandat este 1.30. de transfer (MB/s) 3200 4266 5333 6400 853 10400 . memoriile DDR2 vin sub forma unor module DIMM cu 240 de pini. (mil. Un alt cost cauzat de cre terea vitezei este necesitatea încapsul rii cipurilor în capsule mai scumpe i mai dificil de asamblat. de obicei.5 V. Cele ase standarde pentru modulele DDR2 sunt prezentate în tabelul 3. Consumul de energie poate fi redus chiar i mai mult.1 Frecven a magistralei I/O (MHz) 200 266 333 400 533 650 Transferuri de date pe sec. DDR2 a mai f cut un pas înainte.100 ARHITECTURA SISTEMELOR DE CALCUL Fig. 3. Tabelul 3. cum ar fi BGA (Ball Grid Array). modulele de memorie ar trebui s reziste pân la 2.8 V fa de 2. înainte ca memoria s fie complet distrus .75 3.2 Standardele pentru modulele de memorie DDR2 Numele standardului DDR-400 DDR-533 DDR-667 DDR-800 DDR-1066 DDR-1300 Frecven a memoriei (MHz) 100 133 166 200 266 325 Perioada ceasului (ns) 10 7. Din punct de vedere al consumului de energie. prin reducerea frecven ei în situa iile în care nu este necesar o rat de transfer foarte mare. fiind chiar interzis dep irea acesteia în situa iile în care stabilitatea memoriei este un factor cheie. necesitând numai 1.

ceea ce duce la posibilitatea ob inerii de module de pân la 16 GB. Tensiunea maxim recomandat pentru DDR3 este 1.975 V.5 V pentru DDR). nu vor func iona corect la acest nivel. DDR3 permite cipuri de capacitate de la 512 Mb pân la 8 Gb. iar densitatea pinilor (240 pentru desktop. 200 pentru notebook) este u or mai mare decât în cazul DDR (184). Cele patru standarde pentru modulele DDR3 sunt prezentate în tabelul 3. cât era în cazul DDR2.575 V. Cheia de siguran la DDR2 se afl în alt pozi ie.) 800 1066 1333 1600 Numele modulului PC-6400 PC-8500 PC-10600 PC-12800 Rata max. Redimensionarea buffer-ului are un cuvânt greu de spus în ceea ce prive te întârzierea semnalului CAS. (mil. sunt incompatibile din punct de vedere electric. În mod normal. DDR2. tehnologie care ar permite reducerea i mai mare a scurgerilor de curent. DIMM-urile DDR3 au acela i num r de pini ca modulele DDR2 (240). cu toate acestea. Tabelul 3. În plus.5 6 5 Frecven a magistralei I/O (MHz) 400 533 667 800 Transferuri de date pe sec. Principalul avantaj al memoriilor DDR3 este dat de l rgimea de band . DDR3 SDRAM (Double Data Rate Three Synchronous DRAM) Memoriile DDR3 sunt o îmbun ire a modelului precedent de memorii. iar cheia de securitate este situat în alt pozi ie. modulele DDR3 pot transfera date la o frecven de 800–1600 MHz.Structura unui calculator 101 DIMM-urile DDR2 nu au fost proiectate s fie compatibile cu modulele DDR. folosind ambele fronturi ale tactului I/O.3 Standardele pentru modulele de memorie DDR3 Numele standardului DDR3-800 DDR3-1066 DDR3-1333 DDR3-1600 Frecven a memoriei (MHz) 100 133 166 200 Perioada ceasului (ns) 10 7. dar. Modulele DDR2 mai rapide sunt compatibile cu modulele DDR2 mai lente. Aceast dublare a dimensiunii buffer-ului este spectaculoas . Cre terea acesteia a fost posibil i datorit buffer-ului de preînc rcare. cel mai probabil.5 V (fa de 1. îns magistrala va func iona la viteza celui mai lent modul. a c rui adâncime a fost m rit de la 4 bi i. la 8 bi i. cu frecven a de 400–800MHz. de transfer (MB/s) 6400 8533 10667 12800 . având i acelea i dimensiuni. Memoriile DDR3 promit o reducere a consumului de energie cu 17%.3. tehnologia de 90 nm folosit în fabricarea cipurilor DDR3 având nevoie de o tensiune de 1. f a suferi o distrugere total . Unii produc tori propun utilizarea tranzistorilor dual-gate. Teoretic. memoriile ar trebui s reziste pân la 1. de i. Principala diferen între cele dou const în faptul c magistrala I/O DDR3 func ioneaz la o frecven de patru ori mai mare decât celulele de memorie. în compara ie cu celelalte mici increment ri ale dimensiunii care au avut loc anterior.8V pentru DDR2 sau 2.

Un alt element caracteristic DDR3 este sistemul XMP (eXtended Memory Profile). inclusiv DDR2. utilizau o topologie stea pentru a împ i datele spre mai multe c i de semnal.102 ARHITECTURA SISTEMELOR DE CALCUL O tehnologie complet nou . tensiunile i frecven ele pân la care poate fi for at ceasul pentru a câ tiga un plus de performan . ceea ce duce la sc derea costurilor de produc ie a pl cilor de circuite integrate. Pentru DDR3. aceast problem s-ar rezolva dac s-ar reu i echilibrarea tuturor ramurilor. în locul încerc rii unei echilibr ri la nivelul întregii platforme de memorie. i pentru sisteme GPU (Graphical Processing Unit) de top. sunt transmise pe aceea i cale. senzor care detecteaz momentul în care modulul se apropie de un anumit prag de temperatur i. De asemenea. integritatea semnalului este rezolvat la nivelul fiec rui modul DRAM. XDR DRAM permite o l rgime de band per pin mult mai mare. Genera iile anterioare de SDRAM. Practic. folosit pentru prima dat în cazul DDR3. atât adresele. practic. tehnologia mecanic dezvoltat pân azi nu permite acest lucru. acest lucru ar fi posibil. Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decât a f cut-o nu se datoreaz atât procesului de fabrica ie. fiind în concuren direct cu DDR2. XDR-ul a fost proiectat în special pentru sisteme mici. În cazul topologiei stea folosite de DDR2. Acum. Doar prin selectarea unei anumite op iuni. De remarcat este i prezen a unui senzor de temperatur . DDR2 nu este preg tit s ating viteze mai mari. Acest pin permite resetarea unui modul de memorie f resetarea întregului sistem. înlocuind-o cu un semnal automat de întârziere. permite utilizatorului unei configura ii alc tuite dintr-un procesor Intel i o memorie DDR3 s realizeze un overclocking foarte simplu. pentru prima dat la memoriile DDR. sistemul va decide singur factorii de multiplicare. cât i semnalele de control. ceea ce permite un r spuns mult mai rapid din partea sistemului. topologia Fly-By elimin limit rile cauzate de echilibrarea mecanic folosit în DDR2. Acest sistem de siguran permite i el o reducere a consumului de energie. SDRAM i GDDR4 (memoriile grafice pentru pl cile grafice din familia GeForce FX). care necesit o l rgime de band ridicat . . La frecven e mai mari. Teoretic. dar. Topologia FlyBy utilizeaz o singur leg tur direct c tre toate componentele DRAM. în consecin . prezente la primele modele RDRAM. XDR DRAM (eXtreme Data Rate DRAM) Memoriile XDR-RAM sunt considerate ca fiind succesorul memoriilor Rambus (RDRAM). efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi. DIMM-ul începe s întâmpine probleme în ceea ce prive te integritatea semnalului. Acest sistem. Aceast tehnologie elimin problemele cauzate de întârzierile ridicate. implementat pe placa de baz . ceea ce duce la o sc dere a timpului i a energiei pierdute. poate scurta intervalele de refresh. este topologia Fly-By. Sc derea costurilor este posibil datorit faptului c sunt necesare mai pu ine c i de transmisie a datelor pentru aceea i l rgime de band . care ar fi trebuit rafinat mai mult. generat de c tre controlerul de memorie. O alt inova ie prezent la DDR3 const în apari ia unui pin de reset. Din p cate. În esen . cât unor limit ri mecanice.

Sistemul de memorie Rambus XDR satisface nevoile computa ionale din numeroase domenii. p strând în acela i timp i integritatea ridicat a semnalului. joas putere. • Controlerul I/O. Elementele cheie ale arhitecturii XDR care permit performan e ridicate sunt: • XDR DRAM este un circuit integrat de memorie de mare vitez . numit XIO în cazul XDR DRAM. care garanteaz semnalele de tact pentru XIO i alte dispozitive XDR DRAM. dezvoltat ini ial pentru RDRAM. XIO poate fi configurat s suporte mai multe dispozitive. • Generatorul de tact. Blocul RQ asigur subsistemelor memoriei informa iile referitoare la adrese i control. asigurând astfel rgimea de band necesar aplica iilor grafice sau altor aplica ii. care permite o magistral scalabil . Blocul CTL asigur accesul la registre. esen ial în cazul serverelor. Memoriile XDR DRAM vin sub forma unor module XDIMM. multi-GHz. O alt inova ie tehnologic adus de XDR este tehnologia DRSL (Differential Rambus Signaling Level). XIO este compus din unul pân la 12 blocuri de cerere a magistralei (RQ – ReQuest bus block). la o frecven de pân la 4 GHz. re elistic sau electronic de larg consum. XCG. cu o interfa care lucreaz la 4 GHz. de exemplu. cât i în configura ie dual-channel. • Controlerul de memorie XMS este optimizat pentru a profita de inova iile aduse de XDR. care folose te un sistem de semnalizare pe 8 bi i. . aducând i unele îmbun iri (tehnologia FlexPhase). un bloc de control (CTL) i un num r variabil de blocuri de date de 8 sau 9 bi i – în cazul memoriilor cu cod corector de erori (DQ). Acestea ofer flexibilitate în ceea ce prive te upgradeul. asigur aceea i vitez ridicat ca la DRAM.31). Spre deosebire de alte dispozitive DRAM. Aceast tehnologie presupune un standard de semnalizare de joas tensiune. XDIMM-urile pot fi instalate atât în configura ie single-channel. servere. care permite o extindere a capacit ii. adresate prin intermediul unei magistrale i comandate prin ni te semnale. având momentan o densitate de 512 Mb. strând întreag l rgimea de band a sistemului i conservând integritatea semnalului. standard care permite conectarea a pân la 36 de dispozitive într-un mod sincron. Un bloc DQ este capabil s primeasc i s transmit date cu o frecven de pân la 4 GHz. Celula XIO este un controler I/O performant cu întârzieri reduse. între inerea i testarea func iilor sistemului. cum ar fi tehnologia Dynamic Point-to-Point. bidirec ional . de tip Point-to-Point. diferen ial.Structura unui calculator 103 Dispozitivele XDR DRAM folosesc un nucleu DRAM cu 8 bancuri. asigur patru ie iri programabile. o capacitate ridicat i performan ridicat . implementate în tehnologie CMOS. Datorit tehnologiei Dynamic Point-to-Point. caracteristic modelului Point-to-Point. permi ând o l rgime de band de pân la 8 GB/s de la un singur dispozitiv XDR DRAM. ini ializarea. cum ar fi computere grafice. XDR folose te i standardul RSL (Rambus Signaling Level). care conecteaz celula XIO la dispozitivele XDR DRAM. caracteristic topologiei Point-to-Point. specifice Rambus (vezi figura 3. dispozitivele ×16 XDR DRAM implementeaz o l rgime programabil i suport magistrale de 8. 4 sau chiar 2 bi i. asigurând o l rgime de band de pân la 8GB/s.

varianta 1T-SRAM este mai mic decât SRAM-ul clasic. fiind mai apropiat de eDRAM (embedded DRAM) în ceea ce prive te dimensiunea i densitatea (vezi figura 3.31. ca în formatul de memorie 1T-SRAM (vezi paragraful urm tor). ofer o alternativ la memoriile SRAM tradi ionale. capacitiv . memoriile 1T-SRAM au o interfa standard SRAM de un ciclu i sunt percepute de restul logicii sistemului exact ca orice alt memorie SRAM. În acela i timp. Atât celula microprocesoare utilizat în PlayStation 3. . ca în cazul DRAM. 3. bazat pe celule de 6 tranzistori.104 ARHITECTURA SISTEMELOR DE CALCUL Fig. permi ând o capacitate mai mare. eDRAM (embedded DRAM) eDRAM reprezint o memorie dinamic cu acces aleator. 1T-SRAM (1 Transistor Static RAM) Tehnologia de fabricare a memoriilor 1T-SRAM. Datorit celulei de memorare cu un tranzistor. În consecin . spre deosebire de modulele DRAM externe i SRAM-urile utilizate tipic pentru memorii cache. Memoria eDRAM este folosit într-o larg varietate de console de jocuri. cât i cea pentru IBM Power. cum ar fi preînc rcarea sau reactualizarea). Modul de memorie XDIMM. consum mai pu in decât eDRAM i este realizat în tehnologie CMOS. Principala utilizare a memoriilor 1T-SRAM este în cazul sistemelor embedded (sisteme dedicate). utilizând procesarea CMOS standard pentru a fabrica eDRAM. introdus de c tre MoSys. MoSys a implementat o celul de memorare cu un singur tranzistor. Diferen a în procesul de fabrica ie determin dificultatea integr rii pe aria cipului procesorului. folosesc eDRAM la cache-ul L2. în nodul de procesare de 45 nm al IBM. dar aceast celul este sus inut de o re ea de circuite care fac func ionarea memoriei s fie echivalent celei a memoriilor SRAM (controlerul ascunde toate opera iile specifice memoriilor DRAM. ridicând costul.32). Cele mai recente dezvolt ri surmonteaz aceast limitare. astfel încât mai multe circuite integrate de pe arie trebuie împachetate într-un chip. pot fi utilizate cantit i mai mari de memorie. 1T-SRAM ofer performan e comparabile cu SRAM. integrat în mod uzual în acela i pachet cu procesorul. ca SRAM-ul clasic. Datorit unei densit i mult crescute pentru DRAM în compara ie cu SRAM. Împachetarea permite folosirea de magistrale mult mai mari i o vitez sporit a opera iilor.

care are o dimensiune de dou ori mai mic decât 6T-SRAM i consum mai pu in de 50% fa de acesta. au fost lansate patru genera ii de memorii SRAM cu un tranzistor: 1. în compara ie cu DRAM. de genul telefoanelor mobile. MoSys prezint 1T-SRAM ca fiind solu ia ideal pentru aplica iile bazate pe SOC-uri (System-On-a-Chip – se încearc integrarea tuturor componentelor unui computer sau a unui sistem electronic într-un singur circuit integrat). În cazul celei de-a doua variante. În plus. fiecare linie citit este copiat i în memoria cache. 1T-SRAM original. reu indu-se astfel realizarea unui ciclu RAS la fiecare acces. Chiar dac . acordându-se astfel timpul necesar pentru realizarea reîmprosp rii. Fiecare acces se face la câte un banc. timer-e. caz în care toate liniile vor fi reactualizate automat. 1T-SRAM este ineficient în ceea ce prive te spa iul. permi ând astfel bancurilor nefolosite s fie reactualizate în acela i timp. 3. fiind proiectat pentru uzul în sisteme portabile. Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici bancuri de memorie (în general. care este o variant cu un consum mult mai mic în modul stand-by. 2. cum ar fi microcontrolere. În eventualitatea unor acces ri repetate la acela i banc. fie aceea i linie este accesat de mai multe ori. 128 linii a câte 256 de bi i fiecare. 1T-SRAM-M. urm toarele citiri se vor face din memoria cache. lungimea mai mic a cuvintelor permite atingerea unor viteze mult mai mari. Pân în prezent (mai 2008). . exist dou variante: fie sunt accesate linii diferite. regulatoare de tensiune etc. DSP-uri. blocuri de memorie.32.Structura unui calculator 105 Fig. Compara ie între celula 1T-SRAM i celula SRAM cu 6 tranzistori. rezultând un total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc i la un controler de memorie.

ceea ce duce automat la o rat mai mare de apari ie a erorilor. spre deosebire de SRAM standard. Memoriile 1T-SRAM sunt disponibile i sub form de circuite integrate. Acest tip de memorie este ideal pentru sistemele de comunica ii i re elistic . consola Nintendo’s Wii.33. ducând astfel la ob inerea unor viteze foarte mari pentru opera iile de scriere i de citire. În majoritatea proceselor de fabricare a memoriei eDRAM este necesar parcurgerea unor pa i suplimentari i costisitori. cum ar fi router-e sau switch-uri. memoriile QDR se situeaz foarte bine.4 V pentru pinii de intrare/ie ire. suportat de toate sistemele de networking de nou genera ie (vezi figura 3. cu o laten foarte mic . QDR permite introducerea i extragerea datelor pe ambele fronturi (DDR – Double Data Rate). în care cei doi pini sunt comuni. QDRII SRAM utilizeaz porturi I/O la o vitez foarte ridicat prin tehnologia HSTL (High Speed Transceiver Logic). În felul acesta. QDR II SRAM (Quad Data Rate II Static Random Access Memory) QDR este o memorie SRAM echipat cu un pin pentru intrarea datelor i un pin separat pentru ie irea datelor. 4. . necesitând doar 1. De asemenea. memoria 1T-SRAM a fost folosit în urma ul lui GameCube. 1T-SRAM-R. Celulele de memorie sunt mai mici.8 V pentru nucleul memoriei i 1. care se pot desf ura simultan. Pentru a veni în întâmpinarea tendin elor din acest domeniu.33).106 ARHITECTURA SISTEMELOR DE CALCUL 3. Totu i. Memoriile 1T-SRAM func ioneaz la viteze comparabile cu 6T-SRAM i sunt semnificativ mai rapide decât eDRAM. dep ind astfel destul de mult costul de produc ie al memoriei 1T-SRAM. care încorporeaz un sistem de corec ie a erorilor (ECC). folosind un proces nestandard de fabricare a condensatoarelor. care permite înjum irea dimensiunilor memoriei înc o dat fa de 1T-SRAM-R. modelul quad-density fiind cu doar 10–15% mai mare. Acest aspect este extrem de important în domeniul pentru care sunt concepute s func ioneze aceste memorii. sistemul ECC rezolv aceast problem . care este o versiune quad-density. Arhitectura QDR II SRAM. Nintendo GameCube a fost prima platform care a folosit 1T-SRAM ca sistem principal de stocare a datelor. Fig. 1T-SRAM-Q. se poate realiza un transfer de pân la patru cuvinte la fiecare ciclu de ceas. 3. Din punct de vedere al consumului de energie.

O memorie QDR II hot te dac va efectua o opera ie de scriere sau de citire. R# trebuie s fie la nivelul 0 (vezi figura 3.34. Aceste func ii sunt selectate prin folosirea unor registre speciale. Pentru a da o comand de citire. Astfel.35). Memoriile QDR II vin sub forma unor FPGA-uri de 13 × 15 × 1 mm. intrarea i ie irea pot fi foarte u or defazate.Structura unui calculator 107 Memoriile QDR II sunt prev zute cu dou generatoare de semnale de ceas. în func ie de starea în care se afl pinii de citire (R#) i de scriere (W#) la momentul în care ceasul se afl pe front cresc tor. iar pentru a da o comand de scriere. trebuie s dispun de o reîmprosp tare periodic . Deoarece este o memorie de tip DRAM. au fost introduse func ii speciale. care specific adresele grafice necesare aplica iilor. Fig.35. Opera ia de scriere la QDR II. 3. dar i prin folosirea unor pini speciali. SGRAM (Synchronous Graphics RAM) Func ionarea memoriei SGRAM este asem toare celei de la memoria SDRAM.34). cel lalt pentru ie ire. unul pentru intrare. Fig. pentru a citi i a scrie date eficient i rapid. Func ia principal a memoriei SGRAM este aceea de a stoca i citi date simultan în zona de memorie. . Astfel. R# trebuie s fie la nivelul 1 i W# la nivelul 0 (vezi figura 3. 3. Opera ia de citire la QDR II.

care corespunde nevoilor de scanare a unei imagini video. Dac parametrii de citire i scriere sunt înregistra i. La fel ca în cazul memoriei SDRAM.36. Formatul ciclic al diagramei de timp pentru memoria SGRAM. timpul de a teptare afectând în mod negativ performan ele video. mai este necesar doar adresa coloanei. toate semnalele de intrare sunt înregistrate pe frontul cresc tor al semnalului de ceas (vezi figura 3. aceste opera ii de citire i scriere nu pot ap rea simultan. se poate m ri viteza sistemului video cu aproximativ 40%. pentru ca aceasta s apar pe ecran. . Formatul SGRAM conceput de IBM poate citi sau scrie un num r de loca ii dintr-un burst de 1. 3. una trebuie s o a tepte pe cealalt . dup ce au fost introduse datele.108 ARHITECTURA SISTEMELOR DE CALCUL Fig. Dezavantajul principal al tehnologiei VRAM este c aceasta este mai scump . teptarea poate fi evitat prin introducerea unui cip special de memorie. Exist un contor în structura sa intern .36). Cu memorii DRAM obi nuite. Între timp. Pentru a face trecerea pe un nou rând. Cipurile de memorie video VRAM permit citirea i scrierea aleatorie la un port. aceasta fiind înmagazinat sub form digital i alocat pentru fiecare element al imaginii. care s aib dou c i (dual ported) pentru accesul fiec rei loca ii. Întregul con inut al buffer-ului este citit de la 44 la 75 de ori pe secund . 4. calculatorul poate încerca s scrie o nou informa ie în buffer. în timp ce la cel lalt port se permite doar citirea secven ial . care num fiecare loca ie de memorie. Folosind îns memorii VRAM. memoria continu s introduc date pân când toate spa iile sunt completate sau pân când apar secven e de întrerupere. 8 octe i sau chiar o pagin de memorie. O astfel de memorie permite scrierea i citirea simultan . Odat ce un rând este activ. viteza sistemului i r bdarea utilizatorului. acesta trebuie s fie preg tit i astfel va deveni activ. VRAM (Video RAM) Problemele de acces la memorie apar cu prec dere în sistemele video la care memoria este folosit ca un buffer de cadru pentru imaginea de pe ecran. 2.

Cipul încarc unul din registre. Cipul de baz WRAM p streaz 1 MB aranjat în plane de 32 de bi i. trebuie s existe un num r impar de bi i. . doar c un rând de bi i con ine un num r par de 1. Observa ie. Când o dat este impar . prin verificarea parit ii memoriei. legate la un port serial. Paritatea memoriei este de dou tipuri: par i impar . impar . WRAM (Windows RAM) Un model VRAM cu dou porturi este WRAM (elaborat de Samsung). pe majoritatea pl cu elor de memorie se afl instalate 9 cipuri (pentru memoriile paritare). Formatul Windows RAM nu are leg tur cu Microsoft Windows. Acest port este conectat la un controler D/A de vitez foarte mare. când se ajunge la etapa de verificare a memoriei. Exemplu. util în sistemele video proiectate s asiste o interfa grafic gen Windows. 3. Trei cipuri asigur memoria necesar pentru a afi a o rezolu ie de 1024 × 768.2. altele sunt citite sau stocate din aria DRAM printr-un port DRAM. compatibile cu circuitele din calculator. Cu o rat de transfer de pân la 640 MB/s. Formatul VRAM prezint câteva caracteristici realizate special pentru a cre te flexibilitatea în aplica iile grafice. comutând între ele în momentul în care registrul al doilea se gole te. conform exemplului. În timp ce unele date sunt citite cu ajutorul portului serial. Un rând de bi i con ine un num r impar de 1 (num r re inut în câmpul 9). iar celelalte dou pentru control i m ti. procesul este identic cu cel anterior.Structura unui calculator 109 Pentru a trimite iruri de date c tre monitor cu o vitez ridicat . Intern. iar din cel lalt extrage datele. 1024 × 1024 i pentru operare în True Color pe 24 bi i. La pornirea sistemului. Cipul con ine patru registre de 32 de bi i. cu rol de testare a st rii de func ionare a celorlalte 8 cipuri. o magistral de date de 256 de bi i leag fiecare plan de bi i cu controlerul logic intern al cipului care multiplexeaz datele pe 32 de bi i. modelul WRAM poate m ri viteza sistemului cu 50 % în compara ie cu VRAM. Memoria fiind. Fie cazul unei memorii impare. memoria VRAM include o serie de registre numite SAM (Serial Access Memory). Memoria VRAM are o interfa DRAM complet separat de portul serial.10. Pentru a furniza date în scopul scan rii video. iar cel de-al 9-lea fiind numit cip de paritate (parity cip). bitul de paritate este 1. În cazul memoriei pare. dou pentru înmagazinare i pentru culorile de fundal. în caz contrar sistemul semnalând o eroare de paritate (parity error) i deci un cip (sau mai multe) este (sunt) defect(e). Datele sunt cuprinse pe 8 bi i (1 bit/cip). fiecare fiind compus din 512 × 512 celule. se verific i paritatea rândurilor de bi i (parity check). cipul con ine dou registre serie. Verificarea prin controlul parit ii Revenind la caracteristicile generale ale memoriei. primele opt având rol de memorie efectiv de lucru (8 bi i – de la 0 la 7).

acestea sunt utile la calculatoarele care au implementat mecanismul de detectare a parit ii. iar eroarea poate fi remediat (se mai nume te tehnologie Error Detection And Correction – EDAC). în aceea i capsul sunt prezente patru sau dou cipuri de memorie. la detectarea unei erori de paritate este emis o cerere de întrerupere (de c tre cipul specializat). programele obi nuite de testare nu pot s le detecteze (conform cu Kingston Tehnologies. Aceast schem are aceea i eficien cu cea paritar (8/9 = 64/72). SIMM-urile paritare pe 8 bi i folosesc un bit de paritate (module pe 9 bi i). care poate detecta o eroare la 8 bi i. spre deosebire de cealalt schem . memoria folose te cuvinte de cod de 72 de bi i (64 bi i de date + 8 bi i de control). Datorit faptului c cipurile care genereaz paritate fals sunt mai ieftine. deoarece cre tea pre ul memoriei cu 10–15 %. În timpul func ion rii sistemului.110 ARHITECTURA SISTEMELOR DE CALCUL Memoriile SIMM se prezint constructiv cu 8 sau 9 cipuri pe pl cu . Firma IBM folose te tehnologia ECC pe calculatoarele proiectate pentru a func iona ca servere. care emite un semnal ce atest paritatea f s realizeze o verificare efectiv . GSM. 8 × 4 = 32 bi i + 4 × 1 = 4 bi i de paritate). Exist îns procedee care pot efectua atât detec ia. dar ofer corec ie cu o robuste e mai mic . Deoarece modulele cu paritate fals lucreaz la nivel hard. Un exemplu îl constituie procedeul ECC (Error Correction Code). . MPEC sau VT). pe o pl cu fiind prezente doar 2 sau 4 circuite integrate. În acest scop. Exist îns i calculatoare care au implementat o paritate fals (fake parity). în caz contrar ap rând erori. care va avea ca rezultat final oprirea procesului aflat în execu ie i reluarea unei rutine BIOS care va afi a un mesaj specific. Exist i module de memorie care folosesc cipuri compuse. dar toate pl cile DIMM sunt prev zute cu aceasta facilitate. Acest cod poate corecta automat orice eroare de 1 bit care apare într-un cuvânt de 64 de bi i. Procedeul poate s localizeze bitul care este eronat. va trebui dezactivat din CMOS op iunea de verificare a parit ii memoriei. la aceasta ad ugându-se i posibilitatea unei compact ri a cipurilor util la calculatoare de tip notebook. Singurul mod de a le identifica este folosind un tester pentru module de memorie. În cazul în care se folosesc module de memorie neparitare. Anumi i produc tori ai cipurilor de RAM au abandonat verificarea parit ii. Nu toate pl cile SIMM folosesc verificarea parit ii. cipurile cu paritate fals sunt marcate cu una din urm toarele inscrip ii: BP. pentru c poate corecta o eroare la 64 de bi i. care necesit bi i suplimentari pentru fiecare octet memorat. Unele variante de microprocesoare au integrat un modul special de evaluare i verificare a parit ii memoriei. dup cum sunt cipuri paritare sau nu. În general. Exemplu. În acest caz. În nici un caz nu se pot folosi combina ii de module paritare cu module neparitare. cât i corec ia unor erori. modulele de memorie cu paritate fals apar identice modulelor cu paritate. iar cele pe 32 de bi i folosesc 4 bi i de paritate (module pe 36 bi i.

Acest lucru este posibil datorit faptului c microprocesorul acceseaz date. dup cum s-a mai spus. apoi timpul în care procesorul cite te din bancul 1 este folosit de bancul 0 pentru aceea i opera ie de reîmprosp tare. datorit faptului c în cazul unei cereri de date din partea microprocesorului. acesta transmite cipului de memorie nu adresa datei cerute. existând modele de plac de baz care nici nu func ioneaz cu o singur pl cu de memorie. de la adrese apropiate sau învecinate cu adresa citit anterior. astfel. dup citirea de la adresa k din bancul 0 urmeaz citirea de la adresa k+1 din bancul 1. în cadrul paginii. Paginarea asigur o citire mai rapid . 3. nu mai este timp de refresh între dou citiri consecutive i se vor introduce una sau dou st ri de teptare ale procesorului (wait states). Între eserea presupune c procesorul desf oar o activitate paralel de accesare pentru dou bancuri de memorie (memoria este împ it . se folosesc diverse metode de acces la memorie prin paginarea acesteia sau între esere (Paging Mode sau Interleaving). Cum citirea este un proces secven ial. spa iul de c utare a informa iei este mic orat prin paginarea memoriei. adresa datei solicitate (vezi capitolul 6). ceea ce determin încetinirea general a vitezei sistemului. care pot ajunge pân la câteva nanosecunde). în general. Timpul de citire din bancul 0 este folosit de memoria instalat în bancul 1 pentru opera ia de reîmprosp tare. Metodele de acces la memorie Un alt aspect care trebuie luat în considerare este timpul de acces al memoriei RAM folosite. instantaneu). calculeaz automat cel mai apropiat cuvânt de cod. deoarece opera ia de refresh a bancului 1 a fost deja realizat .11. Automat. pentru microprocesoarele Pentium i postPentium. Aceste opera ii sunt destul de complicate. timp destul de mare.Structura unui calculator 111 Procedeul ECC nu este mai costisitor de implementat. care au magistrala de date de 64 bi i. având în vedere vitezele de tact la care lucreaz azi diversele procesoare. Pentru a sc dea timpul de acces al memoriei RAM. Aceast metod are un dezavantaj: în cazul citirii din loca ii succesive. . costul unei memorii cu verificare a parit ii i corec ie este acela i. iar timpul în care este accesat o informa ie scade. ci adresa unei pagini care con ine informa ia dorit i. astfel încât un sistem cu memorii ECC merge cu aproximativ 5% mai lent decât unul cu memorii paritare. dac nu. datorit cre terii dimensiunilor magistralelor. Plasarea pl cilor de memorie în bancuri separate este foarte util i uneori obligatorie. La fiecare acces la memorie. doar pare sau doar impare (la citiri succesive din acela i banc datele sunt scrise – cele pare în primul banc. pe care apoi îl decodific . citire care se efectueaz foarte rapid (practic. acesta sunt de ordinul zecilor de nanosecunde (cu excep ia memoriilor SDRAM. bancul 0 i bancul 1.2. Se asigur astfel citirii o fluen aproape perfect . hardware-ul verific dac cuvântul de cod este corect. cele impare în cel de-al doilea banc). în cel pu in dou bancuri. care nu sunt accesate simultan). Dup cum s-a mai spus.

37): • memoria cache primar sau intern (primary level cache. Dar. Memoria cache este subordonat în activitatea ei unui controler de memorie cache (de exemplu. datele solicitate s aib timp s ajung la procesor. ceea ce este foarte mult fa de nivelul de câteva nanosecunde. Tipurile mai noi de cache sunt oferite sub form de plachete asemenea SIMM-urilor. fie cu comenzi. se permite datelor solicitate de procesor s fie localizate i „extrase“ din RAM. L2 / L3). în spe memoria de lucru RAM (prin necesitatea de a fi reîmprosp tat ) i magistralele calculatorului (lente din principiu). Pl cile de baz actuale au uzual cel mult 2 MB de memorie cache. De aceea. depuse pe magistrala de date i „transportate“ c tre microprocesor. Memoria cache secundar este exterioar microprocesorului i se monteaz pe placa de baz a sistemului. . cu rol de memorie tampon. preluând anumite date. între microprocesor i memoria de lucru a mai fost introdus o component i anume memoria cache. Practic. Deci. memoria cache a fost divizat fizic în dou niveluri i anume (vezi figura 3. L1) • memoria cache secundar sau extern (secundary level cache.112 ARHITECTURA SISTEMELOR DE CALCUL 3. memoria RAM asigur un timp de acces de 60–120 ns. În final. Memoria cache Datorit vitezei foarte mari cu care lucreaz microprocesoarele. deoarece unele componente din lan ul de transmisie a datelor sunt mai lente. Este sub form de cipuri (DIP) care se introduc în soclurile aferente. Memoria cache intern este plasat chiar în capsula microproceso-rului. Ca atare. între posibilit ile de prelucrare a datelor de c tre microprocesor i capacitatea RAM-ului i magistralelor de a pune la dispozi ia microprocesorului aceste date a ap rut un decalaj foarte mare. în general de la 8 KB (Pentium) pân la 1 MB (Xeon). cât timp aceste cicluri se execut . controlerul i82385) care va realiza gestiunea adreselor i controlul opera iilor de citire/scriere. se întâmpl urm torul lucru: microprocesorul lucreaz fie cu datele necesare calculelor. în func ionarea procesorului se introduc ciclurile de a teptare despre care s-a vorbit anterior. existând i aici. timp cu care lucreaz de obicei procesoarele pentru un anumit proces).2. 8 socluri pentru memoria cache de lucru i un al 9-lea soclu pentru cipul de control al memoriei cache. La rândul s u. astfel încât. dac se va înmul i timpul cât dureaz un ciclu de a teptare cu milioanele de opera ii pe secund ale unui microprocesor. va rezulta o pierdere de timp substan ial .12. realizat din celule de tip SRAM. i realizeaz calculele i procesele cerute. acest flux de date cerut de procesor este mai pu in rapid decât ar fi necesar (de exemplu. prin execu ia a unuia. era nevoie de o memorie de lucru ceva „mai aproape de microprocesor“ i mult mai rapid (ideal f s necesite opera ii de reîmprosp tare). Cum memoria este mult mai lent în livrarea datelor fa de viteza cu care le poate prelucra microprocesorul. microprocesorul cite te memoria RAM. dar este de dimensiuni foarte mici. implicit i fluxul de date i informa ii cerute de acestea va fi foarte intens. Cum datele i informa iile necesare sunt cuprinse în memoria de lucru. a dou sau chiar a patru cicluri de a teptare. ceea ce a dus în procesul de lucru al unui microprocesor la introducerea st rilor de pauz (wait states). ca i la memoria RAM.

deoarece – fiind în interiorul procesorului – transmisia de date este foarte rapid . Mai mult. nefolosindu-se în acest caz magistralele externe. memorie care este ca dimensiuni cu mult mai mare decât memoria cache intern (de ordinul megaocte ilor). foarte lente. Dimensiunea memoriei cache interne cre te la procesoarele moderne. mai r u. alegând exact blocul de memorie care le con ine.Structura unui calculator 113 Fig. Memoria cache intern Primul nivel de memorie cache (L1) se afl integrat în microprocesor i are o por iune destinat datelor i instruc iunilor (codului) i o alta destinat comenzilor. cache-ul de date este împ it în blocuri. memorie RAM. fiind o memorie de tip SRAM. la unele microprocesoare. 5. foarte rapide. folosind o tabel index. nu necesit reîmprosp tare i dispune de un timp de acces extrem de scurt. Pentru un procesor cu frecven a intern de 166 MHz.38. Memoria cache extern Datorit dimensiunilor mici ale memoriei cache interne (limitele fiind impuse din considerente tehnice de construc ie a microprocesoarelor) i pentru a ri i mai mult performan ele sistemelor de calcul. a fost introdus înc un nivel de memorie cache (L2 sau L3).37.02 ns. Memoria cache extern este implementat pe placa de baz a sistemului. de data aceasta în exteriorul microprocesorului. 4. cache intern (un bloc de 8 KB). În plus. Principiul de func ionare al unei memorii cache este sintetizat în figura 3. Cele dou module de câte sunt complet separate i lucreaz independent. 3. cip de marcare a zonelor de memorie cache (TAG RAM). cu timpi de acces extrem de mici (4–15 ns). 3. Acest tip de memorie îmbun te mult performan ele. cache extern. iar controlerul de cache va g si foarte rapid datele necesare. 2. microprocesor. va fi nevoie de o memorie cache cache cu timp de acces de 100/166 = 6. mai ales pentru a cre te ansele ca procesorul s g seasc datele necesare în cache (cache hit) i nu în RAM sau. Exemplu. pe hard disk (cache miss). Este format din cipuri de memorie de tip SRAM. cache intern (al doilea bloc de 8 KB). 6. Schema unei memorii cache într-un sistem Pentium: 1. .

Fig.39 prezint schema logic a algoritmului de citire a memoriei cache. 3.2. Principiul memoriei cache. Maparea memoriei cache Figura 3.1.39.114 ARHITECTURA SISTEMELOR DE CALCUL Fig. . 3. 3. Opera ia de citire a memoriei cache.12.38.

40. Dac politicile de înlocuire au libertatea de a alege orice loca ie din cache pentru a p stra copia. câmpul cuvânt (offset). În plus. fiecare bloc al memoriei principale poate ocupa o singur linie posibil a memoriei cache. utilizând adresa de 16 bi i. . 256. 8191. …. cache-ul se nume te (complet) asociativ. A = adresa din memoria principal . Memoria principal const din 64 KB. numit mapare asociativ pe seturi. …. Se poate considera c memoria principal const din 8 Kblocuri de câte 8 octe i fiecare. Câmpul de 7 bi i. care vor fi amplasate în linia 127. (3. dac fiecare por iune din memoria principal poate merge într-o singur loca ie din cache. blocurile 1. …. numit linie sau index (slot). Înseamn c memoria cache are 128 de linii a câte 8 octe i fiecare.Structura unui calculator 115 O caracteristic de baz a memoriei cache este func ia de mapare (de translatare). procedeul se nume te mapare direct . • maparea asociativ pe seturi. 128. numit mapare direct . i a a mai departe. indic num rul blocului. L = num rul de linii din memoria cache. Cu ajutorul politicilor de înlocuire se afl care loca ie din memorie poate fi depozitat în cache i în care loca ie anume. Cei 3 bi i mai pu in semnificativi. L = 128 i C = A mod128. Se pot utiliza patru tehnici: • maparea direct . 129. Restul de 13 bi i specific unul din cele 213 = 8 Kblocuri ale memoriei principale. Exemplu. Se consider o memorie cache de 1024 B (1 KB). Deoarece exist un num r mai mic de linii ale memoriei cache fa de num rul blocurilor memoriei principale. 8065 vor fi amplasate în linia 1. este necesar un mijloc de a determina care bloc al memoriei principale ocup la un moment dat o linie a memoriei cache. Datele se transfer între memoria principal i cache în blocuri de câte 8 octe i. care atribuie loca ii din memoria cache blocurilor din memoria principal . 8064 vor fi amplasate în linia 0. este necesar un algoritm pentru plasarea blocurilor memoriei principale în liniile memoriei cache. modulo128. identific un cuvânt (octet) unic în cadrul unui bloc al memoriei principale. • maparea asociativ . a a cum este reprezentat în figura 3. Cele mai multe memorii cache implementeaz un compromis între cele dou . Astfel. blocurile 0. Maparea este: C = A mod L.5) unde: C = num rul liniei din memoria cache. La extrema cealalt . Pentru exemplul considerat. Func ia de mapare poate fi implementat simplu. fiecare octet fiind direct adresabil printr-o adres de 16 bi i. Memoria cache cu mapare direct În cazul tehnicii celei mai simple. pân la blocurile 127. • maparea pseudo-asociativ . 255.

Memoria cache cu mapare asociativ Maparea direct este o tehnic care se poate implementa simplu.116 ARHITECTURA SISTEMELOR DE CALCUL Fig. blocurile vor fi interschimbate în mod continuu în memoria cache i rata de succes va fi redus . 8064 au numerele de marcaj 0. În acest caz. are rolul de a identifica în mod unic blocul din linie. Câmpul de 6 bi i. reprezentat în figura 3. Considerând din nou figura 3. iar marcajul s u de 13 bi i se memoreaz împreun cu blocul. Pentru a determina dac un bloc se afl în memoria cache. …. numit marcaj sau etichet (tag). 128.40. Principalul dezavantaj al acesteia este c exist o loca ie fix în memoria cache pentru oricare bloc dat. marcajul i num rul liniei (în total 13 bi i) se utilizeaz pentru a înc rca un bloc din memoria principal . . atunci num rul de 3 bi i al cuvântului este utilizat pentru a selecta unul din cei 8 octe i ai liniei respective. 2. Deci. sunt necesare circuite pentru a compara simultan marcajul s u cu marcajele fiec rei linii. respectiv 63. 256. În caz contrar. Num rul liniei de 7 bi i este utilizat ca un index în memoria cache pentru accesul la o anumit linie. Memoriei cache i se prezint o adres de 16 bi i. Memorie cache cu mapare direct . Un bloc din memoria principal se poate înc rca în oricare linie. o opera ie de citire are loc astfel. 1. adresa memoriei principale const dintr-un marcaj de 13 bi i i un num r al cuvântului de 3 bi i. Astfel. …. 3.40. dac un program face referire în mod repetat la cuvinte din dou blocuri diferite care se mapeaz în aceea i linie. O metod care elimin dezavantajul map rii directe este maparea asociativ . blocurile 0.41. Dac marcajul de 6 bi i este egal cu marcajul liniei respective.

În acest caz. în care I = L i J = 1. prezenta i în continuare. . se ob ine maparea asociativ . În cazul map rii asociative.41. Memoria cache cu mapare asociativ pe seturi Maparea asociativ pe seturi reprezint un compromis care re ine avantajele map rii directe i ale celei asociative. Observa ie. a a cum rezult din figura 3. maparea asociativ pe seturi se reduce la maparea direct . Cache-ul de nivel 1 din AMD Athlon este asociativ pe dou seturi. Exemplu. iar dac I = 1 i J = L. memoria cache este împ it în I seturi. K = A mod I. au rolul de a cre te eficien a. Utilizarea a dou linii pe set (J = 2) este cea mai utilizat organizare asociativ pe seturi.Structura unui calculator 117 Fig. Algoritmii de înlocuire a blocurilor din memoria cache. Cu aceast metod . Principalul dezavantaj al acestei metode îl reprezint circuitele complexe necesare pentru a examina marcajele tuturor liniilor din memoria cache. Memorie cache cu mapare asociativ . 3. care îmbun te semnificativ rata de succes fa de maparea direct . blocul con inând adresa A poate fi mapat în oricare din liniile setului I. (3. În cazul extrem. iar fiecare din acestea con ine J linii.7) unde K este num rul setului. adic orice loca ie din memoria principal poate fi depozitat în 2 loca ii din L1.42.6) (3. Rezult : L = I × J. exist o flexibilitate în privin a înlocuirii unui bloc atunci când un nou bloc este înc rcat în memoria cache.

dar va trebui s caute în toate pentru un cache hit. Dac fiecare loca ie din memoria principal poate fi depozitat în alte dou loca ii din memoria cache. depozitarea folosind asociativitatea are câteva minusuri.degetului mare” are rolul de a dubla asociativitatea de la maparea direct la cea asociativ pe dou c i i de la cea asociativ pe dou c i la cea pe patru c i etc. Avantajul acestei scheme este c etichetele stocate în cache nu trebuie . 3. Dac sunt zece unit i. în general. folosind un mecanism asem tor con inutului adresabil al memoriei.. dar are o rat de e ec mai sc zut decât în cazul map rii directe i mai aproape de cea a map rii asociative. memoria cache pseudoasociativ este la fel de rapid ca în cazul map rii directe. În cele mai multe cazuri. A verifica mai multe loca ii consum mai mult putere. având acela i efect ca în cazul unui cache hit. politica de înlocuire le trateaz ca o singur intrare. se pune întrebarea care din cele dou va fi folosit . Cea mai simpl i cea mai folosit schem utilizeaz LSB-ul câmpului linie (index) al loca iei de memorie ca index pentru memoria cache i are dou intr ri pentru fiecare linie. M rirea asociativit ii la peste patru c i are un efect mai slab decât în cazul unui cache hit i este realizat . pentru alte motive. Analize i compara ii Asociativitatea poate fi privit ca un fel de schimb. când g se te un bloc din prima testare (succes). Memoria cache pseudo-asociativ testeaz fiecare cale posibil o singur dat . spa iu i timp.. Memoria cache cu mapare pseudo-asociativ Memoria cache asociativ pe seturi testeaz simultan toate c ile posibile. Regula . de aceea viteza procesorului scade. Memorie cache cu mapare asociativ pe seturi.118 ARHITECTURA SISTEMELOR DE CALCUL Fig. Pe de alt parte.42.

dar se potrivesc destul de bine programelor. În plus. Programele obi nuite îns nu se comport astfel. Pe de alt parte. când trebuie înc rcat o nou linie i exclus una veche. A adar. Alte tehnici propun un cache „oblic” (skewed cache). foarte adesea acestea vor fi folosite de mai multe ori. care ar putea con ine datele.Structura unui calculator 119 includ acea parte a adreselor din memoria principal care sunt implicate în câmpul linie (index) al memoriei cache. O func ie hash de calitate are proprietatea c adresele care intr în conflict cu maparea direct tind s nu mai aib conflicte când sunt mapate cu func ia hash i este mai nepl cut ca un program s sufere din cauza unui num r nea teptat de mare de conflicte. se poate scrie destul de u or un astfel de program (este o metod „eficient ” de a încetini calculatorul). unul dintre acestea fiind principiul localiz rii (locality principle). dac adresa cerut se potrive te cu eticheta actual . Atunci. Noua intrare în cache poate fi citit . Acestea sunt doar observa ii. Din fericire. Aceast observa ie poate fi formulat în mai multe moduri. numit cheie (hint). Acesta nu înseamn c nu exist programe care folosesc prost memoriile cache. exist laten în implementarea func iei hash. Eficien a i localizarea datelor în memoria cache O memorie cache este util numai dac anumite informa ii sunt folosite frecvent i mult timp. s-a constatat experimental c acest lucru este adesea adev rat. Atât timp cât etichetele cache reprezint doar câ iva bi i. Ideea ca procesorul s foloseasc date depozitate în cache înainte ca eticheta se potriveasc complet poate fi aplicat i la cache-ul asociativ. Atunci când o adres a fost calculat . poate fi folosit pentru a alege una din adresele cerute.2. iar procesorul î i continu lucrul cu acele date pe care le avea înainte de a termina procesul de verificare.2.3) urm re te principiul vecin ii (cache nears) într-un cache non-oblic (non-skewed). unde indexul c ii 0 este direct. Validitatea observa iilor permite folosirea de memorii cache.12. împ indu-l pe seturi.12. acele informa ii merit s fie p strate în memoria cache. în curând va fi nevoie probabil de date aflate în apropierea lor în memorie. Unul dintre avantajele map rii directe este acela las loc specula iilor rapide i simple. i s-a ata at index cache unic. ar putea deveni dificil s se determine care dintre liniile existente a fost ultima folosit . asociativitatea complet are un avantaj major fa de asociativitatea pe seturi. ocup spa iu pu in. deoarece noua linie intr în conflict cu datele de la diferi i indec i ai fiec rei c i. aflate posibil în harta cache. . Metoda LRU (vezi paragraful 3. putând fi citite i comparate rapid. Aceste date pot fi folosite în paralel cu verificarea întregii etichete. dimpotriv . 3. Exist dou feluri de localizare: • localizare spa ial – dac este nevoie de unele date. dar indexul c ii 1 este format cu o func ie hash. • localizare temporal – când s-au g sit anumite date. Tehnica hint lucreaz excelent când este folosit în contextul translat rii adreselor. a a cum func ioneaz acestea în calculatoarele actuale. O parte din etichet .2.

cu magistrala de sistem la 533 MHz.43. . (3. Pentru o memorie cache de dimensiune 0. întâi trebuie constatat dac datele sunt în memoria cache. toate datele pot fi inute în memoria rapid i se va ob ine H = 1. În anumite cazuri. ci cre te rapid la început. Rela ia între m rimea memoriei cache. numit rat de succes. Exemplu.8) Dac timpul de citire din memoria cache este TH (hit time). în cazul unei rat ri. se acceseaz memoria lent . deci chiar un parametru H de valoare redus poate însemna mult. a memoriei lente i parametrul H nu este o linie dreapt . Memoria cache va fi eficient dac T < Tl.9) Se observ c timpul unei rat ri (TM) nu este neap rat egal cu timpul de citire din memoria lent . Parametrul H depinde de m rimea memoriei cache: pentru o memorie cache de dimensiunea memoriei lente (caz limit ). numit rat de e ec.43.06 GHz are o memorie cache L3 de 1 MB. a a cum se observ în figura 3. dac nu sunt. Tl. Fig. Din cauza aceasta. atunci se poate m sura timpul mediu de acces la memoria cache cu urm toarea formul : T = TH × H + TM × M. i contribuie la cre terea nivelului de performan cu peste 15%. M (miss rate). pentru c niciodat datele nu se g sesc în aceast memorie. H (hit rate). Rela ia în aceste dou valori este: H = 1 – M. Performan a memoriei cache. Procentajele acestea se m soar rulând numeroase programe i f când media. iar timpul pierdut pân se rateaz este TM (miss time). deoarece. H = 0. (3. o memorie cache relativ redus ca m rime are o importan mare ca eficien . TM este de ordinul a 104×TH.120 ARHITECTURA SISTEMELOR DE CALCUL Eficien a unei memorii cache se m soar în procentajul de g siri ale datelor. iar. Eficien a depinde i de raportul dintre TH i TM. Procesorul Intel Xeon la frecven a de 3. Opusul acestei valori este procentajul de rat ri. 3.

Conectarea serial (look through) – vezi figura 3. cele folosite mai des fiind p strate. În cazul în care ecoul din partea cache-ului este pozitiv. Dac datele solicitate nu se afl la acest nivel (cache miss). politica celei de-a doua anse (second chance) etc. • metoda FIFO (First In First Out): primul intrat – primul ie it. astfel. sunt folosite mai multe metode: • metoda RW (Random Write) sau de rescriere aleatorie: datele con inute sunt rescrise aleator. statistic. în paralel. în lipsa cache-ului. magistrala memoriei care. apoi în RAM. Metoda cea mai folosit este LRU. determinându-se datele care vor fi rescrise. dar are avantajul c magistrala memoriei nu este ocupat la fiecare cerere a procesorului. Modul de lucru general al microprocesoarelor cu memoria cache este urm torul: programul va c uta datele. ar fi fost solicitat pentru opera ii cu RAM-ul. Probabilitatea ca procesorul s g seasc datele necesare într-unul din cele dou niveluri cache este îns destul de mare. Totodat . cele accesate de curând fiind p strate.4. Mai ales în modul multitasking. cel de-al 9-lea cip de memorie cache (TAG RAM) va juca i rol de contor al frecven ei de apelare a datelor din cache. adresarea c tre RAM este abandonat .3. avantajul vitezei. interogarea memoriei RAM nu se mai efectueaz .45 – presupune ca microprocesorul s se adreseze. Alte metode sunt: politica circular (round robin). politica setului de lucru (working set). nu mai este disponibil – în momentele de scanare a memoriei – altor acces ri din partea perifericelor. în cache-ul intern. Acest sistem are dezavantajul c cererile procesorului sunt întârziate de intermediarul cache. iar magistrala memoriei r mâne liber . 3.12. va merge mai departe cu c utarea în cache-ul extern i apoi. de aceea. blocurile de date care. politica optim (optimal). blocurile de date care. Reînnoirea con inutului memoriilor cache În ceea ce prive te reînnoirea con inutului memoriilor cache. fa de metoda anterioar . politica ceasului (clock). prin intermediul controlerului de cache. în memoria principal RAM. • metoda LRU (Least Recently Used): datele folosite cel mai pu in recent. Dezavantajul apare prin faptul c magistrala memoriei este tot timpul folosit i. Dac datele solicitate se afl în cache (cache hit). evitându-se c utarea secven ial : întâi în cache.2. temporal. în cazul neg sirii acestora nici aici. • metoda LFU (Least Frequently Used): datele folosite cel mai pu in frecvent.Structura unui calculator 121 3. pentru tergerea datelor curente i aducerea altora noi. acest lucru se reflect în întârzieri semnificative ale vitezei de execu ie a diferitelor sarcini. De aici rezult .2. adic . este disponibilizat pentru alte procese.12. Conectarea memoriei cache la microprocesor Memoria cache este conectat cu microprocesorul i memoria RAM în sistem serial sau paralel. Conectarea paralel (look aside) – vezi figura 3. atât memoriei cache cât i memoriei RAM. au fost folosite cel mai rar sunt rescrise primele. nu au fost folosite timp de cel mai lung interval sunt rescrise primele. primele blocuri de date scrise în memorie sunt rescrise primele. . f a folosi un anumit criteriu sau algoritm care s determine care bloc de date va fi rescris.44 – presupune ca dialogul microprocesor–RAM s se desf oare prin intermediul cache-ului.

se ini ializeaz bi ii V cu zero. procesorul execut un program înc rc tor rezident în memoria EPROM.45.2. La prima înc rcare a unei date (instruc iuni) în cache. 3. Bitul V este util îndeosebi în sistemele multiprocesor. Mai precis. Imediat dup resetarea sistemului. Când un procesor modific o copie local a unei date.12. toate blocurile care con in acea dat din cadrul celorlalte procesoare trebuie invalidate prin resetarea V = 0. Depunerea în memorie a rezultatelor Indiferent de tipul func iei de mapare. bitul V aferent se va seta pe 1.5. datorit redundan ei informa ionale. practic. în vederea men inerii coeren ei memoriilor cache locale. Necesitatea invalid rii blocurilor (V = 0) apare chiar i în sistemele uniprocesor. 3. Organigrama conect rii seriale (look through). Fig. fiec rui bloc din memoria cache îi sunt asocia ii doi bi i de comand . uzual. 3. aleator. V = 1 fiind o condi ie necesar a ob inerii unui cache hit. pentru a evita falsele situa ii de cache hit. la citirea programului înc rc tor din EPROM. Bitul V este un bit de validare a blocului. numi i V i D.44.122 ARHITECTURA SISTEMELOR DE CALCUL Fig. Cum imediat dup ini ializarea sistemului con inutul cache-ului este. validând astfel situa ia de cache hit. . Organigrama conect rii paralele (look aside). aici apare necesitatea citirii din cache-ul propriu a ultimei cópii modificate a datei respective.

Fig. bitul se pune pe 1. Practic. scrierea se face direct în RAM. în care scrierea se face în cache. exist trei posibilit i: • metoda Write Through vezi figura 3. în cazul în care adresa de memorie la care se face scrierea exist i ea în cache (de fapt. Schema metodei Write Back.46. Schema metodei Write Through. dar de cele mai multe ori se prefer Write Back cu invalidare. 3. cu prec dere în sistemele multiprocesor. în care se utilizeaz traseul invers al citirii datelor.47 . • Write broadcast. dac blocul de date de la acea adres se afl înc rcat în cache).46 . exist dou posibilit i. 3. pe baza principiului c un bloc trebuie evacuat numai dac a fost scris în cache. La prima scriere a acelui bloc. din punct de vedere al acces rilor de scriere de c tre procesor (depunerea în memorie a rezultatelor).47. în func ie de procesul de scriere: • Write Invalidate. • metoda Write Back figura 3. metoda Posted Write. spre a fi actualizate toate copiile din celelalte cache-uri. În vederea men inerii coeren ei memoriilor cache. prin care CPU care scrie pune data de scris pe magistrala comun . moment în care buffer-ul î i transfer con inutul în RAM. În cazul în care blocul de date localizat de acea adres nu mai exist în cache. În acest sens. prin acest bit se minimizeaz evacu rile de blocuri în memoria principal . Evacuarea propriu-zis a blocului se face doar dac bitul D = 1. • . Fig. apoi în cache-ul extern i în final în memoria RAM. Ambele strategii de men inere a coeren ei pot fi asociate cu oricare dintre metodele de scriere. prin care din memoria cache este rezervat o anumit por iune care va juca un rol de buffer i în care vor fi memorate blocuri de date pân când magistrala memoriei devine disponibil . prin care CPU care scrie determin ca toate copiile din celelalte memorii cache s fie invalidate înainte ca ea s i modifice blocul din cache-ul propriu.Structura unui calculator 123 Bitul D (dirty data) este pus pe 0 la înc rcarea ini ial a blocului în cache. blocurile fiind depuse mai întâi în memoria cache intern .

deoarece procesorul sau ultimul fir de execu ie trebuie s a tepte pân când instruc iunile sunt aduse din memorie. iar.12. putând fi evitate. Un cache miss la scrierea datelor cauzeaz întârzieri mici. Un cache miss la citirea instruc iunilor cauzeaz . Tabelul 3. îndeosebi pe citirile cu cache hit. în general.4. Cache miss se refer la încercarea nereu it de a citi sau scrie o parte din date în memoria cache. statistic. în cazul utiliz rii scrierii tip Write Back. i pe scrierile cu cache hit. Procesul poate continua pân când coada este plin . apar posibile patru procese distincte. Îmbun irea accesului la memorie pe citirile CPU este normal . ceea ce rezult în scrierea/citirea în memoria principal cu laten e mai mari. având în vedere acestea sunt mult mai frecvente decât scrierile (orice instruc iune implic cel pu in o citire din memorie pentru înc rcarea sa.2. Cercet torul Mark Hill a separat situa iile de cache miss în trei categorii: . înc rcarea unui bloc nou i scrierea datei în bloc scrierea datei în blocul din cache (Write Back) adar. memoriile cache îmbun esc performan a. deoarece instruc iunile nu depind de citirea cache-ului. analizele simulate au ar tat posibile diferen e între lungimile urmelor de adrese.4 Tipuri de acces în memoria cache tip acces citire citire scriere scriere situa ie în cache miss hit miss hit ac iune în cache evacuarea blocului i înc rcarea unui bloc nou compararea marcajelor/etichetelor (tag) evacuarea blocului. • la scrierea datelor. • la citirea datelor. Un cache miss la citirea datelor cauzeaz întârzieri mai mici. Explica iile pentru cauzele situa iilor de cache miss. cca. ca în tabelul 3.6. conform literaturii de specialitate. pân când datele sunt preluate din memoria principal i instruc iunile care depind de acestea î i continu execu ia. unii autori sus inând c raportul real citiri/scrieri este de 9/1). deoarece scrierea poate fi pus într-o coad de a teptare i sunt câteva limit ri în execu ia instruc iunilor. Ulterior.124 ARHITECTURA SISTEMELOR DE CALCUL 3. Cache hit i cache miss Într-o memorie cache. sunt de trei tipuri: • la citirea instruc iunilor. Secven e de referin e din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese. întârzieri. în func ie de designul memoriei cache. 75 % din acces rile la memorie sunt citiri.

Graficul din figura 3. la care opera ia de citire a unui cuvânt se face în dou etape: se depune adresa. Rata de pierderi în cazul asociativit ii este sensibil superioar celei pentru mapare direct . 3. Observa ie.48. care este inevitabil i care ofer un detaliu particular asociativit ii i politicii de înlocuire.Structura unui calculator 125 • • • Rat ri obligatorii (compulsory misses) – sunt acele pierderi cauzate de primele referiri la date. de asemenea. Rat rile de conflict (conflict misses) – sunt acele pierderi care ar putea fi evitate dac cache-ul n-ar elimina o intrare mai târziu. Curba ratei pentru rat rile de capacitate în func ie de capacitatea memoriei cache d m sura localiz rii temporale a unui ir temporar de referin e. Fig. decalajele devin nesemnificative. f cute numai de blocurile finite din cache. Informa iile care indic dac memoria cache este plin . Tipuri de celule cache În func ie de modul de citire a cuvintelor.48 ilustreaz performan ele memoriei cache. Rat rile de conflict pot fi puse într-o hart de rat ri (miss map). goal sau aproape plin nu sunt utile în acest caz. Rat ri de capacitate (capacity misses) – sunt acele pierderi care privesc asociativitatea sau m rimea blocurilor. . Rata de pierderi (miss rate) în func ie de capacitatea memoriei cache. M rimea i asociativitatea memoriei cache nu fac nicio diferen între num rul de rat ri obligatorii.7. Diferen ele ob inute se explic prin utilizarea algoritmului de înlocuire LRU.12. pentru fiecare cuvânt fiind necesar acela i ritual. Aceste benchmark-uri reprezint gradul de înc rcare al unei sta ii de lucru. Aceste cipuri se livreaz sub form DIP. c pentru memorii cache de dimansiune foarte mare. celulele memoriei cache pot fi: • asincrone. Aducerea timpurile a operanzilor din memorie nu este util în acest caz. 3.2. Se observ . ob inute pe un benchmark pentru întregi din SPEC2000. Cache-ul procesorului are aproape mereu fiecare linie umplut cu o copie a unei linii din memoria principal i de fiecare dat alocarea unei noi linii necesit tergerea uneia vechi. apoi se transfer datele.

Dac pipeline-urile au instruc iunile i datele separate în memoria cache. presupune: • aducerea instruc iunilor din memorie (instruction fetch). Mai târziu. ajungând pân la 9 ns. primul cuvânt cu adresa indicat de controlerul de cache i urm toarele trei).8.2. în care datele citite sunt stocate temporar. pentru care accesul se face în mod burst (se depune o singur adres . fiecare fiind specializat pe un anumit rol. precum i reducerii consumului de putere (în cazul lui P4).12. Cache-ul victim se afl între cache-ul principal i zona de reumplere. Dar cele mai multe dintre calculatoarele moderne sunt concepute în arhitectur von Neumann. este posibil o nou adresare. pipe-line burst cache. Memorii cache specializate Accesul la memoriile din procesor cu tehnica pipeline. astfel încât nicio resurs fizic nu trebuie programat s serveasc simultan dou stagii diferite din pipeline. Ini ial. 3. TLB i date). . iar transferul se face pentru patru cuvinte simultan. care este prev zut la ie ire cu registre speciale. Cache-ul victim original de pe HP PA 7200 a fost mic i complet asociativ. procesoare precum AMD K7 i K8 au folosit mult memorie cache secundar pe post de cache victim . Timpul de acces scade foarte mult (chiar la 4 ns). se poate spune este emulat o arhitectur de tip Harvard. Cache de urm rire (trace cache) Unul dintre exemplele cele mai extreme de specializare a memoriei cache este cache-ul de urm rire. Astfel. Timpul de acces scade destul de mult.126 • ARHITECTURA SISTEMELOR DE CALCUL • sincrone. • translatarea adresei virtuale în adres fizic (Translation Look-aside Buffer). în acela i timp cu preluarea datelor de c tre microprocesor din registrele de stocare (latch). Astfel de pipeline-uri se termin cu cel pu in trei memorii cache separate (pentru instruc iuni. datorate unui conflict sau unei rat ri. pentru a evita duplicatele de stocare. de inând numai blocuri care au fost eliminate din cauza unui cache miss. Trace cache este un mecanism destinat cre terii gradului de aducere din memorie a instruc iunilor (instruction fetch) i l rgimii de band . practic. prin stocarea urmelor (traces) instruc iunilor care au fost aduse din memorie i decodate. g sit în microprocesoarele Intel Pentium 4. Exemple. Aceast tehnic este utilizat pentru a reduce penaliz rile suportate de memoria cache la o ratare. fapt care duce la performan e deosebite pentru sistemele dotate cu astfel de celule de memorie cache. Cipurile sincrone sunt implementate direct prin lipire pe placa de baz a sistemului. aceast faz s-a reg sit la ma inile cu instruc iuni i date separate în memorie. cu stagii multiple ale pipeline-ului. • aducerea datelor din memorie (data fetch) Designul natural tinde s utilizeze diferite adrese fizice din cache pentru fiecare dintre aceste stagii. Cache victim (victim cache) Cache-ul victim este o memorie cache folosit pentru a re ine blocurile terse din cache-ul procesorului.

În general. Aceasta permite depozitarea pentru diferite c i a urmelor care încep de la aceea i adres . de tip on-chip. în trace cache. atunci se caut în cache-ul cel mare (L2) i. Dac apare un cache miss. astfel încât. Acesta permite unit ii de fetch a unui procesor s aduc din memorie câteva blocuri de baz f s se preocupe de ramifica iile aflate în execu ie. În etapa de aducere din memorie (fetch) a unui pipeline. în majoritatea calculatoarelor se folosesc mai multe nivele de cache. pentru a stoca micro-opera ii deja decodate sau transla ii ale instruc iunilor de pe sisteme ×86. instruc iunile sunt ad ugate în trace cache în grupuri care reprezint blocuri individuale de baz sau urme dinamice (dynamic traces). o urm dinamic putând fi o concatenare de mai multe blocuri de baz . bazate pe nucleele procesoarelor. cu blocuri de cache mai mici i rapide. în cazul unui cache hit. Sistemele IBM Power 4 aveau 256 MB de cache L3 pe cip. mai departe. Memoriile cache mari au o rat de succes mai bun . Exemplu. în diverse aplica ii se folose te adesea o memorie SRAM rapid . terminate cu ramifica ii. atunci când va fi necesar o instruc iune. procesorul Itanium 2 a început s fie livrat cu 6 MB de cache L3 pe cip. Unele memorii cache au început s utilizeze mai mult de 3 nivele pe un chip. începe construc ia unei noi urme. Un bloc de baz const dintr-un grup de instruc iuni neramificate. Liniile de urm rire sunt stocate în cache pe baza unui num tor de program aflat în prima instruc iune a urmei. Pentru a rezolva aceast problem . în memoria principal . care realizeaz interfa a cu memoria mai lent din afara cipului procesorului (off-chip).Structura unui calculator 127 Un trace cache stocheaz instruc iuni chiar i dup ce acestea au fost depozitate sau retrase. Cache-ul victim este folosit în procesorul P4. Scratch Pad Folosirea eficient a spa iului de memorie integrat în cipul procesorului (onchip) este extrem de important în aplica iile moderne ale sistemelor dedicate (embedded systems). Un cache multinivel opereaz c utând prima dat în nivelul cel mai de jos (L1) i. viteza de procesare cre te. fiecare reprezentând rezultate diferite ale ramifica iei. partajat între mai multe procesoare. împreun cu un set de predic ii ale instruc iunilor ramificate (branch prediction). În completarea memoriei cache de date. pentru o situa ie de cache hit. mai exact. grupate într-unul mai mare i lent. Cache multinivel (multilevel cache) O alt problem este schimbul între laten a memoriei cache i rata de succes (cache hit). Diferen a de laten între memoria principal i memoria cache a devenit mai important . aceasta nu va mai trebui decodat din nou. O urm dinamic include numai instruc iuni ale c ror rezultate sunt utilizate efectiv i elimin urm toarele instruc iuni luate ca ramifica ii (atât timp cât acestea nu sunt executate). dar laten e mari.29) . num torul de program curent. În 2003. este pus în memoria cache. numit memorie scratch pad (vezi schema din figura 2. Dac apare cache miss în module cache mici. Procesorul AMD Phenom folose te 2 MB de cache L2 în schimbul celui L3.

Dup cum s-a mai spus. de i termenul inclusiv a fost deja folosit. Sta iile de lucru high-end i serverele au memoria de tip L3 implementat în procesor. aceasta fiind mai mare decât L1. Acest cache poate fi implementat pe un chip separat de procesor i. Dac cache-ul secundar este cu un ordin de m rime mai mare i datele sunt tot cu un ordin de m rime mai mari decât etichetele. numit cache de nivel trei (L3). asociativitatea cache-ului L1 este restric ionat . Avantajul cache-ului exclusiv este acela c depoziteaz mai multe date.128 ARHITECTURA SISTEMELOR DE CALCUL Cache integrat i cache divizat Memoria cache multinivel introduce un nou design al deciziilor. Exemplu. cu caracteristica de a fi programat software de un compilator. cu cât cache-ul L1 exclusiv este compatibil cu L2. are un cache L3 încorporat de 16 MB. caz în care se diminueaz memoria L2. la cel lalt cap t al ierarhiei (în cazul sta iilor de lucru lowend). toate datele din cache-ul L1 trebuie s se seasc undeva în cache-ul L2. poate varia ca rime de la 2 la 250 MB. partajat între cele dou nuclee ale procesorului. Cache-ul strict inclusiv folose te linii de dimensiuni mari în cache. ca i cum ar aloca registre pentru a p stra valori primite din memoria principal . Totodat . PIII i P4. . ierarhiile care nu au pus în aplicare mecanismele includerii trebuie s verifice i cache-ul L1. ceea ce reduce m rimea etichetelor din cache-ul secundar (cache-ul exclusiv necesit ca ambele cache-uri s aib linii de aceea i dimensiune. ceea ce duce la m rirea vitezei i reducerea costurilor. Aceste memorii sunt numite cache strict inclusiv. Beneficiile unui chip L3 depind de cererea de acces a aplica iilor. alte procesoare. ceea ce o face doar cache-ul inclusiv. linia din cache-ul L2 pe care se afl blocul cu hit este schimbat cu o linie din L1. În unele procesoare. nu solicit ca datele din cache-ul L1 s se g seasc i în L2. În memoria cache. registrul de fi iere al procesorului poate fi considerat drept cel mai mic i cel mai rapid cache din sistem. de i ar putea face acest lucru. produs numit Tulsa. începând din 2004. Acest avantaj este cu atât mai mare. Exemple. Nu sunt acceptate nume universale pentru aceast politic intermediar . Intel Xeon MP. nu în amândou . nu au decât s caute în L2. Când apare o situa ie de cache miss în L1 i cache hit în L2 la un acces. precum Intel PII. exist o corela ie între asociativitatea cache-ului L1 i cea a cache-ului L2: dac cache-ul L2 nu are cel pu in atâtea c i ca L1. pentru a le putea schimba când în L1 apare cache miss i în L2. În schimb. Un avantaj al cache-ului strict inclusiv este c atunci când dispozitivele externe sau alte procesoare într-un sistem multiprocesor doresc s tearg o linie cache. aceast zon poate fi etichetat ca zon de salvare i poate fi incrementat comparabil pân la dimensiunile zonei de care au nevoie L1 i L2 s depoziteze date. calculatoarele puternice au un alt cache între L2 i memoria principal . cache hit). Alte procesoare (cum ar fi AMD Athlon) au un cache exclusiv: datele sunt garantate a fi în cel mult unul dintre nivelele L1 sau L2. Acest schimb implic ceva mai mult munc decât copierea liniei din L2 în L1. În cele din urm .

translatat cu ajutorul TLB-ului într-o adres fizic . . Ca i instruc iunile TLB-ului. una pentru datele TLB-ului i una pentru date. integrat i divizat. cu un marcaj suplimentar de bit al limitelor instruc iunilor (acesta este un exemplu de precodare). iar fiecare TLB este împ it în dou sec iuni: una pentru a p stra PTE-urile care ocup 4 KB din hart i alta pentru a p stra PTEurile care ocup 2 sau 4 MB din hart . Cache-ul are doar protec ie de paritate. deoarece informa ia de paritate ocup spa iu mai pu in. Este împ it în 8 bancuri (fiecare depozitând câte 8 KB de date) i poate aduce din memorie doi octe i de date pe ciclu. Sistemul de operare mapeaz sec iuni diferite ale spa iului de adrese virtuale cu diferite m rimi ale PTE-urilor. 2. iar datele avariate pot fi înlocuite de date proaspete aduse din memorie. Fiecare ciclu de instruc iuni adus din memorie are propria sa adres virtual . Cache-ul pentru instruc iuni p streaz cópii ale celor 64 de linii ale memoriei i aduce din memorie 16 B la fiecare ciclu. se folose te ierarhia din nucleul K8 al procesorului AMD Athlon 64 (vezi figura 3.49. care con in intr ri identice. Fig. Fiecare octet din acest cache este depozitat în 10 bi i în loc de 8. Datele cache-ului p streaz cópii ale celor 64 de linii ale memoriei. mai degrab decât ECC. pentru a translata adresele virtuale în adrese fizice. Nucleul K8 are patru memorii cache: una pentru instruc iuni. 3. Instruc iunile blocului TLB p streaz cópii ale intr rilor din tabelul paginilor (PTE). 3. Datele TLB-ului au dou cópii. Cele dou cópii permit accesul la dou date per ciclu.Structura unui calculator 129 Studiu de caz: memoria cache la procesorul AMD Athlon 64 (K8) Pentru a exemplifica specializ rile cache-ului multinivel. Împ irea permite o potrivire a circuitului în fiecare sec iune în mod complet asociativ. Fiecare intrare are 4 sau 8 octe i în memorie. una pentru blocul TLB.49). 4. Structura nucleului K8 al procesorului AMD Athlon 64. i aceasta este împ it în dou tipuri de intr ri. Fiecare dintre aceste cache-uri este specializat: 1.

un cache multinivel.12. Totu i. în timp ce pentru Pentium Pro este nevoie de 512 KB cache în condi ii de lucru deosebite. informa iile din ROM r mân intacte.4. În acest caz. este cu mult mai scump decât RAM-ul). de asemenea. aceast memorie. odat scris prin procedee industriale. Exist instruc iuni de nivel 2 i date ale TLB-ului care depoziteaz numai PTE-uri mapate pe 4 KB. nu mai poate fi tears prin metode aflate la îndemâna utilizatorului.2. astfel încât s creasc probabilitatea ca procesorul s i g seasc datele necesare într-unul din aceste „depozite“ cache. fiind o memorie static . pot fi umplute din cache-ul L2. bucle de program de maximum 64 KB. ceea ce înseamn c orice linie de 1 octet se poate g si numai într-o singur instruc iune dat cache-ului L1 sau în cache-ul L2. 3.2. pentru fiecare sarcin cel pu in dou . Ambele cache-uri. deoarece avantajele ob inute vor fi insesizabile. iar pentru procesoarele actuale valorile de ordinul MB au devenit deja comune. Se consider c o memorie cache de 256 KB este suficient pentru un procesor Pentium. este necesar mult mai mult memorie cache. Memoria ROM Un alt tip de memorie folosit în construc ia calculatoarelor i a unor echipamente periferice este memoria ROM (Read Only Memory). la decuplarea de sub tensiune a calculatorului.9. m rind foarte mult viteza de procesare. De aceea. Problema care se pune este atunci când se lucreaz în mod multitasking sau în re ea. în plus. Cu toate acestea. Concluzii Se poate spune c introducerea în practic a conceptului de memorie cache ca memorie tampon a adus o serie de îmbun iri sistemelor de calcul. Dar o supradimensionare a memoriei cache externe f a se ine seama de scopul în care va fi folosit calculatorul nu va duce decât la înc rcarea notei de plat (memoria cache. i unde cei 64 KB cache de date ai unei sarcini sunt înlocui i de cei 64 KB ai altei sarcini. Datorit faptului c procesorul execut programele pe segmente. la viteze foarte mari. Spre deosebire de memoria RAM. este evident c procesorul va avea nevoie de mai multe „depozite“ de 64 KB. atât pentru instruc iunile cât i pentru datele din L1. . este posibil ca o linie de date în cache s aib un PTE care este într-unul din TLB-uri – sistemul de operare este responsabil cu p strarea TLB-ului coerent. desigur în func ie i de dimensiunea memoriei cache instalate în sistem. un astfel de segment poate fi cuprins în primii 64 KB ai memoriei cache.130 ARHITECTURA SISTEMELOR DE CALCUL Nucleul K8 are. 3. Deci. de instruc iuni i de date. Ridicând dimensiunea cache-ului la 256 KB se va ob ine o cre tere doar de 2–3 %. Acest cache este exclusiv. se poate pune i aici o întrebare: pân unde poate merge memoria cache ca dimensiune i cât de folositoare este m rimea acesteia? În ultimul timp se construiesc sisteme care pot avea pe placa de baz pân la câ iva megaocte i de cache extern. f s fie nevoit s mai acceseze RAM-ul. în cazul în care calculatorul va juca rol de file server sau va fi folosit în activit i multitasking. un spor de vitez de circa 90–95% (din totalul sporului adus de o memorie cache montat ) se va ob ine folosind doar 64 KB de memorie cache.

O combina ie binar care se aplic pe cele 3 intr ri de adres (A2. Rezultatul acestei ac iuni de ardere se observ prin modificarea con inutului informa iei binare.50. Scrierea memoriilor ROM presupune un atac distructiv i ireversibil asupra diodelor i tranzistoarelor. cu condi ia ca semnalul de validare a ie irii. Fiecare celul se afl la intersec ia unei anumite linii X i a unei anumite coloane Y (vezi figura 3.51. se aranjeaz CBB-urile sub forma unui tablou cu un num r de coloane i rânduri. În prezent. Organizarea memoriei sub form de matrice permite reducerea num rului intr rilor de adrese la un num r mai mic decât num rul liniilor i al coloanelor aferente informa iei stocate. Fig. de construc ie special (PROM. O3). O2. ca o concluzie de baz . EEPROM) se poate face prin lansarea unui spot de radia ii ultraviolete asupra ferestrei de cuar cu care este prev zut cipul de memorie. Deci. Intern.a). prin „arderea” jonc iunilor interne.Structura unui calculator 131 tergerea anumitor memorii ROM. Fie o memorie ROM care con ine 8 cuvinte de câte 4 bi i (vezi figura 3. În general num rul rândurilor este egal cu cel al coloanelor. datele scrise în memoria ROM au un caracter permanent i au o importan vital în ini ializarea i func ionarea oric rui sistem de calcul. exist pl ci de baz dotate cu astfel de circuite care permit revitalizarea rutinelor BIOS prin copierea în ROM. cu ajutorul unui soft specializat. OE (Output Enable) s fie activ (activarea se face pe 0 logic). iar cei 4 bi i de date ai cuvântului selectat sunt disponibili la ie iri (O0. 3. Memoria ROM are aspectul unui circuit integrat cu dou rânduri de pini (DIP) i este montat de placa de baz a calculatorului prin intermediul unui soclu. Num rul terminalelor de adresare poate fi mic orat prin adresarea în cod binar i utilizarea decodificatoarele binar-zecimale. Acest mod de adresare în cod binar este utilizat i în cazul memoriei RAM. Pentru a realiza mai multe celule.50). A1. Exemplu. memoriile de acest tip sunt realizate din re ele rectangulare de microtranzistoare sau microdiode. Accesarea memoriei ROM se face la fel ca la RAM. a unor versiuni mai noi i mai performante. O celul de memorie este alc tuit dintr-un circuit basculant bistabil (CBB). . A0) selecteaz unul din cele 8 cuvinte. Organizarea memoriei RAM. EPROM. O1.

Structura intern a unui cip de memorie ROM organizat pe 1024 cuvinte a câte 8 bi i. Prin dezactivare.51. . cu canal negativ (NMOS) sau tehnologii cu logic integrat de injec ie (I2L). Intrarea suplimentar . ECL). Schema con ine i aspectul unui element din matricea de memorie. Matricea de memorie se construie te sub o form cât mai apropiat de cea a unui p trat. Tabelul de adev r asociat. Memorie ROM cu 8 cuvinte de 4 bi i. CS (Chip Select). b. este prezentat în figura 3. Tabelul de adev r din figura 3.b este un exemplu care arat o posibilitate de implementare a 4 func ii binare de câte 3 variabile. ac ioneaz asupra circuitelor din structur în scopul reducerii consumului. Pentru realizarea memoriei ROM. dac aceasta este realizat în tehnologia MOS.132 ARHITECTURA SISTEMELOR DE CALCUL Dac OE = 1. cu canal P (P-MOS).52. cu ajutorul celor 8 multiplexoare a câte 3 intr ri de selec ie. cu simetrie complementar (CMOS). 3. iar coloanele. 3. adic 1 K × 8. TTL-Schottky. tehnologii metal-oxid-semiconductor (MOS) cu canal N (NMOS).52. activ pe 0 logic. Fig. Structura intern a unui cip de memorie ROM cu 1024 cuvinte de 8 bi i.51. Fig. sunt utilizate tehnologii bipolare (TTL.a. preg te te cipul de memorie în vederea unei opera ii de citire a datelor. Liniile matricei sunt selectate cu ajutorul decodificatorului cu 7 intr ri de selec ie. ie irile memoriei sunt în starea de impedan înalt (high Z).

Testele de verificare. putere disipat relativ sc zut . putere disipat ridicat . dureaz foarte pu in pentru verificarea pl cii de baz . vitez de procesare mai sc zut decât la bipolar . • ini ializeaz tabela vectorilor de întrerupere. • timpul de acces. care este verificat kilooctet cu kilooctet.Structura unui calculator 133 Ca urmare. • CMOS – putere disipat foarte sc zut i vitez de procesare mare. Automat. Rutinele con inute vor activa canalele de comunica ie dintre componentele sistemului i un sistem de operare sub care lucreaz acesta. Practic. Extensiile ROM reprezint un sistem care con ine anumite rutine necesare gestiunii dispozitivelor ata ate. care formeaz a a-numitul POST (Power On Self Test). se va lansa un mesaj de avertizare. a unit ilor de disc. folosind întreruperile cu serviciile aferente. în cazul în care se detecteaz anumite erori i disfunc ii pentru oricare din componentele hardware. ROM-Basic este un program op ional. . 4. • modul de organizare (lungimea cuvântului. Aici se afl înscrise mici rutine care realizeaz urm toarele ac iuni: • execut testele de func ionalitate ale tuturor componentelor ata ate hardware. 3. adic microcodul cu rol de asistare i control al pornirii sistemului. În alegerea unui circuit integrat de memorie. • ini ializeaz toate componentele ata ate calculatorului. • capacitatea. sistemul de operare. semnalele de control i adres ). care con ine nucleul limbajului Basic. odat înc rcat în RAM. • pre ul de cost. prin care se realizeaz hard cererile soft ale programelor. prin intermediul rutinelor con inute. • disponibilitatea. Sistemul de operare. • MOS – densitate de integrare ridicat . • puterea disipat (în regim de func ionare sau în regim de rezerv stand-by). 2. a controlerului de disc. de pe disc. precum i gestiunea perifericelor. a pl cii video. performan ele poart amprenta caracteristicilor tehnologice: • bipolar – vitez de procesare mare. • timpul de ciclu memorie. ROM-BIOS (Basic Input Output System) este o parte a memoriei ROM care va asigura toate procesele i serviciile necesare activit ii calculatorului. • verific alte extensii sau periferice ata ate sistemului de calcul. Orice sistem de calcul folose te o memorie ROM care con ine urm toarele sisteme software: 1. BIOS-ul con inut de ROM este elementul de leg tur sau interfa a direct între partea hardware i cea software. orice program acceseaz partea hardware prin intermediul BIOS. va prelua conducerea i gestiunea sistemului de calcul. densitate de integrare sc zut . Sistemul cu program starter sau ROM-ul de start. i ceva mai mult pentru memoria RAM. trebuie s se aib în vedere: • tensiunea de alimentare. • încarc în memorie.

Modul de organizare al memoriei. în situa iile ap rii tastei Delete. Fig. prin care va oferi o serie de informa ii privind starea func ional i structura sistemului de calcul. BIOS-ul va furniza o interfa de dialog cu utilizatorul. . Înc de la pornirea i ini ializarea calculatorului (la înc rcarea sistemului de operare).134 ARHITECTURA SISTEMELOR DE CALCUL Întreaga memorie ROM este activ pe tot parcursul lucrului cu calculatorul. se poate modifica o serie de parametri pentru a se ob ine un mod de lucru optim i rapid. 3.53. Prin intermediul unor meniuri.

MMU va dezactiva automat toate cartu ele ROM al c ror con inut a fost citit i scris apoi în RAM. Acest sistem con ine un prim meniu – Standard CMOS Setup –. Datorit u urin ei cu care se poate accesa BIOS-ul. pentru transferul datelor. se pot activa sau dezactiva memoria cache intern i extern . Principalele func ii ale programelor de pe placa de baz sunt: • autotestarea la punerea sub tensiune (POST). iar în continuare va marca aceste zone de memorie RAM în care s-a transferat con inutul ROM. la pornirea sistemului ele nu pot fi înc rcate de pe discuri (sau alte dispozitive de memorare). Deoarece aceste programe trebuie s fie disponibile imediat. de obicei. Componenta BIOS este. În acest meniu. care se ocup cu transferul con inutului memoriei ROM (cel de pe placa de baz : ROM-ul de sistem. Aceast posibilitate de transfer a rutinelor i datelor ROM în RAM ridic foarte mult performan ele sistemului. Activarea op iunilor de transfer (shadowing) se face din meniul BIOS Features Setup din CMOS. cum ar fi configurarea magistralelor sau a st rilor de a teptare ale microprocesorului. ROM-ul video. parametrii care definesc func ionarea general a calculatorului pot fi modifica i foarte simplu. unde se stabilesc tipul i parametrii unit ilor de disc.Structura unui calculator 135 Ultimii 128 KB rezerva i din zona de memorie superioar (vezi figura 3. tastaturii sau pl cii video. în func ie de num rul de pini al cipului respectiv. prin activarea punctelor de Shadow definite de adrese specificate (System Shadow. Al treilea meniu – Advanced Chip-set Setup – con ine reglaje foarte fine de optimizare. deoarece timpul de acces al memoriei ROM este foarte mare (150–200 ns) i opera iile care implic folosirea con inutului ROM se desf oar lent. dar configurarea arbitrar a parametrilor BIOS poate produce deregl ri ale sistemului. ora i data curent a sistemului. • rutina de înc rcare a sistemului de operare (bootstrap loader) – ini iaz utarea sistemului de operare pe discurile disponibile.). corespunz toare pinilor nota i cu A0÷Am (pentru detectarea loca iei care con ine informa ia cerut ) i magistrala de date. Un al doilea meniu – Advanced CMOS Setup – cuprinde o serie de parametri reglabili pentru a ob ine maximul de performan . ordinea de c utare a sistemului de operare pe disc etc. memorat în cipuri de memorie ROM.53) sunt utiliza i de componenta BIOS de pe placa de baz . Programele din componenta ROM BIOS controleaz sistemul pe durata pornirii (pân la preluarea controlului de c tre sistemul de operare) i r mân ca driver-e pentru subsistemele hard pe durata func ion rii normale a sistemului. segmentele ROM ale unor adaptoare sau extensii) în memoria de lucru RAM. se poate stabili o parol de intrare în sistem. Leg tura memoriei ROM cu exteriorul se face prin magistrala de adrese. prin pinii nota i cu D0÷An. protejându-le. • sistemul de baz pentru opera ii de intrare-ie ire (BIOS) – este interfa a soft sau programul principal de control pentru toate componentele hard ale sistemului. . Este un dispozitiv integrat în microprocesor. Video Shadow etc. Tot aici se poate men iona unitatea special MMU (Memory Management Unit).

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->