Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

6 May, 2024: The networking issue during the past two days has been identified and appears to be fixed. Will keep monitoring.


devel / comp.arch / Re: How hard would it be to pipeline a Z80?

SubjectAuthor
* How hard would it be to pipeline a Z80?Russell Wallace
+* Re: How hard would it be to pipeline a Z80?MitchAlsup
|`* Re: How hard would it be to pipeline a Z80?Russell Wallace
| `* Re: How hard would it be to pipeline a Z80?George Neuner
|  `* Re: How hard would it be to pipeline a Z80?Anton Ertl
|   `* Re: How hard would it be to pipeline a Z80?George Neuner
|    `* Re: How hard would it be to pipeline a Z80?robf...@gmail.com
|     `- Re: How hard would it be to pipeline a Z80?EricP
`- Re: How hard would it be to pipeline a Z80?Craig Ruff

1
How hard would it be to pipeline a Z80?

<84db53f8-0a5e-4e7c-8c20-1a7aa18b0e7en@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:1458:b0:6ff:c9c:dde4 with SMTP id i24-20020a05620a145800b006ff0c9cdde4mr1757514qkl.18.1672609323548;
Sun, 01 Jan 2023 13:42:03 -0800 (PST)
X-Received: by 2002:a05:6870:42d2:b0:144:9878:46be with SMTP id
z18-20020a05687042d200b00144987846bemr2784444oah.245.1672609323142; Sun, 01
Jan 2023 13:42:03 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 1 Jan 2023 13:42:02 -0800 (PST)
Injection-Info: google-groups.googlegroups.com; posting-host=2a02:8084:6020:5780:71e9:da93:780e:d57a;
posting-account=f4I3oAkAAABDSN7-E4aFhBpEX3HML7-_
NNTP-Posting-Host: 2a02:8084:6020:5780:71e9:da93:780e:d57a
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <84db53f8-0a5e-4e7c-8c20-1a7aa18b0e7en@googlegroups.com>
Subject: How hard would it be to pipeline a Z80?
From: russell....@gmail.com (Russell Wallace)
Injection-Date: Sun, 01 Jan 2023 21:42:03 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2185
 by: Russell Wallace - Sun, 1 Jan 2023 21:42 UTC

From the 90s onward, all high-performance CPUs have been heavily pipelined. Before that, this was not necessarily the case; early microprocessors tended not to be pipelined, presumably due to not having the transistor budget. The earliest pipelined microprocessors were typically RISC, presumably because this kind of design is easier with a simpler architecture.

I'm wondering about the even earlier, 8-bit microprocessors. Take for example the Z80. Is this simpler or more complex than an early RISC like MIPS? In some ways it is simpler (smaller transistor count); in others, it is more complex. Probably overall harder to pipeline.

Just what would it take to make a pipelined implementation of the Z80 architecture? (i.e. you can lay out the chip any way you like, but it has to run existing Z80 code unchanged except for being faster, and it has to stay within process technology available in the heyday of the Z80, say not later than mid-80s.) How many transistors would such an implementation need, compared to the ~8000 of the original Z80?

Re: How hard would it be to pipeline a Z80?

<733b4688-6bb4-40df-8d43-f21899afe32bn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ae9:ddc1:0:b0:6fa:77c0:ea01 with SMTP id r184-20020ae9ddc1000000b006fa77c0ea01mr1052428qkf.537.1672610291759;
Sun, 01 Jan 2023 13:58:11 -0800 (PST)
X-Received: by 2002:a05:6870:c991:b0:150:bebf:35b9 with SMTP id
hi17-20020a056870c99100b00150bebf35b9mr13533oab.106.1672610291383; Sun, 01
Jan 2023 13:58:11 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 1 Jan 2023 13:58:11 -0800 (PST)
In-Reply-To: <84db53f8-0a5e-4e7c-8c20-1a7aa18b0e7en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:689d:9acd:c58e:4a40;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:689d:9acd:c58e:4a40
References: <84db53f8-0a5e-4e7c-8c20-1a7aa18b0e7en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <733b4688-6bb4-40df-8d43-f21899afe32bn@googlegroups.com>
Subject: Re: How hard would it be to pipeline a Z80?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sun, 01 Jan 2023 21:58:11 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3605
 by: MitchAlsup - Sun, 1 Jan 2023 21:58 UTC

On Sunday, January 1, 2023 at 3:42:05 PM UTC-6, Russell Wallace wrote:
> From the 90s onward, all high-performance CPUs have been heavily pipelined. Before that, this was not necessarily the case; early microprocessors tended not to be pipelined, presumably due to not having the transistor budget. The earliest pipelined microprocessors were typically RISC, presumably because this kind of design is easier with a simpler architecture.
<
Pipelining is expensive (flip flops, clock loading and fanout). Pipelining goes back to at least Stretch
and possibly earlier. Even in the world of microcoded mainframes, various pieces of instruction
execution were pipelined (Fetch and Memory Access) because these paid off, while a complete
pipeline did not.
>
> I'm wondering about the even earlier, 8-bit microprocessors. Take for example the Z80. Is this simpler or more complex than an early RISC like MIPS? In some ways it is simpler (smaller transistor count); in others, it is more complex. Probably overall harder to pipeline.
<
Most of the 8-bit CPUs were entirely bus limited, thus pipelining of the CPU would not have "been
worth it". RISC came along in the time period where one had 2 choices, build a microcoded CPU
(like we had been doing for decades) and include the microcode in the chip with the execution
hardware, or build a pipelined CPU with a very tiny control sequencer.
>
> Just what would it take to make a pipelined implementation of the Z80 architecture? (i.e. you can lay out the chip any way you like, but it has to run existing Z80 code unchanged except for being faster, and it has to stay within process technology available in the heyday of the Z80, say not later than mid-80s.) How many transistors would such an implementation need, compared to the ~8000 of the original Z80?
<
In Z80 time frame Flip-Flops were 6 gates big (10-12 today) and if you pipelined the entire Z80
CPU attempting to get 0.7 instructions per cycle, the CPU would be around 2..5×-3.0× the size
of the Z80 CPU. While doable, until you have a memory port (that is enough pins) big enough
and cache-enough-like to support 1 memory reference per clock, you would gain only 10%-20%
over a Z80 as was done-at the cost of 2.5×-3.0× making the effort "not worth it".

Re: How hard would it be to pipeline a Z80?

<ab1cabc0-2b29-44d3-bc02-f769b2117464n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:622a:5c89:b0:3ab:a3d9:c5d3 with SMTP id ge9-20020a05622a5c8900b003aba3d9c5d3mr529820qtb.376.1672611582061;
Sun, 01 Jan 2023 14:19:42 -0800 (PST)
X-Received: by 2002:a9d:6458:0:b0:670:56ca:6822 with SMTP id
m24-20020a9d6458000000b0067056ca6822mr2627381otl.106.1672611581833; Sun, 01
Jan 2023 14:19:41 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 1 Jan 2023 14:19:41 -0800 (PST)
In-Reply-To: <733b4688-6bb4-40df-8d43-f21899afe32bn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2a02:8084:6020:5780:71e9:da93:780e:d57a;
posting-account=f4I3oAkAAABDSN7-E4aFhBpEX3HML7-_
NNTP-Posting-Host: 2a02:8084:6020:5780:71e9:da93:780e:d57a
References: <84db53f8-0a5e-4e7c-8c20-1a7aa18b0e7en@googlegroups.com> <733b4688-6bb4-40df-8d43-f21899afe32bn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ab1cabc0-2b29-44d3-bc02-f769b2117464n@googlegroups.com>
Subject: Re: How hard would it be to pipeline a Z80?
From: russell....@gmail.com (Russell Wallace)
Injection-Date: Sun, 01 Jan 2023 22:19:42 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3738
 by: Russell Wallace - Sun, 1 Jan 2023 22:19 UTC

On Sunday, January 1, 2023 at 9:58:13 PM UTC, MitchAlsup wrote:
> Most of the 8-bit CPUs were entirely bus limited

I have seen that idea floating around a few times, but it's not the case.

Take the 6502 as a simple example. Typically 1 MHz. But even the cheapest contemporary dynamic RAM chips were 2 MHz. So the 6502 actually left half the available memory bandwidth unused. (Or, okay, in some machines, shared with the video chip, accessing on alternate cycles.)

The Z80 is a little more complex because it means a different thing by clock speed, but the typical "4 MHz" Z80 basically also ran the bus at 1 MHz (okay, with the occasional bus cycle being 3 T-states instead of 4), so again, it left half the available memory bandwidth unused (and because of that caveat that made the timing unpredictable, it typically did *not* alternate with the video chip, so the other half of the available memory bandwidth just went to waste).

And that's just talking about the 4k DRAM chips. 16k and 64k supported fast page mode, which could dramatically improve bandwidth in typical usage. Prior to ARM (1985), no CPU that I'm aware of, used fast page mode. I saw an interview with one of the ARM designers at one point expressing puzzlement that CPUs didn't use this. They were just letting most of the available memory bandwidth go to waste.

So CPUs of that era were definitely not bus limited.

> In Z80 time frame Flip-Flops were 6 gates big (10-12 today) and if you pipelined the entire Z80
> CPU attempting to get 0.7 instructions per cycle, the CPU would be around 2.5×-3.0× the size
> of the Z80 CPU.

Okay, that's more expensive than I would have guessed, but does account for the lack of people doing this. But that is still smaller than e.g. 8086, and would surely provide a substantial performance boost to existing software.

> While doable, until you have a memory port (that is enough pins) big enough
> and cache-enough-like to support 1 memory reference per clock, you would gain only 10%-20%
> over a Z80 as was done-at the cost of 2.5×-3.0× making the effort "not worth it".

See above: there was plenty of memory bandwidth to spare. By the early eighties, you could even get up to 1 memory reference per clock at 4 MHz. (The BBC micro did this, interleaving a 2 MHz 6502 with 2 MHz 80-column video.)

Re: How hard would it be to pipeline a Z80?

<v5GcnczGBK2jQy_-nZ2dnZfqn_GdnZ2d@supernews.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!Xl.tags.giganews.com!local-1.nntp.ord.giganews.com!nntp.supernews.com!news.supernews.com.POSTED!not-for-mail
NNTP-Posting-Date: Mon, 02 Jan 2023 13:38:06 +0000
Newsgroups: comp.arch
Subject: Re: How hard would it be to pipeline a Z80?
References: <84db53f8-0a5e-4e7c-8c20-1a7aa18b0e7en@googlegroups.com>
Organization: Ruffspot
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
From: cru...@ruffspot.net (Craig Ruff)
Originator: cruff@ruffspot.net (Craig Ruff)
Message-ID: <v5GcnczGBK2jQy_-nZ2dnZfqn_GdnZ2d@supernews.com>
Date: Mon, 02 Jan 2023 13:38:06 +0000
Lines: 4
X-Trace: sv3-jnY7XX8SAPBv0EQzTADp/aUtCTFaRRen8P55d1/VA/x9wIuw6ARMEw07Bxy5TsjvdBvS+Wup6cO3flH!qzZF3YrOGJ+sg4OHw+Pt50C9dhrtnJ5eDdUJqHDj/y6JN4pGL0PKVPaFqSYXilcWzMDAfdgCWu8v!4l71ErzR7H4BhQ==
X-Complaints-To: www.supernews.com/docs/abuse.html
X-DMCA-Complaints-To: www.supernews.com/docs/dmca.html
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-Received-Bytes: 1306
 by: Craig Ruff - Mon, 2 Jan 2023 13:38 UTC

For an actual Verilog example of a pipelined Z80 implementation you can
take a look at the book "Microprocessor Design Using Verilog HDL" by
Monte Dalrymple.
https://www.elektor.com/microprocessor-design-using-verilog-hdl-e-book

Re: How hard would it be to pipeline a Z80?

<ckncrhl4efb9vg46903t01d8g09hlnv60d@4ax.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: gneun...@comcast.net (George Neuner)
Newsgroups: comp.arch
Subject: Re: How hard would it be to pipeline a Z80?
Date: Thu, 05 Jan 2023 00:55:55 -0500
Organization: A noiseless patient Spider
Lines: 33
Message-ID: <ckncrhl4efb9vg46903t01d8g09hlnv60d@4ax.com>
References: <84db53f8-0a5e-4e7c-8c20-1a7aa18b0e7en@googlegroups.com> <733b4688-6bb4-40df-8d43-f21899afe32bn@googlegroups.com> <ab1cabc0-2b29-44d3-bc02-f769b2117464n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Injection-Info: reader01.eternal-september.org; posting-host="f1a118ce40cba3fcd9f2fa0b2d02a7bb";
logging-data="2897753"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/NxfvtQSdK4csnI6iJ1EEFQCOg98K21Og="
User-Agent: ForteAgent/8.00.32.1272
Cancel-Lock: sha1:W8cpduo4qx0vuuDyzvX3K1+aO44=
 by: George Neuner - Thu, 5 Jan 2023 05:55 UTC

On Sun, 1 Jan 2023 14:19:41 -0800 (PST), Russell Wallace
<russell.wallace@gmail.com> wrote:

>On Sunday, January 1, 2023 at 9:58:13 PM UTC, MitchAlsup wrote:
>> Most of the 8-bit CPUs were entirely bus limited
>
>I have seen that idea floating around a few times, but it's not the case.
>
>Take the 6502 as a simple example. Typically 1 MHz.

The 6502 was double pumped internally, so ran at 2x the (external)
clock speed. But memory access took 2..6 cycles depending on address
mode.

> But even the
>cheapest contemporary dynamic RAM chips were 2 MHz. So the 6502
>actually left half the available memory bandwidth unused. (Or, okay,
>in some machines, shared with the video chip, accessing on alternate
>cycles.)

My Apple //e came with 128KB of 400ns RAM (2.5MHz). But hires video
took 1/2 the memory bandwidth, and double-hires took 1/2 the bandwidth
from each memory bank.

I replaced the original RAM with 250ns parts as soon as I could afford
it. It made a noticable difference - probably because refresh no
longer interfered with access.

Over time my //e morphed, first into a //gs, then was expanded to 4MB
of 100ns RAM, then finally accelerated to 10MHz.

George

Re: How hard would it be to pipeline a Z80?

<2023Jan5.094048@mips.complang.tuwien.ac.at>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: How hard would it be to pipeline a Z80?
Date: Thu, 05 Jan 2023 08:40:48 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 24
Message-ID: <2023Jan5.094048@mips.complang.tuwien.ac.at>
References: <84db53f8-0a5e-4e7c-8c20-1a7aa18b0e7en@googlegroups.com> <733b4688-6bb4-40df-8d43-f21899afe32bn@googlegroups.com> <ab1cabc0-2b29-44d3-bc02-f769b2117464n@googlegroups.com> <ckncrhl4efb9vg46903t01d8g09hlnv60d@4ax.com>
Injection-Info: reader01.eternal-september.org; posting-host="63b37561ef2a782518e0205289003e47";
logging-data="2925093"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18a5HXF+Xk25X2wHB7wQRjG"
Cancel-Lock: sha1:VkBIolHEQoZd6tv5EKzd46s/TH4=
X-newsreader: xrn 10.11
 by: Anton Ertl - Thu, 5 Jan 2023 08:40 UTC

George Neuner <gneuner2@comcast.net> writes:
>The 6502 was double pumped internally, so ran at 2x the (external)
>clock speed.

Please elaborate. What in particular is double-pumped?

>But memory access took 2..6 cycles depending on address
>mode.

No. Each memory access takes 1 cycle. Some cycles are not used for
memory accesses, but most are.

E.g., "jmp (addr)" is three bytes long, reads two bytes from addr, for
a total of 5 memory accesses. It takes an overall 5 cycles.

As an example in the other extreme, "inc addr,x" is three bytes long,
reads one byte from the effective address, writes one byte to the
effective address (for a total of five memory accesses), but takes 7
cycles.

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

Re: How hard would it be to pipeline a Z80?

<2sshrhpvn5b2pgc0saunkeqrsklg0v3ehn@4ax.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: gneun...@comcast.net (George Neuner)
Newsgroups: comp.arch
Subject: Re: How hard would it be to pipeline a Z80?
Date: Fri, 06 Jan 2023 23:34:15 -0500
Organization: A noiseless patient Spider
Lines: 28
Message-ID: <2sshrhpvn5b2pgc0saunkeqrsklg0v3ehn@4ax.com>
References: <84db53f8-0a5e-4e7c-8c20-1a7aa18b0e7en@googlegroups.com> <733b4688-6bb4-40df-8d43-f21899afe32bn@googlegroups.com> <ab1cabc0-2b29-44d3-bc02-f769b2117464n@googlegroups.com> <ckncrhl4efb9vg46903t01d8g09hlnv60d@4ax.com> <2023Jan5.094048@mips.complang.tuwien.ac.at>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Injection-Info: reader01.eternal-september.org; posting-host="a762cc88be4c28420fa206f3708c3a40";
logging-data="3604589"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/QQes+WlWnbyXF1yCiXEodgupf2p50PLo="
User-Agent: ForteAgent/8.00.32.1272
Cancel-Lock: sha1:enC69J4F63SrDHN3+Q9VfpDGOUM=
 by: George Neuner - Sat, 7 Jan 2023 04:34 UTC

On Thu, 05 Jan 2023 08:40:48 GMT, anton@mips.complang.tuwien.ac.at
(Anton Ertl) wrote:

>George Neuner <gneuner2@comcast.net> writes:
>>The 6502 was double pumped internally, so ran at 2x the (external)
>>clock speed.
>
>Please elaborate. What in particular is double-pumped?

The 6502 internally was clocked on both edges of the external clock
pulse, effectively doubling the external clock rate.

Which also means the instructions really took more cycles than
reported, since timing was given WRT the external clock.

>>But memory access took 2..6 cycles depending on address
>>mode.
>
>No. Each memory access takes 1 cycle. Some cycles are not used for
>memory accesses, but most are.

Yes. The [badly expressed] point I was attempting to make was - to
Russell's point - that the 6502 left a whole LOT of memory cycles
unused [not just 1/2]. But given its architecture, it could not have
used those cycles anyway.

George

Re: How hard would it be to pipeline a Z80?

<3a81e1ac-3961-4a14-bd5e-8e5b3b762df0n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:622a:1a88:b0:3ab:a89b:56b6 with SMTP id s8-20020a05622a1a8800b003aba89b56b6mr1086872qtc.213.1673075821326;
Fri, 06 Jan 2023 23:17:01 -0800 (PST)
X-Received: by 2002:a05:6870:14cd:b0:13b:6986:2649 with SMTP id
l13-20020a05687014cd00b0013b69862649mr4868267oab.261.1673075821087; Fri, 06
Jan 2023 23:17:01 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Fri, 6 Jan 2023 23:17:00 -0800 (PST)
In-Reply-To: <2sshrhpvn5b2pgc0saunkeqrsklg0v3ehn@4ax.com>
Injection-Info: google-groups.googlegroups.com; posting-host=99.251.79.92; posting-account=QId4bgoAAABV4s50talpu-qMcPp519Eb
NNTP-Posting-Host: 99.251.79.92
References: <84db53f8-0a5e-4e7c-8c20-1a7aa18b0e7en@googlegroups.com>
<733b4688-6bb4-40df-8d43-f21899afe32bn@googlegroups.com> <ab1cabc0-2b29-44d3-bc02-f769b2117464n@googlegroups.com>
<ckncrhl4efb9vg46903t01d8g09hlnv60d@4ax.com> <2023Jan5.094048@mips.complang.tuwien.ac.at>
<2sshrhpvn5b2pgc0saunkeqrsklg0v3ehn@4ax.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3a81e1ac-3961-4a14-bd5e-8e5b3b762df0n@googlegroups.com>
Subject: Re: How hard would it be to pipeline a Z80?
From: robfi...@gmail.com (robf...@gmail.com)
Injection-Date: Sat, 07 Jan 2023 07:17:01 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 1623
 by: robf...@gmail.com - Sat, 7 Jan 2023 07:17 UTC

IIRC the z80 could be “improved” using a wider ALU resulting in
fewer clocks per instruction even without additional pipelining.
The 68000 is similar using a ½ width ALU.

Re: How hard would it be to pipeline a Z80?

<k%guL.249384$vBI8.163058@fx15.iad>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx15.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: How hard would it be to pipeline a Z80?
References: <84db53f8-0a5e-4e7c-8c20-1a7aa18b0e7en@googlegroups.com> <733b4688-6bb4-40df-8d43-f21899afe32bn@googlegroups.com> <ab1cabc0-2b29-44d3-bc02-f769b2117464n@googlegroups.com> <ckncrhl4efb9vg46903t01d8g09hlnv60d@4ax.com> <2023Jan5.094048@mips.complang.tuwien.ac.at> <2sshrhpvn5b2pgc0saunkeqrsklg0v3ehn@4ax.com> <3a81e1ac-3961-4a14-bd5e-8e5b3b762df0n@googlegroups.com>
In-Reply-To: <3a81e1ac-3961-4a14-bd5e-8e5b3b762df0n@googlegroups.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 36
Message-ID: <k%guL.249384$vBI8.163058@fx15.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Sat, 07 Jan 2023 16:22:40 UTC
Date: Sat, 07 Jan 2023 11:22:09 -0500
X-Received-Bytes: 2512
 by: EricP - Sat, 7 Jan 2023 16:22 UTC

robf...@gmail.com wrote:
> IIRC the z80 could be “improved” using a wider ALU resulting in
> fewer clocks per instruction even without additional pipelining.
> The 68000 is similar using a ½ width ALU.

The 6502 and Z80 could fetch the next instruction while finishing
the current one. But there was no separate fetch unit - these only
had one state machine for the control sequencer and doing such a
prefetch was hard coded into the execution of the current instruction
state sequence. (This is described in detail in the 6502 manual.)

They only had 2 layers of interconnect, and only one 16-bit bus
which had isolation barriers at critical points allowing it to be
split to perform multiple concurrent bus operations.

Ken Shirriff's blog of reverse engineered old microprocessors
covers a lot of this, including the Z80 4-bit ALU.

Reverse engineering ARM1 instruction sequencing,
compared with the Z-80 and 6502
http://www.righto.com/2016/02/reverse-engineering-arm1-instruction.html

Down to the silicon: how the Z80's registers are implemented
http://www.righto.com/2014/10/how-z80s-registers-are-implemented-down.html

Why the Z-80's data pins are scrambled
http://www.righto.com/2014/09/why-z-80s-data-pins-are-scrambled.html

The Z-80's 16-bit increment/decrement circuit reverse engineered
http://www.righto.com/2013/11/the-z-80s-16-bit-incrementdecrement.html

The Z-80 has a 4-bit ALU. Here's how it works
http://www.righto.com/2013/09/the-z-80-has-4-bit-alu-heres-how-it.html

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor