
Functional Description
Prefetching SCRIPTS Instructions
SYM53C875/875E Data Manual
2-3
to the guidelines in the draft standard, make the
following software and hardware adjustments to
accommodate Ultra SCSI transfers:
I
Set the Fast-20 Enable bit to enable Ultra
SCSI transfers.
I
Set the TolerANT Enable bit, bit 7 in the
ST EST 3 register whenever the Ultra Enable
bit is set.
I
Do not extend the SREQ/SACK filtering
period with ST EST 2 bit 1.
Using the SCSI
Clock Doubler
T he SYM53C875 can double the frequency of a
40-50 MHz SCSI clock, allowing the system to
perform Ultra SCSI transfers in systems that do
not have 80 MHz clock input. T his option is user-
selectable with bit settings in the ST EST 1,
ST EST 3, and SCNT L3 registers. At power-on or
reset, the doubler is disabled and powered down.
Follow these steps to use the clock doubler:
1. Set the SCLK Doubler Enable bit (ST EST 1,
bit 3)
2. Wait 20
μ
s
3. Halt the SCSI clock by setting the Halt SCSI
Clock bit (ST EST 3 bit 5)
4. Set the clock conversion factor using the SCF
and CCF fields in the SCNT L3 register
5. Set the SCLK Doubler Select bit (ST EST 1,
bit2)
6. Clear the Halt SCSI Clock bit
Prefetching SCRIPT S
Instructions
When enabled (by setting the Prefetch Enable bit
in the DCNT L register), the prefetch logic in the
SYM53C875 fetches 8 dwords of instructions. T he
prefetch logic automatically determines the maxi-
mum 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, it will disable itself.
While the SYM53C875 is prefetching SCRIPT S
instructions, the PCI Cache Line Size register
value does not have any effect and the Read Line,
Read Multiple, and Write and Invalidate com-
mands will not be used.
T he SYM53C875 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 software. When one
of these conditions apply, the contents of the
prefetch unit are flushed automatically.
1. On every Memory Move instruction. T he
Memory Move instruction is often used to
place 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 6 in the section on Memory Move
Instructions.
2. On every Store instruction. T he 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.