Introduction to Computer Engineering CS/ECE 252, Spring 2008 Prof. David A. Wood Computer Sciences Department University of Wisconsin – Madison Adapted.

Slides:



Advertisements
Similar presentations
Introduction to Computer Engineering ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin.
Advertisements

Assembly Language for x86 Processors 6 th Edition Chapter 1: Introduction to ASM (c) Pearson Education, All rights reserved. You may modify and copy.
Chapter 3 Digital Logic Structures
1-1 Welcome to: CSC225 Introduction to Computer Organization Paul Hatalsky.
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.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
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.
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify.
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.
CIS 260 Computer Programming I in C Prof. Timothy Arndt.
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.
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Building Functions.
บทนำสู่คอมพิวเตอร์. Outline Computer Concepts Computer Components Software OS How to write a program? Program development.
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.
Overview Introduction The Level of Abstraction Organization & Architecture Structure & Function Why study computer organization?
Assembly Language for x86 Processors 7th Edition
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.
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.
Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Roadmap Problems Algorithms.
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.
Alan Turing WWII code-breaker mathematical proof of ‘Turing machines’ …in particular, “Universal Turing machine” laid foundations of computer science father.
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Complete Example.
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.
COMPUTER SYSTEM The Introduction 1. Objectives To describe the meaning of computer system. To describe the structure and function of computer. To classify.
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Transistor: Building.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Complex Combinational Logic Blocks ECE/CS 252, Fall 2010 Prof.
Introduction to Computer Engineering ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin.
MARC ProgramEssential Computing for Bioinformatics 1 The Nature of Computing Prof. Bienvenido Velez ICOM 4995 Lecture 3.
1 Introduction to Turing Machines
CC311 Computer Architecture Chapter 1 Computer Abstraction & Technology.
CS150: Computer Organization and Architecture Michael D. Wilder, Ph.D.
MARC: Developing Bioinformatics Programs Alex Ropelewski PSC-NRBSC Bienvenido Vélez UPR Mayaguez Reference: How to Think Like a Computer Scientist: Learning.
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.
Yale N. Patt Sanjay J. Patel
Instructor:Po-Yu Kuo 教師:郭柏佑
Introduction to Computer Engineering
Instructor:Po-Yu Kuo 教師:郭柏佑
0. Problem solving in IT (COMP1001)
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Chapter 1 Welcome Abroad
Introduction to Computer Engineering
Ch. 11 Theory of Computation
Welcome Aboard 1.
Chapter 3: The CHURCH-Turing thesis
Instructor:Po-Yu Kuo 教師:郭柏佑
Introduction to Computer Engineering
Introduction to Computer Engineering
Welcome to: CSC225 Introduction to Computer Organization
P.V.G’s College of Engineering, Nashik
The Nature of Computing
Introduction to Computer Engineering
CS270 Computer Organization
Dr. Clincy Professor of CS
Presentation transcript:

Introduction to Computer Engineering CS/ECE 252, Spring 2008 Prof. David A. Wood Computer Sciences Department University of Wisconsin – Madison Adapted from Prof. Hill’s notes

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

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-3 Computer System: Layers of Abstraction Software Hardware Application Program Language Instruction Set Architecture (and I/O Interfaces) Microarchitecture Circuits Devices Algorithms Problem

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-4 Big Idea #1: Universal Computing Device All computers, given enough time and memory, are capable of computing exactly the same things. == PDA Workstation Supercomputer

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-5 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

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-6 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!

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-7 Turing Machine Example Goal: Find a sequence ‘111’ on the input tape. Input: Tape with sequence of 0s and 1s, terminated by a blank character  Output: Tape contains all 0s, except a single 1 indicating position of first sequence (if any). Tape Head (Read and Write the Tape) State: A  Current symbol Action Table Turing Machine

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-8 TM Example Action Table StateSymbolTapeNext State A  --Halt A0Print 0Move RightA A1Print 0Move RightB B  --Halt B0Print 0Move RightA B1Print 0Move RightC C  --Halt C0Print 0Move RightA C1Print 1Move RightD D  --Halt D0Print 0Move RightD D1Print 0Move RightD

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-9 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,...

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display 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 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

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display Deeper and Deeper… Instruction Set Architecture Instruction 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

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display Descriptions of Each Level Problem Statement stated using "natural language" may be ambiguous, imprecise Algorithm step-by-step procedure, guaranteed to finish, deterministic 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

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display 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

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display Many Choices at Each Level Solve a system of equations Gaussian elimination Jacobi iteration Red-black SORMultigrid FORTRANCC++Java Intel x86Sun SPARCCompaq Alpha Pentium IIPentium IIIAMD Athlon Ripple-carry adderCarry-lookahead adder CMOSBipolarGaAs Tradeoffs: cost performance power (etc.)

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display What’s Next Bits and Bytes 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?