Inregistreaza | Ai uitat parola?

Curs XIII

Numar pagini 10
Nume Curs XIII
Subiect Arhitectura calculatoarelor
Institutie Universitate
Universitate Facultatea de Automatica, Calculatoare, Electronica
Pret 50 puncte
Evaluarea calitatii 0 / 0 (100%)
Adaugat 02-05-2009
Adaugat de dktf0406
Descarcat 4
Marimea fisierului 0 KB
Formatul fisierului pdf
Cuvinte cheie model , memorie , ijvm , set , instructiuni , implementare ijvm , mic-1
Format: pdf
Pret: 50 puncte
Descrierea materialului:
Cuprinde continuarea cursului XII:
5.2.2 Modelul de memorie IJVM
5.2.3 Setul de instrucţiuni IJVM
5.3.3 Implementarea IJVM folosind Mic-1
Extras din material:
CURS 13 AC 2006/2007

1/10



Zona
Constantelor
CPP
Stiva 3
curent? a
operanzilor
Zona 3 curent?
a variabilelor
locale
Zona 2 a
variabilelor
locale
Zona 1 a
variabilelor
locale
SP
LV


Zona
Procedurilor
Figura 5.10 Zonele memoriei IJVM
PC
ARHITECTURA CALCULATOARELOR 2006/2007
CURSUL 13


5.2.2 Modelul de memorie IJVM

S? ?ncepem s? vorbim despre arhitectura IJVM. ?n esen?? const? dintr-o memorie care poate fi
v?zut? ?n dou? feluri diferite astfel: o zon? (un ?ir, de fapt) de 4.294.967.296 octe?i (4 GB) sau
o zon? (un ?ir) de 1.073.741.824 cuvinte, fiecare con?in?nd c?te 4 octe?i. Spre deosebire de
multe ISA, ma?ina virtual? Java nu face adresele direct vizibile la nivelul ISA, dar sunt c?teva
adrese implicite care ofer? baza pentru un pointer. Instruc?iunile IJVM pot accesa memoria
numai index?nd de la ace?ti pointeri.

?n orice moment sunt definite urm?toarele zone de memorie:

¾ Zona Constantelor (Constant Pool). Aceast? zon? nu poate fi scris? de programul
IJVM, ?i const? din constante, ?iruri ?i pointeri c?tre alte zone ale memoriei care se pot referi.
Se ?ncarc? c?nd programul este adus ?n memorie ?i nu se schimb? ulterior. CPP este un
registru implicit care con?ine adresa primului cuvant al zonei constantelor.

¾ Zona Variabilelor Locale (Local Variable Frame). Pentru fiecare apel al unei
proceduri, este alocat? o zona de memorie pentru memorarea variabilelor pe timpul apelului.
Aceast? zon? poart? numele de structur? a variabilelor locale. La ?nceputul acestei structuri
se afl? parametrii (numi?i argumente) cu care procedura a fost apelat?. Structura variabilelor
locale nu include stiva de operanzi care este separat?. Oricum, din motive de eficien??,
arhitectura propus? a aleas implementarea stivei de operanzi imediat deasupra structurii
variabilelor locale. Exist? un registru implicit care con?ine adresa primei loca?ii a structurii
variabilelor locale. Vom numi acest registru, registru LV. Parametrii vehicula?i la apelul
procedurii sunt memora?i la ?nceputul structurii variabilelor locale.

¾ Stiva Operanzilor (Operand Stack). Se garanteaz? c? dimensiunea stivei nu va dep??i
CURS 13 AC 2006/2007

2/10
o anumit? dimensiune, calculat? ?n avans de compilatorul JAVA. Stiva operanzilor are un
spa?iu alocat imediat deasupra structurii variabilelor locale, ca ?n figura 5.10. ?n
implementarea noastr?, este de preferat s? privim stiva operanzilor ca o parte a structurii
variabilelor locale. ?n orice caz, exist? un registru care con?ine adresa cuv?ntului din v?rful
stivei. De notat c?, spre deosebire de CPP ?i LV, pointerul SP se schimb? ?n timpul execu?iei
procedurii pe m?sur? ce operanzii sunt introdu?i (push) sau extra?i (pop) din stiv?.

¾ Zona Procedurilor (Method Area). ?n sf?r?it, exist? o regiune a memoriei con?in?nd
programul, referit ca “text area” ?ntr-un proces UNIX. Exist? un registru implicit ce con?ine
adresa instruc?iunii ce urmeaz? s? fie extras? ?n continuare. Acest pointer este referit ca
Program Counter sau PC. Spre deosebire de celelalte regiuni ale memoriei, zona procedurilor
este tratat? ca un ?ir de bytes.

Se cuvine facut? o precizare referitoare la pointeri. Regi?trii CPP, LV ?i SP sunt to?i pointeri
la cuvinte (words) nu la bytes, ?i sunt decalate cu un num?r de cuvinte. Pentru varianta pe
?ntregi abordat?, toate referin?ele la articolele din zona constantelor, zona variabilelor locale ?i
stiva sunt referin?e la cuvinte, iar decalajele (offset) util...


Materiale similare

Nume: Curs III
Extras din material: ...are utilizeaz? nota?ia ?n complement fa?? de doi trebuie s? ?tie numai s? efectueze adunarea ?i negarea bi?ilor. De exemplu, opera?ia de sc?dere 7- 5 este identic? cu problema de adunare 7 + (-5). ?n consecin??, dac? i se cere unui calculator s? scad? 5 (stocat sub forma 0101) din 7 (stocat ca 0111), acesta va schimba mai ?nt?i pe 5 ?n –5 (reprezentat ca 1011) ?i apoi va efectua adunarea 0111 + 1011, ob?in?nd rezultatul 0010, care reprezint? valoarea 2, dup? cum este descris ?n contin...
Nume: Curs VIII
Extras din material: ...? mai sc?zut, care totu?i au putut s? execute un mare num?r de instruc?iuni. Rezultatul a fost arhitectura sistemului IBM/ 360, o familie de calculatoare compatibile, travers?nd aproape doua ordine de magnitudine, at?t ?n pre? c?t ?i ?n capacitate. Pentru c? pia?a de calculatoare a explodat ?n anii 1970 ?i capacit??ile de calcul au crescut rapid, cereare de calculatoare cu pre? sc?zut a favorizat proiectarea calculatoarele folosind interpretoare. Abilitatea de a imbina hardware ?i...
Nume: Curs I
Extras din material: ...ru realizarea de sisteme de stocare ?n care longevitatea este un factor important. Limit?rile tehnologice, considerentele economice, precum ?i necesitatea stoc?rii de copii de siguran?? ale datelor vitale, au f?cut ca arareori memoria principal? a unui calculator s? satisfac? cerin?ele impuse de diverse aplica?ii. De aceea, multe calculatoare sunt echipate, pe l?ng? memoria principal?, cu sisteme de stocare de mas? (mass storage systems, denumite ?i memorie secundar?). De obicei, ...
Nume: Curs X
Extras din material: ...lave vede inactivarea lui MSYN , ?tie c? s-a terminat ciclul, inactiveaza SSYN , ?i ne Figura 4.8 Exemplu de func?ionare pe o magistral? asincron? Date Adresa de memorie ce va fi citit? Adresa MREQ RD MSYN DATA SSYN CURS 10 AC 2006/2007 5/8 afl?m iar??i ?n situa?ia original?, cu toate semnalele dezactivate, a?tept?nd urm?toarea component? master. Diagramele de temporizare ?n cazul magistralelor asincrone (?i uneori chiar al magistralelor sincrone) folosesc s?ge?...
Nume: Curs IX
Extras din material: ...ementele de baz? din care sunt construite toate calculatoarele numerice sunt uluitor de simple. Primul pas este studiul acestor elemente de baz? ?i al algebrei speciale cu dou? valori (algebra booleana) folosit? pentru a le analiza. Dup? aceea se studiaz? circuitele fundamentale care pot fi construite folosind por?i ?n combina?ii simple, incluz?nd circuite pentru opera?ii aritmetice. Urm?toarea tem? este aceea de a afla cum por?ile pot fi combinate pentru a stoca informa?ii, ceea ce ?n...
Nume: Cursul VII
Extras din material: ...rii dintr-o unitate central? de prelucrare servesc ca zone tampon ?ntre unitatea de comand? ?i unitatea aritmetico-logic?, sau ?ntre unitatea central? de prelucrare ?n ansamblu ?i memoria principal?. Ata?area controlerelor la magistrala unui calculator m?re?te semnificativ complexitatea opera?iilor de control al comunica?iei de-a lungul acestei c?i de comunica?ie. Trebuie efectuate transferuri de date ?ntre unitatea central? de prelucrare ?i memoria principal?, ?ntre unitatea cen...
Toate materialele similare



Comentarii asupra materialului "Curs XIII"

Nimeni nu a verificat inca acest material. Fi primul care isi publica opinia



Publica-ti opinia

Logheaza-te pentru a posta un comentariu