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

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [rtems-20020807/] [doc/] [supplements/] [powerpc/] [timePSIM.t] - Blame information for rev 1782

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1026 ivang
@c
2
@c  Timing information for PSIM
3
@c
4
@c  COPYRIGHT (c) 1988-2002.
5
@c  On-Line Applications Research Corporation (OAR).
6
@c  All rights reserved.
7
@c
8
@c  timePSIM.t,v 1.12 2002/01/17 21:47:46 joel Exp
9
@c
10
 
11
@include common/timemac.texi
12
@tex
13
\global\advance \smallskipamount by -4pt
14
@end tex
15
 
16
@chapter RTEMS_BSP Timing Data
17
 
18
@section Introduction
19
 
20
The timing data for RTEMS on the RTEMS_BSP target
21
is provided along with the target
22
dependent aspects concerning the gathering of the timing data.
23
The hardware platform used to gather the times is described to
24
give the reader a better understanding of each directive time
25
provided.  Also, provided is a description of the interrupt
26
latency and the context switch times as they pertain to the
27
PowerPC version of RTEMS.
28
 
29
@section Hardware Platform
30
 
31
All times reported in this chapter were measured using the PowerPC
32
Instruction Simulator (PSIM). PSIM simulates a variety of PowerPC
33
6xx models with the PPC603e being used as the basis for the measurements
34
reported in this chapter.
35
 
36
The PowerPC decrementer register was was used to gather
37
all timing information.  In real hardware implementations
38
of the PowerPC architecture, this register would typically
39
count something like CPU cycles or be a function of the clock
40
speed.  However, with PSIM each count of the decrementer register
41
represents an instruction.  Thus all measurements in this
42
chapter are reported as the actual number of instructions
43
executed.  All sources of hardware interrupts were disabled,
44
although traps were enabled and the interrupt level of the
45
PowerPC allows all interrupts.
46
 
47
@section Interrupt Latency
48
 
49
The maximum period with traps disabled or the
50
processor interrupt level set to it's highest value inside RTEMS
51
is less than RTEMS_MAXIMUM_DISABLE_PERIOD
52
microseconds including the instructions which
53
disable and re-enable interrupts.  The time required for the
54
PowerPC to vector an interrupt and for the RTEMS entry overhead
55
before invoking the user's trap handler are a total of
56
RTEMS_INTR_ENTRY_RETURNS_TO_PREEMPTING_TASK
57
microseconds.  These combine to yield a worst case interrupt
58
latency of less than RTEMS_MAXIMUM_DISABLE_PERIOD +
59
RTEMS_INTR_ENTRY_RETURNS_TO_PREEMPTING_TASK microseconds at
60
RTEMS_MAXIMUM_DISABLE_PERIOD_MHZ Mhz.
61
[NOTE:  The maximum period with interrupts disabled was last
62
determined for Release RTEMS_RELEASE_FOR_MAXIMUM_DISABLE_PERIOD.]
63
 
64
The maximum period with interrupts disabled within
65
RTEMS is hand-timed with some assistance from RTEMS_BSP.  The maximum
66
period with interrupts disabled with RTEMS occurs was not measured
67
on this target.
68
 
69
The interrupt vector and entry overhead time was
70
generated on the RTEMS_BSP benchmark platform using the PowerPC's
71
decrementer register.  This register was programmed to generate
72
an interrupt after one countdown.
73
 
74
@section Context Switch
75
 
76
The RTEMS processor context switch time is RTEMS_NO_FP_CONTEXTS
77
instructions on the RTEMS_BSP benchmark platform when no floating
78
point context is saved or restored.  Additional execution time
79
is required when a TASK_SWITCH user extension is configured.
80
The use of the TASK_SWITCH extension is application dependent.
81
Thus, its execution time is not considered part of the raw
82
context switch time.
83
 
84
Since RTEMS was designed specifically for embedded
85
missile applications which are floating point intensive, the
86
executive is optimized to avoid unnecessarily saving and
87
restoring the state of the numeric coprocessor.  The state of
88
the numeric coprocessor is only saved when an FLOATING_POINT
89
task is dispatched and that task was not the last task to
90
utilize the coprocessor.  In a system with only one
91
FLOATING_POINT task, the state of the numeric coprocessor will
92
never be saved or restored.  When the first FLOATING_POINT task
93
is dispatched, RTEMS does not need to save the current state of
94
the numeric coprocessor.
95
 
96
The following table summarizes the context switch
97
times for the RTEMS_BSP benchmark platform:

powered by: WebSVN 2.1.0

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