Interrupt Controller Discussion.

Vectored Interrupt controller mechanism is discussed in details below. Lets start with a detailed block diagram of VIC (Vectored Interrupt Controller).

Interrupt controllers are widely used in industry for processor based design. The VIC approach is specific to a design where each interrupt gets a dedicated vector list. This technique eliminates source polling and widely known as Vectored Interrupt control scheme.

Block diagram next. 

Vectored Interrupt controller.

Following blocks from the above diagram are further discussed on this site.

LTE - 4G Wireless Technology

Digital fundamentals.

Interview Questions.

Interrupt
Interrupt controller
Interrupt Handler
Interrupt Registers
VIC’s (Vectored Interrupt Controllers)
Non-Maskable Interrupts
 
Interrupt - An Interrupt is a request to processor to serve routines from peripherals in an out-of-turn basics.
 
Interrupt Controller - An interrupt controller is an on chip device to manage interrupts from various different peripheral devices. These devices are generally connected through a bus sub-system driven by processor or in some cases Bus Master’s on chip. 
 
Software subroutines which manages the execution of a program in response to an interrupt are commonly know as Interrupt Handlers or Interrupt Service Routines (ISR). 
 

Tutorials @fullchipdesign.com

Verilog Tutorial.

LTE Tutorial.

Memory Tutorial.

Interrupts are generally implemented with a set of registers for each interrupt source. 

Interrupt Registers, VIC and NMI.

Registers required for implementing interrupt.

Interrupt status register (ISR) - Each bit of the register captures the status of the interrupts from individual peripherals.

Interrupt mask register (IMR- Each bit of the register masks the interrupts from individual peripherals. 

Interrupt pending register (IPR) - If IMR bit is set the interrupt will show-up in IPR bit.

Interrupt clear register (ICR) - Writing to this register bit will clear the intr bit from ISR.

Some essential features of interrupt controllers are below:

  1. Multiple interrupt request inputs gets stored in IPR and ISR. One bit is generally assigned for each interrupt source.
  2. Software can mask out particular interrupt requests by setting the corresponding bit in IMR.
  3. Interrupts can be prioritized in hardware by implementing interrupt nesting of hardware sources.
  4. Software is still expected to perform following functions in interrupt handler:
    • Determine the interrupt source.
VIC Vectored Interrupt Controller
 
A Vectored Interrupt Controller (VIC) acts as a hardware accelerator for handling control for  software and save the complexity and latency on software side. Both the hardware and software portions of Interrupt controller are handled within hardware block. This block supplies the start address and vector address of the service routines.  This enables the highest priority request from the interrupt source.
 
Non-maskable Interrupt (NMI) -

An NMI can never be masked in hardware using IMR and are always propagated to the processor. Generally on getting a non-maskable interrupt the handler executes a piece of special monitor program. This monitor program manages the hardware failure scenario.  
 

Interview Questions. MainFPGADigital
 

Hope you liked! this page. Don't forgot to access relevant previous and next sections with links below.