The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
+21 votes

Which of the following is true?

  1. Unless enabled, a CPU will not be able to process interrupts.

  2. Loop instructions cannot be interrupted till they complete.

  3. A processor checks for interrupts before executing a new instruction.

  4. Only level triggered interrupts are possible on microprocessors.

asked in CO and Architecture by Veteran (52.1k points)
retagged by | 2.4k views

The (C) is false as shown in the below screenshot:

Interrupt check happens before the CPU fetches new instruction.

What about piplelined processors? The fetching cannot wait.

2 Answers

+27 votes
Best answer

Answer is (A).

Options (B) and (D) are obviously false.

A processor checks for the interrupt before FETCHING an instruction, so option (C) is also false.

answered by (315 points)
edited by
if interrupt is non-maskable ? still A is option?
Yes, what about non-maskable interrupt such as cpu temperature sensor?

I think we cannot disable it and when raised it is always processed.
+2 votes
are both option (a) and (c)  TRUE .... explain ???
Option (c) “Polling is like picking up your phone every few seconds to see if you have a call. Interrupts are like waiting for the phone to ring.”

CPU senses (checks) interrupt request line after every instruction; if raised,.... correct me
answered by Active (5k points)
reshown by
Suppose one wants to know who is the Prime Minister of Australia. If he asks this to someone we say "he enquired about Australian Prime Minister". Now, if someone tells him this info without asking, still he needs to open his ear and listen to it. But we never say "he enquired" here.

In similar way, (c) is wrong :) In very concrete sense it is correct. But we have to be at the right level of abstraction- when someone asks what happens inside CPU we shouldn't say 0's and 1's interchange each other ;)
:) yes , funtastic
he can't find way, ,  but thank you :) ,
instruction cycle with interrupt is the last stage of instruction cycle , so it should perform instruction execution ..steps
1) instruction fetch
2) instruction execution

3) interrupt checking
if interrupt is present there then interrupt service else aglo is repeat 1 then 2 ..... so on
I wouldn't call the 3 a step. Interrupt line is checked at that time, but it is not having any overhead.
ans is only A here then?
Arjun sir, how?

enabling is for software and user generated interrupts only right?

for hardware interrupts e.g. system failures also do we need the enabling?
I think they meant only maskable interrupts. Thermal interrupt will be always enabled, right?
please comment about loop instruction point, I understand that if loop instructions cannot be interrupted then infinite loops may result. But is this correct reasoning for this option to be false? Can you please give me some more details? Or should I go and read some good book on microprocessors too. I read Douglas Hall for 8086 in my college days, just want to avoid that now. How exactly loop instructions are processed?
Sir I. Am not getting why option c is wrong

@Swami Patil

Option C is wrong because we know that instruction has to pass through various phases(fetching, decoding, executing, writeback ), after completion of instruction CPU has to check for interrupts.

CPU can not check interrupts after executing phase..

Why are we assuming it to be a pipelined system?

Related questions

0 votes
0 answers
asked Sep 26, 2014 in CO and Architecture by Kathleen Veteran (52.1k points) | 215 views
Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
49,811 questions
54,529 answers
75,480 users