Final exam: Wednesday, March 20, 2:30pm

Slides:



Advertisements
Similar presentations
CS 300 – Lecture 22 Intro to Computer Architecture / Assembly Language Virtual Memory.
Advertisements

ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 1 Introduction.
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
COMP 321: Introduction to Computer Systems Scott Rixner Alan L. Cox
The Hardware/Software Interface CSE 351 Winter 2015
Winter 2015 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University Introduction and Overview.
University of Washington The Hardware/Software Interface CSE351 Summer 2013 Instructor: Benjamin Wood Teaching Assistants: Jacob Gile, Riley Klingler 1.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
1 A Simple but Realistic Assembly Language for a Course in Computer Organization Eric Larson Moon Ok Kim Seattle University October 25, 2008.
Introduction and Overview Summer 2014 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University.
University of Washington Roadmap 1 car *c = malloc(sizeof(car)); c->miles = 100; c->gals = 17; float mpg = get_mpg(c); free(c); Car c = new Car(); c.setMiles(100);
University of Washington The Hardware/Software Interface CSE351 Spring 2013 (spring has sprung!) Instructor: Luis Ceze Teaching Assistants: Katelin Bailey,
University of Washington Memory and Caches I The Hardware/Software Interface CSE351 Winter 2013.
University of Washington Today Finished up virtual memory On to memory allocation Lab 3 grades up HW 4 up later today. Lab 5 out (this afternoon): time.
Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.
University of Washington The Hardware/Software Interface CSE351 Autumn 2013 Instructor: Gaetano Borriello Teaching Assistants: Peter Ney, Sunjay Cauligi,
University of Washington Exceptional Control Flow The Hardware/Software Interface CSE351 Winter 2013.
University of Washington Today Midterm topics end here. HW 2 is due Wednesday: great midterm review. Lab 3 is posted. Due next Wednesday (July 31)  Time.
Introduction Computer Organization Spring 1436/37H (2015/16G) Dr. Mohammed Sinky Computer Architecture
Page 1 Computer Architecture and Organization 55:035 Final Exam Review Spring 2011.
Introduction and Overview Winter 2013 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University.
University of Washington The Hardware/Software Interface CSE 351 Autumn 2014 Instructor: Ruth Anderson Teaching Assistants: Matthew Dorsett, Dylan Johnson,
Spring 2016Assembly Review Roadmap 1 car *c = malloc(sizeof(car)); c->miles = 100; c->gals = 17; float mpg = get_mpg(c); free(c); Car c = new Car(); c.setMiles(100);
University of Washington Roadmap 1 car *c = malloc(sizeof(car)); c->miles = 100; c->gals = 17; float mpg = get_mpg(c); free(c); Car c = new Car(); c.setMiles(100);
INC 161 , CPE 100 Computer Programming
Java and C I CSE 351 Spring 2017 Instructor: Ruth Anderson
Assembly Programming I CSE 351 Spring 2017
The Hardware/Software Interface CSE351 Winter 2013
CSE 374 Programming Concepts & Tools
The Hardware/Software Interface CSE 351 Winter 2017
Arrays CSE 351 Spring 2017 Instructor: Ruth Anderson
Roadmap C: Java: Assembly language: OS: Machine code: Computer system:
Roadmap C: Java: Assembly language: OS: Machine code: Computer system:
The Hardware/Software Interface CSE 351 Autumn 2017
Course Overview Computer Systems Organization (Fall 2016)
Today How’s Lab 3 going? HW 3 will be out today
CSE351: Memory, Data, & Addressing I CSE 351 Spring 2017
The Hardware/Software Interface CSE351 Winter 2013
Switch & Procedures & The Stack I CSE 351 Winter 2017
Announcements VM on the website! Speedometer!
The Hardware/Software Interface CSE 351 Autumn 2016
Comp 541 Wrap Up! Montek Singh Apr 27, 2018.
We made it!  C: Java: Assembly language: OS: Machine code:
Data III & Integers I CSE 351 Autumn 2016
Computer Systems Summary
Procedures & The Stack I CSE 351 Autumn 2016
Arrays CSE 351 Winter
Introduction to Computer Systems
Data III & Integers I CSE 351 Winter 2017
Roadmap C: Java: Assembly language: OS: Machine code: Computer system:
Roadmap C: Java: Assembly language: OS: Machine code: Computer system:
CSE 351 Section 10 The END…Almost 3/7/12
x86-64 Programming III & The Stack CSE 351 Autumn 2017
Lecture Topics: 11/1 General Operating System Concepts Processes
Java and C CSE 351 Summer 2018 Instructor: Justin Hsia
What time is it?. What time is it? Major Concepts: a data structure model: basic representation of data, such as integers, logic values, and characters.
Java and C CSE 351 Winter 2018 Instructor: Mark Wyse
Roadmap C: Java: Assembly language: OS: Machine code: Computer system:
Wrap Up Don Porter.
Introduction to Computer Systems
Java and C CSE 351 Autumn 2018 Instructor: Teaching Assistants:
Introduction to Computer Systems
Introduction to Computer Systems
Course Outline for Computer Architecture
Java and C I CSE 351 Spring 2017 Instructor: Ruth Anderson
CSE 153 Design of Operating Systems Winter 2019
Professor: Shereen Khoja
CS201 – Course Expectations
Assembly Programming I CSE 351 Spring 2017
Presentation transcript:

Final exam: Wednesday, March 20, 2:30pm Here in Mary Gates 389, 2:30pm – 4:20pm Focus will be on material covered in lecture and in labs during the second half of the course Use textbook to supplement / fill in details; if you see something in the textbook that we didn’t cover in class, then it’s not on the exam Questions will be similar to homeworks and past exams How to prepare: Study lecture slides (review coursecasts if you missed something) Understand the homework problems and solutions Review the practice problems in the book Look at previous exams Q&A session: Tuesday, at ?? But please post questions to the discussion board before then http://www.cs.washington.edu/education/courses/cse351/13wi/past-exams.html Winter 2013 Wrap-up

CSE 351 grading Your overall grade in the class is calculated from: Homeworks (20%) Labs (40%) Midterm exam (15%) Final exam (25%) http://www.cs.washington.edu/education/courses/cse351/13wi/policies.html Winter 2013 Wrap-up

The Big Theme: Interfaces and Abstractions Computing is about abstractions (but we can’t forget reality) What are the abstractions that we use? What do YOU need to know about them? When do they break down and you have to peek under the hood? What bugs can they cause and how do you find them? How does the hardware (0s and 1s, processor executing instructions) relate to the software (C/Java programs)? Become a better programmer and begin to understand the important concepts that have evolved in building ever more complex computer systems Winter 2013 Wrap-up

Little Theme 1: Representation All digital systems represent everything as 0s and 1s The 0 and 1 are really two different voltage ranges in the wires “Everything” includes: Numbers – integers and floating point Characters – the building blocks of strings Instructions – the directives to the CPU that make up a program Pointers – addresses of data objects stored away in memory These encodings are stored throughout a computer system In registers, caches, memories, disks, etc. They all need addresses A way to find them Find a new place to put a new item Reclaim the place in memory when data no longer needed Winter 2013 Wrap-up

Little Theme 2: Translation There is a big gap between how we think about programs and data and the 0s and 1s of computers Need languages to describe what we mean Languages need to be translated one step at a time Words, phrases and grammars We know Java as a programming language Have to work our way down to the 0s and 1s of computers Try not to lose anything in translation! We’ll encounter Java byte-codes, C language, assembly language, and machine code (for the X86 family of CPU architectures) Winter 2013 Wrap-up

Little Theme 3: Control Flow How do computers orchestrate the many things they are doing – seemingly in parallel What do we have to keep track of when we call a method, and then another, and then another, and so on How do we know what to do upon “return” User programs and operating systems Multiple user programs Operating system has to orchestrate them all Each gets a share of computing cycles They may need to share system resources (memory, I/O, disks) Yielding and taking control of the processor Voluntary or “by force”? Winter 2013 Wrap-up

Roadmap C: Java: Assembly language: OS: Machine code: Computer system: Data & addressing Integers & floats Machine code & C x86 assembly programming Procedures & stacks Arrays & structs Memory & caches Processes Virtual memory Memory allocation Java vs. C C: Java: car *c = malloc(sizeof(car)); c->miles = 100; c->gals = 17; float mpg = get_mpg(c); free(c); Car c = new Car(); c.setMiles(100); c.setGals(17); float mpg = c.getMPG(); Assembly language: get_mpg: pushq %rbp movq %rsp, %rbp ... popq %rbp ret OS: Machine code: 0111010000011000 100011010000010000000010 1000100111000010 110000011111101000011111 Computer system: Winter 2013 Wrap-up

Course Perspective This course will make you a better programmer Purpose is to show how software really works By understanding the underlying system, one can be more effective as a programmer Better debugging Better basis for evaluating performance How multiple activities work in concert (e.g., OS and user programs) Not just a course for dedicated hackers What every CSE major needs to know Job interviewers love to ask questions from 351! Provide a context in which to place the other CSE courses you’ll take Winter 2013 Wrap-up

If you liked this class, then consider… CSE477/481/490/etc. Capstone and Project Courses CSE352 HW Design CSE333 Systems Prog CSE451 Op Systems CSE401 Compilers CSE461 Networks CSE484 Security CSE466 Emb Systems Execution Model Performance Distributed Systems Concurrency Machine Code Comp. Arch. Real-Time Control CSE351 The HW/SW Interface: underlying principles linking hardware and software CS 143 Intro Prog II Winter 2013 Wrap-up

Winter 2013 Wrap-up