CS 233 MicroLectures

Created by Geoffrey Herman74 ItemsUpdated 11/19/2020
1Go to Everything a computer can do with duration: 3 minutes, 7 seconds03:07

Everything a computer can do

Created by Geoffrey Herman
A computer can do two things: store state and manipulate state
4899 views0 comments
2Go to Boolean operators and gates with duration: 8 minutes, 37 seconds08:37

Boolean operators and gates

Created by Geoffrey Herman
Boolean logic operators and gates
5751 views0 comments
3Go to Bitwise Operations with duration: 3 minutes, 12 seconds03:12

Bitwise Operations

Created by Geoffrey Herman
Applying logic operations to multi-bit state information
4981 views0 comments
4Go to XOR function with duration: 4 minutes, 9 seconds04:09

XOR function

Created by Geoffrey Herman
Exploring the difference between data and control with the XOR function
4025 views0 comments
5Go to Truth table to Boolean expressions with duration: 2 minutes, 32 seconds02:32

Truth table to Boolean expressions

Created by Geoffrey Herman
One way to translate truth tables to Boolean expressions
4397 views1 comments
6Go to Binary number systems with duration: 4 minutes, 57 seconds04:57

Binary number systems

Created by Geoffrey Herman
Unsigned binary number representations
3809 views0 comments
Designing combinational logic circuits
4636 views1 comments
8Go to Hexadecimal with duration: 1 minute, 42 seconds01:42

Hexadecimal

Created by Geoffrey Herman
Using hexadecimal to make it easier to read/write binary bit strings
3439 views0 comments
9Go to Binary Addition with duration: 3 minutes, 29 seconds03:29

Binary Addition

Created by Geoffrey Herman
Performing addition with fixed-width binary representations
1885 views0 comments
10Go to 2's Complement Representation with duration: 3 minutes, 22 seconds03:22

2's Complement Representation

Created by Geoffrey Herman
A representation for positive and negative numbers using binary
2413 views0 comments
11Go to Bitshifting with duration: 3 minutes, 49 seconds03:49

Bitshifting

Created by Geoffrey Herman
Interpreting and using bit shift operations
4866 views0 comments
12Go to Addition Circuits with duration: 5 minutes, 7 seconds05:07

Addition Circuits

Created by Geoffrey Herman
Building circuits that can perform addition and substraction
5362 views0 comments
13Go to Multiplexers with duration: 3 minutes, 29 seconds03:29

Multiplexers

Created by Geoffrey Herman
We use multiplexers to choose between multiple streams of data
5775 views0 comments
14Go to Arithmetic Logic Units with duration: 5 minutes, 57 seconds05:57

Arithmetic Logic Units

Created by Geoffrey Herman
Creating a component that controls what arithmetic and logic operations we perform on system state
6163 views3 comments
15Go to State storage: Latches and flip-flops with duration: 7 minutes, 25 seconds07:25

State storage: Latches and flip-flops

Created by Geoffrey Herman
State storage devices that store one bit: latches and flip-flops
5649 views0 comments
16Go to Finite state machine basics with duration: 2 minutes, 26 seconds02:26

Finite state machine basics

Created by Geoffrey Herman
Basic concepts and notation for finite state machines
4809 views0 comments
17Go to Finite state machine timing with duration: 7 minutes, 40 seconds07:40

Finite state machine timing

Created by Geoffrey Herman
Timing considerations for finite state machines
3489 views0 comments
18Go to Finite state machine design with duration: 9 minutes, 11 seconds09:11

Finite state machine design

Created by Geoffrey Herman
Process and example for designing finite state machines
5301 views0 comments
19Go to Registers with duration: 4 minutes, 13 seconds04:13

Registers

Created by Geoffrey Herman
Building state storage devices that store multiple bits
5591 views0 comments
20Go to Binary Decoders with duration: 3 minutes, 44 seconds03:44

Binary Decoders

Created by Geoffrey Herman
A description of a class of control circuits called binary decoders
1745 views0 comments
21Go to Register Files with duration: 5 minutes, 12 seconds05:12

Register Files

Created by Geoffrey Herman
Building addressable memory
5584 views0 comments
22Go to Binary Multiplication with duration: 5 minutes, 13 seconds05:13

Binary Multiplication

Created by Geoffrey Herman
How to perform multiplication in binary
3836 views0 comments
23Go to Multiplier Datapath with duration: 9 minutes, 8 seconds09:08

Multiplier Datapath

Created by Geoffrey Herman
A datapath for performing binary multiplication
5128 views0 comments
24Go to Arithmetic Machine with duration: 6 minutes, 7 seconds06:07

Arithmetic Machine

Created by Geoffrey Herman
Creating a programmable datapath
6302 views0 comments
25Go to Instruction Decoding with duration: 5 minutes, 37 seconds05:37

Instruction Decoding

Created by Geoffrey Herman
How to convert MIPS assembly instructions into machine code and machine code into control signals
5947 views0 comments
26Go to Instruction Set Architectures (ISAs) with duration: 5 minutes, 24 seconds05:24

Instruction Set Architectures (ISAs)

Created by Geoffrey Herman
Instruction Set Architecture make high-level languages (like C and Python) possible, but they are possible only because we have programmable datapaths like our arithmetic machine.
4457 views0 comments
27Go to How to Read the MIPS Green Sheet with duration: 8 minutes, 12 seconds08:12

How to Read the MIPS Green Sheet

Created by Geoffrey Herman
Overview of how to read the MIPS Green Sheet
3230 views0 comments
28Go to Instruction Memory with duration: 4 minutes, 11 seconds04:11

Instruction Memory

Created by Geoffrey Herman
Creating a programmable finite state machine 
4549 views0 comments
29Go to Endianness with duration: 1 minute, 9 seconds01:09

Endianness

Created by Geoffrey Herman
Endianness determines how we arrange words of information in byte addressable memory
3466 views0 comments
30Go to Control Instructions with duration: 7 minutes, 35 seconds07:35

Control Instructions

Created by Geoffrey Herman
Instructions that let us implement loops and conditional statements
7031 views0 comments
31Go to Labels for Assembly Programming with duration: 9 minutes, 41 seconds09:41

Labels for Assembly Programming

Created by Geoffrey Herman
Labels make coding with branches and jumps so much easier!!
2926 views0 comments
32Go to Load Upper Immediate (lui) with duration: 4 minutes, 19 seconds04:19

Load Upper Immediate (lui)

Created by Geoffrey Herman
Adding the lui instruction to the MIPS datapath
4450 views0 comments
33Go to Set If Less Than (slt and slti) with duration: 6 minutes, 27 seconds06:27

Set If Less Than (slt and slti)

Created by Geoffrey Herman
Adding the slt and slti instructions to the MIPS datapath
3358 views0 comments
34Go to Data Memory with duration: 5 minutes, 50 seconds05:50

Data Memory

Created by Geoffrey Herman
Instructions that move data between the register file and data memory
5385 views0 comments
To manipulate state information in data memory, we need to load, manipulate, and then store the data
3914 views0 comments
36Go to MIPS Register Naming Conventions with duration: 3 minutes, 16 seconds03:16

MIPS Register Naming Conventions

Created by Geoffrey Herman
Register naming conventions in MIPS 
4413 views0 comments
37Go to Pseudoinstructions with duration: 1 minute, 48 seconds01:48

Pseudoinstructions

Created by Geoffrey Herman
MIPS provides pseudoinstructions to make your life easier
3221 views0 comments
How we implement functions in MIPS assembly and manage the stack
5736 views0 comments
39Go to Live Coding Example - Callee Save with duration: 22 minutes, 3 seconds22:03

Live Coding Example - Callee Save

Created by Geoffrey Herman
Live coding example using callee save register conventions
2168 views0 comments
40Go to Live Coding Example - Caller Save with duration: 19 minutes, 21 seconds19:21

Live Coding Example - Caller Save

Created by Geoffrey Herman
Live coding example using caller save register conventions
3440 views0 comments
41Go to Pointers with duration: 3 minutes, 21 seconds03:21

Pointers

Created by Geoffrey Herman
Manipulating pointers in MIPS
3894 views0 comments
42Go to Spiral Rule with duration: 53 seconds00:53

Spiral Rule

Created by Geoffrey Herman
Using the spiral rule to parse C variable declarations
2763 views0 comments
43Go to Data Structures with duration: 5 minutes, 11 seconds05:11

Data Structures

Created by Geoffrey Herman
Manipulating more complex data types and more complex data structures
3656 views0 comments
44Go to Recursion (Callee Save) with duration: 5 minutes, 23 seconds05:23

Recursion (Callee Save)

Created by Geoffrey Herman
Writing recursive functions in MIPS using callee save conventions
3971 views0 comments
Live coding example: Fib recursion (Callee save)
2652 views2 comments
46Go to Memory-Mapped Input/Output with duration: 4 minutes, 53 seconds04:53

Memory-Mapped Input/Output

Created by Geoffrey Herman
Different methods for receiving and sending inputs and outputs
3505 views0 comments
47Go to Handling Interrupts and Exceptions with duration: 7 minutes, 28 seconds07:28

Handling Interrupts and Exceptions

Created by Geoffrey Herman
Using the status and cause registers to handle interrupts and exceptions
3340 views0 comments
48Go to Exceptions with duration: 2 minutes, 27 seconds02:27

Exceptions

Created by Geoffrey Herman
Exceptions are errors in our programs
2761 views0 comments
49Go to Interrupt/Exception Datapath with duration: 6 minutes, 39 seconds06:39

Interrupt/Exception Datapath

Created by Geoffrey Herman
Building the datapath for handling interrupts and exceptions
2700 views0 comments
50Go to Spimbot Intro with duration: 6 minutes, 57 seconds06:57

Spimbot Intro

Created by Geoffrey Herman
Introduction to SPIMbot
2640 views0 comments
51Go to Latency and Throughput with duration: 2 minutes, 1 second02:01

Latency and Throughput

Created by Geoffrey Herman
Defining and giving an example of latency and throughput
3394 views0 comments
52Go to Iron Law of Computing with duration: 1 minute, 52 seconds01:52

Iron Law of Computing

Created by Geoffrey Herman
Estimating the time it takes for a program to run
4012 views0 comments
53Go to Pipeline Latency and Throughput with duration: 6 minutes, 59 seconds06:59

Pipeline Latency and Throughput

Created by Geoffrey Herman
Comparing the throughput and latency of single-cycle datapath and pipelined datapath
4292 views0 comments
54Go to Pipeline data propagation example with duration: 6 minutes, 40 seconds06:40

Pipeline data propagation example

Created by Geoffrey Herman
Example of data propagating through a pipelined datapath
3991 views0 comments
55Go to Data Dependencies and Data Hazards with duration: 6 minutes, 23 seconds06:23

Data Dependencies and Data Hazards

Created by Geoffrey Herman
Data dependencies are instructions the read values written to the register file by previous instructions
3150 views0 comments
56Go to Data Forwarding in Pipelines with duration: 5 minutes, 38 seconds05:38

Data Forwarding in Pipelines

Created by Geoffrey Herman
Data forwarding to fix data hazards
3258 views0 comments
57Go to Stalling the Pipeline with duration: 3 minutes, 49 seconds03:49

Stalling the Pipeline

Created by Geoffrey Herman
Stalling the Pipeline
5233 views0 comments
58Go to Cycle counting with stalls with duration: 9 minutes, 5 seconds09:05

Cycle counting with stalls

Created by Geoffrey Herman
Counting how many cycle a program takes to execute when stalls are involved
791 views0 comments
59Go to Control Hazards and Flushes with duration: 2 minutes, 54 seconds02:54

Control Hazards and Flushes

Created by Geoffrey Herman
Control Hazards and Flushes
4082 views0 comments
Using temporal and spatial locality in code to improve memory performance
4495 views0 comments
61Go to Direct-mapped Caches with duration: 4 minutes, 18 seconds04:18

Direct-mapped Caches

Created by Geoffrey Herman
One method for mapping a large main memory to small caches
2591 views0 comments
Taking advantage of spatial locality using multi-byte cache blocks
2358 views0 comments
63Go to Temporal Locality: Set Associativity with duration: 9 minutes, 1 second09:01

Temporal Locality: Set Associativity

Created by Geoffrey Herman
Taking advantage of temporal locality using set associativity
2763 views0 comments
64Go to Cache Tradeoffs with duration: 3 minutes, 22 seconds03:22

Cache Tradeoffs

Created by Geoffrey Herman
How adding bytes per cache block and set associativity affect tradeoffs to support spatial and temporal locality.
3116 views0 comments
65Go to Multi-level caches with duration: 3 minutes, 29 seconds03:29

Multi-level caches

Created by Geoffrey Herman
Overview of why we have multi-level cache designs and how they work.
2281 views0 comments
Computing performance depends on the interaction between the design of the cache, the structure of the code, and the structure of the data.
2077 views0 comments
67Go to Writeback Caches with duration: 4 minutes, 24 seconds04:24

Writeback Caches

Created by Geoffrey Herman
Writing to caches and back to memory
2790 views0 comments
68Go to Cache prefetching with duration: 6 minutes, 10 seconds06:10

Cache prefetching

Created by Geoffrey Herman
Using prefetching to minimize the effect of cache misses
3029 views0 comments
69Go to Tiling Example Part 1 with duration: 10 minutes, 8 seconds10:08

Tiling Example Part 1

Created by Geoffrey Herman
Analyzing a baseline piece of code without tiling
2669 views0 comments
70Go to Tiling Example Part 2 with duration: 13 minutes, 52 seconds13:52

Tiling Example Part 2

Created by Geoffrey Herman
Reanalyzing a the same code with tiling
2254 views1 comments
71Go to Virtual Memory with duration: 8 minutes, 29 seconds08:29

Virtual Memory

Created by Geoffrey Herman
Virtual memory provides access to increased data storage and data security
2956 views0 comments
72Go to Translation Lookaside Buffer with duration: 5 minutes, 29 seconds05:29

Translation Lookaside Buffer

Created by Geoffrey Herman
How we use the Translation Lookaside Buffer to make caches faster
2427 views0 comments
Vectorization and Single Instruction Multiple Data (SIMD)
2478 views0 comments
74Go to Vectorization and Dependencies with duration: 7 minutes, 12 seconds07:12

Vectorization and Dependencies

Created by Geoffrey Herman
Vectorization and Dependencies
2290 views0 comments