|
Message
From: markus at reaaliaika.net<markus@r...>
Date: Tue Aug 17 08:47:16 CEST 2004
Subject: [oc] Parallel Array Processor Project
Joachim: > (Going extremely off charter for the list here... ;-)
Well, it's just fun sometimes ;-) But I have not any additions to the "Matrioshka Brains" - it's simply the computer I would like to have at my desk.
---
Me: "But a simple processor core should be able to be clocked with higher frequency than a 40-stage pipelined P4. And, if the cell data width is kept in 8-bits, it should be faster than it's 32/64-bit cousins."
I of course meant, that the clock frequency of 8-bit processor should be higher than it's 32/64-bit counterparts (because of shorter propagation paths inside the processor). With the same frequency, wider processors are usually faster.
--- <somewhat offtopic> Nico: "I have heard about C + extention to use the paradigm of uniform memory adressing."
Have anyone programmed DSPs with C (or other higher level language)? In my other project, a DSP-based guitar effect box, I'm programming Motorola DSP56303. It's very hard to try to express variable allocation from different kinds of memories (internal/external, X/Y/P/L) and it's very hard to write a good C compiler for these. And trying to write an OS: very unpleasant job, indeed.
That's why I changed back to the assembler in that project... :-)
--- PicoBlaze/KCPSM: I've read the article sent by Joachim. Yes, I've thinking of constructing the array from the processors something like these.
There were one idea I haven't even think about - constructing a stack- based PSM. The author has rejected this because it's not very straightforward to program, but that doesn't matter in this project.
The compiler could be easily modified to output reverse polish program for the cell. In fact, it's easier to do this than make the compiler to output programs for register-based PSMs.
I have tried to say in my web pages, that the compiler can be programmed to output almost any kind of code for cells - the cell can have a fixed instruction set or it can be microprogrammamble (i.e. compiler outputs code to directly access the internal muxes). Not all instructions need to be hard-coded for the cell; microprogrammable cell can be programmed to perform more complex operations, like multiplication.
The compiler can utilize the cells even more - it can collect parts of the software (for example, short equations, iterative loops) and convert those to be executed in one cell.
The stack-based PSM would have a very dense instruction set and it would be versatile with small efforts. Certainly I have think about this more closely.
|
 |