Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS24: Introduction to Computer Systems

Similar presentations


Presentation on theme: "CS24: Introduction to Computer Systems"— Presentation transcript:

1 CS24: Introduction to Computer Systems
Day 1: March 29, 2004 Introduction and Overview CALTECH CS24 Spring DeHon

2 Today What Who Why What Detail (Overview) How (Course Details)
CALTECH CS24 Spring DeHon

3 What How the computer works below the programming language
(mostly above the physics) How processor is organized How your computation is actually performed Why is there an Operating System And what does it do for you? CALTECH CS24 Spring DeHon

4 What What lies between the Abstraction Stack Programming Language
Physics Abstraction Stack CALTECH CS24 Spring DeHon

5 What New class First time being taught here Only course in CS undergraduate core that actually deals with computers as physical machines Dynamics / typical case How we manage computer systems Coordinate shared resources Not just one program How do we deal with technology Technology change CALTECH CS24 Spring DeHon

6 Who? Two Instructors Jason Hickey André DeHon
represent high-level view What does the Programmer want? André DeHon Represent the low-level view What does the hardware want? How does it perform well? CALTECH CS24 Spring DeHon

7 Who? TAs: Michael Wrighton Cristian Tapus
CALTECH CS24 Spring DeHon

8 Why? (low road) As programmers: want to understand your tool.
How does it work? When does it break? What are those constants we kept ignoring in CS20, CS38? How do you get the most out of it? Why is this a challenge? CALTECH CS24 Spring DeHon

9 Why? As innovators: want to understand the prior art How does it work?
What’s wrong with it? How can we make it better? CALTECH CS24 Spring DeHon

10 Why? (high road) What problems does it solve?
What are the big ideas that makes this work? Is the Instruction Set Architecture (ISA) abstraction necessary? Isolation? Virtualization? CALTECH CS24 Spring DeHon

11 Why? (Future) This will all break down in the next 10-20 years.
Low-end: Approaching Atomic scale Time to pay attention to low-level physics Sequential processor at end of scaleable life High-end: Scale of modern systems/software already stressing (breaking?) model How do we enable bigger systems? In critical roles? Reduce human time? CALTECH CS24 Spring DeHon

12 Why? (Future) This will all break down in the next 10-20 years.
We’re going to have to rebuild it. What were the good/high-level ideas we need to keep? Can and should be transferred? You: May need to help lead the transition At least need to understand the big ideas to survive the transition CALTECH CS24 Spring DeHon

13 Why? We are not learning this to pay homage to
Bill Gates Dennis Richie, Ken Thompson Linus Torvalds Fred Brooks, Gene Amdahl John Hennessey, Dave Patterson Bob Colwell Learning this so we can move forward while not repeating the mistakes of the past Keep the good ideas Discard the bad ones Solve problems they didn’t need to… CALTECH CS24 Spring DeHon

14 Back to What CALTECH CS24 Spring DeHon

15 Physics SF=0,F=ma, F=-kx, … SI=0,V=IR, DV=(I DT)/C,
Ultimately, we can build machines which compute because the physical world computes SF=0,F=ma, F=-kx, … SI=0,V=IR, DV=(I DT)/C, Id=Is(e[qv/kt]-1) CALTECH CS24 Spring DeHon

16 Devices From these phenomena we can build useful devices
Store charge  store value Switch current based on value CALTECH CS24 Spring DeHon

17 Gates From these devices we can build gates
CALTECH CS24 Spring DeHon

18 Boolean Logic From gates we can build any particular boolean function
E.g. o=(a+/b)(b+c)+/b*/c Day 2 CALTECH CS24 Spring DeHon

19 Universal Turing Machine
From CS21 (CS20), you know we can, in theory, build a machine which will emulate any other machines A Universal Machine… CALTECH CS24 Spring DeHon

20 Programmable Logic Likewise, we can build collections of gates which will perform any function CALTECH CS24 Spring DeHon

21 Programmable Machine …and ultimately, a machine which can perform (almost) any computable function Week 2 CALTECH CS24 Spring DeHon

22 How Organize Programmable Machine?
Theory tells us that we can build such a machine? Engineering asks how we should build such a machine CALTECH CS24 Spring DeHon

23 What’s in here? CALTECH CS24 Spring DeHon

24 Raw Machine Even this is pretty raw How do we make it usable?
add, or, xor, ld, st, br How do we make it usable? Invent conventions: Using memory Representing data Making procedure calls CALTECH CS24 Spring DeHon

25 Runtime Systems Over time, we build up a collection of software necessary to run the machine Load program Allocate/deallocate memory Perform I/O Handle asynchronous events CALTECH CS24 Spring DeHon

26 It might be nice if… Could run more than one program
All the programs didn’t need to know about each other Could run more than one program at a time Didn’t require a physical processor for each program want to run Could use more memory than you have physical RAM Could communicate with other programs CALTECH CS24 Spring DeHon

27 It might be nice if… One program crashing didn’t crash the machine
Could monitor a running (crashed) program Could share the machine amongst people (programs) that don’t necessarily know about or trust each other… CALTECH CS24 Spring DeHon

28 Operating System …we need some way to virtualize and manage our physical resources This is what an Operating System provides Most of our programs run in the context of an operating system and an instruction set processor API: Application Programming Interface CALTECH CS24 Spring DeHon

29 What What lies between the Abstraction Stack Programming Language
Physics Abstraction Stack CALTECH CS24 Spring DeHon

30 How CALTECH CS24 Spring DeHon

31 Course Components Text (CS:APP) Lectures Recitations Homework
Fri. 4pm here Also Fri. 2pm (TBD) Homework 9 weekly labs Midterm, final Grade: 70% for best 8 of 9 labs 10% midterm 20% final CALTECH CS24 Spring DeHon

32 Resources Course Web Page Administrative handout Mailing Lists Forum
< Administrative handout Give you all of these details Mailing Lists Forum Computer Accounts CALTECH CS24 Spring DeHon

33 Pragmatics Programming in C and Assembly Online submission systems
First recitation on C Text has asides for “new” C programmers …will learn assembly bottom up …will help C, since C is so close to assembly… Online submission systems CALTECH CS24 Spring DeHon

34 Feedback Sheets Please fill one out each class New course anonymous
Need to understand what works So can improve for future lectures So can improve for future years CALTECH CS24 Spring DeHon

35 You Action Items Get book Read chapter 1 Find web page
Read administrative handout Signup for mailing list, find forum Get computer account If don’t already have one Read Assignment 1 Pickup support code CALTECH CS24 Spring DeHon

36 Big Ideas Valuable not to program physics directly
(most of the time…) Abstraction hierarchy From programming language to physics Valuable to abstract and share resources Need to Understand Hierarchy to make the most of machines to improve/re-invent CALTECH CS24 Spring DeHon

37 Questions CALTECH CS24 Spring DeHon


Download ppt "CS24: Introduction to Computer Systems"

Similar presentations


Ads by Google