Computer Architecture

Slides:



Advertisements
Similar presentations
CSE 340 Computer Architecture Spring 2014 MIPS ISA Review
Advertisements

TU/e Processor Design 5Z0321 Processor Design 5Z032 Computer Systems Overview Chapter 1 Henk Corporaal Eindhoven University of Technology 2011.
Computer Architecture & Organization
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
Spring 2008, Jan. 14 ELEC / Lecture 2 1 ELEC / Computer Architecture and Design Spring 2007 Introduction Vishwani D. Agrawal.
Computer Hardware Processing and Internal Memory.
Computer Architecture Instructor: Wen-Hung Liao Office: 大仁樓三樓 Office hours: TBA Course web page:
1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the.
CPEN Digital System Design Chapter 10 – Instruction SET Architecture (ISA) © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall.
1 CSE SUNY New Paltz Chapter 1 Introduction CSE-45432Introduction to Computer Architecture Dr. Izadi.
August 26 TA: Angela Van Osdol Questions?. What is a computer? Tape drives? Big box with lots of lights? Display with huge letters? Little box with no.
1 CS/COE0447 Computer Organization & Assembly Language Course Intro and CH
CENG311 Computer Architecture Kayhan Erciyes. CS231 Assembly language and Digital Circuits Instructor:Kayhan Erciyes Office:
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
Computer Organization ANGELITO I. CUNANAN JR. 1. What is Computer?  An electronic device used for storing and processing data.  It is a machine that.
Computer Architecture and Organization
Chapter 1 CSF 2009 Computer Abstractions and Technology.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Computer Architecture ECE 4801 Berk Sunar Erkay Savas.
2007 Sept 06SYSC 2001* - Fall SYSC2001-Ch1.ppt1 Computer Architecture & Organization  Instruction set, number of bits used for data representation,
Cs 152 L1 Intro.1 Patterson Fall 97 ©UCB What is “Computer Architecture” Computer Architecture = Instruction Set Architecture + Machine Organization.
Introduction CSE 410, Spring 2008 Computer Systems
Computer Architecture and Organization Introduction.
Fall 2015, Aug 17 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Fall 2015 Introduction Vishwani D. Agrawal.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Chapter 1 Introduction. Architecture & Organization 1 Architecture is those attributes visible to the programmer —Instruction set, number of bits used.
CS35101 Computer Architecture Spring 2006 Week 1 Slides adapted from: Mary Jane Irwin ( Course url:
1 International Technology University CEN 951 Computer Architecture Lecture 1 - Introduction.
Cps-104 Intro.1 ©GK Spring 1999 CPS104 Computer Organization Lecture 1 January 14, 1999 Gershon Kedem Slides available on:
Lecture 11 Sequential Logic,ISA, ALU Prof. Sin-Min Lee Department of Computer Science.
Computer Architecture And Organization UNIT-II General System Architecture.
1 CS/COE0447 Computer Organization & Assembly Language CHAPTER 1.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
Computer Organization Instructors Course By: Lecturer: Shimaa Ibrahim Hassan TA: Eng: Moufeda Hussien Lecture: 9:45 Address:
Chapter 1 — Computer Abstractions and Technology — 1 Below Your Program Application software – Written in high-level language System software – Compiler:
August 27 Books? ? Accounts?. What does a computer look like? Tape drives? Big box with lots of lights? Display with huge letters? Little box with.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li.
Spring 2016, Jan 13 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Spring 2016 Introduction Vishwani D. Agrawal.
1 CHAPTER 1 COMPUTER ABSTRACTIONS AND TECHNOLOGY Parts of these notes have been adapter from those of Prof. Professor Mike Schulte, Prof. D. Patterson,
CC311 Computer Architecture Chapter 1 Computer Abstraction & Technology.
Introduction CSE 410, Spring 2005 Computer Systems
Computer Organization and Architecture Lecture 1 : Introduction
Morgan Kaufmann Publishers
Computer Architecture & Operations I
Chapter 1: A Tour of Computer Systems
CSE 410, Spring 2006 Computer Systems
Architecture & Organization 1
Chapter 1: An Overview of Computers and Programming Languages
EEL 4713/EEL 5764 Computer Architecture
Architecture & Organization 1
Computers: Hardware and Software
COSC121: Computer Systems
ECEG-3202 Computer Architecture and Organization
Text Book Computer Organization and Architecture: Designing for Performance, 7th Ed., 2006, William Stallings, Prentice-Hall International, Inc.
Computer Organization
ECEG-3202 Computer Architecture and Organization
August 29 New address for Fang-Yi
Chapter 1 Introduction.
Introduction to Microprocessor Programming
COMS 361 Computer Organization
Chapter 5 Computer Organization
January 16 The books are here. Assignment 1 now due Thursday 18 Jan.
Introduction COE 301 Computer Organization
Introduction COE 301 Computer Organization Prof. Aiman El-Maleh
Lecture 2 (Memory) Computer Organization and Assembly Language. (CSC-210) Dr. Mohammad Ammad uddin.
ELEC / Computer Architecture and Design Fall 2014 Introduction
William Stallings Computer Organization and Architecture 7th Edition
Presentation transcript:

Computer Architecture ECE 4801 Berk Sunar

Outline Brief Overview How is a computer program executed? Computer organization Roadmap for this class

Things You Learn in this Course How computers work; the basic foundation How to analyze their performance (and how not to) Key technologies determining the performance of modern processors Datapath Design Pipelining Cache Systems Memory Hierarchy I/O Multiprocessors

Instruction Set Architecture Important abstraction Interface between hardware and low-level software Or features available to programmers instructions set architecture (ISA) e.g. does the processor have an multiply instruction? instruction encoding Data representation I/O mechanism. addressing mechanism Modern instruction set architectures: 80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP, ARM.

Computer Organization Computer Organization is how features are implemented in hardware Transparent to programmers Different implementations are possible for the same architecture (affects performance/price) Determines how memory, CPU, peripherals, busses are interconnected and how control signals routed. Has HUGE impact on performance. Performance of the organization is usually application dependent. (e.g. I/O intensive, computation intensive, memory bound etc.)

How to Program a Computer? A simple but universal interface Machine Code (binary images) Assembly language Uses mnemonics that map directly to ISA e.g. addw, lb, jmp etc. More readable than machine languages Error prone but excellent for low-level optimization High-level languages E.g. C/C++, Pascal, Fortran, Java, C# Much easier to use and program Promotes code portability Not as efficient as custom assembly

Processing a C Program High-level language program (in C) swap: muli $2, $5, 4 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 Assembly language program for MIPS swap (int v[], int k){ int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; } C compiler 00000000101000010000000000011000000000001000111000011000001000011000110001100010000000000000000010001100111100100000000000000100101011001111001000000000000000001010110001100010000000000000010000000011111000000000000000001000 Binary machine language program for MIPS Assembler

Functions of a Computer Data processing , e.g. sort entries of a spreadsheet Data storage, e.g. personal files, applications, movies, music etc. Data movement, e.g. play a music file, display a picture Control, (applies to all examples above)

Functions of a Computer source & destination of data data movements apparatus Control mechanism Data processing facility Data storage facility

Five Classic Components Computer Processor Memory Input Datapath Control Output System Interconnection

Motherboard USB 2.0 SIMM Sockets Processor PCI Card Slots IDE Sound Parallel/Serial PS/2 connectors SIMM Sockets Processor PCI Card Slots IDE Connectors

Inside the Processor Chip Instruction Cache Control branch prediction Data Cache Bus integer datapath floating-point datapath

CPU Cache Memory Registers ALU Control Unit Internal CPU interconnection CPU

Memory Nonvolatile: Volatile How about solid state drives? ROM Hard disk, floppy disk, magnetic tape, CDROM, USB Memory Flash memory Volatile DRAM used usually for main memory SRAM used mainly for on-chip memory such as register and cache DRAM is much cheaper than SRAM SRAM is much faster than DRAM How about solid state drives?

DRAM and Processor Characteristics

Solutions to Memory Problems Increase number of bits retrieved at one time Make DRAM “wider” rather than “deeper” Change DRAM interface Cache Reduce frequency of memory access More complex cache and cache on chip Increase interconnection bandwidth High speed buses Hierarchy of buses

Computer Networks Very essential aspect of computer systems Communication Resource sharing Remote access Ethernet is the most popular LAN Range is limited to 1 kilometer 10/100 Mbit/s Wide Area Networks (WAN) Cross continents and backbone of the Internet

Roadmap Performance issues Instruction set of MIPS Arithmetic and ALU Constructing a processor to execute our instructions (datapath design) Pipelining Memory hierarchy: caches and virtual memory I/O