12/30/96
settings.txt    v0.92 (beta-version)


------------------------------------------------
If you haven't done so already, please read MCLK.TXT.

Q:  What's inside this text file?

	Explanations of the rather cryptic options you may see, from my
	program's output.  MCLK doesn't have the most friendly 
	user-interface.  I hope that users give some thought to what they
	are doing with MCLK, before plugging in random values. 

-------------------------------------------------

Q:  Phrases like "VL-bus only" or "PCI only" accompany some settings.
    What do they mean?

        Some settings are only applicable to a particular bus architecture.
        Settings designated "local-bus only" generally refer to VL-bus
        (and NOT PCI)

Q:  What is "RAS" and "CAS"?
	
        RAS and CAS are related to memory access timing.  Depending on
        the context, RAS and CAS usually refer to the latencies involved
        with the initial access to a memory bank.  A lower CAS/RAS delay
        translates into faster memory access operations.  On the other
        hand, the fastest RAm timing doesn't necessarily translate into
        the best overall performance for a particular video board.
        Larger (slower) CAS/RAS delays may permit higher DRAM-clock
        frequencies, mitigating the performance penalty associated with
        extended delay timing.

        Changes to RAS/CAS timing aren't immediately perceptible (unless
        the new value causes RAM accesses to fail.)  Therefore changes to
        these settings aren't likely to be noticeable.  These settings
        are best left alone.

Q:  What about "RDY" or "LRDY", etc.?

        RDY/LRDY relate to bus timing.  Bus transactions, like memory
        transactions, are governed by timed control signals.

        Reducing the # waitstates on bus-transactions can improve your
        raw video-write thruput.  By how much depends on your video chipset,
        your motherboard chipset, and the difference between the factory
        default-timing and the most aggressive timing possible.

.........................

Q:  What is the "MCLK"?

        By naming my video-utility "MCLK", I've probably caused some
        confusion.  In this text, "MCLK" refers to two distinct things.
                1)  My program!
                2)  Video RAM-clock frequency ("MCLK" = Memory CLocK)

        MCLK refers to your video card's "clock."  The memory-clock
        (not to be confused with the "dot clock") of your video board
        controls the processing speed of your video chipset.  The concept
        of clock frequency ought to be familiar to you -- your CPU runs
        at a fixed frequency (75MHz, 100MHz, 120MHz, 133MHz, etc.)

        Host (CPU) accesses, BITBLT (accelerator) operations, and
        screen update (CRT refresh) are all instances where your video
        chipset performs some form of processing.  Increasing the MCLK
        frequency of a video board increases the available memory bandwidth.
        It should come as no surprise that increasing the MCLK frequency
        will boost video performance.  

        Some video operations are more bandwidth dependent than others.

        DOS/VGA (games, text-character mode, non-GUI environments)
        treat the video-card as a "dumb framebuffer."  Direct reads &
        writes to/from video memory are rarely accelerated.  So in practice,
        DOS/VGA performance is bottlenecked at the bus-interface, and not
        by memory bandwidth.  More bandwidth will not speed-up DOS thruput
        if there is already sufficient bandwidth to service all host
        transactions and screen-refresh.
	
        GUI environments ( OS/2, Windows, etc.) are a different story.
        Thanks to vendor device-drivers which utilize the video chipset's
        accelerator circuitry, many host-requested graphics operation
        can be offloaded to the accelerator.  The accelerator's processing
        speed is governed by the DRAM-clock (MCLK).  Since graphics
        operations within Windows applications are likely to be offloaded
        to the video accelerator, increasing the MCLK will produce a
        perceptible improvement in terms of screen response.

        If you the Plus Pack for Windows 95, enable full-window drag and
        switch your desktop resolution to the maximum resolution & color
        depth possible.  Try DECREASING your MCLK frequency -- you'll
        see the effect.

Q:  I didn't understand the preceding discussion.  In layman's terms,
    what is the benefit of increasing my SVGA adapter's "MCLK" ?

	+Possible performance gains under DOS/VGA, and Windows
        (Unless your video chipset has adjustable bus-transaction timings,
         DOS/VGA performance won't be adjustable.)

Q:  And the dangers?

	Unreliable screen redraws, system-lockups, in extreme occasions
	(such as pushing MCLK -> 80MHz...) possible VIDEO CARD DAMAGE.

	"Incremental" testing can help diagnose.  This means boosting your
	MCLK a small bit at a time, verifying nominal computer operation each
	step of the way.  Certainly, don't change too many settings at once--
	try to test one variable at a time.

	As long as you avoid entering extreme/outrageous MCLK values, your
	video card is in no danger.  If your entered MCLK value exceeds the
	video card's tolerances, the video card will exhibit very strange
	behavior, long before any permanent damage.

Q:  If I set MCLK too high, what kind of symptoms will I see?

	System lock-ups.  Partially corrupted displays ( screen doesn't refresh
	properly, screen isn't redrawn properly ), video "noise" (random dots.)
	While visually distracting, these symptoms aren't usually damaging to
	the video card.  But you should take them as a warning sign, 
	to lower the MCLK.

..........................................

Q:  How can I measure the benefits, if any, afforded by MCLK?

        You can always check the performance of your system with a good
        benchmark program.

        DOS PERFORMANCE
        VIDSPEED4 and PROFILE (included with UNIVBE) are my
	favorites (note, there are other benchmark programs out there.)
	VIDSPEED benchmarks a video board's DOS/VGA (CPU-write) thruput.
	Vidspeed performs its speed-test in banked memory-access mode.
        PROFILE can test the framebuffer in linear-mapped mode.  With the
        rise of VESA 2.0 SVGA DOS games, PROFILE is the way to go.  Visit
        Scitechsoft's www-site (http://www.scitechsoft.com) for an
        evaluation copy of Display Doctor.  The SDD package includes
        PROFILE.

        WINDOWS PERFORMANCE
        In some situations, you'll be able to eyeball the screen and
        see the difference between a stock video-card and an tweaked-one.
        But more often than not, you'll need a benchmark program like
        Winbench96 to resolve the performance issue.

Q: What's the difference between all these timing modes -- 
   "FPM, 2-cycle EDO, and 1-cycle EDO?"

        EDO and FPM are two types of RAM.  They are similar in access
        protocol, with EDO allowing system-designers to shave off one
        cycle from consecutive reads between page accesses.  In plain
        English, EDO RAM offers superior read performance over
        conventional (FPM) RAM, but only when the read-operations are
        arranged within the same memory block.  EDO does not directly
        improve random access reads, or write operations.

        Block transfers, video FIFO fills (display drawing) benefit the
        most from EDO timing.  And coincidentally, graphics display
        happens to be an application where block transfers (BITBLT) and
        consecutive reads (screen refresh) predominate.

        Now, if you switch a Trio64 from FPM timing to 2-cycle EDO,
        you'll see no improvement.  Why?  Most video boards already use
        2-cycle page-accesses, even for FPM memory banks.  So at a given
        MCLK frequency,  2-cycle EDO offers no improvement over FPM.
        BUT...EDO timing's pipelined profile does offer one benefit, and
        that's a higher clock frequency.  Depending on the particular
        design in question, an EDO based system can clock faster than a
        FPM based system.

        In terms of performance, 1-cycle EDO timing is roughly equal to
	SDRAM or SGRAM.  Obviously, there are differences, but suffice it to
	say, 1-cycle EDO theoretically offers 2X the burst performance compared
	to 2-cycle EDO timing. 
        For prolonged block transfers, 1-cycle EDO can actually approach 
        2X performance of 2-cycle EDO.  In graphics display applications
        where memory operations are large, consecutive, and few (as
        opposed to small, random, and numerous), 1-cycle EDO delivers
        a substantial performance boost over 2-cycle EDO, as tested by a
	benchmark program like Winbench96.

For more information, please visit my www-page.

liaor@uci.edu
http://www.oac.uci.edu/~rliao
