Roadmap to a Computer

Introduction

We're going to try to build a computer. This isn't the kind of computer you get from buying parts online, where you pick a motherboard and a CPU, and so forth. Instead, we're going to build it from generic parts, made of registers, wires, MUXes, etc.

By this point, you should understand how all the pieces work. In particular,

We'll go over some of the ideas again in a quick summary, but knowing each of these topics will make it easier to understand how to construct a computer.

Our goal isn't really to build a computer than can execute a complete instruction set. Most realistic instruction sets are quite detailed, and realisitic computers involve issues that are complex, such as how best to assign binary numbers to opcodes, and issues involving timing.

Instead, the goal is far more modest. The goal is to convince you that some small subset of a computer could be built, and that the details to make it more realistic are really just details. They may be important enough in reality, but not that important.

For example, when architects make architectural plans, they are showing you the basic structure of a building. Sure, they may have computed how much stress the building can take, but they're not likely to include the kind of carpeting to be used, the make of the toilets, the placement of the desks, the wiring mechanism. All of those are important to a building, but initially, all you care about is the basic structure.

This is how we're going to approach building a computer. In the end, you'll probably think "but what more is left?", and it won't be that obvious there are pieces missing. That's good, because again, we're just trying to give you the basic idea that building a computer to run an ISA is possible, and that it only requires the skills you've learned in class.

Roadmap

Here's an outline of what we intend to do.

Web Accessibility