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

Slides:



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

EKT 222/4 Microprocessor Systems SUBJECT INTRODUCTION.
1-1 Welcome to: CSC225 Introduction to Computer Organization Paul Hatalsky.
Fall 2001CS 4471 CS 447: Fall 2001 Chapter 1: Computer Abstraction and Technology (Introduction to the course)
Spring 2008, Jan. 14 ELEC / Lecture 2 1 ELEC / Computer Architecture and Design Spring 2007 Introduction Vishwani D. Agrawal.
Operating Systems CS451 Brian Bershad
CS150 Introduction to Computer Science 1 Professor: Chadd Williams.
OS Spring’03 Introduction Operating Systems Spring 2003.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Introduction to Computing Systems: From Bits and Gates.
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
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
CS 101 Problem Solving and Structured Programming in C Sami Rollins Spring 2003.
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.
ECE2030 Introduction to Computer Engineering Lecture 1: Overview
8/5/2015\course\cpeg323-08F\Topic1.ppt1 Topic I Introduction to Computer Architecture and Organization.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#1) By Dr. Syed Noman.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Introduction to Computing Systems: From Bits and Gates.
COP4020/CGS5426 Programming languages Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website:
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
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005, Introduction: Hello, World Below slide 1www.idc.ac.il/tecs Introduction:
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.
Data Structures and Programming.  Today:  Administrivia  Introduction to 225, Stacks  Course website: 
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
Fall 2015, Aug 17 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Fall 2015 Introduction Vishwani D. Agrawal.
CS/ECE 3330 Computer Architecture Kim Hazelwood Fall 2009.
Introduction to Computers and Programming 1. History of computers (4 slides) 2. What is a computer system? 3. What is a software? 4. What is programming?
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Introduction to Computer Engineering ELEC S100F (Fall.
CSC 171 – FALL 2001 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
(1) ECE 3056: Architecture, Concurrency and Energy in Computation Lecture Notes by MKP and Sudhakar Yalamanchili Sudhakar Yalamanchili (Some small modifications.
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.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 1: September 8, 2010 Introduction and.
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.
Computer organization Practical 1. Administrative Issues The course requirements are: –To be nice and open minded –To pass the exam (there is a boolean.
CSCI 330 UNIX and Network Programming Unit I Introduction.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Spring 2016, Jan 13 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Spring 2016 Introduction Vishwani D. Agrawal.
1 CS/ECE 354 Fall 2013 “New, and improved!”. 2 Karen Miller Phone: CS.
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
Principles of Imperative Computation Lecture 1 January 15 th, 2012.
CS150: Computer Organization and Architecture Michael D. Wilder, Ph.D.
OPERATING SYSTEMS DO YOU REQUIRE AN OPERATING SYSTEM IN YOUR SYSTEM?
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
CS4100: 計算機結構 Course Outline 國立清華大學資訊工程學系 九十九年度第二學期.
Chapter 1 Welcome Aboard. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-2 Introduction to the World of.
Computer Organization and Architecture Lecture 1 : Introduction
ECE2030 Introduction to Computer Engineering Lecture 1: Overview
Final exam: Wednesday, March 20, 2:30pm
CSE 3322 Computer Architecture
CS24: Introduction to Computer Systems
Microprocessor Systems Design I
Microprocessor Systems Design I
EEL 4713/EEL 5764 Computer Architecture
CDA 3100 Spring 2009.
T Computer Architecture, Autumn 2005
ECE 265 Introduction to Microcontroller Based Systems (A first course in computer architecture) 9/28/ ECE265.
CSE 153 Design of Operating Systems Winter 2019
Dept. of Computer & Information Sciences (Course Introduction)
ELEC / Computer Architecture and Design Fall 2014 Introduction
Presentation transcript:

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

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

CALTECH CS24 Spring 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 DeHon What What lies between the –Programming Language –Physics Abstraction Stack

CALTECH CS24 Spring 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 DeHon Who? Two Instructors –Jason Hickey 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 Who? TAs: –Michael Wrighton –Cristian Tapus

CALTECH CS24 Spring 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 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 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 DeHon Why? (Future) This will all break down in the next 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 Why? (Future) This will all break down in the next 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 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 Back to What

CALTECH CS24 Spring DeHon Physics Ultimately, we can build machines which compute because the physical world computes –  F=0,F=ma, F=-kx, … –  I=0,V=IR,  V=(I  T)/C, I d =I s (e [qv/kt] -1)

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

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

CALTECH CS24 Spring 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 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 DeHon Programmable Logic Likewise, we can build collections of gates which will perform any function

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

CALTECH CS24 Spring 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 DeHon What’s in here?

CALTECH CS24 Spring DeHon Raw Machine Even this is pretty raw –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 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 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 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 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 What What lies between the –Programming Language –Physics Abstraction Stack

CALTECH CS24 Spring DeHon How

CALTECH CS24 Spring DeHon Course Components Text (CS:APP) Lectures Recitations –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 Resources Course Web Page Administrative handout –Give you all of these details Mailing Lists Forum Computer Accounts

CALTECH CS24 Spring DeHon Pragmatics Programming in C and Assembly –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 Feedback Sheets Please fill one out each class –anonymous New course –Need to understand what works –So can improve for future lectures –So can improve for future years

CALTECH CS24 Spring 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 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 DeHon Questions