Some words from Hishnik (hishnik means 'predator')
It is a good time to combine two important things: trying to write English and discuss SEAForth project
Indeed, SEAForth is a very complex object to analyze and discuss, so I want to just start discussion, not to tell about any aspect of this system. Also, if this (English-language) branch of our forum will not continued by somebody English-speaking, I’ll return to my native…
I don’t know how to start. There are at least two independent, huge aspects of discussion: commercial and electronic/Forth programming. I have a serious, deep question about all of them.
Ok, let’s start from economics. The area of processor designing is running forward year to year. It is not only ‘more designs every year’, it is ‘simple to enter to design, harder to enter to production’. As a result, it is very, very simple to create any kind of processor core, but harder and harder to find, where customers for this production are. The situation is similar to programming – is anyone will be impressed by program? I mean ‘just program’, not ‘good program’. Programmers are not only elite of high-tech, even school-boy may create the Windows application. You can say ‘but chip-design is very different’… but it is wrong. With PLD you can construct every realistic digital device when download it into real programmable chip. More important, hardware description languages is quite similar to generic programming languages, so individual, who familiar with programming, have a good chances to become a chip-designer.
What is all above means? Answer is simple – having a rich set of processors around, we’ll waiting for
good new one. Not ‘new forth-processor’, but ‘new
good forth-processor’. There is another point to discuss: with smaller circuit line width we need more and more volumes to make new chip profitable. So, we must look on applicability, compatibility, price etc., but only on preferred architecture and brand (if we count ‘Forth’ as a brand). Looking for history of TF16 (Russian FPGA-based Forth-CPU, now implemented in silicon), I was surprised by whole politics of developer team. Instead of constantly searching of application areas, a ‘Forth-CPU’ was just kicked out into small group of enthusiasts. Of course, they says ‘Great! A new Forth-CPU!’… and starts waiting for another good news.
Errr… and what about programs, compilers, shells… ordering? I don’t completely know, how it is about SEAForth, but feels situation is the same. It is more than year from first announcing this chip, but there are still one application and one simulator in the web. Also, I’ve seen the message to Forth-groups with invitation to start writing applications for new chip. I’m agreed, it is interesting solution, but why it was putting into hard silicon without serious prototyping and testing by many groups Forth-programmers? There is a ‘black hole’, when developers says ‘we have a great Forth-CPU (how are you about purchasing it)’, but forthers says ‘yes, it is a great Forth-CPU… let us read some new success stories, we love Forth and appreciate its spreading!”. I wonder for what part I’m right
I repeat, just putting new processor in silicon is not enough to make it popular.
Now let’s look to architecture and features. 24 cores, running at 1 GHz, is impressive. It is ’24 billions operations per second’. And more, it is ’24 billions Forth words per second’. Really impressive. Remember, x86 must spend 5-10 cycles per Forth word and runs at 3-4 GHz. This means, SEAForth outperforms the mainstream Intel solutions. Furthermore, Intel is lowering the clock speed of it’s new Core architecture, compared to Pentium4. It is strange, are you? Yes, Core Duo has two processor cores – it is a way to multicore solution (SEAForth is winner here). But Core also has powerful memory interface! Are you enjoyed by thing, performing 10E20 actions per second _inside_, but bringing 1000 bytes… for example, to display. Inside the chip we may have a beautiful photo-realistic 3D world, but how we can observe it? Let’s look into typical mainboard with Core2 Duo – two channels of high-speed DDR2 memory, high-speed serial interfaces, PCI Express bus, dedicated high-speed video memory… large (very large, when compared to 64 words per SEAForth core) cache memory. Is it enough? No, Intel continues to extend memory bandwidth. Summarize, SEAForth implements a quite strange concept – in general, programs will constantly freezes, and typical (not peak) performance will be determined by the external memory bandwidth. One or two memory interfaces is not enough.
All right, let’s try to find an area for successive application of SF (just look at my avatar – I’m smiling so wide… I’m an optimist!
). Is there any task, which not needed the huge off-chip traffic? Hopefully, yes! It is many kinds of DSP applications. They requiring relatively narrow bandwidth of input data, when transforms input stream into some useful things, when put them out, also using not very hungry hardware interfaces. We may have about 10 MSPS for input stream, but billions operations inside the chip. It is all we need! Unfortunately, many DSP algorithms needs about 2-4-8-16 kwords to implement (and it’s could be done at prototype testing stage!), so we must find something uncommon. That’s main problem for DSP. I’m see some words about h.264. Yes, its possible. If we’ll outperforms (or suggests a lower price) than tons of other decoder devices. Hmmm, my children loves cartoons from DVD/mp3/tape/FM/audio/video player… indeed I don’t know the entire list of supported medias and standards. It’s cost about 80 USD – including case, cables, other chips and components on the board (and board itself).
That else? FFT, wavelets, digital filtering, neural networks. All of them needs MAC devices and storages for coefficient tables. Please, increase memory sizes… Stop… not increase. Multiple it!!!
One thing is seemed to start feeling themselves good – genetic algorithms. Parallel calculations, small amount of memory – it is enough… as a starting point.
Ufff… I’m tired. My English is quite ugly, I’m using Russian grammar constantly… and I want a cup of tea!