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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rtems-20020807/] [doc/] [supplements/] [m68k/] [timedata.t] - Diff between revs 1026 and 1765

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

Rev 1026 Rev 1765
@c
@c
@c  COPYRIGHT (c) 1988-2002.
@c  COPYRIGHT (c) 1988-2002.
@c  On-Line Applications Research Corporation (OAR).
@c  On-Line Applications Research Corporation (OAR).
@c  All rights reserved.
@c  All rights reserved.
@c
@c
@c  timedata.t,v 1.10 2002/07/31 00:14:42 joel Exp
@c  timedata.t,v 1.10 2002/07/31 00:14:42 joel Exp
@c
@c
@include common/timemac.texi
@include common/timemac.texi
@tex
@tex
\global\advance \smallskipamount by -4pt
\global\advance \smallskipamount by -4pt
@end tex
@end tex
@ifinfo
@ifinfo
@node MVME136 Timing Data, MVME136 Timing Data Introduction, Timing Specification Terminology, Top
@node MVME136 Timing Data, MVME136 Timing Data Introduction, Timing Specification Terminology, Top
@end ifinfo
@end ifinfo
@chapter MVME136 Timing Data
@chapter MVME136 Timing Data
@ifinfo
@ifinfo
@menu
@menu
* MVME136 Timing Data Introduction::
* MVME136 Timing Data Introduction::
* MVME136 Timing Data Hardware Platform::
* MVME136 Timing Data Hardware Platform::
* MVME136 Timing Data Interrupt Latency::
* MVME136 Timing Data Interrupt Latency::
* MVME136 Timing Data Context Switch::
* MVME136 Timing Data Context Switch::
* MVME136 Timing Data Directive Times::
* MVME136 Timing Data Directive Times::
* MVME136 Timing Data Task Manager::
* MVME136 Timing Data Task Manager::
* MVME136 Timing Data Interrupt Manager::
* MVME136 Timing Data Interrupt Manager::
* MVME136 Timing Data Clock Manager::
* MVME136 Timing Data Clock Manager::
* MVME136 Timing Data Timer Manager::
* MVME136 Timing Data Timer Manager::
* MVME136 Timing Data Semaphore Manager::
* MVME136 Timing Data Semaphore Manager::
* MVME136 Timing Data Message Manager::
* MVME136 Timing Data Message Manager::
* MVME136 Timing Data Event Manager::
* MVME136 Timing Data Event Manager::
* MVME136 Timing Data Signal Manager::
* MVME136 Timing Data Signal Manager::
* MVME136 Timing Data Partition Manager::
* MVME136 Timing Data Partition Manager::
* MVME136 Timing Data Region Manager::
* MVME136 Timing Data Region Manager::
* MVME136 Timing Data Dual-Ported Memory Manager::
* MVME136 Timing Data Dual-Ported Memory Manager::
* MVME136 Timing Data I/O Manager::
* MVME136 Timing Data I/O Manager::
* MVME136 Timing Data Rate Monotonic Manager::
* MVME136 Timing Data Rate Monotonic Manager::
@end menu
@end menu
@end ifinfo
@end ifinfo
@ifinfo
@ifinfo
@node MVME136 Timing Data Introduction, MVME136 Timing Data Hardware Platform, MVME136 Timing Data, MVME136 Timing Data
@node MVME136 Timing Data Introduction, MVME136 Timing Data Hardware Platform, MVME136 Timing Data, MVME136 Timing Data
@end ifinfo
@end ifinfo
@section Introduction
@section Introduction
The timing data for the MC68020 version of RTEMS is
The timing data for the MC68020 version of RTEMS is
provided along with the target dependent aspects concerning the
provided along with the target dependent aspects concerning the
gathering of the timing data.  The hardware platform used to
gathering of the timing data.  The hardware platform used to
gather the times is described to give the reader a better
gather the times is described to give the reader a better
understanding of each directive time provided.  Also, provided
understanding of each directive time provided.  Also, provided
is a description of the interrupt latency and the context switch
is a description of the interrupt latency and the context switch
times as they pertain to the MC68020 version of RTEMS.
times as they pertain to the MC68020 version of RTEMS.
@ifinfo
@ifinfo
@node MVME136 Timing Data Hardware Platform, MVME136 Timing Data Interrupt Latency, MVME136 Timing Data Introduction, MVME136 Timing Data
@node MVME136 Timing Data Hardware Platform, MVME136 Timing Data Interrupt Latency, MVME136 Timing Data Introduction, MVME136 Timing Data
@end ifinfo
@end ifinfo
@section Hardware Platform
@section Hardware Platform
All times reported except for the maximum period
All times reported except for the maximum period
interrupts are disabled by RTEMS were measured using a Motorola
interrupts are disabled by RTEMS were measured using a Motorola
MVME135 CPU board.  The MVME135 is a RTEMS_MAXIMUM_DISABLE_PERIOD_MHZ
MVME135 CPU board.  The MVME135 is a RTEMS_MAXIMUM_DISABLE_PERIOD_MHZ
Mhz board with one wait
Mhz board with one wait
state dynamic memory and a MC68881 numeric coprocessor.  The
state dynamic memory and a MC68881 numeric coprocessor.  The
Zilog 8036 countdown timer on this board was used to measure
Zilog 8036 countdown timer on this board was used to measure
elapsed time with a one-half microsecond resolution.  All
elapsed time with a one-half microsecond resolution.  All
sources of hardware interrupts were disabled, although the
sources of hardware interrupts were disabled, although the
interrupt level of the MC68020 allows all interrupts.
interrupt level of the MC68020 allows all interrupts.
The maximum period interrupts are disabled was
The maximum period interrupts are disabled was
measured by summing the number of CPU cycles required by each
measured by summing the number of CPU cycles required by each
assembly language instruction executed while interrupts were
assembly language instruction executed while interrupts were
disabled.  The worst case times of the MC68020 microprocessor
disabled.  The worst case times of the MC68020 microprocessor
were used for each instruction.  Zero wait state memory was
were used for each instruction.  Zero wait state memory was
assumed.  The total CPU cycles executed with interrupts
assumed.  The total CPU cycles executed with interrupts
disabled, including the instructions to disable and enable
disabled, including the instructions to disable and enable
interrupts, was divided by 20 to simulate a RTEMS_MAXIMUM_DISABLE_PERIOD_MHZ
interrupts, was divided by 20 to simulate a RTEMS_MAXIMUM_DISABLE_PERIOD_MHZ
Mhz MC68020.  It
Mhz MC68020.  It
should be noted that the worst case instruction times for the
should be noted that the worst case instruction times for the
MC68020 assume that the internal cache is disabled and that no
MC68020 assume that the internal cache is disabled and that no
instructions overlap.
instructions overlap.
@ifinfo
@ifinfo
@node MVME136 Timing Data Interrupt Latency, MVME136 Timing Data Context Switch, MVME136 Timing Data Hardware Platform, MVME136 Timing Data
@node MVME136 Timing Data Interrupt Latency, MVME136 Timing Data Context Switch, MVME136 Timing Data Hardware Platform, MVME136 Timing Data
@end ifinfo
@end ifinfo
@section Interrupt Latency
@section Interrupt Latency
The maximum period with interrupts disabled within
The maximum period with interrupts disabled within
RTEMS is less than RTEMS_MAXIMUM_DISABLE_PERIOD
RTEMS is less than RTEMS_MAXIMUM_DISABLE_PERIOD
microseconds including the instructions
microseconds including the instructions
which disable and re-enable interrupts.  The time required for
which disable and re-enable interrupts.  The time required for
the MC68020 to vector an interrupt and for the RTEMS entry
the MC68020 to vector an interrupt and for the RTEMS entry
overhead before invoking the user's interrupt handler are a
overhead before invoking the user's interrupt handler are a
total of RTEMS_INTR_ENTRY_RETURNS_TO_PREEMPTING_TASK
total of RTEMS_INTR_ENTRY_RETURNS_TO_PREEMPTING_TASK
microseconds.  These combine to yield a worst case
microseconds.  These combine to yield a worst case
interrupt latency of less than
interrupt latency of less than
RTEMS_MAXIMUM_DISABLE_PERIOD + RTEMS_INTR_ENTRY_RETURNS_TO_PREEMPTING_TASK
RTEMS_MAXIMUM_DISABLE_PERIOD + RTEMS_INTR_ENTRY_RETURNS_TO_PREEMPTING_TASK
microseconds at RTEMS_MAXIMUM_DISABLE_PERIOD_MHZ
microseconds at RTEMS_MAXIMUM_DISABLE_PERIOD_MHZ
Mhz.  [NOTE:  The maximum period with interrupts
Mhz.  [NOTE:  The maximum period with interrupts
disabled was last determined for Release
disabled was last determined for Release
RTEMS_RELEASE_FOR_MAXIMUM_DISABLE_PERIOD.]
RTEMS_RELEASE_FOR_MAXIMUM_DISABLE_PERIOD.]
It should be noted again that the maximum period with
It should be noted again that the maximum period with
interrupts disabled within RTEMS is hand-timed and based upon
interrupts disabled within RTEMS is hand-timed and based upon
worst case (i.e. CPU cache disabled and no instruction overlap)
worst case (i.e. CPU cache disabled and no instruction overlap)
times for a RTEMS_MAXIMUM_DISABLE_PERIOD_MHZ
times for a RTEMS_MAXIMUM_DISABLE_PERIOD_MHZ
Mhz MC68020.  The interrupt vector and entry
Mhz MC68020.  The interrupt vector and entry
overhead time was generated on an MVME135 benchmark platform
overhead time was generated on an MVME135 benchmark platform
using the Multiprocessing Communications registers to generate
using the Multiprocessing Communications registers to generate
as the interrupt source.
as the interrupt source.
@ifinfo
@ifinfo
@node MVME136 Timing Data Context Switch, MVME136 Timing Data Directive Times, MVME136 Timing Data Interrupt Latency, MVME136 Timing Data
@node MVME136 Timing Data Context Switch, MVME136 Timing Data Directive Times, MVME136 Timing Data Interrupt Latency, MVME136 Timing Data
@end ifinfo
@end ifinfo
@section Context Switch
@section Context Switch
The RTEMS processor context switch time is RTEMS_NO_FP_CONTEXTS
The RTEMS processor context switch time is RTEMS_NO_FP_CONTEXTS
microseconds on the MVME135 benchmark platform when no floating
microseconds on the MVME135 benchmark platform when no floating
point context is saved or restored.  Additional execution time
point context is saved or restored.  Additional execution time
is required when a TASK_SWITCH user extension is configured.
is required when a TASK_SWITCH user extension is configured.
The use of the TASK_SWITCH extension is application dependent.
The use of the TASK_SWITCH extension is application dependent.
Thus, its execution time is not considered part of the raw
Thus, its execution time is not considered part of the raw
context switch time.
context switch time.
Since RTEMS was designed specifically for embedded
Since RTEMS was designed specifically for embedded
missile applications which are floating point intensive, the
missile applications which are floating point intensive, the
executive is optimized to avoid unnecessarily saving and
executive is optimized to avoid unnecessarily saving and
restoring the state of the numeric coprocessor.  The state of
restoring the state of the numeric coprocessor.  The state of
the numeric coprocessor is only saved when an FLOATING_POINT
the numeric coprocessor is only saved when an FLOATING_POINT
task is dispatched and that task was not the last task to
task is dispatched and that task was not the last task to
utilize the coprocessor.  In a system with only one
utilize the coprocessor.  In a system with only one
FLOATING_POINT task, the state of the numeric coprocessor will
FLOATING_POINT task, the state of the numeric coprocessor will
never be saved or restored.  When the first FLOATING_POINT task
never be saved or restored.  When the first FLOATING_POINT task
is dispatched, RTEMS does not need to save the current state of
is dispatched, RTEMS does not need to save the current state of
the numeric coprocessor.
the numeric coprocessor.
The exact amount of time required to save and restore
The exact amount of time required to save and restore
floating point context is dependent on whether an MC68881 or
floating point context is dependent on whether an MC68881 or
MC68882 is being used as well as the state of the numeric
MC68882 is being used as well as the state of the numeric
coprocessor.  These numeric coprocessors define three operating
coprocessor.  These numeric coprocessors define three operating
states: initialized, idle, and busy.  RTEMS places the
states: initialized, idle, and busy.  RTEMS places the
coprocessor in the initialized state when a task is started or
coprocessor in the initialized state when a task is started or
restarted.  Once the task has utilized the coprocessor, it is in
restarted.  Once the task has utilized the coprocessor, it is in
the idle state when floating point instructions are not
the idle state when floating point instructions are not
executing and the busy state when floating point instructions
executing and the busy state when floating point instructions
are executing.  The state of the coprocessor is task specific.
are executing.  The state of the coprocessor is task specific.
The following table summarizes the context switch
The following table summarizes the context switch
times for the MVME135 benchmark platform:
times for the MVME135 benchmark platform:
@include timetbl.texi
@include timetbl.texi
@tex
@tex
\global\advance \smallskipamount by 4pt
\global\advance \smallskipamount by 4pt
@end tex
@end tex
 
 

powered by: WebSVN 2.1.0

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