 To a programmer, the registers of the I/O devices appear as numbers at specific memory addresses.x86 PCs use an older method, a separate I/O bus accessed by I/O instructions.A modern CPU also tends to include an interrupt controller.