Introduction to Computer Engineering

Slides:



Advertisements
Similar presentations
Chapter 1 An Overview of Computers and Programming Languages.
Advertisements

1-1 Welcome to: CSC225 Introduction to Computer Organization Paul Hatalsky.
Microprocessor and Microcontroller Based Systems Instructor: Eng.Moayed N. EL Mobaied The Islamic University of Gaza Faculty of Engineering Electrical.
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.
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.
1. By the end of this lecture you should be able … To describe in general terms how computers function To describe the fetch-execute cycle To explain.
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard,
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard, University.
Introduction to Computer Engineering ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Introduction to Computing Systems: From Bits and Gates.
CSE378 Gen. Intro1 Machine Organization and Assembly Language Programming Machine Organization –Hardware-centric view (in this class) –Not at the transistor.
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.
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
1 Computer Systems. 2 Introduction – What is a Computer? This course is all about how computers work What do computer and computer system mean to you?
1 College of Charleston, School of Science & Mathematics Dr. Anderson, Computer Science Department CS 250 Comp. Org. & Assembly CS 250 – Computer Organization.
Overview Introduction The Level of Abstraction Organization & Architecture Structure & Function Why study computer organization?
4-1 Chapter 4 - The Instruction Set Architecture Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Welcome to: CSC225 Introduction to Computer Organization.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
Computer Organization Intro 1 CEG 320/520: Computer Organization and Assembly Language Programming Introduction to Computer Organization.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Introduction to Computer Engineering ELEC S100F (Fall.
مبانی کامپیوتر و برنامه سازی محمودرضا هاشمی دانشکده برق و کامپيوتر دانشگاه تهران پاییز 84.
MARC: Developing Bioinformatics Programs July 2009 Alex Ropelewski PSC-NRBSC Bienvenido Vélez UPR Mayaguez Reference: How to Think Like a Computer Scientist:
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.
Introduction to Computer Engineering ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin.
Computer Engineering Rabie A. Ramadan Lecture 1. 2 Welcome Back.
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.
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Transistor: Building.
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.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
CC311 Computer Architecture Chapter 1 Computer Abstraction & Technology.
CS150: Computer Organization and Architecture Michael D. Wilder, Ph.D.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ read/write and clock inputs Sequence of control signal combinations.
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
Instructor:Po-Yu Kuo 教師:郭柏佑
Computer Organization and Machine Language Programming CPTG 245
Assembly Language (CSW 353)
Introduction to Computer Engineering
Instructor:Po-Yu Kuo 教師:郭柏佑
0. Problem solving in IT (COMP1001)
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Chapter 1 Welcome Abroad
Computer Architecture
Introduction to Computer Engineering
Computer Architecture and Organization Miles Murdocca and Vincent Heuring Chapter 4 – The Instruction Set Architecture.
Introduction to Microprocessors
Welcome Aboard 1.
EEL 4713/EEL 5764 Computer Architecture
T Computer Architecture, Autumn 2005
Chapter 1 Welcome Aboard!. Chapter 1 Welcome Aboard!
Instructor:Po-Yu Kuo 教師:郭柏佑
Introduction to Computer Engineering
COMS 361 Computer Organization
Welcome to: CSC225 Introduction to Computer Organization
The Nature of Computing
Computer Systems An Introducton.
Introduction to Computer Engineering
CS270 Computer Organization
Dr. Clincy Professor of CS
Presentation transcript:

Introduction to Computer Engineering CS/ECE 252, Fall 2016 Kai Zhao Computer Sciences Department University of Wisconsin – Madison

Pop Quiz, Material from Lecture 1 There are _ homeworks with _ dropped. Homeworks are worth __% of the total grade. There are _ exams with _ dropped. Exams are worth __% of the total grade. Define Moore’s Law Which of the following topic(s) does this course cover? Application programs Machine language Digital design Operating systems Computer architecture Electronic circuits Compilers

In-class Exercise; Lecture 1 Review There are _ homeworks with _ dropped. Homeworks are worth __% of the total grade. There are _ exams with _ dropped. Exams are worth __% of the total grade. Define Moore’s Law Which of the following topic(s) does this course cover? Application programs Machine language Digital design Operating systems Computer architecture Electronic circuits Compilers

Chapter 1 Welcome Aboard Slides based on set prepared by Gregory T. Byrd, North Carolina State University

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

Big Idea #1: Universal Computing Device All computers, given enough time and memory, are capable of computing exactly the same things. = = Eventually, they’re going to stop calling smartphones, smartphones. People will refer to them as phone. Phone Workstation Supercomputer

Turing Machine A device with 3 parts Tape of slots Read/write head State machine to decide what to write and where a tape consisting of slots in which numbers may be written a read/write head that can move along the tape reading the numbers written there or writing numbers onto the tape (or possibly overwriting numbers already written on the tape) a state machine by which it will decide what numbers to write and where on the tape to write them.

Tadd Tmul 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) Tadd a,b a+b Turing machine that adds Tmul a,b ab Turing machine that multiplies Turing predated computers; worked at Bletchley Park during WW2 More interested in the theory of computing: what was possible Turing award is given to the individual for best technical contributions to the computer science community. Since 2014, it is accompanied with $1 million prize pool.

Universal Turing Machine Turing’s thesis: 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 Tadd, Tmul 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!

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, ... Cryptography

Abstraction An interface is a description of the inputs and the expected outputs. When you order food online, you only need to know what you want, your address, and payment information. Then in about 30 minutes, they should deliver your order to you.

Abstraction An implementation is the actual mechanism that causes the user’s input to turned into corresponding outputs. When you order food online, you only need to know what you want, your address, and payment information. Then in about 30 minutes, they should deliver your order to you.

Big Idea #2: Transformations Between Layers How do we solve a problem using a computer? A systematic sequence of transformations between layers of abstraction. Problem Software Design: choose algorithms and data structures Algorithm Programming: use language to express design 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, no ambiguity high-level language, low-level language Instruction Set Architecture (ISA) specifies the set of instructions the computer can perform data types, addressing mode Program Compiling/Interpreting: convert language to machine instructions Instr Set Architecture

Descriptions of Each Level Problem Statement stated using "natural language" may be ambiguous, imprecise E.g. “Time flies like an arrow” Algorithm step-by-step procedure, guaranteed to finish definiteness, effective computability, finiteness Program express the algorithm using a computer language, no ambiguity high-level language, low-level language Instruction Set Architecture (ISA) specifies the set of instructions the computer can perform data types, addressing mode Time flies like an arrow could have 3 meanings One is noticing how fast time passes by pretty fast. One is at a track meet for insects. One is saying time flies (as opposed to fruitflies or dragonflies) are in love with an arrow. Definiteness describe the notion that each step is precisely stated. E.g. not “stir until lumpy” since lumpiness is not precise. Effective computability describe the notion that each step can be carried out by a computer. E.g. not “compute the largest prime number” since it doesn’t exist. Finiteness describe the notion that the procedure terminates. E.g. not some shampoo bottles that says, “rinse and repeat”. Programs can’t have ambiguity.

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

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

Many Choices at Each Level Solve a system of equations Gaussian elimination Jacobi iteration Red-black SOR Multigrid FORTRAN C C++ Java Intel x86 Sun SPARC Compaq Alpha Pentium II Pentium III AMD Athlon Ripple-carry adder Carry-lookahead adder CMOS Bipolar GaAs Tradeoffs: cost performance power (etc.) SOR = successive over-relaxation Methods to solve linear systems Sun and Java are trademarks of Sun Microsystems, Inc. SPARC is a trademark of SPARC International, Inc. Intel and Pentium are trademarks of Intel Corporation. Compaq and Alpha are trademarks or service marks of Compaq Computer Corporation. AMD and Athlon and trademarks of Advanced Micro Devices, Inc.

Adders Carry Look ahead Adder (CLA) Ripple Carry Adder http://i.imgur.com/YyXnqRv.gifv Sun and Java are trademarks of Sun Microsystems, Inc. SPARC is a trademark of SPARC International, Inc. Intel and Pentium are trademarks of Intel Corporation. Compaq and Alpha are trademarks or service marks of Compaq Computer Corporation. AMD and Athlon and trademarks of Advanced Micro Devices, Inc. Carry Look Ahead Adder 3 4 5 6 7 + 1 2 3 4 5 4__9____

What’s Next Bits and Bytes Digital Logic Processor and Instruction Set How do we represent information using electrical signals? Digital Logic How do we build circuits to process information? Processor and Instruction Set How do we build a processor out of logic elements? What operations (instructions) will we implement? Assembly Language Programming How do we use processor instructions to implement algorithms? How do we write modular, reusable code? (subroutines) I/O, Traps, and Interrupts How does processor communicate with outside world? Bits and Bytes – chapter 2 Digital Logic – chapter 3 Processor and Instruction Set – chapter 4-5 Assembly Language Programming – chapters 6-7 I/O, Traps, and Interrupts – chapters 8-9 We hope you enjoy the ride.