64bit data 128Bit address...Re: Building a Z-80 (64bit!!!)

From: Hans Franke <franke_at_sbs.de>
Date: Fri Oct 23 05:13:50 1998

> As for a 64Bit data bus, there is no reason for a 64bit instruction but,
> but with 64bits of data, you can do a hell-of-alot with video and signal
> synthesis (i.e. sound).

If you want to wrangle 64 Bit data you need to have
acording operations - Wasn't it your intention to
create a 64 Bit uP ? So, without a 64 Bit ALU and
instructions to handle 64 Bit this Z80 will still
be an 16 Bit uP just with an 64 Bit data bus.

And for the Speed thing: it would be way better
if the data bus is extended to 128 Bit, to reduce
Memory access. With a 64 Bit bus in a 32 Bit CPU
the theoretical bus load is just half. Or simpler:
the CPU can be twice as fast with the same memory.

> >And now tell me where you need 128 Bit address ? Just in
> >case, even to fill a 64 Bit memory you need 4 GIG of
> >mem thats just 4 grand ... and 128 Bit memory used ...
> >oh unly 16,000,000,000,000 Dollar ... gee rich man

> It is good design in my opinion to have your address bus twice as wide as
> your data bus.

Just tell me why ? Because it has been the tame with old
8 Bit uPs ? Come on thats just the stupid 'thats the way
it always has been' idea. Address bus shuld be a) as wide
as needed and b) if possible not exeeding the Size of the
basic data unit. For a) just tell me where you need more
than 4 Gig, or better where you need _way_ more than 4 Gig,
because just 4 or 10 times this address space is easyer done
with paging methods (wait for b)). And for b) you need
special logic to perform address calculation, you can't
hold one address in one regular register, you need more
silicon to implement the adressing logic, adress calculation
and (hidden) adressing register - you also need an additional
ALU.

> If you keep thinking like "you'll need $16,000,000,000.00
> in memory for that address size" you'll do the same stupid thing as:

If you don't need it don't spent the silicon.

> Micro$oft ("640K is more than enough for anyone"),

Be carefull, now you're entering historical teretorry.
MS-DOs was designed to use the full 1 Meg address space
of the 8086/88. And could could well boot with something
like 900 and more K user mem available. The 'Barrier'
(640 or what ever) was given to DOS by the BIOS of the
respective machine. And the PC-Bios had just to obey the
CGA memory.

> old programmers ("year 2000 is 20 years away.
> This stuff will be obsolete by then"),

You are just talking to one of them - and FYI we continue
to use systems with two digit years and they are Y2K ready :)

> and let us not forget Intel with their screwy memory addressing
> schemes on their pre-X386s.

Again, please think a bit - the x86 segmentation is a real
great atempt to give
- give more than 64 K Mem to a 16 Bit uP
- allow an easy relocatable memory sceme
- give a reliable memory base to a multi user/multi tasking OS

I never had a problem with that - in fact I was realy
happy about it (its just a kind of 16:16 base/offset
addressing - remember /390 machines still have only
one adressing base+offset - a proof for my belive, that
base/offset is the only adressing mode needet anywhere).
All the ranting about x86 are senseless and I often found
(after taking out all the me-to-dont-like-it people)
that these are the same guys who cant go well with
9 Bit machines or can't work with 7 Bit lines.

> Think ahead! It wouldn't cost that much more or requrie much
> more effort to add a few bits to the address bus.

Just remember b) you NEED more effort, especialy things
that don't fit into your standard modell. Just think,
why was the Z80 so much better than the 8080 ? The
8080 implemented 16 Bit calculations, as needed for
adress manipulation only as a kind of 'add-on', while
the Z80 was more like a 16 Bit CPU. And here is also
your additional effort visible - to give the flexibility
to handle a address you need to implement 128 Bit things
and operation - or you end up with a methods like the
64180 MMU or the x86 segmentation Or worse things like
the page registers on the 65816 (I love the CPU, but I
still think they should have used a x86 like sceme).

And if your thinking about MMUs to expand a 64 Bit adress
to 128, you just cut the adressrage down to 64 Bit, since
external address enhancements are no design detail of a CPU.

> Wow, I didn't intend for that to sound as sarcastic... No offence intended
> Hans.

Not taken - I still hope you will see it :)

> As for the suggestion of using a DEC alpha to emulate a Z-80... I thought
> about it but, those darned Alphas are way too expensive for us hobbist.


Please ? An Alpha board with CPU is only a bit more expensive
than a PC board with an equal Pentium. At least thats the
street price over here in Munich - we have some PC part shops
that are also selling Alpha boards and CPUs right aut of the
blister.

> Tell me more... what are Verilog, Xilinx or Altera?

FPGA/GAL designs (and languages) some of them I think are
already below the 3ns range. AFAIK you could aquire
the Z80 design already as a FPGA description - add whatever
you need and dump it into the FPGA. With 3nS you are
able to get a 33 MHz Z80 right out of the box. Just don't
forgett, a ready to use Z180 is 25% faster :)

If you still want do try, you should realy dig into FPGA
stuff (thanks Allison for the idea) here you get a nice
sandbox to try your designs.

And most of the evaluation kits are like for free.

One more thing, when you want to design a 64 Bit CPU you
will get something like 200 pins, so just forgett about
any kind of DIL.

> Anyone know if Zilog is going to beef up the Zx80 line????

Faster 180s and of course the 380s. But Zilog has to
build things that will sell, so they are more into
integrating special I/O devices than more CPU power.


Gruss
H.

--
Ich denke, also bin ich, also gut
HRK
Received on Fri Oct 23 1998 - 05:13:50 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:31:28 BST