Lecture 02: Fundamentals of Computer Design - Basics Kai Bu

Slides:



Advertisements
Similar presentations
Lecture 38: Chapter 7: Multiprocessors Today’s topic –Vector processors –GPUs –An example 1.
Advertisements

1 Lecture 3: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation.
Lecture 3: Instruction Set Principles Kai Bu
The University of Adelaide, School of Computer Science
ELEN 468 Advanced Logic Design
Computer Architecture and Data Manipulation Chapter 3.
1 Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 1 Fundamentals of Quantitative Design and Analysis Computer Architecture A Quantitative.
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon, Dec 5, 2005 Topic: Intro to Multiprocessors and Thread-Level Parallelism.
Processor Technology and Architecture
Chapter 17 Parallel Processing.
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
PSU CS 106 Computing Fundamentals II Introduction HM 1/3/2009.
1 Computer Science, University of Warwick Architecture Classifications A taxonomy of parallel architectures: in 1972, Flynn categorised HPC architectures.
Advanced Computer Architectures
1 Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 1 Fundamentals of Quantitative Design and Analysis Computer Architecture A Quantitative.
1 Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 1 Fundamentals of Quantitative Design and Analysis Computer Architecture A Quantitative.
Computer performance.
Lecture 2: Fundamentals of Computer Design Kai Bu
1 CS 161 Introduction to Programming and Problem Solving Chapter 4 Computer Taxonomy Herbert G. Mayer, PSU Status 10/11/2014.
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
The University of Adelaide, School of Computer Science
Chapter 2 Parallel Architecture. Moore’s Law The number of transistors on a chip doubles every years. – Has been valid for over 40 years – Can’t.
Classifying GPR Machines TypeNumber of Operands Memory Operands Examples Register- Register 30 SPARC, MIPS, etc. Register- Memory 21 Intel 80x86, Motorola.
Advanced Computer Architecture 0 Lecture # 1 Introduction by Husnain Sherazi.
1 Instruction Set Architecture (ISA) Alexander Titov 10/20/2012.
Chapter Six Sun SPARC Architecture. SPARC Processor The name SPARC stands for Scalable Processor Architecture SPARC architecture follows the RISC design.
Computer Architecture And Organization UNIT-II General System Architecture.
Instruction Set Architecture The portion of the machine visible to the programmer Issues: Internal storage model Addressing modes Operations Operands Encoding.
Module : Algorithmic state machines. Machine language Machine language is built up from discrete statements or instructions. On the processing architecture,
Chapter 2 Data Manipulation. © 2005 Pearson Addison-Wesley. All rights reserved 2-2 Chapter 2: Data Manipulation 2.1 Computer Architecture 2.2 Machine.
Crosscutting Issues: The Rôle of Compilers Architects must be aware of current compiler technology Compiler Architecture.
Lecture 04: Instruction Set Principles Kai Bu
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
Computer Organization Rabie A. Ramadan Lecture 3.
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization.
CS203 – Advanced Computer Architecture Performance Evaluation.
New-School Machine Structures Parallel Requests Assigned to computer e.g., Search “Katz” Parallel Threads Assigned to core e.g., Lookup, Ads Parallel Instructions.
BITS Pilani Pilani Campus Pawan Sharma ES C263 Microprocessor Programming and Interfacing.
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
Computer Architecture. Instruction Set “The collection of different instructions that the processor can execute it”. Usually represented by assembly codes,
“Today, less than $500 will purchase a personal computer that has more performance, more main memory, and more disk storage than a computer bought in.
CS203 – Advanced Computer Architecture
Auburn University COMP8330/7330/7336 Advanced Parallel and Distributed Computing Parallel Hardware Dr. Xiao Qin Auburn.
Advanced Architectures
CHAPTER SEVEN PARALLEL PROCESSING © Prepared By: Razif Razali.
ES C263 Microprocessor Programming and Interfacing
ECE354 Embedded Systems Introduction C Andras Moritz.
Distributed Processors
ELEN 468 Advanced Logic Design
Fundamentals of Computer Design - Basics
Morgan Kaufmann Publishers
Processor Organization and Architecture
Lecture 04: Instruction Set Principles
Lecture 04: Instruction Set Principles
Chapter 2: Data Manipulation
Computer Instructions
What is Computer Architecture?
Chapter 2: Data Manipulation
Introduction to Microprocessor Programming
What is Computer Architecture?
Chapter 4 Multiprocessors
CPU Structure CPU must:
The University of Adelaide, School of Computer Science
Utsunomiya University
Computer Organization
Chapter 2: Data Manipulation
Presentation transcript:

Lecture 02: Fundamentals of Computer Design - Basics Kai Bu

Chapter

What types of computers? Why are computers be fast? What is computer architecture? Preview

What types of computers?

5 Classes of Computers PMD: Personal Mobile Device Desktop Server Cluster/WSC (warehouse-scale computer) Embedded computer

PMD: Personal Mobile Device Wireless devices with multimedia user interfaces cell phones, tablet computers, etc. a few hundred dollars

PMD Characteristics Cost effectiveness less expensive packaging absence of fan for cooling

PMD Characteristics Responsiveness & Predictability real-time performance: a maximum execution time for each app segment soft real-time: trade time of a certain event for others’; tolerate occasionally missed time constraint on an event, as long as not too many are missed;

PMD Characteristics Memory efficiency optimize code size Energy efficiency battery power heat dissipation

Desktop Computing Largest market share low-end netbooks: $x00 … high-end workstations: $x000

Desktop Characteristics Price-Performance combination of performance and price; compute performance graphics performance The most important to customers, and hence to computer designers

Servers Provide large-scale and reliable file and computing services (to desktops) Constitute the backbone of large-scale enterprise computing

Servers Characteristics Availability against high-cost server failure

Servers Characteristics Scalability in response to increasing demand with scaling up computing capacity, memory, storage, and I/O bandwidth Efficient throughput toward handling more requests in a unit time

Clusters/WSCs Warehouse-Scale Computers collections of desktop computers or servers connected by local area networks (LANs) to act as a single larger computer Characteristics price-performance, power, availability

Embedded Computers hide everywhere

Embedded vs Non-embedded Dividing line the ability to run third-party software Embedded computers’ primary goal meet the performance need at a minimum price; rather than achieve higher performance at a higher price

What makes computers fast?

Parallelism Multi-task simultaneously takes effect Application parallelism Hardware parallelism

Application Parallelism DLP: Data-Level Parallelism many data items being operated on at the same time TLP: Task-Level Parallelism tasks of work created to operate independently and largely in parallel

Hardware Parallelism Hardware exploits application parallelism in four ways: Instruction-Level Parallelism Vector Architectures and GPUs Thread-Level Parallelism Request-Level Parallelism

Hardware Parallelism Instruction-Level Parallelism exploits data-level parallelism at modest levels – pipelining divide a task to steps; simultaneously run different steps of different tasks. at medium levels – speculative exec do some work in advance; prevent delay when the work is needed.

Hardware Parallelism Vector Architectures & GPUs (Graphic Process Units) exploit data-level parallelism apply a single instruction to a collection of data in parallel

Hardware Parallelism Thread-Level Parallelism exploits either DLP or TLP in a tightly coupled hardware model that allows for interaction among parallel threads

Hardware Parallelism Request-Level Parallelism exploits parallelism among largely decoupled tasks specified by the programmer or the OS

Classes of Parallel Arch itectures by Michael Flynn Single/Multiple Instruction/Data stream SISD SIMD MISD MIMD

SISD Single instruction stream, single data stream – uniprocessor Can exploit instruction-level parallelism

SIMD Single instruction stream, multiple data stream The same instruction is executed by multiple processors using different data streams. Exploits data-level parallelism Data memory for each processor; whereas a single instruction memory and control processor.

MISD Multiple instruction streams, single data stream No commercial multiprocessor of this type yet

MIMD Multiple instruction streams, multiple data streams Each processor fetches its own instructions and operates on its own data. Exploits task-level parallelism

What’s computer architecture?

Computer Architecture Used to refer only to instruction set design

What’s instruction set architecture?

Instruction Set Architecture ISA actual programmer-visible instruction set the boundary between software and hardware 7 major dimensions

ISA: Class Most are general-purpose register architectures with operands of either registers or memory locations Two popular versions register-memory ISA: e.g., 80x86 many instructions can access memory load-store ISA: e.g., ARM, MIPS only load or store instructions can access memory

ISA: Memory Addressing Byte addressing Aligned address object width: s bytes address: A aligned if A mod s = 0

Why alignment?

Each misaligned object requires two memory accesses

ISA: Addressing Modes Specify the address of a memory object: Register, Immediate, Displacement constant register + constant

ISA: Types and Sizes of OP erands TypeSize in bits ASCII character8 Unicode character Half word 16 Integer word 32 Double word Long integer 64 IEEE 754 floating point – single precision 32 IEEE 754 floating point – double precision 64 Floating point – extended double precision 80

ISA: Operations Four general categories data transfer arithmetic logical control floating point

MIPS64 Operations Data transfer

MIPS64 Operations Arithmetic Logical

MIPS64 Operations Control

MIPS64 Operations Floating point

ISA: Control Flow Instr uctions Types: conditional branches unconditional jumps procedure calls returns Branch address: add an address field to PC (program counter)

ISA: Encoding an ISA Fixed length: ARM, MIPS – 32 bits Variable length: 80x86 – 1~18 bytes Start with a 6-bit opcode. R-type: register three registers, a shift amount field, and a function field; I-type: immediate two registers, a 16-bit immediate value; J-type: jump a 26-bit jump target.

Again, what’s computer architecture?

Computer Architecture ISA Organization Hardware actual programmer visible instruction set; boundary between sw and hw; high-level aspects of computer design: memory system, memory interconnect, design of internal processor or CPU; computer specifics: logic design, packaging tech; Computer architects must design the organization and hardware to meet functional requirements as well as price, power, performance, and availability goals.

Review 5 classes of computers Parallelism Instruction set architecture Computer architecture

?