Introduction to Computer Systems

Slides:



Advertisements
Similar presentations
Week 3. Assembly Language Programming  Difficult when starting assembly programming  Have to work at low level  Use processor instructions >Requires.
Advertisements

1 DATA ABSTRACTION: USER DEFINED TYPES AND THE CLASS.
CSCE 3121 Computer Organization Lecture 1. CSCE 3122 Course Overview Topics: –Theme –Five great realities of computer systems –Computer System Overview.
Binary Representation Introduction to Computer Science and Programming I Chris Schmidt.
Introduction to Computer Systems Topics: Theme Five great realities of computer systems How this fits within CS curriculum S ‘08 class01a.ppt
TCSS 371A Machine Organization. Getting Started Get acquainted (take pictures) Discuss purpose, scope, and expectations of the course Discuss personal.
TCSS 371A Machine Organization. Getting Started Get acquainted Review syllabus Understand purpose, scope, and expectations of the course Discuss personal.
12/6/2005Comp 120 Fall December 2 classes to go Lego Lab Assistant? Questions? CCR at end of class today.
Abstract Data Types (ADT)
1 Key Concepts:  Why C?  Life Cycle Of a C program,  What is a computer program?  A program statement?  Basic parts of a C program,  Printf() function?
Data Structures Introduction. What is data? (Latin) Plural of datum = something given.
TCSS 371A Machine Organization. Getting Started Get acquainted (take pictures) Discuss purpose, scope, and expectations of the course Discuss personal.
Introduction to Computer Systems Topics: Theme Five great realities of computer systems How this fits within CS curriculum CS 213 F ’03 class01a.ppt
Introduction to Computer Systems* Topics: Theme Five great realities of computer systems How this fits within CS curriculum F ’07 class01a.ppt
Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To understand the structure of a C-language program. ❏ To write your first C.
Introduction to Computer Systems Topics: Theme Five great realities of computer systems How this fits within CS curriculum F ’04 class01a.ppt
 2003 Prentice Hall, Inc. All rights reserved. 1 Introduction to C++ Programming Outline Introduction to C++ Programming A Simple Program: Printing a.
Introduction to Computer Systems Topics: Theme Four great realities of computer systems Chap 1 in “Computer Systems” book “The Class That Gives.
Intro to Computer Systems Summer 2014 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University.
1 Carnegie Mellon The course that gives CMU its “Zip”! Course Overview (18-213): Introduction to Computer Systems 1 st Lecture, Aug. 26, 2014 Instructors:
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Introduction to Computer Systems Topics: Theme Five great realities of computer systems (continued) “The class that bytes”
Introduction to Computer Systems Topics: Theme Five great realities of computer systems How this fits within CS curriculum F ’06 class01a.ppt
Computer Organization II Topics: Theme Five great realities of computer systems How this fits within CS curriculum CS 2733.
1 Bryant and O’Hallaron, Computer Systems: A Programmer’s Perspective, Third Edition Carnegie Mellon Overview Course theme Five realities How the course.
C is a high level language (HLL)
10/25/2005Comp 120 Fall October 25 Review for 2 nd Exam on Tuesday 27 October MUL not MULI Ask Questions!
1 Bryant and O’Hallaron, Computer Systems: A Programmer’s Perspective, Third Edition Carnegie Mellon Course Overview Introduction to Computer Systems 1.
23/07/2016CSE1303 Part B lecture notes 1 Introduction to computer systems Lecture B01 Lecture notes section B01.
1 Carnegie Mellon A Tour of Computer Systems Instructors: Sejin Park.
Topic: Binary Encoding – Part 2
INTRODUCTION TO PROBLEM SOLVING
Course Overview CSE 238/2038/2138: Systems Programming
Final exam: Wednesday, March 20, 2:30pm
Introduction to the C Language
Computer Programming Chapter 1: Introduction
Microprocessor Systems Design I
Lecture 16: Introduction to Data Types
Computer Systems & Programming (CS 367)
Course Overview CENG331 - Computer Organization
Microprocessor Systems Design I
Algorithms Problem: Write pseudocode for a program that keeps asking the user to input integers until the user enters zero, and then determines and outputs.
Introduction to C Topics Compilation Using the gcc Compiler
Number Systems.
COMP3221: Microprocessors and Embedded Systems
Assembly Language and Computer Organization
Introduction to the C Language
Introduction to Computer Systems
Chapter 11 Introduction to Programming in C
Introduction to CS Your First C Programs
Introduction to Abstract Data Types
פרטים נוספים בסילבוס של הקורס
Topic 3 Number Representations and Computer Arithmetics
Introduction to Computer Systems
Objective of This Course
Introduction to Computer Systems
Introduction to C Topics Compilation Using the gcc Compiler
Topic 3 Number Representations and Computer Arithmetics
Introduction C is a general-purpose, high-level language that was originally developed by Dennis M. Ritchie to develop the UNIX operating system at Bell.
Introduction to Computer Systems
Overview Course theme Five realities
Introduction to Computer Systems
Introduction to Computer Systems
Introduction to C Topics Compilation Using the gcc Compiler
Comp Org & Assembly Lang
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
Assistant Professor Rabia Koser Dept. of Computer Applications
Computer Science 210 Computer Organization
Presentation transcript:

Introduction to Computer Systems 15-213 “The Class That Gives CMU Its Zip!” And gives Ithaca?? Introduction to Computer Systems Topics: Theme Four great realities of computer systems Chap 1 in “Computer Systems” book

Course Theme Courses to date emphasize abstraction Abstraction is good, but don’t forget reality! Courses to date emphasize abstraction Abstract data types (e.g., Comp 220) Asymptotic analysis (e.g., Comp 311) These abstractions have limits Especially in the presence of bugs Need to understand underlying implementations Don’t believe what Ali says

Course Theme Useful outcomes Become more effective programmers Able to find and eliminate bugs efficiently Able to tune program performance Prepare for later “systems” classes Programing Languages, Operating Systems, Computer Networks, Complex Systems

The Changes in Computing

Great Reality #1 Information is Bits + Context Examples Source Program: #include <stdio.h> int main() { printf(“hello world\n”); } ASCII representation of the source program (text file): # i n c l u d e <sp> 105 110 99 108 117 100 101 32 < s t d i o . h > 115 116 100 105 111 46 104 62 Etc…. Actual representation on the disk:

Great Reality #1 Information is Bits + Context Examples Source Program: #include <stdio.h> int main() { printf(“hello world\n”); } ASCII representation of the source program (text file): # i n c l u d e <sp> 105 110 99 108 117 100 101 32 < s t d i o . h > 115 116 100 105 111 46 104 62 Etc…. Actual representation on the disk: 00100011 01101001 01100011 01101100 01110101 01100100 …

All information is represented as bits Including disk files, programs in memory, user data in memory, data transferred across the internet, … The only thing that distinguishes data objects is context Same bits may represent an integer, floating-point number, character string, or machine instruction.

Great Reality #1 cont. Int’s are not Integers, Float’s are not Reals Examples Is x2 ≥ 0? Float’s: Yes! Int’s: 40000 * 40000 --> 1600000000 50000 * 50000 --> ?? Is (x + y) + z = x + (y + z)? Unsigned & Signed Int’s: Yes! Float’s: (1e20 + -1e20) + 3.14 --> 3.1 1e20 + (-1e20 + 3.14) --> ?? see Student/comp210/examples/testInt.c see Student/comp210/examples/testFloat.c

Great Reality #1 cont. Int’s are not Integers, Float’s are not Reals Examples Is x2 ≥ 0? Float’s: Yes! Int’s: 40000 * 40000 --> 1600000000 50000 * 50000 --> ?? Is (x + y) + z = x + (y + z)? Unsigned & Signed Int’s: Yes! Float’s: (1e20 + -1e20) + 3.14 --> 3.1 1e20 + (-1e20 + 3.14) --> ?? see Student/comp210/examples/testInt.c -1794967296 0.0 see Student/comp210/examples/testFloat.c

Computer Arithmetic Does not generate random values Arithmetic operations have important mathematical properties Cannot assume “usual” properties Due to finiteness of representations Integer operations satisfy “ring” properties Commutativity, associativity, distributivity Floating point operations satisfy “ordering” properties Monotonicity, values of signs

Computer Arithmetic Observation Need to understand which abstractions apply in which contexts Important issues for compiler writers and serious application programmers