Lectures: Computer Architecture on Youtube

1: Digital Systems
2: Computer Architecture
3: MIPS Assembly

Computer Architecture. Digital systems:

 Preview Title Description Existence of numbers 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. 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 How to convert numbers from any number base to any other number base. 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 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'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 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 How to implement any logic function with only AND, OR and NOT operations. 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 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) Timing (Hazards) We will take a look at what can go wrong in a sum-of-products solution of a logic function. While the initial output value is 1 and the final steady-state output value is also 1, temporarily the output can be 0. This is a so-called static-1 0-glitch, and if it can occur a static-1 0-hazard. We will also see how to improve the circuit to eliminate such hazards. 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 2 A close look at an edge-triggered master-slave D-type flip-flop. 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 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 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. 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.

Second half: Computer Architecture. Combining Digital Components: