INSTRUCTION SET OVERVIEW
5-20
5.3
PERFORMANCE OPTIMIZATION
Performance optimization are categorized into two sections: instructions optimizations and
miscellaneous optimizations.
5.3.1
Instruction Optimizations
The instruction optimizations are broken down by the instruction classification.
5.3.1.1
Load / Store Execution Model
Because the i960 Jx processor has a 32-bit external data bus, multiple word accesses require
multiple cycles. The processor uses microcode to sequence the multi-word accesses. Because the
microcode can ensure that aligned multi-words are bursted together on the external bus, software
should not substitute multiple single-word instructions for one multi-word instruction for data that
is not likely to be in cache. For example a
ldq
provides better bus performance than four
ld
instruc-
tions.
Once a load is issued, the processor attempts to execute other instructions while the load is
outstanding. It is important to note that when the load misses the data cache, the processor does
not stall the issuing of subsequent instructions (other than stores) that do not depend on the load.
Software should avoid following a load with an instruction that depends on the result of the load.
For a load that hits the data cache, there is a one-cycle stall when the instruction immediately after
the load requires the data. When the load fails to hit the data cache, the instruction depending on
the load stalls until the outstanding load request is resolved.
Multiple, back-to-back load instructions do not stall the processor until the bus queue becomes
full.
The processor delays issuing a store instruction until all previously-issued load instructions
complete. This happens regardless of whether the store is dependent on the load. This ordering
between loads and stores ensures that the return data from a previous cache-read miss does not
overwrite the cache line updated by a subsequent store.
5.3.1.2
Compare Operations
Byte and short word data is more efficiently compared using the new byte and short compare
instructions (
cmpob, cmpib, cmpos, cmpis
), rather than shifting the data and using a word
compare instruction.
Содержание 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: ......