32 bit ram?
06-Jul-91 00:41:51
Sb: #27353-32 bit ram?
Fm: Charles Blaquiere 76046,1756
To: Don Curtis/SYSOP 76703,4321
Don,
there is a very specialized type of memory called associative memory. It
works as an instantaneous table search. One use is for operating systems
that feature virtual memory, where the logical address of a piece of data
may be different from the physical address. For example, say you have a Meg
of memory configured as 256 pages of 4K, and say that the total virtual
memory space you could address is 256 Meg. This means that virtual pages
would be numbered 0-65535. You would have a table somewhere in associative
memory (outside the Meg of main RAM) that indicates the virtual page number
of the data found in each of the 256 physical pages. If a program needs
access to a location in, say, page 2001, you would do a table search to see
if page 2001 is in main RAM. If so, you can point the program to the right
physical page; if not, you'd need to swap out one of the pages in main RAM
to disk, and read in page 2001 off the disk. (I know this is a lot to
swallow but it's late and my english isn't that clear even in the daytime)
Here is where the magic of associative memory come into play. In a
normal memory area, you would have to search the table for the value 2001
sequentially, which could take up to 256 operations. (Even on processors
that implement a table search as one opcode, the processor would still need
to perform up to 256 separate comparisons) But with associative memory,
each memory cell would compare its value with the 2001 being fed to the
chip, and raise its flag if a match was found. This is hardware
parallelism: all 256 comparisons are made at the same time. You could then
have the 256 flags being fed into a big OR gate to send a single "found/not
found" result back to the processor. As far as figuring out just which cell
holds the desired value, I'm fuzzy on this; my operating systems and
computer architecture courses are 4 years away.
Blaq! – via Whap!