source: rtems/doc/supplements/m68k/cpumodel.t @ 1e524995

4.104.114.84.95
Last change on this file since 1e524995 was 1e524995, checked in by Joel Sherrill <joel.sherrill@…>, on 02/06/98 at 14:14:30

Updated copyrights

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