3 ms·
> memory access times were constant My Symbolics 3640 Lisp Machine, a model introduced in the mid 1980s had 20 MB RAM and 200 MB virtual memory on one or two d
by lispm 2y ago
> memory access times were constant
My Symbolics 3640 Lisp Machine, a model introduced in the mid 1980s had 20 MB RAM and 200 MB virtual memory on one or two disks. The OS was already a 50 MB image. The memory used by Lisp was typically much larger than the available (and/or affordable) RAM.
Access times were far from constant.
A full Garbage Collection over virtual memory took 30 minutes. That's why it had extensive support for incremental garbage collection, copying GC, manual memory management, areas for various data types, ephemeral GC with hardware support, cdr-coded lists, various types of multidimensional arrays, graphics cards with special video memory, 36 bit memory with additional ECC, ...
Before saving a new Lisp image to disk, one was using a special command to reorder objects in memory to optimize access times. That command also took 20-30 minutes.
Lisp Machines like this were developed because Lisp systems on Mainframes or Mini Computers were thrashing the machines during GC and making performance hell for Lisp users and other time sharing users. Thus a personal machine was needed where the memory and CPU belong to one user. They were among the very first commercially available GUI based personal workstations in 1981.
- jiggawatts 2y agoSure, machines with virtual memory and caches were available in small numbers for a long time, but the vast majority of programming was done on PCs since the 1980s. The first Intel PC with a cache was the 486.
- lispm 2y agoI learned LISP on systems like an IBM mainframe, DEC-10 with TOPS-10, the DEC VAX 11/780 with VMS, SUN 3 & 4, Symbolics 3600/3640, ... all these had large virtual memories, with the resulting feature that the speed of memory access varies widely between cached memory, main memory and virtual memory. I doubt that the early small memory Intel-based machines played much of a role for Lisp programmers or even education (other than being used as a terminal to a different machine). Lisp was memory hungry, due to the interactive use (with resident dev tools) with a garbage collected heap. The 386 supported virtual memory and various other ways to extend the available RAM was used on early intel machines under the various DOS variants...