Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #24186
| From | Paul Rubin <no.email@nospam.invalid> |
|---|---|
| Newsgroups | comp.lang.forth |
| Subject | Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation |
| Date | 2013-07-05 17:49 -0700 |
| Organization | Nightsong/Fort GNOX |
| Message-ID | <7x4nc88qc5.fsf@ruckus.brouhaha.com> (permalink) |
| References | (16 earlier) <kr4b85$t1o$1@dont-email.me> <7x38ruxh8o.fsf@ruckus.brouhaha.com> <kr7c6i$end$1@dont-email.me> <7x61wo8xr2.fsf@ruckus.brouhaha.com> <kr7k4f$end$2@dont-email.me> |
rickman <gnuarm@gmail.com> writes:
> Ok, I think this conversation is near an end. I believe you have done
> very little to learn about the GA144.
Your belief is incorrect.
> Here you are doubting what I have learned about the chip without
> knowing much about it yourself.
I don't know much about the hardware, not being a hardware guy. I've
studied the programming docs done considerable head scratching trying to
figure out how to actually code for it, and concluded that it's
unreasonably difficult. I look at the code written for it by GA folks
including Chuck Moore himself, and I can see that it was unreasonably
difficult for them too. I look at the code for it written by you and,
well, I don't see any code for it written by you. So I don't find your
pronouncements about how easy it is to be persuasive. Here, I'll give
you what should be a trivial exercise, the RC4 stream cipher (pseudocode
from Wikipedia, S is an array of 256 bytes):
i := 0
j := 0
while GeneratingOutput:
i := (i + 1) mod 256
j := (j + S[i]) mod 256
swap values of S[i] and S[j]
K := S[(S[i] + S[j]) mod 256]
output K
endwhile
It should take no more than 15 minutes to code this algorithm on any
reasonable processor of the GA144's complexity. I'd like to see your
implementation for the GA144. It can be done, but it's nowhere near as
easy.
>> Doing it on the GA144 looks like an order of magnitude more work.
> So why would it be a pain on the GA144? Is it just code space?
Code space and ram. You need 80 bytes of state variables and 20 bytes
of chaining, plus a few counters and suchlike. Plus you need a lot of
32-bit arithmetic and boolean operations that have to be spread across
multiple F18 words. (When you are done with SHA1 you get to do SHA256
and Keccak.)
> I have looked at the GA144 for the type of embedded work I do and it
> looks very good for that
OK, fine, you're doing niche applications where the GA144 works. I
don't think that says much about fitting the GA144 into applications
where other people are using normal MCU's.
>> The chip itself has intrinsic limitations
> I assume you mean memory. Every MCU out there has memory
> limitations. The GA144 has a fixed memory size, yes.
The total amount of memory in the GA144 is in the midrange MCU class
which is fine, but the tiny amount at each node is a big impediment to
many of the algorithms needed to operate in the digital world. It may
be better as a kind of mixed-mode part. Digital stuff, particularly
communications, has apparently evolved around bigger processors and is
hard to do without them (or hardware such as fpga's).
> Even with that it will accept external memory.
You mean that 3-node SRAM controller and external Polyforth, so you're
effectively running around a 4 mhz microprocessor consuming rather large
amounts of power and silicon (on and off chip) compared to normal MCU's.
Not really attractive.
>> concurrency ... is part of every working programmer's toolkit.
> What you have not acknowledged is that it is *NOT* easy to do on
> conventional CPUs, it requires adherence to a number of practices and
> *someone* had to do a lot of leg work ahead of you.
Certainly it took leg work to figure out those practices, but now they
are known, and writing concurrent code has become pretty easy once you
are used to it. It would be nice if the GA144 were the same way (easy
to program once you're used to it), and you seem to think it is, but the
concrete evidence that I see is that it is still difficult.
> you just have to design your implementation to match the granularity
> of this chip. Not so hard if you ever pick up a document and read
> about the chip. Have you? How far did you get?
I coded a few algorithms (not to the point of testability) and gave up
on others. One that I gave up on was AES. Later someone else succeeded
at coding AES but used something like 100 nodes. I saw that as a
"talking horse" type of demo: mostly showing that it can be done at all.
> "Fancy" power control? What is that? Stopping the processor with a
> halt instruction is not exactly rocket science. Why do you insist on
> making some simple things sound complex?
Controlling the ARM power modes is rather complicated and the x86
appears even worse. If you can put an MCU to sleep by just waiting for
a clock event, that's a lot nicer.
> Why would you clock the chip running NOPs when you can save the power?
The data sheets that I looked at indicate that the ultra slow parts use
hardly any power (single digit microamps) even when clocked. Of course
if you can stop the clock between counter/timer events, that's even
better.
>> It's obvious from the examples that it slows down development enormously.
> No, that is *not* obvious to me. You continue to make the same
> assumptions and are not paying any attention to what I am
> writing.
I do pay attention to what you're writing. That's how I notice that
what you're writing is not backed by evidence. I've given example after
example of algorithms that are easy to code on normal processors and
bloody painful on the GA144. You have not given one single example of
coding any of those algorithms on the GA144 to show it is easy.
> Place and route of 144 elements is not so hard and so is done by
> hand. Big woop! The time is minimal.
I'd need to see some proof of this before being convinced. Everything
I've seen indicates that place and route ("floor planning" is the term I
see used) is/was a major time-sink on both the GA144 and its predecessor
the Seaforth40.
> Place and route would be less than 5 minutes after I finish the
> coding... if that.
Thanks for this. I don't believe it, but at least there is now a
concrete number that can be tested.
> Again you want to make this complex, but it is not. You can continue
> to criticise the GA144 or you can understand it. Pick one...
I think I do understand it. That's why I see it as presenting all those
obstacles. Because I ran into them when trying to write actual code
that sounded easy from a distance.
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar
Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2013-06-24 11:02 +0200
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-06-24 05:54 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2013-06-25 10:51 +0200
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-06-25 02:29 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2013-06-25 14:06 +0200
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-06-25 10:34 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2013-06-26 11:03 +0200
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-06-26 22:18 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2013-06-27 12:09 +0200
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation rickman <gnuarm@gmail.com> - 2013-06-27 11:15 -0400
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-06-27 09:55 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation rickman <gnuarm@gmail.com> - 2013-06-27 15:02 -0400
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation visualforth@rocketmail.com - 2013-06-30 21:43 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-07-01 12:09 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation rickman <gnuarm@gmail.com> - 2013-07-01 16:44 -0400
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-07-01 18:14 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2013-07-02 10:36 +0200
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Mark Wills <markrobertwills@yahoo.co.uk> - 2013-07-02 03:12 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-07-02 10:17 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation rickman <gnuarm@gmail.com> - 2013-07-02 16:35 -0400
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation rickman <gnuarm@gmail.com> - 2013-07-02 16:33 -0400
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-07-03 00:51 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2013-07-03 10:38 +0200
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation rickman <gnuarm@gmail.com> - 2013-07-04 09:26 -0400
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-07-04 10:08 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation rickman <gnuarm@gmail.com> - 2013-07-04 13:07 -0400
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-07-04 10:34 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation rickman <gnuarm@gmail.com> - 2013-07-04 13:31 -0400
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-07-04 12:22 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-07-04 12:27 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation rickman <gnuarm@gmail.com> - 2013-07-05 17:05 -0400
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-07-05 15:09 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation rickman <gnuarm@gmail.com> - 2013-07-05 19:21 -0400
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-07-05 17:49 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation rickman <gnuarm@gmail.com> - 2013-07-06 00:38 -0400
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-07-05 22:39 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation rickman <gnuarm@gmail.com> - 2013-07-06 10:56 -0400
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-07-06 20:35 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-07-07 10:44 +0000
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation rickman <gnuarm@gmail.com> - 2013-07-07 12:48 -0400
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-07-07 01:20 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2013-07-08 11:49 +0200
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation rickman <gnuarm@gmail.com> - 2013-07-08 09:55 -0400
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Roberto Waltman <usenet@rwaltman.com> - 2013-07-06 12:48 -0400
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2013-07-08 14:47 +0200
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-07-08 09:37 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation stephenXXX@mpeforth.com (Stephen Pelc) - 2013-07-09 11:32 +0000
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2013-07-09 14:27 +0200
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Bill Richards <billrich@gmx.com> - 2013-07-09 13:41 +0000
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-07-09 09:23 -0500
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-07-10 02:27 +0000
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Bill Richards <billrich@gmx.com> - 2013-07-10 07:34 +0000
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-07-10 03:18 -0500
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Paul Rubin <no.email@nospam.invalid> - 2013-07-10 01:43 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Brad Eckert <hwfwguy@gmail.com> - 2013-07-16 08:31 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-07-10 03:02 -0500
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation stephenXXX@mpeforth.com (Stephen Pelc) - 2013-07-09 15:14 +0000
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation visualforth@rocketmail.com - 2013-07-15 12:27 -0700
Re: Announcing Mecrisp-Stellaris - a native code ARM-Cortex implementation Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2013-07-16 11:52 +0200
csiph-web