Geheugenhiërarchie en prestaties
Wat is het belangrijkste voordeel van een gesplitste L1-cache met aparte caches voor instructies (I-cache) en data (D-cache)?
- AInstructies en data botsen niet wanneer ze op hetzelfde adres staan, zodat de capaciteit verdubbeld lijkt
- BHet ophalen van instructies en het lezen en schrijven van data kunnen in dezelfde klokcyclus parallel plaatsvinden
- CInstructies worden niet gewijzigd, zodat de D-cache overbodig is
Antwoord en toelichting tonen
Antwoord: B. Het ophalen van instructies en het lezen en schrijven van data kunnen in dezelfde klokcyclus parallel plaatsvinden
In een pipeline wordt elke klokcyclus een instructie opgehaald terwijl een andere instructie data leest of schrijft. Bij een gesplitste L1 kunnen beide toegangen parallel verlopen zonder om de poort van één cache te concurreren, en kan elke cache op zijn eigen eigenschappen worden afgestemd. De capaciteit wordt niet verdubbeld; de totale capaciteit wordt verdeeld. Omdat data altijd moeten kunnen worden gelezen en geschreven, kan de D-cache niet worden gemist. Vanaf L2 worden instructies en data doorgaans gezamenlijk opgeslagen.