Now that I know the instruction width, I can finally move forward with the design of the instruction memory.
The YGREC is a Harvard architecture and the instructions can be stored in read-only memory, made from diodes arrays.
There are programmable arrays, with switches that a user can change to affect the program. With 24-bits instructions, 3 standard 8-positions DIP switches fit nicely, but what about the physical dimensions ?
I've made a few attempts with the wrong switch model (still waiting for the definitive model) and the wrong kinds of boards but I have come to a few conclusions.
One Europe-format board can contain 16 instructions. I'll see if I can get cheap 20×16 boards etched for me.
The multiplexing is pretty important too but unlike the DRAM system, we're not forced to have a 2D array. I initially thought about adding relays on the result bus but I realise it's pointless : that's 24 relays... It's better to just select which board gets the address, and populate each instruction board with one relay per line.
At worst, the backplane can have 48 instruction bits, and select one half or another, to simplify the routing.
For the diodes : any kind is fine, I wonder if I can use bipolar transistors as well :-D After all a PNP transistor is a pair of common anode diodes, right ? Well, the base current might just kill the part... For now I must use the BAW56 (still waiting for them) and the trusted 1N4148.
For now I have determined the width of the boads : 16cm (enough to carry 48 data bits and address bits). A PROM board on a Europe card (10cm) will store 16 instructions, a double (20×16) contains 32.
Diodes-only boards can double this density but require more decoding.
The decoders are made of relays and we have seen that MUX require certain topologies to balance their fan-in. Modularity dictates the grouping of boards and 64 seems to be a good compromise. That implies 32 relays per group, which is a convenient and balanced configuration, see below, though reordering must be done, it might be advisable to make a separate board with one MUX32...
64 instructions is roughly the size of the core program that computes the #Game of Life bit-parallel algorithm :-)
Each board can be removed and possibly connected to other devices for programming : I'm thinking about building an electro-mechanical assembler/disassembler. A mechanical switch will select between the user input and the PROM board to ensure that the program is correctly configured (by comparing the disassembler's panel).
PS: Yes, I remember, there was the idea of using LEDs instead of diodes.
However the forward current and reverse voltages don't allow the use of standard LEDs... The RES15 require too much current to "trip" from one state to another (at least 40mA with pre-bias) and that might damage the LED if the current remains too long. Adding a parallel diode to limit the current would increase the cost further...
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.