CONSIDERATIONS FOR WRITING PORTABLE CODE
A-4
Alignment of architecturally defined data structures in memory is implementation dependent. See
section 3.4, “ARCHITECTURALLY DEFINED DATA STRUCTURES” (pg. 3-11)
. Code that
relies on specific alignment of data structures in memory is not portable to every i960 processor type.
Stack frames in the i960 architecture are aligned on (SALIGN*16)-byte boundaries, where
SALIGN is an implementation-specific parameter. For the i960Jx processors, SALIGN = 1, so
stack frames are aligned on 16-byte boundaries. The low-order N bits of the Frame Pointer are
ignored and are always interpreted to be zero. The N parameter is defined by the following
expression: SALIGN*16 = 2
N
. Thus for the i960 Jx processors, N is 4.
A.4
RESERVED LOCATIONS IN REGISTERS AND DATA STRUCTURES
Some register and data structure fields are defined as reserved locations. A reserved field may be
used by future implementations of the i960 architecture. For portability and compatibility, code
should initialize reserved locations to zero. When an implementation uses a reserved location, the
implementation-specific feature is activated by a value of 1 in the reserved field. Setting the
reserved locations to 0 guarantees that the features are disabled.
A.5
INSTRUCTION SET
The i960 architecture defines a comprehensive instruction set. Code that uses only the
architecturally-defined instruction set is object-level portable to other implementations of the i960
architecture. Some implementations may favor a particular code ordering to optimize
performance. This special ordering, however, is never required by an implementation. The
following subsections describe implementation-dependent instruction set properties.
A.5.1
Instruction Timing
An objective of the i960 architecture is to allow micro-architectural advances to translate directly into
increased performance. The architecture does not restrict parallel or out-of-order instruction execution,
nor does it define the time required to execute any instruction or function. Code that depends on
instruction execution times, therefore, is not portable to all i960 processor architecture implementations.
Содержание i960 Jx
Страница 1: ...Release Date December 1997 Order Number 272483 002 i960 Jx Microprocessor Developer s Manual ...
Страница 24: ......
Страница 25: ...1 INTRODUCTION ...
Страница 26: ......
Страница 35: ...2 DATA TYPES AND MEMORY ADDRESSING MODES ...
Страница 36: ......
Страница 46: ......
Страница 47: ...3 PROGRAMMING ENVIRONMENT ...
Страница 48: ......
Страница 73: ...4 CACHE AND ON CHIP DATA RAM ...
Страница 74: ......
Страница 85: ...5 INSTRUCTION SET OVERVIEW ...
Страница 86: ......
Страница 111: ...6 INSTRUCTION SET REFERENCE ...
Страница 112: ......
Страница 195: ...INSTRUCTION SET REFERENCE 6 83 6 Opcode mov 5CCH REG movl 5DCH REG movt 5ECH REG movq 5FCH REG See Also LOAD STORE lda ...
Страница 233: ...7 PROCEDURE CALLS ...
Страница 234: ......
Страница 256: ......
Страница 257: ...8 FAULTS ...
Страница 258: ......
Страница 291: ...9 TRACING AND DEBUGGING ...
Страница 292: ......
Страница 309: ...10 TIMERS ...
Страница 310: ......
Страница 324: ......
Страница 325: ...11 INTERRUPTS ...
Страница 326: ......
Страница 369: ...12 INITIALIZATION AND SYSTEM REQUIREMENTS ...
Страница 370: ......
Страница 412: ......
Страница 413: ...13 MEMORY CONFIGURATION ...
Страница 414: ......
Страница 429: ...14 EXTERNAL BUS ...
Страница 430: ......
Страница 468: ......
Страница 469: ...15 TEST FEATURES ...
Страница 470: ......
Страница 493: ...A CONSIDERATIONS FOR WRITING PORTABLE CODE ...
Страница 494: ......
Страница 502: ......
Страница 503: ...B OPCODES AND EXECUTION TIMES ...
Страница 504: ......
Страница 515: ...C MACHINE LEVEL INSTRUCTION FORMATS ...
Страница 516: ......
Страница 523: ...D REGISTER AND DATA STRUCTURES ...
Страница 524: ......
Страница 550: ......
Страница 551: ...GLOSSARY ...
Страница 552: ......
Страница 561: ...INDEX ...
Страница 562: ......
Страница 578: ......