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.
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.
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?
Was Chuck the first person to organize a computer around two stacks
with these intended functions?
Are you saying the B5000 did not have a data stack, or did not have a return stack?
I know HP made minicomputers with two stacks.
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
--
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?
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. :-)
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?
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. :-)
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 dataCanonical stack machine
why not a name for stack machine that separates return addresses and data?
To me that's the difference that makes a difference. :-)
https://users.ece.cmu.edu/~koopman/stack_computers/sec3_2.html
--
Rick C.
-+ Get 1,000 miles of free SuperchargingI would have to say that I disagree with Dr. Koopman on his name for the diagram.
-+ Tesla referral code - https://ts.la/richard11209
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. :-)
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 dataCanonical stack machine
why not a name for stack machine that separates return addresses and data? To me that's the difference that makes a difference. :-)
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
My point is that virtually no one will read your vocabulary or care about what specific details make up
*your* definition of "stack machine".
I think you are getting closer to the truth.Well there, see. We can agree on something.
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 upIt's not my definition now. Koopman's name, "Multiple stack machine" is what I will
*your* definition of "stack machine".
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?
I don't agree. "Stack machine" means exactly what the user of the term wan= >ts it to mean, just like Humpty Dumpty. =20
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
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 upIt's not my definition now. Koopman's name, "Multiple stack machine" is what I will
*your* definition of "stack machine".
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.
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 whateverwords make most sense to us, Over time the best words will spread and be used by all.
On Thursday, August 10, 2023 at 3:34:34 AM UTC-4, Christopher Lozinski wrote:words make most sense to us, Over time the best words will spread and be used by all.
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
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
On Thursday, 10 August 2023 at 08:44:16 UTC+1, Lorem Ipsum wrote:whatever words make most sense to us, Over time the best words will spread and be used by all.
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
EgZjaHJvbWUyBggAEEUYOTIJCAEQABgKGIAEMgkIAhAAGAoYgAQyCQgDEAAYChiABDIJCAQQABgKGIAEMgkIBRAAGAoYgAQyCQgGEAAYChiABDIJCAcQABgKGIAEMgkICBAAGAoYgAQyCQgJEAAYChiABNIBDjg1Nzk1NDk3MGowajE1qAIAsAIA&sourceid=chrome&ie=UTF-8That 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 Supercharginguuuups Moore and Mealy
--- Tesla referral code - https://ts.la/richard11209
https://www.google.com/search?q=Moore+and+mealey&rlz=1C1CAFA_enGB781GB781&oq=Moore+and+mealey&gs_lcrp=
I forget this
and as well
https://en.wikipedia.org/wiki/Moore%27s_law
So let's go for Chuck-Dual-Stack Architecture ...
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?
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 upIt's not my definition now. Koopman's name, "Multiple stack machine" is what I will
*your* definition of "stack machine".
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?
Anyone else want to play in this mud?
What a wonderful idea to call it Moore Architecture.
On Wednesday, August 9, 2023 at 8:59:22 PM UTC-4, Lorem Ipsum wrote:You need only one stack - but two stack pointers. 4tH has one stack, but two stack pointers. If they collide your stack is full.
My point is that virtually no one will read your vocabulary or care about what specific details make upIt's not my definition now. Koopman's name, "Multiple stack machine" is what I will
*your* definition of "stack machine".
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?
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?
On Wednesday, August 9, 2023 at 12:01:00 PM UTC-4, Lorem Ipsum wrote:HP 3000
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
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.
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 infoIf the end use of a stack-based processor was a register-based language, what was the point? Elizabeth suggested users found it more convenient
on what transpires in the CPU when they are executed.
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.
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.
On Friday, August 11, 2023 at 10:55:22 PM UTC-4, dxforth wrote: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.
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:If the end use of a stack-based processor was a register-based language,
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.
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
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 beinguseful.
On 12/08/2023 4:04 pm, Lorem Ipsum wrote: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.
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: >>>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
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.
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
useful.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
So a mismatch between what was wanted and what was available. Not a great recipe for performance but apparently good enough for their purposes.
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.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 300 |
Nodes: | 16 (2 / 14) |
Uptime: | 52:25:12 |
Calls: | 6,712 |
Calls today: | 5 |
Files: | 12,243 |
Messages: | 5,355,177 |
Posted today: | 1 |