Path: utzoo!attcan!uunet!dino!ux1.cso.uiuc.edu!aries!mcdonald From: mcdonald@aries.scs.uiuc.edu (Doug McDonald) Newsgroups: comp.sys.ibm.pc Subject: Re: QEMM 5.0 Slo-o-o-o-ws system DMA Message-ID: <1990Jun27.162145.684@ux1.cso.uiuc.edu> Date: 27 Jun 90 16:21:45 GMT References: <3863@trantor.harris-atd.com> <1470012@iftccu.ca.boeing.com> Sender: usenet@ux1.cso.uiuc.edu (News) Reply-To: mcdonald@aries.scs.uiuc.edu (Doug McDonald) Organization: School of Chemical Sciences, Univ. of Illinois at Urbana-Champaign Lines: 37 In article <1470012@iftccu.ca.boeing.com> bressler@iftccu.ca.boeing.com (Rick Bressler) writes: >I went home and read my QEMM manual (V5.0) and no page 22 it claims that the >386 is placed into virtual 8088 mode whenever expanded memory is in use or >constantly if mapped ram or rom are used. (Mapped RAM is usually what loadhi >uses). This pretty much means that if you are using QEMM your machine is >going to be in v 8086 mode! > >Again I would like to stress, this mode is required (as far as I know) to do >some of the things that QEMM does, it is not a problem with QEMM. Rather it >is a problem with the overhead of the 80386 in dealing with interrupts in >v 8086 mode. I wonder... does the 486 handle this any better??? > >Am I full of hot air? > You are full of warm air or slightly distended with hot air. If I read the book on the 386 I have - "Programming the 80386" by John H. Crawford amd PAtrick P. Gelsinger, the 80386 handles interrupts in the same time in real 8086 mode or virtual 8086 mode. What takes longer is interrupts in 386 or 386 protected mode. It appears that, as best I can, there will be no long delays so long as you go into virtual 8086 mode and stay there. But there WILL be long delays if QEMM has to change around the paging registers, as it must to support different tasks or to support simulated expanded memory, for to do this it must go into and out of protected mode, which is indeed slow. What WOULD take longer is if some of the protections available in virtaul 8086 mode like trapping hardware interrupts or IO instructions actually occur. This will indeed cause a very long delay. QEMM probably does not do this sort of stuff, as it almost certainly just lets the BIOS and regular IO instruction sdo their thing. Some virtual 8086 managers uner, for example, Unix, probably DO do this trapping, and WILL show a large slowdown. It depends on the IOPL it runs the virtual 8086 at. Complicated. Doug McDonald