IT 252 Computer Organization and Architecture Introduction Chia-Chi Teng.

Slides:



Advertisements
Similar presentations
RISC / CISC Architecture By: Ramtin Raji Kermani Ramtin Raji Kermani Rayan Arasteh Rayan Arasteh An Introduction to Professor: Mr. Khayami Mr. Khayami.
Advertisements

Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
CSE 340 Computer Architecture Fall 2014 Introduction Thanks to Dr. MaryJaneIrwin for the slides.
Computer Architecture & Organization
CSE431 L01 Introduction.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 01: Introduction Mary Jane Irwin ( )
1 CS 3410 Computer System Organization and Programming K. Walsh TAs: Deniz Altinbuken Hussam Abu-Libdeh Consultants: Adam Sorrin Arseney Romanenko.
COMP3221: Microprocessors and Embedded Systems Lecture 2: Instruction Set Architecture (ISA) Lecturer: Hui Wu Session.
ENEE350 Spring07 1 Ankur Srivastava University of Maryland, College Park Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005.”
OK, we are now ready to begin Chapter 2 of our text
Computer Architecture Instructor: Wen-Hung Liao Office: 大仁樓三樓 Office hours: TBA Course web page:
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
CS / Schlesinger Lec1.1 1/20/99©UCB Spring 1999 Computer Architecture Lecture 1 Introduction and Five Components of a Computer Spring, 1999 Arie Schlesinger.
CIS 314 : Computer Organization Lecture 1 – Introduction.
1 CS402 PPP # 1 Computer Architecture Evolution. 2 John Von Neuman original concept.
Computer Organization and Assembly language
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.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
ECE2030 Introduction to Computer Engineering Lecture 1: Overview
Processor Types And Instruction Sets Barak Perelman CS147 Prof. Lee.
Chapter 1 Sections 1.1 – 1.3 Dr. Iyad F. Jafar Introduction.
Computer Organization and Assembly language
CSE378 MIPS ISA1 MIPS History MIPS is a computer family –R2000/R3000 (32-bit); R4000/4400 (64-bit); R8000; R10000 (64-bit) etc. MIPS originated as a Stanford.
CSE378 Gen. Intro1 Machine Organization and Assembly Language Programming Machine Organization –Hardware-centric view (in this class) –Not at the transistor.
Digital Systems Design L01 Introduction.1 Digital Systems Design Lecture 01: Introduction Adapted from: Mary Jane Irwin ( )
Computer Architecture ECE 4801 Berk Sunar Erkay Savas.
Winter 2015 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University Introduction and Overview.
CPE232 Introduction1 CPE 335 Computer Organization Introduction Dr. Gheith Abandah [Adapted from the slides of Professor Mary Irwin (
2007 Sept 06SYSC 2001* - Fall SYSC2001-Ch1.ppt1 Computer Architecture & Organization  Instruction set, number of bits used for data representation,
Physics 413 Chapter 1 Computer Architecture What is a Digital Computer ? A computer is essentially a fast electronic calculating machine. What is a program.
Instruction Set Architecture
Introduction CSE 410, Spring 2008 Computer Systems
1 4.2 MARIE This is the MARIE architecture shown graphically.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Adapted from Computer Organization and Design, Patterson & Hennessy, UCB ECE232: Hardware Organization and Design Part 1: Introduction
Computer Organization and Design Computer Abstractions and Technology
IT 252 Computer Organization and Architecture Introduction Richard Helps (based on slides from Chia-Chi Teng)
Computer Architecture And Organization UNIT-II General System Architecture.
Computer System Design Lecture 1 Wannarat Suntiamorntut.
Computer Engineering Rabie A. Ramadan Lecture 1. 2 Welcome Back.
Computer Organization & Assembly Language © by DR. M. Amer.
Computer Architecture 2 nd year (computer and Information Sc.)
Computer Architecture Introduction Lynn Choi Korea University.
Microarchitecture. Outline Architecture vs. Microarchitecture Components MIPS Datapath 1.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
CSIE30300 Computer Architecture Unit 01: Introduction Hsin-Chou Chi [Adapted from material by and
Introduction Computer Organization Spring 1436/37H (2015/16G) Dr. Mohammed Sinky Computer Architecture
1 CHAPTER 1 COMPUTER ABSTRACTIONS AND TECHNOLOGY Parts of these notes have been adapter from those of Prof. Professor Mike Schulte, Prof. D. Patterson,
CSE431 L01 Introduction.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 01: Introduction Mary Jane Irwin ( )
New-School Machine Structures Parallel Requests Assigned to computer e.g., Search “Katz” Parallel Threads Assigned to core e.g., Lookup, Ads Parallel Instructions.
Computer Organization IS F242. Course Objective It aims at understanding and appreciating the computing system’s functional components, their characteristics,
Introduction CSE 410, Spring 2005 Computer Systems
SPRING 2012 Assembly Language. Definition 2 A microprocessor is a silicon chip which forms the core of a microcomputer the concept of what goes into a.
William Stallings Computer Organization and Architecture 6th Edition
ECE2030 Introduction to Computer Engineering Lecture 1: Overview
Chapter 1 Computer Abstractions and Technology
Computer Organization
CPE 232 Computer Organization Introduction
CSE 410, Spring 2006 Computer Systems
CPEG 323 – Fall 2006 Topics in Computer System Engineering – Computer Organization and Design 9/22/2018 cpeg323\Topic0.ppt.
T Computer Architecture, Autumn 2005
Evolution of ISA’s ISA’s have changed over computer “generations”.
What is Computer Architecture?
Introduction to Microprocessor Programming
COMS 361 Computer Organization
What is Computer Architecture?
What is Computer Architecture?
Evolution of ISA’s ISA’s have changed over computer “generations”.
CSE378 Introduction to Machine Organization
Presentation transcript:

IT 252 Computer Organization and Architecture Introduction Chia-Chi Teng

What is computer architecture about? Computer architecture is the study of building computer systems. IT 252 is roughly split into four parts. – First, we will discusses instruction set architectures—the bridge between hardware and software. – Second, we introduce more advanced processor implementations. The focus is on pipelining, which is one of the most important ways to improve performance. – Next, we talk about memory systems, I/O, and how to connect it all together. – We will also introduce you to Assembly and C programming through out the course.

Why should you care? It is interesting. – You will learn how a processor actually works! It will help you be a better programmer. – Understanding how your program is translated to assembly code lets you reason about correctness and performance. – Demystify the seemingly arbitrary (e.g., bus errors, segmentation faults) Many cool jobs require an understanding of computer architecture. – The cutting edge is often pushing computers to their limits. – Supercomputing, games, portable devices, etc. Computer architecture illustrates many fundamental ideas in all computing discipline. – Abstraction, caching, and indirection …

Personnel  Lecturer —Prof. Chia-Chi Teng —Office hours T/Th 9-11 Or by appointment  TA —Gary McGregor —Office hours T F  Course webpage:

Administrivia The textbooks provides the most comprehensive coverage – "Computer Systems: A Programmer's Perspective" 2nd Edition, by Randal E. Bryant & David R. O'Hallaron – The C Programming Language, Kernighan & Ritchie, 2 nd ed. Read the text prior to class class will supplement rather than regurgitate the text IT curriculum changes in Fall 2010 IT 251 (4) -> IT 252 (3) IT 104B (2) -> CS/ECEn 124 (3) IT 104A (2) -> part of IT 327 (4) Did you take 104 or 124?

Grading Professionalism: Attendance, Attitude, Participation, 5% final grade Homework – Usually due on every Friday and Monday, check course website often for detail and update, 25% final grade Quizzes - about 6 – 8, take home, 10 pts each, 15% final grade Lab reports – Due date to be specified by TA, 25% final grade Exams - final and at least one mid-term; usually open-book, take home, untimed 30%

Homework Homework exercises provide added impetus to keep up with the reading. Textbook problems Assignments are listed on course web page by weeks, usually due on Friday and the following Monday. Turn in: on blackboard AND in paper. Homework locker. We really want to encourage discussion, both in class and in lab. But zero tolerance for cheating, don’t go there. Don’t look for solutions online.

Labs  No lab this week. Lab 1 next week.  Room 335 —Hardware Description Language (VHDL), CPU design  Room 365 —Memory system, I/O …  Lab report: TA will give you detail

To-Do list Read chapter 1 before Thursday please read the entire course web thoroughly, today Course web is work in progress, please check back often make sure you’re on the IT 252 blackboard list, and check your daily keep up with the reading: this week … homework due – Check website lab report due – TA discretion via blackboard

What is Computer Architecture? It’s the study of the ___________ of computers  Structure: static arrangement of the parts  Organization: dynamic interaction of the parts and their control  Implementation: design of specific building blocks  Performance: behavioral study of the system or of some of its components 10/18/201510

Another definition: Instruction Set Architecture (ISA) Architecture is an interface between layers ISA is the interface between hardware and software ISA is what is visible to the programmer (and ISA might be different for OS and applications) ISA consists of: – instructions (operations and how they are encoded) – information units (size, how they are addressed etc.) – registers (or more generally processor state) – input-output control 10/18/201511

Computer structure: Von Neumann model 10/18/ Memory hierarchy I/OcontrolALU Registers PC state Memory bus I/O bus CPU Data path+ Control

Computer Organization Organization and architecture often used as synonyms Organization (in this course) refers to: – what are the basic blocks of a computer system, more specifically basic blocks of the CPU basic blocks of the memory hierarchy – how are the basic blocks designed, controlled, connected? Organization used to be transparent to the ISA. Today more and more of the ISA is “exposed” to the user/compiler. 10/18/201513

Moore’s Law In 1965, Gordon Moore predicted that the number of transistors that can be integrated on a die would double every 18 to 24 months (i.e., grow exponentially with time). Amazingly visionary – million transistor/chip barrier was crossed in the 1980’s. – 2300 transistors, 1 MHz clock (Intel 4004) – 16 Million transistors (Ultra Sparc III) – 42 Million transistors, 2 GHz clock (Intel Xeon) – 2001 – 55 Million transistors, 3 GHz, 130nm technology, 250mm 2 die (Intel Pentium 4) – 140 Million transistor (HP PA-8500)

Illustration of Moore’s Law

Power Dissipation 10/18/201516

Evolution of Intel Microprocessor Speeds 10/18/ How about today?

POLL  Which type of CPU has the largest worldwide market share? —Intel —AMD —ARM —MIPS  e_choice_polls/LTE2OTY2MjI e_choice_polls/LTE2OTY2MjI

Where is the Market? Millions of Computers

ISA Type Sales What’s in your cell phone? Millions of Processor

Processor Performance Increase SUN-4/260MIPS M/120 MIPS M2000 IBM RS6000 HP 9000/750 DEC AXP/500 IBM POWER 100 DEC Alpha 4/266 DEC Alpha 5/500 DEC Alpha 21264/600 DEC Alpha 5/300 DEC Alpha 21264A/667 Intel Xeon/2000 Intel Pentium 4/3000

DRAM Capacity Growth 16K 64K 256K 1M 4M 16M 64M 128M 256M 512M

Impacts of Advancing Technology Processor – logic capacity:increases about 30% per year – performance:2x every 1.5 years Memory – DRAM capacity:4x every 3 years, now 2x every 2 years – memory speed:1.5x every 10 years – cost per bit:decreases about 25% per year Disk – capacity:increases about 60% per year ClockCycle = 1/ClockRate 500 MHz ClockRate = 2 nsec ClockCycle 1 GHz ClockRate = 1 nsec ClockCycle 4 GHz ClockRate = 250 psec ClockCycle

Example Machine Organization Workstation design target – 25% of cost on processor – 25% of cost on memory (minimum memory size) – Rest on I/O devices, power supplies, box CPU Computer Control Datapath MemoryDevices Input Output

PC Motherboard Closeup

Inside the Pentium 4 Processor Chip

Some Computer families Computers that have the same (or very similar) ISA – Compatibility of software between various implementations IBM – 704, 709, 70xx etc.. From 1955 till 1965 – 360, 370, 43xx, 33xx From 1965 to the present – Power PC DEC – PDP-11, VAX From 1970 till 1985 – Alpha (now Compaq, now HP) in 1990’s 10/18/201527

More computer families Intel – Early micros 40xx in early 70’s – x86 (086,…,486, Pentium, Pentium Pro, Pentium 3, Pentium 4) from 1980 on – IA-64 (Itanium) in 2001 SUN – Sparc, Ultra Sparc n MIPS-SGI – Mips 2000, 3000, 4400, from 1985 on – CISC vs RISC – Complex Instruction Set vs Reduced Instruction Set – What is an instruction? 10/18/201528

Where Are We Now? CS142 & 124 IT344

MIPS is a RISC RISC = Reduced Instruction Set Computer R could also stand for “regular” All arithmetic-logical instructions are of the form MIPS (as all RISC’s) is a Load-Store architecture – ALU operates only on operands that are in registers – The only instructions accessing memory are load and store 10/18/201530

Registers Registers are the “bricks” of the CPU Registers are an essential part of the ISA – Visible to the hardware and to the programmer Registers are – Used for high speed storage for operands. For example, if variables i,j are in registers ax,cx respectively add ax,cx # i = i + j – Easy to name (most computers have limited number of registers visible to the programmer) – Used for addressing memory 10/18/201531

Registers (ct’d) Not all registers are “equal” – Some are special-purpose (e.g. program counter, stack pointer) – Some are used for integer and some for floating-point – Some have restricted use by convention 10/18/201532

Memory system  Memory is a hierarchy of devices with faster and more expensive ones closer to CPU —Registers —Caches (hierarchy: on-chip, off-chip) —Main memory (DRAM) —Secondary memory (disks) 10/18/2015CSE378 Gen. Intro33

Information units  Basic unit is the bit (has value 0 or 1)  Bits are grouped together in units and operated on together: —Byte = 8 bits —Word = 2 or 4 bytes —Double word = 2 words —Etc.  Integer: usually 4 bytes 10/18/2015CSE378 Gen. Intro34

Memory addressing Memory is an array of information units – Each unit has the same size – Each unit has its own address – Address of an unit and contents of the unit at that address are different 10/18/ address contents

Addressing In most of today’s computers, the basic unit that can be addressed is a byte. (how many bit is a byte?) – MIPS (and pretty much all CPU today) is byte addressable The address space is the set of all memory units that a program can reference – The address space is usually tied to the length of the registers – Intel 384/486/Pentium has 32-bit registers. Hence its basic address space is 4G bytes – MIPS has 32-bit registers. – Older micros (minis) had 16-bit registers, hence 64 KB address space (too small) – Some current (Intel CoreX, Alpha, Itanium, Sparc, Altheon) machines have 64-bit registers, hence an enormous address space 10/18/201536

Addressing words  Although machines are byte-addressable, 4 byte integers are the most commonly used units  Every 32-bit word starts at an address divisible by 4 10/18/ int at address 0 int at address 4 int at address 8

Big-endian vs. little-endian  Byte order within an int: 10/18/ Little-endian (we’ll use this) Big-endian Memory address 3 int #0 byte int #0

The CPU - Instruction Execution Cycle  The CPU executes a program by repeatedly following this cycle 1. Fetch the next instruction, say instruction i 2. Execute instruction i 3. Compute address of the next instruction, say j 4. Go back to step 1  Of course we’ll optimize this but it’s the basic concept 10/18/201539

What’s in an instruction? An instruction tells the CPU – the operation to be performed via the OPCODE – where to find the operands (source and destination) For a given instruction, the ISA specifies – what the OPCODE means (semantics) – how many operands are required and their types, sizes etc.(syntax) Operand is either – register (integer, floating-point, PC) – a memory address – a constant 10/18/201540