1 | @c |
---|
2 | @c COPYRIGHT (c) 1988-1997. |
---|
3 | @c On-Line Applications Research Corporation (OAR). |
---|
4 | @c All rights reserved. |
---|
5 | @c |
---|
6 | @c $Id$ |
---|
7 | @c |
---|
8 | |
---|
9 | @include ../common/timemac.texi |
---|
10 | @tex |
---|
11 | \global\advance \smallskipamount by -4pt |
---|
12 | @end tex |
---|
13 | |
---|
14 | @ifinfo |
---|
15 | @node i960CA Timing Data, i960CA Timing Data Introduction, Memory Requirements RTEMS RAM Workspace Worksheet, Top |
---|
16 | @end ifinfo |
---|
17 | @chapter Timing Data |
---|
18 | @ifinfo |
---|
19 | @menu |
---|
20 | * i960CA Timing Data Introduction:: |
---|
21 | * i960CA Timing Data Hardware Platform:: |
---|
22 | * i960CA Timing Data Interrupt Latency:: |
---|
23 | * i960CA Timing Data Context Switch:: |
---|
24 | * i960CA Timing Data Directive Times:: |
---|
25 | * i960CA Timing Data Task Manager:: |
---|
26 | * i960CA Timing Data Interrupt Manager:: |
---|
27 | * i960CA Timing Data Clock Manager:: |
---|
28 | * i960CA Timing Data Timer Manager:: |
---|
29 | * i960CA Timing Data Semaphore Manager:: |
---|
30 | * i960CA Timing Data Message Manager:: |
---|
31 | * i960CA Timing Data Event Manager:: |
---|
32 | * i960CA Timing Data Signal Manager:: |
---|
33 | * i960CA Timing Data Partition Manager:: |
---|
34 | * i960CA Timing Data Region Manager:: |
---|
35 | * i960CA Timing Data Dual-Ported Memory Manager:: |
---|
36 | * i960CA Timing Data I/O Manager:: |
---|
37 | * i960CA Timing Data Rate Monotonic Manager:: |
---|
38 | @end menu |
---|
39 | @end ifinfo |
---|
40 | |
---|
41 | NOTE: The i960CA board used by the RTEMS Project to |
---|
42 | obtain i960CA times is currently broken. The information in |
---|
43 | this chapter was obtained using Release 3.2.1. |
---|
44 | |
---|
45 | @ifinfo |
---|
46 | @node i960CA Timing Data Introduction, i960CA Timing Data Hardware Platform, i960CA Timing Data, i960CA Timing Data |
---|
47 | @end ifinfo |
---|
48 | @section Introduction |
---|
49 | |
---|
50 | The timing data for the i960CA version of RTEMS is |
---|
51 | provided along with the target dependent aspects concerning the |
---|
52 | gathering of the timing data. The hardware platform used to |
---|
53 | gather the times is described to give the reader a better |
---|
54 | understanding of each directive time provided. Also, provided |
---|
55 | is a description of the interrupt latency and the context |
---|
56 | switch times as they pertain to the i960CA version of RTEMS. |
---|
57 | |
---|
58 | @ifinfo |
---|
59 | @node i960CA Timing Data Hardware Platform, i960CA Timing Data Interrupt Latency, i960CA Timing Data Introduction, i960CA Timing Data |
---|
60 | @end ifinfo |
---|
61 | @section Hardware Platform |
---|
62 | |
---|
63 | All times reported except for the maximum period |
---|
64 | interrupts are disabled by RTEMS were measured using a Cyclone |
---|
65 | Microsystems CVME961 board. The CVME961 is a 33 Mhz board with |
---|
66 | dynamic RAM which has two wait state dynamic memory (four CPU |
---|
67 | cycles) for read accesses and one wait state (two CPU cycles) |
---|
68 | for write accesses. The Z8536 on a SQUALL SQSIO4 mezzanine |
---|
69 | board was used to measure elapsed time with one-half microsecond |
---|
70 | resolution. All sources of hardware interrupts are disabled, |
---|
71 | although the interrupt level of the i960CA allows all interrupts. |
---|
72 | |
---|
73 | The maximum interrupt disable period was measured by |
---|
74 | summing the number of CPU cycles required by each assembly |
---|
75 | language instruction executed while interrupts were disabled. |
---|
76 | Zero wait state memory was assumed. The total CPU cycles |
---|
77 | executed with interrupts disabled, including the instructions to |
---|
78 | disable and enable interrupts, was divided by 33 to simulate a |
---|
79 | i960CA executing at 33 Mhz with zero wait states. |
---|
80 | |
---|
81 | @ifinfo |
---|
82 | @node i960CA Timing Data Interrupt Latency, i960CA Timing Data Context Switch, i960CA Timing Data Hardware Platform, i960CA Timing Data |
---|
83 | @end ifinfo |
---|
84 | @section Interrupt Latency |
---|
85 | |
---|
86 | The maximum period with interrupts disabled within |
---|
87 | RTEMS is less than |
---|
88 | RTEMS_MAXIMUM_DISABLE_PERIOD microseconds including the instructions |
---|
89 | which disable and re-enable interrupts. The time required for |
---|
90 | the i960CA to generate an interrupt using the sysctl |
---|
91 | instruction, vectoring to an interrupt handler, and for the |
---|
92 | RTEMS entry overhead before invoking the user's interrupt |
---|
93 | handler are a total of RTEMS_INTR_ENTRY_RETURNS_TO_PREEMPTING_TASK |
---|
94 | microseconds. These combine to yield |
---|
95 | a worst case interrupt latency of less than |
---|
96 | RTEMS_MAXIMUM_DISABLE_PERIOD + RTEMS_INTR_ENTRY_RETURNS_TO_PREEMPTING_TASK |
---|
97 | microseconds. [NOTE: The maximum period with interrupts |
---|
98 | disabled within RTEMS was last calculated for Release |
---|
99 | RTEMS_RELEASE_FOR_MAXIMUM_DISABLE_PERIOD.] |
---|
100 | |
---|
101 | It should be noted again that the maximum period with |
---|
102 | interrupts disabled within RTEMS is hand-timed. The interrupt |
---|
103 | vector and entry overhead time was generated on the Cyclone |
---|
104 | CVME961 benchmark platform using the sysctl instruction as the |
---|
105 | interrupt source. |
---|
106 | |
---|
107 | @ifinfo |
---|
108 | @node i960CA Timing Data Context Switch, i960CA Timing Data Directive Times, i960CA Timing Data Interrupt Latency, i960CA Timing Data |
---|
109 | @end ifinfo |
---|
110 | @section Context Switch |
---|
111 | |
---|
112 | The RTEMS processor context switch time is RTEMS_NO_FP_CONTEXTS |
---|
113 | microseconds on the Cyclone CVME961 benchmark platform. This |
---|
114 | time represents the raw context switch time with no user |
---|
115 | extensions configured. Additional execution time is required |
---|
116 | when a TSWITCH user extension is configured. The use of the |
---|
117 | TSWITCH extension is application dependent. Thus, its execution |
---|
118 | time is not considered part of the base context switch time. |
---|
119 | |
---|
120 | The i960CA has no hardware floating point capability |
---|
121 | and floating point tasks are not supported. |
---|
122 | |
---|
123 | The following table summarizes the context switch |
---|
124 | times for the CVME961 benchmark platform: |
---|
125 | |
---|
126 | @include timetbl.texi |
---|
127 | |
---|
128 | @tex |
---|
129 | \global\advance \smallskipamount by 4pt |
---|
130 | @end tex |
---|
131 | |
---|