Computersight > Computers

Interrupt Requests (irqs)

Interrupt Requesting (IRQ) is a computer system performance enhancing technology that plays a key role in how the CPU performs input/output processing and interfaces with every peripheral in the computer, from the keyboard and mouse to the hard disk and modem. It is through IRQ prioritization that the CPU juggles multiple concurrent tasks thereby giving the impression that it is doing many things at once.

Page 1 of 2 | Prev 12Next»

A computer's main processor (CPU) is a highly-tuned machine that is designed to (basically) do one thing at a time. For example; execute the current instruction or operation. However; because of the way in which we humans work and use computers, we require the CPU to do many things at once (or at least to seem to be doing many things simultaneously).

Multitasking - Projecting the impression that it (the CPU) is performing many tasks simultaneously is known as “multitasking”. Modern CPUs contain multiple processing pipelines and the newer CPUs of today actually have multiple processing cores each with its own full complement of multiple processing pipelines.

This latter development (multiple complete processing cores) has indeed given the CPU the capability to perform multiple tasks simultaneously and not merely just seem to be doing so. The way in which processing tasks are managed and distributed among the multiple processing pipelines of the multiple cores is however; still achieved in pretty much the same way that it has always been done.

Multitasking Operating System - When using multitasking operating systems (like Windows, Mac OS X, and Linux etc.) users tend to have multiple programs, utilities and applications running concurrently/simultaneously. For example you may be: editing a word document, downloading from the Internet and listening to music.

In order to be able to do this the CPU will share its processing time among the tasks requiring its attention including user initiated tasks, the operating system, programs, utilities, memory management and quite a few “background” services and routines. It only appears that the processor is doing many things at once because of the incredible speeds that modern CPUs are able to switch between tasks.

Communicating with the CPU - The majority of the subsystems in a PC need to send information to and receive information from the CPU and system memory (RAM). Most also expect to be able to get the CPU's attention when they do so.

In order to improve a computer's overall efficiency the CPU also needs to balance the data transfers between itself and the various other subsystems of the machine. In addition; some of a computer's subsystems such as input/output (I/O) devices and human interface devices, all tend to require “special” attention.

Different Requirements - Another influential factor here is that different devices require different amounts of CPU time at various different irregular intervals.

The mouse; for example, needs far less attention than a hard disk involved in the transference of a large multi-gigabyte file. Thus; in the interest of a more efficient use of a computer's finite resources, it is most beneficial if the amount of CPU time assigned to each device reflects the type of device and the nature of the operation and processing tasks involved.

In the above example of the resource needs of the mouse versus those of the hard drive; more resources can be allocated (even dedicated) to the hard drive for the duration of its current operation(s) while the mouse gets a smaller amount of CPU time.

When the hard drive is finished its current task(s) it may not be required to perform any transactions for various irregular periods of time. The system will then reassign those resources that were being used by the hard drive to other devices and processes as and when required.

Managing Processes - The computer (via the CPU) must also ensure that all active (running) processes and tasks are managed in the most efficient organized manner possible. There are basically 2 ways in which this can be done: CPU polling and device initiated interrupting.

Polling - Polling is the process whereby the CPU systematically locates and asks each device in turn if it requires any help or CPU processing time. This strategy (polling) is a very inefficient process because it is a waste of finite resources.

With polling the CPU is required to continually perform the same tasks (asking each device if it needs the CPU's attention) over and over again. More often than not the device will not require the CPU's attention. Statistically; the most likely answer or result of a hardware polling query is that which it received last time (offer declined).

With polling the CPU will continue to ask each device in sequence the same question ad infinitum. To overcome polling's inefficiency a different strategy; known as “Interrupting”; also referred to as Interrupt Request (IRQ), was developed.

Interrupting - The other way that the CPU (processor) can employ to handle CPU required processes and data transfers is to have the devices requiring the CPU's attention to issue a request for attention as and when they require it. This is the basic concept of interrupt requests.

Thus when a device has data to transfer, it generates an interrupt that says "Mr. CPU I need your attention now, please". The processor then stops what it is doing and deals with the device that requested its attention. Modern CPUs can handle many such requests at a time. In the event of multiple simultaneous interrupt requests the CPU uses a priority system that gives a priority status to interrupt requests based upon the priority associated with the device issuing the request. This is known as Interrupt Request Management.

Page 1 of 2 | Prev 12Next»
5
Liked It
I Like It!
Related Articles
10 Reasons Why PCs Crash  |  Direct Memory Access: DMA
More Articles by TechDoc
Common Protocol Exploitation Attacks  |  Layer Two Error Handling
Latest Articles in Computers
How to Build a Computer  |  Is Cryptography an Art?
Comments (0)
Post Your Comment:
Name:  
Copy the code into this box:  
Post comment with your Triond credentials?
Inside Computersight

Communication & Networks

 /

Computers

 /

Hardware

 /

Operating Systems

 /

Programming

 /

Software


Popular Tags
Popular Writers
Powered by
Computersight
About Us
Terms of Use
Privacy Policy
Services
Submit an Article
Advertise with Us
Contact

© 2007 Copyright Stanza Ltd. All Rights Reserved.