[comp.arch] summery of references about memory management systems on micros

u5@mit-eddie.UUCP (03/27/87)

Enclosed please find a summery of the messages I received in response
to my question regarding memory management systems for small computer
systems.  Thank you to all who responded.

-u5
-----------------------------------

From: seismo!ihnp4!drutx!qwerty
Subject: Re: Memory Management on microcomputers
In-Reply-To: your article <4970@mit-eddie.MIT.EDU>

Try the pdp/8 series computers for interesting memory management.

A 12 bit address space machine that could handle 32K of memory.  Once they
introduced bank switching, the memory space expanded to 128K.  The memory
was 12 bits wide, and there were three bit reserved for the opcode (talk
about RISC), 1 bit for a zero page/current page address, and 7 bits of address
info (each page was 128 words).  Instruction set: TAD (add to accumulator),
ISZ (increment memory and skip on zero), JSB (jump subroutine - stores return
address at the first location of the subroutine - makes recursive calls
interesting :-)), JMP, DCA (deposit and clear accumulator), IOT (input/output
transfer), AND (logical and to accumulator - makes OR and XOR interesting),
OPR - Operate group instructions - accumulator manipulation.  Bank switching
instructions were relegated to reserved areas under the IOT group.  Any given
instruction could reference 128 zero page words and 128 current page words
directly.  It could reference 4096 words indirectly via the 256 current words.
It could reference all 32K with context switching prior to the indirect
instruction.

The small memory (typically 4 or 8 K on early machines) led to some neat coding.
Most I/O drivers fit in 128 words.  The disk driver took 256.  If you needed
a constant value, you first checked the assembled code on the current page
to see if one of the instructions happened to satisfy the value, before you
used another word for it.  The second technique for generating constants was
to use the operate group.  Clear AC, Comp AC, Shift Left AC was a quick way to
get -2.  There were about 30 constants that could be generated this way.

Ah, the memories.

Brian Jones  aka  {ihnp4,}!{drutx,druhi}!qwerty  @  AT&T-IS, Denver

-----
From: rajiv@im4u.utexas.edu (Rajiv N. Patel)
Subject: Reference for memory management..

Hi, I read your message on comp.arch and was reading an article regarding
Memory management on Microprocessors which may be of help to you.Here is
the reference:
"A Survey of Microprocessor Architectures for Memory Management",IEEE Computer
magazine,MARCH 1987, pp 48-67. (latest issue,came out a week back)

I do not know how much this article may help, but surely its a good place to
start.

Have a nice time donig your report.If possible I would appreciate to read the
completed report.

Rajiv Patel.
Dept of Electrical Eng.,U T Austin.
ARPA:rajiv@im4u.utexas.edu

-----
From: uwvax!uwmacc!uwmcsd1!grc!gary@harvard.harvard.edu
Apparently-To: uwmacc!uwvax!husc6!mit-eddie!u5

John DeRoo
MIT EE/CS Computer Facilites
RE: Memory Management on microcomputers

John:

    I have done a lot of work with the National Semiconductor 32000
 32 bit microprocessor family.   (My company builds UNIX systems based
 on the chip set). Try to get a copy of the 1986 Series 32000 Databook 
from National.  The first chapter details some of the reasons for the
 32000 architecture especially why they use a Demand  
Paged Virtual Memory Managment scheme (verses segmented, etc).
    Some of the info is of course marketing hype, but you should find some
of it useful.  Good luck on your paper.

 
        Gary Sutcliffe   (standard disclaimer ...)
        General Robotics Corp.  23 S. Main St. Hartford, Wis. 53027
        {allegra, ihnp4, seismo, harvard}uwvax!uwmacc!uwmcsd1!grc!gary