CSC3050 – 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.
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
ENEE350 Spring07 1 Ankur Srivastava University of Maryland, College Park Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005.”
Chapter 1. Introduction This course is all about how computers work But what do we mean by a computer? –Different types: desktop, servers, embedded devices.
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
ECE 232 L2 Basics.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 2 Computer.
CPEN Digital System Design Chapter 10 – Instruction SET Architecture (ISA) © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall.
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.
1 CSE SUNY New Paltz Chapter 1 Introduction CSE-45432Introduction to Computer Architecture Dr. Izadi.
CIS 314 : Computer Organization Lecture 1 – Introduction.
Computer performance.
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 CS224
Department of Computer and Information Science, School of Science, IUPUI Dale Roberts, Lecturer Computer Science, IUPUI CSCI.
Summary: Computer System Components Proc Caches Busses Memory I/O Devices: Controllers adapters Disks Displays Keyboards Networks.
Digital Systems Design L01 Introduction.1 Digital Systems Design Lecture 01: Introduction Adapted from: Mary Jane Irwin ( )
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Computer Architecture ECE 4801 Berk Sunar Erkay Savas.
Cs 152 L1 Intro.1 Patterson Fall 97 ©UCB What is “Computer Architecture” Computer Architecture = Instruction Set Architecture + Machine Organization.
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
C OMPUTER O RGANIZATION AND D ESIGN The Hardware/Software Interface 5 th Edition Chapter 1 Computer Abstractions and Technology Sections 1.5 – 1.11.
Computer Organization and Design Computer Abstractions and Technology
Computer Architecture Mehran Rezaei
CS35101 Computer Architecture Spring 2006 Week 1 Slides adapted from: Mary Jane Irwin ( Course url:
Computer Organization & Assembly Language © by DR. M. Amer.
Computer Architecture CPSC 350
Computer Architecture CSE 3322 Lecture 2 NO CLASS MON Sept 1 Course WEB SITE crystal.uta.edu/~jpatters.
Introduction.  This course is all about how computers work  But what do we mean by a computer?  Different types: desktop, servers, embedded devices.
 Lecture 2 Processor Organization  Control needs to have the  Ability to fetch instructions from memory  Logic and means to control instruction sequencing.
1 chapter 1 Computer Architecture and Design ECE4480/5480 Computer Architecture and Design Department of Electrical and Computer Engineering University.
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.
CSIE30300 Computer Architecture Unit 01: Introduction Hsin-Chou Chi [Adapted from material by and
CSE 102 Introduction to Computer Engineering Central Processing Unit.
1 TM 1 Embedded Systems Lab./Honam University ARM Microprocessor Programming Model.
CHAPTER 2 Instruction Set Architecture 3/21/
1 CHAPTER 1 COMPUTER ABSTRACTIONS AND TECHNOLOGY Parts of these notes have been adapter from those of Prof. Professor Mike Schulte, Prof. D. Patterson,
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,
CS4100: 計算機結構 Course Outline 國立清華大學資訊工程學系 九十九年度第二學期.
C OMPUTER O RGANIZATION AND D ESIGN The Hardware/Software Interface 5 th Edition Chapter 1 Computer Abstractions and Technology.
Introduction to Computers - Hardware
XU, Qiang 徐強 [Adapted from UC Berkeley’s D. Patterson’s and
CSCI206 - Computer Organization & Programming
Computer Organization and Architecture Lecture 1 : Introduction
Microprocessor and Microcontroller Fundamentals
Morgan Kaufmann Publishers Computer Abstractions and Technology
Overview Instruction set architecture (MIPS)
Morgan Kaufmann Publishers
INTRODUCTION TO MICROPROCESSORS
Architecture & Organization 1
CSCE330 Computer Architecture
INTRODUCTION TO MICROPROCESSORS
Processor (I).
Computer Architecture CSCE 350
COSC 3406: Computer Organization
Computer Science I CSC 135.
Morgan Kaufmann Publishers
Architecture & Organization 1
BIC 10503: COMPUTER ARCHITECTURE
Microprocessor & Assembly Language
Chapter 1 Introduction.
Guest Lecturer TA: Shreyas Chand
Welcome to Architectures of Digital Systems
Computer Evolution and Performance
COMS 361 Computer Organization
CS4100: 計算機結構 Course Outline
Computer Architecture
Presentation transcript:

CSC3050 – Computer Architecture Prof. Yeh-Ching Chung School of Science and Engineering Chinese University of Hong Kong, Shenzhen

Computer Desktop computers Designed to deliver good performance to a single user at a low cost. Usually executing third-party software. Usually incorporating a graphics display, a keyboard and a mouse.

Other Classes of Computers Servers Used to run larger program for multiple users simultaneously, typically accessed only via a network, with a greater emphasis on dependability and (often) security. Supercomputers A high performance, high-cost class of servers with a large number of processors, huge memory and storage that are used for high-end scientific and engineering applications. Embedded computers (microprocessors) A computer within another system with a dedicated function or application.

Supercomputers Sunway TaihuLight Fastest supercomputer in the world (as of June 2017) Over 10 million CPU cores Power: 15 MW Speed: 93 PFLOPS http://www.nsccwx.cn/wxcyw/

Automotive Embedded Systems https://dcvizcayno.wordpress.com/2015/08/28/the-future-of-technology-privacy-security-and-risks-part-3-of-5/

Post-PC Era Personal Mobile Devices Warehouse-Scale Computers Battery-operated devices with wireless connectivity. Warehouse-Scale Computers Datacenter containing hundreds of thousands of servers providing software as a service (SaaS).

Embedded vs. Desktop

Evolution of Computer Hardware (1) 1st transistor invented by John Bardeen, Walter Brattain, and William Shockley at Bell Labs in 1947. UNIVAC I (UNIVersal Automatic  Computer I): 1st commercial computer sold in US in 1951.

Evolution of Computer Hardware (2) 1st integrated circuit invented by Jack Kilby of Texas Instruments in 1958. IBM System/360: 1st family of computers in 1964 with a range of performance but with the same instruction set.

Evolution of Computer Hardware (3) Intel 4004: 1st commercially available microprocessor by Intel in 1971. https://en.wikipedia.org/wiki/Intel_4004

IC Manufacturing Process Yield: proportion of working dies per wafer.

Intel Core i7 Wafer 300-mm wafer, 280 dies at 100% yield (32-nm technology).

Integrated Circuit Cost Cost per die = Cost per wafer Die per wafer × yield Dies per wafer ≈ Wafer area Die area Yield = 1 1+ Defects per area × Die area/2 2 Nonlinear relation to defect rate and die area Wafer cost and wafer area are fixed Defect rate is determined by manufacturing process Die area is determined by architecture and circuit design

Impacts of Advancing Technology Processor Logic capacity: increases about 30% per year Performance: 2× every 1.5 years Memory DRAM capacity: 4× every 3 years, about 60% per year Memory speed: 1.5× every 10 years Cost per bit: decreases about 25% per year Storage Capacity: increases about 60% per year

Moore’s Law http://www.itrs2.net/

International Technology Roadmap for Semiconductors Year 2013 2015 2017 2019 2021 2023 2025 2028 Logic half pitch (nm) 40 32 25 20 16 13 10 7 Gate Density (gates/mm2) 4M 6.4M 10M 16M 25.5M 40M 64M 128M Double the circuitry in the same space or Same circuitry in half the space equals Same capability, half the die size

Clock Rate and Power Pentium 4 had a dramatic jump in clock rate and power. Core 2 reverts to simpler pipeline, lower clock rates and multiple processors per chip.

Pdynamic = 0.5 × CL × Vdd2 × fswitching Power Wall Pdynamic = 0.5 × CL × Vdd2 × fswitching Example: For a simple processor, if capacitive load is reduced by 15%, voltage is reduced by 15%, frequency is reduced by 15%, how much power consumption can be reduced?

From Uniprocessors to Multiprocessors Power limit forced a dramatic change in microprocessor design. Since 2002, the response time improvement has slowed from 1.5× per year to 1.2× per year. As of 2006, all computer companies are shipping microprocessors with multiple processors per chip (called “multicore microprocessors”).

Intel Core i7 http://www.intel.com/

Major Components of a Computer

Computer Organization Components Processor (control, datapath) Input (keyboard, mouse) Output (display, printer) Memory (cache, SRAM, disk drive, CD/DVD) Network Our main focus The processor (control and datapath) and its interaction with memory systems Implemented using hundreds of millions of transistors; impossible to understand by looking at each transistor

Machine Organization Capabilities and performance characteristics of the principal functional units (e.g., registers, ALU, shifters, logic units). Ways in which these components are interconnected Logic and means by which such information flow is controlled Instruction Set Architecture (ISA) Register Transfer Level (RTL) description

Processor Organization (1) Control needs to have circuitry to Decide which is the next instruction and input it from memory Decode the instruction Issue signals that control the way information flows between datapath components Control what operations the datapath’s functional units perform

Processor Organization (2) Datapath needs to have circuitry to Execute instructions – functional units (e.g., adder) and storage locations (e.g., register) Interconnect the functional units so that the instructions can be executed as required Load data from and store data to memory

System Software Operating System Compiler Supervising program that interfaces the user’s program with the hardware (e.g., Linux, iOS, Windows) Handles basic input and output operations Allocates storage and memory Provides for protected sharing among multiple applications Compiler Translate high-level language programs (e.g., C, Java) into instructions that the hardware can execute Application Software System Software Hardware

High-Level Languages Allow the programmer to think in a more natural language and for their intended use (Fortran for scientific computation, Cobol for business programming, Lisp for symbol manipulation, Java for web programming, etc.). Improve programmer productivity – more understandable code that is easier to debug and validate. Improve program maintainability. Allow programs to be independent of the computer on which they are developed (compilers and assemblers can translate high-level language programs to the binary instructions of any machine). Emergence of optimizing compilers that produce very efficient assembly code optimized for the target machine. As a result, very little programming is done today at the assembly level.

Below the Program High-level language program (in C) swap (int v[], int k) { int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; } Assembly language program (for MIPS) swap: sll $2, $5, 2 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 Machine (object) code (for MIPS) 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000 one-to-many C Compiler one-to-one Assembler

Code Input to Device Object Code Memory Processor Devices Network 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000 100011 00010 01111 0000000000000000 100011 00010 10000 0000000000000100 101011 00010 10000 0000000000000000 101011 00010 01111 0000000000000100 000000 11111 00000 0000000000001000 Object Code Memory Processor Devices Network Input Output Control Datapath

Code Stored in Memory Memory Processor Devices Network Input Output Control Datapath 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000 100011 00010 01111 0000000000000000 100011 00010 10000 0000000000000100 101011 00010 10000 0000000000000000 101011 00010 01111 0000000000000100 000000 11111 00000 0000000000001000

Code Fetch from Memory Memory Processor Devices Network Input Output Control Datapath 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000 100011 00010 01111 0000000000000000 100011 00010 10000 0000000000000100 101011 00010 10000 0000000000000000 101011 00010 01111 0000000000000100 000000 11111 00000 0000000000001000

Decoding Code Processor Devices Network Input Output Control Datapath 000000 00100 00010 0001000000100000 Memory

Executing Code Processor Devices Network Input Output Control Datapath Memory 000000 00100 00010 0001000000100000 Add Reg #4 and Reg #2, put result in Reg #2 Control decodes the instruction to determine what to execute Datapath executes the instruction as directed by control

The Cycle Processor fetches the next instruction from memory Decode Execute Processor fetches the next instruction from memory How does it know which location in memory to fetch from next?

Data Output to Device Memory Processor Devices Network Input Output Control Datapath 00000100010100000000000000000000 00000000010011110000000000000100 00000011111000000000000000001000

Instruction Set Architecture (ISA) ISA, or simply architecture – the abstract interface between the hardware and the lowest level software that includes all the information necessary to write a machine language program, including instructions, registers, memory access, I/O, etc. Enables implementations of varying cost and performance to run identical software. The combination of the basic instruction set (the ISA) and the operating system interface is called the Application Binary Interface (ABI). The user portion of the instruction set plus the operating system interfaces used by application programmers. Define a standard for binary portability across computers.

MIPS ISA Instruction Categories 3 instruction formats: all 32-bit wide Load/Store Computational Jump and Branch Floating Point Memory Management Special 3 instruction formats: all 32-bit wide R0–R31 PC HI LO Registers OP rs rt rd sa funct immediate jump target

Computer Architecture Circuit Design Digital Design Datapath & Control Memory System Processor I/O System Network Applications Operation System Compiler Firmware Instruction Set Architecture Coordination of many levels of abstraction Under a rapidly changing set of forces Design, measurement, and evaluation