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


Groups > comp.lang.forth > #58827

FP stack (was: Recognizers discussion)

From anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups comp.lang.forth
Subject FP stack (was: Recognizers discussion)
Date 2017-05-08 12:35 +0000
Organization Institut fuer Computersprachen, Technische Universitaet Wien
Message-ID <2017May8.143500@mips.complang.tuwien.ac.at> (permalink)
References (4 earlier) <oeb2m3$tsb$2@dont-email.me> <dJidnfwN9rGQOJTEnZ2dnUU7-amdnZ2d@supernews.com> <6c191e71-1a1c-4b13-9c92-e82e0c836788@googlegroups.com> <77b0ca53-6bf4-4c73-a426-2504cb959544@googlegroups.com> <3bfb77ae-f710-4c37-8d5f-5d55a6cea02d@googlegroups.com>

Show all headers | View raw


Joel Rees <joel.rees@gmail.com> writes:
>I've never understood the need for a separate floating point stack.
...
>But we put doubles, pointers, string pointers, string records, and all sort=
>s of other non-single-cell-integer non-scalar stuff on the parameter/local =
>state stack. Why not floating point, as well? (Especially, now that 32 bit =
>and 64 bit CPUs are becoming the norm, even in the embedded world.)

1) There is little overlap between integer and FP operations,
basically just the data-movement stuff @ ! DUP SWAP etc.  By contrast,
we use, e.g., +, -, and u< on signed and unsigned integers, and on
addresses, and being able to access the individual cells of doubles
allows implementing various more refined operations (e.g., triple-cell
integers in M*/).  Having the individual cells of a c-addr u string
descriptor accessible is the foundation for a number of string
operations, e.g., checking whether a string is a prefix of another
string.  If we put these data on separate stacks, we would have to
introduce and then use all kinds of words for transfering cells
between these stacks; that's not the case for FP data.

2) How many cells should an FP value have on the data stack?  1? 2? 4?
None of these answers is good for all systems.  Or maybe an FP value
should be an opaque type with an unspecified size?  Then you cannot
access anything below it.

3) FP hardware usually works on separate FP registers, and transfers
between FP registers and integer registers are often pretty expensive
(sometimes they require a memory store and memory load).  Many Forth
systems keep the top-of-data-stack in an integer register.  On such a
system with a shared integer+FP-stack an FP operation would imply a
move from the integer registers to the FP registers and back.  By
contrast, with a separate FP stack, the system can keep the
top-of-FP-stack in an FP register.  On the 387 the whole Forth FP
stack is often kept in the 387 FP stack.

This has now come up several times, so I have added it to the FAQ:

https://www.complang.tuwien.ac.at/forth/faq/faq-general.html#toc5.15

- anton
-- 
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: http://www.forth200x.org/forth200x.html
   EuroForth 2017: http://www.euroforth.org/ef17/

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


Thread

Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-02 15:27 +0100
  Recognizers discussion lehs <skydda.barnen@gmail.com> - 2017-05-02 07:52 -0700
    Re: Recognizers discussion Mark Wills <markwills1970@gmail.com> - 2017-05-02 08:19 -0700
      Re: Recognizers discussion lehs <skydda.barnen@gmail.com> - 2017-05-02 08:27 -0700
    Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-02 19:55 +0100
      Re: Recognizers discussion lehs <skydda.barnen@gmail.com> - 2017-05-03 02:38 -0700
        Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-04 15:16 +0000
  Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-02 17:05 +0100
    Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-02 17:23 +0100
      Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-02 17:26 +0100
      Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-02 13:03 -0500
        Re: Recognizers discussion Matthias Trute <matthias.trute@gmail.com> - 2017-05-02 12:44 -0700
          Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-03 04:36 -0500
        Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-04 13:28 +0000
          Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 09:13 -0500
  Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-02 12:35 -0500
    Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-02 18:53 +0100
      Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-02 13:10 -0500
        Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-02 19:22 +0100
        Re: Recognizers discussion Bernd Paysan <bernd@net2o.de> - 2017-05-02 22:53 +0000
          Re: Recognizers discussion Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-05-03 07:39 +0100
            Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-03 10:58 +0100
            Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-04 13:53 +0000
            Re: Recognizers discussion Bernd Paysan <bernd@net2o.de> - 2017-05-06 01:21 +0000
            Re: Recognizers discussion pahihu <pahihu@gmail.com> - 2017-05-06 00:22 -0700
              Re: Recognizers discussion Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-05-06 23:05 +0100
                Re: Recognizers discussion pahihu <pahihu@gmail.com> - 2017-05-06 22:36 -0700
          Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-03 04:38 -0500
            Re: Recognizers discussion minforth@arcor.de - 2017-05-03 04:49 -0700
              Re: Recognizers discussion Mark Wills <markwills1970@gmail.com> - 2017-05-03 05:03 -0700
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-03 09:02 -0500
                Re: Recognizers discussion Mark Wills <markwills1970@gmail.com> - 2017-05-03 07:45 -0700
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-03 11:24 -0500
                Re: Recognizers discussion Mark Wills <markwills1970@gmail.com> - 2017-05-03 09:45 -0700
                Re: Recognizers discussion Raimond Dragomir <raimond.dragomir@gmail.com> - 2017-05-03 10:08 -0700
                Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-09 15:56 +0000
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-03 18:37 +0100
                Re: Recognizers discussion Mark Wills <markwills1970@gmail.com> - 2017-05-03 11:07 -0700
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-03 20:55 +0100
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 02:47 -0500
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-04 13:07 +0100
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 07:59 -0500
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-04 17:38 +0100
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 12:42 -0500
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 02:43 -0500
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-04 13:05 +0100
                Re: Recognizers discussion Ron Aaron <rambamist@gmail.com> - 2017-05-04 15:10 +0300
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-04 13:25 +0100
                Re: Recognizers discussion Ron Aaron <rambamist@gmail.com> - 2017-05-04 15:33 +0300
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 08:05 -0500
                Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-09 15:54 +0000
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-09 11:10 -0500
                Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-10 11:49 +0000
                Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-04 16:14 +0000
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 13:02 -0500
                Re: Recognizers discussion Bernd Paysan <bernd@net2o.de> - 2017-05-05 23:29 +0000
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-07 03:56 -0500
                Re: Recognizers discussion Bernd Paysan <bernd@net2o.de> - 2017-05-07 22:42 +0000
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-08 04:08 -0500
                Re: Recognizers discussion Julian Fondren <julian.fondren@gmail.com> - 2017-05-03 08:51 -0700
                Re: Recognizers discussion Mark Wills <markwills1970@gmail.com> - 2017-05-03 09:38 -0700
                Re: Recognizers discussion Julian Fondren <julian.fondren@gmail.com> - 2017-05-03 09:59 -0700
                Re: Recognizers discussion Mark Wills <markwills1970@gmail.com> - 2017-05-03 10:16 -0700
                Re: Recognizers discussion albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-05-03 22:04 +0200
                Re: Recognizers discussion minforth@arcor.de - 2017-05-03 22:09 -0700
                Re: Recognizers discussion Joel Rees <joel.rees@gmail.com> - 2017-05-07 19:50 -0700
                Re: Recognizers discussion "Elizabeth D. Rather" <erather@forth.com> - 2017-05-07 21:33 -1000
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-08 04:12 -0500
                Re: Recognizers discussion Joel Rees <joel.rees@gmail.com> - 2017-05-08 20:21 -0700
                FP stack (was: Recognizers discussion) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-08 12:35 +0000
                Re: FP stack (was: Recognizers discussion) Joel Rees <joel.rees@gmail.com> - 2017-05-08 20:50 -0700
                Re: FP stack Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-09 03:39 -0500
                Re: FP stack Joel Rees <joel.rees@gmail.com> - 2017-05-09 20:59 -0700
                Re: FP stack Julian Fondren <julian.fondren@gmail.com> - 2017-05-10 00:03 -0700
                Re: FP stack Alex <alex@rivadpm.com> - 2017-05-10 08:10 +0100
                Re: FP stack "Elizabeth D. Rather" <erather@forth.com> - 2017-05-09 21:24 -1000
                Re: FP stack Julian Fondren <julian.fondren@gmail.com> - 2017-05-10 00:37 -0700
                Re: FP stack "Elizabeth D. Rather" <erather@forth.com> - 2017-05-09 22:53 -1000
                Re: FP stack Alex <alex@rivadpm.com> - 2017-05-10 08:53 +0100
                Re: FP stack Ron Aaron <rambamist@gmail.com> - 2017-05-10 11:00 +0300
                Re: FP stack Paul Rubin <no.email@nospam.invalid> - 2017-05-10 01:02 -0700
                Re: FP stack Ron Aaron <rambamist@gmail.com> - 2017-05-10 11:06 +0300
                Re: FP stack anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-10 09:58 +0000
                Re: FP stack Ron Aaron <rambamist@gmail.com> - 2017-05-10 14:17 +0300
                Re: FP stack Alex <alex@rivadpm.com> - 2017-05-10 13:09 +0100
                Re: FP stack anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-10 15:05 +0000
                Re: FP stack albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-05-10 11:43 +0200
                Re: FP stack "HAA" <someone@microsoft.com> - 2017-05-10 18:34 +1000
                Re: FP stack anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-10 09:45 +0000
                Re: FP stack "HAA" <someone@microsoft.com> - 2017-05-11 19:13 +1000
                Re: FP stack Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-11 04:50 -0500
                Re: FP stack anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-11 16:18 +0000
                Re: FP stack Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-11 12:12 -0500
                Re: FP stack stephen@mpeforth.com (Stephen Pelc) - 2017-05-11 13:53 +0000
                Re: FP stack anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-11 15:43 +0000
                Re: FP stack Joel Rees <joel.rees@gmail.com> - 2017-05-12 08:48 -0700
                Re: FP stack anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-11 16:31 +0000
                Re: FP stack "Elizabeth D. Rather" <erather@forth.com> - 2017-05-11 10:18 -1000
                Re: FP stack Cecil Bayona <cbayona@cbayona.com> - 2017-05-11 15:37 -0500
                Re: FP stack "Elizabeth D. Rather" <erather@forth.com> - 2017-05-11 17:25 -1000
                Re: FP stack Cecil Bayona <cbayona@cbayona.com> - 2017-05-11 22:55 -0500
                Re: FP stack "HAA" <someone@microsoft.com> - 2017-05-13 14:24 +1000
                Re: FP stack albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-05-13 13:44 +0200
                Re: FP stack Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-10 05:58 -0500
                Re: FP stack (was: Recognizers discussion) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-09 13:50 +0000
                Re: FP stack (was: Recognizers discussion) Joel Rees <joel.rees@gmail.com> - 2017-05-10 00:25 -0700
                Re: FP stack (was: Recognizers discussion) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-10 11:39 +0000
                Re: FP stack (was: Recognizers discussion) Joel Rees <joel.rees@gmail.com> - 2017-05-10 11:49 -0700
                Re: FP stack (was: Recognizers discussion) "HAA" <someone@microsoft.com> - 2017-05-09 21:15 +1000
                Re: Recognizers discussion "HAA" <someone@microsoft.com> - 2017-05-09 14:16 +1000
              Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-03 08:57 -0500
                Re: Recognizers discussion minforth@arcor.de - 2017-05-03 07:54 -0700
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-03 11:30 -0500
                Re: Recognizers discussion Cecil Bayona <cbayona@cbayona.com> - 2017-05-03 14:05 -0500
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-03 18:42 +0100
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 02:51 -0500
                Re: Recognizers discussion "HAA" <someone@microsoft.com> - 2017-05-04 22:29 +1000
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-04 13:41 +0100
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 09:06 -0500
                Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-15 12:22 +0000
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-15 07:36 -0500
                Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-18 21:21 +0000
                Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-18 21:24 +0000
                Re: Recognizers discussion albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-05-04 20:17 +0200
                Re: Recognizers discussion "HAA" <someone@microsoft.com> - 2017-05-05 11:03 +1000
                Re: Recognizers discussion minforth@arcor.de - 2017-05-05 00:16 -0700
                Re: Recognizers discussion JUERGEN <epldfpga@aol.com> - 2017-05-05 13:15 -0700
                Re: Recognizers discussion "HAA" <someone@microsoft.com> - 2017-05-06 16:49 +1000
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-05 21:00 +0100
      Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-09 14:17 +0000
        Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-09 15:46 +0100
          Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-10 11:50 +0000
            Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-10 13:11 +0100
              Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-10 13:49 +0000
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-10 15:57 +0100
                Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-12 14:17 +0000
  Re: Recognizers discussion "Elizabeth D. Rather" <erather@forth.com> - 2017-05-02 09:25 -1000
    Re: Recognizers discussion albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-05-03 01:19 +0200
    Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-05 15:50 +0000
      Re: Recognizers discussion "HAA" <someone@microsoft.com> - 2017-05-08 11:43 +1000
        Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-08 19:17 +0000
          Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-09 14:25 +0000
            Re: Recognizers discussion "Elizabeth D. Rather" <erather@forth.com> - 2017-05-09 21:22 -1000
              Re: Recognizers discussion "HAA" <someone@microsoft.com> - 2017-05-13 13:33 +1000
                Re: Recognizers discussion "Elizabeth D. Rather" <erather@forth.com> - 2017-05-12 21:32 -1000
                Re: Recognizers discussion Howerd <howerdo@yahoo.co.uk> - 2017-05-13 07:12 -0700
                Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-13 14:30 +0000
  Re: Recognizers discussion rickman <gnuarm@gmail.com> - 2017-05-04 11:37 -0400
    Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-04 17:51 +0100
      Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-05 07:31 +0000
        Re: Recognizers discussion Lars Brinkhoff <lars.spam@nocrew.org> - 2017-05-05 20:35 +0200
          Re: Recognizers discussion minforth@arcor.de - 2017-05-05 12:27 -0700
          Re: Recognizers discussion Cecil Bayona <cbayona@cbayona.com> - 2017-05-05 15:03 -0500
          Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-06 16:26 +0000
            Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-06 18:17 +0100
              Re: Recognizers discussion Brad Eckert <hwfwguy@gmail.com> - 2017-05-06 12:26 -0700
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-06 21:39 +0100
            Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-07 03:58 -0500
              Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-07 10:39 +0100
                Re: Recognizers discussion Bernd Paysan <bernd@net2o.de> - 2017-05-07 23:39 +0000
                Re: Recognizers discussion Paul Rubin <no.email@nospam.invalid> - 2017-05-07 17:38 -0700
                Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-08 13:40 +0000
                Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-08 13:25 +0000
                Re: Recognizers discussion Lars Brinkhoff <lars.spam@nocrew.org> - 2017-05-08 16:25 +0200
              Flash (was: Recognizers discussion) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-07 10:51 +0000
                Re: Flash Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-07 08:06 -0500
                Re: Flash anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-07 13:57 +0000
                Re: Flash Lars Brinkhoff <lars.spam@nocrew.org> - 2017-05-07 16:46 +0200
                Re: Flash Alex <alex@rivadpm.com> - 2017-05-07 16:31 +0100
                Re: Flash anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-07 17:16 +0000
                Re: Flash Alex <alex@rivadpm.com> - 2017-05-07 19:18 +0100
                Re: Flash albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-05-07 21:45 +0200
                Re: Flash Matthias Trute <matthias.trute@gmail.com> - 2017-05-07 12:54 -0700
                Re: Flash Alex <alex@rivadpm.com> - 2017-05-07 19:33 +0100
                Re: Flash Raimond Dragomir <raimond.dragomir@gmail.com> - 2017-05-07 08:50 -0700
                Re: Flash anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-07 17:21 +0000
    Re: Recognizers discussion Matthias Trute <matthias.trute@gmail.com> - 2017-05-04 10:07 -0700

csiph-web