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

📄 cpumodel.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: cpumodel.t,v 1.7.4.1 2003/05/22 08:07:16 ralf Exp $@c@chapter CPU Model Dependent Features@section IntroductionMicroprocessors are generally classified intofamilies with a variety of CPU models or implementations withinthat family.  Within a processor family, there is a high levelof binary compatibility.  This family may be based on either anarchitectural specification or on maintaining compatibility witha popular processor.  Recent microprocessor families such as thePowerPC, SPARC, and PA-RISC are based on an architectural specificationwhich is independent or any particular CPU model orimplementation.  Older families such as the M68xxx and the iX86evolved as the manufacturer strived to produce higherperformance processor models which maintained binarycompatibility with older models.RTEMS takes advantage of the similarity of thevarious models within a CPU family.  Although the models do varyin significant ways, the high level of compatibility makes itpossible to share the bulk of the CPU dependent executive codeacross the entire family.@section CPU Model Feature FlagsEach processor family supported by RTEMS has alist of features which vary between CPU modelswithin a family.  For example, the most common model dependentfeature regardless of CPU family is the presence or absence of afloating point unit or coprocessor.  When defining the list offeatures present on a particular CPU model, one simply notesthat floating point hardware is or is not present and defines asingle constant appropriately.  Conditional compilation isutilized to include the appropriate source code for this CPUmodel's feature set.  It is important to note that this meansthat RTEMS is thus compiled using the appropriate feature setand compilation flags optimal for this CPU model used.  Thealternative would be to generate a binary which would execute onall family members using only the features which were alwayspresent.This section presents the set of features which varyacross PowerPC implementations and are of importance to RTEMS.The set of CPU model feature macros are defined in the filecpukit/score/cpu/ppc/ppc.h based upon the particular CPUmodel defined on the compilation command line.@subsection CPU Model NameThe macro CPU_MODEL_NAME is a string which designatesthe name of this CPU model.  For example, for the PowerPC 603emodel, this macro is set to the string "PowerPC 603e".@subsection Floating Point UnitThe macro PPC_HAS_FPU is set to 1 to indicate that this CPU modelhas a hardware floating point unit and 0 otherwise.@subsection AlignmentThe macro PPC_ALIGNMENT is set to the PowerPC model's worst case alignmentrequirement for data types on a byte boundary.  This value is usedto derive the alignment restrictions for memory allocated from regions and partitions.@subsection Cache AlignmentThe macro PPC_CACHE_ALIGNMENT is set to the line size of the cache.  It isused to align the entry point of critical routines so that as much codeas possible can be retrieved with the initial read into cache.  Thisis done for the interrupt handler as well as the context switch routines.In addition, the "shortcut" data structure used by the PowerPC implementationto ease access to data elements frequently accessed by RTEMS routinesimplemented in assembly language is aligned using this value.@subsection Maximum InterruptsThe macro PPC_INTERRUPT_MAX is set to the number of exception sourcessupported by this PowerPC model.@subsection Has Double Precision Floating PointThe macro PPC_HAS_DOUBLE is set to 1 to indicate that the PowerPC modelhas support for double precision floating point numbers.  This isimportant because the floating point registers need only be four byteswide (not eight) if double precision is not supported.@subsection Critical InterruptsThe macro PPC_HAS_RFCI is set to 1 to indicate that the PowerPC modelhas the Critical Interrupt capability as defined by the IBM 403 models.@subsection Use Multiword Load/Store InstructionsThe macro PPC_USE_MULTIPLE is set to 1 to indicate that multiword load andstore instructions should be used to perform context switch operations.The relative efficiency of multiword load and store instructions versusan equivalent set of single word load and store instructions varies basedupon the PowerPC model.@subsection Instruction Cache SizeThe macro PPC_I_CACHE is set to the size in bytes of the instruction cache.@subsection Data Cache SizeThe macro PPC_D_CACHE is set to the size in bytes of the data cache.@subsection Debug ModelThe macro PPC_DEBUG_MODEL is set to indicate the debug support features present in this CPU model.  The following debug support feature setsare currently supported:@table @b@item @code{PPC_DEBUG_MODEL_STANDARD}indicates that the single-step trace enable (SE) and branch traceenable (BE) bits in the MSR are supported by this CPU model.@item @code{PPC_DEBUG_MODEL_SINGLE_STEP_ONLY}indicates that only the single-step trace enable (SE) bit in the MSRis supported by this CPU model. @item @code{PPC_DEBUG_MODEL_IBM4xx}indicates that the debug exception enable (DE) bit in the MSR is supportedby this CPU model.  At this time, this particular debug feature set has only been seen in the IBM 4xx series.@end table@subsection Low Power ModelThe macro PPC_LOW_POWER_MODE is set to indicate the low power modelsupported by this CPU model.  The following low power modes are currentlysupported.@table @b@item @code{PPC_LOW_POWER_MODE_NONE}indicates that this CPU model has no low power mode support.@item @code{PPC_LOW_POWER_MODE_STANDARD}indicates that this CPU model follows the low power model defined forthe PPC603e.@end table

⌨️ 快捷键说明

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