Squeak History / Tiny Machines

Alan Kay Alan.Kay at squeakland.org
Tue Mar 18 19:27:17 UTC 2003


The Xerox PARC various architectures were all emulation architectures 
and employed microcoding for the lowest levels of VM for the various 
languages that were run on them. These typically ran at about 5 times 
the speed of the main memory and isolated the fetches of the 
microcode from the main memory fetches. This allowed all important 
inner loops to run at the speed they would have run if they were hard 
coded into logic. In addition, there were various hooks in different 
machines to deal with bytecode dispatch, "zero overhead multitasking" 
at the lowest level of the machine (e.g. the Alto had 16 program 
counters and parallel lookaside logic to decide which one would 
deliver the next instruction on the next cycle), etc.  It had a 
display list even though it was a bitmap machine. This allowed for 
zero overhead double buffering and other ways to manage the display. 
The Notetaker was a multiple processor machine with a very nice 
arbitration bus that allowed display and IO processors to dovetail 
with the language processor, etc.

The main idea here is that in the end the programmers want to program 
in a very high level language, and the machine should be as 
configurable as possible towards helping the best conceived 
environment run as fast as possible. A secondary idea is that it is 
hard to design when you have your optimization hat on, and thus, if 
you want to make progress with interactive language design, you want 
to be able to start using your latest and greatest ideas with as 
little special optimization as possible.

These are *not* goals that Intel and Motorola understood, anymore 
than they understood anything important about SW in general. The 
current caching schemes are rudimentary to say the least. The more 
interesting architectures today are the graphics accellerators -- 
they don't do anything particularly new, but they at least have some 
notion of what they are supposed to do (and also what they don't have 
to do when Moore's Law makes it easy to have multiple processors).

Cheers,

Alan

-------





At 1:30 PM -0500 3/18/03, Jarvis, Robert P. (Contingent) wrote:
>  > From: Alan Kay [mailto:Alan.Kay at squeakland.org]
>>
>>  The choices Apple and other companies made as to
>>  what kinds of CPU resources they should try to use have crippled the
>>  industry (and was one of the main reasons why Smalltalk wasn't a
>>  factor in the early 80s when people's opinions and habits about
>>  programming were forming.
>
>Could you please elaborate on this a bit?  Thank you.
>
>Bob Jarvis
>Compuware @ Timken
>
>
>**********************************************************************
>This message and any attachments are intended for the
>individual or entity named above. If you are not the intended
>recipient, please do not forward, copy, print, use or disclose this
>communication to others; also please notify the sender by
>replying to this message, and then delete it from your system.
>
>The Timken Company
>**********************************************************************


-- 



More information about the Squeak-dev mailing list