Re: [fonc] Alto-2?

2011-05-28 Thread Dan McCabe

Related to Arduino is the Papilo One FPGA board:
http://gadgetfactory.net/
Not a compatible form factor (pin-outs don't accept Arduino shields 
AFAICT), but low cost and might be a good starting point.


cheers, danm

On 5/25/11 6:18 PM, K. K. Subramaniam wrote:

On Thursday 26 May 2011 3:14:48 AM Casey Ransberger wrote:

I miss taking apart computers. It's wonderful that they've gotten so small,
but it comes at a price, I think. No one's really figured out a way to
make something that small which leaves room for serviceability. When I was
a kid, I learned so much with the case open.

Have you looked at Arduino boards? It is a fully-open system that can be
configured into many form factors and puts the fun back into programming.

Subbu

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc



___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Alto-2?

2011-05-26 Thread Alan Kay
The main features of the Alto were a terrific combination of speed, parsimony, 
and architecture.
-- Speed came from bipolar transistors. It had a 150ns microinstruction time.
-- Parsimony allowed these to be economic enough for a 1972 personal 
computer/workstation (we eventually built almost 2000 of these). 

-- Architecture allowed it to be very flexible without sacrificing speed. To 
just mention one great idea: it had 16 zero-overhead program counters and 
separate logic to decide which one would be used for the next microinstruction 
-- this allowed bottom level virtual multicore multitasking for system 
functions (running the display, disk, handling I/O, painting the screen, 
emulating VHLLs, etc. (The Lincoln Labs TX-2 on which Sketchpad was done, also 
had multiple program counters, etc.)

So an Alto-2 exercise should try to think through the issues of speed, 
parsimony 
and architecture in today's world of possibilities!

Cheers,

Alan





From: Jecel Assumpcao Jr. je...@merlintec.com
To: Fundamentals of New Computing fonc@vpri.org
Sent: Wed, May 25, 2011 6:57:51 PM
Subject: Re: [fonc] Alto-2?

Ian Piumarta wrote on Wed, 25 May 2011 21:20:24 -0400
 Dear Casey,
 
  a) I want to play with software
  b) I want to play with FPGAs
 
 You could start with Thacker's 'Tiny Computer' (described from p.123 onwards
 in http://piumarta.com/pov/points-of-view.pdf) and add/fix whatever you think 
is
 missing/broken.

Great advice, see also

http://projects.csail.mit.edu/beehive/

You might consider starting out with a simulator before moving on to
FPGAs. See the example microprocessor in

http://www.tkgate.org/

This tool is a lot of fun.

Unfortunately, I'll only be able to post a proper reply on Friday (and
can make comments on SiliconSqueak then).

-- Jecel


___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Alto-2?

2011-05-26 Thread Merik Voswinkel
A couple of years ago we started this project called Squeak, which is  
simply not an attempt to give the world a free Smalltalk, but an  
attempt to give the world a bootstrapping mechanism for something much  
better than Smalltalk, and when you fool around with Squeak, please,  
please, think of it from that standpoint. Think of how you can  
obsolete the damn thing by using its own mechanisms for getting the  
next version of itself. - Alan Kay, The Computer Revolution Hasn't  
Happened Yet, October 7, 1997, OOPSLA'97 Keynote.



On May 26, 2011, at 1:57 AM, Max OrHai wrote:

Have you looked at Jecel Assumpcao's SiliconSqueak? An awful lot can  
be done on the cheap with modern FPGAs, so long as you don't stray  
too far from the conventional CPU design space...


On May 26, 2011, at 2:46 AM, Casey Ransberger wrote:

Thanks for recommending Silicon Squeak. Jecel's project is so  
awesome! And while I totally can't wait to have one:) I think what I  
can do this year will likely be limited to integrating off the shelf  
parts. That said, I'm hoping I can create something interesting even  
with those constraints. I've bounced email back and forth with  
Jecel, and I really like his point of view:)



Allow me to describe a few key features of our SiliconSqueak research  
here, as most papers have not been published yet.


SiliconSqueak, like the Xerox Alto, is a microcode processor. It has  
many 32 bit cores, each with a stack and data cache, a minimal 5 stage  
instruction pipeline and ring networks. In the microcode we implement  
the Squeak bytecodes so the processor can behave like the software  
Squeak Virtual Machine running standard Squeak images bit-identical.  
Because we optimized the design for Squeak bytecodes, message sends  
are particularly efficient. The use of microcode allows many other  
bytecode or virtual machine systems to be implemented easily,  
including Lisp, Python, Frank (as a target assembly/bytecode or even  
the stack oriented abstract machine itself). The Worlds mechanism  
could also be implemented in microcode to achieve a significant speedup.
Although you can emulate almost any system in microcode (as it is  
turing-complete), the further you go from the Squeak bytecode model,  
the less efficient it might get. I guess a  C compiler targeting the  
microcode could be more than 4 times slower than on a processor  
optimized to run C.


A typical SiliconSqueak FPGA or ASIC has a number of cores connected  
with multiple ring networks to other cores, memory and high speeds  
links, ranging from 4 x 3,1 Gbps to 88 x 28 Gbps. I think of it as a  
roomful of Alto's on a chip. Sending a message to an object (in Squeak  
implemented with bytecodes) can be handled in many different ways by  
the microcode and underlying hardware ring network. A message send can  
be sent to any object anywhere. It can be in the cache, in the local  
object heap, in another core or in cores reachable through the  
external links to neighboring  SiliconSqueak units and routed by the  
hardware until it reaches the location of the object. If the object is  
external to interconnected the clusters of SiliconSqueaks forming a  
supercomputer, it can also be handed off to Smalltalk code running in  
the image, that can then send it as IP packets over the internet to a  
remote Squeak image (that itself may be running on a manycore  
SiliconSqueak or software implemented Squeak VM).
A single Squeak image can at runtime distribute its objects among the  
memories of all cores of all SiliconSqueak processors. A message sends  
to an remote object would run code on the remote core, achieving  
parallelism that can be transparent to the Squeak programmer. However,  
it can also be utilized for explicit forms of parallelism. By  
extending the functionality of the message send behavior different  
(parallel) programming models can be accommodated (for example future  
sends as in Actors).
Other auto-tuning algorithms can (transparently) redistribute objects  
among the cores to implement other ways to exploit fine  or course  
grained parallelism. It is also an option to have multiple images  
running on the system, some on a single core, some using multiple  
cores. Intercommunicating with external Squeak images on VMs on Unix  
or other operating systems will appear from the programmers point of  
view as transparent as among SiliconSqueak cores.


SiliconSqueak is a power efficient, parallel, reconfigurable  
architecture optimized for adaptive compilation. The system includes a  
mix of basic and extended processors, where these extensions are  
configurable accelerators like the 64 ALU matrix. Other accelerators  
like a vector processor, a graphics processor, a MPEG encode/decoder,  
an encrypt/decrypt processor or an FPU can be implemented as hardware.  
These accelerators can also be implemented in microcode with the 64  
ALU matrix. As these accelerators communicate through the ring  
network, 

[fonc] Alto-2?

2011-05-25 Thread Casey Ransberger

Hello all,

I've found myself with the first sizable chunk of free time I've had in years. 
I've been having so much fun! But I must admit, after a bunch of 
hustle-your-butt software work, the software part isn't completely satisfying 
me. 

I miss taking apart computers. It's wonderful that they've gotten so small, but 
it comes at a price, I think. No one's really figured out a way to make 
something that small which leaves room for serviceability. When I was a kid, I 
learned _so much_ with the case open.

Somewhere I read about an XO installation where they found a little girl who'd 
set up an assembly line and was doing her own repairs on other kids laptops. No 
one asked her to, she just decided to do it. It really warmed my heart:) and I 
couldn't help feeling some nostalgia, because I was *totally* that kid.

And when you add free time to life long love, well, hah! I'm gonna build a 
computer this year. I was thinking it would be fun to throw out the Intel 
architecture and look at alternatives. I know nothing of silicon, not really, 
and so I'm liable to grab parts off of the shelf, though that visual-6502 
simulator I found on the web has me tempted all the same.

For a CPU, I thought it might be interesting, and temporarily future-proof, to 
go with something ARM. I know people have had the Squeak VM running on ARM 
chips, which is sort of my only req'ment anymore, outside of the web browser 
which lets me live in the modern world. But then I stopped. 

What about Frank?

I have a feeling Frank should work anywhere, but since I've only seen things 
Ian is doing, I thought I'd stop to ask. If I wanted to be able to run VPRI's 
bits (if and) when they become generally available, is there a particular chip 
architecture I should go with?

Okay that's the first question. The other question is, was there anything in 
particular about the Alto that folks on this list miss? Would the Alto make an 
interesting case study for me to explore, or have modern computers imitated it 
to the point where it isn't the thing to examine? I'm picking my way through 
the wikipedia article, but it occurs to me that not having used the thing, it 
might be hard for the details on the wiki to jump out at me in any sort of 
aha moment. 

Not sure that the tech is at the point where I can hope to construct something 
Dynabook-shaped, but I know that I can make one improvement to the interim 
desktop design just by using a flat panel that will swivel into a portrait 
orientation:)
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Alto-2?

2011-05-25 Thread Max OrHai
This sounds like a really cool project, and I hope you report to the list as
you make progress. Have you looked at Jecel Assumpcao's SiliconSqueak? An
awful lot can be done on the cheap with modern FPGAs, so long as you don't
stray *too* far from the conventional CPU design space... (For an example of
what I mean by too far, check out http://cellmatrix.com or
http://greenarraychips.com). I really wish more people designed
*whole* systems,
both hardware and software, these days.

-- Max

On Wed, May 25, 2011 at 2:44 PM, Casey Ransberger
casey.obrie...@gmail.comwrote:


 Hello all,

 I've found myself with the first sizable chunk of free time I've had in
 years. I've been having so much fun! But I must admit, after a bunch of
 hustle-your-butt software work, the software part isn't completely
 satisfying me.

 I miss taking apart computers. It's wonderful that they've gotten so small,
 but it comes at a price, I think. No one's really figured out a way to make
 something that small which leaves room for serviceability. When I was a kid,
 I learned _so much_ with the case open.

 Somewhere I read about an XO installation where they found a little girl
 who'd set up an assembly line and was doing her own repairs on other kids
 laptops. No one asked her to, she just decided to do it. It really warmed my
 heart:) and I couldn't help feeling some nostalgia, because I was *totally*
 that kid.

 And when you add free time to life long love, well, hah! I'm gonna build a
 computer this year. I was thinking it would be fun to throw out the Intel
 architecture and look at alternatives. I know nothing of silicon, not
 really, and so I'm liable to grab parts off of the shelf, though that
 visual-6502 simulator I found on the web has me tempted all the same.

 For a CPU, I thought it might be interesting, and temporarily future-proof,
 to go with something ARM. I know people have had the Squeak VM running on
 ARM chips, which is sort of my only req'ment anymore, outside of the web
 browser which lets me live in the modern world. But then I stopped.

 What about Frank?

 I have a feeling Frank should work anywhere, but since I've only seen
 things Ian is doing, I thought I'd stop to ask. If I wanted to be able to
 run VPRI's bits (if and) when they become generally available, is there a
 particular chip architecture I should go with?

 Okay that's the first question. The other question is, was there anything
 in particular about the Alto that folks on this list miss? Would the Alto
 make an interesting case study for me to explore, or have modern computers
 imitated it to the point where it isn't the thing to examine? I'm picking my
 way through the wikipedia article, but it occurs to me that not having used
 the thing, it might be hard for the details on the wiki to jump out at me in
 any sort of aha moment.

 Not sure that the tech is at the point where I can hope to construct
 something Dynabook-shaped, but I know that I can make one improvement to the
 interim desktop design just by using a flat panel that will swivel into a
 portrait orientation:)
 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Alto-2?

2011-05-25 Thread Casey Ransberger
Totally. People who are really serious about software should make their own 
hardware. 

That quote's been stuck in my head ever since I saw Jobs doing the commencement 
speech at Stanford on YouTube. 

I've been wanting to build a computer again more and more ever since my usual 
vendor started using proprietary screws to keep me out of my laptop (it 
works... I don't really feel like reinventing the screwdriver head...)

Like I said, I don't believe that I have the requisite knowledge to do silicon 
design myself, even if it has gotten cheap enough. If it makes you feel better, 
though, I do believe that an interim of the early 21st century ought to be as 
self-describing and self-implementing as possible, so I'm currently thinking 
about making two models. 

a) I want to play with software
b) I want to play with FPGAs

I've also thought about actually shipping something where the *only* option was 
to go with one of those FPGA development boards, and I haven't investigated the 
ramifications of going that route, but if I had to guess, I bet those boards 
cost more than the deployment boards, and I'm not sure what the difference is 
performance-wise.

Thanks for recommending Silicon Squeak. Jecel's project is so awesome! And 
while I totally can't wait to have one:) I think what I can do this year will 
likely be limited to integrating off the shelf parts. That said, I'm hoping I 
can create something interesting even with those constraints. I've bounced 
email back and forth with Jecel, and I really like his point of view:) 

On May 25, 2011, at 4:57 PM, Max OrHai max.or...@gmail.com wrote:

 This sounds like a really cool project, and I hope you report to the list as 
 you make progress. Have you looked at Jecel Assumpcao's SiliconSqueak? An 
 awful lot can be done on the cheap with modern FPGAs, so long as you don't 
 stray too far from the conventional CPU design space... (For an example of 
 what I mean by too far, check out http://cellmatrix.com or 
 http://greenarraychips.com). I really wish more people designed whole 
 systems, both hardware and software, these days.
 
 -- Max
 
 On Wed, May 25, 2011 at 2:44 PM, Casey Ransberger casey.obrie...@gmail.com 
 wrote:
 
 Hello all,
 
 I've found myself with the first sizable chunk of free time I've had in 
 years. I've been having so much fun! But I must admit, after a bunch of 
 hustle-your-butt software work, the software part isn't completely satisfying 
 me.
 
 I miss taking apart computers. It's wonderful that they've gotten so small, 
 but it comes at a price, I think. No one's really figured out a way to make 
 something that small which leaves room for serviceability. When I was a kid, 
 I learned _so much_ with the case open.
 
 Somewhere I read about an XO installation where they found a little girl 
 who'd set up an assembly line and was doing her own repairs on other kids 
 laptops. No one asked her to, she just decided to do it. It really warmed my 
 heart:) and I couldn't help feeling some nostalgia, because I was *totally* 
 that kid.
 
 And when you add free time to life long love, well, hah! I'm gonna build a 
 computer this year. I was thinking it would be fun to throw out the Intel 
 architecture and look at alternatives. I know nothing of silicon, not really, 
 and so I'm liable to grab parts off of the shelf, though that visual-6502 
 simulator I found on the web has me tempted all the same.
 
 For a CPU, I thought it might be interesting, and temporarily future-proof, 
 to go with something ARM. I know people have had the Squeak VM running on ARM 
 chips, which is sort of my only req'ment anymore, outside of the web browser 
 which lets me live in the modern world. But then I stopped.
 
 What about Frank?
 
 I have a feeling Frank should work anywhere, but since I've only seen things 
 Ian is doing, I thought I'd stop to ask. If I wanted to be able to run VPRI's 
 bits (if and) when they become generally available, is there a particular 
 chip architecture I should go with?
 
 Okay that's the first question. The other question is, was there anything in 
 particular about the Alto that folks on this list miss? Would the Alto make 
 an interesting case study for me to explore, or have modern computers 
 imitated it to the point where it isn't the thing to examine? I'm picking my 
 way through the wikipedia article, but it occurs to me that not having used 
 the thing, it might be hard for the details on the wiki to jump out at me in 
 any sort of aha moment.
 
 Not sure that the tech is at the point where I can hope to construct 
 something Dynabook-shaped, but I know that I can make one improvement to the 
 interim desktop design just by using a flat panel that will swivel into a 
 portrait orientation:)
 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc
 
 ___
 fonc mailing list
 fonc@vpri.org
 

Re: [fonc] Alto-2?

2011-05-25 Thread K. K. Subramaniam
On Thursday 26 May 2011 3:14:48 AM Casey Ransberger wrote:
 I miss taking apart computers. It's wonderful that they've gotten so small,
 but it comes at a price, I think. No one's really figured out a way to
 make something that small which leaves room for serviceability. When I was
 a kid, I learned so much with the case open.
Have you looked at Arduino boards? It is a fully-open system that can be 
configured into many form factors and puts the fun back into programming.

Subbu

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Alto-2?

2011-05-25 Thread Ian Piumarta
Dear Casey,

 a) I want to play with software
 b) I want to play with FPGAs

You could start with Thacker's 'Tiny Computer' (described from p.123 onwards in 
http://piumarta.com/pov/points-of-view.pdf) and add/fix whatever you think is 
missing/broken.

Regards,
Ian


___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Alto-2?

2011-05-25 Thread Toby Watson
Perhaps you could do a core in an FPGA and grab whatever else you
want: dram controllers, usb IO, video from here: www.opencores.org?
The Alto would have done a lot of that in microcode ;-) Hmm, kinda
similar to the 8-core Parallax Propellor in that regard.

I've been digging around the silicon structures project, Mead, Conway
and many others at Parc. Here's a scheme-79 chip that was run on one
of the first multi-project wafers.
http://dspace.mit.edu/bitstream/handle/1721.1/6334/AIM-559.pdf?sequence=2

As that awesome article Ian referenced shows the Spartan-3 has
logic/memory many times faster and larger than the Alto.

By the way, a friend of mine bought one of these recently:
http://www.silica.com/products/highlight/product/xilinx-spartan-6-lx9-microboard.html

Xess stuff has keyboard mouse vga interface ports. Guess it depends
where you wanna spend time hacking
http://www.xess.com/prods/prod035.php

I'm sure there are many more...

Toby

On 25 May 2011 18:20, Ian Piumarta piuma...@speakeasy.net wrote:
 Dear Casey,

 a) I want to play with software
 b) I want to play with FPGAs

 You could start with Thacker's 'Tiny Computer' (described from p.123 onwards 
 in http://piumarta.com/pov/points-of-view.pdf) and add/fix whatever you think 
 is missing/broken.

 Regards,
 Ian


 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc


___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Alto-2?

2011-05-25 Thread Jecel Assumpcao Jr.
Ian Piumarta wrote on Wed, 25 May 2011 21:20:24 -0400
 Dear Casey,
 
  a) I want to play with software
  b) I want to play with FPGAs
 
 You could start with Thacker's 'Tiny Computer' (described from p.123 onwards
 in http://piumarta.com/pov/points-of-view.pdf) and add/fix whatever you think 
 is
 missing/broken.

Great advice, see also

http://projects.csail.mit.edu/beehive/

You might consider starting out with a simulator before moving on to
FPGAs. See the example microprocessor in

http://www.tkgate.org/

This tool is a lot of fun.

Unfortunately, I'll only be able to post a proper reply on Friday (and
can make comments on SiliconSqueak then).

-- Jecel


___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc