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 Homepage E-mail, Rio Rancho, NM, 14.09.2011, 19:03

> if in real mode,
> if FreeDOS
> switch to protected mode, copy data, switch back to RM
> if MSDOS
> use unreal mode and copy data

How do you figure there's going to be a huge difference between switching modes yourself and having INT 15.87 do it for you? Other than the mode switches, INT 15.87 doesn't need to do anything that takes a lot of time.

> no need to use an extra CPU core to accelerate (OHCI?) USB

Absolutely not true. Whether the majority of the IRQ code is in RM or PM, there are still going to be several mode transitions required.

If in RM, the only required transitions to PM are to access the MMIO space. The problem is, there will always need to be at least one, and usually several, of these required during each IRQ. It may be possible to "consolidate" some (but by no means all) of them, which is one of the things I will be working through.

If in PM, all INT xx calls and all PIO access to ports >= 100h require a transition to RM and back again. I will try and minimize the number of those required as well, though it may not be possible to eliminate all of them. The larger issue is that when there is some data transferred across the bus, the host driver needs to notify the individual device driver (USBKEYB, e.g.) through a RM call-back address. It may also be possible to queue/consolidate these to reduce the number of transitions required.

There is also the problem of IRQ sharing, where a lot of USB host controllers, and sometimes other PCI devices as well, use the same IRQ. That can also increase the number of mode switches required.

Bottom line is that mode switches doesn't just happen once each time there is an IRQ, and the IRQ's happen VERY often, so the time it takes must be minimized. I was just trying to brainstorm an ideas that could help with this, since it is actually a much larger issue than just my USB drivers, but seems to have always been ignored.

 

Complete thread:

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