On 3/27/2025 6:59 PM, Janis Papanagnou wrote:
But there were ideas! But not only the interesting ideas (like the
frame shift on the stack [SPARC]; one detail I memorized)
It's been a while since I coded up raw SPARC ASM. Remember that branch
delay slot? Ever use it with a MEMBAR instruction? Shit would hit the fan.
On 28.03.2025 03:03, Chris M. Thomasson wrote:
On 3/27/2025 6:59 PM, Janis Papanagnou wrote:
But there were ideas! But not only the interesting ideas (like the
frame shift on the stack [SPARC]; one detail I memorized)
It's been a while since I coded up raw SPARC ASM. Remember that
branch delay slot? Ever use it with a MEMBAR instruction? Shit
would hit the fan.
As mentioned somewhere upthread I haven't ever programmed a SPARC on assembler level, just studied some documents. I'm not even sure the
term "frame shift on the stack" that I used is accurate or correct;
it's just an informal description of a technical detail that I had
considered to be interesting. (Instead of copying parameters/results
with function calls between callers and callee you could just shift
a "stack window" by adjusting a register (or so).
So, no, I cannot remember a "branch delay slot". - Sorry. - Want to
elaborate on the story?
Janis
On Fri, 28 Mar 2025 03:26:26 +0100
Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:
On 28.03.2025 03:03, Chris M. Thomasson wrote:
On 3/27/2025 6:59 PM, Janis Papanagnou wrote:
But there were ideas! But not only the interesting ideas (like the
frame shift on the stack [SPARC]; one detail I memorized)
It's been a while since I coded up raw SPARC ASM. Remember that
branch delay slot? Ever use it with a MEMBAR instruction? Shit
would hit the fan.
As mentioned somewhere upthread I haven't ever programmed a SPARC on
assembler level, just studied some documents. I'm not even sure the
term "frame shift on the stack" that I used is accurate or correct;
it's just an informal description of a technical detail that I had
considered to be interesting. (Instead of copying parameters/results
with function calls between callers and callee you could just shift
a "stack window" by adjusting a register (or so).
So, no, I cannot remember a "branch delay slot". - Sorry. - Want to
elaborate on the story?
Janis
You didn't ever programmed in SPARC asm. Your reading of SPARC
documents was so shallow that you didn't pay attention to highly
visible distinguishing feature as branch delay slot.
You didn't ever programmed in SPARC asm. Your reading of SPARC
documents was so shallow that you didn't pay attention to highly
visible distinguishing feature as branch delay slot.
Could I guess that you didn't ever programmed in 68K asm, x86 asm,
NS32k asm, MIPS asm etc... ? Could I guess that your reading of
respective ISA docs was also similarly shallow? Could I guess that the
only non-8-bitters that you ever programmed in asm were one or couple
of TMS3202x DSPs?
On 28/03/2025 11:26, Michael S wrote:
On Fri, 28 Mar 2025 03:26:26 +0100
Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:
On 28.03.2025 03:03, Chris M. Thomasson wrote:
On 3/27/2025 6:59 PM, Janis Papanagnou wrote:
But there were ideas! But not only the interesting ideas (like
the frame shift on the stack [SPARC]; one detail I memorized)
It's been a while since I coded up raw SPARC ASM. Remember that
branch delay slot? Ever use it with a MEMBAR instruction? Shit
would hit the fan.
As mentioned somewhere upthread I haven't ever programmed a SPARC
on assembler level, just studied some documents. I'm not even sure
the term "frame shift on the stack" that I used is accurate or
correct; it's just an informal description of a technical detail
that I had considered to be interesting. (Instead of copying
parameters/results with function calls between callers and callee
you could just shift a "stack window" by adjusting a register (or
so).
So, no, I cannot remember a "branch delay slot". - Sorry. - Want to
elaborate on the story?
Janis
You didn't ever programmed in SPARC asm. Your reading of SPARC
documents was so shallow that you didn't pay attention to highly
visible distinguishing feature as branch delay slot.
I have not programmed SPARC either, but I would not consider branch
delay slots to be a distinguishing feature - delay slots were a
common feature in many (but not all) RISC architectures - most
notably, IMHO, MIPS.
The register window concept, however, was a lot less common (though
not unique to the SPARC), and much more relevant to the way you work
with the processor.
On 28.03.2025 11:26, Michael S wrote:
You didn't ever programmed in SPARC asm. Your reading of SPARC
documents was so shallow that you didn't pay attention to highly
visible distinguishing feature as branch delay slot.
Yes. I clearly said that; I spoke about a technical detail that
I found interesting, no more, no less.
Could I guess that you didn't ever programmed in 68K asm, x86 asm,
NS32k asm, MIPS asm etc... ? Could I guess that your reading of
respective ISA docs was also similarly shallow? Could I guess that
the only non-8-bitters that you ever programmed in asm were one or
couple of TMS3202x DSPs?
Just to understand; do you consider the 68k to be an "8-bitter"?
On Fri, 28 Mar 2025 13:20:35 +0100
Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:
Just to understand; do you consider the 68k to be an "8-bitter"?
No, 68K was sold as "16-bit", but by modern use of the terms it is
32-bit CPU.
On 28.03.2025 13:56, Michael S wrote:
On Fri, 28 Mar 2025 13:20:35 +0100
Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:
Just to understand; do you consider the 68k to be an "8-bitter"?
No, 68K was sold as "16-bit", but by modern use of the terms it is
32-bit CPU.
Thanks for clarifying.
IIRC, I was certainly addressing and manipulating 8, 16, and 32 bit
entities with it. But it annoyed me to have a restriction that some
data manipulations required a 2-byte (or 4-byte?) alignment of data
(as far as memory serves). - Probably justifiable with it being a "16-bitter". - Ah, well, anyway, never mind.
On Fri, 28 Mar 2025 13:08:14 +0100
David Brown <david.brown@hesbynett.no> wrote:
On 28/03/2025 11:26, Michael S wrote:
On Fri, 28 Mar 2025 03:26:26 +0100
Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:
On 28.03.2025 03:03, Chris M. Thomasson wrote:
On 3/27/2025 6:59 PM, Janis Papanagnou wrote:
But there were ideas! But not only the interesting ideas (like
the frame shift on the stack [SPARC]; one detail I memorized)
It's been a while since I coded up raw SPARC ASM. Remember that
branch delay slot? Ever use it with a MEMBAR instruction? Shit
would hit the fan.
As mentioned somewhere upthread I haven't ever programmed a SPARC
on assembler level, just studied some documents. I'm not even sure
the term "frame shift on the stack" that I used is accurate or
correct; it's just an informal description of a technical detail
that I had considered to be interesting. (Instead of copying
parameters/results with function calls between callers and callee
you could just shift a "stack window" by adjusting a register (or
so).
So, no, I cannot remember a "branch delay slot". - Sorry. - Want to
elaborate on the story?
Janis
You didn't ever programmed in SPARC asm. Your reading of SPARC
documents was so shallow that you didn't pay attention to highly
visible distinguishing feature as branch delay slot.
I have not programmed SPARC either, but I would not consider branch
delay slots to be a distinguishing feature - delay slots were a
common feature in many (but not all) RISC architectures - most
notably, IMHO, MIPS.
The register window concept, however, was a lot less common (though
not unique to the SPARC), and much more relevant to the way you work
with the processor.
Register Window is a major part of Berkeley tradition. The processor
with Register Window that was sold and highest quantities is probably
not SPARC, but Intel i960. Another examples are AMD 29K and Intel
Itanium.
As to importance for asm coder, branch delay slot is more important
(i.e. more annoying) than register window, simply because in typical
program one has more branches than function calls.
At system programming level register window can be more important, in a
bad way.
At the level of programming in C, esp. for application programs, both register windows and branch delay slots are transparent.
On 28/03/2025 11:26, Michael S wrote:
On Fri, 28 Mar 2025 03:26:26 +0100
Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:
On 28.03.2025 03:03, Chris M. Thomasson wrote:
On 3/27/2025 6:59 PM, Janis Papanagnou wrote:
But there were ideas! But not only the interesting ideas (like the
frame shift on the stack [SPARC]; one detail I memorized)
It's been a while since I coded up raw SPARC ASM. Remember that
branch delay slot? Ever use it with a MEMBAR instruction? Shit
would hit the fan.
As mentioned somewhere upthread I haven't ever programmed a SPARC on
assembler level, just studied some documents. I'm not even sure the
term "frame shift on the stack" that I used is accurate or correct;
it's just an informal description of a technical detail that I had
considered to be interesting. (Instead of copying parameters/results
with function calls between callers and callee you could just shift
a "stack window" by adjusting a register (or so).
So, no, I cannot remember a "branch delay slot". - Sorry. - Want to
elaborate on the story?
Janis
You didn't ever programmed in SPARC asm. Your reading of SPARC
documents was so shallow that you didn't pay attention to highly
visible distinguishing feature as branch delay slot.
I have not programmed SPARC either, but I would not consider branch
delay slots to be a distinguishing feature - delay slots were a common feature in many (but not all) RISC architectures - most notably, IMHO, MIPS.
I did not know that the Itanium had a register window - I did know about
On Fri, 28 Mar 2025 13:20:35 +0100
Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:
On 28.03.2025 11:26, Michael S wrote:
You didn't ever programmed in SPARC asm. Your reading of SPARC
documents was so shallow that you didn't pay attention to highly
visible distinguishing feature as branch delay slot.
Yes. I clearly said that; I spoke about a technical detail that
I found interesting, no more, no less.
Could I guess that you didn't ever programmed in 68K asm, x86 asm,
NS32k asm, MIPS asm etc... ? Could I guess that your reading of
respective ISA docs was also similarly shallow? Could I guess that
the only non-8-bitters that you ever programmed in asm were one or
couple of TMS3202x DSPs?
Just to understand; do you consider the 68k to be an "8-bitter"?
No, 68K was sold as "16-bit", but by modern use of the terms it is
32-bit CPU.
I also remember reading in some SPARC manual about using NOP's in branch delay slots. Programming the SPARC was really "fun" when it was in RMO mode... :^)
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (2 / 14) |
Uptime: | 05:22:51 |
Calls: | 10,386 |
Calls today: | 1 |
Files: | 14,058 |
Messages: | 6,416,630 |