Somewhat of a tangent - since Alan mentioned the Alto architecture. Chuck Thacker is working on a few interesting HW prototyping platforms at MS research.
The FPGA prototype system: http://research.microsoft.com/en-us/news/features/bee3.aspx More interestingly, though, is beehive: http://projects.csail.mit.edu/beehive/Beehive-2010-01-MIT.pdf shawn On Jan 3, 2011, at 2:16 PM, Jecel Assumpcao Jr. wrote: > I am *very* interested in this subject - not only do I hope that the > Squeak computer I am building will be itself an educational object, but > I am also helping two related projects. I'll briefly describe those two > projects before making comments on the "Nand to Tetris" course, but I > should mention that both of these take the "students should learn the > way I learned" approach with which I don't agree with at all. And it > isn't easy to help while letting them explore on their own. Watching > them happily test several little programs without pointing out that none > of their examples use indexed addressing and that they will need it a > lot later on is not easy for me. > > Etienne Delacroix might be known to some in this list, but probably not > to most. An artist and a physicist, he is now back in his native Belgium > but spent most of the past decade roaming Brazil, Uruguay and other > countries in the region. He gave workshops to both university students > and to children where he used electronic components salvaged from old > computers to create interesting art. They would learn what transistors > are, how to use TTLs chips and then would mix Javascript software and > such to get their results. Etienne's own projects often included a Z80 > processor. > > Lately he became interested in opening up the black box that is the Z80 > or Pentium II and studied several online texts to see how to build a > processor out of TTLs. He was not interested in simulators or FPGA > implementations but wants something that he, and his students, can > touch. I helped him play around with such radical stuff as the > Subtract-And-Branch-If-Negative processor (around 12 TTLs) and he was > able to simulate several versions of his e-cpu, which currently only has > an 8 bit address. Together we evaluated some 16 to 20 educational > processors (including "Hack" of the "Elements" course). If there is > interest I could compile a list of links to the ones that are available > online. > > The other project is a book that two professors at my university want to > write. They teach introduction to digital logic and at the end of the > course the students have traditionally built a multiplication circuit > with an adder and control logic, but recently they have been doing > simple processors. Their idea is that the book (to be in Portuguese, > which will seriously limit their audience) would be roughly the course > they have been giving followed by a course on compiler writting with a C > compiler for their processor. Their processor is a simple 16 bit RISC > with instructions for reading from the keyboard and writing to the > screen (with redefinable characters - the students have done several > classic video games with this) implemented in entry level FPGAs > development boards. They are considering adopting this board for their > text: http://www.altera.com/b/nios-bemicro-evaluation-kit.html > > This option doesn't have the video output like their older boards. The > student doing the compiler has not yet taken any courses on compilers, > which I see as a major problem and they see as an advantage. Their idea, > like Etienne, is that someone who is also learning is in a far better > position to teach than some expert who doesn't remember what it was like > not to know stuff. I also advised them that they should have some > interpreted environement running on their machine, not just > cross-compiled C. Even TinyBasic would do. Otherwise their > readers/students will have an initial experience in computing more > typical of the 1960s than the late 1970s/early 1980s. > > Given this context, I found the material in "The Elements of Computing > Systems" very interesting. I got a little worried when I saw that the > authors seemed confused about what "von Neumann" and "Harvard" > architectures mean, but the rest of their stuff is great. The use of > simulators instead of actual hardware lowers the cost for their > audience, but I do feel that there is some educational value in actually > being able to touch something you built. The exagerated simplicity of > Hack reduces the time spent designing the hardware but makes programming > it much more complicated (and not at all typical of assembly languages > people actually program in). But the idea is to develop only a single > program for Hack: a much nicer virtual machine. So it might be best to > think of Hack assembly as microcode. > > One thing that is very hard to balance in an educational object is the > "low floor, high ceiling" thing. You have to make it simple enough to be > learned in a short time, but powerful enough to be useful in real life. > The "Elements" objects focus on the floor, so as soon as students have > learned their lesson the objects are thrown away never to be seen again. > Since they are just simulations anyway, they could hardly have any > practical value after the course so this seems like a good decision. If > I had to choose between teaching someone Logo to only later have them > replace it with something else or starting with something like C++ or > Java that they might use for years and years, I would go with the Logo > approach every time. But I would find it sad to see it thrown away. > While Basic is itself limited, for Logo the problem is more the > implementations than the language. > > Etienne's solution will lead to a throw-away TTL processor. Once you > have understood what it does, you will want a Z80 instead for your next > project. The design of the two professors is a bit limited, but there is > no reason why it couldn't be used instead of Nios II or Microblaze even > in commercial projects. Chuck Thacker's series of TinyComputer > processors also have an extremely high ceiling. One detail I mentioned > to the professors is that if they take VHDL or Verilog as their starting > point (as Chuck does and they are currently doing) then they will be > left with a huge black box. The "start with just NAND" solution that > "Elements" and Etienne took will result in a much deeper understanding. > They don't have to be mutually exclusive - it is probably good to have > the students design the same processor both ways. > > The result of STEPS will be something both learnable and usable - you > won't want to throw it away to go back to your Windows/Linux/Mac PC > instead. I see that as the major difference compared to "Elements" and > the two projects I described. > > -- Jecel > > > _______________________________________________ > fonc mailing list > [email protected] > http://vpri.org/mailman/listinfo/fonc
_______________________________________________ fonc mailing list [email protected] http://vpri.org/mailman/listinfo/fonc
