OpenCores
URL https://opencores.org/ocsvn/pavr/pavr/trunk

Subversion Repositories pavr

[/] [pavr/] [trunk/] [doc/] [html/] [group__pavr__pipeline__int.html] - Diff between revs 4 and 6

Only display areas with differences | Details | Blame | View Log

Rev 4 Rev 6
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Interrupts</title>
<title>Interrupts</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
</head><body>
<!-- Generated by Doxygen 1.2.16 -->
<!-- Generated by Doxygen 1.2.16 -->
<center>
<center>
<a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>Interrupts<br>
<hr><h1>Interrupts<br>
<small>
<small>
[<a class="el" href="group__pavr__pipeline.html">Pipeline details</a>]</small>
[<a class="el" href="group__pavr__pipeline.html">Pipeline details</a>]</small>
</h1><table border=0 cellpadding=0 cellspacing=0>
</h1><table border=0 cellpadding=0 cellspacing=0>
</table>
</table>
<dl compact><dt><b>
<dl compact><dt><b>
General</b><dd>
General</b><dd>
The Interrupt System can forcedly place calls into the pipeline stage s3, as a result of specific IO activity. <br>
The Interrupt System can forcedly place calls into the pipeline stage s3, as a result of specific IO activity. <br>
 <br>
 <br>
 </dl><dl compact><dt><b>
 </dl><dl compact><dt><b>
Implementation</b><dd>
Implementation</b><dd>
The core of the Interrupt System is the Interrupt Manager module. It prioritizes the interrupt sources, checks if interrupts are enabled and if the pipeline is ready to process interrupts, and finally sends interrupt requests to the pipeline, together with the associated interrupt vector and other pipeline control signals. <br>
The core of the Interrupt System is the Interrupt Manager module. It prioritizes the interrupt sources, checks if interrupts are enabled and if the pipeline is ready to process interrupts, and finally sends interrupt requests to the pipeline, together with the associated interrupt vector and other pipeline control signals. <br>
 <br>
 <br>
 <div align="center">
 <div align="center">
<img src="pavr_hwres_int_01.gif" alt="pavr_hwres_int_01.gif">
<img src="pavr_hwres_int_01.gif" alt="pavr_hwres_int_01.gif">
</div>
</div>
<br>
<br>
 The pipeline acknowledges interrupt requests by forcing the Instruction Decoder to decode a call instruction, with the absolute jump address given by the Interrupt Manager. Next 2 instructions, that were already uselessly fetched, are flushed. <br>
 The pipeline acknowledges interrupt requests by forcing the Instruction Decoder to decode a call instruction, with the absolute jump address given by the Interrupt Manager. Next 2 instructions, that were already uselessly fetched, are flushed. <br>
 <br>
 <br>
 The interrupt vectors are parameterized, and can be placed anywhere in the Program Memory. <br>
 The interrupt vectors are parameterized, and can be placed anywhere in the Program Memory. <br>
 Every interrupt has a parameterized priority. <br>
 Every interrupt has a parameterized priority. <br>
 In the present implementation, up to 32 interrupt sources are handled. <br>
 In the present implementation, up to 32 interrupt sources are handled. <br>
 2 interrupt sources are implemented: <a class="el" href="group__pavr__hwres__iof__perif__int0.html">external interrupt 0</a> and <a class="el" href="group__pavr__hwres__iof__perif__t0.html">timer 0</a> interrupt. <br>
 2 interrupt sources are implemented: <a class="el" href="group__pavr__hwres__iof__perif__int0.html">external interrupt 0</a> and <a class="el" href="group__pavr__hwres__iof__perif__t0.html">timer 0</a> interrupt. <br>
 <br>
 <br>
 Because the Interrupt Manger shares much with the IO File, it is not built as a separate entity, but rather embedded into the IO File. The Interrupt Manager might be implemented as separate entity in a future version of pAVR. <br>
 Because the Interrupt Manger shares much with the IO File, it is not built as a separate entity, but rather embedded into the IO File. The Interrupt Manager might be implemented as separate entity in a future version of pAVR. <br>
 <br>
 <br>
 The interrupt latency is 5 clocks (1 clock needed by the interrupt manager and 4 clocks needed by the implicit call). <br>
 The interrupt latency is 5 clocks (1 clock needed by the interrupt manager and 4 clocks needed by the implicit call). <br>
 </dl><hr><address align="right"><small>Generated on Tue Dec 31 20:26:31 2002 for Pipelined AVR microcontroller by
 </dl><hr><address align="right"><small>Generated on Tue Dec 31 20:26:31 2002 for Pipelined AVR microcontroller by
<a href="http://www.doxygen.org/index.html">
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.2.16 </small></address>
width=110 height=53></a>1.2.16 </small></address>
</body>
</body>
</html>
</html>
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.