De CPU haalt zijn gegevens op verschillende plaatsen, afhankelijk van wat het programma doet:
* Hoofdgeheugen (RAM): Dit is de primaire gegevensbron van de CPU. Instructies en gegevens waartoe de CPU regelmatig toegang moet hebben, worden in het RAM geladen. De CPU haalt voortdurend instructies en gegevens op uit het RAM.
* Cachegeheugen: Dit is een kleiner, sneller type geheugen dat zich dichter bij de CPU bevindt. Veelgebruikte gegevens uit het RAM-geheugen worden naar de cache gekopieerd, zodat ze nog sneller kunnen worden opgehaald. Er zijn doorgaans meerdere cacheniveaus (L1, L2, L3), waarbij L1 de snelste en kleinste is, en L3 de langzaamste en grootste. De CPU controleert eerst de cache voordat hij naar het RAM gaat.
* Registreert: Dit zijn extreem snelle opslaglocaties *in* de CPU zelf. Ze bevatten de gegevens waar de CPU actief aan werkt. Registers zijn de meest directe toegangspunten voor gegevens van de CPU.
* Invoer-/uitvoerapparaten (I/O): Dit omvat zaken als harde schijven, SSD's, netwerkkaarten en USB-apparaten. De CPU vraagt gegevens op van deze apparaten en de gegevens worden vervolgens overgebracht naar het RAM (en vervolgens naar de cache en registers) voordat de CPU deze kan verwerken.
Kortom, de gegevensstroom van de CPU is doorgaans:I/O -> RAM -> Cache -> Registers -> CPU . De CPU probeert altijd gegevens uit de snelst mogelijke bron te halen; Als er geen gegevens in de registers of cache worden gevonden, worden deze vervolgens opgehaald uit het RAM-geheugen en ten slotte, indien nodig, uit langzamere I/O-apparaten. |