Randapparaten worden niet rechtstreeks bij de CPU 'gelogd' in de zin van een opeenvolgend overzicht van gebeurtenissen. In plaats daarvan communiceren ze met de CPU via verschillende mechanismen, afhankelijk van het type apparaat en de systeemarchitectuur. De belangrijkste concepten zijn onderbrekingen en Directe geheugentoegang (DMA) .
1. Onderbreekt:
* Hoe het werkt: Een randapparaat signaleert de CPU wanneer deze aandacht nodig heeft (bijvoorbeeld een toetsaanslag op een toetsenbord, gegevens gereed van een netwerkkaart). Dit signaal wordt een interruptverzoek (IRQ) genoemd. De CPU onderbreekt zijn huidige taak, slaat zijn status op en springt naar een interrupthandlerroutine die specifiek is voor het apparaat dat de interrupt heeft gegenereerd. De handler verwerkt het verzoek van het apparaat (gegevens lezen, een commando bevestigen, enz.). Na verwerking herstelt de CPU de vorige status en hervat hij zijn onderbroken taak.
* Logboekaspect: Interrupts registreren inherent niets. Ze zijn eenvoudigweg een mechanisme voor het signaleren van gebeurtenissen. De interrupthandler *kan* echter informatie over de interrupt (bijvoorbeeld tijdstempel, apparaat-ID, ontvangen gegevens) naar een logbestand of andere opslag schrijven. Dit is loggen op softwareniveau, geen directe hardwareloggen door de CPU zelf.
2. Directe geheugentoegang (DMA):
* Hoe het werkt: Met DMA kan een randapparaat gegevens rechtstreeks van of naar het hoofdgeheugen overbrengen zonder de CPU bij elke afzonderlijke gegevensoverdracht te betrekken. Dit is cruciaal voor snelle apparaten zoals harde schijven of netwerkkaarten. De CPU initialiseert de DMA-overdracht (met vermelding van bron, bestemming en hoeveelheid gegevens), waarna de DMA-controller de overdracht afhandelt. Zodra de overdracht is voltooid, signaleert de DMA-controller de CPU via een interrupt.
* Logboekaspect: Net als bij interrupts logt DMA niet rechtstreeks. De CPU registreert mogelijk het begin en einde van DMA-overdrachten voor prestatiebewaking of foutopsporing, maar de daadwerkelijke gegevensoverdracht wordt afgehandeld door de DMA-controller.
3. Geheugen-toegewezen I/O:
* Hoe het werkt: Sommige randapparatuur is via memory-mapped I/O op de CPU aangesloten. Dit betekent dat specifieke geheugenadressen worden toegewezen aan de registers van het randapparaat. De CPU kan van deze adressen lezen en ernaar schrijven om de randapparatuur te besturen en gegevens uit te wisselen.
* Logboekaspect: Ook hier vindt geen inherente logboekregistratie plaats. De CPU kan gegevens uit de randregisters lezen en die gegevens naar behoefte in het geheugen of in een bestand loggen.
Samengevat:
De CPU heeft geen ingebouwd 'randapparaatlogboek'. Communicatie vindt plaats via interrupts en DMA, waardoor randapparatuur de CPU kan signaleren en gegevens efficiënt kan uitwisselen. Elke registratie van randactiviteit wordt geïmplementeerd via software die op de CPU draait, waarbij gebruik wordt gemaakt van de gegevens die via deze communicatiemechanismen worden verkregen. Deze logboekregistratie kan worden gebruikt voor foutopsporing, monitoring, auditing of andere doeleinden. |