Sunteți pe pagina 1din 4

20. Memoria cache :corespondenta RAM cache..

Viteza de lucru a procesorului este superioara vitezei de


lucru a memoriei RAM.Dupa initierea unui ciclu de acces la memorie , procesorul tre sa astepte raspunsul
acesteia. Exista memorii rapide, dar cu cost ridicat, de aceea se apeleaza la un compromise, memoria fiind
structurata pe nivele: o memorie de dimensiuni mai reduse , dar rapida(direct accesibila procesorului)-Cache si
o memorie de capacitate mai mare, dar lenta-RAM. Memoria Cache contine copii de info din RAM.Daca
procesorul incearca sa citeasca un cuvant, mai intai se cauta in memoria cache, daca se afla, il trimite
procesorului. In caz contrar, se incarca un bloc din mem RAM in Cache , dupa care cuvantul cautat este furnizat
procesorului din blocul recent adaugat.///Principiul localitatii(intr un interval scurt de timp se acceseaza o zona
restransa de memorie) este cel pe care se bazeaza mem Cache . Adresarea unei locatii determina transferal unui
bloc de octeti din RAM in Cache, pt ca urmatoarea utilizare sa fie mai rapida.//Rularea unui program nu
acceseaza locatiile de memorie in mod aleatoriu. Daca a fost accesata o locatie, in momentele urmatoare e
posibil sa se acceseze una invecinata.Costul pe bit C=(Ccache*Dcache+Cram*Dram)/Dcache+Dram unde, C-
costul mediu pe bit, Ccache-cmb mem cache, Cram-cmb mem ram, Dcache-dimensiune mem cahe , Dram-dim
mem RAM. Scopul:valoarea costului c sa fie apropiat de cea a mem ram.Ccache>>Cram, Dcache<<Dram.
Timpul de acces depinde de vitezele celor 2 tipuri de memorie , dar si de probabilitatea ca un cuvant sa se afle
in mem Cache.Timp mediu de acces al sist de memorie:T=Rsucces*Tacces cache +(1-Rsucces)*Tram unde
Rsucces-rata de success, Tacces cache –timp acces cache, Tram-timp acces ram. Trebuie ca T sa fie aprox egal
cu T acces cache. Deoarece T <<Tram, tre ca rata de success sa fie cat mai apropiata de 1.
21.Map-area directa –cea mai simpla metoda. Un bloc se opoate gasi intr o singura linie din mem Cache.//-cei
3 biti mai putin semnificativi identifica un cuvant. Ceilalti 13 semnificativi identifica un bloc al mem
principale.//-campul de 7 biti(linie) identifica nr blocului modulo 128. Blocurile 0,128..8064 se gasesc pe linia
0, blocurile 127,255…8191 se vor gasi pe linia 127.//-campul de 6 biti(marcaj) identifica in mod unic blocul din
linie. Blocurile 0, 128, 256…8064 au marcaje 0,1,2…63.//Dezavantaj:locatia fix apt fiecare bloc. Daca un
program are acces in mod repetat la 2 blocuri diferite care sunt mapate in aceeasi linie, at blocurile vor fi
interschimbate continuu intre ele in cache, rezultand rata de success redusa.
22.Map-area asociativa –elimina dezavantajul maparii directe. Aici se foloseste un marcaj de 13 biti si un nr
de 3 biti pt cuvant. Un bloc din RAM se poate incarca in orice linie din Cache.//Pentru compararea marcajului
cu zona corespunzatoare din adresa de mem RAM este necesara o logica de comparare. Cu cat marcajul e mai
mare, cu atat e logica mai complicata.//Exista o flexibilitate in privinta inlocuirii blocurilor din Cache cu cele
din RAM.
23. Maparea asociativa pe seturi –compromis intre maparea directa si cea asociativa. Memoria Cache este
impartita in I seturi de cate J linii fiecare. K este nr setului. L=I*J;K=A|I). Cel mai utilizat este folosirea a doua
linii pe set.// Daca se incarca un bloc nou in mem Cache este necesar un algoritm care sa selecteze blocul ce va
fi inlocuit. Se folosesc 4 algoritmi: 1)LEAST RECENTLY USED:se inlocuieste blocul de la a carui utilizare a
trecut cel mai mult 2)FIRST IN/FIRST OUT: se inlocuieste blocul utilizat prima data in Cache 3) LEAST
FREQUENTLY USED: blocul utilizat cel mai putin in ultimul timp 4)RANDOM: se inlocuiesc blocuri
aleatoriu.// Inainte ca un bloc sa fie inlocuit , trebuie testat daca a fost modificat; daca nu, se continua operatia
prin suprascriere. Daca da, se cauta sa se inlocuiasca mai inatai in RAM. //1)”Write-through”- toate operatiile se
efectueaza si in RAM si in Cache//2)”Write-back”- operatiile se efectueaza mai intai in Ccache si se seteaza un
fanion. Blocul este inscris si in Ram doar daca fanionul este setat.
24. Sist de intrare iesire. Structura sistemului si functiile circ de interfata Arhitectura unui calculator
cuprinde , pe langa unitatea centrala si sitemul de memorie, sist de intrare iesire.Acesta are rolul de a asigura
comunicarea calculatorului cu exteriorul. Fara acesta, calculatorul nu poate primi date si accesa rezultate. Prin
intermediul sau se introduce programe si date( tastatura, mouse , USB, Ethernet..)si se furnizeaza date, rezultate,
info..//Sist intrare iesire e conectat la microprocessor prin intermediul magistralelor:adrese, date, comanda si
control si poate contine mai multe periferice.DESEN(processor,
magistrala adrese, magistrala date, magistrala comanda,
memorie, circuit de interfata, periferic:tastatura, disc,
monitor). //Conectarea oricarui periferic la magistrale se face
prin circuit de interfata, care asigura compatibilitatea(conversia
semnalelor, formatul diferit)//Fiecare circuit tre sa contina locatii
de memorie, Acestea sunt materializate prin registri adresabili de
catre processor. Un disprozitiv in out este este asimilat prin numele de port, ce contine un nr de
registri.//Menirea registrelor este de a permite configurarea si citirea starii dispozitivului in out sau schimbarea
de date cu procesorul.//Interconectarea fizica dintre 2 dispozitive se numeste interfata hardware.//Pentru a se
conecta unitatea central cu cea periferica e nevoie de driver- set de programe care “invata”procesorul sa
comunice cu perifericele.//Perifericele sunt de trei tipuri 1)transfer date calculator –operator uman(tastatura,
mouse, monitor) 2)transfer date intre calculatoare(interfata serial, paralela) 3)pt memorare(unitate
CD/DVD).//Circuitele de interfata realizeaza o serie de functii:comunicatie cu procesorul(date, comenzi),
comunicatia cu perifericul, sincronizare, asigurarea unui tampon de date si detectia erorilor.
25.Ierarhizarea magistralelor Majoritatatea calculatoarelor folosesc mai multe nivele de magistrale,
ierarhizate functie de viteza de operare. O structura devenita clasica este cea cu 4 nivele, in care primul nivel
este reprezentat de magistrala locala care conecteaza procesorul cu memoria cache si eventual dispozitivele
input output locale de mare viteza. Un al doilea nivel ceva mai lent realizeaza legatura cu memoria principal si
cu disp in out de viteza, iar al treilea nivel si mai lent realizeaza interfata cu disp periferice mai lente si nivelul
cel mai lent care realizeaza legatura cu perifericele cele mai lente.// Transferul info pe magistrale poate fi
sincron sau asincron , magistralele sincrone prezinta un semnal de tact comun pt toate disp conectare la
ele.transferul asincron presupune semnale de control suplimentare intre cele 2 disp.Transferurile in out sunrt de
regula asincrone, de aceea necesita stari suplimentare de asteptare care sa mareasca durata unui ciclu
masina.Starile pot fi introduce de catre processor sau de catre dispozitiv(spatiu comun cu memoria).
26.Structura unui circuit de interfata

Circuitul de interfata este conectat la system prin intermediul magistralelor(semnalelor existente pe liniile
magistalelor). Datele sunt transferate pe liniile magistralelor de date. Acestea sunt preluate in registrii circuitului
si memorate pt utilizarea ulterioara.Astfel de registri ce primesc datele de la processor sunt REGISTRUL DE
CONFIGURARE/COMANDA si REGISTRUL DE DATE.Tot la liniile de date este conectat si reg de stare.
Reg de configurare primeste comenzi de la processor si/sau cuvinte de configurare.Reg de date stocheaza
temporar un cuvant ce trebuie transmis perifericului sau un octet ce este primit de la periferic.Deoarece
adresarea se face folosind semnale de scrieresau citire, cei doi reg sunt adesea situati la aceeasi adresa fizica,
operatia de scriere det accesul la reg de date de iesire, iar op de citire accesul la reg de date de intrare.
27. Transferul datelor prin program

28.Transferul datelor prin intreruperi Sist de intreruperi al unui processor permite intreruperea activitatii
curente a procesorului pt efectuarea unor operatii asincrone generate de evenimente interne sau externe. Daca
este validate acceptarea intreruperilor, programul este interrupt si se apeleaza o rutina de intrerupere(de tratare).
Dupa incheierea rutinei, programul de reia de unde s a interrupt.Datele trebuie salvate inaite de salt(de regula in
stiva)si refacute dupa revenire, ca programul sa continue de unde a ramas.Avantajul acestei metode e ca nu se
pierde timp cu interogarea perifericului. Buclarea se face de cate ori e nevoie.//Exista doua tipuri de
intreruperi:1)nevectorizate:adresa rutinei de intrerupere este fixa 2)vectorizate- adresa este furnizata chiar de
catre sursa de intrerupere sub forma unui vector de intrerupere. In unele cazuri vectorul indica adresa de inceput
a rutinei de intrerupere, iar in altele o adresa de memorare unde este memorata adresa rutinei de
intrerupere.//Arbitrarea este vazuta ca o solutie in mom in care exista simultan mai multe intreruperi.Arbitrarea
prin SWnecesita un HW minimal, de ex un reg in care fiecarui periferic cu intreruperi ii corespunde un bit care
va fi setat at cand acesta genereaza o cerere de intrerupere.Arbitrarea poate fi controlata de catre un controller
de intreruperi. El preia toate sarcinile procesorului privind arbitrarea.Accepta intreruperi de la mai mukte surse
si , in functie de prioritate, trimiteo cerere de intrerupere catre processor. O alta metoda de arbitrare este cea cu
lant de prioritati, care se bazeaza pe existent unor circuite de invalidare in cadrul fiecarui circuit de interfata. Cu
cat dispozitivul este situate mai departe de processor in lant, cu atat prioritatea sa este mai mica. Ea este stabilita
prin HW si este fixa.
In mom in care un disp doreste sa genereze o intrerupere:-intrarea sa IEI poate fi in 0 logic, semnalizandu I
faptul ca un alt dispozitiv cu prioritatea mai mare este servit; dispozitivul va astepta pana cand IEI va trece in 1
logic.//-intrarea sa IEI este in 1 logic si at poate genera o cerere de intrerupere si va trece iesirea sa IEO in 0
logic, anuntand disp mai putin prioritare ca este servit.
29.Transfer date prin acces direct la memorie(DMA) –Se realizeaza fara intervantia procesorului, direct intre
periferic si memorie, intregul process fiind coordonat de catre un circ specializat,controller DMA.

Reg de adresa curenta contine adresa la care se face transferal DMA. Ea este incrementata sau decrementata
automat dupa fiecare transfer.//Reg contor de cuvinte current retine nr de transferuri ce mai trebuie efectuat. El
este decrementat dupa fiecare transfer al unui cuvant;cand continutul sau ajunge la 0 este generate o conditie
TC(TERMINAL COUNT).Reg adresa de baza si contor de cuvinte de baza-memoreaza valorile initiale ale
registrilor curenti.sunt inscrisi simultan cu registrii curenti si nu pot fi cititi de processor.//Un controller DMA
permite transferal datelor prin unul din cele 4 moduri:1) Modul de transfer singular-canalul DMA e
programat sa realizeze un singur transfer.contorul de cuvinte este incrementat, iar contorul de adrese va fi
incrementat/decrementat la fiecare data transferata.Cand contorul de cuvinte este ajunge la 0 se genereaza o
conditie TC si canalul este autoinitializat, daca a fost programat astfel. 2)Modul de transfer in bloc-transferul
este initiat de catre periferic odata cu activarea semnalului CerDMA. Datele sunt transferate una cate una pana
controlerul de cuvinte ajunge la 0. 3)Transfer DMA la cerere:-Transferul datelor se face pana cand CerDMA
devine inactive 4)Modul cascadat- mai multe circuite DMA sunt inlantuite pt extinderea nr de canale. Sunt
posibile 4 tipuri de transfer diferite:Transfer de scriere, transfer de citire,, transfer de verificare, transfer
memorie memorie

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