Logo Lectures: Computer Architecture
on Youtube

On existence
Numbers (Existence)
Numbers do not exist in the computer. We make a mental mapping between the physics of the computer (voltage levels, etc.) and the mathematics in our head.
Number Systems
Number Systems. Ways to represent numbers
Why the decimal system (base 10) is nothing special. Base-6 is better, but the numbers get large. Base-20 is often used (Mayans) as well as Babylonian (base-60). Romans were strange. Binary is great for computing because the underlying electronics are binary.
Number Conversions
Number Conversions
How to convert numbers from any number base to any other number base.
Negative Numbers
Negative Numbers
How are negative numbers stored in the computer? We will look here at three conventions: Sign-magnitude, 1s-complement and 2's-complement. We will see that 2's-complement is good because subtractions can then be done by adding the negative numbers.
Boolean Algebra
Boolean Algebra
The underlying mathematics of a computer. Boolean Algebra, that itself is based on Set Theory. The Huntington Postulates are presented that will form our basis. Some important relations are given.
de Morgan
de Morgan's Laws
The de Morgan's Law tell us that the negation of a 'sum' (OR) is the 'product' (AND) of negations, NOS=PON and the negation of a 'product' (AND) is the 'sum' (OR) of negations, NOP=SON.
These rules will come in very handy in the future when we design digital circuits.
Truth Tables
Truth Tables
Truth Tables are a way to summarize the behavior of a logic circuit. They specify the output value (0 or 1) for all combinations of input values at the gate. In total there are 2^4 = 32 possible two-input-one-output gates. The most basic ones are: AND, OR, NAND, NOR, NOT and XOR.
Sum of products.
                  Product of sums
Sum of Products
Product of Sums
How to implement any logic function with only AND, OR and NOT operations.
Karnaugh Maps
Karnaugh Maps
Karnaugh Maps are an easy way to simplify the expressions found by the SOP (sum of products) and POS (product of sums) methods
Karnaugh Maps 2
Karnaugh Maps 2
An additional look at Karnaugh Maps. How does the XOR operation look in a KM. And how do we deal with 'don't cares'?
Electronics, CMOS
How are the basic gates implemented in electronics? We take a look at the NOT, NAND, NOR, AND, OR and XOR gates implemented in CMOS (complementary metal oxide semiconductor) technology.
Multiplexer A real life example how to build a useful digital electronic circuit on basis of a functional description. A multiplexer (one of the inputs is copied to the output, determined by the selector lines)
f Memory (latch & flipflop)
When feedback is used in logic circuits, the emergent property can be that the circuit has memory; the output no longer only depends on the input, but also on the current state.
Master/Slave Flip-flops
A master-slave flip-flop is made of two gated S/R latched placed in series. At the first halve of a clock cycle the master is processing the signal, while at the second halve the slave is processing.
Master-slave flip-flops
Master/Slave Flip-flops 2
A close look at an edge-triggered master-slave D-type flip-flop.
Finite State Machines
Finite State Machines
A finite state machine has both a logic array and memory. Four types exist: 1) Mealy Machines (input, output and memory), 2) Moore Machines (sequencers) with output and memory but no input, 3) Boole Machines with input and output but no memory, and 4) Berkeley Machines with input and memory but no output. An example is given of a Moore Machine sequencer, a 3-bit counter based on T-type flipflop memory elements.
Finite State
                  Machine 2: S/R counter
Finite State Machines 2.  S/R counter
Another look at a Moore Machine (Finite State Machine with no input). In this case an example of how to build a 2-bit counter with S/R flipflops
                  machine: parity checker
FSM Mealy machine. Parity checker
We will take a look at a full Mealy machine (with input and output), namely a parity checker. First we design a state diagram: a circle for all states and draw arrows how the states can change with input. Then we decide for our hardware (how many and what type of flipflops to use for the state and output). And then we can implement the things just as we had done for a (non-input) Moore machine. An action table. An excitation table. The logic array via Karnaugh maps, etc.
Edge Detector
FSM, Edge Detector
Here we take a look at another full Finite State Machine (Mealy Machine) with input and output and memory, namely an edge detector.