CS24: Introduction to Computer Systems

Slides:



Advertisements
Similar presentations
CEG3420 L1 Intro.1 Copyright (C) 1998 UCB CEG3420 Computer Design Lecture 1 Philip Leong.
Advertisements

Spring 2008, Jan. 14 ELEC / Lecture 2 1 ELEC / Computer Architecture and Design Spring 2007 Introduction Vishwani D. Agrawal.
CS61C L20 Introduction to Synchronous Digital Systems (1) Garcia © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c.
CSCE 312 Computer Organization Lecture 0: Course Administration EJ Kim Department of Computer Science and Engineering 338B Bright
ECE200 – Computer Organization Course Introduction.
OS Spring’04 Introduction Operating Systems Spring 2004.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/ ECE265.
COMP 321: Introduction to Computer Systems Scott Rixner Alan L. Cox
Intro to CS – Honors I Introduction GEORGIOS PORTOKALIDIS
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
CS 0004 –Lecture 1 Wednesday, Jan 5 th, 2011 Roxana Gheorghiu.
Winter 2015 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University Introduction and Overview.
Fall 2015, Aug 17 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Fall 2015 Introduction Vishwani D. Agrawal.
1 CPRE210: Introduction to Digital Design Instructor –Arun K. Somani –Tel: – –Office Hours: MWF 10:00-11:00 Teaching Assistant.
EE210 Digital Electronics Introductory Class January 26, 2009.
Introduction Fall 2001 Foundations of Computer Systems Prerequisite:91.166* or * Section A Instructor: Dr. David Hutchinson Office:
EEL 4713/EEL 5764 Computer Architecture Spring Semester 2004 Instructor: Dr. Shonda Walker Required Textbook: Computer Organization & Design, by Patterson.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
Spring 2016, Jan 13 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Spring 2016 Introduction Vishwani D. Agrawal.
CALTECH CS24 Spring DeHon CS24: Introduction to Computer Systems Day 1: March 29, 2004 Introduction and Overview.
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
CS150: Computer Organization and Architecture Michael D. Wilder, Ph.D.
CS4100: 計算機結構 Course Outline 國立清華大學資訊工程學系 九十九年度第二學期.
Introduction CSE 410, Spring 2005 Computer Systems
Chapter 1 Welcome Aboard. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-2 Introduction to the World of.
Introduction to CSCI 1311 Dr. Mark C. Lewis
Computer Organization and Architecture Lecture 1 : Introduction
CSC235 Computer Organization & Assembly Language
ECE2030 Introduction to Computer Engineering Lecture 1: Overview
Welcome to CSE 502 Introduction.
CS 450/550 Operating Systems Loc & Time: MW 1:40pm-4:20pm, 101 ENG
ENCM 369 Computer Organization
ECE 3056: Architecture, Concurrency and Energy in Computation
CSCI 161: Introduction to Programming Course Introduction
Final exam: Wednesday, March 20, 2:30pm
Computer Networks CNT5106C
IT253: Computer Organization
CS 310: Computer Organization and Programming
CSE 3322 Computer Architecture
Microprocessor Systems Design I
CSE 410, Spring 2006 Computer Systems
CS 854: Advanced Topics in Operating Systems
Microprocessor Systems Design I
Computer Architecture
CS123 Engineering Computation Lab Lab 4
CSE 410: Computer Systems Instructor: David Ely
Programming COMP104: Fundamentals and Methodology Introduction.
Operating Systems and Systems Programming
EEL 4713/EEL 5764 Computer Architecture
CDA 3100 Spring 2009.
T Computer Architecture, Autumn 2005
Principles of Programming Languages
Principles of Programming Languages
CSCE 313 – Introduction to UNIx process
Embedded System Development Lecture 13 4/11/2007
ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/ ECE265.
Course Overview CS 4640 Programming Languages for Web Applications
Welcome to: CSC225 Introduction to Computer Organization
Welcome to CSE 502 Introduction.
Principles of Imperative Computation
Computer Networks CNT5106C
CSE 153 Design of Operating Systems Winter 2019
Dept. of Computer & Information Sciences (Course Introduction)
Professor: Shereen Khoja
ELEC / Computer Architecture and Design Fall 2014 Introduction
Software comes from heaven when you have good hardware. Ken Olsen
CS161 – Design and Architecture of Computer Systems
Computer Science 210 Computer Organization
Presentation transcript:

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

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

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 2004 -- DeHon

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

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 2004 -- DeHon

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 2004 -- DeHon

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

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 2004 -- DeHon

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 2004 -- DeHon

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 2004 -- DeHon

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 2004 -- DeHon

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 2004 -- DeHon

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 2004 -- DeHon

Back to What CALTECH CS24 Spring 2004 -- DeHon

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 2004 -- DeHon

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

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

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 2004 -- DeHon

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 2004 -- DeHon

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

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

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 2004 -- DeHon

What’s in here? CALTECH CS24 Spring 2004 -- DeHon

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 2004 -- DeHon

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 2004 -- DeHon

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 2004 -- DeHon

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 2004 -- DeHon

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 2004 -- DeHon

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

How CALTECH CS24 Spring 2004 -- DeHon

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 2004 -- DeHon

Resources Course Web Page Administrative handout Mailing Lists Forum <http://www.cs.caltech.edu/courses/cs24/> Administrative handout Give you all of these details Mailing Lists Forum Computer Accounts CALTECH CS24 Spring 2004 -- DeHon

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 2004 -- DeHon

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 2004 -- DeHon

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 2004 -- DeHon

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 2004 -- DeHon

Questions CALTECH CS24 Spring 2004 -- DeHon