On Tue, Feb 29, 2000 at 12:24:40PM +0000, Colm Buckley mentioned:
> The other side of the decision was *which* of the 16 pages to reserve
> for applications and which to reserve for I/O. Here they made the
> "easy" decision which, in retrospect, was the wrong one. They decided
> to let applications have the lowest-numbered pages, and reserve
> high-memory for the I/O systems, so they'd be "out of the way".
Which, if you've done much assembly programming on machines that really
did have memory mapped I/O for "everything", was a good idea.
When programmers mess up with pointers, they generally didn't initialise
them, or put various low numbers in them. So, if your mmIO stuff is >
640K, it's out of the way.
There was a cool chip called the "blitter" on the amiga. You could get it
to copy memory from one place to the other (and do changes, and bit
manipulations, and draw lines...), quite fast - almost a meg a second!
Anyway. It used MMIO. You wrote to "to" and "from" addresses, and then to
a third "let rip" address. If you had a bug in your code, and the "from"
was in your own program code...it could put a great be pixmap in the
middle of your code.
Or worse, you could start writing all over the MMIO addresses. Result.
Pretty colours. Printer starting up. Floppy drive writing zeros to it's
media. Funny noise out of the speakers. General system failure. Annoyed
programmer.
At least if the MMIO was 640k away, it could give you an extra 30 seconds
or so in this case ;)
Maintained by the ILUG website team. The aim of Linux.ie is to
support and help commercial and private users of Linux in Ireland. You can
display ILUG news in your own webpages, read backend
information to find out how. Networking services kindly provided by HEAnet, server kindly donated by
Dell. Linux is a trademark of Linus Torvalds,
used with permission. No penguins were harmed in the production or maintenance
of this highly praised website. Looking for the
Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!