next up previous contents
Next: Tip Up: Program Previous: Dinamica   Cuprins

Cache

Cacheul este o memorie asociativa de regasire rapida a informatiei identificata in mod unic de o eticheta. Cacheul folosit in plint este un cache cu algoritm LRU de determinare a intrarii din cache ce se elibereaza pentru a fi alocata unei informatii ``mai noi''.

Concret, pentru fiecare intrare valida se cunoaste un numar care e cel mult egal cu numarul maxim de intrari valide si e unic pentru fiecare intrare. Cu cat e mai mare acest numar, cu atat e mai putin probabil sa fie LRU (least recently used -- cel care recent a fost folosit cel mai putin). De fiecare data cand se gaseste cu success in cache o intrare valida, se decrementeaza contoarele care sunt mai mari decat acesta, care se seteaza la maxim. Daca nu a fost 0, candidatul LRU ramane acelasi; altfel apare un nou LRU, deoarece cel anterior devine brusc MRU (most recently used).

Plint dispune de 2 cacheuri : variabile si proceduri. Cel de variabile nu e inca implementat.

Cacheul de proceduri tine informatii despre corespondenta dintre numele procedurilor care sunt vizibile din blocul curent si structura corespunzatoare de date; la comutarea dintr-un bloc in altul, exista mai multe moduri de invalidare a intrarilor din cache, astfel incat sa reflecte corect noua situatie.


next up previous contents
Next: Tip Up: Program Previous: Dinamica   Cuprins
Sebastian Glita 2002-06-19