© 2006 Advanced Micro Devices, Inc.
ATI CTM Guide v. 1.01
Chapter 3
DPP Array Instruction Set Architecture
This chapter describes the functional behavior of the ATI X1K Fragment Processor (X1K FP). This is intended for
low level-programmers who need to know what the hardware does, but not how it does it.
3.1
Instructions
There are 512 instruction slots. In the absence of flow control, programs will increment the program counter after
each instruction.
Each instruction can be one of four types:
• INST_TYPE_ALU - Arithmetic and Logic Unit instruction
• INST_TYPE_OUTPUT - Output instruction (with ALU functionality)
• INST_TYPE_FC - Flow Control instruction
• INST_TYPE_TEX - Texture instruction
ALU and OUTPUT instructions both have full RGB and Alpha math functionality. The only functional difference
between them is that ALU instructions can set the predicate bits, and OUTPUT instructions can write to the output
registers. There is no way to do both in the same instruction. Internally, the sequencer must treat instructions that
have potential outputs specially for scheduling. The last executed instruction of the X1K FP program must also be
an OUTPUT instruction, even if it's not outputting anything interesting.
The first OUTPUT instruction will reserve space in the output register fifo. This space is limited, therefore issuing an
OUTPUT earlier than necessary may cause threads to stall earlier than necessary. You should not set an ALU
instruction as type OUTPUT unless it is actually writing to an output register, or it is the last instruction of the
program.
Flow control instructions and texture instructions each have their own interpretation of the bits in the instruction word.
The last instruction must be an OUTPUT instruction (even if the output mask is zero), and should always wait for the
texture unit semaphore by setting the TEX_SEM_WAIT bit (see below). At the time of termination, the contents of
the output registers are sent to the render targets. Note that uncached writes (UMRT) occur immediately and do not
wait for program termination.
Updates to X1K FP code outside the currently active program are safe, and do not stall the pipeline. If you intend to
overwrite the active program, however, the pipe must be flushed so that fragments running the old program get out
before the update.
3.2
Instruction Words
INST_TYPE_ALU / INST_TYPE_OUTPUT (6 words):
• CMN_INST_*
• ALU_RGB_ADDR_*
• ALU_ALPHA_ADDR_*
• ALU_RGB_INST_*
• ALU_ALPHA_INST_*
• ALU_RGBA_INST_*
Содержание ATI CTM
Страница 1: ...ATI CTM Guide Technical Reference Manual Version 1 01...
Страница 6: ...ATI CTM Guide v 1 01 2006 Advanced Micro Devices Inc 2 Related Documents...
Страница 48: ...ATI CTM Guide v 1 01 2006 Advanced Micro Devices Inc 44 Errata...
Страница 54: ...ATI CTM Guide v 1 01 2006 Advanced Micro Devices Inc 50 Executable Files...