![AMD ATI CTM Technical Reference Manual Download Page 11](http://html1.mh-extra.com/html/amd/ati-ctm/ati-ctm_technical-reference-manual_2921735011.webp)
Memory Controller Unit 7
© 2006 Advanced Micro Devices, Inc.
ATI CTM Guide v. 1.01
Output Parameters
The MC supports clients (processors in the data parallel processor array) requesting memory be written for up to 4
distinct program outputs. The (x, y) pair for a given output memory request is equal to the (i, j) output domain pair
assigned to a processor or conditional output unit by the PE as described in Section 2.1.2. This index is sent to the MC
along with the program output identifier that is specified in the program instruction being executed. The pitch, offset,
tiling, and format for each output identifier is shared among all processors in the processor array and the conditional
output block. These values are provided to the MC with the
set_out_fmt
The MC may service any number of requests from the processors during program execution. If the data can be placed
in the MC output write cache, then the MC will place the incoming data into the cache. Otherwise, it will push out a
portion of the cache (either to GPU or system memory, as appropriate), if necessary, to free space in the cache for the
new request. The output write cache is shared among all 4 program outputs, and must be flushed to guarantee that any
data written by the processors are placed in memory. The output write cache is flushed with the
flush_out_cache
A write request to the output buffers can be masked with the
set_out_mask
command (see page 21). This command
specifies, per output channel, whether the output buffer is updated. If the writemask for a given output channel is 0,
then its values are not updated when the MC services a write request.
Conditional Operation Parameters
The MC supports clients (the CO) requesting memory be read and written for a single conditional output buffer. The
(x, y) pair is equal to the (i, j) output domain pair assigned to the CO by the PE as described in Section 2.1.2. This
pair is sent to the MC along with the conditional output identifier. The pitch, offset, tiling, and format for the output
are provided to the MC with the
set_cond_out_fmt
command (see page 18).
The MC may service any number of requests from the CO during program execution. These may be either read
requests or write requests.
If the data for a read request can be found in the MC conditional output cache, then the MC will satisfy the request
from the cache. Otherwise, it will pull data into the cache (either from local or remote memory, as appropriate), in the
process of servicing the request. The conditional output cache must be invalidated to guarantee that data that has
changed in memory is properly read. The cache can be invalidated with the
inv_cond_out_cache
command (see
page 20).
If the data for a write request can be placed in the MC conditional output cache, then the MC will place the incoming
data into the cache. Otherwise, it will push out a portion of the cache (either to GPU or system memory, as
appropriate), if necessary, to free space in the cache for the new request. The conditional output cache must be flushed
to guarantee that any data written by the conditional output block is placed in memory. The cache can be flushed with
the
flush_cond_out_cache
A write request to the conditional output buffer can be suppressed with the
set_cond_out_mask
command (see page
21). If the writemask set by this command is 0, then no values are written to the conditional output cache or memory.
Floating Point, Integer, and Boolean Constant Parameters
The Memory Contoller Unit supports clients (processors in the data parallel processor array) requesting a memory
read for floating point, integer, and boolean program constants. The (x, y) index pair for a given constant memory
request is obtained from the constant index referenced in the program instruction being executed. The index pair is
sent to the MCU along with the constant type identifier, which also is specified in the program instruction. The pitch,
offset, tiling, and format for each type of constant (three types) is shared among all processors in the processor array.
These values are provided to the MCU with the
set_constf_fmt
,
set_consti_fmt
, and
set_constb_fmt
commands.
The MC may service any number of requests from the processors during program execution. If the data can be found
in the corresponding MC constant 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 constant read caches must be invalidated to guarantee that data that has changed in memory is properly read. The
constant read caches can be invalidated with the
inv_constf_cache
,
inv_consti_cache
, and
inv_constb_cache
commands.
Summary of Contents for ATI CTM
Page 1: ...ATI CTM Guide Technical Reference Manual Version 1 01...
Page 6: ...ATI CTM Guide v 1 01 2006 Advanced Micro Devices Inc 2 Related Documents...
Page 48: ...ATI CTM Guide v 1 01 2006 Advanced Micro Devices Inc 44 Errata...
Page 54: ...ATI CTM Guide v 1 01 2006 Advanced Micro Devices Inc 50 Executable Files...