
Explore how electricity encodes numbers, letters, and symbols through on/off wire states, building binary representations from zero to seven with three switches.
Explore how binary addition works by carrying bits, comparing decimal and binary methods, and converting sums such as 8+9 and 19+93 to their binary representations.
Explore two-input gate behavior and how the output activates only when both inputs A and B have power, illustrating the and gate concept.
Design a circuit that adds two binary numbers using an exclusive OR for the sum and an AND for the carry, then combine adders to support multi-column addition.
This lecture explains a two-input multiplexer controlled by selector S, passing A or B to the output C by turning one gate on and the other off.
Explore building a cpu register file by combining 32-bit registers, using a decoder and clocked write enable to store data, and employing multiplexers to read two registers simultaneously.
Explore a simple two-by-four RAM memory block that can read, write, and store four two-bit values, controlled by a write enable, a decoder, and latches.
Explore how MIPS assembly performs addition and subtraction using two inputs and one output, with chaining to handle multiple numbers. Note the dollar-sign notation and 32-bit word size.
Encode instructions into binary by using opcode, source and destination registers, and function code to form 32-bit MIPS machine words for operations like load word and store word.
Combine the diagram pieces to form a complete computer, decoding 32-bit instructions into rs, rt, and destination fields, and routing inputs via the main control and ALU control.
Explore the ALU control and main control units, mapping opcodes and function fields to ALU inputs, with truth-table design and instruction-specific control signals for load, store, and branch.
Learn how a computer works with this basic, but detailed course on the foundations of computer design. In this course you will learn how a computer really works and by the end you will be able to understand the design of a programmable central processing unit. This class is the foundation of a computer science curriculum.
Designing your first computer!
A building block to more advanced computer topics
This course starts from the ground up and completes with a fully functioning programmable computer. Advanced computer design topics such as power or speed optimizations are not covered but all the information needed to understand basic computer design is packed into this course. A total beginner will likely need to repeat a few of the lectures but it can be understood by anyone who takes the time to study each of the lectures. Anyone who desires to become a computer science expert must know how processors really work and this course is the first step towards that goal.