• Re: Von Neuman, Harvard and ... Moore ?

    From minforth@21:1/5 to Brian Fox on Wed Aug 9 07:09:53 2023
    Brian Fox schrieb am Mittwoch, 9. August 2023 um 15:54:10 UTC+2:
    With the discussion around whether a "Forth CPU" is a real thing I
    wondered if it would be worthwhile calling a [data stack/return stack] architecture a "Moore Architecture" to allow smoother conversation.

    Was Chuck the first person to organize a computer around two stacks
    with these intended functions?

    If not then to whom do we ascribe this architecture?

    The Burroughs B5000 computer came before Moore tinkering with some telescope.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Fox@21:1/5 to All on Wed Aug 9 06:54:07 2023
    With the discussion around whether a "Forth CPU" is a real thing I
    wondered if it would be worthwhile calling a [data stack/return stack] architecture a "Moore Architecture" to allow smoother conversation.

    Was Chuck the first person to organize a computer around two stacks
    with these intended functions?

    If not then to whom do we ascribe this architecture?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Fox@21:1/5 to minforth on Wed Aug 9 07:55:10 2023
    On Wednesday, August 9, 2023 at 10:09:56 AM UTC-4, minforth wrote:

    The Burroughs B5000 computer came before Moore tinkering with some telescope.

    Ouch. I sense that you are not in favour of my suggestion. :-)

    From what I can read the B5000 had a single stack. I can see it clearly influenced
    Chuck's CPU work, as it had 4 , 12 bit instructions contained in one word.
    It also had two registers, for the top of stack and the 2nd item on the stack.

    However if a Harvard architecture separates code and data memory then what I am calling a Moore architecture separates the stack into a data stack and a return stack.

    I just don't know if anyone made that distinction earlier than Chuck.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lorem Ipsum@21:1/5 to Brian Fox on Wed Aug 9 09:00:57 2023
    On Wednesday, August 9, 2023 at 10:55:12 AM UTC-4, Brian Fox wrote:
    On Wednesday, August 9, 2023 at 10:09:56 AM UTC-4, minforth wrote:

    The Burroughs B5000 computer came before Moore tinkering with some telescope.
    Ouch. I sense that you are not in favour of my suggestion. :-)

    From what I can read the B5000 had a single stack.

    Pretty much all CPUs have at least one stack for return addresses. I'm assuming the B5000 also had a data stack? Wouldn't that be two?

    I know HP made minicomputers with two stacks.


    I can see it clearly influenced
    Chuck's CPU work, as it had 4 , 12 bit instructions contained in one word. It also had two registers, for the top of stack and the 2nd item on the stack.

    However if a Harvard architecture separates code and data memory then what I am calling a Moore architecture separates the stack into a data stack and a return stack.

    I just don't know if anyone made that distinction earlier than Chuck.

    Are you saying the B5000 did not have a data stack, or did not have a return stack?

    --

    Rick C.

    - Get 1,000 miles of free Supercharging
    - Tesla referral code - https://ts.la/richard11209

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From jan Coombs@21:1/5 to Brian Fox on Wed Aug 9 18:06:25 2023
    On Wed, 9 Aug 2023 06:54:07 -0700 (PDT)
    Brian Fox <brian.fox@brianfox.ca> wrote:

    Was Chuck the first person to organize a computer around two stacks
    with these intended functions?

    If not then to whom do we ascribe this architecture?

    1964 English Electric KDF9:

    Registers
    The CPU architecture featured three register sets. The Nest was a 16-deep pushdown stack of arithmetic registers, The SJNS (Subroutine Jump Nesting Store) was a similar stack of return addresses. The Q Store was a set of
    16 index registers, ...
    from:
    https://en.wikipedia.org/wiki/English_Electric_KDF9
    see also:
    http://www.findlayw.plus.com/KDF9/


    Jan Coombs
    --

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From jan Coombs@21:1/5 to Brian Fox on Wed Aug 9 17:33:28 2023
    On Wed, 9 Aug 2023 06:54:07 -0700 (PDT)
    Brian Fox <brian.fox@brianfox.ca> wrote:

    Was Chuck the first person to organize a computer around two stacks
    with these intended functions?

    "A data stack is used to store numbers and addresses of operands.
    Operators generally expect data on the stack in a predefined order
    and return results to the stack. A second stack called the return
    stack is used to store program flow-control parameters. This stack
    can also be used for temporary data storage (carefully). Two stacks
    are used to separate data from control parameters. The data stack,
    commonly called just the stack, is always 16 bits wide. The return
    stack will always be called just that and is usually 16 bits wide.
    Sometimes the return stack is only 8 bits wide."
    from
    "Threaded Interpretive Languages - Their Design and Implementation"
    by R. G. Loeliger Copyright © 1981 BYTE Publications Inc

    Jan Coombs

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Fox@21:1/5 to Lorem Ipsum on Wed Aug 9 13:47:09 2023
    On Wednesday, August 9, 2023 at 12:01:00 PM UTC-4, Lorem Ipsum wrote:

    Are you saying the B5000 did not have a data stack, or did not have a return stack?

    From my quick read of the Wikipedia page I see one stack.

    https://en.wikipedia.org/wiki/Burroughs_Large_Systems

    This makes sense since it was designed to run Algol which assumes one stack like
    Pascal, C and others in that line of languages.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Fox@21:1/5 to Lorem Ipsum on Wed Aug 9 13:54:46 2023
    On Wednesday, August 9, 2023 at 12:01:00 PM UTC-4, Lorem Ipsum wrote:


    I know HP made minicomputers with two stacks.

    This is interesting.
    I missed this statement earlier.
    Do you remember an HP model number?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Fox@21:1/5 to jan Coombs on Wed Aug 9 13:51:39 2023
    On Wednesday, August 9, 2023 at 1:06:29 PM UTC-4, jan Coombs wrote:
    On Wed, 9 Aug 2023 06:54:07 -0700 (PDT)
    Brian Fox <bria...@brianfox.ca> wrote:
    Was Chuck the first person to organize a computer around two stacks
    with these intended functions?

    If not then to whom do we ascribe this architecture?
    1964 English Electric KDF9:

    Registers
    The CPU architecture featured three register sets. The Nest was a 16-deep pushdown stack of arithmetic registers, The SJNS (Subroutine Jump Nesting Store) was a similar stack of return addresses. The Q Store was a set of
    16 index registers, ...
    from:
    https://en.wikipedia.org/wiki/English_Electric_KDF9
    see also:
    http://www.findlayw.plus.com/KDF9/


    Jan Coombs
    --

    Thanks Jan. That answers the question.
    It was English Electric that pioneered this thing.
    Although they created a "stack" of registers whereas Chuck is hardcore
    on the pure stack concept.

    All we need is a good name for this Architecture.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lorem Ipsum@21:1/5 to Brian Fox on Wed Aug 9 14:55:20 2023
    On Wednesday, August 9, 2023 at 4:54:48 PM UTC-4, Brian Fox wrote:
    On Wednesday, August 9, 2023 at 12:01:00 PM UTC-4, Lorem Ipsum wrote:


    I know HP made minicomputers with two stacks.
    This is interesting.
    I missed this statement earlier.
    Do you remember an HP model number?

    No, a friend had a job at HP analyzing crash dumps on these machines.

    I don't get the need to give a stack machine a special name, particularly named after a person. Why not just call it a stack machine?

    --

    Rick C.

    + Get 1,000 miles of free Supercharging
    + Tesla referral code - https://ts.la/richard11209

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lorem Ipsum@21:1/5 to Brian Fox on Wed Aug 9 16:00:37 2023
    On Wednesday, August 9, 2023 at 6:34:35 PM UTC-4, Brian Fox wrote:
    On Wednesday, August 9, 2023 at 5:55:22 PM UTC-4, Lorem Ipsum wrote:

    No, a friend had a job at HP analyzing crash dumps on these machines.

    I don't get the need to give a stack machine a special name, particularly named after a person. Why not just call it a stack machine?
    The "canonical" stack machine has one stack for all purposes.
    The machine and virtual machine that Chuck focused on has two stacks
    with different purposes.

    It's not much, but if Harvard architecture gets a name for separating code and data
    why not a name for stack machine that separates return addresses and data? To me that's the difference that makes a difference. :-)

    Who defined the "canonical" stack machine?

    Why complicate life by making up names for things we've talked about for decades without special new names? Who is going to even know we have created this name? I find very, very few people who know anything about MISC, mostly because it's a concept
    the rest of computerdom doesn't care about, just like the two stack virtual machine. Actually, many CPU designs use three stacks, one for floating point. Are they not Moore machines, then?

    Where's the utility. There's not even enough conversation in this group about such machines to make it worthwhile to give it a name. In no small part, because so few designs will actually qualify. That's why I never use the term "Forth" CPU without
    using quotations. It's just not a useful name, unless someone in the discussion defines it first. So far, every time I've seen it defined, it has been different. Kinda like when some British guy referred to English as a language that divides us.

    --

    Rick C.

    -- Get 1,000 miles of free Supercharging
    -- Tesla referral code - https://ts.la/richard11209

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Fox@21:1/5 to Lorem Ipsum on Wed Aug 9 15:34:33 2023
    On Wednesday, August 9, 2023 at 5:55:22 PM UTC-4, Lorem Ipsum wrote:

    No, a friend had a job at HP analyzing crash dumps on these machines.

    I don't get the need to give a stack machine a special name, particularly named after a person. Why not just call it a stack machine?

    The "canonical" stack machine has one stack for all purposes.
    The machine and virtual machine that Chuck focused on has two stacks
    with different purposes.

    It's not much, but if Harvard architecture gets a name for separating code and data
    why not a name for stack machine that separates return addresses and data?
    To me that's the difference that makes a difference. :-)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lorem Ipsum@21:1/5 to Brian Fox on Wed Aug 9 16:02:31 2023
    On Wednesday, August 9, 2023 at 6:34:35 PM UTC-4, Brian Fox wrote:
    On Wednesday, August 9, 2023 at 5:55:22 PM UTC-4, Lorem Ipsum wrote:

    No, a friend had a job at HP analyzing crash dumps on these machines.

    I don't get the need to give a stack machine a special name, particularly named after a person. Why not just call it a stack machine?
    The "canonical" stack machine has one stack for all purposes.
    The machine and virtual machine that Chuck focused on has two stacks
    with different purposes.

    It's not much, but if Harvard architecture gets a name for separating code and data
    why not a name for stack machine that separates return addresses and data? To me that's the difference that makes a difference. :-)

    Canonical stack machine

    https://users.ece.cmu.edu/~koopman/stack_computers/sec3_2.html

    --

    Rick C.

    -+ Get 1,000 miles of free Supercharging
    -+ Tesla referral code - https://ts.la/richard11209

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Fox@21:1/5 to All on Wed Aug 9 17:31:25 2023
    Thanks for reminding me of this text. I have copy around here somewhere.

    I just noticed that the first section of Chapter 3 of Phil's book creates
    an ambiguous situation vis a vis the "canonical stack machine"
    diagram.

    "3.1 WHY THESE MACHINES ARE INTERESTING
    Multiple stack, 0-operand machines have two inherent advantages
    over other machines:"

    He clearly is going to talk about "multiple stack 0-operand machines".
    The phrase "other machines" implies that single stack machines are outside
    of the set he is discussing.

    So perhaps in order to avoid confusion in future we would be better to take
    Dr. Koopman's lead and say "Multiple stack machines" rather than Forth CPUs.

    That's good enough for me.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lorem Ipsum@21:1/5 to Brian Fox on Wed Aug 9 17:59:19 2023
    On Wednesday, August 9, 2023 at 8:20:36 PM UTC-4, Brian Fox wrote:
    On Wednesday, August 9, 2023 at 7:02:34 PM UTC-4, Lorem Ipsum wrote:
    On Wednesday, August 9, 2023 at 6:34:35 PM UTC-4, Brian Fox wrote:
    On Wednesday, August 9, 2023 at 5:55:22 PM UTC-4, Lorem Ipsum wrote:

    No, a friend had a job at HP analyzing crash dumps on these machines.

    I don't get the need to give a stack machine a special name, particularly named after a person. Why not just call it a stack machine?
    The "canonical" stack machine has one stack for all purposes.
    The machine and virtual machine that Chuck focused on has two stacks with different purposes.

    It's not much, but if Harvard architecture gets a name for separating code and data
    why not a name for stack machine that separates return addresses and data?
    To me that's the difference that makes a difference. :-)
    Canonical stack machine

    https://users.ece.cmu.edu/~koopman/stack_computers/sec3_2.html

    --

    Rick C.

    -+ Get 1,000 miles of free Supercharging
    -+ Tesla referral code - https://ts.la/richard11209
    I would have to say that I disagree with Dr. Koopman on his name for the diagram.
    The B5000 was a single stack machine and is referred to as a "stack machine".
    The "stack machine" from English Electric was different with two stacks
    of registers and Chuck's were different again.

    From my perspective specific names allow for clearer communication.
    If in the year 2023 everyone knows when we say a "stack machine" it now means a two-stack version, I am ok with that. I will update my vocabulary.

    I don't agree. "Stack machine" means exactly what the user of the term wants it to mean, just like Humpty Dumpty.

    My point is that virtually no one will read your vocabulary or care about what specific details make up *your* definition of "stack machine".


    My guess is however that if you say "stack machine" on comp.lang.c
    they would not think of something that looks like Phil Koopmans drawing
    but rather more like the B5000 but that's an assumption on my part.

    And if it's a difference that nobody thinks is material, then so be it... ... I am a lowly peon in the world of comp. sci. :-)

    I think you are getting closer to the truth.

    --

    Rick C.

    +- Get 1,000 miles of free Supercharging
    +- Tesla referral code - https://ts.la/richard11209

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Fox@21:1/5 to Lorem Ipsum on Wed Aug 9 17:20:34 2023
    On Wednesday, August 9, 2023 at 7:02:34 PM UTC-4, Lorem Ipsum wrote:
    On Wednesday, August 9, 2023 at 6:34:35 PM UTC-4, Brian Fox wrote:
    On Wednesday, August 9, 2023 at 5:55:22 PM UTC-4, Lorem Ipsum wrote:

    No, a friend had a job at HP analyzing crash dumps on these machines.

    I don't get the need to give a stack machine a special name, particularly named after a person. Why not just call it a stack machine?
    The "canonical" stack machine has one stack for all purposes.
    The machine and virtual machine that Chuck focused on has two stacks
    with different purposes.

    It's not much, but if Harvard architecture gets a name for separating code and data
    why not a name for stack machine that separates return addresses and data? To me that's the difference that makes a difference. :-)
    Canonical stack machine

    https://users.ece.cmu.edu/~koopman/stack_computers/sec3_2.html

    --

    Rick C.

    -+ Get 1,000 miles of free Supercharging
    -+ Tesla referral code - https://ts.la/richard11209

    I would have to say that I disagree with Dr. Koopman on his name for the diagram.
    The B5000 was a single stack machine and is referred to as a "stack machine". The "stack machine" from English Electric was different with two stacks
    of registers and Chuck's were different again.

    From my perspective specific names allow for clearer communication.
    If in the year 2023 everyone knows when we say a "stack machine" it now
    means a two-stack version, I am ok with that. I will update my vocabulary.

    My guess is however that if you say "stack machine" on comp.lang.c
    they would not think of something that looks like Phil Koopmans drawing
    but rather more like the B5000 but that's an assumption on my part.

    And if it's a difference that nobody thinks is material, then so be it...
    ... I am a lowly peon in the world of comp. sci. :-)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Fox@21:1/5 to Lorem Ipsum on Wed Aug 9 19:05:03 2023
    On Wednesday, August 9, 2023 at 8:59:22 PM UTC-4, Lorem Ipsum wrote:

    My point is that virtually no one will read your vocabulary or care about what specific details make up
    *your* definition of "stack machine".

    It's not my definition now. Koopman's name, "Multiple stack machine" is what I will
    use from now on.

    I think you are getting closer to the truth.
    Well there, see. We can agree on something.

    I am looking for a slightly bigger sample size before making up
    my mind on this.

    Anyone else want to play in this mud?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to Brian Fox on Wed Aug 9 23:13:26 2023
    On Thursday, 10 August 2023 at 03:05:05 UTC+1, Brian Fox wrote:
    On Wednesday, August 9, 2023 at 8:59:22 PM UTC-4, Lorem Ipsum wrote:

    My point is that virtually no one will read your vocabulary or care about what specific details make up
    *your* definition of "stack machine".
    It's not my definition now. Koopman's name, "Multiple stack machine" is what I will
    use from now on.
    I think you are getting closer to the truth.
    Well there, see. We can agree on something.

    I am looking for a slightly bigger sample size before making up
    my mind on this.

    Anyone else want to play in this mud?

    What a wonderful idea to call it Moore Architecture.
    We all would know what it means then.
    If it is not well known outside Forth - no probl;em.
    Special groups have special vocabularies to make work more effective.

    Chuck Moore invented Forth,
    And for this he needed the hardware with this functionality
    He deserves to be recognized for what he has achieved.

    For me it is a MOORE ARCHITECTURE from now on.
    Thank you for bringing it up.
    And Chuck should be made aware of it. To see what he thinks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to Lorem Ipsum on Thu Aug 10 07:17:30 2023
    Lorem Ipsum <gnuarm.deletethisbit@gmail.com> writes:
    I don't agree. "Stack machine" means exactly what the user of the term wan= >ts it to mean, just like Humpty Dumpty. =20

    Alice disagreed with Humpty Dumpty. Humpty Dumpty was not interested
    in communicating with others, Brian Fox is.

    Brian, if the multiple-stack property is important for the stuff you
    are writing, calling it a multiple-stack machine is certainly a good
    way to communicate. The dash is helpful in understanding the concept.

    My point is that virtually no one will read your vocabulary or care about w= >hat specific details make up *your* definition of "stack machine". =20

    That will certainly be the case if he takes the Humpty-Dumpty approach
    to communication.

    - 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: https://forth-standard.org/
    EuroForth 2023: https://euro.theforth.net/2023

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lorem Ipsum@21:1/5 to Jurgen Pitaske on Thu Aug 10 00:19:34 2023
    On Thursday, August 10, 2023 at 2:13:28 AM UTC-4, Jurgen Pitaske wrote:
    On Thursday, 10 August 2023 at 03:05:05 UTC+1, Brian Fox wrote:
    On Wednesday, August 9, 2023 at 8:59:22 PM UTC-4, Lorem Ipsum wrote:

    My point is that virtually no one will read your vocabulary or care about what specific details make up
    *your* definition of "stack machine".
    It's not my definition now. Koopman's name, "Multiple stack machine" is what I will
    use from now on.
    I think you are getting closer to the truth.
    Well there, see. We can agree on something.

    I am looking for a slightly bigger sample size before making up
    my mind on this.

    Anyone else want to play in this mud?
    What a wonderful idea to call it Moore Architecture.
    We all would know what it means then.
    If it is not well known outside Forth - no probl;em.
    Special groups have special vocabularies to make work more effective.

    It's not a question of people outside the Forth community not knowing. It's a matter of most people, including people in this community, not caring. I think there are maybe five people in the world who have even noticed this conversation and care.


    Chuck Moore invented Forth,
    And for this he needed the hardware with this functionality

    What? Chuck Moore spent years writing Forth on various computers that were not stack CPUs. He only worked on a stack oriented CPU when he was able to attract the interest of someone who could pay to have it built. None of the stack processors were
    commercial successes. The closest is the one they use in a handful of satellites, which is primarily because it was space qualified. Once you have that, you are over a barrier that few CPUs have crossed, so it appears much more "space friendly".
    Otherwise, it would have been dead decades ago.


    He deserves to be recognized for what he has achieved.

    I believe he has been widely recognized as the creator of the Forth language, even if that means so much less now than it did 30 years ago.


    For me it is a MOORE ARCHITECTURE from now on.
    Thank you for bringing it up.
    And Chuck should be made aware of it. To see what he thinks.

    Ok, now we have two competing names, with *no* definition for one of them.

    --

    Rick C.

    ++ Get 1,000 miles of free Supercharging
    ++ Tesla referral code - https://ts.la/richard11209

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Christopher Lozinski@21:1/5 to All on Thu Aug 10 00:34:31 2023
    In France there is a ministry of language, which decides what is French and what is not. But in the rest of the world language develops by evolution of ideas. Each of us have slightly different ideas and views of the world. We should all use whatever
    words make most sense to us, Over time the best words will spread and be used by all.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lorem Ipsum@21:1/5 to Christopher Lozinski on Thu Aug 10 00:44:13 2023
    On Thursday, August 10, 2023 at 3:34:34 AM UTC-4, Christopher Lozinski wrote:
    In France there is a ministry of language, which decides what is French and what is not. But in the rest of the world language develops by evolution of ideas. Each of us have slightly different ideas and views of the world. We should all use whatever
    words make most sense to us, Over time the best words will spread and be used by all.

    That is a fallacy, with a result of the lack of ability to communicate.

    "England and America are two countries divided by a common language"

    You are free to use any dialect that you choose, including a new one invented by you.

    You do realize that these conversations have produced two terms for this, no? JP has said he's using "Moore machine" which will be readily confused with the name of a finite state machine type. Oh, the horror!

    --

    Rick C.

    --- Get 1,000 miles of free Supercharging
    --- Tesla referral code - https://ts.la/richard11209

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to Lorem Ipsum on Thu Aug 10 01:27:45 2023
    On Thursday, 10 August 2023 at 08:44:16 UTC+1, Lorem Ipsum wrote:
    On Thursday, August 10, 2023 at 3:34:34 AM UTC-4, Christopher Lozinski wrote:
    In France there is a ministry of language, which decides what is French and what is not. But in the rest of the world language develops by evolution of ideas. Each of us have slightly different ideas and views of the world. We should all use whatever
    words make most sense to us, Over time the best words will spread and be used by all.
    That is a fallacy, with a result of the lack of ability to communicate.

    "England and America are two countries divided by a common language"

    You are free to use any dialect that you choose, including a new one invented by you.

    You do realize that these conversations have produced two terms for this, no? JP has said he's using "Moore machine" which will be readily confused with the name of a finite state machine type. Oh, the horror!

    --

    Rick C.

    --- Get 1,000 miles of free Supercharging
    --- Tesla referral code - https://ts.la/richard11209

    uuuups Moore and Mealy

    https://www.google.com/search?q=Moore+and+mealey&rlz=1C1CAFA_enGB781GB781&oq=Moore+and+mealey&gs_lcrp=
    EgZjaHJvbWUyBggAEEUYOTIJCAEQABgKGIAEMgkIAhAAGAoYgAQyCQgDEAAYChiABDIJCAQQABgKGIAEMgkIBRAAGAoYgAQyCQgGEAAYChiABDIJCAcQABgKGIAEMgkICBAAGAoYgAQyCQgJEAAYChiABNIBDjg1Nzk1NDk3MGowajE1qAIAsAIA&sourceid=chrome&ie=UTF-8
    I forget this

    and as well
    https://en.wikipedia.org/wiki/Moore%27s_law

    So let's go for Chuck-Dual-Stack Architecture ...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lorem Ipsum@21:1/5 to Jurgen Pitaske on Thu Aug 10 01:50:39 2023
    On Thursday, August 10, 2023 at 4:27:48 AM UTC-4, Jurgen Pitaske wrote:
    On Thursday, 10 August 2023 at 08:44:16 UTC+1, Lorem Ipsum wrote:
    On Thursday, August 10, 2023 at 3:34:34 AM UTC-4, Christopher Lozinski wrote:
    In France there is a ministry of language, which decides what is French and what is not. But in the rest of the world language develops by evolution of ideas. Each of us have slightly different ideas and views of the world. We should all use
    whatever words make most sense to us, Over time the best words will spread and be used by all.
    That is a fallacy, with a result of the lack of ability to communicate.

    "England and America are two countries divided by a common language"

    You are free to use any dialect that you choose, including a new one invented by you.

    You do realize that these conversations have produced two terms for this, no? JP has said he's using "Moore machine" which will be readily confused with the name of a finite state machine type. Oh, the horror!

    --

    Rick C.

    --- Get 1,000 miles of free Supercharging
    --- Tesla referral code - https://ts.la/richard11209
    uuuups Moore and Mealy

    https://www.google.com/search?q=Moore+and+mealey&rlz=1C1CAFA_enGB781GB781&oq=Moore+and+mealey&gs_lcrp=
    EgZjaHJvbWUyBggAEEUYOTIJCAEQABgKGIAEMgkIAhAAGAoYgAQyCQgDEAAYChiABDIJCAQQABgKGIAEMgkIBRAAGAoYgAQyCQgGEAAYChiABDIJCAcQABgKGIAEMgkICBAAGAoYgAQyCQgJEAAYChiABNIBDjg1Nzk1NDk3MGowajE1qAIAsAIA&sourceid=chrome&ie=UTF-8
    I forget this

    and as well
    https://en.wikipedia.org/wiki/Moore%27s_law

    So let's go for Chuck-Dual-Stack Architecture ...

    Sell the chips for $2 and call it, "Two buck Chuck"!

    --

    Rick C.

    --+ Get 1,000 miles of free Supercharging
    --+ Tesla referral code - https://ts.la/richard11209

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From SpainHackForth@21:1/5 to All on Thu Aug 10 02:41:11 2023
    How about:

    “StackFusion Architecture.” This name captures the fusion of the stack-based computing principles with the innovative aspects of this architecture. It’s distinctive, evokes the concept of combining stacks, and suggests a cohesive approach to
    computing.

    - Representation of Core Principles;
    The name “StackFusion Architecture” encapsulates the fundamental essence of the design, emphasizing the fusion of stack-based computing with modern architectural concepts. This name succinctly communicates the core principles of the architecture,
    making it easier for developers and enthusiasts to understand its nature at a glance.
    - Evokes Innovation and Unity;
    “StackFusion” suggests a harmonious merging of different elements, symbolizing the combination of traditional stack-based computing with innovative design approaches. This name reflects the innovative spirit of the architecture and the unity of
    diverse concepts brought together to create something new and impactful.
    - Memorability and Catchiness;
    The term “StackFusion” is memorable and has a catchy ring to it. A name that is easy to remember enhances communication and encourages people to engage in discussions about the architecture. It stands out and invites curiosity, making it more likely
    for the concept to gain recognition and popularity.
    - Differentiation from Other Architectures;
    “StackFusion Architecture” sets this design apart from conventional architectures that rely on different principles. It immediately communicates that this architecture is stack-based, but it also emphasizes the fusion of ideas that make it distinct.
    This differentiation is essential in discussions and comparisons within the tech community.
    - Applicability to Various Contexts;
    The name “StackFusion Architecture” is versatile and can be adapted for various contexts, such as academic papers, technical discussions, and community forums. It provides a clear reference point for further exploration, research, and development
    related to this innovative stack-based design.
    - Inspiring Future Innovation;
    A unique name like “StackFusion Architecture” can inspire future innovation in the realm of stack-based computing. The name itself implies a combination of traditional and modern elements, suggesting that this architecture is open to further
    advancements and adaptations, sparking creative thinking among developers.
    - Community Engagement and Interest;
    A distinctive and intriguing name like “StackFusion Architecture” can generate curiosity and attract attention within the tech community. It encourages developers and researchers to delve deeper into the architecture, leading to increased engagement,
    collaboration, and knowledge sharing.

    I believe that “StackFusion Architecture” serves as an apt and compelling name for this innovative stack-based design. It captures the essence of merging traditional stack principles with modern concepts, stands out in discussions, and holds the
    potential to inspire further exploration and development in the field of computing architecture.

    Cheers!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From NN@21:1/5 to Brian Fox on Thu Aug 10 06:12:19 2023
    On Wednesday, 9 August 2023 at 14:54:10 UTC+1, Brian Fox wrote:
    With the discussion around whether a "Forth CPU" is a real thing I
    wondered if it would be worthwhile calling a [data stack/return stack] architecture a "Moore Architecture" to allow smoother conversation.

    Was Chuck the first person to organize a computer around two stacks
    with these intended functions?

    If not then to whom do we ascribe this architecture?


    Have you considered the SECD machine ?
    Although the letters are meant to stand for registers, they point to stacks
    ( except the environment which was usually as assoc array )

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From James Brakefield@21:1/5 to Brian Fox on Thu Aug 10 05:56:35 2023
    On Wednesday, August 9, 2023 at 9:05:05 PM UTC-5, Brian Fox wrote:
    On Wednesday, August 9, 2023 at 8:59:22 PM UTC-4, Lorem Ipsum wrote:

    My point is that virtually no one will read your vocabulary or care about what specific details make up
    *your* definition of "stack machine".
    It's not my definition now. Koopman's name, "Multiple stack machine" is what I will
    use from now on.
    I think you are getting closer to the truth.
    Well there, see. We can agree on something.

    I am looking for a slightly bigger sample size before making up
    my mind on this.

    Anyone else want to play in this mud?

    Ugh,
    Anyone else want to play in this mud?

    My preference is "zero-operand stack machine" as it usually implies separate data and return stacks.
    There is a more general perspective, wherein I have used the term: "eleven memories of computer architecture"
    And is best visited from the viewpoint of writing interpreters for various ISAs:
    Given a given technology era, how are the various implementation (micro-architecture) mapped into a emulation memory space?
    So C maps data and control temporaries into a single memory stack (a section of memory holding those items).
    Forth uses two sections of memory. Then there are other "memory" that are mapped for the purposes of ISA emulation.
    The register file, floating-point stack, micro-code memory, byte code dispatch table, locals, etc.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Clive Arthur@21:1/5 to Jurgen Pitaske on Thu Aug 10 23:53:50 2023
    On 10/08/2023 07:13, Jurgen Pitaske wrote:

    <snip>

    What a wonderful idea to call it Moore Architecture.

    Yes, I agree. We can argue whether or not Chuck was first to do this,
    that, or the other, but Novix, RTX, PTSC1000, and many subsequent FPGA implementations are surely worthy of an eponym?

    --
    Cheers
    Clive

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to Brian Fox on Thu Aug 10 15:28:40 2023
    On Thursday, August 10, 2023 at 4:05:05 AM UTC+2, Brian Fox wrote:
    On Wednesday, August 9, 2023 at 8:59:22 PM UTC-4, Lorem Ipsum wrote:

    My point is that virtually no one will read your vocabulary or care about what specific details make up
    *your* definition of "stack machine".
    It's not my definition now. Koopman's name, "Multiple stack machine" is what I will
    use from now on.
    I think you are getting closer to the truth.
    Well there, see. We can agree on something.

    I am looking for a slightly bigger sample size before making up
    my mind on this.

    Anyone else want to play in this mud?
    You need only one stack - but two stack pointers. 4tH has one stack, but two stack pointers. If they collide your stack is full.

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lorem Ipsum@21:1/5 to Clive Arthur on Thu Aug 10 17:22:46 2023
    On Thursday, August 10, 2023 at 6:53:57 PM UTC-4, Clive Arthur wrote:
    On 10/08/2023 07:13, Jurgen Pitaske wrote:

    <snip>
    What a wonderful idea to call it Moore Architecture.
    Yes, I agree. We can argue whether or not Chuck was first to do this,
    that, or the other, but Novix, RTX, PTSC1000, and many subsequent FPGA implementations are surely worthy of an eponym?

    Uh, I'm not sure what you are trying to include in your list. I believe the names are intended to specify some particular details in the structure of the CPU. If that is, in fact, the case, then we will need a bunch of names. Look at Hans' post!

    I can't see where there is any particular need for such names. But then, I've seen discussions go on for quite some time in c.l.f over much Moore trivial details. ;-)

    --

    Rick C.

    -+- Get 1,000 miles of free Supercharging
    -+- Tesla referral code - https://ts.la/richard11209

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Buzz McCool@21:1/5 to Brian Fox on Fri Aug 11 08:41:10 2023
    On 8/9/2023 1:54 PM, Brian Fox wrote:
    On Wednesday, August 9, 2023 at 12:01:00 PM UTC-4, Lorem Ipsum wrote:


    I know HP made minicomputers with two stacks.

    This is interesting.
    I missed this statement earlier.
    Do you remember an HP model number?
    HP 3000

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Fox@21:1/5 to Buzz McCool on Fri Aug 11 11:37:25 2023
    On Friday, August 11, 2023 at 11:41:13 AM UTC-4, Buzz McCool wrote:

    HP 3000

    Thank you.

    I just did some reading in this pdf manual and some other sites.

    http://bitsavers.org/pdf/hp/3000/hp3000/5952-4431_HP3000_Summary_Description_Feb73.pdf

    I think HP3000 like B5000 used the same stack for all purposes however I cannot seem
    to find hard evidence of that. It seems the entire thing was programmed
    at the low level in something called SPL which looks very much like Pascal/Algol.
    I cannot find a document about Assembly Language on the HP3000.

    The instruction set has a Procedure call and a Sub-routine call but I cannot find info
    on what transpires in the CPU when they are executed.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Brian Fox on Sat Aug 12 12:55:18 2023
    On 12/08/2023 4:37 am, Brian Fox wrote:
    On Friday, August 11, 2023 at 11:41:13 AM UTC-4, Buzz McCool wrote:

    HP 3000

    Thank you.

    I just did some reading in this pdf manual and some other sites.

    http://bitsavers.org/pdf/hp/3000/hp3000/5952-4431_HP3000_Summary_Description_Feb73.pdf

    I think HP3000 like B5000 used the same stack for all purposes however I cannot seem
    to find hard evidence of that. It seems the entire thing was programmed
    at the low level in something called SPL which looks very much like Pascal/Algol.
    I cannot find a document about Assembly Language on the HP3000.

    The instruction set has a Procedure call and a Sub-routine call but I cannot find info
    on what transpires in the CPU when they are executed.

    If the end use of a stack-based processor was a register-based language,
    what was the point? Elizabeth suggested users found it more convenient
    to run a PolyForth port on the GA144 than program it natively. Not sure
    if a dig but raises the question of creating something simply because one
    can. That it has become feasible to 'Build your own CPU' (or SBC, or
    Forth, or Standard) is no justification to do it. Hugh relates Testra
    was under competitive pressure to create their chip. As excuses go it's
    at least plausible.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lorem Ipsum@21:1/5 to dxforth on Fri Aug 11 23:04:52 2023
    On Friday, August 11, 2023 at 10:55:22 PM UTC-4, dxforth wrote:
    On 12/08/2023 4:37 am, Brian Fox wrote:
    On Friday, August 11, 2023 at 11:41:13 AM UTC-4, Buzz McCool wrote:

    HP 3000

    Thank you.

    I just did some reading in this pdf manual and some other sites.

    http://bitsavers.org/pdf/hp/3000/hp3000/5952-4431_HP3000_Summary_Description_Feb73.pdf

    I think HP3000 like B5000 used the same stack for all purposes however I cannot seem
    to find hard evidence of that. It seems the entire thing was programmed
    at the low level in something called SPL which looks very much like Pascal/Algol.
    I cannot find a document about Assembly Language on the HP3000.

    The instruction set has a Procedure call and a Sub-routine call but I cannot find info
    on what transpires in the CPU when they are executed.
    If the end use of a stack-based processor was a register-based language, what was the point? Elizabeth suggested users found it more convenient
    to run a PolyForth port on the GA144 than program it natively. Not sure
    if a dig but raises the question of creating something simply because one can. That it has become feasible to 'Build your own CPU' (or SBC, or
    Forth, or Standard) is no justification to do it. Hugh relates Testra
    was under competitive pressure to create their chip. As excuses go it's
    at least plausible.

    Why would anyone want to program even a stack processor in assembly language? While the GA144 may seem similar to Forth, it is actually very different. Like many assembly lanugages, it has many quirks at the assembly level that are easy to forget about
    and/or screw up. This is one of several reasons why I eschew the idea that a stack processor should be called a Forth processor.

    This is also why I would point out that the Testra processor was not a Forth processor. If I'm not mistaken, Hugh is happy to point out that the CPU was very hard to program at the assembly level and his compiler was very important to the chip being
    useful.

    --

    Rick C.

    -++ Get 1,000 miles of free Supercharging
    -++ Tesla referral code - https://ts.la/richard11209

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From none) (albert@21:1/5 to brian.fox@brianfox.ca on Sat Aug 12 09:07:42 2023
    In article <3fd96aca-8f9b-4c2e-9f38-2635b06f7cd2n@googlegroups.com>,
    Brian Fox <brian.fox@brianfox.ca> wrote:
    On Friday, August 11, 2023 at 11:41:13 AM UTC-4, Buzz McCool wrote:

    HP 3000

    Thank you.

    I just did some reading in this pdf manual and some other sites.

    http://bitsavers.org/pdf/hp/3000/hp3000/5952-4431_HP3000_Summary_Description_Feb73.pdf

    I think HP3000 like B5000 used the same stack for all purposes however I >cannot seem
    to find hard evidence of that. It seems the entire thing was programmed
    at the low level in something called SPL which looks very much like >Pascal/Algol.
    I cannot find a document about Assembly Language on the HP3000.

    The instruction set has a Procedure call and a Sub-routine call but I
    cannot find info
    on what transpires in the CPU when they are executed.

    It can be claimed that the pdp16 where each register supports autodecrement
    / autoincrement has dual (or more) stacks. The current argument is
    rather moot.
    Groetjes Albert


    --
    Don't praise the day before the evening. One swallow doesn't make spring.
    You must not say "hey" before you have crossed the bridge. Don't sell the
    hide of the bear until you shot it. Better one bird in the hand than ten in
    the air. First gain is a cat spinning. - the Wise from Antrim -

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Lorem Ipsum on Sat Aug 12 19:01:57 2023
    On 12/08/2023 4:04 pm, Lorem Ipsum wrote:
    On Friday, August 11, 2023 at 10:55:22 PM UTC-4, dxforth wrote:
    On 12/08/2023 4:37 am, Brian Fox wrote:
    On Friday, August 11, 2023 at 11:41:13 AM UTC-4, Buzz McCool wrote:

    HP 3000

    Thank you.

    I just did some reading in this pdf manual and some other sites.

    http://bitsavers.org/pdf/hp/3000/hp3000/5952-4431_HP3000_Summary_Description_Feb73.pdf

    I think HP3000 like B5000 used the same stack for all purposes however I cannot seem
    to find hard evidence of that. It seems the entire thing was programmed
    at the low level in something called SPL which looks very much like Pascal/Algol.
    I cannot find a document about Assembly Language on the HP3000.

    The instruction set has a Procedure call and a Sub-routine call but I cannot find info
    on what transpires in the CPU when they are executed.
    If the end use of a stack-based processor was a register-based language,
    what was the point? Elizabeth suggested users found it more convenient
    to run a PolyForth port on the GA144 than program it natively. Not sure
    if a dig but raises the question of creating something simply because one
    can. That it has become feasible to 'Build your own CPU' (or SBC, or
    Forth, or Standard) is no justification to do it. Hugh relates Testra
    was under competitive pressure to create their chip. As excuses go it's
    at least plausible.

    Why would anyone want to program even a stack processor in assembly language? While the GA144 may seem similar to Forth, it is actually very different. Like many assembly lanugages, it has many quirks at the assembly level that are easy to forget
    about and/or screw up. This is one of several reasons why I eschew the idea that a stack processor should be called a Forth processor.

    This is also why I would point out that the Testra processor was not a Forth processor. If I'm not mistaken, Hugh is happy to point out that the CPU was very hard to program at the assembly level and his compiler was very important to the chip being
    useful.


    So a mismatch between what was wanted and what was available. Not a great recipe for performance but apparently good enough for their purposes.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lorem Ipsum@21:1/5 to dxforth on Sat Aug 12 03:20:52 2023
    On Saturday, August 12, 2023 at 5:02:01 AM UTC-4, dxforth wrote:
    On 12/08/2023 4:04 pm, Lorem Ipsum wrote:
    On Friday, August 11, 2023 at 10:55:22 PM UTC-4, dxforth wrote:
    On 12/08/2023 4:37 am, Brian Fox wrote:
    On Friday, August 11, 2023 at 11:41:13 AM UTC-4, Buzz McCool wrote: >>>
    HP 3000

    Thank you.

    I just did some reading in this pdf manual and some other sites.

    http://bitsavers.org/pdf/hp/3000/hp3000/5952-4431_HP3000_Summary_Description_Feb73.pdf

    I think HP3000 like B5000 used the same stack for all purposes however I cannot seem
    to find hard evidence of that. It seems the entire thing was programmed >>> at the low level in something called SPL which looks very much like Pascal/Algol.
    I cannot find a document about Assembly Language on the HP3000.

    The instruction set has a Procedure call and a Sub-routine call but I cannot find info
    on what transpires in the CPU when they are executed.
    If the end use of a stack-based processor was a register-based language, >> what was the point? Elizabeth suggested users found it more convenient
    to run a PolyForth port on the GA144 than program it natively. Not sure >> if a dig but raises the question of creating something simply because one >> can. That it has become feasible to 'Build your own CPU' (or SBC, or
    Forth, or Standard) is no justification to do it. Hugh relates Testra
    was under competitive pressure to create their chip. As excuses go it's >> at least plausible.

    Why would anyone want to program even a stack processor in assembly language? While the GA144 may seem similar to Forth, it is actually very different. Like many assembly lanugages, it has many quirks at the assembly level that are easy to forget
    about and/or screw up. This is one of several reasons why I eschew the idea that a stack processor should be called a Forth processor.

    This is also why I would point out that the Testra processor was not a Forth processor. If I'm not mistaken, Hugh is happy to point out that the CPU was very hard to program at the assembly level and his compiler was very important to the chip being
    useful.

    So a mismatch between what was wanted and what was available. Not a great recipe for performance but apparently good enough for their purposes.

    I have no idea what you are talking about. Please find another way of stating your point.

    --

    Rick C.

    +-- Get 1,000 miles of free Supercharging
    +-- Tesla referral code - https://ts.la/richard11209

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Fox@21:1/5 to dxforth on Sat Aug 12 06:35:31 2023
    On Friday, August 11, 2023 at 10:55:22 PM UTC-4, dxforth wrote:

    If the end use of a stack-based processor was a register-based language, what was the point? Elizabeth suggested users found it more convenient
    to run a PolyForth port on the GA144 than program it natively. Not sure
    if a dig but raises the question of creating something simply because one can. That it has become feasible to 'Build your own CPU' (or SBC, or
    Forth, or Standard) is no justification to do it. Hugh relates Testra
    was under competitive pressure to create their chip. As excuses go it's
    at least plausible.

    One could argue that the Algol language family is very stack oriented.
    Where they differed from Chuck's approach was in trying to abstract the hardware away from the programmer as far as possible.

    Academia seems to favour that approach and I suppose by language
    popularity so do the "masses" .

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From hohensee@21:1/5 to All on Mon Aug 21 18:44:57 2023
    Hi folks.

    How many stacks a machine has implicitly is how many stacks the instructions use implicitly. On a 2 stack machine ret uses a stack implicitly, and + uses another
    stack implicitly. Some of my sketches of CPUs have loops that know about thier indicii uh, indexes stack, and @ ! and so on just know about a data pointer stack.

    Rick Hohensee

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)