1 |
1026 |
ivang |
@c
|
2 |
|
|
@c COPYRIGHT (c) 1988-2002.
|
3 |
|
|
@c On-Line Applications Research Corporation (OAR).
|
4 |
|
|
@c All rights reserved.
|
5 |
|
|
@c
|
6 |
|
|
@c timeSIMHPPA.t,v 1.3 2002/01/17 21:47:46 joel Exp
|
7 |
|
|
@c
|
8 |
|
|
|
9 |
|
|
@chapter HP-7100 Timing Data
|
10 |
|
|
|
11 |
|
|
@section Introduction
|
12 |
|
|
|
13 |
|
|
The timing data for the PA-RISC version of RTEMS is
|
14 |
|
|
provided along with the target dependent aspects concerning the
|
15 |
|
|
gathering of the timing data. The hardware platform used to
|
16 |
|
|
gather the times is described to give the reader a better
|
17 |
|
|
understanding of each directive time provided. Also, provided
|
18 |
|
|
is a description of the interrupt latency and the context
|
19 |
|
|
switch times as they pertain to the PA-RISC version of RTEMS.
|
20 |
|
|
|
21 |
|
|
@section Hardware Platform
|
22 |
|
|
|
23 |
|
|
No directive execution times are reported for the
|
24 |
|
|
HP-7100 because the target platform was proprietary and
|
25 |
|
|
executions times could not be released.
|
26 |
|
|
|
27 |
|
|
@section Interrupt Latency
|
28 |
|
|
|
29 |
|
|
The maximum period with traps disabled or the
|
30 |
|
|
processor interrupt level set to it's highest value inside RTEMS
|
31 |
|
|
is less than RTEMS_MAXIMUM_DISABLE_PERIOD
|
32 |
|
|
microseconds including the instructions which
|
33 |
|
|
disable and re-enable interrupts. The time required for the
|
34 |
|
|
HP-7100 to vector an interrupt and for the RTEMS entry overhead
|
35 |
|
|
before invoking the user's trap handler are a total of
|
36 |
|
|
RTEMS_INTR_ENTRY_RETURNS_TO_PREEMPTING_TASK
|
37 |
|
|
microseconds. These combine to yield a worst case interrupt
|
38 |
|
|
latency of less than RTEMS_MAXIMUM_DISABLE_PERIOD +
|
39 |
|
|
RTEMS_INTR_ENTRY_RETURNS_TO_PREEMPTING_TASK microseconds at 15 Mhz.
|
40 |
|
|
[NOTE: The maximum period with interrupts disabled was last
|
41 |
|
|
determined for Release RTEMS_RELEASE_FOR_MAXIMUM_DISABLE_PERIOD.]
|
42 |
|
|
|
43 |
|
|
It should be noted again that the maximum period with
|
44 |
|
|
interrupts disabled within RTEMS for the HP-7100 is hand calculated.
|
45 |
|
|
|
46 |
|
|
@section Context Switch
|
47 |
|
|
|
48 |
|
|
The RTEMS processor context switch time is RTEMS_NO_FP_CONTEXTS
|
49 |
|
|
microsections for the HP-7100 when no floating point context
|
50 |
|
|
switch is saved or restored. Saving and restoring the floating
|
51 |
|
|
point context adds additional time to the context
|
52 |
|
|
switch procedure. Additional execution time is required when a
|
53 |
|
|
TASK_SWITCH user extension is configured. The use of the
|
54 |
|
|
TASK_SWITCH extension is application dependent. Thus, its
|
55 |
|
|
execution time is not considered part of the raw context switch
|
56 |
|
|
time.
|
57 |
|
|
|
58 |
|
|
Since RTEMS was designed specifically for embedded
|
59 |
|
|
missile applications which are floating point intensive, the
|
60 |
|
|
executive is optimized to avoid unnecessarily saving and
|
61 |
|
|
restoring the state of the numeric coprocessor. On many
|
62 |
|
|
processors, the state of the numeric coprocessor is only saved
|
63 |
|
|
when an FLOATING_POINT task is dispatched and that task was not
|
64 |
|
|
the last task to utilize the coprocessor. In a system with only
|
65 |
|
|
one FLOATING_POINT task, the state of the numeric coprocessor
|
66 |
|
|
will never be saved or restored. When the first FLOATING_POINT
|
67 |
|
|
task is dispatched, RTEMS does not need to save the current
|
68 |
|
|
state of the numeric coprocessor. As discussed in the Register
|
69 |
|
|
Usage section, on the HP-7100 the every task is considered to be
|
70 |
|
|
floating point registers and , as a rsule, every context switch
|
71 |
|
|
involves saving and restoring the state of the floating point
|
72 |
|
|
unit.
|
73 |
|
|
|
74 |
|
|
The following table summarizes the context switch
|
75 |
|
|
times for the HP-7100 processor:
|
76 |
|
|
|
77 |
|
|
@example
|
78 |
|
|
no times are available for the HP-7100
|
79 |
|
|
@end example
|
80 |
|
|
|
81 |
|
|
@section Directive Times
|
82 |
|
|
|
83 |
|
|
No execution times are available for the HP-7100
|
84 |
|
|
because the target platform was proprietary and no timing
|
85 |
|
|
information could be released.
|
86 |
|
|
|