Z80 not dead - 50th Birthday Party!

Don't know if it's true or not, can't find the article anymore, but they took apart some bus controller from a modern PC and it had a 6502 embedded in it, running on some insane frequency. It was used as the state machine for the bus signalling/arbitration. Makes sense, it's only a few thousand transistors, it hardly makes a dent in the overal transistor count. And it's programmable, so you could update the firmware to fix bugs or add functionality once the chip has been baked.
Remarkable, if it's true. I guess a 6502 standard cell included in a fast FPGA or ASIC might be able to be clocked pretty fast, like the 100 MHz prototype built by Jurgen Muller. And as you say, it's going to take up very little space on the die, because it's a small number of transistors to make a cpu. Perhaps an 8-bit chip is enough to work as a logic controller in something like a bus controller. The Z80 used to be used for all kinds of sophisticated control logic too, I did a control engineering course as one of my subsidiaries at uni that explored using the Z80 in that way (that was a few years ago, I expect they use more modern chips now).

Another interesting tidbit I read fairly recently is that there is still effectively an ISA bus, buried deep inside modern CPU chipsets and implemented in silicon, to talk to low-bandwidth peripherals that have also been integrated onto the chipset; in SoC's like the N100. I guess they have to do something like that to achieve 100% backwards compatibility for software, the hardware is still IBM PC compatible, and the ISA bus is a core part of that architecture. I expect you can still run MS-DOS or a modern equivalent like FreeDOS on an N100, if you try.
 
A fools errand. No mmu, still 16 bit address bus, no caches...
You can add an MMU to a Z80. I have a cp/m machine with a MMU in the basement.

The way it works: Take the uppermost 4 bits of the address the Z80 outputs and feed it into a super-fast RAM chip, together with a "configuration selection" register. The RAM then outputs 8 bits, which get glued back into the address, giving a 20-bit physical address which can address 1MiB. Memory becomes organized into 16 4K pages, which can be placed arbitrarily into the physical memory. The configuration register can be switched really quickly (with a single IO instruction), allowing the CPU to move its 64KiB address space within the 1MiB physical painlessly. The code that does that switching has to be in a page that is shared among all configurations; the logical place for that is in the BIOS, in the top of RAM (remember, in cp/m the BIOS remains loaded at all times, which BDOS and CCP can be overwritten by running programs).

What does this accomplish? Many things. For example, there is suddenly ample room to build really complex device drivers, which usually wouldn't have fit into the BIOS. For example my cp/m machine had a SCSI driver. The BIOS can in general become smaller, although that doesn't really help the memory space that can be used by normal programs (which are still limited to I think 56KiB if using the BDOS, which in practice is always needed). It allows using part of the 1MiB physical memory as a page cache for "disk" IO, which is vital when disks are floppy drives, which are extremely slow. Copying data from the page cache to the main RAM can be done by a DMA chip, which is considerably faster than using block copy instructions, again making IO faster. A particular version of a page cache is keeping copies of BDOS and CCP permanently in RAM, so reloading those (which needs to be done every time a program finishes) becomes very fast. This alone is already a great speed improvement. So far, this got more or less implemented in my hacked up version of cp/m (which was never finished enough to run reliably, but was a fascinating prototype).

Where it might get really interesting: One could more easily turn cp/m into a multi-process operating system, since switching between processes now becomes really easy, just one IO write to a configuration register. In practice, this would require re-designing something like mp/m for multiple users. But one particular version might be TSR programs, similar to what we used to have in early DOS versions (which was after all using only 640K of memory, while this cp/m machine has 1M). And specially modified programs could use extra memory too.

Today, the fastest Z80 chip one can find to run cp/m on is actually an emulator running on a modern CPU. If I had nothing useful to do, I could take one of those emulators, add support for the above MMU design to it, and do the software development on there, without having to use a soldering iron. But given that good OSes exist today and can be run at home, this would purely be a hobby for amusement.
 
It's kind of a shame that Zilog didn't have the same major success with their Z80 sucessors. the Z8000 (designed by the same team as designed the Z80) and the Z80000. Of course, once IBM had chosen Intel for the PC, that was the kiss of death for competing architectures, like the 68k, and the Zilog chips. And in their wisdom the Zilog team decided not to make the Z8000 software backwards compatible to the Z80, which meant that the large existing Z80 software base could not be run on it without porting. But the all-conquering X86 architecture was probably the ultimate reason why it died. Today, we really only have two architectures that have survived, namely X86 and ARM, the latter survived becuase of it's low power consumption properties that made ie able to compete successfully against X86 in the mobile market. In fact Intel did try to move X86 onto mobile (the Atom, etc) but they failed. A bunch of other designs also failed, Intel's own i860 (that was supposed to supercede X86), the Itanium, again from intel, that was supposed to take the server market, the DEC alpha, the National 32000, the PowerPC, its a long list. The 68k was probably the longest lasting architecture that competed head on with X86, once Apple dropped PowerPC. The 68k survived in things like the motorola 'dragonball' processors.

Of course, as someone else pointed out, Zilog did eventually get around to making a 16-bit extension to the Z80, with the Z280 https://en.wikipedia.org/wiki/Zilog_Z280 , but by the time it was launched, the market had already switched wholesale over to X86.

And we have one new entrant today, RISC-V, which China is supposed to be pushing heavily. It remains to be seen whether it will get any real traction in the West, or indeed globally. RISC-V reminds me of Japan's "5th generation computing" project that resulted in chips like the Hitachi H8 line, that was supposed to take over the global market. https://en.wikipedia.org/wiki/Fifth_Generation_Computer_Systems
 
Today, the fastest Z80 chip one can find to run cp/m on is actually an emulator running on a modern CPU. If I had nothing useful to do, I could take one of those emulators, add support for the above MMU design to it, and do the software development on there, without having to use a soldering iron. But given that good OSes exist today and can be run at home, this would purely be a hobby for amusement.
Someone built a Z8000 CP/M machine here https://hackaday.com/2022/08/21/clover-computer-a-modern-z8000-cp-m-machine/ . There is an interesting page about Zilogs post-Z80 line of 16 and 32-bit chips here
 
The MZ-2500 featured a simple MMU that allowed memory to be allocated from the 512 KB in 8 KB increments.
The MSX2 could handle 4 MB of memory in 16 KB increments.
UZIX is a port of UNIX that utilizes this.
Ah yes, I'd forgotton about MSX2. Interesting that there was a port of UNIX to it. Perhaps Japan went further with Z80 technology, than the rest of the world. In the UK, Sinclair, that was probably the largest seller of Z80 machines, switched to to the 68008 with the QL (which however was a disaster for them, much of it their own fault, for launching it too early; and also not software backwards compatible); Amstrad continued with their CPC line of Z80 machines, but the market was already switching over to the IBM PC compatibles, and that died a few years later, too.
 
The successor of the 6502, the 65816 faired a bit better I believe. It was the CPU that powered the SNES and Apple IIgs.
Maybe I'm wrong, maybe the PowerPC outlasted the 68k. In fact I think 68k was already on it's last legs when Apple were making PowerPC machines, although Motorola did have the dragonball. Which reminds me of another architecture that bit the dust because of the X86's market dominance - SPARC.
 
the National 32000
I was really impressed by that back when it was first introduced. National put on a seminar in my town and I came back to work all excited about it. I'm wondering if I might still have the data sheets or book about it.
EDIT: Now that I think about it, when they quit making the NS32000 I threw all that away. Which is unusual because I tend to keep everything.
 
I remember that Niklaus Wirth's 'Oberon' operating system was principally targeted at the 32000. I never got a chance to play with one, unfortunately. NatSemi were always a good company, so many brilliant analog designs came out of there, as well as their digital stuff. I think they were a bit more up and down on the business side, sadly.

There's a website here http://cpu-ns32k.net/Documents.html that has all the datasheets, and the instruction set manual.

In the UK, the Acorn Cambridge Workstation was a 32000 machine. https://chrisacorns.computinghistory.org.uk/Computers/ACW.html . I think it started life as a 32016 second processor for the BBC micro. Of course Acorn had already started work on the ARM cpus by then, I remember them coming to my university around 1987 or 88 to give a demo of the very first ARM chipset (I seem to remember 4 chips in the chipset, made by VLSI tech) and how it beat the 386 in performance comparisons. I think the ACW was an attempt by Acorn to get into the workstation market that was dominated by US firms like Sun and Apollo at the time. The ACW appears to have had it's own home-grown o/s called Panos, again I never got a chance to play with one, where I worked had mainly VAX, Suns, and PC's.

A bit like PowerPC, they diversified into making embedded versions of the 32k, and a lot of them ended up in things like laser printers, again like PowerPC.
 
Back
Top