source: rtems/doc/supplements/m68k/cpumodel.t @ ae68ff0

4.104.114.84.95
Last change on this file since ae68ff0 was ae68ff0, checked in by Joel Sherrill <joel.sherrill@…>, on 05/27/97 at 12:40:11

Initial revision

  • Property mode set to 100644
File size: 5.6 KB
Line 
1@c
2@c  COPYRIGHT (c) 1988-1996.
3@c  On-Line Applications Research Corporation (OAR).
4@c  All rights reserved.
5@c
6
7@ifinfo
8@node CPU Model Dependent Features, CPU Model Dependent Features Introduction, Preface, Top
9@end ifinfo
10@chapter CPU Model Dependent Features
11@ifinfo
12@menu
13* CPU Model Dependent Features Introduction::
14* CPU Model Dependent Features CPU Model Name::
15* CPU Model Dependent Features Floating Point Unit::
16* CPU Model Dependent Features BFFFO Instruction::
17* CPU Model Dependent Features Vector Base Register::
18* CPU Model Dependent Features Separate Stacks::
19* CPU Model Dependent Features Pre-Indexing Address Mode::
20* CPU Model Dependent Features Extend Byte to Long Instruction::
21@end menu
22@end ifinfo
23
24@ifinfo
25@node CPU Model Dependent Features Introduction, CPU Model Dependent Features CPU Model Name, CPU Model Dependent Features, CPU Model Dependent Features
26@end ifinfo
27@section Introduction
28
29Microprocessors are generally classified into
30families with a variety of CPU models or implementations within
31that family.  Within a processor family, there is a high level
32of binary compatibility.  This family may be based on either an
33architectural specification or on maintaining compatibility with
34a popular processor.  Recent microprocessor families such as the
35SPARC or PA-RISC are based on an architectural specification
36which is independent or any particular CPU model or
37implementation.  Older families such as the M68xxx and the iX86
38evolved as the manufacturer strived to produce higher
39performance processor models which maintained binary
40compatibility with older models.
41
42RTEMS takes advantage of the similarity of the
43various models within a CPU family.  Although the models do vary
44in significant ways, the high level of compatibility makes it
45possible to share the bulk of the CPU dependent executive code
46across the entire family.  Each processor family supported by
47RTEMS has a list of features which vary between CPU models
48within a family.  For example, the most common model dependent
49feature regardless of CPU family is the presence or absence of a
50floating point unit or coprocessor.  When defining the list of
51features present on a particular CPU model, one simply notes
52that floating point hardware is or is not present and defines a
53single constant appropriately.  Conditional compilation is
54utilized to include the appropriate source code for this CPU
55model's feature set.  It is important to note that this means
56that RTEMS is thus compiled using the appropriate feature set
57and compilation flags optimal for this CPU model used.  The
58alternative would be to generate a binary which would execute on
59all family members using only the features which were always
60present.
61
62This chapter presents the set of features which vary
63across SPARC implementations and are of importance to RTEMS.
64The set of CPU model feature macros are defined in the file
65c/src/exec/score/cpu/m68k/m68k.h based upon the particular CPU
66model defined on the compilation command line.
67
68@ifinfo
69@node CPU Model Dependent Features CPU Model Name, CPU Model Dependent Features Floating Point Unit, CPU Model Dependent Features Introduction, CPU Model Dependent Features
70@end ifinfo
71@section CPU Model Name
72
73The macro CPU_MODEL_NAME is a string which designates
74the name of this CPU model.  For example, for the MC68020
75processor, this macro is set to the string "mc68020".
76
77@ifinfo
78@node CPU Model Dependent Features Floating Point Unit, CPU Model Dependent Features BFFFO Instruction, CPU Model Dependent Features CPU Model Name, CPU Model Dependent Features
79@end ifinfo
80@section Floating Point Unit
81
82The macro M68K_HAS_FPU is set to 1 to indicate that
83this CPU model has a hardware floating point unit and 0
84otherwise.  It does not matter whether the hardware floating
85point support is incorporated on-chip or is an external
86coprocessor.
87
88@ifinfo
89@node CPU Model Dependent Features BFFFO Instruction, CPU Model Dependent Features Vector Base Register, CPU Model Dependent Features Floating Point Unit, CPU Model Dependent Features
90@end ifinfo
91@section BFFFO Instruction
92
93The macro M68K_HAS_BFFFO is set to 1 to indicate that
94this CPU model has the bfffo instruction.
95
96@ifinfo
97@node CPU Model Dependent Features Vector Base Register, CPU Model Dependent Features Separate Stacks, CPU Model Dependent Features BFFFO Instruction, CPU Model Dependent Features
98@end ifinfo
99@section Vector Base Register
100
101The macro M68K_HAS_VBR is set to 1 to indicate that
102this CPU model has a vector base register (vbr).
103
104@ifinfo
105@node CPU Model Dependent Features Separate Stacks, CPU Model Dependent Features Pre-Indexing Address Mode, CPU Model Dependent Features Vector Base Register, CPU Model Dependent Features
106@end ifinfo
107@section Separate Stacks
108
109The macro M68K_HAS_SEPARATE_STACKS is set to 1 to
110indicate that this CPU model has separate interrupt, user, and
111supervisor mode stacks.
112
113@ifinfo
114@node CPU Model Dependent Features Pre-Indexing Address Mode, CPU Model Dependent Features Extend Byte to Long Instruction, CPU Model Dependent Features Separate Stacks, CPU Model Dependent Features
115@end ifinfo
116@section Pre-Indexing Address Mode
117
118The macro M68K_HAS_PREINDEXING is set to 1 to indicate that
119this CPU model has the pre-indexing address mode.
120
121@ifinfo
122@node CPU Model Dependent Features Extend Byte to Long Instruction, Calling Conventions, CPU Model Dependent Features Pre-Indexing Address Mode, CPU Model Dependent Features
123@end ifinfo
124@section Extend Byte to Long Instruction
125 
126The macro M68K_HAS_EXTB_L is set to 1 to indicate that this CPU model
127has the extb.l instruction.  This instruction is supposed to be available
128in all models based on the cpu32 core as well as mc68020 and up models.
Note: See TracBrowser for help on using the repository browser.