Besturingssysteem en hardware

Welk voordeel is juist van het toevoegen van een ASID (address space identifier) aan elke TLB-ingang?

  1. AVertalingen kunnen worden onderscheiden zonder bij het wisselen de hele TLB te legen
  2. BHet bereik van virtuele adressen dat een proces kan gebruiken kan worden verdubbeld
  3. CDe paginatabel is niet meer nodig en alle vertalingen kunnen alleen met de TLB worden gedaan
Antwoord en toelichting tonen

Antwoord: A. Vertalingen kunnen worden onderscheiden zonder bij het wisselen de hele TLB te legen

Zonder ASID wijst hetzelfde virtuele adres per proces naar een ander fysiek adres, dus bij elke proceswisseling moet de TLB worden geleegd en volgen na de wisseling TLB-misses. Als elke ingang een ASID heeft, kan worden onderscheiden bij welk proces een vertaling hoort, zodat de TLB niet geleegd hoeft te worden en de ingangen bij terugkeer naar het oorspronkelijke proces opnieuw kunnen worden gebruikt. Het bereik van virtuele adressen verandert niet en de paginatabel blijft nodig voor vertalingen die niet in de TLB passen.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Besturingssysteem en hardware

  1. Door welk mechanisme kan het besturingssysteem op vaste tijden de CPU terugnemen van een programma dat de CPU niet uit zichzelf afstaat, om naar een ander proces over te schakelen?
  2. Waarom wordt, wanneer zoals hierboven het statusregister van een apparaat via memory-mapped I/O wordt gelezen, volatile gebruikt en wordt dat gebied ingesteld om niet te worden gecachet?
  3. In welk geval is polling, waarbij de CPU de status van een apparaat herhaaldelijk controleert zonder interrupts, voordeliger?
  4. Welke bewerking moet de software uitvoeren voordat de CPU gegevens leest die een apparaat via DMA naar het hoofdgeheugen heeft geschreven, in een systeem waarin hardware de cache niet coherent houdt (niet-coherent)?
  5. Wat is de juiste hoofdrol van de IOMMU?

Vergelijkingen bij dit onderwerp