⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timebsp.t

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 T
字号:
@c@c  COPYRIGHT (c) 1988-2002.@c  On-Line Applications Research Corporation (OAR).@c  All rights reserved.@c@c  $Id: timeBSP.t,v 1.6 2002/07/31 00:17:12 joel Exp $@c@include common/timemac.texi@tex\global\advance \smallskipamount by -4pt@end tex@chapter MYBSP Timing Data@section IntroductionThe timing data for the XXX version of RTEMS isprovided along with the target dependent aspects concerning thegathering of the timing data.  The hardware platform used togather the times is described to give the reader a betterunderstanding of each directive time provided.  Also, providedis a description of the interrupt latency and the context switchtimes as they pertain to the XXX version of RTEMS.@section Hardware PlatformAll times reported except for the maximum periodinterrupts are disabled by RTEMS were measured using a MotorolaMYBSP CPU board.  The MYBSP is a RTEMS_MAXIMUM_DISABLE_PERIOD_MHZMhz board with one waitstate dynamic memory and a XXX numeric coprocessor.  TheZilog 8036 countdown timer on this board was used to measureelapsed time with a one-half microsecond resolution.  Allsources of hardware interrupts were disabled, although theinterrupt level of the processor allows all interrupts.The maximum period interrupts are disabled wasmeasured by summing the number of CPU cycles required by eachassembly language instruction executed while interrupts weredisabled.  The worst case times of the XXX microprocessorwere used for each instruction.  Zero wait state memory wasassumed.  The total CPU cycles executed with interruptsdisabled, including the instructions to disable and enableinterrupts, was divided by 20 to simulate a RTEMS_MAXIMUM_DISABLE_PERIOD_MHZMhz processor.  Itshould be noted that the worst case instruction times for theprocessor assume that the internal cache is disabled and that noinstructions overlap.@section Interrupt LatencyThe maximum period with interrupts disabled withinRTEMS is less than RTEMS_MAXIMUM_DISABLE_PERIOD microseconds including the instructionswhich disable and re-enable interrupts.  The time required forthe processor to vector an interrupt and for the RTEMS entryoverhead before invoking the user's interrupt handler are atotal of RTEMS_INTR_ENTRY_RETURNS_TO_PREEMPTING_TASK microseconds.  These combine to yield a worst caseinterrupt latency of less than RTEMS_MAXIMUM_DISABLE_PERIOD + RTEMS_INTR_ENTRY_RETURNS_TO_PREEMPTING_TASK microseconds at RTEMS_MAXIMUM_DISABLE_PERIOD_MHZMhz.  [NOTE:  The maximum period with interruptsdisabled was last determined for Release RTEMS_RELEASE_FOR_MAXIMUM_DISABLE_PERIOD.]It should be noted again that the maximum period withinterrupts disabled within RTEMS is hand-timed and based uponworst case (i.e. CPU cache disabled and no instruction overlap)times for a RTEMS_MAXIMUM_DISABLE_PERIOD_MHZMhz processor.  The interrupt vector and entryoverhead time was generated on an MYBSP benchmark platformusing the Multiprocessing Communications registers to generateas the interrupt source.@section Context SwitchThe RTEMS processor context switch time is RTEMS_NO_FP_CONTEXTSmicroseconds on the MYBSP benchmark platform when no floatingpoint context is saved or restored.  Additional execution timeis required when a TASK_SWITCH user extension is configured.The use of the TASK_SWITCH extension is application dependent.Thus, its execution time is not considered part of the rawcontext switch time.Since RTEMS was designed specifically for embeddedmissile applications which are floating point intensive, theexecutive is optimized to avoid unnecessarily saving andrestoring the state of the numeric coprocessor.  The state ofthe numeric coprocessor is only saved when an FLOATING_POINTtask is dispatched and that task was not the last task toutilize the coprocessor.  In a system with only oneFLOATING_POINT task, the state of the numeric coprocessor willnever be saved or restored.  When the first FLOATING_POINT taskis dispatched, RTEMS does not need to save the current state ofthe numeric coprocessor.The exact amount of time required to save and restorefloating point context is dependent on whether an XXX orXXX is being used as well as the state of the numericcoprocessor.  These numeric coprocessors define three operatingstates: initialized, idle, and busy.  RTEMS places thecoprocessor in the initialized state when a task is started orrestarted.  Once the task has utilized the coprocessor, it is inthe idle state when floating point instructions are notexecuting and the busy state when floating point instructionsare executing.  The state of the coprocessor is task specific.The following table summarizes the context switchtimes for the MYBSP benchmark platform:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -