10 ms·
From back when 3 guys could make a CPU in a year. The Z80 was also a big deal in Europe, where it powered two (major) brands of micros in UK alone, and was clo
by digi_owl 8y ago
From back when 3 guys could make a CPU in a year.
The Z80 was also a big deal in Europe, where it powered two (major) brands of micros in UK alone, and was cloned extensively in the USSR.
- Fins 8y agoAnd the MSX standard, pretty big in Japan and a few other places.
- virgulino 8y agoBrazil, for instance.
- Fins 8y agoAlso USSR and Middle East.
- mbroncano 8y agoNetherlands of course, Spain as well
- Fins 8y agoPhilips was involved in the standard (back in the day they were involved in lots of standers) weren't they?
- pjmlp 8y agoThe Speccy ruled on the Iberian peninsula. It was very rare to meet someone whose parents had bought another 8 bit machine. I only knew other 8 bit systems from magazines.
- dcminter 8y agoSinclair's machines were Z80 based - was there another major brand using it? All the ones in the UK I can think of were 6502 based...?
- GlenTheMachine 8y agoThe TRS-80 line. In hindsight it seems kind of shocking more computers didn't use them. The machine language was far bettr than the 6502 (IMHO), and they were typically clocked twice as fast.
- tom_ 8y agoThey were clocked twice as fast because they worked less efficiently internally. The 6502 will read or write exactly one byte per machine cycle; the Z80 equivalent of the machine cycle is the T-state, of which it will spend 4 per instruction byte, 3 per operand or data byte, and 8 (I think?) per data byte read due to an instruction with a prefix. As today, though for different reasons, throughput of CPUs of the time was limited by memory bandwidth, and the Z80 has at least a 3-4x disadvantage here. This does make the Z80 sound much worse than it is. A 6502 instruction takes at least 2 cycles, which for certain types of instruction means a cycle wasted. TXA and ASL A take 2 cycles, for example, even though both are one byte. It's 1 cycle to read the byte for the instruction, and then 1 cycle effectively wasted. The equivalent Z80 operations take 4 T-states, on the other hand: just the cost of reading the byte for that instruction. The Z80 also has the upper hand with some more general instructions. LDIR is 21 T-states per byte for the equivalent of a memcpy, where the equivalent 6502 loop might approach 9 cycles per byte only with multiple unrolls, while being far less general. The Z80 also has 16-bit operations, which the 6502 lacks entirely. It's 11 T-states to add one register pair to HL, which is the sort of thing the 6502 will take 15-18 cycles over, and that only in the best case. But it's not entirely a wash - in fact, quite the opposite. The Z80 has no analogue of the 6502's X-/Y-indexed addressing modes, and with only 3 register pairs (IX and IY being uselessly slow) you'll struggle to keep the necessary addresses live - a pain for anything that's table-driven. (It's 10 T-states to load the address, then 4 to replace the low byte with the index, then 7 to fetch the value there. The 6502 can do that whole lot in 4 cycles. You can also load the other index register this way, then use that to load the accumulator: 8 cycles for a table-indexed table lookup.) The 16-bit operations are annoyingly specific, and for many types of operation you need to shuffle data through the accumulator and back again. In practice this stuff typically negates the Z80's apparent register count advantage. When I first read through the Z80 data sheet, the thing seemed basically magical by comparison to the 6502! But once I tried to actually write any code, I found there'd typically turn out to be this fairly consistent 4:1 T-state:cycle ratio. You can engineer situations where the Z80 is hilariously better... but they'd be engineered. For typical code, you can expect 4:1. You'll need a lot better than double the clock rate for the Z80 to win. (Interesting and possibly relevant interview with Sophie Wilson, ARM designer and formerly with UK's Acorn, that touches on how memory bandwidth can influence CPU effectivness: http://www.computerhistory.org/collections/catalog/102746190 http://www.computerhistory.org/collections/catalog/102746190)
- megy 8y ago> where it powered two (major) brands of micros in UK alone Do you know what they were, or is that secret information? It wasn't the BBC micro, was it the ZX Spectrum and Amstrad?
- digi_owl 8y agoBingo. With Amstrad in the end buying most of Sinclair Research.