source: rtems/doc/supplements/powerpc/timePSIM.t @ 110445c

4.104.114.84.95
Last change on this file since 110445c was 110445c, checked in by Joel Sherrill <joel.sherrill@…>, on 06/10/00 at 19:41:09

Patch rtems-rc-4.5.0-21.diff from Ralf Corsepius <corsepiu@…>
which splits the current monolithic specs files into a sequence of
subparts. These can be concatenated togather to make a the whole .spec
file. This cleans up the maintenance problem of having "all languages"
and a "C/C++ only" gccnewlib spec files. Plus it should make it easier
to produce variants like the gdb-m68k-bdm which require special hackery. :)
Ralf's comments:

It addresses the way *.spec.in get composed inside of the source
tree.

Changes:

  • Each spec.in is broken into several files (*.add), one *.add file per sub-package.
  • Each Makefile.am composes spec.ins from the *.add files
  • Removal of redundant automake support files.
  • Default value for BuildRoot? changed to /tmp/<spec-file-name>
  • %clean stage added to *specs

Advantages (IMHO).

  • The *.add files are easier to adminstrate and more flexible in comparison to the former *.specs.ins.
  • gccnewlib_c_only.spec.in now is composed from the same sources as gccnewlib.spec.in (less errors)
  • If using the default BuildRoot? --clean now deletes all files that were generated while building.

Notes:

  • rtems.spec.in has not yet been adapted to the scheme used for the other *spec.ins
  • Except for cosmetical changes the internals of the *.spec files should not have changed.

To Apply:

cvs rm -f scripts/binutils/binutils.spec.in
cvs rm -f scripts/gccnewlib/gccnewlib.spec.in
cvs rm -f scripts/gccnewlib/gccnewlib_c_only.spec.in
cvs rm -f scripts/gdb/gdb.spec.in
cvs rm -f scripts/config.sub
cvs rm -f scripts/config.guess
cvs rm -f scripts/install-sh
cvs rm -f scripts/mkinstalldirs
cvs rm -f scripts/missing

patch -p1 < rtems-rc-4.5.0-21.diff

cvs add scripts/*/*.add
cvs add scripts/*/README

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