Programmable input/output
In embedded systems and other computers, a programmable input/output (programmable IO, PIO) is a piece of hardware that manages input/output pins (such as GPIO) without requiring the constant attention of the CPU – essentially one that performs bit-banging in place of the CPU. Its behavior is determined by a program uploaded to the PIO chip by the CPU. It communicates with the CPU using interrupts.