Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

I don't think it's worth washing hogs over. -- Larry Wall in <199710060253.TAA09723@wall.org>


devel / comp.arch / Re: Could we build a better 6502?

SubjectAuthor
* Could we build a better 6502?Thomas Koenig
+* Re: Could we build a better 6502?Quadibloc
|+* Re: Could we build a better 6502?John Levine
||+* Re: Could we build a better 6502?MitchAlsup
|||`* Re: Could we build a better 6502?aph
||| `* Re: Could we build a better 6502?Anton Ertl
|||  `* Re: Could we build a better 6502?MitchAlsup
|||   +- Re: Could we build a better 6502?Thomas Koenig
|||   +- Re: Could we build a better 6502?Anton Ertl
|||   `* Re: Could we build a better 6502?Quadibloc
|||    `* Re: Could we build a better 6502?Thomas Koenig
|||     +* Re: Could we build a better 6502?Brian G. Lucas
|||     |`* Re: Could we build a better 6502?Quadibloc
|||     | +- Re: Could we build a better 6502?Brian G. Lucas
|||     | `- Re: Could we build a better 6502?Anton Ertl
|||     +* Re: Could we build a better 6502?Stephen Fuld
|||     |+- Re: Could we build a better 6502?Terje Mathisen
|||     |`* Re: Could we build a better 6502?pec...@gmail.com
|||     | +* Re: Could we build a better 6502?MitchAlsup
|||     | |+* Re: Could we build a better 6502?pec...@gmail.com
|||     | ||`* Re: Could we build a better 6502?Stephen Fuld
|||     | || `- Re: Could we build a better 6502?pec...@gmail.com
|||     | |`* Re: Could we build a better 6502?Timothy McCaffrey
|||     | | +- Re: Could we build a better 6502?Michael Barry
|||     | | `* Re: Could we build a better 6502?Thomas Koenig
|||     | |  `* Re: Could we build a better 6502?Timothy McCaffrey
|||     | |   +* Re: Could we build a better 6502?pec...@gmail.com
|||     | |   |`* Re: Could we build a better 6502?Michael Barry
|||     | |   | `- Re: Could we build a better 6502?Thomas Koenig
|||     | |   `* Re: Could we build a better 6502?chris
|||     | |    `* Re: Could we build a better 6502?pec...@gmail.com
|||     | |     +* Re: Could we build a better 6502?MitchAlsup
|||     | |     |`- Re: Could we build a better 6502?Thomas Koenig
|||     | |     `* Re: Could we build a better 6502?chris
|||     | |      `* Re: Could we build a better 6502?George Neuner
|||     | |       `* Re: Could we build a better 6502?chris
|||     | |        +* Re: Could we build a better 6502?MitchAlsup
|||     | |        |`* Re: Could we build a better 6502?Thomas Koenig
|||     | |        | +- Re: Could we build a better 6502?Bernd Linsel
|||     | |        | `* Re: Could we build a better 6502?David Brown
|||     | |        |  `* Re: Could we build a better 6502?chris
|||     | |        |   `* Re: Could we build a better 6502?David Brown
|||     | |        |    `* Re: Could we build a better 6502?Terje Mathisen
|||     | |        |     `* Re: Could we build a better 6502?Thomas Koenig
|||     | |        |      `- Re: Could we build a better 6502?Terje Mathisen
|||     | |        `* Re: Could we build a better 6502?Al Grant
|||     | |         `- Re: Could we build a better 6502?chris
|||     | `* Re: Could we build a better 6502?Thomas Koenig
|||     |  +- Re: Could we build a better 6502?MitchAlsup
|||     |  +- Re: Could we build a better 6502?pec...@gmail.com
|||     |  +* Re: Could we build a better 6502?Thomas Koenig
|||     |  |+* Re: Could we build a better 6502?Stefan Monnier
|||     |  ||`* Re: Could we build a better 6502?Ivan Godard
|||     |  || `* Re: Could we build a better 6502?Stefan Monnier
|||     |  ||  `* Re: Could we build a better 6502?John Dallman
|||     |  ||   +- Re: Could we build a better 6502?Stefan Monnier
|||     |  ||   +* Re: Could we build a better 6502?pec...@gmail.com
|||     |  ||   |`- Re: Could we build a better 6502?Ivan Godard
|||     |  ||   `- Re: Could we build a better 6502?Stephen Fuld
|||     |  |`* Re: Could we build a better 6502?pec...@gmail.com
|||     |  | `* Re: Could we build a better 6502?Thomas Koenig
|||     |  |  `- Re: Could we build a better 6502?pec...@gmail.com
|||     |  `* Re: Could we build a better 6502?Thomas Koenig
|||     |   +* Re: Could we build a better 6502?Anton Ertl
|||     |   |+* Re: Could we build a better 6502?Thomas Koenig
|||     |   ||`* Re: Could we build a better 6502?pec...@gmail.com
|||     |   || `- Re: Could we build a better 6502?MitchAlsup
|||     |   |`* Re: Could we build a better 6502?David Schultz
|||     |   | +* Re: Could we build a better 6502?Anton Ertl
|||     |   | |`- Re: Could we build a better 6502?David Schultz
|||     |   | `* Re: Could we build a better 6502?MitchAlsup
|||     |   |  `* Re: Could we build a better 6502?pec...@gmail.com
|||     |   |   `- Re: Could we build a better 6502?MitchAlsup
|||     |   `- Re: Could we build a better 6502?MitchAlsup
|||     `* Re: Could we build a better 6502?Anton Ertl
|||      `* Re: Could we build a better 6502?Thomas Koenig
|||       `* Re: Could we build a better 6502?MitchAlsup
|||        +* Re: Could we build a better 6502?Marcus
|||        |+* Re: Could we build a better 6502?MitchAlsup
|||        ||`* Re: Could we build a better 6502?Thomas Koenig
|||        || `- Re: Could we build a better 6502?Anton Ertl
|||        |`- Re: Could we build a better 6502?Thomas Koenig
|||        `- Re: Could we build a better 6502?Thomas Koenig
||+* Re: Could we build a better 6502?Quadibloc
|||`- Re: Could we build a better PDP-8, was 6502?John Levine
||`- Re: Could we build a better 6502?Tim Rentsch
|`* Re: Could we build a better 6502?Quadibloc
| +* Re: Could we build a better 6502?Thomas Koenig
| |`* Re: Could we build a better 6502?Anton Ertl
| | `* Re: Could we build a better 6502?David Schultz
| |  `* Re: Could we build a better 6502?Brett
| |   `* Re: Could we build a better 6502?David Schultz
| |    `* Re: Could we build a better 6502?Brett
| |     `* Re: Could we build a better 6502?David Schultz
| |      `* Re: Could we build a better 6502?Brett
| |       `- Re: Could we build a better 6502?David Schultz
| +* Re: Could we build a better 6502?Stefan Monnier
| |`* Re: Could we build a better 6502?Thomas Koenig
| | +* Re: Could we build a better 6502?Stefan Monnier
| | |+* Re: Could we build a better 6502?MitchAlsup
| | ||`- Re: Could we build a better 6502?pec...@gmail.com
| | |`* Re: Could we build a better 6502?pec...@gmail.com
| | +- Re: Could we build a better 6502?MitchAlsup
| | `* Re: Could we build a better 6502?pec...@gmail.com
| `- Re: Could we build a better 6502?MitchAlsup
+* Re: Could we build a better 6502?Marcus
+* Re: Could we build a better 6502?MitchAlsup
+* Re: Could we build a better 6502?EricP
+* Re: Could we build a better 6502?Guillaume
+- Re: Could we build a better 6502?EricP
+* Re: Could we build a better 6502?Timothy McCaffrey
+- Re: Could we build a better 6502?JimBrakefield
+* Re: Could we build a better 6502?Anssi Saari
+* Re: Could we build a better 6502?John Dallman
+* Re: Could we build a better 6502?Anton Ertl
+* Re: Could we build a better 6502?Michael Barry
+* Re: Could we build a better 6502?pec...@gmail.com
+* Re: Could we build a better 6502?Bernd Linsel
+- Re: Could we build a better 6502?clamky
+* Re: Could we build a better 6502?Quadibloc
`- Re: Could we build a better 6502?Quadibloc

Pages:12345678910111213
Re: Could we build a better 6502?

<sffmea$o7j$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19940&group=comp.arch#19940

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-dc2a-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Tue, 17 Aug 2021 06:54:02 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sffmea$o7j$1@newsreader4.netcologne.de>
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
<be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com>
<4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com>
<jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org>
<sfb5qi$m3u$1@newsreader4.netcologne.de>
<84126256-8745-4707-9445-130860761e76n@googlegroups.com>
<sfect6$roq$1@newsreader4.netcologne.de>
<b39d5040-6d78-4be4-b111-de86c26b219cn@googlegroups.com>
<sfei2r$16l$1@newsreader4.netcologne.de>
<0e315a04-9657-42a9-bfec-d9d5e7815d9fn@googlegroups.com>
Injection-Date: Tue, 17 Aug 2021 06:54:02 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-dc2a-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:dc2a:0:7285:c2ff:fe6c:992d";
logging-data="24819"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Tue, 17 Aug 2021 06:54 UTC

Quadibloc <jsavard@ecn.ab.ca> schrieb:
> On Monday, August 16, 2021 at 2:33:33 PM UTC-6, Thomas Koenig wrote:
>> pec...@gmail.com <pec...@gmail.com> schrieb:
>
>> > You need 8 general purpose 16-bit registers. It is the size of Z80 register set!
>> > I estimate that around 150% of 6502 die area is required in
>> > the best case.
>
>> Based on what? Did you design such a chip?
>
> I used to work with the TI 9900 in the 990/4 computer. Remember it?

That was a very CISC design, taking a _lot_ of cycles for each
instruction. It is also interesting to look at the die shots -
you can see the humungous PAL very clearly.

> It was one of the first 16-bit microprocessors, with an instruction set like
> that of the PDP-11.
> It achieved this... by putting the entire register set in external memory.
> So that putting general registers on a chip takes a _lot_ of space, at least
> by the standards of the 8-bit era, is very believable to me.

It would take up a lot of space, certainly - as it did the original
RISC design, or in the original ARM design that you can see at
http://blog.visual6502.org/ . For the latter, you can easily see
the layout of the register file together with the ALU, for each
bit individually (plus a huge multiplexer, which I would not use
for a 6502 competitor :-)

So, using around 40% of the tansistor budget for eight registers of 16 bits
each plus some dedicated registers does not sound outlandish iff the
control logic can be made simple enough.

Re: Could we build a better 6502?

<2021Aug17.101820@mips.complang.tuwien.ac.at>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19941&group=comp.arch#19941

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Tue, 17 Aug 2021 08:18:20 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 20
Message-ID: <2021Aug17.101820@mips.complang.tuwien.ac.at>
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com> <4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com> <jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org> <sfb5qi$m3u$1@newsreader4.netcologne.de> <jwvim066b00.fsf-monnier+comp.arch@gnu.org> <616285e6-04cf-426d-b7e4-8dcb4a96e2edn@googlegroups.com> <NgvSI.17392$FI.11634@fx44.iad> <GbxSI.22659$A6.12649@fx37.iad> <59b35348-4b34-4751-a168-bb8ba0660d37n@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="03a05cd76505f842f70009639b557aaf";
logging-data="3426"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18VDt7MNjemqW2XwNipCvHH"
Cancel-Lock: sha1:Zhvpm6pcuZ+CPyeOVlGHiSg9HSA=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Tue, 17 Aug 2021 08:18 UTC

Quadibloc <jsavard@ecn.ab.ca> writes:
>On Monday, August 16, 2021 at 11:24:57 AM UTC-6, EricP wrote:
>> Instead, according to the Zilog Oral History Panel,
>> he went with a pipelined 4-bit ALU, saving lots of transistors,
>> and allowing a higher clock but getting the same performance as 8080.
>
>This... sort of... explains it. I would have thought a conventional carry look-ahead
>would not only be the obvious solution, but the one most likely to work and give
>good performance. That a _pipelined_ 4-bit ALU could do as well is certainly an
>ingenious and original idea, though.

Not very original in 1976. People had been using 1-bit ALUs and 4-bit
ALUs to implement wider operations for a long time. E.g., the
original Nova used a 4-bit ALU, and cycled it 4 times for 16-bit
operations.

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: Could we build a better 6502?

<2021Aug17.102304@mips.complang.tuwien.ac.at>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19942&group=comp.arch#19942

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Tue, 17 Aug 2021 08:23:04 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 15
Message-ID: <2021Aug17.102304@mips.complang.tuwien.ac.at>
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com> <4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com> <jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org> <sfb5qi$m3u$1@newsreader4.netcologne.de> <84126256-8745-4707-9445-130860761e76n@googlegroups.com> <1fe5706a-fea2-4319-b87a-ea976a78204fn@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="03a05cd76505f842f70009639b557aaf";
logging-data="3426"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+3GW/8iGNmM/+m8HXd7HyF"
Cancel-Lock: sha1:vwoDH1rLNXqGSLDct4/VLQcTVP4=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Tue, 17 Aug 2021 08:23 UTC

Quadibloc <jsavard@ecn.ab.ca> writes:
>And, earlier, in workstations, RISC chips with the MIPS architecture
>competed head-to-head with workstations based on the 68000 architecture
>from Apollo.

Head-to-head? Basically everyone who sold 68k-based workstations
dropped the 68k in favour of a RISC CPU: Sun, HP, SGI, Apollo, and
(different market) Apple. Apollo was late and first lost it's leading
position in the market during 1987, and finally was bought by HP in
1989 (the Unix trend may also have had something to do with that).

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: Could we build a better 6502?

<2021Aug17.111452@mips.complang.tuwien.ac.at>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19943&group=comp.arch#19943

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Tue, 17 Aug 2021 09:14:52 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 15
Message-ID: <2021Aug17.111452@mips.complang.tuwien.ac.at>
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com> <4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com> <jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org> <sfb5qi$m3u$1@newsreader4.netcologne.de> <84126256-8745-4707-9445-130860761e76n@googlegroups.com> <sfect6$roq$1@newsreader4.netcologne.de> <b39d5040-6d78-4be4-b111-de86c26b219cn@googlegroups.com> <sfei2r$16l$1@newsreader4.netcologne.de> <d601238d-6fc1-4cd3-bc07-b5561685c13dn@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="03a05cd76505f842f70009639b557aaf";
logging-data="3426"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/4cnjhsGPx0QygO4ZTj4bU"
Cancel-Lock: sha1:ywLobEJaU8HupX7lovadzqZa2Vc=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Tue, 17 Aug 2021 09:14 UTC

MitchAlsup <MitchAlsup@aol.com> writes:
>A bit in the sequence ROM takes 1 transistor whether it reads a 0 or a 1.

And the addressing?

>A bit in a dedicated register takes 4 transistors.
>A bit in an addressed register takes 7 transistors.

So, if you use DRAM instead, where a bit costs 2 transistors, does
that bit with addressing overhead cost 5 transistors?

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: Could we build a better 6502?

<2021Aug17.112004@mips.complang.tuwien.ac.at>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19944&group=comp.arch#19944

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Tue, 17 Aug 2021 09:20:04 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 95
Message-ID: <2021Aug17.112004@mips.complang.tuwien.ac.at>
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com> <4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com> <jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org> <sfb5qi$m3u$1@newsreader4.netcologne.de> <84126256-8745-4707-9445-130860761e76n@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="03a05cd76505f842f70009639b557aaf";
logging-data="6525"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/7I6/8HeWFudadpzvoowSR"
Cancel-Lock: sha1:dToP9byGe7jHgtYtKQ4lRYKgcjE=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Tue, 17 Aug 2021 09:20 UTC

"pec...@gmail.com" <peceed@gmail.com> writes:
>Thomas Koenig wrote:
>> Stefan Monnier <mon...@iro.umontreal.ca> schrieb:
>> > Which part of the 6502's instruction set do you find "complicated" and
>> > what kind of change do you think would have reduced the number of
>> > transistors needed to implement it?
>> The memory operands. A load/store architecture would have saved
>> a lot of decoding and sequencing and associated transistor (or,
>> better measure area), which could have been used for more and bigger
>> registers.
>It is a false assumption. Address modes are quite orthogonal pices of logic simply triggered as kind of subroutines, they have a very dense encoding in the ISA and logic is much cheaper than RAM required for analogous memory access code.

True, the addressing modes were mostly orthogonal to the rest of the
instructions, but they required control circuitry and space in the
PLA. And overall the 6502 had a number of non-programmer-visible
registers (IIRC I counted 17 8-bit registers overall), so all this
stuff was not that cheap wrt reducing registers, either.

An alternative architectural approach is to implement

1) Registers that are necessary for the data path: program counter, an
address register, ALU output, maybe ALU inputs.

2) Add a few more to make it possible to have a complete instruction
set without needing extra cycles (which would require registers for
the intermediate results): e.g., flags, return address.

The result would be a Nova-like architecture, but designed for an
8-bit data bus (which implies significant changes).

I think this could reduce the amount of control logic quite a lot
compared to the 6502, which had to have control for, e.g., saving the
return addres on a JSR and restoring the address on a RET.

With the amount of control logic saved, one might be able to afford a
16-bit data path, avoiding the need to have two cycles through the ALU
for 16-bit operations (and the corresponding control logic), or the
need to work around that in software.

Once we are there and know how much of our budget we have spent on
that, we can think about whether we can afford more fancy stuff:

* Just one or two additional registers, and/or auto-increment to avoid
the most glaring inefficiencies in the instruction set.

* A stack machine, like the b16-like architecture I have in mind.

* A register machine, like the RISC Thomas Koenig has in mind.

One might consider the various Nova-like microprocessors (PACE, mN601,
Fairchild 9440, all described and compared in
<https://en.wikipedia.org/wiki/Fairchild_9440>) as examples of the
approach I have in mind, and that it did not succeed, but I think that
they had flaws:

1) They were designed as 16-bit CPUs, both in their pin-out and in
their instruction set (both the kinds of instructions and their
width), and moreover word-addressed. The pin-out alone made sure that
they would not be picked up by the upcoming Apples, Commodores and
Tandys, Sinclairs, etc., nor by the group that designed the IBM PC.

2) And they were apparently heavily microcoded (not sure why one would
do that for this kind of architecture), requiring many clock cycles
for each instruction (alleviated somewhat by high clocks; e.g., the
Fairchild 9440 could do up to 12MHz).

The PACE was available in 1974 (according to
<https://en.wikipedia.org/wiki/Fairchild_9440>) with 4 16-bit
accumulators, which is more featureful than the minimum I have in
mind, so doing something like a have in mind in the 6502 budget should
not be that outlandish.

>The power of RISC lies in the ability to consume high bandwidth of memory bus,

Consuming a lot of bandwidth does not make an instruction set
particularly powerful, see TMS9900. I think that, on the contrary,
some of the power of RISC is thanks to keeping temporary values in
registers rather than loading them all the time from memory and
storing them back, and this reduces the amount of memory accesses
needed for a given task; and if the task consumes the same time, it
reduces the bandwidth needed.

>easy pipelining

Yes, that was RISCs major win.

>and superscalar execution.

That, too. With the advent of OoO, the drawbacks of CISC mostly
ceased to play a role.

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: Could we build a better 6502?

<4f6nhg9n9ne668121lorcuj8n4q915hju7@4ax.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19945&group=comp.arch#19945

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: gneun...@comcast.net (George Neuner)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Tue, 17 Aug 2021 07:24:34 -0400
Organization: A noiseless patient Spider
Lines: 32
Message-ID: <4f6nhg9n9ne668121lorcuj8n4q915hju7@4ax.com>
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com> <4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com> <jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org> <sfb5qi$m3u$1@newsreader4.netcologne.de> <jwvim066b00.fsf-monnier+comp.arch@gnu.org> <616285e6-04cf-426d-b7e4-8dcb4a96e2edn@googlegroups.com> <NgvSI.17392$FI.11634@fx44.iad> <42c10593-610e-4ab5-ac9c-1eb946e9a750n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Injection-Info: reader02.eternal-september.org; posting-host="e96b6806d5dc134e2a5139c7b32fb93d";
logging-data="27323"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19Bv2gs4XoJAu9eBHABZjs3wiW/nwMvyYE="
User-Agent: ForteAgent/8.00.32.1272
Cancel-Lock: sha1:mMOKzV6WKYrbQSBIbTUSgt/rkVI=
 by: George Neuner - Tue, 17 Aug 2021 11:24 UTC

On Mon, 16 Aug 2021 22:52:05 -0700 (PDT), Quadibloc
<jsavard@ecn.ab.ca> wrote:

>On Monday, August 16, 2021 at 9:13:52 AM UTC-6, EricP wrote:
>
>> How could Intel get a patent on an 8-bit ALU?
>> There must be more to the story than that.
>
>Good heavens, yes. The IBM System/360 Model 30 is prior art...
>not to mention the Model 40 and the Model 50, which proved
>that it is possible to build computers with 16-bit and 32-bit
>ALUs.
>
>...and, of course, there are many other possible examples. The
>Honeywell 516, the Hewlett-Packard 2160, the PDP-11 are all
>examples of computers with 16-bit ALUs.
>
>And, of course, how on Earth did the Z-80 achieve acceptable
>performance with a 4-bit ALU?

Depends on your definition of "acceptable". Unless the code was
predominantly 16 bit operations, a 1MHz[*] 6502 routinely could
outperform even a 4MHz Z80. It wasn't until the 6MHz chips came along
that the Z80 was always faster.

[*] the 6502 was double pumped internally, so a 1MHz external clock
really meant a 2MHz chip.

Saw the same results with the 65816 vs 80286. The 65816 had no FP
unit, but on integer code an 8Mhz 65816 (in 16 bit mode) routinely
could outperform a 12Mhz 80286.

Re: Could we build a better 6502?

<5c532f00-1479-4703-99b9-1e66adeb0a70n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19946&group=comp.arch#19946

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:58b:: with SMTP id 133mr3732046qkf.146.1629205827996;
Tue, 17 Aug 2021 06:10:27 -0700 (PDT)
X-Received: by 2002:a05:6808:2020:: with SMTP id q32mr2406340oiw.30.1629205827743;
Tue, 17 Aug 2021 06:10:27 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Tue, 17 Aug 2021 06:10:27 -0700 (PDT)
In-Reply-To: <4f6nhg9n9ne668121lorcuj8n4q915hju7@4ax.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f39d:2c00:3046:9336:8d71:b915;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f39d:2c00:3046:9336:8d71:b915
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com>
<4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com> <jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org>
<sfb5qi$m3u$1@newsreader4.netcologne.de> <jwvim066b00.fsf-monnier+comp.arch@gnu.org>
<616285e6-04cf-426d-b7e4-8dcb4a96e2edn@googlegroups.com> <NgvSI.17392$FI.11634@fx44.iad>
<42c10593-610e-4ab5-ac9c-1eb946e9a750n@googlegroups.com> <4f6nhg9n9ne668121lorcuj8n4q915hju7@4ax.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5c532f00-1479-4703-99b9-1e66adeb0a70n@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Tue, 17 Aug 2021 13:10:27 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Quadibloc - Tue, 17 Aug 2021 13:10 UTC

On Tuesday, August 17, 2021 at 5:24:39 AM UTC-6, George Neuner wrote:
> On Mon, 16 Aug 2021 22:52:05 -0700 (PDT), Quadibloc
> <jsa...@ecn.ab.ca> wrote:
> >And, of course, how on Earth did the Z-80 achieve acceptable
> >performance with a 4-bit ALU?

> Depends on your definition of "acceptable". Unless the code was
> predominantly 16 bit operations, a 1MHz[*] 6502 routinely could
> outperform even a 4MHz Z80. It wasn't until the 6MHz chips came along
> that the Z80 was always faster.

The Z-80 only had to compete with the 8080, not the 6502, since
CP/M wouldn't run on a 6502.

John Savard

Re: Could we build a better 6502?

<c18c94aa-b231-4783-a316-f33852ee3827n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19947&group=comp.arch#19947

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:a905:: with SMTP id s5mr3650892qke.63.1629206039393; Tue, 17 Aug 2021 06:13:59 -0700 (PDT)
X-Received: by 2002:a05:6808:2208:: with SMTP id bd8mr2556236oib.110.1629206039105; Tue, 17 Aug 2021 06:13:59 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!tr1.eu1.usenetexpress.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Tue, 17 Aug 2021 06:13:58 -0700 (PDT)
In-Reply-To: <2021Aug17.112004@mips.complang.tuwien.ac.at>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f39d:2c00:3046:9336:8d71:b915; posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f39d:2c00:3046:9336:8d71:b915
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com> <4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com> <jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org> <sfb5qi$m3u$1@newsreader4.netcologne.de> <84126256-8745-4707-9445-130860761e76n@googlegroups.com> <2021Aug17.112004@mips.complang.tuwien.ac.at>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c18c94aa-b231-4783-a316-f33852ee3827n@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Tue, 17 Aug 2021 13:13:59 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 16
 by: Quadibloc - Tue, 17 Aug 2021 13:13 UTC

On Tuesday, August 17, 2021 at 4:33:26 AM UTC-6, Anton Ertl wrote:
> "pec...@gmail.com" <pec...@gmail.com> writes:
> >Thomas Koenig wrote:

> >The power of RISC lies in the ability to consume high bandwidth of memory bus,

> Consuming a lot of bandwidth does not make an instruction set
> particularly powerful, see TMS9900.

It's certainly true that _wasting_ memory bus bandwidth doesn't make a
processor more powerful. But I think what he meant was that, given
efficient use of memory bus bandwidth, the power of RISC lies in
the ability to be designed with a shorter clock cycle.

He just didn't quite phrase what he meant right.

John Savard

Re: Could we build a better 6502?

<JpydnQC90-XwX4b8nZ2dnUU7-bHNnZ2d@earthlink.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19948&group=comp.arch#19948

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.net!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!tr2.eu1.usenetexpress.com!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!buffer1.nntp.dca1.giganews.com!nntp.earthlink.com!news.earthlink.com.POSTED!not-for-mail
NNTP-Posting-Date: Tue, 17 Aug 2021 09:06:37 -0500
From: david.sc...@earthlink.net (David Schultz)
Subject: Re: Could we build a better 6502?
Newsgroups: comp.arch
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com> <4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com> <sfaip0$8o8$1@newsreader4.netcologne.de> <2021Aug15.175812@mips.complang.tuwien.ac.at> <rq-dneuWULqG2oT8nZ2dnUU7-KHNnZ2d@earthlink.com> <sfc5ib$1sd$1@dont-email.me> <hLudnaFAuebSAYT8nZ2dnUU7-a3NnZ2d@earthlink.com> <sff9u7$m1r$1@dont-email.me>
X-Mozilla-News-Host: news://news.west.earthlink.net
Date: Tue, 17 Aug 2021 09:06:35 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <sff9u7$m1r$1@dont-email.me>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Message-ID: <JpydnQC90-XwX4b8nZ2dnUU7-bHNnZ2d@earthlink.com>
Lines: 27
X-Usenet-Provider: http://www.giganews.com
NNTP-Posting-Host: 108.194.109.9
X-Trace: sv3-r5KUCCg8Bv2TQSg3JoL4Qy8ETouF1I9ro8a5qzN1HToUhWwgbtAD3s5tldKjxsm5iF7Vh239cTlVSpq!7KMk9aU9Q8lRlV8+xCwMfIRCgwd4uosFalrzLy1XtKya+X4s/60Ayi2tPsQsvm8TwMczrpA89Zib!gOZO3eBDy8aioD3pGz0YsvIcmw2KNFU=
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 2413
 by: David Schultz - Tue, 17 Aug 2021 14:06 UTC

On 8/16/21 10:20 PM, Brett wrote:
> David Schultz <david.schultz@earthlink.net> wrote:
>> On 8/15/21 5:47 PM, Brett wrote:
>>> David Schultz <david.schultz@earthlink.net> wrote:
>>>> It looks like I will not have to dig into the paper archives:
>>>> https://tlindner.macmess.org/?page_id=119
>>>
>>> Point 4 says no bit manipulation, but I see AND, OR, XOR, RORL, RORR, and
>>> bit compare.
>>> What are they talking about missing?
>>>
>>
>> Probably specific things like the bclr, bset, and btst instructions on
>> the 68000.
>
> I fail to see how those could be expensive in die space.

They aren't. It was the instruction encoding that was the problem. If
you give them an 8 bit encoding, what do you throw out? With a longer
encoding, any advantage fades a bit.

--
http://davesrocketworks.com
David Schultz

Re: Could we build a better 6502?

<sfgi51$anm$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19949&group=comp.arch#19949

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a544-865-0-1df3-39f-1eed-410e.ipv6dyn.netcologne.de!not-for-mail
From: bl1-remo...@gmx.com (Bernd Linsel)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Tue, 17 Aug 2021 16:46:57 +0200
Organization: news.netcologne.de
Distribution: world
Message-ID: <sfgi51$anm$1@newsreader4.netcologne.de>
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
<be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com>
<4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com>
<jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org>
<sfb5qi$m3u$1@newsreader4.netcologne.de>
<jwvim066b00.fsf-monnier+comp.arch@gnu.org>
<616285e6-04cf-426d-b7e4-8dcb4a96e2edn@googlegroups.com>
<NgvSI.17392$FI.11634@fx44.iad>
<42c10593-610e-4ab5-ac9c-1eb946e9a750n@googlegroups.com>
<4f6nhg9n9ne668121lorcuj8n4q915hju7@4ax.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 17 Aug 2021 14:46:57 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2a0a-a544-865-0-1df3-39f-1eed-410e.ipv6dyn.netcologne.de:2a0a:a544:865:0:1df3:39f:1eed:410e";
logging-data="10998"; mail-complaints-to="abuse@netcologne.de"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.13.0
In-Reply-To: <4f6nhg9n9ne668121lorcuj8n4q915hju7@4ax.com>
 by: Bernd Linsel - Tue, 17 Aug 2021 14:46 UTC

On 17.08.2021 13:24, George Neuner wrote:
> On Mon, 16 Aug 2021 22:52:05 -0700 (PDT), Quadibloc
> <jsavard@ecn.ab.ca> wrote:
>
>
> Depends on your definition of "acceptable". Unless the code was
> predominantly 16 bit operations, a 1MHz[*] 6502 routinely could
> outperform even a 4MHz Z80. It wasn't until the 6MHz chips came along
> that the Z80 was always faster.
>
> [*] the 6502 was double pumped internally, so a 1MHz external clock
> really meant a 2MHz chip.
>
>
> Saw the same results with the 65816 vs 80286. The 65816 had no FP
> unit, but on integer code an 8Mhz 65816 (in 16 bit mode) routinely
> could outperform a 12Mhz 80286.
>

80286 had no FP unit either, only there was a 80287 available.
Same for 80386/87.

Only 80486 [DX] included an on-chip FP unit, but in the beginnings they
also offered an 80486SX without FP...

Re: Could we build a better 6502?

<sfgiae$anm$2@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19950&group=comp.arch#19950

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!rocksolid2!news.neodome.net!news.uzoreto.com!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a544-865-0-1df3-39f-1eed-410e.ipv6dyn.netcologne.de!not-for-mail
From: bl1-remo...@gmx.com (Bernd Linsel)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Tue, 17 Aug 2021 16:49:50 +0200
Organization: news.netcologne.de
Distribution: world
Message-ID: <sfgiae$anm$2@newsreader4.netcologne.de>
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
<be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com>
<4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com>
<jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org>
<sfb5qi$m3u$1@newsreader4.netcologne.de>
<jwvim066b00.fsf-monnier+comp.arch@gnu.org>
<616285e6-04cf-426d-b7e4-8dcb4a96e2edn@googlegroups.com>
<NgvSI.17392$FI.11634@fx44.iad>
<42c10593-610e-4ab5-ac9c-1eb946e9a750n@googlegroups.com>
<4f6nhg9n9ne668121lorcuj8n4q915hju7@4ax.com>
<5c532f00-1479-4703-99b9-1e66adeb0a70n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 17 Aug 2021 14:49:50 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2a0a-a544-865-0-1df3-39f-1eed-410e.ipv6dyn.netcologne.de:2a0a:a544:865:0:1df3:39f:1eed:410e";
logging-data="10998"; mail-complaints-to="abuse@netcologne.de"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.13.0
In-Reply-To: <5c532f00-1479-4703-99b9-1e66adeb0a70n@googlegroups.com>
 by: Bernd Linsel - Tue, 17 Aug 2021 14:49 UTC

On 17.08.2021 15:10, Quadibloc wrote:
> On Tuesday, August 17, 2021 at 5:24:39 AM UTC-6, George Neuner wrote:
>
>
>
> The Z-80 only had to compete with the 8080, not the 6502, since
> CP/M wouldn't run on a 6502.
>
> John Savard
>

While CP/M was important for personal/home computers with 8080, 8085 and
Z80, many more 8 bit processors were used in embedded devices, where
6502/6510, 6809 and even 8031/8051 were indeed competitive...

Re: Could we build a better 6502?

<61a8609e-7cda-46cd-9723-4936e719e927n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19951&group=comp.arch#19951

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:8407:: with SMTP id g7mr4875448qkd.123.1629220183989;
Tue, 17 Aug 2021 10:09:43 -0700 (PDT)
X-Received: by 2002:a05:6808:1981:: with SMTP id bj1mr3032788oib.155.1629220183763;
Tue, 17 Aug 2021 10:09:43 -0700 (PDT)
Path: i2pn2.org!i2pn.org!paganini.bofh.team!usenet.pasdenom.info!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Tue, 17 Aug 2021 10:09:43 -0700 (PDT)
In-Reply-To: <2021Aug17.112004@mips.complang.tuwien.ac.at>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com>
<4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com> <jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org>
<sfb5qi$m3u$1@newsreader4.netcologne.de> <84126256-8745-4707-9445-130860761e76n@googlegroups.com>
<2021Aug17.112004@mips.complang.tuwien.ac.at>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <61a8609e-7cda-46cd-9723-4936e719e927n@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Tue, 17 Aug 2021 17:09:43 +0000
Content-Type: text/plain; charset="UTF-8"
 by: MitchAlsup - Tue, 17 Aug 2021 17:09 UTC

On Tuesday, August 17, 2021 at 5:33:26 AM UTC-5, Anton Ertl wrote:
> "pec...@gmail.com" <pec...@gmail.com> writes:
> >Thomas Koenig wrote:
<snip>
> >The power of RISC lies in the ability to consume high bandwidth of memory bus,
> Consuming a lot of bandwidth does not make an instruction set
> particularly powerful, see TMS9900. I think that, on the contrary,
> some of the power of RISC is thanks to keeping temporary values in
> registers rather than loading them all the time from memory and
> storing them back, and this reduces the amount of memory accesses
> needed for a given task; and if the task consumes the same time, it
> reduces the bandwidth needed.
>
> >easy pipelining
>
> Yes, that was RISCs major win.
<
Consider that a bit more than 1/3rd of the 68020 die was microcode
(and sequencer). Essentially, the first RISCs used the area for the staging
flip-flops of the pipeline. This went from averaging 3 clocks per inst
to 1.5 clocks per instruction with only a few percent loss of semantic
density of an instruction and a significant loss in code density.
>
> >and superscalar execution.
<
That was 6 years later.
>
> That, too. With the advent of OoO, the drawbacks of CISC mostly
> ceased to play a role.
<
Which is what we were told when doing the 1st generation of RISC--
why not just hold on until the transistor budget catches up. This
is the "don't upset the cart" philosophy.
<
> - anton
> --
> 'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
> Mitch Alsup, <c17fcd89-f024-40e7...@googlegroups.com>

Re: Could we build a better 6502?

<60e2a60a-5158-4105-8e87-450292b52340n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19952&group=comp.arch#19952

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:622a:13c8:: with SMTP id p8mr4239305qtk.238.1629222803606; Tue, 17 Aug 2021 10:53:23 -0700 (PDT)
X-Received: by 2002:a05:6808:1981:: with SMTP id bj1mr3184191oib.155.1629222803390; Tue, 17 Aug 2021 10:53:23 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!feeder1.feed.usenet.farm!feed.usenet.farm!tr1.eu1.usenetexpress.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Tue, 17 Aug 2021 10:53:23 -0700 (PDT)
In-Reply-To: <sfgiae$anm$2@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=136.50.182.0; posting-account=AoizIQoAAADa7kQDpB0DAj2jwddxXUgl
NNTP-Posting-Host: 136.50.182.0
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com> <4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com> <jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org> <sfb5qi$m3u$1@newsreader4.netcologne.de> <jwvim066b00.fsf-monnier+comp.arch@gnu.org> <616285e6-04cf-426d-b7e4-8dcb4a96e2edn@googlegroups.com> <NgvSI.17392$FI.11634@fx44.iad> <42c10593-610e-4ab5-ac9c-1eb946e9a750n@googlegroups.com> <4f6nhg9n9ne668121lorcuj8n4q915hju7@4ax.com> <5c532f00-1479-4703-99b9-1e66adeb0a70n@googlegroups.com> <sfgiae$anm$2@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <60e2a60a-5158-4105-8e87-450292b52340n@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: jim.brak...@ieee.org (JimBrakefield)
Injection-Date: Tue, 17 Aug 2021 17:53:23 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 17
 by: JimBrakefield - Tue, 17 Aug 2021 17:53 UTC

On Tuesday, August 17, 2021 at 9:49:52 AM UTC-5, Bernd Linsel wrote:
> On 17.08.2021 15:10, Quadibloc wrote:
> > On Tuesday, August 17, 2021 at 5:24:39 AM UTC-6, George Neuner wrote:
> >
> >
> >
> > The Z-80 only had to compete with the 8080, not the 6502, since
> > CP/M wouldn't run on a 6502.
> >
> > John Savard
> >
> While CP/M was important for personal/home computers with 8080, 8085 and
> Z80, many more 8 bit processors were used in embedded devices, where
> 6502/6510, 6809 and even 8031/8051 were indeed competitive...

We used the 6809 for embedded controller projects as SWTPC was down the street.
Great pictures at https://deramp.com/swtpc.html
All gradually ended when PC came on the scene.

Re: Could we build a better 6502?

<l92ohgpien99vi3nrpuc8rvoo5ijk5397d@4ax.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19953&group=comp.arch#19953

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: gneun...@comcast.net (George Neuner)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Tue, 17 Aug 2021 15:52:21 -0400
Organization: A noiseless patient Spider
Lines: 44
Message-ID: <l92ohgpien99vi3nrpuc8rvoo5ijk5397d@4ax.com>
References: <be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com> <4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com> <jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org> <sfb5qi$m3u$1@newsreader4.netcologne.de> <jwvim066b00.fsf-monnier+comp.arch@gnu.org> <616285e6-04cf-426d-b7e4-8dcb4a96e2edn@googlegroups.com> <NgvSI.17392$FI.11634@fx44.iad> <42c10593-610e-4ab5-ac9c-1eb946e9a750n@googlegroups.com> <4f6nhg9n9ne668121lorcuj8n4q915hju7@4ax.com> <sfgi51$anm$1@newsreader4.netcologne.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Injection-Info: reader02.eternal-september.org; posting-host="e96b6806d5dc134e2a5139c7b32fb93d";
logging-data="20508"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18w6K2aQ+k31Hi399npSaeZhIIJuncZKj4="
User-Agent: ForteAgent/8.00.32.1272
Cancel-Lock: sha1:sDDVXZmj35F6HlQCrTppTQ3d8mA=
 by: George Neuner - Tue, 17 Aug 2021 19:52 UTC

On Tue, 17 Aug 2021 16:46:57 +0200, Bernd Linsel
<bl1-removethis@gmx.com> wrote:

>On 17.08.2021 13:24, George Neuner wrote:
>> On Mon, 16 Aug 2021 22:52:05 -0700 (PDT), Quadibloc
>> <jsavard@ecn.ab.ca> wrote:
>>
>>
>> Depends on your definition of "acceptable". Unless the code was
>> predominantly 16 bit operations, a 1MHz[*] 6502 routinely could
>> outperform even a 4MHz Z80. It wasn't until the 6MHz chips came along
>> that the Z80 was always faster.
>>
>> [*] the 6502 was double pumped internally, so a 1MHz external clock
>> really meant a 2MHz chip.
>>
>>
>> Saw the same results with the 65816 vs 80286. The 65816 had no FP
>> unit, but on integer code an 8Mhz 65816 (in 16 bit mode) routinely
>> could outperform a 12Mhz 80286.
>
>80286 had no FP unit either, only there was a 80287 available.

Sorry, I should have explained that better.

There was no simple way to compare FP performance because, AFAIK,
there were no companies that made compilers or FP libraries for both
chips.

The only machine that used 65816 was Apple's //gs which - like the
Macintosh - had Apple's SANE numeric library available in ROM. Every
compiler for the //gs simply used SANE.

Different 80286 compilers had different FP emulations, and there were
stand-alone FP libraries available from different vendors, but SANE
was not among them.

Given the same SANE options, every //gs compiler produced identical
results (how could they not?). In contrast, it was hard even to get
different PC compilers to produce bit identical results ... never mind
results that were bit comparable to Apple's library running on a
different platform.

Re: Could we build a better 6502?

<sfh6tf$8bs$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19954&group=comp.arch#19954

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ggt...@yahoo.com (Brett)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Tue, 17 Aug 2021 20:41:20 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 29
Message-ID: <sfh6tf$8bs$1@dont-email.me>
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
<be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com>
<4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com>
<sfaip0$8o8$1@newsreader4.netcologne.de>
<2021Aug15.175812@mips.complang.tuwien.ac.at>
<rq-dneuWULqG2oT8nZ2dnUU7-KHNnZ2d@earthlink.com>
<sfc5ib$1sd$1@dont-email.me>
<hLudnaFAuebSAYT8nZ2dnUU7-a3NnZ2d@earthlink.com>
<sff9u7$m1r$1@dont-email.me>
<JpydnQC90-XwX4b8nZ2dnUU7-bHNnZ2d@earthlink.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 17 Aug 2021 20:41:20 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="8cdb556c0459a60ce5a7263f85c82a96";
logging-data="8572"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/6QnSWCvlr/EWBPYVooTBj"
User-Agent: NewsTap/5.5 (iPad)
Cancel-Lock: sha1:Vw2clWxy/tiZ2LiO+5MtngCk8ls=
sha1:ml5419U5jfOlizThnvyxhvs1FWI=
 by: Brett - Tue, 17 Aug 2021 20:41 UTC

David Schultz <david.schultz@earthlink.net> wrote:
> On 8/16/21 10:20 PM, Brett wrote:
>> David Schultz <david.schultz@earthlink.net> wrote:
>>> On 8/15/21 5:47 PM, Brett wrote:
>>>> David Schultz <david.schultz@earthlink.net> wrote:
>>>>> It looks like I will not have to dig into the paper archives:
>>>>> https://tlindner.macmess.org/?page_id=119
>>>>
>>>> Point 4 says no bit manipulation, but I see AND, OR, XOR, RORL, RORR, and
>>>> bit compare.
>>>> What are they talking about missing?
>>>>
>>>
>>> Probably specific things like the bclr, bset, and btst instructions on
>>> the 68000.
>>
>> I fail to see how those could be expensive in die space.
>
> They aren't. It was the instruction encoding that was the problem. If
> you give them an 8 bit encoding, what do you throw out? With a longer
> encoding, any advantage fades a bit.

The Rockwell 6502 added bit manipulation, there are lots of unused opcodes.

http://archive.6502.org/datasheets/rockwell_r65c00-21_r65c29.pdf

One could argue that the opcodes were saved for the 65816, but WDC failed
to produce that chip in a timely manner.

Re: Could we build a better 6502?

<-62dnY_bzuywvoH8nZ2dnUU7-SWdnZ2d@earthlink.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19955&group=comp.arch#19955

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!nntp.earthlink.com!news.earthlink.com.POSTED!not-for-mail
NNTP-Posting-Date: Tue, 17 Aug 2021 15:59:25 -0500
Subject: Re: Could we build a better 6502?
Newsgroups: comp.arch
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
<be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com>
<4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com>
<sfaip0$8o8$1@newsreader4.netcologne.de>
<2021Aug15.175812@mips.complang.tuwien.ac.at>
<rq-dneuWULqG2oT8nZ2dnUU7-KHNnZ2d@earthlink.com> <sfc5ib$1sd$1@dont-email.me>
<hLudnaFAuebSAYT8nZ2dnUU7-a3NnZ2d@earthlink.com> <sff9u7$m1r$1@dont-email.me>
<JpydnQC90-XwX4b8nZ2dnUU7-bHNnZ2d@earthlink.com> <sfh6tf$8bs$1@dont-email.me>
From: david.sc...@earthlink.net (David Schultz)
Date: Tue, 17 Aug 2021 15:59:25 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <sfh6tf$8bs$1@dont-email.me>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Message-ID: <-62dnY_bzuywvoH8nZ2dnUU7-SWdnZ2d@earthlink.com>
Lines: 32
X-Usenet-Provider: http://www.giganews.com
NNTP-Posting-Host: 108.194.108.110
X-Trace: sv3-Yne8kC+/BW3f1yF1kmMP9Pk+kec/GgPbQT7+YLV0ScnYgjtJRkZNhQjoB/PP4HoJgLUYve4Mw6R3Ppc!+6mZoO0Zn3rXESo1b+Sgyne7IdCyuc9VaVHxInXkz+Y/0yydgFS0N8yOV4xWeutdqBFiH6kGURIx!kxm/ywfB3+WyNErWDFsFvVn/G0a+Pp6glg==
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 2758
 by: David Schultz - Tue, 17 Aug 2021 20:59 UTC

On 8/17/21 3:41 PM, Brett wrote:
> David Schultz <david.schultz@earthlink.net> wrote:
>> On 8/16/21 10:20 PM, Brett wrote:
>>> David Schultz <david.schultz@earthlink.net> wrote:
>>>> On 8/15/21 5:47 PM, Brett wrote:
>>>>> David Schultz <david.schultz@earthlink.net> wrote:
>>>>>> It looks like I will not have to dig into the paper archives:
>>>>>> https://tlindner.macmess.org/?page_id=119
>>>>>
>>>>> Point 4 says no bit manipulation, but I see AND, OR, XOR, RORL, RORR, and
>>>>> bit compare.
>>>>> What are they talking about missing?
>>>>>
>>>>
>>>> Probably specific things like the bclr, bset, and btst instructions on
>>>> the 68000.
>>>
>>> I fail to see how those could be expensive in die space.
>>
>> They aren't. It was the instruction encoding that was the problem. If
>> you give them an 8 bit encoding, what do you throw out? With a longer
>> encoding, any advantage fades a bit.
>
> The Rockwell 6502 added bit manipulation, there are lots of unused opcodes.
>

I am pretty sure that the designers of the 6809 didn't care too much
about unused 6502 opcodes.

--
http://davesrocketworks.com
David Schultz

Re: Could we build a better 6502?

<ccb15103-f492-45f6-949f-8287ad771ec2n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19956&group=comp.arch#19956

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:5744:: with SMTP id 4mr5343444qtx.326.1629239545537;
Tue, 17 Aug 2021 15:32:25 -0700 (PDT)
X-Received: by 2002:a05:6808:2208:: with SMTP id bd8mr4502109oib.110.1629239545285;
Tue, 17 Aug 2021 15:32:25 -0700 (PDT)
Path: i2pn2.org!i2pn.org!paganini.bofh.team!usenet.pasdenom.info!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Tue, 17 Aug 2021 15:32:25 -0700 (PDT)
In-Reply-To: <sde7eg$hgb$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f39d:2c00:b5a7:cf20:dbe6:8a82;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f39d:2c00:b5a7:cf20:dbe6:8a82
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ccb15103-f492-45f6-949f-8287ad771ec2n@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Tue, 17 Aug 2021 22:32:25 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Quadibloc - Tue, 17 Aug 2021 22:32 UTC

I just read the following article on TechSpot:

https://www.techspot.com/news/90826-college-student-made-own-processor-home-garage.html

However, the article had an erroneous title. If the title had not been
erroneous, then the article was about someone who did make a
"better 6502" - a microprocessor with only 100 transistors!

However, when one reads the article, one sees that, no, it wasn't
a processor that he made, but only a test chip... which is still
an incredibly impressive accomplishment in one's garage.

John Savard

Re: Could we build a better 6502?

<8e1f92cf-807e-4885-ba85-915772bfb11cn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19957&group=comp.arch#19957

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:ab15:: with SMTP id u21mr6643614qke.439.1629246628629; Tue, 17 Aug 2021 17:30:28 -0700 (PDT)
X-Received: by 2002:a9d:4786:: with SMTP id b6mr4649811otf.329.1629246628363; Tue, 17 Aug 2021 17:30:28 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!tr2.eu1.usenetexpress.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Tue, 17 Aug 2021 17:30:28 -0700 (PDT)
In-Reply-To: <ccb15103-f492-45f6-949f-8287ad771ec2n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <ccb15103-f492-45f6-949f-8287ad771ec2n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8e1f92cf-807e-4885-ba85-915772bfb11cn@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Wed, 18 Aug 2021 00:30:28 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 25
 by: MitchAlsup - Wed, 18 Aug 2021 00:30 UTC

On Tuesday, August 17, 2021 at 5:32:26 PM UTC-5, Quadibloc wrote:
> I just read the following article on TechSpot:
>
> https://www.techspot.com/news/90826-college-student-made-own-processor-home-garage.html
>
> However, the article had an erroneous title. If the title had not been
> erroneous, then the article was about someone who did make a
> "better 6502" - a microprocessor with only 100 transistors!
>
> However, when one reads the article, one sees that, no, it wasn't
> a processor that he made, but only a test chip... which is still
> an incredibly impressive accomplishment in one's garage.
<
Impressive !!
<
Back when I was 2 years younger than him, I made a calculator out
of a couple dozen transistors, nearly 60 resistors, 40-ish capacitors,
and 10- small light bulbs with sockets. My input device was the dial
off of a rotary phone, the output was the lights, and I had an 8 gang
switch to change from adding to subtracting. I put the thing in a box
the size of an attache case, you could open the lid and see the rats
nest of wires.
<
Won county and state science fair that year.
>
> John Savard

Re: Could we build a better 6502?

<sfi8ip$feu$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19958&group=comp.arch#19958

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!4.us.feeder.erje.net!2.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-dc2a-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Wed, 18 Aug 2021 06:15:53 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sfi8ip$feu$1@newsreader4.netcologne.de>
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
<be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com>
<4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com>
<jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org>
<sfb5qi$m3u$1@newsreader4.netcologne.de>
<84126256-8745-4707-9445-130860761e76n@googlegroups.com>
<2021Aug17.112004@mips.complang.tuwien.ac.at>
Injection-Date: Wed, 18 Aug 2021 06:15:53 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-dc2a-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:dc2a:0:7285:c2ff:fe6c:992d";
logging-data="15838"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Wed, 18 Aug 2021 06:15 UTC

Anton Ertl <anton@mips.complang.tuwien.ac.at> schrieb:

I have to say I like the structured approach that you are proposing
below. It's a much better than just randomly tossing ideas around :-)

> True, the addressing modes were mostly orthogonal to the rest of the
> instructions, but they required control circuitry and space in the
> PLA. And overall the 6502 had a number of non-programmer-visible
> registers (IIRC I counted 17 8-bit registers overall), so all this
> stuff was not that cheap wrt reducing registers, either.
>
> An alternative architectural approach is to implement

> 1) Registers that are necessary for the data path: program counter, an
> address register, ALU output, maybe ALU inputs.

Plus the ALU, and the incrementer for the PC (which makes sense
to have independent of the ALU).

Another thing to design would be the load/store unit, which should
be able to load or store a byte at 500 ns, which the RAM at the
time could do. 1 MHz time for word-sized access sounds good.

> 2) Add a few more to make it possible to have a complete instruction
> set without needing extra cycles (which would require registers for
> the intermediate results): e.g., flags, return address.

Flags: Ack.

Return address: You mean a link register for subroutine calls,
and for interrupts?

> The result would be a Nova-like architecture, but designed for an
> 8-bit data bus (which implies significant changes).
>
> I think this could reduce the amount of control logic quite a lot
> compared to the 6502, which had to have control for, e.g., saving the
> return addres on a JSR and restoring the address on a RET.

Agreed. This is probably better implemented by BL / jump to
link register or even by two instructions.

> With the amount of control logic saved, one might be able to afford a
> 16-bit data path, avoiding the need to have two cycles through the ALU
> for 16-bit operations (and the corresponding control logic), or the
> need to work around that in software.

Agreed.

> Once we are there and know how much of our budget we have spent on
> that, we can think about whether we can afford more fancy stuff:
>
> * Just one or two additional registers, and/or auto-increment to avoid
> the most glaring inefficiencies in the instruction set.

Not sure I'm sold on the auto-increment. This would mean two
register writes per instruction, and I am envisioning this processor
as (potentially) a single-cycle machine, or at least a machine where
every instuction takes the same number of cycles, for simplicity.

One of the instructions could be the encoding of immediates
as discussed in another thread. Another could be two to four
bit immediates for ADD and SUB.

> * A stack machine, like the b16-like architecture I have in mind.
>
> * A register machine, like the RISC Thomas Koenig has in mind.

Both viable options.

[...]

Re: Could we build a better 6502?

<sfi8jr$feu$2@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19959&group=comp.arch#19959

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!4.us.feeder.erje.net!2.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-dc2a-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Wed, 18 Aug 2021 06:16:27 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sfi8jr$feu$2@newsreader4.netcologne.de>
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
<ccb15103-f492-45f6-949f-8287ad771ec2n@googlegroups.com>
<8e1f92cf-807e-4885-ba85-915772bfb11cn@googlegroups.com>
Injection-Date: Wed, 18 Aug 2021 06:16:27 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-dc2a-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:dc2a:0:7285:c2ff:fe6c:992d";
logging-data="15838"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Wed, 18 Aug 2021 06:16 UTC

MitchAlsup <MitchAlsup@aol.com> schrieb:

> Back when I was 2 years younger than him, I made a calculator out
> of a couple dozen transistors, nearly 60 resistors, 40-ish capacitors,
> and 10- small light bulbs with sockets. My input device was the dial
> off of a rotary phone, the output was the lights, and I had an 8 gang
> switch to change from adding to subtracting. I put the thing in a box
> the size of an attache case, you could open the lid and see the rats
> nest of wires.
><
> Won county and state science fair that year.

Now, that _is_ impressive.

I guess your professional career was foreshadowed by this :-)

Re: Could we build a better 6502?

<2021Aug18.102524@mips.complang.tuwien.ac.at>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19960&group=comp.arch#19960

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Wed, 18 Aug 2021 08:25:24 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 47
Message-ID: <2021Aug18.102524@mips.complang.tuwien.ac.at>
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com> <4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com> <jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org> <sfb5qi$m3u$1@newsreader4.netcologne.de> <84126256-8745-4707-9445-130860761e76n@googlegroups.com> <2021Aug17.112004@mips.complang.tuwien.ac.at> <61a8609e-7cda-46cd-9723-4936e719e927n@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="21a1509ff6402e962db0ad5a6cc564c9";
logging-data="31012"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+FRxzvTTyN4wyds8udoahq"
Cancel-Lock: sha1:u1YzJaKROVDSPXVIS2BWQdvAkbQ=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Wed, 18 Aug 2021 08:25 UTC

MitchAlsup <MitchAlsup@aol.com> writes:
>On Tuesday, August 17, 2021 at 5:33:26 AM UTC-5, Anton Ertl wrote:
>> That, too. With the advent of OoO, the drawbacks of CISC mostly
>> ceased to play a role.
><
>Which is what we were told when doing the 1st generation of RISC--
>why not just hold on until the transistor budget catches up. This
>is the "don't upset the cart" philosophy.

Who told you that with what goal? Did the 68000 people try to
convince the 88000 people that the 68000 will catch up eventually? It
seems to me that the 68000's problem was not the 88000, but SPARC,
HPPA, MIPS, 29000, and eventually PowerPC (although, without these,
the 88000 would have been a problem for the 68000).

And did they refer to OoO with the transistor budget, or to
pipelining? They certainly did the pipelining with the 68040 in 1990,
and then did superscalar with the 68060 in 1994, but never did OoO.

What I meant with the drawbacks of CISC mostly ceasing to play a role
is that the separation of execution and commit would have allowed to
do complex instructions like those of the 68020 and VAX, with multiple
memory accesses, all of which can trap relatively straightforwardly:
just wait for all operations of the instruction to complete before
committing any part of the instruction, and if there is an exception,
throw all the parts away (precise exceptions rather than stack puke).

Complex instructions would still come with a cost: There have to be
enough resources available to guarantee forward progress (rather than
trapping every time), even in the worst case of all memory accesses in
conflicting cache lines and conflicting pages (in case of a
non-fully-associative TLB), and page table entries in conflicting
pages. And validating all the cases is a burden that CISCs have to
bear.

So maybe OoO would not have saved heavy CISCs like the VAX (last
implementation NVAX in 1992) and the 68020 architecture (68060 in
1994). But it seems to me that the main reason for their demise was
the decision by the computer makers to switch to RISC CPUs. IA-32 and
S/360 descendants survived based on their software legacy, and shortly
after (in case of IA-32) succeeded with OoO implementations (the S/360
descendants took much longer AFAIK).

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: Could we build a better 6502?

<2021Aug18.122613@mips.complang.tuwien.ac.at>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19961&group=comp.arch#19961

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Wed, 18 Aug 2021 10:26:13 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 59
Distribution: world
Message-ID: <2021Aug18.122613@mips.complang.tuwien.ac.at>
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com> <4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com> <jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org> <sfb5qi$m3u$1@newsreader4.netcologne.de> <84126256-8745-4707-9445-130860761e76n@googlegroups.com> <2021Aug17.112004@mips.complang.tuwien.ac.at> <sfi8ip$feu$1@newsreader4.netcologne.de>
Injection-Info: reader02.eternal-september.org; posting-host="21a1509ff6402e962db0ad5a6cc564c9";
logging-data="8661"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/5ad7o2GL1+02zlBBL+KH1"
Cancel-Lock: sha1:6oI9nuTa3fFsCKlR+EEXLdjKDYM=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Wed, 18 Aug 2021 10:26 UTC

Thomas Koenig <tkoenig@netcologne.de> writes:
>Anton Ertl <anton@mips.complang.tuwien.ac.at> schrieb:
>> An alternative architectural approach is to implement
>
>
>> 1) Registers that are necessary for the data path: program counter, an
>> address register, ALU output, maybe ALU inputs.
>
>Plus the ALU, and the incrementer for the PC (which makes sense
>to have independent of the ALU).

Yes, of course you need a data path, and there are quite a bit of
design options there.

>> 2) Add a few more to make it possible to have a complete instruction
>> set without needing extra cycles (which would require registers for
>> the intermediate results): e.g., flags, return address.
>
>Flags: Ack.
>
>Return address: You mean a link register for subroutine calls,
>and for interrupts?

Yes. However, the dedicated return address register is a thinko. One
could store the return address in the accumulator.

>> Once we are there and know how much of our budget we have spent on
>> that, we can think about whether we can afford more fancy stuff:
>>
>> * Just one or two additional registers, and/or auto-increment to avoid
>> the most glaring inefficiencies in the instruction set.
>
>Not sure I'm sold on the auto-increment. This would mean two
>register writes per instruction, and I am envisioning this processor
>as (potentially) a single-cycle machine, or at least a machine where
>every instuction takes the same number of cycles, for simplicity.

Given that the registers are dedicated registers, you can write the
incremented address in the same cycle as the read data, they just need
to be on different buses. E.g., the PC is auto-incremented every time
an instruction byte is loaded.

As for single-cycle, you certainly need two memory cycles for a byte
load and a byte store (one for the instruction, one for the data), and
three memory cycles if you also want to implement word load and word
store.

Given that you want a separate incrementer for the PC in the data
path, you could also use that incrementer for the address register.
If you support word loads and word stores, incrementing the address
register is necessary anyway, unless words can only be accessed at
even addresses; in the latter case, one byte would be loaded from the
top 15bits of the address and 0 for the least-significant bit, the
next byte with 1 for the lsb.

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: Could we build a better 6502?

<524743a0-0c40-4543-b68e-17b2af752d7en@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19963&group=comp.arch#19963

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:58b:: with SMTP id 133mr9218907qkf.146.1629289671966;
Wed, 18 Aug 2021 05:27:51 -0700 (PDT)
X-Received: by 2002:a9d:4786:: with SMTP id b6mr6726253otf.329.1629289671722;
Wed, 18 Aug 2021 05:27:51 -0700 (PDT)
Path: i2pn2.org!i2pn.org!paganini.bofh.team!usenet.pasdenom.info!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Wed, 18 Aug 2021 05:27:51 -0700 (PDT)
In-Reply-To: <2021Aug18.102524@mips.complang.tuwien.ac.at>
Injection-Info: google-groups.googlegroups.com; posting-host=199.203.251.52; posting-account=ow8VOgoAAAAfiGNvoH__Y4ADRwQF1hZW
NNTP-Posting-Host: 199.203.251.52
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com>
<4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com> <jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org>
<sfb5qi$m3u$1@newsreader4.netcologne.de> <84126256-8745-4707-9445-130860761e76n@googlegroups.com>
<2021Aug17.112004@mips.complang.tuwien.ac.at> <61a8609e-7cda-46cd-9723-4936e719e927n@googlegroups.com>
<2021Aug18.102524@mips.complang.tuwien.ac.at>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <524743a0-0c40-4543-b68e-17b2af752d7en@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: already5...@yahoo.com (Michael S)
Injection-Date: Wed, 18 Aug 2021 12:27:51 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Michael S - Wed, 18 Aug 2021 12:27 UTC

On Wednesday, August 18, 2021 at 12:19:00 PM UTC+3, Anton Ertl wrote:
>
> So maybe OoO would not have saved heavy CISCs like the VAX (last
> implementation NVAX in 1992) and the 68020 architecture (68060 in
> 1994). But it seems to me that the main reason for their demise was
> the decision by the computer makers to switch to RISC CPUs. IA-32 and
> S/360 descendants survived based on their software legacy, and shortly
> after (in case of IA-32) succeeded with OoO implementations (the S/360
> descendants took much longer AFAIK).
> - anton
> --
> 'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
> Mitch Alsup, <c17fcd89-f024-40e7...@googlegroups.com>

It seems, OoO implementations of S/360 and descendants is [so far] a story of three chapters.
Chapter 1. is Tomasulo's S/360 Model 91/191. This chapter was brief. I am not sure how to call it, a failure or a limited success.
Chapter 2. are water-cooled S/390 Models 820 and 900. Replaced by simpler "CMOS" models.
Chapter 3 started with z196 in 2010 and is still going (zEC12, z13, z14, z15).

Re: Could we build a better 6502?

<7ed97c0e-275d-41bb-815e-201471281695n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19964&group=comp.arch#19964

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:624a:: with SMTP id w71mr9315479qkb.81.1629292443746;
Wed, 18 Aug 2021 06:14:03 -0700 (PDT)
X-Received: by 2002:a05:6808:6cc:: with SMTP id m12mr7304844oih.51.1629292443530;
Wed, 18 Aug 2021 06:14:03 -0700 (PDT)
Path: i2pn2.org!i2pn.org!paganini.bofh.team!usenet.pasdenom.info!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Wed, 18 Aug 2021 06:14:03 -0700 (PDT)
In-Reply-To: <sfi8ip$feu$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=5.173.41.82; posting-account=zjh_fgoAAABo0Nzgf6peaFtS6c-3xdgr
NNTP-Posting-Host: 5.173.41.82
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com>
<4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com> <jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org>
<sfb5qi$m3u$1@newsreader4.netcologne.de> <84126256-8745-4707-9445-130860761e76n@googlegroups.com>
<2021Aug17.112004@mips.complang.tuwien.ac.at> <sfi8ip$feu$1@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7ed97c0e-275d-41bb-815e-201471281695n@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: pec...@gmail.com (pec...@gmail.com)
Injection-Date: Wed, 18 Aug 2021 13:14:03 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: pec...@gmail.com - Wed, 18 Aug 2021 13:14 UTC

Thomas Koenig wrote:
> Anton Ertl <an...@mips.complang.tuwien.ac.at> schrieb:
>
> I have to say I like the structured approach that you are proposing
> below. It's a much better than just randomly tossing ideas around :-)
> > True, the addressing modes were mostly orthogonal to the rest of the
> > instructions, but they required control circuitry and space in the
> > PLA. And overall the 6502 had a number of non-programmer-visible
> > registers (IIRC I counted 17 8-bit registers overall), so all this
> > stuff was not that cheap wrt reducing registers, either.
> >
> > An alternative architectural approach is to implement
>
>
> > 1) Registers that are necessary for the data path: program counter, an
> > address register, ALU output, maybe ALU inputs.
> Plus the ALU, and the incrementer for the PC (which makes sense
> to have independent of the ALU).
>
> Another thing to design would be the load/store unit, which should
> be able to load or store a byte at 500 ns, which the RAM at the
> time could do. 1 MHz time for word-sized access sounds good.
Don't forget to hire a fairy to refresh the dram: P Without her you have 0.5Mhz for word-sized access.
What we can do better is a smart refresher integrated with prefetcher.
> > 2) Add a few more to make it possible to have a complete instruction
> > set without needing extra cycles (which would require registers for
> > the intermediate results): e.g., flags, return address.
> Flags: Ack.
>
> Return address: You mean a link register for subroutine calls,
> and for interrupts?
> > The result would be a Nova-like architecture, but designed for an
> > 8-bit data bus (which implies significant changes).
> >
> > I think this could reduce the amount of control logic quite a lot
> > compared to the 6502, which had to have control for, e.g., saving the
> > return addres on a JSR and restoring the address on a RET.
> Agreed. This is probably better implemented by BL / jump to
> link register or even by two instructions.
> > With the amount of control logic saved, one might be able to afford a
> > 16-bit data path, avoiding the need to have two cycles through the ALU
> > for 16-bit operations (and the corresponding control logic), or the
> > need to work around that in software.
> Agreed.
> > Once we are there and know how much of our budget we have spent on
> > that, we can think about whether we can afford more fancy stuff:
> >
> > * Just one or two additional registers, and/or auto-increment to avoid
> > the most glaring inefficiencies in the instruction set.
> Not sure I'm sold on the auto-increment. This would mean two
> register writes per instruction, and I am envisioning this processor
> as (potentially) a single-cycle machine,
2r1w register file is _impossible_.
> or at least a machine where
> every instuction takes the same number of cycles, for simplicity.
What about shift operation?
Complication is marginal - there is no pipelining, every RISC operation is translated into sequence of internal operations anyway. The gains are substantial in both speed and code density. Writing the result of post-increment to the register may ovelap with the execution of the next instruction.
> One of the instructions could be the encoding of immediates
> as discussed in another thread. Another could be two to four
> bit immediates for ADD and SUB.
> > * A stack machine, like the b16-like architecture I have in mind.
> >
> > * A register machine, like the RISC Thomas Koenig has in mind.
> Both viable options.
>
> [...]

Re: Could we build a better 6502?

<jwveeaquatd.fsf-monnier+comp.arch@gnu.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=19965&group=comp.arch#19965

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: monn...@iro.umontreal.ca (Stefan Monnier)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Wed, 18 Aug 2021 10:00:11 -0400
Organization: A noiseless patient Spider
Lines: 20
Message-ID: <jwveeaquatd.fsf-monnier+comp.arch@gnu.org>
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
<be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com>
<4faf234c-eabc-4ed4-b849-5e33df12fdb9n@googlegroups.com>
<jwvtujq6d9n.fsf-monnier+comp.arch@gnu.org>
<sfb5qi$m3u$1@newsreader4.netcologne.de>
<84126256-8745-4707-9445-130860761e76n@googlegroups.com>
<2021Aug17.112004@mips.complang.tuwien.ac.at>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="45461d5e3b54a0b73fdd32f48954acda";
logging-data="5955"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19sUAvptPF8/dO4G8HVyl29"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
Cancel-Lock: sha1:ZyW/IGnMNmM818bCinqEBAACHRw=
sha1:B7/ZcjMffiGOZFd/MHKv00lSQXI=
 by: Stefan Monnier - Wed, 18 Aug 2021 14:00 UTC

> With the amount of control logic saved, one might be able to afford a
> 16-bit data path, avoiding the need to have two cycles through the ALU
> for 16-bit operations (and the corresponding control logic), or the
> need to work around that in software.

I think as long as you're stuck with an accumulator design (i.e.
a very small number of registers), the benefits of a 16bit datapath
would be marginal, since you still constantly need to read or write
it to memory (in 2 steps, given the 8bit memory bus).

For the CPUs of the time, performance was dictated by the number of
bytes going over the memory bus. So I think the main focus should be on
maximizing the number of registers (to reduce the amount of data memory
accesses) while keeping the instruction encoding compact (to reduce the
amount of instruction memory accesses), which calls for implicit
register references, as is the case in stack machines and (to a lesser
extent) belt machines.

Stefan

Pages:12345678910111213
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor