Introduction to Computer Engineering. CS/ECE 252, Spring 2017 Rahul Nayar Computer Sciences Department University of Wisconsin Madison

Similar documents
Chapter 1 Welcome Aboard

Chapter 1 Welcome Aboard

Introduction to Computing Systems: From Bits and Gates to C and Beyond 2 nd Edition

CMPSCI 201: Architecture and Assembly Language

CS270 Computer Organization Fall 2017

Computer Organization + DIGITAL DESIGN

Computer Architecture Today (I)

Introduction to Computing Systems: From Bits and Gates to C and Beyond 2 nd Edition

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

Advanced Computer Architecture

Computer Architecture = CS/ECE 552: Introduction to Computer Architecture. 552 In Context. Why Study Computer Architecture?

CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON. Instructor: Rahul Nayar TAs: Annie Lin, Mohit Verma

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Computing Layers

Forecast. Instructions (354 Review) Basics. Basics. Instruction set architecture (ISA) is its vocabulary. Instructions are the words of a computer

Figure 1-1. A multilevel machine.

CS/ECE 252 Introduction to Computer Engineering

Calendar Description

High Performance Computing

Math 230 Assembly Programming (AKA Computer Organization) Spring MIPS Intro

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Review Topics. parameter passing, memory model)

CS Computer Architecture

CSCI 402: Computer Architectures. Instructions: Language of the Computer (1) Fengguang Song Department of Computer & Information Science IUPUI

Computer Architecture

EECS 452 Advanced Computer Architecture - I

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Outline. What Makes a Good ISA? Programmability. Implementability

EITF20: Computer Architecture Part2.1.1: Instruction Set Architecture

EE 3170 Microcontroller Applications

CS 3410: Computer System Organization and Programming

EECE 321: Computer Organization

URL: Offered by: Should already know: Will learn: 01 1 EE 4720 Computer Architecture

CO403 Advanced Microprocessors IS860 - High Performance Computing for Security. Basavaraj Talawar,

URL: Offered by: Should already know: Will learn: 01 1 EE 4720 Computer Architecture

ECE 2162 Intro & Trends. Jun Yang Fall 2009

CISC 4090 Theory of Computation

EITF20: Computer Architecture Part2.1.1: Instruction Set Architecture

Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 1: Basic Concepts. Chapter Overview. Welcome to Assembly Language

Terminology & Basic Concepts

Introduction. Summary. Why computer architecture? Technology trends Cost issues

CS101 Lecture 29: Brief History of Computing

Instructor Information

Course web site: teaching/courses/car. Piazza discussion forum:

Review Topics. Midterm Exam Review Slides

EE382 Processor Design. Class Objectives

Review Topics. Midterm Exam Review Slides


Outline. What Makes a Good ISA? Programmability. Implementability. Programmability Easy to express programs efficiently?

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 1: Basic Concepts

COMP3221: Microprocessors and. and Embedded Systems. Instruction Set Architecture (ISA) What makes an ISA? #1: Memory Models. What makes an ISA?

Describe the layers of a computer system

Chapter 5:: Target Machine Architecture (cont.)

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

CS758: Multicore Programming

CS Computer Architecture Spring Lecture 01: Introduction

Theory of Computations Spring 2016 Practice Final Exam Solutions

An overview of virtual machine architecture

Computer Systems. Computer Systems. Wolfgang Schreiner Research Institute for Symbolic Computation (RISC-Linz) Johannes Kepler University

CISC / RISC. Complex / Reduced Instruction Set Computers

What is Computer Architecture?

EE3032 Introduction to VLSI Design

ECE/CS 552: Introduction To Computer Architecture 1. Instructor:Mikko H. Lipasti. University of Wisconsin-Madison. Basics Registers and ALU ops

Why Don t Computers Use Base 10? Lecture 2 Bits and Bytes. Binary Representations. Byte-Oriented Memory Organization. Base 10 Number Representation

Lecture 1: Introduction to Digital Logic Design

14:332:331. Lecture 1

Computer Architecture Lecture 12: Out-of-Order Execution (Dynamic Instruction Scheduling)

Microprocessors, Lecture 1: Introduction to Microprocessors

Computer Architecture. Introduction. Lynn Choi Korea University

The LC3's micro-coded controller ("useq") is nothing more than a finite-state machine (FSM). It has these inputs:

Recitation Session 6

Computer Architecture. Fall Dongkun Shin, SKKU

Lecture Topics. Principle #1: Exploit Parallelism ECE 486/586. Computer Architecture. Lecture # 5. Key Principles of Computer Architecture

Signature: 1. (10 points) Basic Microcontroller Concepts

Instruction Set Architecture

Wisconsin Computer Architecture. Nam Sung Kim

Computer Architecture!

CISC, RISC and post-risc architectures

Design of Embedded DSP Processors

Computer Science and Programming. CPS 06 Program Design and Methodology I. What is Computer Science? Computer Science

Computer Architecture

Contemporary Multilevel Machines

CSCE 5610: Computer Architecture

DC57 COMPUTER ORGANIZATION JUNE 2013

B649 Graduate Computer Architecture. Lec 1 - Introduction

Transistor: Digital Building Blocks

Lecture 5: The Halting Problem. Michael Beeson

Embedded Computing Platform. Architecture and Instruction Set

ECE 152A LABORATORY 2

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016

COMS 1003 Fall Introduction to Computer Programming in C. History & Computer Organization. September 15 th

CS 352H Computer Systems Architecture Exam #1 - Prof. Keckler October 11, 2007

pp Variants of Turing Machines (Sec. 3.2)

The Art of Parallel Processing

CSE 533: Advanced Computer Architectures Instructor: Gürhan Küçük. Instructions. Instructions cont d. Forecast. Basics. Basics

EITF20: Computer Architecture Part1.1.1: Introduction

Where We Are in This Course Right Now. ECE 152 Introduction to Computer Architecture. This Unit: Caches and Memory Hierarchies.

CSE/EE 322: Computer Architecture II Spring The JAM machine Series

Chapter Overview. Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 1: Basic Concepts. Printing this Slide Show

CPE300: Digital System Architecture and Design

CS/ECE/752 Chapter 2 Instruction Sets Instructor: Prof. Wood

Transcription:

Introduction to Computer Engineering CS/ECE 252, Spring 2017 Rahul Nayar Computer Sciences Department University of Wisconsin Madison

If Still on Waitlist your name your student ID number your major(s); your year (fresh, sr, jr, soph) mail advising@cs.wisc.edu HW 1 is due on WED no extension Post all questions in Piazza Read Chapters before Class 1-2

1-3

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

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

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

1-7

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) a,b T add a+b a,b T mul ab Turing machine that adds Turing machine that multiplies 1-8

Universal Turing Machine Turing described a Turing machine that could implement all other Turing machines. inputs: data, plus a description of computation (Turing machine) T add, T mul a,b,c U c(a+b) Universal Turing Machine 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! 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 cost weather forecast, next frame of animation,... cell phone, automotive engine controller,... power cell phone, handheld video game,... 1-10

Go to the link Is calculator a computer? Are computers predictable? What factors do you need to make the computer predictable? Is Turing Machine is computer? 1-11

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 Instr Set Architecture Software Design: choose algorithms and data structures Programming: use language to express design Compiling/Interpreting: convert language to machine instructions 1-12

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

Go to the link Can we do away with any/multiple instruction layer? Does you want to continue this form of class interaction in future classes? 1-14

Iron Law Time Processor Performance = --------------- Program Instructions Cycles = X X Program Instruction (code size) (CPI) Time Cycle (cycle time) Architecture --> Implementation --> Realization Compiler Designer Processor Designer Chip Designer 1-15 Mikko Lipasti -- University of Wisconsin 15

Who used this Phrase? the attributes of a [computing] system as seen by the programmer. I.e. the conceptual structure and functional behavior, as distinct from the organization of the data flows and controls, the logic design, and the physical implementation. 1-16

1-17

Go to the link Does you want to continue this form of class interaction in future classes? 1-18

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 1-19

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 1-20

Many Choices at Each Level Solve a system of equations Red-black SOR Gaussian elimination Jacobi iteration Multigrid FORTRAN C C++ Java Sun SPARC Intel x86 Compaq Alpha Pentium II Pentium III AMD Athlon Tradeoffs: cost performance power (etc.) Ripple-carry adder Carry-lookahead adder CMOS Bipolar GaAs 1-21

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? 1-22