Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #19912

Re: Integer cosine function

From Bernd Paysan <bernd.paysan@gmx.de>
Newsgroups comp.lang.forth
Subject Re: Integer cosine function
Date 2013-02-22 17:45 +0100
Organization 1&1 Internet AG
Message-ID <kg87bo$ss9$1@online.de> (permalink)
References (6 earlier) <7532b5f1-3390-4449-b16d-ff147eb50d76@googlegroups.com> <kg52g7$abo$1@online.de> <nNidnRZYFv0c3LrMnZ2dnUVZ_q-dnZ2d@supernews.com> <kg80vi$od3$1@online.de> <slrnkif6cd.db8.zbigniew2011REMOVE@Tichy.myhome.org>

Show all headers | View raw


Zbiggy wrote:

> In comp.lang.forth, Bernd Paysan wrote:
>> I've ported Gforth to a competitor of the 8051, the R8C, it took a week
>> to
>> get Gforth up and running.  It is a nice CPU.  I also like the msp430.
>> There are nice CPUs in the 8051 ballpark out there, and there is crapware
>> like the 8051, and it *does* impact my productivity.
> 
> But, actually, what makes it so crappy? What's wrong with 8051? It's very
> ubiquitous. Is it possible, that having better offers, so many people
> choose "crap" instead?

Yes.  Because these people usually don't know of the better offers.  The say 
"the 8051 is ubiquitous, and million flies can't be wrong."  Wikipedia has a 
nice article why "ad populum" is a fallacy:

http://en.wikipedia.org/wiki/Argumentum_ad_populum

Informed decisions are not easy.  You have to look at different CPUs, and 
carefully evaluate their capabilities, write code on them, look at how they 
perform, and when you use them inside a SoC, look at the implementation and 
judge how good that is.  So what did my customers say when I asked them why 
they want to use the 8051?  "We have used the 8051 20 years ago" (which 
meant right after the 8051 was released, because they came to us in 2001).  
Ok, I really believe they did, because they looked old enough.  In 1980, the 
8051 was a hot new microcontroller, and one of the first single-chip 
microcontrollers.

They also explained to me that we need to use a steep bandpass filter for 
the acoustic surface wave, because they have used a colorburst filter for 
that 20 years ago.  Yes, if you build such a touch screen out of discrete 
components as a prototype, using a NTSC colorburst filter from a color TV is 
a clever idea.  If you do that all in full custom silicon, using a 
synchronous demodulator is the way to go.  But that would be new, and not 
tested.

The 8051 design was originally meant as single-chip controller with an on-
chip 4k instruction ROM, and a small, byte-addressed RAM, including special 
function registers in that address space (the RAM is 128 bytes, leaving 
space for another 128 bytes of special function registers).  The killer 
feature of the 8051 were the bit operations for selected IOs and RAM 
registers (BTW: The first deployment of the b16 had some modifications, and 
one of them was bit manipulation).

If you use such a controller, you don't need many features, it is pretty 
small, and you want the program to be compact.  The original 8051 used a 12 
cycle microcode engine, which meant it also was pretty slow, and the 
instruction set as a result was designed in a way that makes fast 
implementations pretty hard to do.

As this is really not big enough for most uses of the 8051 today, people 
added an "external RAM" address space (which really is internal, as well), 
and increased the code memory, which today is flash, not mask-programmed 
ROM.  This IMHO completely ruins the architecture, because that wasn't the 
original design goal.  All these controllers have pretty narrow design 
goals, and that's actually a good thing - as we Forthers know, you should 
not imagine the future, but build for the problem at hand.  In so far, as 4k 
code+128 bytes RAM machine, the 8051 is, considered state-of-the-art of now 
30 years ago, *not* horrible, or, let's say, not that much more horrible 
than the competition like the PIC16.  But it's not designed for anything 
bigger than that.  The PICs at least got a new instruction set for each 
generation, each of them better than the one before, though each of them, 
from today's knowledge, certainly byzantine.

I think one of the reasons why the 8051 is so popular for SoCs is that Intel 
soon lost interest in selling them, while clones were already on the market 
(and Intel had licensed the 8051 from the beginning, which created an 
industry standard).  This means the architecture is completely free and open 
to clone for whoever likes to, and has been for a long time.  Openness is an 
advantage by itself, even if there are no technical merits behind.  Compare 
ARM: You *have* to buy this from ARM, and pay an arm and a leg for it.  No 
second source for their IP.  Thanks to openCore, you now can also have other 
popular controllers as open softcore IP, like the MSP430.  But for a long 
time, that wasn't the case.  And many developer don't feel like creating a 
CPU *and* the necessary toolchain (which I needed to do for the b16, being 
Forth, it was a piece of cake), usually they rather like to take things from 
the shelf and plug them in.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

Back to comp.lang.forth | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Integer cosine function Brad Eckert <hwfwguy@gmail.com> - 2013-02-16 07:35 -0800
  Re: Integer cosine function mhx@iae.nl (Marcel Hendrix) - 2013-02-17 13:57 +0200
    Re: Integer cosine function Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-02-17 09:40 -0600
      Re: Integer cosine function "Elizabeth D. Rather" <erather@forth.com> - 2013-02-17 07:51 -1000
        Re: Integer cosine function mhx@iae.nl (Marcel Hendrix) - 2013-02-17 19:06 +0200
          Re: Integer cosine function anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-02-18 14:46 +0000
          Re: Integer cosine function Zbiggy <zbigniew2011REMOVE@gmail.REMOVE.com> - 2013-02-19 20:01 +0100
            Re: Integer cosine function mhx@iae.nl (Marcel Hendrix) - 2013-02-19 21:34 +0200
              Re: Integer cosine function Zbiggy <zbigniew2011REMOVE@gmail.REMOVE.com> - 2013-02-19 21:46 +0100
            Re: Integer cosine function Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-02-19 15:55 -0800
              Re: Integer cosine function Coos Haak <chforth@hccnet.nl> - 2013-02-21 00:59 +0100
        Re: Integer cosine function Brad Eckert <hwfwguy@gmail.com> - 2013-02-18 09:19 -0800
          Re: Integer cosine function rickman <gnuarm@gmail.com> - 2013-02-18 14:27 -0500
          Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-18 20:53 +0100
            Re: Integer cosine function Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-02-18 19:10 -0800
              Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-19 13:13 +0100
              Re: Integer cosine function rickman <gnuarm@gmail.com> - 2013-02-19 23:04 -0500
            Re: Integer cosine function Gary Bergstrom <g.bergstrom@ieee.org> - 2013-02-20 10:00 -0800
              Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-21 13:04 +0100
                Re: Integer cosine function rickman <gnuarm@gmail.com> - 2013-02-21 19:03 -0500
                Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-22 02:45 +0100
                Re: Integer cosine function Mark Wills <markrobertwills@yahoo.co.uk> - 2013-02-22 02:32 -0800
                Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-22 16:01 +0100
                Re: Integer cosine function Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-02-22 22:07 -0800
                Re: Integer cosine function "Rod Pemberton" <do_not_have@notemailnotz.cnm> - 2013-02-23 10:27 -0500
                Re: Integer cosine function Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-02-22 03:59 -0600
                Re: Integer cosine function Mark Wills <markrobertwills@yahoo.co.uk> - 2013-02-22 02:30 -0800
                Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-22 15:56 +0100
                Re: Integer cosine function Zbiggy <zbigniew2011REMOVE@gmail.REMOVE.com> - 2013-02-22 16:13 +0100
                Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-22 17:45 +0100
                Re: Integer cosine function Zbiggy <zbigniew2011REMOVE@gmail.REMOVE.com> - 2013-02-22 18:44 +0100
                Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-22 19:19 +0100
                Re: Integer cosine function Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-02-22 14:43 -0800
                Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-23 01:30 +0100
                Re: Integer cosine function Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-02-22 21:51 -0800
                Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-24 01:43 +0100
                Re: Integer cosine function anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-02-25 17:55 +0000
                Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-25 21:01 +0100
                Re: Integer cosine function Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-02-25 23:22 -0800
                Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-26 15:11 +0100
                Re: Integer cosine function rickman <gnuarm@gmail.com> - 2013-02-27 08:05 -0500
                Re: Integer cosine function "Rod Pemberton" <do_not_have@notemailnotz.cnm> - 2013-02-27 22:14 -0500
                Re: Integer cosine function rickman <gnuarm@gmail.com> - 2013-02-27 22:56 -0500
                Re: Integer cosine function "Rod Pemberton" <do_not_have@notemailnotz.cnm> - 2013-03-01 21:37 -0500
                Re: Integer cosine function rickman <gnuarm@gmail.com> - 2013-03-07 13:12 -0500
                Re: Integer cosine function Brad Eckert <hwfwguy@gmail.com> - 2013-02-28 08:00 -0800
                Re: Integer cosine function "Rod Pemberton" <do_not_have@notemailnotz.cnm> - 2013-03-01 21:38 -0500
                Re: Integer cosine function Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2013-02-28 16:55 +0000
                Re: Integer cosine function "Rod Pemberton" <do_not_have@notemailnotz.cnm> - 2013-03-01 21:38 -0500
                Re: Integer cosine function Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2013-03-04 11:08 +0000
                Re: Integer cosine function Mark Wills <markrobertwills@yahoo.co.uk> - 2013-03-04 03:39 -0800
                Re: Integer cosine function "Rod Pemberton" <do_not_have@notemailnotz.cnm> - 2013-03-04 20:49 -0500
                Re: Integer cosine function stephenXXX@mpeforth.com (Stephen Pelc) - 2013-03-05 10:20 +0000
                Re: Integer cosine function Mark Wills <markrobertwills@yahoo.co.uk> - 2013-03-07 00:12 -0800
                Re: Integer cosine function "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-03-08 04:21 -0500
                Re: Integer cosine function "Rod Pemberton" <do_not_have@notemailnotz.cnm> - 2013-03-04 20:50 -0500
                Re: Integer cosine function Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2013-03-05 07:16 +0000
                Re: Integer cosine function "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-03-06 17:56 -0500
                Re: Integer cosine function Mark Wills <markrobertwills@yahoo.co.uk> - 2013-03-07 00:24 -0800
                Re: Integer cosine function Mark Wills <markrobertwills@yahoo.co.uk> - 2013-03-07 07:34 -0800
                Re: Integer cosine function Lars Brinkhoff <lars.spam@nocrew.org> - 2013-02-28 12:57 +0100
                Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-28 17:07 +0100
                Re: Integer cosine function Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-02-28 19:37 -0800
                Re: Integer cosine function stephenXXX@mpeforth.com (Stephen Pelc) - 2013-03-01 10:56 +0000
                Re: Integer cosine function anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-03-01 13:52 +0000
                Re: Integer cosine function Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-03-05 17:48 -0800
                Re: Integer cosine function rickman <gnuarm@gmail.com> - 2013-03-13 17:44 -0400
                Re: Integer cosine function "Rod Pemberton" <do_not_have@notemailnotz.cnm> - 2013-03-01 21:36 -0500
                Re: Integer cosine function Elizabeth D Rather <erather@forth.com> - 2013-03-01 19:14 -1000
                Re: Integer cosine function mhx@iae.nl (Marcel Hendrix) - 2013-03-02 09:34 +0200
                Re: Integer cosine function kenney@cix.compulink.co.uk - 2013-03-02 09:06 -0600
                Re: Integer cosine function Brad Eckert <hwfwguy@gmail.com> - 2013-02-26 08:53 -0800
                Re: Integer cosine function "Rod Pemberton" <do_not_have@notemailnotz.cnm> - 2013-02-26 16:59 -0500
                Re: Integer cosine function albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-02-27 00:52 +0000
                Re: Integer cosine function "Rod Pemberton" <do_not_have@notemailnotz.cnm> - 2013-02-27 04:07 -0500
                Re: Integer cosine function "WJ" <w_a_x_man@yahoo.com> - 2013-03-05 20:51 +0000
                Re: Integer cosine function Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-03-05 17:58 -0800
                Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-06 16:39 +0100
                Re: Integer cosine function Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-03-06 14:21 -0800
                Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-07 00:11 +0100
                Re: Integer cosine function albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-03-06 23:44 +0000
                Re: Integer cosine function Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-03-06 16:24 -0800
                Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-07 01:59 +0100
                Re: Integer cosine function Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-03-06 19:48 -0800
                Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-07 16:22 +0100
                Re: Integer cosine function "WJ" <w_a_x_man@yahoo.com> - 2013-03-06 23:37 +0000
                Re: Integer cosine function "Rod Pemberton" <do_not_have@notemailnotz.cnm> - 2013-02-23 09:54 -0500
                Re: Integer cosine function "WJ" <w_a_x_man@yahoo.com> - 2013-03-05 21:03 +0000
                Re: Integer cosine function Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-03-05 15:59 -0800
                Re: Integer cosine function Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-03-05 16:38 -0800
                Re: Integer cosine function Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-02-22 12:07 -0600
                Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-22 19:39 +0100
                Re: Integer cosine function "Elizabeth D. Rather" <erather@forth.com> - 2013-02-22 09:23 -1000
                Re: Integer cosine function Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-02-23 04:44 -0600
                Re: Integer cosine function Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-02-22 13:00 -0800
                Re: Integer cosine function Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-23 01:09 +0100
                Re: Integer cosine function rickman <gnuarm@gmail.com> - 2013-02-22 21:16 -0500
                Re: Integer cosine function rickman <gnuarm@gmail.com> - 2013-02-22 20:28 -0500
  Re: Integer cosine function Gary Bergstrom <g.bergstrom@ieee.org> - 2013-02-27 07:59 -0800
    Re: Integer cosine function Brad Eckert <hwfwguy@gmail.com> - 2013-02-27 08:48 -0800
      Re: Integer cosine function Gary Bergstrom <g.bergstrom@ieee.org> - 2013-02-27 10:23 -0800
      Re: Integer cosine function Gary Bergstrom <g.bergstrom@ieee.org> - 2013-03-15 10:14 -0700
        Re: Integer cosine function Brad Eckert <hwfwguy@gmail.com> - 2013-03-15 13:19 -0700
          Re: Integer cosine function Brad Eckert <hwfwguy@gmail.com> - 2013-03-15 13:28 -0700
            Re: Integer cosine function Gary Bergstrom <g.bergstrom@ieee.org> - 2013-03-15 21:13 -0700

csiph-web