How can the CPU recognize the device
requesting an interrupt ?

Since different devices are likely to require
different interrupt service routines, how can
the CPU obtain the starting address of the
appropriate routine in each case ?

Should any device be allowed to interrupt the
CPU while another interrupt is being serviced ?

How can the situation be handled when two or
more interrupt requests occur simultaneously ?