On 10/30/10 1:08 PM, Chuck Guzis wrote:
Aside from expanding program storage, the large
addressing space was
used to map file space (another type of "memory-mapped I/O"), so file
access was actually performed through the paging hardware/software.
That was kind of cool, as the STAR was a memory-to-memory vector
machine, so you could use vector instructions on entire files, rather
than have to issue reads and writes for pieces of a file.
That functionality is in use all over the place today as mmap(),
accessing files as if they were memory, pushing the read/write burden
out into the VM system. It's extremely effective.
I'd not consider it to be "memory-mapped I/O" at all, though, in the
context of "a processor reading and writing I/O ports". Sure, file I/O
is a sort of I/O, and mmap() and similar techniques map that file I/O
into the address space, but the context of this discussion...and indeed,
most, it not all use of the term "memory-mapped I/O" doesn't refer to
this sort of thing.
-Dave
--
Dave McGuire
Port Charlotte, FL