Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

"All these black people are screwing up my democracy." - Ian Smith


devel / comp.arch / 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
Could we build a better 6502?

<sde7eg$hgb$1@newsreader4.netcologne.de>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a540-a40-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Could we build a better 6502?
Date: Fri, 23 Jul 2021 10:59:28 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sde7eg$hgb$1@newsreader4.netcologne.de>
Injection-Date: Fri, 23 Jul 2021 10:59:28 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2a0a-a540-a40-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2a0a:a540:a40:0:7285:c2ff:fe6c:992d";
logging-data="17931"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Fri, 23 Jul 2021 10:59 UTC

Another direction for retro-architectures... I've been looking
at the 6502 a bit, and it really is quite an interesting design.
Squeezing the functionality of a CPU into ~3500 transistors (plus
~1000 transistors used as resistors) was quite an achievement.

Could we do better knowing what we know now?

"Better" could of course mean different things - more instructions
per cycle, possibility of higher frequency, higher code density,
easier programming (programming the 6502 was not easy, especially
on the C-64 where Commodore had used up almost all of the zero
page for its Basic - I hardly ever used the X register).

The boundary conditions were of course severe. 16 bit address
bus, combined program and data bus of 8 bit. At least memory
was rather fast and could be accessed once per cycle without
problems (and even with the possibility of another, interleaved
access for graphics). Plus, any more transistors were bound to
increase the size and decrease the yield, leading to much
higher cost and erosion of the competetive advantage that the
6502 and its derivatives had at the time.

Re: Could we build a better 6502?

<be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:622a:1489:: with SMTP id t9mr3646850qtx.302.1627041613895;
Fri, 23 Jul 2021 05:00:13 -0700 (PDT)
X-Received: by 2002:a9d:6c8e:: with SMTP id c14mr2915285otr.5.1627041611364;
Fri, 23 Jul 2021 05:00:11 -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: Fri, 23 Jul 2021 05:00:11 -0700 (PDT)
In-Reply-To: <sde7eg$hgb$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f39a:d100:3954:a94:b43b:bd99;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f39a:d100:3954:a94:b43b:bd99
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <be7f8928-ee11-422e-b11e-f89d3ad39782n@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Fri, 23 Jul 2021 12:00:13 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Quadibloc - Fri, 23 Jul 2021 12:00 UTC

On Friday, July 23, 2021 at 4:59:30 AM UTC-6, Thomas Koenig wrote:
> Another direction for retro-architectures... I've been looking
> at the 6502 a bit, and it really is quite an interesting design.
> Squeezing the functionality of a CPU into ~3500 transistors (plus
> ~1000 transistors used as resistors) was quite an achievement.

Indeed.

However, even the 6502, let alone the 6800 or the 8080, seemed
to me to have very complicated instruction sets compared to the
PDP-8.

But interestingly enough, the 12-bit SDS 92 had an instruction set
that in many ways resembled those of the early 8-bit micros. (A
manual describing its instruction set is, of course, on Bitsavers.)

John Savard

Re: Could we build a better 6502?

<sdeci7$re5$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: m.del...@this.bitsnbites.eu (Marcus)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Fri, 23 Jul 2021 14:26:47 +0200
Organization: A noiseless patient Spider
Lines: 57
Message-ID: <sdeci7$re5$1@dont-email.me>
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 23 Jul 2021 12:26:47 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="6510d34700a00081a6e1626079b7ffe5";
logging-data="28101"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX197LLgTIV0I27UacPeKv0Hc9PZW4f052CY="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
Cancel-Lock: sha1:vyBXNux0a49bDtSCbqUwz6eKJ5Y=
In-Reply-To: <sde7eg$hgb$1@newsreader4.netcologne.de>
Content-Language: en-US
 by: Marcus - Fri, 23 Jul 2021 12:26 UTC

On 2021-07-23 12:59, Thomas Koenig wrote:
> Another direction for retro-architectures... I've been looking
> at the 6502 a bit, and it really is quite an interesting design.
> Squeezing the functionality of a CPU into ~3500 transistors (plus
> ~1000 transistors used as resistors) was quite an achievement.

One of my favorite aspects of the 6502/6510 CPU was that the logic
was so "compressed" that they didn't even bother to define the
semantics for undefined opcodes, so people later discovered that
many of the undefined opcodes actually had a useful meaning (while
some were less useful).

This is a very nice document that gives a detailed description of
all of the "illegal" opcodes (or "unintended", as the author calls
them):

https://codebase64.org/lib/exe/fetch.php?media=base:nomoresecrets-nmos6510unintendedopcodes-20202412.pdf

>
> Could we do better knowing what we know now?
>
> "Better" could of course mean different things - more instructions
> per cycle, possibility of higher frequency, higher code density,
> easier programming (programming the 6502 was not easy, especially
> on the C-64 where Commodore had used up almost all of the zero
> page for its Basic - I hardly ever used the X register).

I have a love-hate relationship with the 6502. It's the first machine
that I programmed assembler on (actually I mostly used a machine code
monitor in the beginning), and as you say it's remarkable in many ways.
Yet it's also horrible to code in many ways.

I have sometimes thought about various ways to do a "modern" 6502.

At one end of the spectrum you could try to make a binary compatible
machine that tries to go as far as possible with pipelining and
high clock speeds etc (it's an interesting problem since 6502 was
not designed for pipelining, and ugly things like self-modifying code
were very common - at least on the C=64).

At another end of the spectrum you could try to make a 6502:ish
ISA, but with easier to use addressing modes and registers etc. It
wouldn't be compatible, but it would be interesting to see if you
could design something with similar (low) complexity that's more
programmer friendly.

>
> The boundary conditions were of course severe. 16 bit address
> bus, combined program and data bus of 8 bit. At least memory
> was rather fast and could be accessed once per cycle without
> problems (and even with the possibility of another, interleaved
> access for graphics). Plus, any more transistors were bound to
> increase the size and decrease the yield, leading to much
> higher cost and erosion of the competetive advantage that the
> 6502 and its derivatives had at the time.
>

Re: Could we build a better 6502?

<sdei1n$pb4$1@newsreader4.netcologne.de>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a540-a40-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: Fri, 23 Jul 2021 14:00:23 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sdei1n$pb4$1@newsreader4.netcologne.de>
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
<sdeci7$re5$1@dont-email.me>
Injection-Date: Fri, 23 Jul 2021 14:00:23 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2a0a-a540-a40-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2a0a:a540:a40:0:7285:c2ff:fe6c:992d";
logging-data="25956"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Fri, 23 Jul 2021 14:00 UTC

Marcus <m.delete@this.bitsnbites.eu> schrieb:
> On 2021-07-23 12:59, Thomas Koenig wrote:
>> Another direction for retro-architectures... I've been looking
>> at the 6502 a bit, and it really is quite an interesting design.
>> Squeezing the functionality of a CPU into ~3500 transistors (plus
>> ~1000 transistors used as resistors) was quite an achievement.
>
> One of my favorite aspects of the 6502/6510 CPU was that the logic
> was so "compressed" that they didn't even bother to define the
> semantics for undefined opcodes, so people later discovered that
> many of the undefined opcodes actually had a useful meaning (while
> some were less useful).

That is a consequence of their logic - they generated the internal
CPU with a PLA with a lot of "don't care" values. You can see the
PLA on the top of the die shots on http://www.visual6502.org/ .
Apparently, this was quite popular in NMOS, less so in CMOS.

We could probably do better now because our PLA optimization
algorithms are better now than in 1974 (if they even used automated
methods for the design in that particular team, I see no mention
of it anywhere).

[...]

>> Could we do better knowing what we know now?
>>
>> "Better" could of course mean different things - more instructions
>> per cycle, possibility of higher frequency, higher code density,
>> easier programming (programming the 6502 was not easy, especially
>> on the C-64 where Commodore had used up almost all of the zero
>> page for its Basic - I hardly ever used the X register).
>
> I have a love-hate relationship with the 6502. It's the first machine
> that I programmed assembler on (actually I mostly used a machine code
> monitor in the beginning), and as you say it's remarkable in many ways.
> Yet it's also horrible to code in many ways.

That pretty much expresses my feelings, too.

> I have sometimes thought about various ways to do a "modern" 6502.
>
> At one end of the spectrum you could try to make a binary compatible
> machine that tries to go as far as possible with pipelining and
> high clock speeds etc (it's an interesting problem since 6502 was
> not designed for pipelining, and ugly things like self-modifying code
> were very common - at least on the C=64).

You would probably need to run this off 64 kbyte static RAM
(basically use a modern L1 cache as RAM), or you would have to
wait a relative eternity of what you can do today in a CPU.

> At another end of the spectrum you could try to make a 6502:ish
> ISA, but with easier to use addressing modes and registers etc. It
> wouldn't be compatible, but it would be interesting to see if you
> could design something with similar (low) complexity that's more
> programmer friendly.

That's what I was thinking of - what could they have built with
a similar transistor number at the time?

One severe problem for code density was 16-bit arithmetic. This was
so bad tat Steve Wozniak wrote what we would today call a "Soft CPU"
in 6502 assembler, the https://en.wikipedia.org/wiki/SWEET16 ,
a sixteen-register accumulator architecture. This has to be one
of the shortest CPU emulators in history, with around 300 bytes.

So... probably a load-store architecture to save complexity, and
lose the more complicated addressing modes. With an 8 bit machine,
you'd want 8 and 16 bit immediates for load and store, jump and
branch. Opcodes should be limited to single bytes. There are so
few bits in a byte that you cannot have many operations between
registers, so the accumulator architecture stays, but something
like the 8080 or Z80 register pairs could make sense.

You could still have special treatment of the zero page by allowing
load and store absolute with an immediate byte, or relative to
an 8-bit register.

Hm... this would probably look more like an 8080 than a 6502.

Re: Could we build a better 6502?

<ad5864a4-d8c1-4670-89d2-ef006d00cf1cn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:858:: with SMTP id 85mr5173899qki.70.1627053663515;
Fri, 23 Jul 2021 08:21:03 -0700 (PDT)
X-Received: by 2002:a9d:491c:: with SMTP id e28mr3352233otf.342.1627053663298;
Fri, 23 Jul 2021 08:21:03 -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: Fri, 23 Jul 2021 08:21:03 -0700 (PDT)
In-Reply-To: <sde7eg$hgb$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:b4bb:2cda:188c:261;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:b4bb:2cda:188c:261
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ad5864a4-d8c1-4670-89d2-ef006d00cf1cn@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Fri, 23 Jul 2021 15:21:03 +0000
Content-Type: text/plain; charset="UTF-8"
 by: MitchAlsup - Fri, 23 Jul 2021 15:21 UTC

On Friday, July 23, 2021 at 5:59:30 AM UTC-5, Thomas Koenig wrote:
> Another direction for retro-architectures... I've been looking
> at the 6502 a bit, and it really is quite an interesting design.
> Squeezing the functionality of a CPU into ~3500 transistors (plus
> ~1000 transistors used as resistors) was quite an achievement.
>
> Could we do better knowing what we know now?
<
Yes, It was called the PDP-11.
>
> "Better" could of course mean different things - more instructions
> per cycle, possibility of higher frequency, higher code density,
> easier programming (programming the 6502 was not easy, especially
> on the C-64 where Commodore had used up almost all of the zero
> page for its Basic - I hardly ever used the X register).
>
> The boundary conditions were of course severe. 16 bit address
> bus, combined program and data bus of 8 bit.
<
The buss needs widened.
<
> At least memory
> was rather fast and could be accessed once per cycle without
> problems (and even with the possibility of another, interleaved
> access for graphics). Plus, any more transistors were bound to
> increase the size and decrease the yield, leading to much
> higher cost and erosion of the competetive advantage that the
> 6502 and its derivatives had at the time.

Re: Could we build a better 6502?

<653c2f6e-ef26-43b4-bfdd-1a0a66a7ce42n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ad4:4ab1:: with SMTP id i17mr5459959qvx.37.1627056494821; Fri, 23 Jul 2021 09:08:14 -0700 (PDT)
X-Received: by 2002:a05:6830:929:: with SMTP id v41mr3468462ott.16.1627056494586; Fri, 23 Jul 2021 09:08:14 -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!tr3.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: Fri, 23 Jul 2021 09:08:14 -0700 (PDT)
In-Reply-To: <ad5864a4-d8c1-4670-89d2-ef006d00cf1cn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f39a:d100:3954:a94:b43b:bd99; posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f39a:d100:3954:a94:b43b:bd99
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <ad5864a4-d8c1-4670-89d2-ef006d00cf1cn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <653c2f6e-ef26-43b4-bfdd-1a0a66a7ce42n@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Fri, 23 Jul 2021 16:08:14 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 15
 by: Quadibloc - Fri, 23 Jul 2021 16:08 UTC

On Friday, July 23, 2021 at 9:21:04 AM UTC-6, MitchAlsup wrote:
> On Friday, July 23, 2021 at 5:59:30 AM UTC-5, Thomas Koenig wrote:
> > Another direction for retro-architectures... I've been looking
> > at the 6502 a bit, and it really is quite an interesting design.
> > Squeezing the functionality of a CPU into ~3500 transistors (plus
> > ~1000 transistors used as resistors) was quite an achievement.

> > Could we do better knowing what we know now?

> Yes, It was called the PDP-11.

The PDP-11 used even fewer transistors?

I could imagine the PDP-8 would, as it was *very* simple.

John Savard

Re: Could we build a better 6502?

<0bCKI.27849$bR5.27689@fx44.iad>

  copy mid

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

  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!news.uzoreto.com!feeder.usenetexpress.com!tr1.eu1.usenetexpress.com!feeder1.feed.usenet.farm!feed.usenet.farm!peer02.ams4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx44.iad.POSTED!not-for-mail
From: ThatWoul...@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <sdeci7$re5$1@dont-email.me> <sdei1n$pb4$1@newsreader4.netcologne.de>
In-Reply-To: <sdei1n$pb4$1@newsreader4.netcologne.de>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 39
Message-ID: <0bCKI.27849$bR5.27689@fx44.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Fri, 23 Jul 2021 16:33:00 UTC
Date: Fri, 23 Jul 2021 12:33:02 -0400
X-Received-Bytes: 2731
 by: EricP - Fri, 23 Jul 2021 16:33 UTC

Thomas Koenig wrote:
> Marcus <m.delete@this.bitsnbites.eu> schrieb:
>> On 2021-07-23 12:59, Thomas Koenig wrote:
>>> Another direction for retro-architectures... I've been looking
>>> at the 6502 a bit, and it really is quite an interesting design.
>>> Squeezing the functionality of a CPU into ~3500 transistors (plus
>>> ~1000 transistors used as resistors) was quite an achievement.
>> One of my favorite aspects of the 6502/6510 CPU was that the logic
>> was so "compressed" that they didn't even bother to define the
>> semantics for undefined opcodes, so people later discovered that
>> many of the undefined opcodes actually had a useful meaning (while
>> some were less useful).
>
> That is a consequence of their logic - they generated the internal
> CPU with a PLA with a lot of "don't care" values. You can see the
> PLA on the top of the die shots on http://www.visual6502.org/ .
> Apparently, this was quite popular in NMOS, less so in CMOS.

In nmos they could build equivalent to wired-OR logic with a
depletion mode pull-up (effectively a resistor pulling the wire high)
and a pull down for each input signal. Essentially each logic input
term to a large fan-in NAND (a, b, c, ...) cost just 1 transistor.

It wastes power, but it works.

Static CMOS doesn't have any equivalent to wire-OR so there is little
saving making static PLAs. Instead PLAs are built out of dynamic logic.
But I don't see them explicitly referenced in designs much
so I think the tricky dynamic aspect keeps designers away.
Also tools like Verilog don't generate PLAs.

> We could probably do better now because our PLA optimization
> algorithms are better now than in 1974 (if they even used automated
> methods for the design in that particular team, I see no mention
> of it anywhere).

IIRC 6502 used a PLA for the first part of the decoding and sequencing,
but also had gobs of random logic after it.

Re: Could we build a better 6502?

<hzCKI.13503$7k7.4106@fx11.iad>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!feeder1.feed.usenet.farm!feed.usenet.farm!news-out.netnews.com!news.alt.net!fdc3.netnews.com!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx11.iad.POSTED!not-for-mail
From: ThatWoul...@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
In-Reply-To: <sde7eg$hgb$1@newsreader4.netcologne.de>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 48
Message-ID: <hzCKI.13503$7k7.4106@fx11.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Fri, 23 Jul 2021 16:58:53 UTC
Date: Fri, 23 Jul 2021 12:58:32 -0400
X-Received-Bytes: 2815
 by: EricP - Fri, 23 Jul 2021 16:58 UTC

Thomas Koenig wrote:
> Another direction for retro-architectures... I've been looking
> at the 6502 a bit, and it really is quite an interesting design.
> Squeezing the functionality of a CPU into ~3500 transistors (plus
> ~1000 transistors used as resistors) was quite an achievement.
>
> Could we do better knowing what we know now?
>
> "Better" could of course mean different things - more instructions
> per cycle, possibility of higher frequency, higher code density,
> easier programming (programming the 6502 was not easy, especially
> on the C-64 where Commodore had used up almost all of the zero
> page for its Basic - I hardly ever used the X register).
>
> The boundary conditions were of course severe. 16 bit address
> bus, combined program and data bus of 8 bit. At least memory
> was rather fast and could be accessed once per cycle without
> problems (and even with the possibility of another, interleaved
> access for graphics). Plus, any more transistors were bound to
> increase the size and decrease the yield, leading to much
> higher cost and erosion of the competetive advantage that the
> 6502 and its derivatives had at the time.

Also the whole processor would have been designed using brain power
on paper and pencil. There was no CAD development tools.

Then a prototype is wired up, probably using TTL on wire-wrap boards,
and debugged using oscilloscopes.

Then that logic is translated by hand to individual transistors,
again using pencil and paper.
And wire up a second prototype using individual transistors
and debugged using oscilloscopes.

Then the transistor level design is translated by hand to
giant colored-tape-on-clear-mylar sheets, about 6 ft by 6 ft.
One sheet for each mask layer.

Oh and you only have 2 layers of interconnect, one polysilicide
and one metal. Use them wisely.

These masks are then photo reduced to produce the reticle masks.

Then you can make your prototype IC and 8-12 weeks later
you can start testing it to try to figure out the mistakes
you made in any of the above.

Re: Could we build a better 6502?

<sdethg$10ug$1@gioia.aioe.org>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!aioe.org!KiyhrSr2ZyCBOphlU7uzug.user.46.165.242.75.POSTED!not-for-mail
From: mess...@bottle.org (Guillaume)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Fri, 23 Jul 2021 19:16:27 +0200
Organization: Aioe.org NNTP Server
Message-ID: <sdethg$10ug$1@gioia.aioe.org>
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="33744"; posting-host="KiyhrSr2ZyCBOphlU7uzug.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.12.0
Content-Language: fr
X-Notice: Filtered by postfilter v. 0.9.2
 by: Guillaume - Fri, 23 Jul 2021 17:16 UTC

Le 23/07/2021 à 12:59, Thomas Koenig a écrit :
> Another direction for retro-architectures... I've been looking
> at the 6502 a bit, and it really is quite an interesting design.
> Squeezing the functionality of a CPU into ~3500 transistors (plus
> ~1000 transistors used as resistors) was quite an achievement.
>
> Could we do better knowing what we know now?

If you mean with the same number of transistors, that would be very hard
to do really better.

I guess using a completely different architecture, based on a very
simple RISC instruction set, you might be able to do something a bit
more "powerful" with the same amount of logic, and being able to run at
much higher frequencies even on old processes. But using such a CPU with
simple dev tools as they were available at them time would be very
clunky. Only decent compilers can make efficient use of such simple RISC
architectures while not making the developers' life a hell. I guess.

Re: Could we build a better 6502?

<10f4292e-7e9a-4ded-960e-aa233e365f0cn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:7645:: with SMTP id i5mr4843934qtr.133.1627061870549;
Fri, 23 Jul 2021 10:37:50 -0700 (PDT)
X-Received: by 2002:a05:6808:f02:: with SMTP id m2mr2451856oiw.0.1627061870305;
Fri, 23 Jul 2021 10:37:50 -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: Fri, 23 Jul 2021 10:37:50 -0700 (PDT)
In-Reply-To: <0bCKI.27849$bR5.27689@fx44.iad>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:b4bb:2cda:188c:261;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:b4bb:2cda:188c:261
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <sdeci7$re5$1@dont-email.me>
<sdei1n$pb4$1@newsreader4.netcologne.de> <0bCKI.27849$bR5.27689@fx44.iad>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <10f4292e-7e9a-4ded-960e-aa233e365f0cn@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Fri, 23 Jul 2021 17:37:50 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: MitchAlsup - Fri, 23 Jul 2021 17:37 UTC

On Friday, July 23, 2021 at 11:33:05 AM UTC-5, EricP wrote:
> Thomas Koenig wrote:
> > Marcus <m.de...@this.bitsnbites.eu> schrieb:
> >> On 2021-07-23 12:59, Thomas Koenig wrote:
> >>> Another direction for retro-architectures... I've been looking
> >>> at the 6502 a bit, and it really is quite an interesting design.
> >>> Squeezing the functionality of a CPU into ~3500 transistors (plus
> >>> ~1000 transistors used as resistors) was quite an achievement.
> >> One of my favorite aspects of the 6502/6510 CPU was that the logic
> >> was so "compressed" that they didn't even bother to define the
> >> semantics for undefined opcodes, so people later discovered that
> >> many of the undefined opcodes actually had a useful meaning (while
> >> some were less useful).
> >
> > That is a consequence of their logic - they generated the internal
> > CPU with a PLA with a lot of "don't care" values. You can see the
> > PLA on the top of the die shots on http://www.visual6502.org/ .
> > Apparently, this was quite popular in NMOS, less so in CMOS.
> In nmos they could build equivalent to wired-OR logic with a
> depletion mode pull-up (effectively a resistor pulling the wire high)
> and a pull down for each input signal. Essentially each logic input
> term to a large fan-in NAND (a, b, c, ...) cost just 1 transistor.
>
> It wastes power, but it works.
>
> Static CMOS doesn't have any equivalent to wire-OR so there is little
> saving making static PLAs. Instead PLAs are built out of dynamic logic.
> But I don't see them explicitly referenced in designs much
> so I think the tricky dynamic aspect keeps designers away.
<
Err, no........
All of the 68K family (at least the ones before 040) used PLAs.
The 88Ks used a PLA--well, actually ½ a PLA; we used a single NOR
plane as the decoder in 88100.
Lots of other designs used PLAs or NOR planes because they were
DENSE--as dense as DRAMs with mask programmable bit patterns.
I bet most of the microprocessors, prior to the RISC revolution, used
PLAs (or NOR planes).
<
One of the clever things 68020 did was to place an XOR gate between
the two NOR planes of the PLA which vastly increases the kinds of
patterns one could decode !!
<
> Also tools like Verilog don't generate PLAs.
<
NO but microcode assemblers do !
<
> > We could probably do better now because our PLA optimization
> > algorithms are better now than in 1974 (if they even used automated
> > methods for the design in that particular team, I see no mention
> > of it anywhere).
> IIRC 6502 used a PLA for the first part of the decoding and sequencing,
> but also had gobs of random logic after it.

Re: Could we build a better 6502?

<8bfdbbd4-71bf-4450-84f1-4212f69dcfa3n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:75d4:: with SMTP id z20mr4949169qtq.360.1627062211075;
Fri, 23 Jul 2021 10:43:31 -0700 (PDT)
X-Received: by 2002:aca:4946:: with SMTP id w67mr9528771oia.155.1627062210866;
Fri, 23 Jul 2021 10:43:30 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.snarked.org!border2.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: Fri, 23 Jul 2021 10:43:30 -0700 (PDT)
In-Reply-To: <hzCKI.13503$7k7.4106@fx11.iad>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:b4bb:2cda:188c:261;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:b4bb:2cda:188c:261
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <hzCKI.13503$7k7.4106@fx11.iad>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8bfdbbd4-71bf-4450-84f1-4212f69dcfa3n@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Fri, 23 Jul 2021 17:43:31 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 56
 by: MitchAlsup - Fri, 23 Jul 2021 17:43 UTC

On Friday, July 23, 2021 at 11:58:56 AM UTC-5, EricP wrote:
> Thomas Koenig wrote:
> > Another direction for retro-architectures... I've been looking
> > at the 6502 a bit, and it really is quite an interesting design.
> > Squeezing the functionality of a CPU into ~3500 transistors (plus
> > ~1000 transistors used as resistors) was quite an achievement.
> >
> > Could we do better knowing what we know now?
> >
> > "Better" could of course mean different things - more instructions
> > per cycle, possibility of higher frequency, higher code density,
> > easier programming (programming the 6502 was not easy, especially
> > on the C-64 where Commodore had used up almost all of the zero
> > page for its Basic - I hardly ever used the X register).
> >
> > The boundary conditions were of course severe. 16 bit address
> > bus, combined program and data bus of 8 bit. At least memory
> > was rather fast and could be accessed once per cycle without
> > problems (and even with the possibility of another, interleaved
> > access for graphics). Plus, any more transistors were bound to
> > increase the size and decrease the yield, leading to much
> > higher cost and erosion of the competetive advantage that the
> > 6502 and its derivatives had at the time.
> Also the whole processor would have been designed using brain power
> on paper and pencil. There was no CAD development tools.
>
> Then a prototype is wired up, probably using TTL on wire-wrap boards,
> and debugged using oscilloscopes.
>
> Then that logic is translated by hand to individual transistors,
> again using pencil and paper.
<
> And wire up a second prototype using individual transistors
> and debugged using oscilloscopes.
>
> Then the transistor level design is translated by hand to
> giant colored-tape-on-clear-mylar sheets, about 6 ft by 6 ft.
> One sheet for each mask layer.
>
> Oh and you only have 2 layers of interconnect, one polysilicide
> and one metal. Use them wisely.
<
Silicide did not occur until 2µ and we are talking about the 5µ-3µ era.
But then again, logic speeds were not high enough that silicide bought
much gain (it was instrumental in getting 68020 to 33 MHz BTW)....
>
> These masks are then photo reduced to produce the reticle masks.
>
> Then you can make your prototype IC and 8-12 weeks later
> you can start testing it to try to figure out the mistakes
> you made in any of the above.
<
In the 1.5µ era we went from full layer tapeout, to prototype wafers
in 35 hours..........it was a rush job, and we had a FAB guy walk the
wafers between stations so there was not manufacturing latency
only the latency of each job step.

Re: Could we build a better 6502?

<d12f38d8-292e-4a78-a91c-be64af8c745en@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:57c4:: with SMTP id w4mr4909072qta.39.1627062489539; Fri, 23 Jul 2021 10:48:09 -0700 (PDT)
X-Received: by 2002:aca:ac46:: with SMTP id v67mr3640092oie.99.1627062489375; Fri, 23 Jul 2021 10:48:09 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!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: Fri, 23 Jul 2021 10:48:09 -0700 (PDT)
In-Reply-To: <sdethg$10ug$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:b4bb:2cda:188c:261; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:b4bb:2cda:188c:261
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <sdethg$10ug$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d12f38d8-292e-4a78-a91c-be64af8c745en@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Fri, 23 Jul 2021 17:48:09 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 35
 by: MitchAlsup - Fri, 23 Jul 2021 17:48 UTC

On Friday, July 23, 2021 at 12:16:39 PM UTC-5, Guillaume wrote:
> Le 23/07/2021 à 12:59, Thomas Koenig a écrit :
> > Another direction for retro-architectures... I've been looking
> > at the 6502 a bit, and it really is quite an interesting design.
> > Squeezing the functionality of a CPU into ~3500 transistors (plus
> > ~1000 transistors used as resistors) was quite an achievement.
> >
> > Could we do better knowing what we know now?
<
> If you mean with the same number of transistors, that would be very hard
> to do really better.
<
It would be impossible today. 3× transistors is the minimum you could even
conceive of !!
<
Consider the select line driver on the 68020:: This is a logic block that
took a lightly loaded control signal, a clock, and drove a select line
across a 32-bit data path with 32 loads on this wire. Today we call these
and AND-clock. We built these with 3 transistors !! and one inversion.
I can't imagine you could build this with fewer than 12 transistors today
and 2 logic inversions.
>
> I guess using a completely different architecture, based on a very
> simple RISC instruction set, you might be able to do something a bit
> more "powerful" with the same amount of logic, and being able to run at
> much higher frequencies even on old processes. But using such a CPU with
> simple dev tools as they were available at them time would be very
> clunky. Only decent compilers can make efficient use of such simple RISC
> architectures while not making the developers' life a hell. I guess.
<
In other words--don't bother.

Re: Could we build a better 6502?

<sdf079$3bn$1@newsreader4.netcologne.de>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a540-a40-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: Fri, 23 Jul 2021 18:02:17 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sdf079$3bn$1@newsreader4.netcologne.de>
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
<ad5864a4-d8c1-4670-89d2-ef006d00cf1cn@googlegroups.com>
Injection-Date: Fri, 23 Jul 2021 18:02:17 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2a0a-a540-a40-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2a0a:a540:a40:0:7285:c2ff:fe6c:992d";
logging-data="3447"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Fri, 23 Jul 2021 18:02 UTC

MitchAlsup <MitchAlsup@aol.com> schrieb:
> On Friday, July 23, 2021 at 5:59:30 AM UTC-5, Thomas Koenig wrote:
>> Another direction for retro-architectures... I've been looking
>> at the 6502 a bit, and it really is quite an interesting design.
>> Squeezing the functionality of a CPU into ~3500 transistors (plus
>> ~1000 transistors used as resistors) was quite an achievement.
>>
>> Could we do better knowing what we know now?
><
> Yes, It was called the PDP-11.

The PDP-11 had considerably more transistors, looking at the die
shot of the https://en.wikipedia.org/wiki/DEC_T-11 vs. the die
shot at https://en.wikipedia.org/wiki/MOS_Technology_6502 will
tell you (or a look at https://en.wikipedia.org/wiki/DEC_J-11
from 1979).

Totally impossible to start the home computer revolution with
such a chip launched in 1975, whose main selling point was that
it undercut the more 6809 on price.

No 6502, no Apple I or II, no C-64.

>> "Better" could of course mean different things - more instructions
>> per cycle, possibility of higher frequency, higher code density,
>> easier programming (programming the 6502 was not easy, especially
>> on the C-64 where Commodore had used up almost all of the zero
>> page for its Basic - I hardly ever used the X register).
>>
>> The boundary conditions were of course severe. 16 bit address
>> bus, combined program and data bus of 8 bit.
><
> The buss needs widened.

And so they did, with their 16-bit chips. For the embedded market
in the mid-1970s that they originally developed the chip for,
this was out of the question.

Re: Could we build a better 6502?

<sdf0ib$3bn$2@newsreader4.netcologne.de>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a540-a40-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: Fri, 23 Jul 2021 18:08:11 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sdf0ib$3bn$2@newsreader4.netcologne.de>
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
<sdeci7$re5$1@dont-email.me> <sdei1n$pb4$1@newsreader4.netcologne.de>
<0bCKI.27849$bR5.27689@fx44.iad>
Injection-Date: Fri, 23 Jul 2021 18:08:11 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2a0a-a540-a40-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2a0a:a540:a40:0:7285:c2ff:fe6c:992d";
logging-data="3447"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Fri, 23 Jul 2021 18:08 UTC

EricP <ThatWouldBeTelling@thevillage.com> schrieb:
> Thomas Koenig wrote:

> Static CMOS doesn't have any equivalent to wire-OR so there is little
> saving making static PLAs. Instead PLAs are built out of dynamic logic.
> But I don't see them explicitly referenced in designs much
> so I think the tricky dynamic aspect keeps designers away.
> Also tools like Verilog don't generate PLAs.

If you want to, it is quite possible to use Espresso (see
https://github.com/classabbyamp/espresso-logic to generate Verilog
or VHDL truth table (you may have to edit the formulas, but that
is easily doable by using a small sed script).

>
>> We could probably do better now because our PLA optimization
>> algorithms are better now than in 1974 (if they even used automated
>> methods for the design in that particular team, I see no mention
>> of it anywhere).
>
> IIRC 6502 used a PLA for the first part of the decoding and sequencing,
> but also had gobs of random logic after it.

Easily identifiable on the chip, yep :-)

Re: Could we build a better 6502?

<kDDKI.63020$dp5.19732@fx48.iad>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx48.iad.POSTED!not-for-mail
From: ThatWoul...@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
In-Reply-To: <sde7eg$hgb$1@newsreader4.netcologne.de>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 65
Message-ID: <kDDKI.63020$dp5.19732@fx48.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Fri, 23 Jul 2021 18:11:28 UTC
Date: Fri, 23 Jul 2021 14:05:30 -0400
X-Received-Bytes: 3880
 by: EricP - Fri, 23 Jul 2021 18:05 UTC

Thomas Koenig wrote:
> Another direction for retro-architectures... I've been looking
> at the 6502 a bit, and it really is quite an interesting design.
> Squeezing the functionality of a CPU into ~3500 transistors (plus
> ~1000 transistors used as resistors) was quite an achievement.
>
> Could we do better knowing what we know now?
>
> "Better" could of course mean different things - more instructions
> per cycle, possibility of higher frequency, higher code density,
> easier programming (programming the 6502 was not easy, especially
> on the C-64 where Commodore had used up almost all of the zero
> page for its Basic - I hardly ever used the X register).
>
> The boundary conditions were of course severe. 16 bit address
> bus, combined program and data bus of 8 bit. At least memory
> was rather fast and could be accessed once per cycle without
> problems (and even with the possibility of another, interleaved
> access for graphics). Plus, any more transistors were bound to
> increase the size and decrease the yield, leading to much
> higher cost and erosion of the competetive advantage that the
> 6502 and its derivatives had at the time.

The cpu's I worked with were the Motorola 6800, Intel 8080,
and CMOS RCA 1802. Electronics for 1802 was the
easiest to design with but it had a horrible ISA.

I had an paper-design hobby project a while back to design the best
ISA possible within the 1802's budget of 5500 CMOS transistors.
Gates have a maximum of 3 inputs, and there is 2 layers of interconnect.

My design had 2 accumulators, A and B, a Flag register,
8 16-bit address/data registers, a link register for Branch And Link,
a link register for interrupted IP, and a IP register.
In the Mark-I model A and B were 8 bits. In the Mark-II they were 16 bits.

Internally there was a 16 bit temp register for loading an immediate,
a Memory Address Register (MAR), ALU input registers,
and an 8-bit instruction register.

Instruction opcodes are 8 bits, with 1 or 2 bytes of immediate,
and can do 8 and a few 16 bit operations.
Two accumulators means operate opcodes are of the form A = A op B
eliminating register fields for most instructions.
The rest of the instructions have a single 3-bit register field.

The decoder was one 2:4 and two 3:8 decoders (remember, gates are
limited to 3 inputs so no 4:16 decoders) followed by random logic,
and the instruction sequencer a 16 state Johnson counter.
ALU performed standard operations but also did 16-bit
increment, decrement, and add.

There is a 16 bit bus running from the register file to MAR, ALU
and data bus interface, and a 16 bit result bus the runs back to
register file but also to MAR so a register can be read into MAR,
and incremented sent back to register file in 1 cycle.
16 bit adds took 2 cycles.

Bus timing had its own sequencer logic (just a few FF)
so to do a bus read or write one stuffed a value in the MAR and
pulsed the bus sequencer. That shut of the instruction sequencer
until the bus cycle finished and presented the data value on the
internal data bus, and re-enable the main sequencer.

Re: Could we build a better 6502?

<sdf0vd$3bn$3@newsreader4.netcologne.de>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a540-a40-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: Fri, 23 Jul 2021 18:15:09 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sdf0vd$3bn$3@newsreader4.netcologne.de>
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
<sdethg$10ug$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 23 Jul 2021 18:15:09 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2a0a-a540-a40-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2a0a:a540:a40:0:7285:c2ff:fe6c:992d";
logging-data="3447"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Fri, 23 Jul 2021 18:15 UTC

Guillaume <message@bottle.org> schrieb:
> Le 23/07/2021 à 12:59, Thomas Koenig a écrit :
>> Another direction for retro-architectures... I've been looking
>> at the 6502 a bit, and it really is quite an interesting design.
>> Squeezing the functionality of a CPU into ~3500 transistors (plus
>> ~1000 transistors used as resistors) was quite an achievement.
>>
>> Could we do better knowing what we know now?
>
> If you mean with the same number of transistors, that would be very hard
> to do really better.
>
> I guess using a completely different architecture, based on a very
> simple RISC instruction set, you might be able to do something a bit
> more "powerful" with the same amount of logic, and being able to run at
> much higher frequencies even on old processes.

The Nova paved the way for that, I think - it was very good on the
price / performance curve for its day.

I have not found a transistor count for the Nova, unfortunately, and
the schematics on Bitsavers give just codes for the ICs that they
built in that I am unable to deciper.

> But using such a CPU with
> simple dev tools as they were available at them time would be very
> clunky.

Ugh...

I have programmed the 6502 in assembler, it was a PITA. A few
more registers would have done wonders and would have saved me a
few torn-out hairs (but I had enough in those days).

The first time I browsed through handbook on the 68000, I thought
"This is not assembler, this is a high-level language!"

> Only decent compilers can make efficient use of such simple RISC
> architectures while not making the developers' life a hell. I guess.

Hardly a decent compiler around for the 6502 in those days, at
least I knew none. It was Basic or Assembler (or machine code
via a monitor, with a hard reset if you made a programming mistake).

Re: Could we build a better 6502?

<c613eaec-5cda-490a-a84b-87a62b36ad76n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:622a:1805:: with SMTP id t5mr5153234qtc.340.1627064680010;
Fri, 23 Jul 2021 11:24:40 -0700 (PDT)
X-Received: by 2002:a05:6830:1658:: with SMTP id h24mr3900229otr.182.1627064679805;
Fri, 23 Jul 2021 11:24:39 -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: Fri, 23 Jul 2021 11:24:39 -0700 (PDT)
In-Reply-To: <sdf0vd$3bn$3@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:b4bb:2cda:188c:261;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:b4bb:2cda:188c:261
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <sdethg$10ug$1@gioia.aioe.org>
<sdf0vd$3bn$3@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c613eaec-5cda-490a-a84b-87a62b36ad76n@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Fri, 23 Jul 2021 18:24:40 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: MitchAlsup - Fri, 23 Jul 2021 18:24 UTC

On Friday, July 23, 2021 at 1:15:11 PM UTC-5, Thomas Koenig wrote:
> Guillaume <mes...@bottle.org> schrieb:
> > Le 23/07/2021 à 12:59, Thomas Koenig a écrit :
> >> Another direction for retro-architectures... I've been looking
> >> at the 6502 a bit, and it really is quite an interesting design.
> >> Squeezing the functionality of a CPU into ~3500 transistors (plus
> >> ~1000 transistors used as resistors) was quite an achievement.
> >>
> >> Could we do better knowing what we know now?
> >
> > If you mean with the same number of transistors, that would be very hard
> > to do really better.
> >
> > I guess using a completely different architecture, based on a very
> > simple RISC instruction set, you might be able to do something a bit
> > more "powerful" with the same amount of logic, and being able to run at
> > much higher frequencies even on old processes.
> The Nova paved the way for that, I think - it was very good on the
> price / performance curve for its day.
>
> I have not found a transistor count for the Nova, unfortunately, and
> the schematics on Bitsavers give just codes for the ICs that they
> built in that I am unable to deciper.
> > But using such a CPU with
> > simple dev tools as they were available at them time would be very
> > clunky.
> Ugh...
>
> I have programmed the 6502 in assembler, it was a PITA. A few
> more registers would have done wonders and would have saved me a
> few torn-out hairs (but I had enough in those days).
>
> The first time I browsed through handbook on the 68000, I thought
> "This is not assembler, this is a high-level language!"
<
And they took most of it from the PDP-11
<
> > Only decent compilers can make efficient use of such simple RISC
> > architectures while not making the developers' life a hell. I guess.
> Hardly a decent compiler around for the 6502 in those days, at
> least I knew none. It was Basic or Assembler (or machine code
> via a monitor, with a hard reset if you made a programming mistake).

Re: Could we build a better 6502?

<sdf4l3$6cl$1@newsreader4.netcologne.de>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a540-a40-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: Fri, 23 Jul 2021 19:17:55 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sdf4l3$6cl$1@newsreader4.netcologne.de>
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
<sdethg$10ug$1@gioia.aioe.org> <sdf0vd$3bn$3@newsreader4.netcologne.de>
<c613eaec-5cda-490a-a84b-87a62b36ad76n@googlegroups.com>
Injection-Date: Fri, 23 Jul 2021 19:17:55 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2a0a-a540-a40-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2a0a:a540:a40:0:7285:c2ff:fe6c:992d";
logging-data="6549"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Fri, 23 Jul 2021 19:17 UTC

MitchAlsup <MitchAlsup@aol.com> schrieb:
> On Friday, July 23, 2021 at 1:15:11 PM UTC-5, Thomas Koenig wrote:

>> The first time I browsed through handbook on the 68000, I thought
>> "This is not assembler, this is a high-level language!"
><
> And they took most of it from the PDP-11

Certainly a lot.

What mostly dazzeled me, though, was the sheer number and
witdth of registers.

For somebody who had only seen 6502 and Z-80 up to that point,
that was quite an experience.

Of course, there was also some frustration involved. I had done
some Mandelbrot calculations (who hadn't :) and sped things up by
a factor of 10 or more by using the floating point routines
in the C-64's BASIC interpreter.

A friend, who had one of the first Amigas, was _much_ faster
just using BASIC. I then gave up on 6502 assembler.

Re: Could we build a better 6502?

<ef98dbca-46aa-45f0-861b-e1b872d58c62n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:47c5:: with SMTP id d5mr5254215qtr.231.1627068460240;
Fri, 23 Jul 2021 12:27:40 -0700 (PDT)
X-Received: by 2002:a4a:db97:: with SMTP id s23mr3661237oou.73.1627068459956;
Fri, 23 Jul 2021 12:27:39 -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: Fri, 23 Jul 2021 12:27:39 -0700 (PDT)
In-Reply-To: <sde7eg$hgb$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=73.188.126.34; posting-account=ujX_IwoAAACu0_cef9hMHeR8g0ZYDNHh
NNTP-Posting-Host: 73.188.126.34
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ef98dbca-46aa-45f0-861b-e1b872d58c62n@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: timcaff...@aol.com (Timothy McCaffrey)
Injection-Date: Fri, 23 Jul 2021 19:27:40 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Timothy McCaffrey - Fri, 23 Jul 2021 19:27 UTC

On Friday, July 23, 2021 at 6:59:30 AM UTC-4, Thomas Koenig wrote:
> Another direction for retro-architectures... I've been looking
> at the 6502 a bit, and it really is quite an interesting design.
> Squeezing the functionality of a CPU into ~3500 transistors (plus
> ~1000 transistors used as resistors) was quite an achievement.
>
> Could we do better knowing what we know now?
>
> "Better" could of course mean different things - more instructions
> per cycle, possibility of higher frequency, higher code density,
> easier programming (programming the 6502 was not easy, especially
> on the C-64 where Commodore had used up almost all of the zero
> page for its Basic - I hardly ever used the X register).
>
> The boundary conditions were of course severe. 16 bit address
> bus, combined program and data bus of 8 bit. At least memory
> was rather fast and could be accessed once per cycle without
> problems (and even with the possibility of another, interleaved
> access for graphics). Plus, any more transistors were bound to
> increase the size and decrease the yield, leading to much
> higher cost and erosion of the competetive advantage that the
> 6502 and its derivatives had at the time.

16 bit Stack pointer.

Some optimizations that found their way into follow on products (I think these are documented on the Wikipedia page).
IIRC, there was a sequencer optimization to one of the addressing modes that sped things up by ~15%.

16 bit X & Y would have been great, especially if they supported some 16 bit math.
Get rid of the (mostly) unused addressing modes.
Direct Page register like the 6809.

I really liked the ISA of the General Instruments CP1600, but I cannot find out what the transistor count was.
(Except for the stupid encoding which wasted 4 bits for every 16 bits of memory).

- Tim

Re: Could we build a better 6502?

<64f676a8-3eb3-4299-87bf-c4277bccc8fan@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:2446:: with SMTP id h6mr5950515qkn.497.1627068566090; Fri, 23 Jul 2021 12:29:26 -0700 (PDT)
X-Received: by 2002:a05:6808:2d2:: with SMTP id a18mr4047068oid.84.1627068565898; Fri, 23 Jul 2021 12:29:25 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!4.us.feeder.erje.net!2.eu.feeder.erje.net!feeder.erje.net!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!tr1.eu1.usenetexpress.com!feeder.usenetexpress.com!tr3.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: Fri, 23 Jul 2021 12:29:25 -0700 (PDT)
In-Reply-To: <sdf079$3bn$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=73.188.126.34; posting-account=ujX_IwoAAACu0_cef9hMHeR8g0ZYDNHh
NNTP-Posting-Host: 73.188.126.34
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <ad5864a4-d8c1-4670-89d2-ef006d00cf1cn@googlegroups.com> <sdf079$3bn$1@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <64f676a8-3eb3-4299-87bf-c4277bccc8fan@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: timcaff...@aol.com (Timothy McCaffrey)
Injection-Date: Fri, 23 Jul 2021 19:29:26 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 9
 by: Timothy McCaffrey - Fri, 23 Jul 2021 19:29 UTC

On Friday, July 23, 2021 at 2:02:19 PM UTC-4, Thomas Koenig wrote:
> Totally impossible to start the home computer revolution with
> such a chip launched in 1975, whose main selling point was that
> it undercut the more 6809 on price.
>
I think you meant 6800 (or 8080), 6809 didn't show up to several years later
(with 3x the number of transistors).

- Tim

Re: Could we build a better 6502?

<d503609f-33a9-4e8a-820c-d9b13c89cb43n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:75d4:: with SMTP id z20mr5346315qtq.360.1627069284722;
Fri, 23 Jul 2021 12:41:24 -0700 (PDT)
X-Received: by 2002:a9d:5c8b:: with SMTP id a11mr4375323oti.206.1627069284421;
Fri, 23 Jul 2021 12:41:24 -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: Fri, 23 Jul 2021 12:41:24 -0700 (PDT)
In-Reply-To: <sde7eg$hgb$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=99.57.120.98; posting-account=AoizIQoAAADa7kQDpB0DAj2jwddxXUgl
NNTP-Posting-Host: 99.57.120.98
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d503609f-33a9-4e8a-820c-d9b13c89cb43n@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: jim.brak...@ieee.org (JimBrakefield)
Injection-Date: Fri, 23 Jul 2021 19:41:24 +0000
Content-Type: text/plain; charset="UTF-8"
 by: JimBrakefield - Fri, 23 Jul 2021 19:41 UTC

On Friday, July 23, 2021 at 5:59:30 AM UTC-5, Thomas Koenig wrote:
> Another direction for retro-architectures... I've been looking
> at the 6502 a bit, and it really is quite an interesting design.
> Squeezing the functionality of a CPU into ~3500 transistors (plus
> ~1000 transistors used as resistors) was quite an achievement.
>
> Could we do better knowing what we know now?
>
> "Better" could of course mean different things - more instructions
> per cycle, possibility of higher frequency, higher code density,
> easier programming (programming the 6502 was not easy, especially
> on the C-64 where Commodore had used up almost all of the zero
> page for its Basic - I hardly ever used the X register).
>
> The boundary conditions were of course severe. 16 bit address
> bus, combined program and data bus of 8 bit. At least memory
> was rather fast and could be accessed once per cycle without
> problems (and even with the possibility of another, interleaved
> access for graphics). Plus, any more transistors were bound to
> increase the size and decrease the yield, leading to much
> higher cost and erosion of the competetive advantage that the
> 6502 and its derivatives had at the time.

There are several open source attempts at 6502 with more 16-bit capabilities.
Only one that attempts 64-bit capability:
http://www.6502.org/users/andre/65k/index.html
It does not fare well in FPGA LUT counts, about a 4X to 8X increase over 6502 open source designs.
But then you are going from an 8-bit ALU to a 64-bit ALU. Perhaps a two clock
32-bit ALU would be best?

Re: Could we build a better 6502?

<ddcf9ee5-bdd1-4fab-ad7c-690b56e52d05n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:7207:: with SMTP id a7mr5415265qtp.32.1627069546410;
Fri, 23 Jul 2021 12:45:46 -0700 (PDT)
X-Received: by 2002:a05:6808:6cc:: with SMTP id m12mr9840656oih.51.1627069546216;
Fri, 23 Jul 2021 12:45:46 -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: Fri, 23 Jul 2021 12:45:45 -0700 (PDT)
In-Reply-To: <sdf0vd$3bn$3@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=73.188.126.34; posting-account=ujX_IwoAAACu0_cef9hMHeR8g0ZYDNHh
NNTP-Posting-Host: 73.188.126.34
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <sdethg$10ug$1@gioia.aioe.org>
<sdf0vd$3bn$3@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ddcf9ee5-bdd1-4fab-ad7c-690b56e52d05n@googlegroups.com>
Subject: Re: Could we build a better 6502?
From: timcaff...@aol.com (Timothy McCaffrey)
Injection-Date: Fri, 23 Jul 2021 19:45:46 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Timothy McCaffrey - Fri, 23 Jul 2021 19:45 UTC

On Friday, July 23, 2021 at 2:15:11 PM UTC-4, Thomas Koenig wrote:

> Hardly a decent compiler around for the 6502 in those days, at
> least I knew none. It was Basic or Assembler (or machine code
> via a monitor, with a hard reset if you made a programming mistake).
The only one I knew of was UCSD Pascal, which used the P-System
interpreter.

- Tim

Re: Could we build a better 6502?

<ih6mfg12mugtfdqp8ogb906ed1a4iob6kq@4ax.com>

  copy mid

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

  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: Fri, 23 Jul 2021 16:10:49 -0400
Organization: A noiseless patient Spider
Lines: 35
Message-ID: <ih6mfg12mugtfdqp8ogb906ed1a4iob6kq@4ax.com>
References: <sde7eg$hgb$1@newsreader4.netcologne.de> <sdethg$10ug$1@gioia.aioe.org> <sdf0vd$3bn$3@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="13bad32c6846ee9c7d7f1f0a3180b09a";
logging-data="2335"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19+KMpm3ZY74+nw1BSubo4nTRVHCJh6Ofw="
User-Agent: ForteAgent/8.00.32.1272
Cancel-Lock: sha1:8XzErrSwLazVvy43Gfqx3BgP/rQ=
 by: George Neuner - Fri, 23 Jul 2021 20:10 UTC

On Fri, 23 Jul 2021 18:15:09 -0000 (UTC), Thomas Koenig
<tkoenig@netcologne.de> wrote:

>I have programmed the 6502 in assembler, it was a PITA. A few
>more registers would have done wonders and would have saved me a
>few torn-out hairs (but I had enough in those days).

I also programmed 6502 in assembler. I didn't find it particularly
troublesome, but no doubt it depended on what you were trying to do.

>Hardly a decent compiler around for the 6502 in those days, at
>least I knew none. It was Basic or Assembler (or machine code
>via a monitor, with a hard reset if you made a programming mistake).

Manx, DeSmet, and Orca all had native 6502 C compilers. Orca also had
a native Pascal compiler.

UCSD and Apple both had pcode Pascal compilers. I never tried the
Apple compiler, but UCSD was pretty useless.

I used the Manx C compilers on Apple //e. There was both a native and
a bytecode compiler [their own, not based on UCSD pcode or Sweet16].
You could mix native and bytecode in the same program, and even write
in 'assembler' for the bytecode interpreter. Manx suported nested
code overlays, and could use the extra 16KB "language" card on the
Apple ][, and the extra 64KB available on the Apple //e and //c.

With careful coding, it was possible to pack a whole a lot of function
into a C program ... at least on the 128KB Apple //e or //c ... and
the resulting program could be made fast enough to use.

YMMV,
George

Re: Could we build a better 6502?

<sm0im10aii9.fsf@lakka.kapsi.fi>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: as...@sci.fi (Anssi Saari)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Fri, 23 Jul 2021 23:10:37 +0300
Organization: An impatient and LOUD arachnid
Lines: 19
Message-ID: <sm0im10aii9.fsf@lakka.kapsi.fi>
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="8786147cf7da83ed4ce569fed09e5781";
logging-data="2280"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+0FFuqFGSRAYCkx1NkEq4V"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
Cancel-Lock: sha1:3QATJkkmkwTzAMWP0hSEyiV5eC4=
sha1:HUetGLj7G8wftC1+7iOxeCubu2s=
 by: Anssi Saari - Fri, 23 Jul 2021 20:10 UTC

Thomas Koenig <tkoenig@netcologne.de> writes:

> Another direction for retro-architectures... I've been looking
> at the 6502 a bit, and it really is quite an interesting design.
> Squeezing the functionality of a CPU into ~3500 transistors (plus
> ~1000 transistors used as resistors) was quite an achievement.
>
> Could we do better knowing what we know now?

Wasn't it already done with the 65816 or perhaps more interestingly the
CSG4510? That was intended to go in the Commodore 65 which never
happened but lives on in the FPGA-based MEGA65 project. Information is a
little hard to find for the moment though but there's some documentation
from the MEGA65 project at
https://files.mega65.org/manuals-upload/mega65-chipset-reference.pdf

AFAIK, mostly the 4510 improved on the 6502 on speed, some instructions
executed faster and some new ones were introduced. I have no idea of the
transistor count.

Re: Could we build a better 6502?

<memo.20210723223631.14132I@jgd.cix.co.uk>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: jgd...@cix.co.uk (John Dallman)
Newsgroups: comp.arch
Subject: Re: Could we build a better 6502?
Date: Fri, 23 Jul 2021 22:36 +0100 (BST)
Organization: A noiseless patient Spider
Lines: 19
Message-ID: <memo.20210723223631.14132I@jgd.cix.co.uk>
References: <sde7eg$hgb$1@newsreader4.netcologne.de>
Reply-To: jgd@cix.co.uk
Injection-Info: reader02.eternal-september.org; posting-host="2591ffe9728f9cee61c86873f38afeab";
logging-data="2440"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19rTuwM/DV+htN5uCOyS6fS1pXf/DE6s7E="
Cancel-Lock: sha1:h4NMQ6Bm3arfJdPaRZUOdae2U7k=
 by: John Dallman - Fri, 23 Jul 2021 21:36 UTC

In article <sde7eg$hgb$1@newsreader4.netcologne.de>,
tkoenig@netcologne.de (Thomas Koenig) wrote:

> ... programming the 6502 was not easy, especially on the C-64
> where Commodore had used up almost all of the zero page for
> its Basic - I hardly ever used the X register.

It gets easier with practice. The style of assembler code that works well
is very different from normal Z80 or x86 styles. The 6502 is quite good
at running interpreters, but compiling HLLs for it is horrible. I had a
couple of years of employment writing CAD for 6502 in the mid-eighties,
and we implemented an interpreter for a virtual machine that did the
floating point.

The early ARMs were inspired by the 6502, but only in terms of being
simple and avoiding microcode.

John

Pages:12345678910111213
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor