Re: Musings on SEAForth
"Jeff Fox" <[email protected]>
| Newsgroups | gmane.comp.lang.forth.colorforth |
|---|---|
| Message-ID | <[email protected]> |
> On 21/01/2008, Jeff Fox <[email protected]> wrote: > Which makes sense for that, sure, but why is SEAforth > based on the x18 core rather than the P21 core? P21 was finished in 94 and F21 in 98 with many improvements and in a smaller geometry. Both were layed out with okad. OKAD (1) used a graphic editor to do layout. The chip was described as an image. Colorforth was added as a scripting language on top of OK to write test scripts in okad. After iTV went away. Chuck got a new computer and felt inspired to start over and implement okad 2 in colorforth instead of the other way around. So he started by making a colorforth OS and development environment. Then he began to describe a chip in colorforth. The ideas were similar to what was done in ok but now in .18u instead of 1.2 or .8u the cad rules were different and the design needed improvements. OKAD 2 was a classic Chuck restart where he said that after doing it several times one way he now understood the problem better and was ready to try a better way to get to a better solution. That doesn't explain exactly why he choose 18 instead of 21/20. The fact that stacks were one bit wider than memory had some advantages and some disadvantages. Having an even number of bits does simplify things. >> I think part of it is that Chuck rebels against the 8-bitness >> you see in C. He says C has to carry that burden but he >> doesn't. > > Funnily enough, one of the key reasons for C's > existence in the first place was the fact that > the PDP-11 was byte-addressed. Otherwise, I'm sure B > would have sufficed... for example, if Bell Labs had > said to Ken Thompson "no, you > can't have a PDP-11, but we'll buy you a DG Nova"... Elizabeth Rather noted a while back that all the early Forth implementions were on word addressing machines and some did not use 8-bit characters. Chuck must have been happy with that. Every machine he has ever designed has been a word addressing machine. He said, "Forth is a word oriented langauge and we should recognize that fact and take advantage of it." It is not just word oriented at the semantic level but at the implementation level. While one of the first sentance in GCC is that hardware should have a word length that is a multiple of 8, 32 or above, and do byte addressing. It has a lot of ties to 8-bit ascii characters in files in many levels. >> Many computers have no internal memory at all. > > Actually, these days pretty much all computers come > with some internal memory. Pentium has none, cache yes, but you can't boot or run without external memory. > It's just not addressable as such, except in MCUs > (which don't tend to have external memory). Many microcontrollers have internal ROM or Flash and SRAM but also have an external memory bus for when you have programs or data that don't fit in internal memory. > Of course, even on modern x86 CPUs, 16-bit Forth > has an advantage - how many other environments can > run entirely within L1 cache...? Koopman's book says that stack machines will have about eight times less code than a CISC or RISC machine and that entire programs may be smaller than the amount of cache that is needed to get decent performance on a RISC machine. I have seen dozens of examples of that 8x in Intel machines. Best Wishes