Groups | Search | Server Info | Login | Register
Groups > comp.lang.forth > #23698
| From | Bernd Paysan <bernd.paysan@gmx.de> |
|---|---|
| Newsgroups | comp.lang.forth |
| Subject | Re: OT (slightly) What is the "best" processor for a new project? |
| Date | 2013-06-17 14:19 +0200 |
| Organization | 1&1 Internet AG |
| Message-ID | <kpmurr$7m2$1@online.de> (permalink) |
| References | <42eda5c9-8e7e-4520-b612-55b93cbfb1b3@g8g2000yqa.googlegroups.com> |
Hugh Aguilar wrote: > I never said the ARM+C approach was a good idea for a battery monitor. You said something about the b16 not being "powerful enough" or so. > I wouldn't have even thought that a battery monitor needed a micro- > controller at all, but that it could be done with non-computer > electronics. Which shows just how little you know. > I actually mentioned the 8051 family as having a lot of > low-cost low-power-consumption options available, although every chip > manufacture has this niche covered pretty well. Yes, and I told you that an 8051 in silicon is 10 times the price of a b16. > I don't think it is a good idea to compete in the arena of tiny > applications that don't need a 16-bit processor, and for which low- > cost and low-power-consumption are the only criteria. There are > abundant micro-controllers already in this niche. I mentioned the 8051 > family, but there is also the PIC family (not including the PIC24 > which is a 16-bit processor, or the PIC32 which is a 32-bit > processor). There is the 6805, COP8, MSP430, etc. --- pretty much > every chip manufacturer has a micro-controller that is low-cost and > low-power-consumption. You miss the point. The b16 is *not* a standard off-the-shelf part packaged in its own package, which would be significantly more expensive than the die area the b16 consumes. This is an *embedded core*. You can buy some embedded cores, e.g. 8051s, but they are significantly larger and therefore more expensive and power-hungry than the b16. I got good salary from the projects where I put the b16 in, so for me, it turned out to be a good idea. I don't have to drive taxis or climb roof- tops, though I like climbing. > Some applications do require a powerful micro-controller. The laser > etcher that the MiniForth was used in, for example, had to be very > fast. Normally in motion-control, the programmer just puts a delay > after every move (maybe 20 milliseconds) to allow the vibration to > dampen down, and the calculations for the next move are done at this > time. Such a big delay isn't possible in a laser etcher, because the > laser is continuously running and it will burn a hole in the material > if it sits in one place too long --- the laser has to be moved > smoothly and continuously so that it burns a nice consistent line in > the material. This requires an "uber-powerful" micro-controller. It > doesn't have to be 32-bit, because the calculations are all 16-bit, > but it does have to be very fast. Fine, so for your project, being powerful was necessary. Do what's needed. > Developing the MiniForth took upwards of a year, although only the > first 6 months were full-time work. All of this time included both > developing the processor, and getting the motion-control program to > run on it --- a processor is useless without an application program > running on it, so developing the processor was closely tied to getting > the application program to run --- if the application program couldn't > run, then the processor was changed to make it possible for the > application to run. By comparison, you developed the B16 without any > application in mind, and then searched for applications that were > undemanding enough for the B16 to be used. No, the b16 was developed with the applications in mind we had, and for which we used embedded PICs and 8051s, which didn't quite fit, were a lot more pain to use and develop. That way, I didn't have to search for applications; the next project was just another good fit. > If you only spent a few days developing the B16 ($200 worth of labor), > then why do you invest so much pride in it? You make statements such > as: "I know you don't understand how business works, which is why you > are a taxi-driver." --- you're attacking me because I said that the > 8051 family (or PIC family, or whatever) is usually used for low-cost > low-power-consumption applications, although everybody knows that this > is true --- you act like I shot your dog (or ran over it with my taxi- > cab). All you can do is to hurt others, and I want to tell you that it will hurt you back. > Your B16 is a bad design, because it is limited to 32 instructions. > This is way too restrictive, as it doesn't give you the opportunity to > add new instructions without taking away existing instructions. Or simply expand the slot to 6 bits... which had been done by my coworker for the first b16 project, because he wanted to add instructions, just like you. This is a trivial exercise. But remember Antoine de Saint-Exupéry: Perfection is not reached when there's nothing left to add, but when there's nothing left to take away. > Normally in a Forth system, there are several hundred primitives. A primitive is not necessarily an instruction. And a threaded code system has many primitives just for performance reasons, since the high-level overhead is too high. This doesn't apply to a Forth CPU. > The > MiniForth allowed for as many primitives as we wanted, until the > 64Kword code memory was full (and the later versions of the MiniForth > had 128Kword code memory). In MFX and the motion-control program, > there were thousands of primitives written (although a lot of those > were ghost primitives that never materialized because they were never > used) --- anyway, you need at least one or two thousand primitives for > any kind of serious application program. The mind boggles. But when I read what you do, the mind boggles all the time. We make Forth look bad, because we don't do it your way. > Your B16 is just hugely restrictive. You don't have local variables, > you don't have a lot of things --- all you have are your 32 primitives > that you decided somehow are the basis for everything. Apparently you > used your big Forth expertise that you acquired from being a > Forth-200x member to decide which 32 primitives are fundamental (like > God deciding which elemental particles all matter can be made from). Those are the 32 primitives which makes sense for the b16 applications, and they don't have anything to do with the big Forth experience. For a big Forth, you need some other primitives; you need locals, you may need OOP and structure support instructions (fetch pointer+offset) and such. For a typical b16 application, locals are not at all necessary. > That is incredibly restrictive. Mark Wills showed me the design for > some other guy's Forth processor which was similar, although it had 64 > primitives rather than just 32 --- I said the same thing, that this > was too restrictive, but he didn't listen to me either --- all this > stuff makes Forth look bad, giving WJ fuel for saying that Forth is > only good for applications such as toilet flushers (or, in your case, > battery monitors) which can actually be done with non-computer > electronics (the venerable 555 timer). This is just your knee-jerk reaction. The battery chemistry of lithium ion batteries is not simple enough to just use a timer chip... you have things like temperature- and aging-dependent residual capacity, which is unavailable. > The MiniForth was designed in 1995. Would it really be that hard to do > something similar now, two decades later, with the much improved > hardware available in these modern times? And yet, I have never seen > anything that compares to the MiniForth. Your B16 doesn't --- neither > did that other guy's Forth processor, which had twice as many > primitives as yours does --- and Chuck Moore's GA144 is just plain > weird, and would not be usable for mundane applications such as motion- > control. Nothing compares. At least the b16 does motion control, with our LinuxTag demonstration roboter. Not the same requirements as for a laser, though. -- Bernd Paysan "If you want it done right, you have to do it yourself" http://bernd-paysan.de/
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar
Re: OT (slightly) What is the "best" processor for a new project? Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-06-16 23:17 -0700
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-17 14:19 +0200
Re: OT (slightly) What is the "best" processor for a new project? Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-06-17 16:04 -0700
Re: OT (slightly) What is the "best" processor for a new project? Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-06-17 16:15 -0700
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-06-18 00:01 -0400
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-19 15:33 +0200
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-06-19 17:25 -0400
Re: OT (slightly) What is the "best" processor for a new project? Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-06-19 17:00 -0700
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-06-20 18:35 -0400
Re: OT (slightly) What is the "best" processor for a new project? Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-06-19 17:38 -0700
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-20 12:51 +0200
Re: OT (slightly) What is the "best" processor for a new project? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-20 15:28 +0000
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-06-20 18:39 -0700
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-21 14:50 +0200
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-06-22 18:56 -0700
Re: OT (slightly) What is the "best" processor for a new project? "WJ" <w_a_x_man@yahoo.com> - 2013-06-23 02:35 +0000
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-06-22 20:48 -0700
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-23 14:49 +0200
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-06-26 18:08 -0700
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-27 16:32 +0200
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-06-30 10:10 -0700
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-06-30 15:18 -0400
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-06-30 16:01 -0700
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-06-30 20:22 -0400
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-30 21:22 +0200
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-06-30 15:52 -0700
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-07-01 02:02 +0200
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-06-30 19:25 -0700
Re: OT (slightly) What is the "best" processor for a new project? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-07-01 02:34 -0500
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-07-01 16:26 -0400
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-07-01 23:08 +0200
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-07-01 18:10 -0400
Re: OT (slightly) What is the "best" processor for a new project? "Elizabeth D. Rather" <erather@forth.com> - 2013-07-01 12:35 -1000
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-07-01 18:42 -0400
Re: OT (slightly) What is the "best" processor for a new project? "Elizabeth D. Rather" <erather@forth.com> - 2013-07-01 13:03 -1000
Re: OT (slightly) What is the "best" processor for a new project? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-07-02 07:20 +0000
Re: OT (slightly) What is the "best" processor for a new project? "Elizabeth D. Rather" <erather@forth.com> - 2013-07-02 07:38 -1000
Re: OT (slightly) What is the "best" processor for a new project? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-07-02 07:24 +0000
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-07-02 13:02 +0200
Re: OT (slightly) What is the "best" processor for a new project? "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-07-02 05:58 -0400
Re: OT (slightly) What is the "best" processor for a new project? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-07-02 03:34 -0500
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-07-01 20:01 -0700
Re: OT (slightly) What is the "best" processor for a new project? "WJ" <w_a_x_man@yahoo.com> - 2013-07-02 04:43 +0000
Re: OT (slightly) What is the "best" processor for a new project? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-07-02 03:41 -0500
Re: OT (slightly) What is the "best" processor for a new project? "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-07-02 06:09 -0400
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-07-02 13:51 -0700
Re: OT (slightly) What is the "best" processor for a new project? daveyrotten <danw8804@gmail.com> - 2013-07-02 14:37 -0700
Re: OT (slightly) What is the "best" processor for a new project? daveyrotten <danw8804@gmail.com> - 2013-07-02 14:56 -0700
Re: OT (slightly) What is the "best" processor for a new project? Bernd Paysan <bernd.paysan@gmx.de> - 2013-07-03 00:30 +0200
Re: OT (slightly) What is the "best" processor for a new project? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-07-03 02:19 -0500
Re: OT (slightly) What is the "best" processor for a new project? "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-07-03 05:18 -0400
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-07-03 18:10 -0700
Re: OT (slightly) What is the "best" processor for a new project? "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-07-03 05:30 -0400
Static superinstructions(was: OT (slightly) What is the "best" ...) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-07-03 14:33 +0000
Re: Static superinstructions(was: OT (slightly) What is the "best" ...) Bernd Paysan <bernd.paysan@gmx.de> - 2013-07-04 00:41 +0200
Re: OT (slightly) What is the "best" processor for a new project? hughaguilar96@yahoo.com - 2013-07-03 18:31 -0700
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-07-02 16:44 -0400
Re: OT (slightly) What is the "best" processor for a new project? "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-07-02 05:56 -0400
Re: OT (slightly) What is the "best" processor for a new project? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-07-02 05:58 -0500
Re: OT (slightly) What is the "best" processor for a new project? "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-07-03 05:57 -0400
Re: OT (slightly) What is the "best" processor for a new project? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-07-03 06:43 -0500
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-06-30 20:29 -0400
Re: OT (slightly) What is the "best" processor for a new project? rickman <gnuarm@gmail.com> - 2013-06-27 10:58 -0400
csiph-web