To make this long thread a bit longer, I think that using port I/O in
delay loops used to slow down too fast games by wasting time actually
is a good idea (if you pick a safe port) BECAUSE the I/O is slow and
not cached and not subject to too smart CPUs trying to optimize it
away in fancy ways either, so it will waste system time reliably :-)
However, the topic of port I/O and MMIO reminds me of some activity
by RayeR and others regarding low-level configuration to speed up
access to PCI / PCIe graphics in DOS. I think the issue was that no
fast defaults were applied by the BIOS, slowing down VESA LFB a lot.
So hardware access speed certainly is an exciting topic, as are
things like speculative execution, reordering, implicit parallel
scheduling of instructions as long as they do not depend on each
other more than the CPU can handle and similar modern time magic,
which all make CPU old and new speeds rather weird to compare,
as the comparisons will depend a lot on the type of benchmark.
Freedos-devel mailing list