CSC 2400 Computer Systems I Lecture 3 Big Ideas. 2 Big Idea: Universal Computing Device All computers, given enough time and memory, are capable of computing.

Slides:



Advertisements
Similar presentations
ISO 9126: Software Quality Internal Quality: Maintainability
Advertisements

Introduction to Computer Programming Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
Chapter 1. Introduction This course is all about how computers work But what do we mean by a computer? –Different types: desktop, servers, embedded devices.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Introduction to Computing Systems: From Bits and Gates.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
CIS 314 : Computer Organization Lecture 1 – Introduction.
1 Patt and Patel Ch. 1 Abstraction and Computer Systems.
1 Computer Systems Hardware, Software and Layers of Abstraction.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Introduction to Computer Engineering ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin.
Computers Central Processor Unit. Basic Computer System MAIN MEMORY ALUCNTL..... BUS CONTROLLER Processor I/O moduleInterconnections BUS Memory.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Introduction to Computing Systems: From Bits and Gates.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Chapter 01 Nell Dale & John Lewis.
Instructor : Po-Yu Kuo 教師:郭柏佑 Ch. 1 Introduction EL 1009 計算機概論 ( 電子一 A) Introduction to Computer Science.
Welcome Aboard – Chapter 1 COMP 2610 Dr. James Money COMP
1 Layers of Computer Science, ISA and uArch Alexander Titov 20 September 2014.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
CCSE251 Introduction to Computer Organization
BYU CS/ECEn 124Chapter 01 - Abstraction1 CS/ECEn 124 – Computer Systems Winter 2010 Section 001, MWF 1:00 – 1:50 pm Section 002, MWF 2:00 – 2:50 pm Help.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
Famous Firsts in Computation MSE 2400 Evolution & Learning
Chapter 1 The Big Picture.
Computer Organization Intro 1 CEG 320/520: Computer Organization and Assembly Language Programming Introduction to Computer Organization.
Computer system overview1 The Effects of Computers Pervasive in all professions How have computers affected my life? How have computers affected my life?
EET 4250: Chapter 1 Computer Abstractions and Technology Acknowledgements: Some slides and lecture notes for this course adapted from Prof. Mary Jane Irwin.
Lecture 1: Performance EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2013, Dr. Rozier.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Introduction to Computer Engineering ELEC S100F (Fall.
مبانی کامپیوتر و برنامه سازی محمودرضا هاشمی دانشکده برق و کامپيوتر دانشگاه تهران پاییز 84.
Computer Organization and Design Computer Abstractions and Technology
Spring 2006ICOM 4036 Programming Laguages Lecture 2 1 The Nature of Computing Prof. Bienvenido Velez ICOM 4036 Lecture 2.
Computer Engineering Rabie A. Ramadan Lecture 1. 2 Welcome Back.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.
The Nature of Computing INEL 4206 – Microprocessors Lecture 2 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.
PART 1 Introduction 1. Layers of Abstraction 2. Turing Machine 3. Layer Transformation 4. Descriptions of Layers.
Computer Science 101 Theory of Computing. Computer Science is... The study of algorithms, with respect to –their formal properties –their linguistic realizations.
The Instruction Set Architecture. Hardware – Software boundary Java Program C Program Ada Program Compiler Instruction Set Architecture Microcode Hardware.
Von Neumann Computers Article Authors: Rudolf Eigenman & David Lilja
Introduction to Computer Engineering CS/ECE 252, Spring 2008 Prof. David A. Wood Computer Sciences Department University of Wisconsin – Madison Adapted.
MARC ProgramEssential Computing for Bioinformatics 1 The Nature of Computing Prof. Bienvenido Velez ICOM 4995 Lecture 3.
CS 101 INTRODUCTION TO COMPUTING * image from The Central Eglinton Community Centre website.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
CC311 Computer Architecture Chapter 1 Computer Abstraction & Technology.
Computer Organization IS F242. Course Objective It aims at understanding and appreciating the computing system’s functional components, their characteristics,
CS150: Computer Organization and Architecture Michael D. Wilder, Ph.D.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
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
Yale N. Patt Sanjay J. Patel
CSC235 Computer Organization & Assembly Language
Instructor:Po-Yu Kuo 教師:郭柏佑
Introduction to Computer Engineering
Instructor:Po-Yu Kuo 教師:郭柏佑
0. Problem solving in IT (COMP1001)
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Introduction to Computer Engineering
Welcome Aboard 1.
T Computer Architecture, Autumn 2005
Instructor:Po-Yu Kuo 教師:郭柏佑
Introduction to Computer Engineering
Introduction to Computer Engineering
Introduction to Computer Programming
COMS 361 Computer Organization
The Nature of Computing
Introduction to Computer Engineering
CSCI-100 Introduction to Computing
Presentation transcript:

CSC 2400 Computer Systems I Lecture 3 Big Ideas

2 Big Idea: Universal Computing Device All computers, given enough time and memory, are capable of computing exactly the same things. == PDA Workstation Supercomputer

Charles Babbage 1791 – 1871 English mathematician, philosopher, inventor and mechanical engineer “Father of the Computer” Invented first mechanical computer 3

Babbage’s Difference Engine 4

Ada Lovelace 1815 – 1852 English mathematician and writer First computer programmer, worked on Difference Engine Daughter of poet Lord Byron 5

Alan Turing 1912 – 1954 British mathematician, logician, cryptanalyst, and computer scientist “Father of Computer Science and Artificial Intelligence” Cracked the Enigma 6

Enigma machine Electro-mechanical rotor cipher machine Encrypt & decrypt secret messages Select a combination of letters as a code Type each letter of msg Write down each coded letter 7

8 Turing Machine Mathematical model of a device that can perform any computation – Alan Turing (1937) ability to read/write symbols on an infinite “tape” state transitions, based on current state and symbol Every computation can be performed by some Turing machine. (Turing’s thesis) T add a,ba+b Turing machine that adds T mul a,bab Turing machine that multiplies

9 Universal Turing Machine Turing described a Turing machine that could implement all other Turing machines. inputs: data, plus a description of computation (Turing machine) U a,b,c c(a+b) Universal Turing Machine T add, T mul U is programmable – so is a computer! instructions are part of the input data a computer can emulate a Universal Turing Machine, and vice versa Therefore, a computer is a universal computing device!

10 From Theory to Practice In theory, computer can compute anything that’s possible to compute given enough memory and time In practice, solving problems involves computing under constraints. time  weather forecast, next frame of animation,... cost  cell phone, automotive engine controller,... power  cell phone, handheld video game,...

11 Computer System: Layers of Abstraction Software Hardware Application Program Language Instruction Set Architecture (and I/O Interfaces) Microarchitecture Circuits Devices Algorithms

12 Big Idea: Transformations Between Layers How do we solve a problem using a computer? A systematic sequence of transformations between layers of abstraction. Problem Algorithm Program Software Design: choose algorithms and data structures Programming: use language to express design Instr Set Architecture Instr Set Architecture Compiling/Interpreting: convert language to machine instructions

13 Deeper and Deeper… Instr Set Architecture Instr Set Architecture Microarch Circuits Processor Design: choose structures to implement ISA Logic/Circuit Design: gates and low-level circuits to implement components Devices Process Engineering & Fabrication: develop and manufacture lowest-level components

14 Descriptions of Each Level Problem Statement stated using "natural language" may be ambiguous, imprecise Algorithm step-by-step procedure, guaranteed to finish definiteness, effective computability, finiteness Program express the algorithm using a computer language high-level language, low-level language Instruction Set Architecture (ISA) specifies the set of instructions the computer can perform data types, addressing mode

15 Descriptions of Each Level (cont.) Microarchitecture detailed organization of a processor implementation different implementations of a single ISA Logic Circuits combine basic operations to realize microarchitecture many different ways to implement a single function (e.g., addition) Devices properties of materials, manufacturability

16 What is a Compiler? A compiler is a program Its input is the text of a program in a particular language, say C The compiler translates the C code into the instruction set understood by the computer The translation is not a line by line transliteration. Optimization.

17 Simple Example From a program we write: sum = x + y + z; How it might look using ISA-defined machine instructions: ADD t1, x, y ADD t2, t1, z MOV sum, t2

18 What is the ISA? ISA = Instruction Set Architecture List of all instructions, or operations, the computer can do Instruction: type of instruction, 0 or more operands Instruction format: What do the instructions look like? Example instruction: ADD 4 2 Types of instructions: ADD, MULT, LOAD, STORE Types of operands: the data types, addressing modes

19 Levels of computer language User: applications (Word, Excel, Netscape, etc.) High-level: Java, C++, C (sort of medium-level) Low-level: Assembly language (human- readable machine language) ISA: instruction set, addressing modes of a specific line of computers Microarchitecture: bit settings that activate specific data flows Hardware: understands voltages Machine Independent Machine Dependent

Moore's Law (1967) Noted that the number of transistors per unit area had doubled every year from 1958 to 1965 Expected the trend to last “for at least ten years” Gordon Moore Co-founder of Intel Often misquoted as “the speed will double every 18 months” Often misquoted as “the speed will double every 18 months”

Number of Transistors over Time 10 GHz 1 GHz 100 MHz 10 MHz 1 MHz

Processor vs. Memory Speed over Time 10 GHz 1 GHz 100 MHz 10 MHz 1 MHz

What’s the State-of-the-Art? Fastest commercially available CPU: ~5GHz Fastest experimental CPU: 500Ghz – Need to cool it down to 4°K, though Fastest theoretical transistor: 1THz

The End of Moore’s Law? Production limitations Physical limitations Bottleneck issues Market issues

1940s Electromagnetic Relays pre-1940s Mechanical 1950s Vacuum Tubes 1960s Transistors since 1970s Integrated Circuits Quantum Computers? The Future