Skip to content

bowmnath/cis-351-w22

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to CIS 351!

This is the main website for the course. The slides, schedule, and links to assignments, labs, projects, as well as the official course policies, will be posted here. The course also uses other websites for specific purposes.

  • Piazza is a question-and-answer forum. All official announcements will be sent through Piazza, and you are responsible for monitoring Piazza to keep up to date with announcements (Piazza by default will send an email when an announcement is posted).
  • Prairielearn is where you will submit all of your assignments, labs, and projects. After submitting to Prairielearn, don't forget to update the "Grade me" spreadsheet as described in the syllabus.
  • ClassTranscribe is where the videos will be hosted.

That seems like a lot to monitor, but don't worry -- you really need only actively follow Piazza. I will release announcements there any time assignments or videos are assigned, and I will post links to them directly on this page.

Be sure to read through the syllabus for course policies, contact information, and other important info.

Schedule

** Note: This is an estimated timeline and subject to change. **

Week Topics Readings and Activities Deliverables
1 Introduction
intro slides
Combinational circuits
circuits slides
circuit representation slides
conversion slides
SOP & PLA slides
logical completeness slides
Chapter 1
Wednesday activities
2 Binary numbers
intro slides
usage slides
tricks/tips slides
Negative binary numbers
sign-magnitude slides
two's complement slides
overflow slides
Boolean algebra
simplification slides
Ripple-carry adder
half adder slides
ripple-carry adder slides
Circuit Timing
circuit timing slides
In-class Activities

Chapter 2.1 - 2.6, 2.9
Chapter 5.1 - 5.2
Lab partner survey
Intro Lab -- Tuesday, Jan. 18 (suggested)
3 Ripple-Carry Timing
ripple-carry timing slides
Multiplexors
multiplexor slides
Carry-select adder
carry-select slides part 1
carry-select slides part 2
Carry-lookahead adder
carry-lookahead slides part 1
carry-lookahead slides part 2
In-class Activities

Practice Exam 1
Solutions

Building adder handout (optional)

"System-check" practice exam

Chapter 2.8
Chapter 5.2
HW1 -- Wednesday, Jan. 26 (recommended)
First breadboard lab -- Tuesday, Jan. 25 (recommended)
HW2 -- Boolean Algebra -- Friday, Jan. 28 (recommended)
4 Karnaugh Maps
k-map slides
Latches
latches slides
In-class Activities

Chapter 2.8
Chapter 3.1 - 3.2
First Midterm -- Wednesday, February 2
Building adder lab -- Tuesday, Feb. 1 (Recommended)
5 Flip-flops
Synchronous sequential circuits
flip-flop slides
synchronous sequential slides
timing sequential slides
Pipelining
pipelining slides
In-class Activities

Chapter 3.2 - 3.3, 3.5 - 3.7
Project 1 -- Friday, Feb. 11 Sunday, Feb. 13 (standard credit)
6 Turning circuits into computers
automatic computer
In-class Activities

Building computer handout

Pipelining handout

Practice Exam 2

Practice Exam 2 Solutions
Sequential circuits lab -- Tuesday, Feb. 15 (recommended)

HW3 -- Sequential Circuits -- Friday, Feb. 18 (recommended)
7 Computer Architecture
architecture

R-type microarchitecture
R-type datapath

I-type instructions
I-type
Implementing arithmetic I-type

Branches
conditional branching
In-class Activities Second Midterm -- Monday, February 21 in EOS

Project 2 -- Wednesday, February 23 (standard credit)
8 Unconditional branch (jump)
jump

Assembly programming constructs
conditionals (if statements)
loops

Branch microarchitecture
Implementing branches

Memory load/store
memory instructions
Implementing load and store
In-class Activities

Memory handout
9 Spring Break
10 Control logic
Control logic

Arrays
arrays
arrays and loops

Functions
functions
Practice Exam 3

Practice Exam 3 solutions

In-class Activities
Branches lab -- Tuesday, March 15 (recommended)

HW4: Architecture and Microarchitecture -- Wednesday, March 16 (recommended)

Project 3 -- Friday, March 18 (standard credit)
11 Stack
stack
recursion
In-class Activities Third Midterm -- Monday, March 21

Computer instruction types lab -- Tuesday, March 22 (recommended)
12 Memory
memory map
loading and executing

Programming with memory
data segment code
heap code
generic debugging code
stack vs heap vs global (optional -- no video)

Cache motivation
cache motivation

Direct-mapped cache
direct-mapped cache
In-class activities

Practice Exam 4
Solutions
Loops lab -- Tuesday, March 29 (recommended)

HW5: Stack and Microarchitecture -- Friday, April 1 (recommended)
13 Cache conflicts
cache conflicts

Associative cache
associative cache mapping
associative cache conflicts (LRU)

Varying block size in cache
mapping with larger block sizes
blocks of addresses
associativity vs block size and address bits
In-class activities

Direct-mapped cache handout

Set-associative cache handout
Fourth Midterm -- Monday, April 4

Recursion lab -- Tuesday, April 5 (recommended)
14 Cache performance
cache performance

Basic pipelining in MIPS
pipeline intro
pipeline performance
In-class activities

Larger-blocksize cache handout
Cache lab 1 -- Tuesday, April 12 (recommended)

HW6: Cache -- Friday, April 15 (recommended)
15 Data and Control Hazards
data hazards
control hazards
In-class activities Project 4 -- Friday, April 22 (standard credit)

Pipeline lab -- Friday, April 22 (recommended)
16 Final Exam Practice Final

Practice Final Solutions

Useful links

MIPS Reference Sheet

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors