29 September 1997 – Subject To Change
Clocks, Cache, and External Interface
4–37
21164PC-Initiated System Transactions
4.7.4 WRITE BLOCK
The WRITE BLOCK command is used to complete write operations to noncached
memory. The 21164PC asserts the WRITE BLOCK command, along with the
address at the start of a sysclk cycle. The first 16 bytes of data and the int4_valid
signals are driven one cpu_clk cycle later, so that system interface can be assured a
one cpu_clk cycle minimum hold time when sampling data on the next sysclk edge.
If the system removes ownership of the cmd_h<3:0> bus, the 21164PC retains the
WRITE command and waits for bus ownership to be returned.
When the system takes the first part of the data, it asserts dack_h. This causes the
21164PC to drive the next 16 bytes of data on the same sysclk edge plus one
cpu_clk cycle delay.
If the system asserts cack_h, the 21164PC outputs the next command in the next
sysclk. Receipt of cack_h indicates to the 21164PC that the write operation will be
taken.
During each cycle, the int4_valid_h<3:0> signals indicate which INT4 parts of the
write operation are really being written by the processor. For write operations to
noncached memory, only those INT4 with the int4_valid_h<n> signal asserted are
valid. See the definition for int4_valid_h<n> in Table 3–1.
Figure 4–17 shows the timing of a WRITE BLOCK command.