A 16-bit computer built from scratch

Daisy VI: Computer Architecture

January 12, 2020 Engineering 3 min

Reading Time: 3 minutes Compared to all the other machines around us, the most unique feature of the digital computer is its amazing versatility. How does a machine with a finite hardware perform seemingly infinite array of tasks, from games to word processing to scientific simulation?

Daisy V: Machine Language

January 11, 2020 Engineering 3 min

Reading Time: 3 minutes A computer can be described , abstractly, by specifying and demonstrating its machine language capabilities. Seeing some low-level programs written in machine language helps us understand not only how to get the computer to do things, but also why its hardware was designed in a certain way. Machine language is the most profound interface in the overall computer enterprise—the fine line where hardware meets software. This the point where abstract thoughts and symbolic instructions are turned into physical operations performed in silicon.

Daisy IV: Memory

January 10, 2020 Engineering 2 min

Reading Time: 2 minutes The most elementary sequential chip in the computer is a device called a flip-flop. There are several variants of flip-flops. In this project, I've used the variant called a data flip-flop or DFF. Its interface consists of a single bit data input, and a single-bit data output. In addition, the DFF has a clock input that continuously changes according to the master clock's signal. For the purpose of this project, DFFs are treated as primitive building blocks from which all other memory elements are built.

Daisy III: Sequential logic

January 9, 2020 Engineering 2 min

Reading Time: 2 minutes All the Boolean and arithmetic chips built so far have been combinational. Combinational chips compute functions that depend solely on combinations of their input values. These relatively simple chips provide many important processing functions (like the ALU) but they cannot maintain state. Since computers must be able to store and recall values too, they need memory elements that can preserve data over time. These memory elements are built using sequential logic.

Daisy II: The ALU

January 8, 2020 Engineering 2 min

Reading Time: 2 minutes The chips built thus far have been generic, i.e. their designs are universal and would hold for any computer. The ALU is the first bit of proprietary chip added into the mix. There is no universal way of designing an ALU. It all depends on product requirements.

Daisy I: Logic gates

January 7, 2020 Engineering 3 min

Reading Time: 3 minutes All computer chips are made from the same building blocks: elementary logic gates. A logic gate is a physical device that implements a mathematical logic (Boolean) function. The simplest example of a logic gate is the `NOT` gate. It takes a single input and outputs its inverse. If the signal is ON, the inverter outputs OFF and vice versa. These gates can be constructed in many different ways but their logic behaviour remains consistent across all computers.

Meet Daisy

January 1, 2020 Engineering < 1 min

Reading Time: < 1 minute Daisy is a 16-bit computer equipped with a screen and a keyboard. It resembles old school handheld computers like Gameboys, PDAs and mobile phones.

Building logic gates from transistors

December 31, 2019 Engineering 2 min

Reading Time: 2 minutes The use of transistors for construction of logic gates depends on their utility as fast switches. Recall that a NPN transistor allows current to flow from the collector to the emitter only if a certain threshold voltage is applied to the base.