Een Programmable Interrupt Controller (afgekort PIC) werkt als een soort manager voor een op interrupts gebaseerd computersysteem. Het ontvangt vragen van I/O-apparaten, in de vorm van interrupts en beslist aan de hand van prioriteiten welke aanvraag eerst wordt behandeld. PIC levert dan een interrupt aan de processor. Nu moet PIC informatie aan de CPU leveren. Die informatie zal naar de juiste service wijzen. Deze verwijzing (pointer) wordt bijgehouden in een vectortabel. Om software en real time overhead te minimaliseren, worden interrupts hardwarematig afgehandeld.
Advanced PIC is de nieuwe opvolger van PIC. Deze kan meer interrupts behandelen, en kan werken met flexibele prioriteiten.