PROGRAMMING ENVIRONMENT
3-4
3.2.3
Register Scoreboarding
Register scoreboarding maintains register coherency by preventing parallel execution units from
accessing registers for which there is an outstanding operation. When an instruction that targets a
destination register or group of registers executes, the processor sets a register-scoreboard bit to
indicate that this register or group of registers is being used in an operation. When the instructions
that follow do not require data from registers already in use, the processor can execute those
instructions before the prior instruction completes execution.
Software can use this feature to execute one or more single-cycle instructions concurrently with a
multi-cycle instruction (e.g., multiply or divide).
Example 3-1
shows a case where register score-
boarding prevents a subsequent instruction from executing. It also illustrates overlapping instruc-
tions that do not have register dependencies.
Example 3-1. Register Scoreboarding
3.2.4
Literals
The architecture defines a set of 32 literals that can be used as operands in many instructions.
These literals are ordinal (unsigned) values that range from 0 to 31 (5 bits). When a literal is used
as an operand, the processor expands it to 32 bits by adding leading zeros. When the instruction
requires an operand larger than 32 bits, the processor zero-extends the value to the operand size.
When a literal is used in an instruction that requires integer operands, the processor treats the
literal as a positive integer value.
3.2.5
Register and Literal Addressing and Alignment
Several instructions operate on multiple-word operands. For example, the load long instruction
(
ldl
) loads two words from memory into two consecutive registers. The register for the less
significant word is specified in the instruction. The more significant word is automatically loaded
into the next higher-numbered register.
muli r4,r5,r6
# r6 is scoreboarded
addi r6,r7,r8
# addi must wait for the previous multiply
.
# to complete
.
.
muli r4,r5,r10
# r10 is scoreboarded
and
r6,r7,r8
# and instruction is executed concurrently with multiply
Содержание 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: ......