Lisp Machine

Additional operating system/hardware discussion (Windows, Linux, *BSD and others)
Forum rules
Any posts concerning pirated software or offering to buy/sell/trade commercial software are subject to removal.
robespierre
Posts: 1579
Joined: Mon Sep 12, 2011 2:28 pm
Location: Boston

Re: Lisp Machine

Unread postby robespierre » Mon Mar 18, 2013 11:41 am

I don't think the PPC64 port ever worked.

geo: while there can be some overlap, bytecode is usually designed so it will be easy for software to decode, whereas lisp machine instructions were meant to be decoded by hardware (*) and those criteria lead to differing instruction sets. For example, a hardware decoder is easier to build if the fields of different instruction types are aligned, since the same paths of the mux can be used. Symbolics used a fixed instruction width of 16 or 17 bits with essentially a single instruction field format, and around 10 special addressing modes. They had properties in common with both RISC and CISC designs; the instruction fields were fixed length, and their addressing modes were fixed per opcode; but after the hardware decoded the fields, it jumped to a microstore address where microcode performed the instruction. Most instructions used 1 to 2 microinstructions.

* Actually the MIT CONS/CADR machines decoded their instructions using microcode, and had writable microstore. So the machine was originally designed to be a flexible microengine that could run PDP11, Data General NOVA, or other kinds of instructions. The microcode even had the ability to modify itself.

Oskar45: The 3600 is a real beast, it makes a predator rack look cute. Total weight including 14" disks, up to 800 lbs... There is a turbine inside for cooling that could probably amputate a whole hand.
About a decade ago I was visiting MIT and saw one that was left in a courtyard for the scrappers. Leaving aside the lisp machine pixie dust, it is a very strange machine. (The L-machine series have a service processor called a FEP, which is a mc68000 that has access to the data paths of the main processor. One of the 18" [hex unibus sized] boards has the FEP and its memory and bus logic. But the 3600 has an ADDITIONAL controller called a nanoFEP that was made from an 8080 and squirreled away inside the top of the chassis. There is an LED character-matrix display and buttons marked "NO" and "YES" that are connected to the nanoFEP and control the power-on process. The machine could also be controlled entirely by a remote engineer dialed in to its build-in modem when the key was in the "REMOTE" position.)
:PI: :O2: :Indigo2IMP: :Indigo2IMP:

User avatar
jan-jaap
Donor
Donor
Posts: 4940
Joined: Thu Jun 17, 2004 11:35 am
Location: Wijchen, The Netherlands
Contact:

Re: Lisp Machine

Unread postby jan-jaap » Mon Mar 18, 2013 1:03 pm

robespierre wrote:The 3600 is a real beast, it makes a predator rack look cute.

I object to that. The Predator rack is cute, period. :mrgreen:

Can't wait till the wiring of my new room is done, then I'll fire it up again 8-)
:PI: :Indigo: :Indigo: :Indy: :Indy: :Indy: :Indigo2: :Indigo2: :Indigo2IMP: :Octane: :Octane2: :O2: :O2+: Image :Fuel: :Tezro: :4D70G: :Skywriter: :PWRSeries: :Crimson: :ChallengeL: :Onyx: :O200: :Onyx2: :O3x02L:
To accentuate the special identity of the IRIS 4D/70, Silicon Graphics' designers selected a new color palette. The machine's coating blends dark grey, raspberry and beige colors into a pleasing harmony. (IRIS 4D/70 Superworkstation Technical Report)

User avatar
geo
Posts: 527
Joined: Tue Jul 21, 2009 5:07 am
Location: Nagano-ken, Shiojiri-shi, Japan

Re: Lisp Machine

Unread postby geo » Mon Mar 18, 2013 9:19 pm

robespierre wrote:geo: while there can be some overlap, bytecode is usually designed so it will be easy for software to decode, whereas lisp machine instructions were meant to be decoded by hardware (*) and those criteria lead to differing instruction sets. For example, a hardware decoder is easier to build if the fields of different instruction types are aligned, since the same paths of the mux can be used. Symbolics used a fixed instruction width of 16 or 17 bits with essentially a single instruction field format, and around 10 special addressing modes. They had properties in common with both RISC and CISC designs; the instruction fields were fixed length, and their addressing modes were fixed per opcode; but after the hardware decoded the fields, it jumped to a microstore address where microcode performed the instruction. Most instructions used 1 to 2 microinstructions.


oh! thats what i thought so thanks for this confirmation :) so lisp machine instrucion is way to go, will conitnue read that document from MIT and see how to implement it using todays tech :)

robespierre wrote:* Actually the MIT CONS/CADR machines decoded their instructions using microcode, and had writable microstore. So the machine was originally designed to be a flexible microengine that could run PDP11, Data General NOVA, or other kinds of instructions. The microcode even had the ability to modify itself.
hmmm is it possible to remove the machine instruction code layer? what if the compiler will output the microcode? oh! its because its not changeble right? coz its stored on a ROM geeez but would be nice right? if the compiler will generate microcodes then store it on Flash then from there it will be executed by the processor?

robespierre wrote:The 3600 is a real beast, it makes a predator rack look cute. Total weight including 14" disks, up to 800 lbs... There is a turbine inside for cooling that could probably amputate a whole hand.
:shock: :shock: :shock: thats super! hehe
:Octane: (Sakura) :O2: (Sasuke) :1600SW: (Naruto) ... lil Jesse! (O2 laptop)
“Imagination is more important than knowledge.“ – A. Einstein

robespierre
Posts: 1579
Joined: Mon Sep 12, 2011 2:28 pm
Location: Boston

Re: Lisp Machine

Unread postby robespierre » Tue Mar 19, 2013 12:17 am

geo: You're quick. In fact, MIT Lisp Machine Lisp does have a microcode compiler, that can compile lisp functions to microcode, where the hope is that they will run faster. Problems: microstore is very expensive, think L1 instruction cache, except in a dedicated memory that can't be reused. So there typically isn't much space there (MIT CADR was unusual in that it had a huge microstore, something like 16Kwords IIRC). Also, microcode is where traps (exceptions) are handled, so any function compiled to microcode cannot trap. This is a particular problem in a lisp machine, because in addition to things like page faults, memory references trap in many ways (type tags and invisible forwarding pointers). It must also be very careful about subroutine calls, because since the microstore is inside the CPU, any call stack is a dedicated CPU resource with a fixed depth. If microcode calls nest too deeply the machine crashes. So much for dynamic programming...

With the 3600, Symbolics moved hundreds of low-level functions out of microcode, into regular macrocode, where they ran faster, for all the above reasons. I don't think a microcode compiler was written for the 3600, but of course there was a Lisp-syntax macro assembler that made writing the microcode simpler. A single line of microcode could pop arguments from the stack, check their tags, perform an arithmetic or logical operation, shift the result, check overflow, store or push it into various places, mark flags, and return—anything that the hardware can do in parallel in one cycle.

Writable microcode (WCS - writable control store) was a feature of some minicomputers in the '70s and '80s. MIT CONS/CADR, Symbolics 3600, Three Rivers PERQ, and a number of DEC machines including the KL10, VAX 11/780, 8800, and even IBM S/370.
http://en.wikipedia.org/wiki/Control_store
While an architecture is young it can be valuable to fix problems in the field. At the end of the '80s the WCS fell out of style. (Today a whole machine can be compiled to FPGA, so there is an opportunity for patches even without microcode.)
:PI: :O2: :Indigo2IMP: :Indigo2IMP:

User avatar
Oskar45
Posts: 2258
Joined: Mon Dec 05, 2005 2:35 am
Location: Vienna, Austria

Re: Lisp Machine

Unread postby Oskar45 » Wed Mar 20, 2013 11:06 am

robespierre wrote:I will note that lisp machines (like Forth and some other topics) are a magnet for dreamers and crackpots.
Sorry for coming back to your old post. Nevertheless, I'd be still interested to learn more about your universally valid criteria for branding people addicted to Lisp Machines as *dreamers/crackpots* (of course, you would need to subsume such minor figures as McCarthy, Gosper, Greenblatt, Stallman, Boyer, Steele, Weintraub...)...Besides, Forth hasn't totally disappeared yet and I don't know what you had in mind with "some other topics"...
Everyone loves a lover. Romeo loves Juliet. Therefore, Trump loves Putin.

robespierre
Posts: 1579
Joined: Mon Sep 12, 2011 2:28 pm
Location: Boston

Re: Lisp Machine

Unread postby robespierre » Wed Mar 20, 2013 11:48 am

the people you listed are not "addicted to lisp machines". there is a difference between inventing something and idolizing it.
:PI: :O2: :Indigo2IMP: :Indigo2IMP:

User avatar
Oskar45
Posts: 2258
Joined: Mon Dec 05, 2005 2:35 am
Location: Vienna, Austria

Re: Lisp Machine

Unread postby Oskar45 » Wed Mar 20, 2013 1:13 pm

robespierre wrote:the people you listed are not "addicted to lisp machines". there is a difference between inventing something and idolizing it.
Wrong.
Everyone loves a lover. Romeo loves Juliet. Therefore, Trump loves Putin.

User avatar
recondas
Moderator
Moderator
Posts: 5441
Joined: Sun Jun 06, 2004 5:55 pm
Location: NC - USA

Re: Lisp Machine

Unread postby recondas » Wed Mar 20, 2013 4:08 pm

Oskar45 wrote:
robespierre wrote:there is a difference between inventing something and idolizing it.
Wrong.

Ergo, if I idolize something I invented it?

If that's the case vast numbers of the fairer sex need to see me for a right-to-use permit. :D
***********************************************************************
Welcome to ARMLand - 0/0x0d00
running...(sherwood-root 0607201829)
* InfiniteReality/Reality Software, IRIX 6.5 Release *
***********************************************************************

User avatar
geo
Posts: 527
Joined: Tue Jul 21, 2009 5:07 am
Location: Nagano-ken, Shiojiri-shi, Japan

Re: Lisp Machine

Unread postby geo » Thu Mar 21, 2013 7:04 am

robespierre wrote:geo: You're quick. In fact, MIT Lisp Machine Lisp does have a microcode compiler, that can compile lisp functions to microcode, where the hope is that they will run faster. Problems: microstore is very expensive, think L1 instruction cache, except in a dedicated memory that can't be reused. So there typically isn't much space there (MIT CADR was unusual in that it had a huge microstore, something like 16Kwords IIRC). Also, microcode is where traps (exceptions) are handled, so any function compiled to microcode cannot trap. This is a particular problem in a lisp machine, because in addition to things like page faults, memory references trap in many ways (type tags and invisible forwarding pointers). It must also be very careful about subroutine calls, because since the microstore is inside the CPU, any call stack is a dedicated CPU resource with a fixed depth. If microcode calls nest too deeply the machine crashes. So much for dynamic programming...
hi robe! sorry was busy again.. but i read your post already and did more research on your comments and all are becoming clear now, really thanks for all this info :) hmm all this sounds CISC like right? When i try to search a RISC LISP CPU, i saw someone implemented it but not sure it got done hmm

btw, just finished watch the video on Kalman Reti's talk at Boston last year? wow!!! watching the demo using VLM, i cannot believe what i saw! all those cool features already done on an 80's machine? my God.. and i think even some of those features are not available on todays OS right? why so? is it because of the C language barrier? or are just developers lazy to implement such cool feature? esp this one: you can change the code even the program is running, then just recompile it, tada!! how i wish Lisp machine will return and taking advantage on todays hardware techs..

today, also planned to use Lisp for one of my task, parsing a big data files? hehe coz of urgency, i just picked my strength.. C :) even faster for me with C#, but neh, just want to try C again on PC's.. tired of always C on embedded field hehe

sorry but still cannot resist on dreaming to own a real Lisp machine.. how's your Oskar? did you made the deal? me, still asking Ian's help how to ship it here hehe but very slim chance :( why does all the cool stuff always not on my side :(
:Octane: (Sakura) :O2: (Sasuke) :1600SW: (Naruto) ... lil Jesse! (O2 laptop)
“Imagination is more important than knowledge.“ – A. Einstein

robespierre
Posts: 1579
Joined: Mon Sep 12, 2011 2:28 pm
Location: Boston

Re: Lisp Machine

Unread postby robespierre » Fri Mar 22, 2013 3:23 pm

geo wrote:hmm all this sounds CISC like right? When i try to search a RISC LISP CPU, i saw someone implemented it but not sure it got done hmm


In some ways yes, in some ways no. "Classic CISC" like the Motorola 68020, NS32016, or VAX have variable-length instructions with "operand descriptors": After loading and decoding the first instruction word containing the opcode, the CPU may need to fetch and decode several more words of the instruction to know how to supply the operands. So a single opcode may need several microcode branches to resolve all the operand possibilities. For example, a 68020 instruction can have multiple operands, each of which employs a series of operand descriptors, with memory addresses calculated from pointers which are themselves loaded from memory. 68k instructions can be as short as 16 bits or as long as 176 bits.

VAX is more complex, with many 4- and 6-operand instructions and very complicated addressing modes. It is "orthogonal", which means that every operand can use any address mode, including the deferred addressing modes that indirect through memory. The longest VAX instruction is 448 bits long, except for a class of instructions like CASEW that are actually of unlimited length (limited by the machine's 4GB address space). Just the ADD opcode has over 30,000 addressing mode combinations.

A closer comparison could be made between a lisp machine like the 3600 and the PDP-10. They both have fixed-length instruction encodings with very few addressing modes. Both are word-addressed, with all operations done on 36-bit words. Both have at most one operand in memory, like many RISC machines. But both also have the property that an operand loaded from main memory may immediately redirect to somewhere else in memory, or not: invisible forwarding pointers. The PDP-10 has been called the "first lisp machine" because of this property and some properties of its operating systems.

Overall, I think that the instruction sets of lisp machines are not Complex, they are just unfamiliar. They have a lot in common with old Burroughs mainframes like the B5000: most operations take place on a stack, the top of which the CPU keeps in registers for fast access. They also are object-oriented: compiled code basically never addresses memory directly, instead relying on the CPU to supply subsidiary objects to it. So it has instructions that look like Lisp functions: CDR, RPLACA, AREF. The benefit of that is that even if the code has bugs (it always does), it is impossible for it to reach or modify objects inaccessible to it through the supplied primitives. For example, array access is always bounds-checked, and the size of the datum returned is under the control of the array, not the compiled function. So no matter what, when we access an array we can only get out of it the elements that are its proper members.

btw, just finished watch the video on Kalman Reti's talk at Boston last year? wow!!! watching the demo using VLM, i cannot believe what i saw! all those cool features already done on an 80's machine? my God.. and i think even some of those features are not available on todays OS right? why so? is it because of the C language barrier? or are just developers lazy to implement such cool feature? esp this one: you can change the code even the program is running, then just recompile it, tada!! how i wish Lisp machine will return and taking advantage on todays hardware techs..


You're right again, the real valuable stuff is/was the software environment and what it made possible. One of the reasons Symbolics went bankrupt [is that they made bad real estate investments before the Black Monday in 1987...] is that too much resources were put into special hardware products, that didn't have the economies of scale of their competitors. The VLM shows that the system could have run on "commodity hardware" (is AXP really a commodity? I don't know) using a virtual machine layer. VLM was faster than all Symbolics hardware even run on slow 200 MHz Alphas.

Today's Common Lisp environments do have debugging and recompiling during runtime, but some advanced Genera features (like its transparent file access, editor, and error recovery) are hard to reimplement in a way that is compatible with the underlying operating systems.
:PI: :O2: :Indigo2IMP: :Indigo2IMP:

User avatar
geo
Posts: 527
Joined: Tue Jul 21, 2009 5:07 am
Location: Nagano-ken, Shiojiri-shi, Japan

Re: Lisp Machine

Unread postby geo » Mon Mar 25, 2013 2:56 am

hi robes! wow! all you said here are true coz these days im digging about Lispm and all very educational, even now i can imagine how difficult to desing CPU architectures hehe really had fun reading.. esp the history? About the two group at MIT AI lab and RMS at the middle? hehe really interesting people too.. anyway thanks again for confirming all this info, ill just keep reading and keep dreaming for a Lispm revival hehe hunting for a good FPGA for starter now..

geo wrote:Black Monday in 1987...]
hehe reminds me of a nice VMS joke.. the point to the joke was the reason why that black monday happend was because they use IBM instead of the VMS :)
:Octane: (Sakura) :O2: (Sasuke) :1600SW: (Naruto) ... lil Jesse! (O2 laptop)
“Imagination is more important than knowledge.“ – A. Einstein

User avatar
smj
Donor
Donor
Posts: 1666
Joined: Mon Nov 12, 2007 7:54 pm
Location: Berkeley, CA, USA, NA, Earth, Sol
Contact:

Re: Lisp Machine

Unread postby smj » Mon Mar 25, 2013 12:27 pm

geo wrote:
geo wrote:Black Monday in 1987...]
hehe reminds me of a nice VMS joke.. the point to the joke was the reason why that black monday happend was because they use IBM instead of the VMS :)

If you have time to kill, I immediately remembered this old chestnut: VAXen, my children, just don't belong some places

"... they have several large herds of VAXen..."
"He had a young apprentice gnome who was about 65."
"``Great, now we can have 24 hour video tapes of the operators eating Chinese takeout on the CPU.''"
Then? :IRIS3130: ... Now? :O3x02L: :A3504L:- :A3502L: :1600SW:+MLA :Fuel: :Octane2: :Octane: :Indigo2IMP: :Indy: ... Other: DEC :BA213: :BA123: Sun, DG AViiON, NeXT :Cube:

User avatar
geo
Posts: 527
Joined: Tue Jul 21, 2009 5:07 am
Location: Nagano-ken, Shiojiri-shi, Japan

Re: Lisp Machine

Unread postby geo » Mon Mar 25, 2013 10:34 pm

smj wrote:If you have time to kill, I immediately remembered this old chestnut: VAXen, my children, just don't belong some places

"... they have several large herds of VAXen..."
"He had a young apprentice gnome who was about 65."
"``Great, now we can have 24 hour video tapes of the operators eating Chinese takeout on the CPU.''"

hahaha yes2!! its this one hehe thanks for finidng this back smj, really funny story :)
:Octane: (Sakura) :O2: (Sasuke) :1600SW: (Naruto) ... lil Jesse! (O2 laptop)
“Imagination is more important than knowledge.“ – A. Einstein

robespierre
Posts: 1579
Joined: Mon Sep 12, 2011 2:28 pm
Location: Boston

Re: Lisp Machine

Unread postby robespierre » Sat Nov 21, 2015 12:37 am

By coincidence, this thread came up during a search for 'PDP', and there happens to be a Symbolics XL1201 with NBS Console, keyboard, and mouse on eBay now:
http://www.ebay.com/itm/221939687439

This seller has an "optimistic" price target. He or she thinks a Symbolics keyboard by itself is worth $1800 and an ancient mouse from 1980, $1200. As I wrote in an earlier post, the last XL1201 sold for $500 with an included Sun deskside and UX400.
Attachments
s-l1600.jpg
XL1201 with NBS
:PI: :O2: :Indigo2IMP: :Indigo2IMP:


Return to “Miscellaneous Operating Systems/Hardware”

Who is online

Users browsing this forum: No registered users and 2 guests