We have discovered some very significant things that affect the most important aspect of recent processors: memory bandwidth.
Normally a Pentium processor with EDO memory and a recent chip-set should be able to read from its main memory at about 185 Mbytes per second. But when one measures, with the best accurate way possible, the continuous read rate of his/hers PC, the rate achieved is only 117-119 Mbytes/sec! Why?
Similarly the secondary cache should have a continuous read rate of 339 Mbytes per second, but the actual achievable is only about 224 Mbytes/sec !  Why?

We found out, that there is a serious undisclosed deficiency on all recent processors, which hinders significantly the read, search and transfer rates.
In simple terms, there is a time penalty imposed by Pentium's read buffer.
Specifically, when while a burst is in progress, a read request is made in the same cache line (on the same burst) the processor halts until the burst has finished (documented) AND the penalty time expires! (undocumented).
We should point out, that this affects all normal read, search and transfer loops.

Andy Grove (Intel's CEO) commenting on Klamath's (now Pentium II) double bus:
  "It is not enough to deliver faster CPUs," Grove said. "We must deal with and cross the bandwidth valleys of death," meaning bottlenecks in the processor-to-memory and processor-to-graphics bus.


After a lot of experimentation and many measurements we found the best workaround: By carefully redirecting the order of which memory reads are made we increased the main memory read rate by about 71% and the secondary cache read rate by 51%.

Measured on an Intel Pentium-200 MMX with Intel's HX chipset (TX has slight differences) and EDO memory. (SDRAM has increased main memory read and transfer rates).

The 'normal' rate is the rate which is achieved with the best normal way possible.
The 'innovative' rate is achieved by knowing the above mentioned read buffer flaw.
The source of this chart is Membench. For more information click on the chart.
(The innovative write rates on the chart are achieved using 64 bit writes, a method documented by Intel in its 1997 Optimizations manual; the 'performance flaw' revealed in this site is a read buffer flaw)
This ‘flaw’ occurs on all 486/Pentium/Pentium MMX/Cyrix/AMD K5/K6 processors using any kind of memory and on the secondary cache (L2 cache) of Pentium Pro and Pentium II processors.  It does not occur on the main memory of Pentium Pro / Pentium II processors because they support multiple outstanding bus transactions (that is, they issue the next read request before the current is finished, therefore eliminating the flaw).  But it continues to occur in Pentium Pro / Pentium II secondary cache accesses. (Our Pentium Pro’s-233 L2 read rate has increased from about 512 MB/sec to 714 MB/sec!). Depending on the program used, secondary cache read/search/transfer speed may be more important than main memory speed.
To see how the flaw affects other processors proceed to Charts page.

Don't know what a burst is? Proceed to schematic demonstration of the read buffer flaw.

If you can handle it, proceed to in-depth technical analysis.

Description of Membench.
Return to main page.
For questions, go to the Q&A page.
For comments or suggestions, mail us
Intel and Pentium are registered trademarks of Intel corporation.
Other trademarks referenced in this site are owned by their respective companies.

Everything at this web site is the property of Intelligent Firmware Ltd. You may not repost/publish this information without our explicit permission.

  upvc windows, doors online trade diy