2-Bit Decoder

This is a 2-bit decoder. It is used to access a desired memory location. A regular decoder takes a binary number as an input, and "activates" the corresponding bit of output. In our case, we first reset the decoder such that all output bits are active, and then as we enter the binary input, the incorrect outputs are deactivated.

The first ball that goes through is the reset ball. The other two balls are the binary input. The red squares are the output bits, and the one which remains on the right is the active one.

This was Jeff's baby. So maybe he will describe it more.


Truthspew said...

Fascinating project. I thought the guy who built the wooden binary adder was good, but this is phenomenal.

I look forward to seeing the video of the entire machine in operation.

I find modern electronics to be somewhat lacking in being able to visibly demonstrate principles. That's why I like projects similar to this one.

Jeff DeCew said...

This "vertical" decoder was a critical step in the project. We had been working on our 4-bit adder and our first revision of memory when we stumbled upon a critical problem: The adder was vertical, but the memory was horizontal. The memory has 4 identical decoders on top which select where an incoming ball will travel, but even then, when the balls come out, they fall somewhere in a 3x4 foot area, which means a lot of parts are needed to catch them.

The vertical decoder was a way to stack memory upward instead of outward, therefore matching the system used by the adder. This single improvement defined the shape of the project, and is how we came to build everything taller and thinner.

We built our vertical memory in the same format as the adder, and this was a critical step in the evolution of the computer. Since then, plans changed due to part and cost constraints, and the memory is now a sideshow to the calculator, but the encoder (and subsequently developed Decoder) are still integral parts of the K'NEX Computer toolkit.