F: Interrupt-Logik bei Mikrocontroller/PC-CPU?

07/09/2007 - 23:05 von Falk Willberg | Report spam
Liebe Gruppe ;-)

Was genau passiert eigentlich, wenn bei einem Mikroprozessor ein
Interrupt angelegt wird?

Mich würde interessieren, was vom Anliegen des Signals bis zum Eintritt
in die Interrupt-Service-Routine passiert.

Ein Verweis auf eine Herstellerdokumentation oder àhnlich belastbares
Material wàre angenehm.

Falk
P.S.: Hintergrund ist der, daß ich "nebenan" die Meinung vertrete, daß
die IRQ-Leitung _nicht_ zyklisch abgefragt wird, sondern "in Hardware"
das Verhalten des Prozessors beeinflusst.
 

Lesen sie die antworten

#1 allinger
07/09/2007 - 22:19 | Warnen spam
On 07 Sep 07 at group /de/sci/electronics in article
(Falk Willberg) wrote:

Liebe Gruppe ;-)

Was genau passiert eigentlich, wenn bei einem Mikroprozessor ein
Interrupt angelegt wird?

Mich würde interessieren, was vom Anliegen des Signals bis zum
Eintritt in die Interrupt-Service-Routine passiert.

Ein Verweis auf eine Herstellerdokumentation oder àhnlich belastbares
Material wàre angenehm.

Falk
P.S.: Hintergrund ist der, daß ich "nebenan" die Meinung vertrete, daß
die IRQ-Leitung _nicht_ zyklisch abgefragt wird, sondern "in Hardware"
das Verhalten des Prozessors beeinflusst.



Es sollte so sein wie letzteres, aber es gibt auch Beispiele, wo das
nicht gemacht wurde. Die Transputer sind mir da in unrühmlicher
Erinnerung, auch irgendwelche PICs tickern da noch in meinem Hinterkopf.

Ansonsten kuck Dir mal Bücher vom 8051 an. Auch bei einem Z80 ist das
noch relativ übersichtlich. Bei Motzorola ist es bei einigen Familien
etwas strange geregelt. Eine besonders üble Kracke waren die Plessey
Miproc 16AS. Da durftest Du selber die returnadr in einem xetra register
hüten. Aber da hat man wenigstens gelernt, wie eine saubere IR-service
routine auszusehen hat.

Es gibt (gab) auch Prozessoren, die in einem einzigen T-cyclus schon in
der IR-Service Routine sind und der return nichts an Zeit gekostet hat:
Harris RTX-2000. Der konnte bei 10MHz Clock eine leere IR-Service
Routine mit 400ns erledigen, also z.B. 2,499MHz an einer der IR-reqs und
gleichzeitig lief das Terninalprogramm noch völlig problemlos mit
9600Bd.

Bei den heutigen super/duper CPUs ist das mit der Echtzeitfàhigkeit
nicht mehr soweit her.


Saludos Wolfgang



Meine 7 Sinne:
Unsinn, Schwachsinn, Blödsinn, Wahnsinn, Stumpfsinn, Irrsinn, Lötzinn.
Wolfgang Allinger Paraguay reply Adresse gesetzt !
VoIP 02173 / 99 39 209 ca. 15h00..21h00 MEZ SKYPE:wolfgang.allinger

Ähnliche fragen