On Tue, 4 Jun 2002, Gleb O. Raiko wrote:
> Basically, the patch logically allows combination of a CPU with internal
> write-buffer and an external wb chip. It's impossible if hw designers
> don't smoke hard. :-)
Well, I believe it might be useful -- if a CPU uses a higher clock for
its pipeline and a lower one for its external bus, it might be useful to
buffer a few words internally to avoid stalls at two consecutive writes.
Then you may have an additional buffer externally to lower the number of
stalls on memory or I/O (generally the rest of a system) accesses.
Essentially a buffer every time you cross a frequency domains' border,
leaving the faster one. You need at least a single-word buffer at each
such border anyway if you don't want to stall the whole system for any
cycle accessing slower domains.
Consider it a complement of a hierarchical cache organization -- I've
seen (and actually used) systems with up to three levels of caches.
> In fact, CONFIG_CPU_HAS_WB means !CONFIG_CPU_HAS_WB, i.e. CPU don't have
> built-in write-buffer logic and there is an external write-buffer chip
> somewhere in the box.
> ("Somewhere" means a place on the path from the local bus to a memory
That's a bit awkward possibly, but "has" has a wide meaning and does not
necessarily state "contains". It might mean "owns" as well. For Rk
CPUs the option originally corresponded to external R2020 and R3220 chips
(just like floating point units may be external but still be considered a
part of a CPU) that were treated as a part of coprocessor 0 (with "bc0f"
or "bc0t" instructions testing their state).
Besides, who says discrete CPUs are forbidden? ;-)
> Then, __fast_iob just flushes internal wb while wbflush flushes an
> external wb.
Well, that's used by __wbflush internally if it knows there is no
external buffer that needs explicit handling (for the DECstation, at least
-- other systems might make use of it as well). That's unused in this
patch but is needed in the other one -- well, I had to split these patches
logically somehow and this one only contains system-independent code.
> That's why I call it "unusual terms from hw POV".
Hopefully, I clarified the terms a bit.
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+ e-mail: firstname.lastname@example.org, PGP key available +