| Real Time Systems: Notes |
The use of terminology varies from vendor to vendor. Intel terminology is used here, except as noted.
There are two kinds of special control transfers, implemented by similar mechanisms: Interrupts and Exceptions.
(Motorola calls them externally or internally caused exceptions, respectively.)
e.g. 31 16 15 0 (bit addresses)
---------------------------------
| CS | IP | (register values)
---------------------------------
| | | | | (byte addresses)
m+3 m+2 m+1 m
Stack save area for 8086 (80386 real mode):
------------------------------------------------- | FLAGS | CS | IP | (register values) ------------------------------------------------- | | | | | | | (byte addresses) SP+5 SP+4 SP+3 SP+2 SP+1 SP
Intel:
| Debug faults | Highest | |
| Non-debug faults | ||
| Trap instructions (INT n, INTO) | ||
| Debug traps | ||
| NMI interrupt | ||
| INTR interrupt | Lowest |
Interrupts may come from several sources, which fan in through controllers.
--------------
source--->| |
| controller |-----|
source--->| | | INTR -------
: -------------- |-------+---->| CPU |
: -------------- | vector -------
source--->| controller |-----| ^
-------------- mask/unmask
^
disable/enable
The controller can preserve some info. about source
via the vector value.
Can be done at several levels:
|
© 1998, 2003 T. P. Baker.
No part of this publication may be reproduced, stored in a retrieval system, or
transmitted in any form or by any means without written permission.
$Id: interrupts.html,v 1.1 2003/10/17 12:34:01 baker Exp baker $ |