CPE300: Digital System Architecture and Design. Fall 2011 MW 17:30-18:45 CBC C316

Similar documents
CPE300: Digital System Architecture and Design

Chapter 1: General Purpose Machine

CS430 - Computer Architecture William J. Taffe Fall 2002 using slides from. CS61C - Machine Structures Dave Patterson Fall 2000

Chapter 1: The General Purpose Machine

CS61C Machine Structures. Lecture 1 Introduction. 8/27/2006 John Wawrzynek (Warzneck)

Menu. Class 1: Introduction. Staff. Course Structure and Expectations. Contacting Us. Contacting You

ELEC 5200/6200. Computer Architecture & Design. Victor P. Nelson Broun 326

CpE 442 Introduction To Computer Architecture Lecture 1

ECE 15B COMPUTER ORGANIZATION

Page 1. Chapter 1: The General Purpose Machine. Looking Ahead Chapter 5 Important advanced topics in CPU design

CS3350B Computer Architecture. Introduction

ECE 154A. Architecture. Dmitri Strukov

Review: What is a Computer?

CPS104 Computer Organization Lecture 1. CPS104: Computer Organization. Meat of the Course. Robert Wagner

CS61C Machine Structures. Lecture 1 Introduction. 8/25/2003 Brian Harvey. John Wawrzynek (Warznek) www-inst.eecs.berkeley.

CPS104 Computer Organization Lecture 1

CISC 360. Computer Architecture. Seth Morecraft Course Web Site:

ECE 468 Computer Architecture and Organization Lecture 1

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. 5 th. Edition. Chapter 1. Computer Abstractions and Technology

Computer Architecture s Changing Definition

CS 61C: Great Ideas in Computer Architecture Intro to Assembly Language, MIPS Intro

EECE 321: Computer Organization

Computer Architecture Computer Architecture. Computer Architecture. What is Computer Architecture? Grading

Computer Architecture

CpE 442 Introduction to Computer Architecture. The Role of Performance

CSE Introduction to Computer Architecture. Jeff Brown

CS 61C: Great Ideas in Computer Architecture Introduction to Assembly Language and RISC-V Instruction Set Architecture

CS3350B Computer Architecture Winter 2015

CS 61C: Great Ideas in Computer Architecture Control and Pipelining

CS64 Computer Organization

מבנה מחשבים Amar Lior Based on lectures notes from Arie Schlesinger

CPE300: Digital System Architecture and Design

Handouts. (CSC-3501) Lecture 1 (15 Jan 2008) Seung-Jong Park (Jay) Class information. Schedule (check online frequently)

What is Computer Architecture? CSE Introduction to Computer Architecture. Why do I care? Which is faster? Allan Snavely

Intro to Math 230 Assembly Language Programming. Lecture # 01 01/15/08

CS61C C/Assembler Operators and Operands Lecture 2 January 22, 1999 Dave Patterson (http.cs.berkeley.edu/~patterson)

Chapter 1. Computer Abstractions and Technology

CS 61C: Great Ideas in Computer Architecture Intro to Assembly Language, MIPS Intro

ECE232: Hardware Organization and Design

Chapter 1 Introduction. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

CSE Introduction to Computer Architecture

14:332:331. Lecture 1

CSE : Introduction to Computer Architecture

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 1. Computer Abstractions and Technology

Computers in Engineering COMP 208. Computer Structure. Computer Architecture. Computer Structure Michael A. Hawker

ECE232: Hardware Organization and Design

Computer Architecture. Fall Dongkun Shin, SKKU

Topics/Assignments. Class 10: Big Picture. What s Coming Next? Perspectives. So Far Mostly Programmer Perspective. Where are We? Where are We Going?

CS 110 Computer Architecture Single-Cycle CPU Datapath & Control

Chapter 1. EE380, Fall Hank Dietz.

Computer Technology & Abstraction

Computer Architecture

COMPUTER ARCHITECTURE AND OPERATING SYSTEMS (CS31702)

CS/COE1541: Introduction to Computer Architecture

9/9/12. New- School Machine Structures (It s a bit more complicated!) CS 61C: Great Ideas in Computer Architecture IntroducMon to Machine Language

UC Berkeley CS61C : Machine Structures

COMPUTER ORGANIZATION (CSE 2021)

Processor Design. Introduction, part I

COMPUTER ORGANIZATION (CSE 2021)

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

Overview of Computer Organization. Outline

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

CS 2630 Computer Organization. Meeting 4: Intro to Architecture (specifically, MIPS) Brandon Myers University of Iowa

CS61C : Machine Structures

ECE 15B Computer Organization Spring 2011

Truth Table! Review! Use this table and techniques we learned to transform from 1 to another! ! Gate Diagram! Today!

CS 61C: Great Ideas in Computer Architecture Introduction to Assembly Language and MIPS Instruction Set Architecture

CS 3410 Computer System Organization and Programming

CS Computer Architecture

CS 3410 Computer System Organization and Programming

Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from David Culler, UC Berkeley CS252, Spr 2002

Review: Performance Latency vs. Throughput. Time (seconds/program) is performance measure Instructions Clock cycles Seconds.

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

UC Berkeley CS61C : Machine Structures

Computer Organization + DIGITAL DESIGN

CS61C : Machine Structures

Instructor: Randy H. Katz hap://inst.eecs.berkeley.edu/~cs61c/fa13. Fall Lecture #7. Warehouse Scale Computer

Instructors: Randy H. Katz David A. PaHerson hhp://inst.eecs.berkeley.edu/~cs61c/fa10. Fall Lecture #1. Agenda

CS61C : Machine Structures

Computer Systems Design and Architecture

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015

EEC170 Computer Architecture. Lecture 1: Introduction to Computer Architecture

CS Computer Architecture Spring Lecture 01: Introduction

Overview of Computer Organization. Chapter 1 S. Dandamudi

CS 110 Computer Architecture Lecture 5: Intro to Assembly Language, MIPS Intro

EITF20: Computer Architecture Part2.1.1: Instruction Set Architecture

CS 61C: Great Ideas in Computer Architecture (Machine Structures) Caches Part 3

Stack. Heap. Static. Code

Chapter 4. The Processor

Course Outline. Overview 1. I. Introduction II. Performance Evaluation III. Processor Design and Analysis. IV. Memory Design and Analysis

Computer Organization

16.1. Unit 16. Computer Organization Design of a Simple Processor

EITF20: Computer Architecture Part2.2.1: Pipeline-1

CS 61C: Great Ideas in Computer Architecture (Machine Structures) Introduc)on to Machine Language

Lecture 01: Basic Structure of Computers

Agenda. Old School CS61c. Agenda. New School CS61c 8/26/10. CS 61C: Great Ideas in Computer Architecture (Machine Structures)

The Computer Revolution. Classes of Computers. Chapter 1

CS61C Machine Structures. Lecture 8 - Introduction to the MIPS Processor and Assembly Language. 9/14/2007 John Wawrzynek

Computer Architecture 2/26/01 Lecture #

Clever Signed Adder/Subtractor. Five Components of a Computer. The CPU. Stages of the Datapath (1/5) Stages of the Datapath : Overview

Transcription:

CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316

2 Outline Intro to Computer Systems and Architecture Need for this class Course objectives Views of the general purpose machine Assembly/Machine language programmer Computer architect Digital logic designer

3 The General Purpose Machine What is a computer? Merriam-Webster dictionary definition com put er: one that computes; specifically : a programmable usually electronic device that can store, retrieve, and process data Not just the laptop or machine (multipurpose machine) on a desk All around in everything Cars, thermostats, washer, dryer, toys, supercomputers, Mechanical Turk?

4 5 Classical Computer Components Control the brain Datapath the brawn Memory where programs and data live when running Input E.g. keyboard, mouse, disk Output E.g. disk, display, printer Processor Devices

5 Machine Structures Software Hardware Application (ex: browser) Compiler Assembler Processor Memory Operating Datapath & Control System (Windows 7) I/O system Software Engineer Instruction Set Architecture Computer Architect Digital Design Circuit Design Transistors Coordination of many levels of abstraction Hardware Engineer Slide from UC Berkeley CS61C

6 Levels of Representation/Interpretation High Level Language Program (e.g., C) Compiler Assembly Language Program (e.g., MIPS) Assembler Machine Language Program (MIPS) Machine Interpretation Hardware Architecture Description (e.g., block diagrams) Architecture Implementation temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; lw $t0, 0($2) lw $t1, 4($2) sw $t1, 0($2) sw $t0, 4($2) Anything can be represented as a number, i.e., data or instructions 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 Logic Circuit Description (Circuit Schematic Diagrams) Slide from UC Berkeley CS61C

7 Computer Systems and Architecture Concerned with the hardware software interface It is what must be known in order to achieve the highest possible performance Computer system design and architecture: blueprint which describes requirements and basic design for parts of a computer; e.g. cpu, memory access. Essentially how to go from transistors and gates to a useful application What the machine looks like (computer organization) and how you talk to the machine (ISA).

8 Why is this class needed? Lower level knowledge of computer is necessary for optimized speed and specialized tasks Direct device manipulation or lack of HLL Computers are rapidly changing Moore s Law 2x transistors/chip every 2 years Greatly improved processor performance Multi-core processors Parallelism

9 Current Machine Structures Software Parallel Requests Assigned to computer e.g., Search Katz Parallel Threads Assigned to core e.g., Lookup, Ads Parallel Instructions >1 instruction @ one time e.g., 5 pipelined instructions Parallel Data >1 data item @ one time e.g., Add of 4 pairs of words Hardware descriptions All gates functioning in parallel at same time Harness Parallelism & Achieve High Performance Hardware Warehouse Scale Computer Core Memory Input/Output Instruction Unit(s) Main Memory Slide from UC Berkeley CS61C A 0 +B 0 Computer (Cache) A 1 +B 1 Core Core Functional Unit(s) A 2 +B 2 A 3 +B 3 Smart Phone Logic Gates

10 Course Goals Understanding Structure and Function of Digital Computer at 3 Levels Multiple levels of computer operation Application level High Level Language(s), HLL, level(s) Assembly/machine language level: instruction set System architecture level: subsystems & connections Digital logic level: gates, memory elements, buses Electronic design level Semiconductor physics level This course Interactions and relations between levels View of machine at each level Tasks and tools at each level Examine design trade-offs and effect on performance

11 Four Views of Computer User View Who the machine is designed for (us for a PC) Machine Language Programmer Concerned with behavior and performance of machine when programmed at lowest level (machine language) Computer Architect Concerned with design and performance at (sub) system levels Logic Designer Concerned with design at the digital logic level

12 User View Person employing computer to do useful work Internal structure of machine is almost entirely obscured Operating system or application software Sees software, speed, storage capacity, and peripheral device functionality This is the common view, not the engineer s view

13 Machine/Assembly Programmer s View Machine language Set of fundamental instructions the machine can execute Expressed as patterns of 0 s and 1 s Assembly language Alpha numeric equivalent of machine language Human oriented mnemonics (human readable) Instruction Set Architecture (ISA) Instruction set set of all machine operations Memory Programmer-accessible registers

14 Machine and Assembly Language Assembler Convert from assembly into machine code (native language) Op code Data reg. #5 Data reg. #4 MC68000 Assembly Language MOVE.W D4, D5 Machine Language 0011 101 000 000 100 ADDI.W #9, D2 00000001 10 111 100 0000 0000 0000 1001 Table 1.2 Two Motorola MC68000 instructions

15 Computer Architect View Architect is concerned with design & performance Designs the ISA for optimum programming utility and optimum performance of implementation Designs the hardware for best implementation of the instructions Uses performance measurement tools, such as benchmark programs, to see that goals are met Balances performance of building blocks such as CPU, memory, I/O devices, and interconnections Meets performance goals at lowest cost

16 System Diagrams Machine as collection of functional units and their interconnections

17 Logic Designer View Designs the machine at the logic gate level The design determines whether the architect meets cost and performance goals Architect and logic designer can often be the same person/team

18 Implementation Domains Domain is usually abstracted Computer design is complex Well defined building blocks are used repeatedly

19 Concluding Remarks This course will study a general purpose machine at three different levels of abstraction Machine/Assembly language level Architecture level Logic design level Abstraction used to build system as layers 5 classic components of all computers Control Datapath Memory Input Output Processor Devices