Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

Using Multiple CPU Cores in DOS? (Miscellaneous)

posted by bretjohn(R) Homepage E-mail, Rio Rancho, NM, 12.09.2011, 22:36

> But you still will have to solve the speed on single core CPUs.

Indeed, and there may be no way to solve that. Things just may need to run more slowly.

> I believe that moving data from base memory into extended memory via INT
> 15h.87 is slow in realmode but are you sure it is slow in vm86 mode too?

It's much faster in VM than RM, but still too slow when you need to do a lot of them. Here's some info from the two computers I use today:

To do an INT 15.87 memory transfer on a Sony laptop (approx 5 years old):
from Real Mode: ~ 15 ms
w/ HIMEM: ~ 7.5 ms
w/ HIMEM + EMM386: ~ 300 us

To do the same thing on a Dell desktop (approx 2 years old):
from Real Mode: ~ 1 ms
w/ HIMEM: ~ 1 ms
w/ HIMEM + EMM386: ~ 40 us

> Or you couls maybe requiere loaded DPMI server, if it could help, of course.

The problem is, DPMI isn't designed to be used with TSR's, and really doesn't help. That's why I'm investigating DPMS and JLM's.

If something like my suggestion is possible, it could increase system speed for nearly all applications that need PM (DPMI, EMS, XMS, etc.), not just USB or TSR's. Even when you're in DPMI/PM, e.g., the system "stops" every time there is an IRQ, and at least part of the IRQ processing is usually done in RM/VM. In a "normal" system, the IRQ's usually only happen a few dozen times a second, so it usually isn't perceived as a big deal. With USB, though, the problem is amplified because the IRQ's happen hundreds of times a second, and it becomes VERY noticeable.

Also in DPMI/PM, most INT calls need to be reflected to real mode. In addition, I/O requests should usually be reflected to real mode (though they normally aren't by default), in case there is any I/O virtualization going on. Even in a "normal" system there may be a lot of mode switching going on, far more than I think most people realize.

Requiring a specific version of DOS (like a 32-bit one), or a specific version of EMM, or even requiring an EMM at all, isn't a viable alternative, IMO. USB needs to work no matter what, even if it works slowly.


Complete thread:

Back to the forum
Board view  Mix view
15297 Postings in 1378 Threads, 254 registered users, 16 users online (0 registered, 16 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum