The Gateway to Computer Science Excellence
+24 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.

in CO and Architecture by Veteran (52.2k points)
retagged by | 3k 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

+34 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.

by (331 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.
Any example of a processor implementation which actually requires the processor to be "enabled" (somehow) for being able to process interrupts? And if somehow theoretically, who "enables" the processor and makes it able to process interrupts afterwards?

Also, in option (c), it is about executing a NEW instruction. This does introduce a certain level of ambiguity. If FETCHING was to be taken care of, why not write it explicitly about Execution and Fetch CYCLES?
+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
by Active (5.2k 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?
Anybody with this toronto pdf? It's saying forbidden

Related questions

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
50,737 questions
57,341 answers
105,210 users