Bit Serial Revisited.

Using, learning, programming and modding the Gigatron and anything related.
Forum rules
Be nice. No drama.
Post Reply
monsonite
Posts: 101
Joined: 17 May 2018, 07:17

Bit Serial Revisited.

Post by monsonite »

Until about 1952 all computers used a bit-serial architecture in order to reduce the complexity of the hardware. This philosophy continued into the 1970s, so that desktop and handheld electronic calculators could be made economically. The RCA1802 uses a bit serial ALU, to keep the transistor count down, and for CMOS logic, in 1976, it was fast enough to keep pace with the memory.

So what is Bit Serial, and why might it be useful with home built TTL computers?

The current Gigatron ALU consists of 10 chips: 8 x 74HC153 dual 4-input multiplexers and 2 x 74HC283 4 bit adders. To make a 16-bit Gigatron, the ALU would double in size to 20 chips.

A bit serial ALU processes it's operands a pair of bits at a time. It doesn't matter if you are processing 8-bit words or 64-bit words, the same ALU can be used. It just takes longer to process the longer words.

The hardware savings achieved with bit serial are not huge for an 8-bit wordsize, but for a 16-bit machine, the savings are considerable. A bit serial ALU, capable of all the Gigatron ALU instructions, plus support circuitry, and the control unit, is just 6 ICs.

But the downside, is that an 8-bit, bit serial ALU, will run at about one tenth of the speed of a parallel ALU.

So this means that such a machine would lose its low-res colour graphics. But since generating these low-res graphics uses about two thirds of the CPU cycles, the loss in processing throughput is immaterial. Moreover, a bit-serial processor is ideally suited to generating either high-res monochrome VGA or generating native SPI in hardware, so that like the Gigasaur, could use an ATtiny or other device to offload the overhead of generating the VGA display.

Bit-serial is ideal to handle SPI, without resorting to bit-banging software and hardware interfaces. In addition, bit-serial will easily handle left and right shifts and rotate operations. Not only this, but a 16-bit add, with carry, is just 20 clock cycles, not 28 or 32.

So, if you are happy to forego colour low-res graphics, a 16-bit, bit serial TTL computer, based on the Gigatron, could be as few as 24 ICs, running at 12.5MHz, and performing a 16-bit add with carry in just 1.6uS.

I am putting together some material on Github, explaining the bit-serial concept in detail. The next step would be a proof of concept bit serial ALU pcb which conveniently plugs into the RAM socket, replacing the existing 10 chip ALU and most of the 6 chip control unit. Further component count reductions would be possible by reworking the pcb, to a smaller design of about 10 x 10cm.
Sugarplum
Posts: 94
Joined: 30 Sep 2020, 22:19

Re: Bit Serial Revisited.

Post by Sugarplum »

For a Gigatron-similar machine, it might take more than 20 chips to double the ALU width at a reasonable speed. That would likely double the worst-case latency since carry ripples don't scale well. You'd have 2 additional ripples. There used to be a carry generator chip to speed up adders and ALUs, but I think that's rarer now than a '183. So one would need to make such circuitry (carry look-ahead) or use a skip-carry design (adding 3 more adders and at least 3 multiplexers). So it can get much more complex quickly.

But yeah, if you want to do mono-only and/or use a controller with a character ROM, then I agree that bit-serial would be fine and a nice, lower-chip alternative.
Post Reply