Verschil tussen logisch adres en fysiek adres

Anonim

Logisch adres versus fysiek adres

In eenvoudigste termen is een adres dat door de CPU wordt gegenereerd een logisch adres bekend. Logische adressen worden ook aangeduid als virtuele adressen. Vanuit het perspectief van een programma dat loopt, lijkt een object te zijn in het adres dat door het logische adres wordt verstrekt. Fysisch adres (ook wel de echte adressen genoemd) is het adres dat door de geheugeneenheid wordt gezien en het maakt de toegang tot een bepaalde geheugencel in het hoofdgeheugen mogelijk door de databus.

Wat is een logisch adres?

Logisch adres is het adres dat door de CPU wordt gegenereerd. Vanuit het perspectief van een programma dat loopt, lijkt een object te zijn in het adres dat door het logische adres wordt verstrekt. Applicatieprogramma's die op de computer worden uitgevoerd, zien de fysieke adressen niet. Ze werken altijd met behulp van de logische adressen. De logische adresruimte is de set logische adressen die door een programma worden gegenereerd. Logische adressen moeten worden geampliceerd naar fysieke adressen voordat ze worden gebruikt en deze mapping wordt behandeld met behulp van een hardwareapparaat genaamd de Memory Management Unit (MMU). Er zijn verschillende mapping schema's die door de MMU worden gebruikt. In het eenvoudigste mappingsschema wordt de waarde in het verplaatsingsregister toegevoegd aan elk logisch adres dat wordt geproduceerd door toepassingsprogramma's voordat ze naar het geheugen worden verzonden. Er zijn ook andere complexe methoden die gebruikt worden om de mapping te genereren. Adres bindend (i. E. Toewijzing van instructies en gegevens in geheugenadressen) kan in drie verschillende tijden gebeuren. Adresbinding kan in compileertijd gebeuren als de werkelijke geheugenlocaties van tevoren bekend zijn en dit zou de absolute code in compileertijd genereren. Adresbinding kan ook op laadtijd gebeuren als de geheugenlocaties van tevoren niet bekend zijn. Hiervoor moet de herplaatsbare code gegenereerd worden op compileertijd. Verder kan adressebinding gebeuren op executietijd. Dit vereist hardware ondersteuning voor adresmapping. In de compileertijd en de looptijdadres bindend zijn logische en fysieke adressen hetzelfde. Maar in de uitvoeringstermijn bindend zijn ze anders.

Wat is een fysiek adres?

Fysisch adres of het echte adres is het adres dat door de geheugeneenheid wordt gezien en laat de databus toe op een bepaalde geheugencel in het hoofdgeheugen. Logische adressen die door de CPU worden gegenereerd bij het uitvoeren van een programma worden in kaart gebracht naar het fysieke adres met behulp van de MMU. Bijvoorbeeld, door gebruik te maken van de eenvoudigste mapping schema, die het verplaatsingsregister toevoegt (veronderstel dat de waarde in het register y is) aan het logische adres, zal een logisch adresbereik van 0 tot x naar een fysiek adresbereik y naar x + y. dit heet ook de fysieke adresruimte van dat programma.Alle logische adressen moeten in fysieke adressen worden ingedeeld voordat ze kunnen worden gebruikt.

Wat is het verschil tussen een logisch adres en een fysiek adres?

Logisch adres is het adres dat door de CPU wordt gegenereerd (vanuit het perspectief van een programma dat loopt), terwijl fysiek adres (of het echte adres) het adres is dat door de geheugeneenheid wordt gezien en waarmee de databus toegang tot een bepaalde geheugencel in het hoofdgeheugen. Alle logische adressen moeten in fysieke adressen worden ingedeeld voordat ze door de MMU kunnen worden gebruikt. Fysieke en logische adressen zijn hetzelfde wanneer u de compileertijd en het beladingsadres bindt, maar ze verschillen wanneer u het executietijdadres bindt.