Explain about interrupt-processing sequence, Computer Engineering

Assignment Help:

Q. Explain about Interrupt-Processing Sequence?

The occurrence of an interrupt fires a numbers of events both in processor hardware and software. Figure below displays a sequence.

1305_Explain about Interrupt-Processing Sequence.png

Figure: Interrupt-Processing Sequence

When an I/O device completes an I/O operation, the below sequence of hardware events takes place: 

1. The device issues an interrupt signal to processor.

2. Processor completes execution of current instruction before responding to interrupt.

3. Processor tests for interrupts and sends an acknowledgement signal to device that issued the interrupt.

4. The minimum information needed to be stored for task being currently executed before CPU starts executing interrupt routine (using its registers) are: 

(a) Status of processor that is contained in register known as program status word (PSW), and

(b) Location of next instruction to be executed, of currently executing program that is contained in program counter (PC).

5. Processor now loads PC with entry location of interrupt-handling program which will respond to this interrupting condition. Once PC has been loaded, processor proceeds to execute next instruction, which is the next instruction cycle that begins with an instruction fetch. Since the instruction fetch is determined by contents of the PC, result is that control is transferred to interrupt-handler program. The execution results in the subsequent operations:

6. PC & PSW relating to interrupted program have already been saved on system stack. Additionally the contents of processor registers are also needed to be saved on stack which are used by called Interrupt Servicing Routine since these registers may be modified by interrupt-handler. Figure (a) displays a simple illustration. Here a user program is interrupted after instruction at location N. Contents of all of registers and address of next instruction (N+1) are pushed on to stack.

7. Interrupt handler next processes interrupt. This involves determining of event which caused the interrupt and also status information relating to I/O operation.

8. When interrupt processing is finish, saved register values are retrieved from stack and restored to registers that are displayed in Figure (b).

9. Final step is to restore values of PSW and PC from stack. Consequently the instruction to be executed will be from previously interrupted program.


Related Discussions:- Explain about interrupt-processing sequence

Define the term- verification, Define the term- Verification It is a wa...

Define the term- Verification It is a way of preventing errors when data is copied from one medium to another (for instance from paper to disk/CD or from memory to DVD, etc.).

Main memory location, Poor Richard's cache as explained in Conference Topic...

Poor Richard's cache as explained in Conference Topic 2. Suppose that a 7th word (gggg gggg) from main memory location 011110 is read and stored in cache. a) Determine the cach

Explain binary number system, Explain Binary number system. Ans. Bi...

Explain Binary number system. Ans. Binary Number System The number of system along with base or Radix two is termed as the Binary Number System. To show the number, 0 a

What is a piconet in a bluetooth context, Problem: (a) IEEE802.11 supp...

Problem: (a) IEEE802.11 supports two types of network architecture, describe these architectures with the support of diagrams detailing the network components. (b) The MAC

Sets and bags, Task: Sets and bags In mathematics, the notion of multis...

Task: Sets and bags In mathematics, the notion of multiset (or bag) is a generalisation of the notion of set. A bag is a special kind of container in which the items may be

What is a subroutine, What is a subroutine? A subroutine is a named, in...

What is a subroutine? A subroutine is a named, independent section of C code that performs a particular task and optionally returns a value to the calling program.

Dynamic memory allocation function, Name the dynamic memory allocation func...

Name the dynamic memory allocation function? Three dynamic memory allocation functions are: a) malloc, b) calloc and c) free.

Inventor, I am the inventor of the railway signaling device now operated by...

I am the inventor of the railway signaling device now operated by timer. I wish to move on to the next phase where the equipment will be operated by DTMF codes. The device is a si

Object-oriented program and cell controlled class architectu, Object-Orient...

Object-Oriented Program And Cell Controlled Class Architecture To the variety of scenarios, generic cell control architecture can be applied. An object oriented programming lan

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd