M68000 Family Addressing Compatibility; Other Data Structures; System Stack - Motorola MC68030 User Manual

Enhanced 32-811 microprocessor
Hide thumbs Also See for MC68030:
Table of Contents

Advertisement

II
2.7 M68000 FAMILY ADDRESSING COMPATIBILITY
Programs can be easily transported from one member of the M68000 Family
to another in an upward compatible fashion. The user object code of each
early member of the family is upward compatible with newer members and
can be executed on the newer microprocessor without change. The address
extension word(s) are encoded with the information that allows the MC680201
MC68030 to distinguish the new address extensions to the basic M68000
Family architecture. The address extension words for the early MC680001
MC68008/MC68010 microprocessors and for the newer 32-bit MC680201
MC68030 microprocessors are shown in Figure 2-15. Notice the encoding for
SCALE used by the MC68020/MC68030 is a compatible extension of the
M68000 architecture. A value of zero for SCALE is the same encoding for
both extension words; hence, software that uses this encoding is both up-
ward and downward compatible across all processors in the product line.
However, the other values of SCALE are not found in both extension formats;
thus, while software can be easily migrated in an upward compatible direc-
tion, only nonscaled addressing is supported in a downward fashion. If the
MC68000 were to execute an instruction that encoded a scaling factor, the
scaling factor would be ignored and not access the desired memory address.
The earlier microprocessors have no knowledge of the extension word for-
mats implemented by newer processors; while they do detect illegal instruc-
tions, they do not decode invalid encodings of the extension words as
exceptions.
2.8 OTHER DATA STRUCTURES
Stacks and queues are widely used data structures. The MC68030 implements
a system stack and also provides instructions that support the use of user
stacks and queues.
2.8.1 System Stack
2-36
Address register seven (A7) is used as the system stack pointer (SP). Any of
the three system stack registers is active at anyone time. The M and S bits
of the status register determine which stack pointer is used. When S
=
0
indicating user mode (user privilege level), the user stack pointer (USP) is
the active system stack pointer, and the master and interrupt stack pointers
cannot be referenced. When S
=
1 indicating supervisor mode (at supervisor
privilege level) and M
=
1, the master stack pointer (MSP) is the active system
stack pointer. When S
=
1 and M
=
0, the interrupt stack pointer (ISP) is the
active system stack pointer. This mode is the MC68030 default mode after
reset and corresponds to the MC68000, MC68008, and MC68010 supervisor
MC68030 USER'S MANUAL
MOTOROLA

Advertisement

Table of Contents
loading

Table of Contents