
2-10
SYM53C876/876E Data Manual
Functional Description
SCSI Functional Description
appears in the SCRATCHB register when bit 3 of
the CTEST2 register is set. The RAM is byte-
accessible from the PCI bus and is visible to any
bus-mastering device on the bus. External
accesses to the RAM (by the CPU) follow the
same timing sequence as a standard slave register
access, except that the target wait states required
drops from 5 to 3.
A complete set of development tools is available
for writing custom drivers with SCSI SCRIPTS.
For more information on the SCSI SCRIPTS
instructions supported by the SYM53C876, see
Chapter 5,
SCSI SCRIPTS Instruction Set.
Prefetching SCRIPTS Instructions
When enabled by setting the Prefetch Enable bit
(bit 5) in the DCNTL register, the prefetch logic
in the SYM53C876 fetches 8 dwords of instruc-
tions. The prefetch logic automatically determines
the maximum burst size that it can perform,
based on the burst length as determined by the
values in the DMODE register. If the unit cannot
perform bursts of at least four dwords, the
prefetch logic disables itself. While the chip is
prefetching SCRIPTS instructions, the PCI
Cache Line Size register value does not have any
effect and the Read Line, Read Multiple, and
Write and Invalidate commands are not used.
Note: This feature is only useful if fetching
SCRIPTS instructions from main
memory. Due to the short access time of
SCRIPTS RAM, prefetching is not
necessary when fetching instructions from
this memory.
The SYM53C876 may flush the contents of the
prefetch unit under certain conditions, listed
below, to ensure that the chip always operates
from the most current version of the SCRIPTS
instruction. When one of these conditions apply,
the contents of the prefetch unit are flushed auto-
matically.
1. On every Memory Move instruction. The
Memory Move instruction often places
modified code directly into memory. To make
sure that the chip executes all recent
modifications, the prefetch unit flushes its
contents and loads the modified code every
time a instruction is issued. To avoid
inadvertently flushing the prefetch unit
contents, use the No Flush option for all
Memory Move operations that do not modify
code within the next 8 dwords. For more
information on this instruction, refer to
Chapter 5,
SCSI SCRIPTS Instruction Set.
2. On every Store instruction. The Store
instruction may also be used to place modified
code directly into memory. To avoid
inadvertently flushing the prefetch unit
contents, use the No Flush option for all Store
operations that do not modify code within the
next 8 dwords.
3. On every write to the DSP.
4. On all Transfer Control instructions when the
transfer conditions are met. This is necessary
because the next instruction to execute is not
the sequential next instruction in the prefetch
unit.
5. When the Prefetch Flush bit (DCNTL bit 6)
is set. The unit flushes whenever this bit is set.
The bit is self-clearing.
Op Code Fetch Burst Capability
Setting the Burst Op Code Fetch Enable bit (bit
1) in the DMODE register (38h) causes the
SYM53C876 to burst in the first 2 dwords of all
instruction fetches. If the instruction is a memory-
to-memory move, the third dword is accessed in a
separate ownership. If the instruction is an indi-
rect type, the additional dword is accessed in a
subsequent bus ownership. If the instruction is a
table indirect Block Move, the chip uses two
accesses to obtain the 4 dwords required, in two
bursts of 2 dwords each.
Note: This feature is only useful if prefetching is
disabled.
Note: This feature is only useful if fetching
SCRIPTS instructions from main