In computerarchitectuur:een één-adresformaat (ook wel een instructieformaat met één adres genoemd ) is een instructieformaat waarbij elke instructie slechts één geheugenadres specificeert. Dit adres verwijst doorgaans naar een operand (de gegevens waarop de instructie werkt). De instructie zelf impliceert de uit te voeren handeling en maakt vaak impliciet gebruik van een accumulator (een speciaal register).
Hoe het werkt:
Stel je een eenvoudige optellingsinstructie voor. In een formaat met één adres kan de instructie worden weergegeven als:
`X TOEVOEGEN`
Deze instructie zou betekenen:"Voeg de inhoud van geheugenlocatie X toe aan de accumulator en sla het resultaat op in de accumulator." De vorige waarde van de accumulator wordt impliciet overschreven. Andere instructies kunnen op soortgelijke wijze op de accu van toepassing zijn, zoals:
* `LOAD X`:Laad de waarde op geheugenlocatie X in de accumulator.
* ``STORE X`:Bewaar de waarde in de accumulator op geheugenlocatie X.
Voordeel van één adresformaat:
Het belangrijkste voordeel van een formaat met één adres is de eenvoud en compactheid . Omdat elke instructie slechts één geheugenadres hoeft op te geven, zijn de instructies zelf korter. Dit leidt tot:
* Gereduceerde instructielengte: Er is minder geheugen nodig om het programma op te slaan, wat resulteert in potentiële besparingen in geheugenruimte en mogelijk sneller ophalen van instructies.
* Vereenvoudigde instructiedecodering: De instructiedecoder van de CPU heeft minder werk te doen, omdat hij slechts één adres per instructie hoeft te interpreteren. Dit kan mogelijk leiden tot een snellere uitvoering van instructies.
Nadelen:
Formaten met één adres hebben echter ook beperkingen:
* Beperkte bewerkingen per instructie: De accumulator fungeert als een bottleneck. Multi-operandbewerkingen vereisen meerdere instructies (om bijvoorbeeld twee geheugenlocaties toe te voegen, heb je een LOAD nodig, gevolgd door een ADD). Dit maakt het programmeren minder efficiënt en kan leiden tot een langzamere uitvoering van complexe bewerkingen.
* Accumulatorafhankelijkheid: De sterke afhankelijkheid van de accumulator kan programmeerproblemen veroorzaken en de flexibiliteit van de instructies beperken.
Samenvattend biedt het één-adresformaat een balans tussen instructieeenvoud en compactheid, ten koste van minder bewerkingen per instructie. Het is een minder gebruikelijk formaat vergeleken met formaten met twee of drie adressen in moderne computerarchitecturen, maar vanwege de eenvoud was het gangbaar in eerdere generaties computers. |