ATI CTM Guide v. 1.01
© 2006 Advanced Micro Devices, Inc.
8 CTM Commands
Instruction Parameters
The Memory Contoller Unit supports clients (processors in the data parallel processor array) requesting a memory
read for program instructions. The (x, y) index pair for a given memory request is obtained from an internal program
counter in each processor that is incremented as the program is executed. The index pair is then sent to the MCU. The
pitch, offset, tiling, and format for the instructions are shared among all processors in the processor array. These
values are provided to the MC with the
set_inst_fmt
command.
The MC may service any number of requests from the processors during program execution. If the data can be found
in the corresponding MC instruction read cache, then the MC will satisfy the request from the cache. Otherwise, it
will pull data into the cache (either from GPU or system memory, as appropriate), in the process of servicing the
request. The instruction read cache must be invalidated to guarantee that data that has changed in memory is properly
read. The instruction read cache can be invalidated with the
inv_inst_cache
command.
2.2
CTM Commands
CTM commands are packed into CTM Command Buffers. A CTM Command Buffer is a tightly packed region in
memory interpreted as a sequence of commands and their parameters, starting at the base address of the command
buffer. Each CTM command is a 32-bit unsigned integer. It is followed immediately in memory by one or more
parameters, each of which is also a 32-bit unsigned integer. No commands take a variable number of parameters and
all commands have at least one parameter.
All CTM Commands can be found in Table 3. The table contains the command name, unique opcode, parameters,
and a brief description. More complete descriptions are given in the following subsections. Some commands will
result in undefined behavior if a program is currently executing on the processor array. Such a command must follow
a wait_for_idle command and precede any subsequent start_program command in the command buffer to be
predictable. Other commands are pipelined within CTM, and can be issued at any time.
3. CTM Unit Commands
Opcode
Pipelined
Parameters
Description
Processor Execution Unit Commands
init_perf_counters
x'C0010200
'yes
0: flags
Initialize performance counters.
start_perf_counters
x'C0000300
'yes
0: Reserved
Set performance counters to zero
and start them counting.
stop_perf_counters
x'C0000400
'yes
0: Reserved
Stop the performance counters
counting.
read_perf_counters
x'C0010500
'no
0: GPU address
Write the vales of the performance
counters, starting at the supplied
GPU address.
set_cond_val
x'C0000600
'yes
0: Value
Set the value sent by the PEU to the
Conditional Operation Unit when
conditional execution is enabled.
set_domain
x'C0030700
'yes
0: i0
1: j0
2: i1
3: j1
Set the domain for program
execution to be the rectangle (i0, j0)
- (i1, j1) inclusive.
start_program
x'C0000800
'yes
0: Reserved
Instruct the Processor Execution
Unit to start the program.
Содержание 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...