Liam Proven wrote on Tue, 5 Mar 2013 00:16:44 +0000:
Well, and also because it's an ARM machine, and
ARM was an Acorn
project - those in Britain who know about this are very proud of it -
And so they should be, and they should be proud of the Inmos Transputer
too though that is no longer with us (except through its echo, the
Xmos).
and also because there is a strong, positive link in
the British
mindset between the BBC, the BBC Micro and education.
The Raspberry Pi people actually tried to make the same deal with the
BBC, but it was no longer possible because current laws don't allow that
kind of partnership anymore. But the project did get mentioned in a BBC
blog and that is how the world found out about it a bit too early.
The first prototype used two Atmel AVR8 processors instead of an ARM.
One generated video in software while the other ran the Python
interpreter (but for some reason they decided to call it "Pi" instead of
"Py"). The second prototype used a Broadcom chip which made it cheaper
and the Python interpreter much faster, but it was only the third
prototype that added the ARM and made it into a general purpose machine.
The current board design was changed twice after that, but the main chip
remained the same.
Since I design
computers for children using a Smalltalk microprocessor,
How fascinating! Do tell?
This is way off topic for this list unless you consider the Smalltalk
virtual machine to be a classic computer and what I am doing equivalent
to someone putting a PDP-11 in a FPGA. In some ways FPGAs are so
abstract that you might as well be doing just simulations, like in the
famous "From NAND to Tetris" course. By adding a few steps before you
get to the FPGA, however, it can be much more educational. Etienne
Delacroix (from Belgium, but he spent years in South America working
with children and university students) likes to start his "atelier labs"
by building simple gates from transistors and resistors, then more
interesting circuits with TTLs before repeating the projects with a Z80
and software.
He didn't like that the Z80 is a black box, and so wanted to build his
own processor from TTLs. He found a description from a one instruction
machine (substract and branch if negative) on the Internet and I
designed a board for him with 12 TTLs and did the macros in "as" so he
could put his simple Z80 programs on it. I don't feel the result is very
educational - the hardware is too simplistic and the complexity gets
hidden elsewhere (the macro expansions generate huge binaries).
An option is to have more layers, where the transition from one layer to
the next isn't too radical. From the top down, we have:
1) very high level programming for games and 3D shared virtual worlds:
Scratch, Etoys and OpenCobalt/OpenCroquet/OpenQwaq
http://scratch.mit.edu/
http://www.squeakland.org/
http://www.opencobalt.org/
2) Smalltalk text level
Squeak Smalltalk, Pharo, Self and other Smalltalks
www.squeak.org
http://www.pharo-project.org/home
http://selflanguage.org/
3) Smalltalk bytecode level
stack bytecodes, jump bytecodes, send bytecodes, special bytecodes
https://github.com/4ji/Smalltalk-Bluebook-chapter-26-30
4) microcode level
16 bit instruction set described in:
http://www.merlintec.com/download/jecelwplcr.pdf
5) cache level
most of the registers visible in level 4 don't really exist and are
instead mapped to the four caches
6) hardware level
logic gates
Some outdated information about the project can be found at:
http://www.siliconsqueak.org/
p.s.: this
email was written in Celeste, a Smalltalk application
:?D
I have a passing interest in Smalltalk. Interesting language, if a bit
weird. As it happens, my Ex is a Smalltalk developer and makes a lot
of money doing it.
That is great to hear (that someone is making use of the language).
This morning I was thinking that I was too subtle - to get my reference
you would have to know that some of the email applications on the Xerox
Alto were "Laurel", "Hardy" and "Babar" and that Babar and
Celeste were
characters (talking elephants) from a 1930s series of children's
stories.
-- Jecel