CIS 571: Introduction to Computer Organization & Design, Lecture notes of Design

Textbooks (none required). • Patterson & Hennessy, Computer Organization and Design, 4th or. 5th edition. • free via Penn library, link on course homepage.

Typology: Lecture notes

2021/2022

Uploaded on 08/05/2022

nguyen_99
nguyen_99 🇻🇳

4.2

(80)

1K documents

1 / 46

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
CIS 571
Computer Organization & Design
Unit 1: Introduction
Slides developed by Joseph Devietti, Benedict Brown, C.J. Taylor, Milo Martin & Amir Roth
at the University of Pennsylvania
with sources that included University of Wisconsin slides
by Mark Hill, Guri Sohi, Jim Smith, and David Wood.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e

Partial preview of the text

Download CIS 571: Introduction to Computer Organization & Design and more Lecture notes Design in PDF only on Docsity!

CIS 571

Computer Organization & Design

Unit 1: Introduction

Slides developed by Joseph Devietti, Benedict Brown, C.J. Taylor, Milo Martin & Amir Roth at the University of Pennsylvania with sources that included University of Wisconsin slides by Mark Hill, Guri Sohi, Jim Smith, and David Wood.

Today’s Agenda

  • Course logistics
  • A brief history of computer architecture
  • Lab Demo

Course Staff

  • Instructor
    • Joe Devietti (devietti@cis)
  • TAs
    • Elijah Magerman
    • Amelia Rosenbaum
    • Lindsay Smith
    • Matthew Tang
    • Zhiyao Tang
    • Alexandra Tanner

Course Number

  • 371/501 => 471/
  • No difference in content between 471 and 571
    • I’ll just say “571” for short

Course Resources

  • Course website
    • http://www.cis.upenn.edu/~cis
    • slides (publicly accessible)
  • Github
    • documentation and starter code for the labs
  • Canvas
    • regular quizzes
    • lecture videos available via Class Recordings tab
  • Gradescope
    • submit labs
  • Piazza Ed Discussions
    • private and anonymous-to-students posts/questions
    • As a general rule, don’t use email
  • Office Hours
    • ohq + Zoom
    • Google Calendar with OH time slots and links

Course Resources

  • biglab.seas.upenn.edu
    • build & run your lab code
  • Textbooks (none required)
    • Patterson & Hennessy, Computer Organization and Design, 4 th or 5 th edition
  • free via Penn library, link on course homepage
    • Reese & Thornton, Intro to Logic Synthesis using Verilog HDL
      • PDF on Canvas in the Files tab
    • Digital Design: A Systems Approach by Dally and Harting

Lab Logistics

  • Tools
    • Icarus Verilog, Xilinx Vivado hardware compilers
      • Run from biglab.seas.upenn.edu
    • ZedBoard FPGA boards
      • Live in Towne lockers, details coming
  • Logistics
    • Most labs have a demo component that runs on the ZedBoard
    • Development and simulation can be done before final testing on the board

Labs

  • Labs 2-5 done in groups of two
    • start forming groups now
    • join an existing Canvas group with your partner
  • Lab descriptions
    • Lab 1: Verilog debugging
    • Lab 2: arithmetic & logical unit
    • Lab 3: single-cycle LC4 & register file
    • Lab 4: pipelined LC
    • Lab 5: pipelined +superscalar LC
  • Labs are cumulative and increasingly complex
  • Each lab broken down into "milestone" deadlines
    • Roughly one per week
  • Threshold grading : grades are [0%,90%] or 100%

In many ways this

is a class about

debugging

http://debuggingrules.com

Grading

  • Tentative grade contributions:
    • Quizzes: 30 %
    • Labs: 70%
  • Historical grade distribution: median grade is B+
    • past performance is not a predictor of future results

Academic Misconduct

  • Cheating will not be tolerated
  • General rule:
    • Anything with your name on it must be YOUR OWN work
    • You MUST scrupulously credit all sources of help
    • Example: individual work on homework assignments
  • See the course policies
  • Penn’s Code of Conduct
    • http://www.vpul.upenn.edu/osl/acadint.html

Computer Architecture Courses @ Penn

CIS 240 vs. CIS 571

  • CIS 240
    • Focus on one toy ISA: LC
    • Focus on functionality: “just get something that works”
    • Instructive, learn to crawl before you can walk
    • Not representative of real machines: 240 hardware is circa 1975
  • CIS 571
    • Less emphasis on any particular ISA during lectures
    • Focus on quantitative aspects: performance , cost, power, etc.
    • Representative of ~1980s hardware
      • also modern low-power processors, e.g., inside a Fitbit

Pervasive Idea: Abstraction and Layering

  • Abstraction : only way of dealing with complex systems
    • Divide world into objects, each with an…
      • Interface : knobs, behaviors, knobs ® behaviors
      • Implementation : “black box” (ignorance+apathy)
    • Only specialists deal with implementation, rest of us with interface
    • Example: only mechanics know how cars work
  • Layering : abstraction discipline makes life even simpler
    • Divide objects in system into layers, layer n objects…
      • Implemented using interfaces of layer n – 1
      • (mostly) Don’t need to know interfaces of layer n – 2
  • Inertia : a dark side of layering
    • Layer interfaces become entrenched over time (“standards”)
    • Very difficult to change even if benefit is clear
  • Opacity : hard to reason about performance across layers