Gigatron optimisation for a lite version?

Using, learning, programming and modding the Gigatron and anything related.
Forum rules
Be nice. No drama.
tocksin
Posts: 25
Joined: 22 Jun 2018, 14:12

Re: Gigatron optimisation for a lite version?

Post by tocksin »

There's still only one databus - A and B is just which table of drivers will be driving the bus. Only one of those 8 drivers will be able to drive the bus at a time, but I don't have enough instruction bits to select all of them all of the time. So for example, I can't choose from the B set of drivers and the B set of destinations at the same time. Not everything can be a source to every destination. I may work on that some more.

The IR3 is an overlap which I need to clarify - it's only used when IR2=0. Again, I'm limited in instruction bits. So when I do a RAM read I only use two instruction bits. But when I do a RAM write I can use three. So I have 4 more ways of addressing the memory on a write. It's confusing so it's possible I may take it out. There's a lot to be said for simplicity. But it also gives more options for free.

I was planing on doing a lot of assembly macros to make up for the lack of ALU. I figure it's not very software friendly, but you have to give up something for a reduced cost, and this sacrifice is ease of programming. This is an easy trade for me since I'm an electrical engineer. ;) And I don't know if I'd actually make this system.
tocksin
Posts: 25
Joined: 22 Jun 2018, 14:12

Re: Gigatron optimisation for a lite version?

Post by tocksin »

And because I can't help myself I tried implementing this and it's super simple:
2020-01-30 15_57_30-Control.SchDoc - Altium Designer (19.1.9).png
2020-01-30 15_57_30-Control.SchDoc - Altium Designer (19.1.9).png (197.62 KiB) Viewed 3751 times
To make this, you'd take the existing PCB and don't populate the ALU or control circuitry. Then add this circuit as a little breadboard on top of it. Jumper the instruction register outputs up to the board, and jump the control signals down to the PCB. You'd have to jumper the databus over to what was the ALU output databus (AC, X, Y, and OUT inputs) as well. It'd be a bit of a frankenstein, but most of the board would stay intact. No more messy than the expansion board.

No diode ROM then. Only 5 chips. Of course you wouldn't have the UART, SPI, or keyboard functions, but that's ok for proof of concept. I left off the extended memory addressing options because it added a second chip and would need a diode ROM. But I just wanted to see how many parts it would save vs the previous version. Only one chip, but LOTS of diodes and resistors.
Post Reply