CPU:er (central bearbetningsenhet) och inmatning/utgång (I/O) -enheter har en avgörande, men indirekt, relation. CPU är datorns "hjärna", ansvarig för att bearbeta instruktioner och utföra beräkningar. I/O -enheter är de medel som datorn interagerar med omvärlden. Förhållandet är som följer:
* CPU:er leder I/O -operationer: CPU interagerar inte direkt med I/O -enheter. Istället skickar den kommandon (via programvara) till specialiserade hårdvarukomponenter (som styrenheter eller drivrutiner) som hanterar I/O -enheterna. När du till exempel skriver på ett tangentbord (en inmatningsenhet) läser CPU inte direkt tangenttryckningarna. Tangentbordskontrollen hanterar detta och skickar informationen till CPU när den är klar.
* I/O -enheter ger data till CPU: Ingångsenheter (tangentbord, mus, skanner, etc.) matar data i datorsystemet. Dessa data behandlas sedan av CPU. Utgångsenheter (monitor, skrivare, högtalare etc.) tar emot data från CPU för att visa, skriva ut eller spela.
* avbrott: I/O -enheter avbryter ofta CPU när de har data redo eller behöver uppmärksamhet. Detta möjliggör effektiv hantering av asynkrona händelser (händelser som inträffar vid oförutsägbara tider). Till exempel kan hårddisken avbryta CPU för att signalera att den är klar med att läsa en fil.
* DMA (Direct Memory Access): För höghastighets I/O-enheter tillåter DMA dataöverföring direkt mellan I/O-enheten och minnet och förbi CPU. Detta frigör CPU för andra uppgifter och förbättrar prestandan. CPU:er initierar dock fortfarande DMA -överföringen.
I huvudsak är CPU orkestrator. Den hanterar flödet av data till och från I/O -enheter, men det förlitar sig på andra hårdvarukomponenter för att faktiskt hantera den fysiska interaktionen. Förhållandet är en kontroll och datautbyte, inte direkt fysisk anslutning.