On Thu, 11 Mar 2021 at 00:32, dmccunney <dennis.mccun...@gmail.com> wrote:
>
> On Wed, Mar 10, 2021 at 5:07 PM Jon Brase <jon.br...@gmail.com> wrote:
> > On 3/9/21 4:35 PM, dmccunney wrote:
> > > As a general rule, consumer machines are I/O bound, not compute bound.
> > > The CPU spends most of its time in an idle loop waiting for stuff to
> > > be read from/written to disk.
> >
> > Actually, as a general rule, on a consumer machine, both the CPU and the
> > disk spend most of their time waiting for user input to give them
> > something to do. Disk waits are nothing compared to the eternity between
> > the keystrokes of a fast typist, and that's if the user is neither away
> > nor lost in thought.
>
> I can't agree. We are not in the single-user, single tasking DOS days
> when one thing was going on at a time.

Agreed.

Way back in the mid-1990s I ran the testing labs for one of the UK's
largest computer magazines, PC Pro. (Known as "PC @uthority" in
Australia.) I organized a labs test of PCs with Win NT 4. This really
showed which manufacturers knew their stuff.

In the Pentium 1 era, Intel really advanced the art of motherboard
chipsets. Its old 82430 "Neptune" chipset for the 5V Pentium (60MHz &
66MHz) was very conventional. The 82430 FX "Triton" chipset for the
3.3V Pentium (75/90/100/120/133MHz) was a revelation. Its EIDE
controller, the PIIX chip, could do busmastering I/O, allowing the
disk drives to use DMA to put data into RAM. A device driver was
supplied on floppy.

On Win9x this made little difference because its limited kernel could
not overlap I/O. But on NT, even with 1 CPU, it was very different.

Without the busmastering driver, each disk access used programmed I/O.
NT booted as slowly as 9x.

With the driver, when NT booted, you could *hear* when the kernel
started executing. Disk access went from tick-tick-tick, tick-tick,
tick-tick-tick-tick, to bzzzzzt-bzzzt-bzzzzzzzzzzzzzzt-bzzzzzt. Once
the driver triggered, not only did disk access get quicker, but the
CPU could get on with something else while it occurred. So your PC
booted noticeably faster -- it took minutes off a long boot sequence
-- and you could continue to use the PC even under very heavy disk
load.

It's not just a question of the CPU sitting waiting any more, although
that's true, it does. But with a modern OS with a pre-emptive kernel,
it can queue up a bunch of I/O commands and then leave that particular
I/O subsystem to its own devices (literally!) and go off and do
something else while the subsystem does the work and puts the data
direct into RAM without CPU intervention.

Now that multicore CPUs are standard this is even more important. One
core can be doing a virus scan while another core is doing a
spellcheck and another core is servicing the UI so your PC still
responds to you.

To measure it, for example, one can set a program transcoding a video
file, which running standalone would take say 10min, and then run a
script that puts Photoshop through its paces for about 10min. On a
system without DMA I/O, with both tasks running, they will take on the
order of twice as long. With DMA I/O, a background task will only slow
the foreground task by a few %.

For me, as someone who used to do benchmarking for a living, this was
one of the biggest advances I ever saw in personal computing since the
1980s, and it went almost totally unnoticed in the industry as a whole
-- sadly a lot of folk writing about computing in the 21st century
lack training, scientific literacy, and a basic understanding of
statistics and ideas like a significant or insignificant difference.

I've seen websites making buying recommendations based on measuring
external sources' bar charts with a ruler, when they did not notice
that the Y axis did not begin at zero.

--
Liam Proven – Profile: https://about.me/liamproven
Email: lpro...@cix.co.uk – gMail/gTalk/gHangouts: lpro...@gmail.com
Twitter/Facebook/LinkedIn/Flickr: lproven – Skype: liamproven
UK: +44 7939-087884 – ČR (+ WhatsApp/Telegram/Signal): +420 702 829 053


_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to