home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!mcsun!uknet!yorkohm!minster!martin
- From: martin@minster.york.ac.uk
- Newsgroups: comp.os.ms-windows.programmer.win32
- Subject: Re: Running NT with more than 16MB
- Message-ID: <712530785.27982@minster.york.ac.uk>
- Date: 30 Jul 92 21:13:06 GMT
- Organization: Department of Computer Science, University of York, England
- Lines: 55
-
- jvert@microsoft.com (John Vert) says:
- > >My question concerns what happends on an ISA machine with disk controllers
- > >or other expansion boards which might try to access memory above the
- > > 16Mb limit of the ISA expansion bus. Does this even happend in todays
- > >systems?
- >
- > Yes, it happens all the time. However, Windows NT will take care of the
- > messy details and you can use all your memory just fine.
-
- OS/2 v2.0 *still* has trouble with this! I believe - perhaps they should
- have done less of the OS/2 v2.0 development on PS/2s :-)
-
- >
- > >
- > >For instance, what if some software wants to DMA a block of memory to a disk
- > >or video or other type of card? If the source or destiation of the DMA
- > >transfer is above 16Mb what happends? Do the DMA controllers automaticall
- > >handle this case? Is there some system software which will detect this and
- > >possibly do a transfer to low memory (below 16Mb) and then transfer it
- > >above 16Mb to its destination?
- >
- > The disk driver requests DMA transfers through the HAL (Hardware Abstraction
- > Layer) The HAL figures out that the DMA controller cannot see the memory
- > above 16Mb, performs the DMA into a buffer below the 16Mb line, then copies
- > the result to its final destination. (and vice-versa when memory above
- > 16Mb is the source of the DMA))
- >
-
- What is the performance penalty of
- 1) The extra copying
- 2) The (presumably) limited size of the intermediate buffer
- ?
-
- In particular, if I'm using the *wonderful* CreateFile option which does
- the I/O directly into my address space, without going through the cache
- (that is the FILE_FLAG_NO_BUFFERING option), with big reads (>100Kbytes, say)
- and the memory happens not to be in the low 16Mbytes, will there be a
- horrendous (and rather unpredictable) penalty?
-
- (Actually, this *is* quite important to me!)
-
- Thanks,
-
- Martin
- PS
- Microsoft is going to regret calling it `CreateFile'... :-)
-
- INTERNET: martin@minster.york.ac.uk
- surface:
- Dr. Martin C. Atkins
- Dept. of Computer Science
- University of York
- Heslington
- York YO1 5DD
- ENGLAND
-