Razlika između logičke adrese i fizičke adrese

Sadržaj:

Razlika između logičke adrese i fizičke adrese
Razlika između logičke adrese i fizičke adrese

Video: Razlika između logičke adrese i fizičke adrese

Video: Razlika između logičke adrese i fizičke adrese
Video: Frequency VS Bandwidth & Speed 2024, Novembar
Anonim

Ključna razlika između logičke adrese i fizičke adrese je u tome što CPU generiše logičku adresu tokom izvršavanja programa, dok je fizička adresa lokacija u memorijskoj jedinici.

Jednostavno rečeno, CPU generiše logičku adresu ili virtuelnu adresu. Iz perspektive programa koji je pokrenut, čini se da se stavka nalazi na adresi koju daje logička adresa. Memorijska jedinica prati fizičku adresu. Štaviše, omogućava pristup određenoj memorijskoj ćeliji u glavnoj memoriji preko sabirnice podataka.

Razlika između logičke adrese i fizičke adrese - sažetak poređenja
Razlika između logičke adrese i fizičke adrese - sažetak poređenja
Razlika između logičke adrese i fizičke adrese - sažetak poređenja
Razlika između logičke adrese i fizičke adrese - sažetak poređenja

Šta je logička adresa?

CPU generiše logičku adresu. Iz perspektive programa koji je pokrenut, čini se da se stavka nalazi na adresi koju daje logička adresa. Aplikacioni programi koji se pokreću na računaru ne vide fizičke adrese. Oni uvijek rade koristeći logičke adrese. Logički adresni prostor je skup logičkih adresa koje program generiše. Neophodno je mapirati logičke adrese u fizičke adrese prije nego ih koristite. Jedinica za upravljanje memorijom hardverskog uređaja (MMU) upravlja ovim procesom mapiranja.

MMU šeme mapiranja

MMU prati nekoliko šema mapiranja. U najjednostavnijoj šemi mapiranja, vrijednost u registru relokacije se dodaje svakoj logičkoj adresi koju proizvedu aplikacijski programi prije nego što ih pošalju u memoriju. Postoje i neke druge složene metode za generiranje mapiranja. Povezivanje adrese (tj. dodjela instrukcija i podataka u memorijske adrese) može se dogoditi u tri različita vremena.

Razlika između logičke adrese i fizičke adrese
Razlika između logičke adrese i fizičke adrese
Razlika između logičke adrese i fizičke adrese
Razlika između logičke adrese i fizičke adrese

Slika 01: Logička i fizička adresa

Prvo, to se može dogoditi u vremenu kompajliranja ako su stvarne memorijske lokacije poznate unaprijed, a to bi generiralo apsolutni kod u vremenu kompajliranja. To se također može dogoditi u vrijeme učitavanja ako memorijske lokacije nisu unaprijed poznate. Za ovo, kod za ponovno lociranje treba biti generiran u vrijeme kompajliranja. Nadalje, vezanje adrese se može dogoditi u vrijeme izvršenja. Ovo zahtijeva hardversku podršku za mapiranje adresa. U vremenu kompajliranja i vremenskom povezivanju adresa, logičke i fizičke adrese su iste. Ali ova procedura je drugačija kada se vezivanje adrese desi u vremenu izvršenja.

Šta je fizička adresa?

Memorijska jedinica prati fizičku adresu ili stvarnu adresu. Omogućava sabirnici podataka da pristupi određenoj memorijskoj ćeliji u glavnoj memoriji. MMU mapira logičku adresu u fizičku adresu. Na primjer, korištenjem najjednostavnije šeme mapiranja, koja dodaje vrijednost registra premještanja (pretpostavi da je vrijednost u registru y) logičkoj adresi, logička adresa u rasponu od 0 do x bi se mapirala u raspon fizičkih adresa y do x+ y.

Dalje, ovo se takođe naziva fizički adresni prostor tog programa. Sve logičke adrese moraju biti mapirane u fizičke adrese prije nego što se mogu koristiti.

Koja je razlika između logičke adrese i fizičke adrese?

Logička adresa u odnosu na fizičku adresu

Logička adresa je adresa na kojoj se čini da se stavka nalazi iz perspektive izvršnog aplikativnog programa. Fizička adresa je memorijska adresa koja je predstavljena u obliku binarnog broja na kolu adresne sabirnice kako bi se omogućilo sabirnici podataka da pristupi određenoj ćeliji za skladištenje glavne memorije, ili registru memorije mapirane I /O uređaj.
Vidljivost
Korisnik može vidjeti logičku adresu programa. Korisnik ne može vidjeti fizičku adresu programa.
Metoda generiranja
CPU generiše logičku adresu. MMU izračunava fizičku adresu.
Pristupačnost
Korisnik može koristiti logičku adresu za pristup fizičkoj adresi. Korisnik ne može direktno pristupiti fizičkoj adresi.

Sažetak – Logička adresa u odnosu na fizičku adresu

Razlika između logičke adrese i fizičke adrese je u tome što CPU generiše logičku adresu kada se program izvršava, dok je fizička adresa lokacija u memorijskoj jedinici. Sve logičke adrese moraju biti mapirane u fizičke adrese prije nego što ih MMU može koristiti. Fizičke i logičke adrese su iste kada se koristi vrijeme kompajliranja i vrijeme učitavanja adresnog vezivanja, ali se razlikuju kada se koristi vezanje adrese vremena izvršavanja.

Preporučuje se: