Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » scoala » informatica » calculatoare
Memoria principala RAM

Memoria principala RAM


Memoria principala RAM

Initial sistemul de operare DOS lucra cel mai bine pe adrese de 16 biti adica putea adresa usor un spatiu de memorie format din 64 K locatii.

Microprocesorul 8086 este astfel realizat incat poate accesa usor 64K de memorie din cadrul unui segment. Daca aplicatia nu depaseste aceasta valoare totul merge perfect. .In momentul de fata evident  lucrurile nu mai stau asa.

Odata cu aparitia primului PC a aparut si un standard de organizare a memoriei calculatorului de care trebuie tinut cont si acum atunci cand se proiecteaza un nou calculator. Acest lucru este justificat intrucat un calculator contine, in afara de partea hard, o parte soft care permite functionarea si cooperarea tuturor sistemelor existente in configuratie.Tot odata aceasta parte "soft" trebuie sa interfateze resursele calculatorului la orice aplicatie ce ruleaza pe calculatorul respectiv. Realizatorul unei aplicatii poate apela la serviciile de "interfata"pe care le realizeaza softul existent pe calculator, daca cunoaste adresele din memoria RAM, prin care acesta (BIOS si/sau sistem de operare) poate fi accesat.



Deoarece initial 8086 putea adresa maxim 1MB de RAM, modul cum a fost structurata aceasta zona de memorie a ramas standard si anume aceasta prima zona de 1MB, est e impartita in 16 blocuri a cate 64KB fiecare, prezentate in tabelul de mai jos:

Numar bloc

memorie

Adresa

de inceput

Spatiu

de adresare

Utilizarea

blocului

000000H

64 K

Memorie utilizator

010000H

128 K

Memorie utilizator

020000H

192 K

Memorie utilizator

030000H

256 K

Memorie utilizator

040000H

320 K

Memorie utilizator

050000H

384 K

Memorie utilizator

060000H

448 K

Memorie utilizator

070000H

512 K

Memorie utilizator

080000H

576 K

Memorie utilizator

090000H

640 K

Memorie utilizator

A

0A0000H

704 K

Memorie video

B

0B0000H

768 K

Memorie video

C

0C0000H

832 K

Zona extensie ROM

D

0D0000H

896 K

Zona extensie ROM

E

0E0000H

960 K

Memoria sistemului ROMBIOS

F

0F0000H

1024 K

Memoriile sistemului

ROM BIOS si

ROM BASIC

Primul bloc de memorie (Bloc 0) contine patru zone importante:

Prima formata din 1024 octeti (0 1 K) de memorie (cu adresele cuprinse intre 0 400H) este "tabelul vectorilor de intrerupere". Aici sunt inscrise adresele unde se pot gasi subrutinele ce trateaza diversele intreruperi ce pot apare in timpul functionarii. Pot fi inscrise pana la 256 de adrese distincte. O parte din aceste adrese sunt inscrise de componenta BIOS s isistemul de operare, la pornirea calculatorului, iar alta parte poate fi inscrisa de utilizatori.

Adoua zona de 256 locatii (1 1,25 K) de memorie (cu adresele cuprinse intre 400H 500H) este rezervata pentru spatiul de date ROM-BIOS. Rutinele din ROM-BIOS au nevoie de un spatiu de memorie unde sa isi depoziteze datele si varibilele de lucru.Ca de exemplu:un buffer care retine tastele apasate si inca neluate in consideratie de program, un alt buffer care detine informatii referitoare la volumul de memorii existent pe calculator, o inregistrare cu echipamentele principale instalate pe calculator, un indicator al modului de afisaj, etc.

A teria zona tot de 256 locatii (1,25 1,5 K) de memorie (cu adresele cuprinse intre 500H 600H) este o zona similara cu cea prezentata anterior, de aceasta data ca fiind locul de date pentru subrutinele sistemului de operare dar si a celor din ROM-BIOS.

Memoria cuprinsa intre adresele 1.5K 640K reprezinta zona de lucru a utilizatorului (aproape 640K). In acesta zona sistemul de operare poate rula programele utilizatorului. (Sau direct utilizatorul le poate rula daca are o aplicatie scrisa in limbaj de asamblare).

Blocurile A si B reprezinta o zona de 128K care este rezervata sistemului de afsare .Acesta zona a fost utilizata in mai multe moduri:

Din totdeauna memoria RAM in care sunt inscrise caracteristicile fiecarui pixel pe ecran, se afla pe cartela grafica (adaptorul video). Prelucrarea imaginii era facuta insa de catre procesor in zonele B apoi A si B. Apoi imaginea (sau portiuni ale acesteia) era mutata in memoria video. Cu cat exigentele imaginii cresteau memoria de 128K din zonele A si B devenea tot mai mica in comparatie cu memoria de pe cartela grafica motiv pentru care adaptoarele noi transfera zona memoriei video controlata de sistem undeva mai sus de 1M si procesorul poate controla intreaga imagine (Procedeu DIME-Direct Memory Execute).

Urmatoarele doua blocuri (C si D) sunt rezervate pentru plasarea de drivere .Spre exemplu, cartela grafica contine si o memorie ROM VIDEO in care sunt inscrise rutine ce permit procesorului afisarea datelor pe ecran, prin intermediul placii grafice respective. Memoria ROM VIDEO este astfel conectata incat sa poata fi accesata la o adresa incepand cu C0000. Similar au fost construite si alte placi adaptoare (pentru SCSI, controllere de discuri, adaptoare retea). Pe aceste placi erau prevazute comutatoare ce puteau fixa adresa de inceput (in cadrul blocurilor C si D) de la care sa poata fi accesata propria memorie ROM. Pentru cresterea vitezei (memoriile ROM sunt lente) aceste rutine (drivere) sunt incarcate la pornirea calculatorului, direct in memoria RAM la adrese din aceste blocuri (C si D).

Intr-o anumita perioada , blocul D a mai fost utilizat si pentru gestionarea a pana a 16 bancuri a cate 64K (in total 1M) de memorie expandata. Pentru aceasta terebuia folosiita o rutina (EMM) din DOS, care gestiona acest lucru si de asemeni placile de memorie "Expandata" aveau si un "Hard" dedicat .

Adresele corespunzatoare ultimilor bancuri de memorie (E si F) acceseaza memoria ROM-BIOS, ce se afla pe placa de baza.

Deoarece memoriile ROM sunt lente, incepand cu 486, prin intermediul MMU (Memory Management Unit) incorporata in 386, 486 si mai sus, la pornirea calculatorului, continutul ROM-BIOS este transferat in memoria RAM a sistemului. MMU "activeaza" zona RAM in care a fost transferat BIOS-ul in asa fel incat sistemul sa o vada la aceeasi adresa ca a memoriei ROM (de unde s-a copiat), dezactivand totodata memoriile ROM-BIOS. In acest mod sistemul acceseza BIOS-ul pe 16, 32 sau 64 biti la o viteza de tact mult mai mare .Totodata MMU protejeaza fata de scriere respectiva zona de memorie RAM. Aceasta metoda se numeste ROM Shadowing (duplicarea memoriilor ROM).





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.