Samira Khan University of Virginia Aug 28, 2017

Slides:



Advertisements
Similar presentations
Computer Architecture Lecture 2: Fundamental Concepts and ISA Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 1/16/2013.
Advertisements

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.
ECE 232 L2 Basics.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 2 Computer.
CS 300 – Lecture 2 Intro to Computer Architecture / Assembly Language History.
3.1Introduction to CPU Central processing unit etched on silicon chip called microprocessor Contain tens of millions of tiny transistors Key components:
Computer Architecture Lecture 01 Fasih ur Rehman.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
Multi-core Programming Introduction Topics. Topics General Ideas Moore’s Law Amdahl's Law Processes and Threads Concurrency vs. Parallelism.
Hardware and Software Basics Shirley Moore and Kay Roy CS 1401 Spring 2013 January 24/28, 2013.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.
Computer Organization and Design Computer Abstractions and Technology
Parallelism: A Serious Goal or a Silly Mantra (some half-thought-out ideas)
General Concepts of Computer Organization Overview of Microcomputer.
Computer Architecture And Organization UNIT-II General System Architecture.
Computer Architecture Lecture 2: Fundamental Concepts and ISA
Computer Engineering Rabie A. Ramadan Lecture 1. 2 Welcome Back.
Computer Architecture CPSC 350
Indira Gandhi National Open University presents. A Video Lecture Course: Computer Platforms.
Computer Architecture 2 nd year (computer and Information Sc.)
Dept. of Computer Science - CS6461 Computer Architecture CS6461 – Computer Architecture Fall 2015 Lecture 1 – Introduction Adopted from Professor Stephen.
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
Von Neumann Computers Article Authors: Rudolf Eigenman & David Lilja
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
Computer Architecture
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Samira Khan University of Virginia Jan 26, 2016 COMPUTER ARCHITECTURE CS 6354 Fundamental Concepts: Computing Models The content and concept of this course.
Computer Architecture Lecture 2: Fundamental Concepts and ISA Prof. Onur Mutlu Carnegie Mellon University Spring 2015, 1/14/2014.
Computer Architecture: Multi-Core Processors: Why? Prof. Onur Mutlu Carnegie Mellon University.
Computer Architecture Lecture 2: Fundamental Concepts and ISA Prof. Onur Mutlu Carnegie Mellon University Spring 2014, 1/15/2014.
Chapter I: Introduction to Computer Science. Computer: is a machine that accepts input data, processes the data and creates output data. This is a specific-purpose.
نظام المحاضرات الالكترونينظام المحاضرات الالكتروني Introduction :: Computer Organization and Architecture Computer.
Fall 2012 Parallel Computer Architecture Lecture 4: Multi-Core Processors Prof. Onur Mutlu Carnegie Mellon University 9/14/2012.
William Stallings Computer Organization and Architecture 6th Edition
Computer Organization and Architecture Lecture 1 : Introduction
The CPU, RISC and CISC Component 1.
Computer Organization and Machine Language Programming CPTG 245
740: Computer Architecture Guidelines on Paper Reviews
Computer Architecture Lecture 2: Fundamental Concepts and ISA
15-740/ Computer Architecture Lecture 3: Performance
Chapter 1 Introduction.
Precise Exceptions and Out-of-Order Execution
Prof. Onur Mutlu Carnegie Mellon University
15-740/ Computer Architecture Lecture 7: Pipelining
Architecture & Organization 1
Prof. Gennady Pekhimenko University of Toronto Fall 2017
Computer Architecture and Organization
Computer Architecture CSCE 350
Architecture & Organization 1
BIC 10503: COMPUTER ARCHITECTURE
T Computer Architecture, Autumn 2005
3.1 Introduction to CPU Central processing unit etched on silicon chip called microprocessor Contain tens of millions of tiny transistors Key components:
Samira Khan University of Virginia Aug 29, 2018
Chapter 1 Introduction.
INTRODUCTION TO COMPUTER ARCHITECTURE
Computer Architecture
What is Computer Architecture?
Introduction to Microprocessor Programming
ECE 352 Digital System Fundamentals
COMS 361 Computer Organization
What is Computer Architecture?
What is Computer Architecture?
Computer Architecture Lecture 3a: Some Fundamentals
Samira Khan University of Virginia Jan 23, 2019
Computer Architecture Lecture 2b: Course Logistics
Samira Khan University of Virginia Jan 16, 2019
Design of Digital Circuits Guidelines on Paper Reviews
CSE378 Introduction to Machine Organization
Prof. Onur Mutlu Carnegie Mellon University
Chapter 4 The Von Neumann Model
Presentation transcript:

Samira Khan University of Virginia Aug 28, 2017 COMPUTER ARCHITECTURE CS 6354 Fundamental Concepts: Computing Models Samira Khan University of Virginia Aug 28, 2017 The content and concept of this course are adapted from CMU ECE 740

AGENDA Review from last lecture Why study computer architecture? Fundamental concepts Computing models

LAST LECTURE RECAP What it means/takes to be a good (computer) architect Roles of a computer architect (look everywhere!) Levels of transformation Abstraction layers, their benefits, and the benefits of comfortably crossing them An example problem and solution ideas Solving DRAM Scaling with system-level detection and mitigation Course Logistics Assignments: HW (today), Review Set 1 (Wednesday)

REVIEW: KEY TAKEAWAY Breaking the abstraction layers (between components and transformation hierarchy levels) and knowing what is underneath enables you to solve problems and design better future systems Cooperation between multiple components and layers can enable more effective solutions and systems

HOW TO DO THE PAPER REVIEWS 1: Brief summary What is the problem the paper is trying to solve? What are the key ideas of the paper? Key insights? What is the key contribution to literature at the time it was written? What are the most important things you take out from it? 2: Strengths (most important ones) Does the paper solve the problem well? 3: Weaknesses (most important ones) This is where you should think critically. Every paper/idea has a weakness. This does not mean the paper is necessarily bad. It means there is room for improvement and future research can accomplish this. 4: Can you do (much) better? Present your thoughts/ideas. 5: What have you learned/enjoyed/disliked in the paper? Why? Review should be short and concise (~half a page to a page)

AGENDA Review from last lecture Why study computer architecture? Fundamental concepts Computing models

AN ENABLER: MOORE’S LAW Moore, “Cramming more components onto integrated circuits,” Electronics Magazine, 1965. Component counts double every other year Image source: Intel

Number of transistors on an integrated circuit doubles ~ every two years Image source: Wikipedia

RECOMMENDED READING Moore, “Cramming more components onto integrated circuits,” Electronics Magazine, 1965. Only 3 pages A quote: “With unit cost falling as the number of components per circuit rises, by 1975 economics may dictate squeezing as many as 65 000 components on a single silicon chip.” Another quote: “Will it be possible to remove the heat generated by tens of thousands of components in a single silicon chip?”

WHAT DO WE USE THESE TRANSISTORS FOR? Your readings for this week should give you an idea… Mutlu and Subramanium, “Research Problems and Opportunities in Memory Systems,” SUPERFRI 2015.

WHY STUDY COMPUTER ARCHITECTURE? Enable better systems: make computers faster, cheaper, smaller, more reliable, … By exploiting advances and changes in underlying technology/circuits Enable new applications Life-like 3D visualization 20 years ago? Virtual reality? Personalized genomics? Personalized medicine? Enable better solutions to problems Software innovation is built into trends and changes in computer architecture > 50% performance improvement per year has enabled this innovation Understand why computers work the way they do

COMPUTER ARCHITECTURE TODAY (I) Today is a very exciting time to study computer architecture Industry is in a large paradigm shift (to multi-core and beyond: accelerators, FPGAs, processing-in-memory) – many different potential system designs possible Many difficult problems motivating and caused by the shift Power/energy constraints  multi-core? Complexity of design  multi-core? Difficulties in technology scaling  new technologies? Memory wall/gap Reliability wall/issues Programmability wall/problem Huge hunger for data and new data-intensive applications No clear, definitive answers to these problems

COMPUTER ARCHITECTURE TODAY (II) These problems affect all parts of the computing stack – if we do not change the way we design systems No clear, definitive answers to these problems Problem Many new demands from the top (Look Up) Algorithm Program/Language User Fast changing demands and personalities of users (Look Up) Runtime System (VM, OS, MM) ISA Microarchitecture Many new issues at the bottom (Look Down) Logic Circuits Electrons

COMPUTER ARCHITECTURE TODAY (III) Computing landscape is very different from 10-20 years ago Both UP (software and humanity trends) and DOWN (technologies and their issues), FORWARD and BACKWARD, and the resulting requirements and constraints Hybrid Main Memory Persistent Memory/Storage Microsoft Catapult (FPGA) General Purpose GPUs Heterogeneous Processors Every component and its interfaces, as well as entire system designs are being re-examined

COMPUTER ARCHITECTURE TODAY (IV) You can revolutionize the way computers are built, if you understand both the hardware and the software (and change each accordingly) You can invent new paradigms for computation, communication, and storage Recommended book: Thomas Kuhn, “The Structure of Scientific Revolutions” (1962) Pre-paradigm science: no clear consensus in the field Normal science: dominant theory used to explain/improve things (business as usual); exceptions considered anomalies Revolutionary science: underlying assumptions re-examined

Thomas S Kuhn PhD in Physics from Harvard in 1949 During his PhD switched from physics to the History and Philosophy of Science Joined University of California Berkeley as a professor of the History of Science in 1961 Wrote the book “Structure of the Scientific Revolutions” in 1962

COMPUTER ARCHITECTURE TODAY (IV) You can revolutionize the way computers are built, if you understand both the hardware and the software (and change each accordingly) You can invent new paradigms for computation, communication, and storage Recommended book: Thomas Kuhn, “The Structure of Scientific Revolutions” (1962) Pre-paradigm science: no clear consensus in the field Normal science: dominant theory used to explain/improve things (business as usual); exceptions considered anomalies Revolutionary science: underlying assumptions re-examined

So What is the Structure of Scientific Revolutions? Step 2: Normal Science Step 4: Crisis and Emergence of Scientific Theory Step 5: Scientific Revolution Step 3: Anomaly Step 1: Pre-paradigm History of Science

COMPUTER ARCHITECTURE TODAY (IV) Thomas Kuhn, “The Structure of Scientific Revolutions” (1962)

… BUT, FIRST … Let’s understand the fundamentals… You can change the world only if you understand it well enough… Especially the past and present dominant paradigms And, their advantages and shortcomings – tradeoffs And, what remains fundamental across generations And, what techniques you can use and develop to solve problems

AGENDA Review from last lecture Why study computer architecture? Fundamental concepts Computing models

WHAT IS A COMPUTER? Three key components Computation Communication Storage (memory)

WHAT IS A COMPUTER? Processing Memory I/O (program and data) control (sequencing) datapath

THE VON NEUMANN MODEL/ARCHITECTURE Also called stored program computer (instructions in memory). Two key properties: Stored program Instructions stored in a linear memory array Memory is unified between instructions and data The interpretation of a stored value depends on the control signals Sequential instruction processing One instruction processed (fetched, executed, and completed) at a time Program counter (instruction pointer) identifies the current instr. Program counter is advanced sequentially except for control transfer instructions When is a value interpreted as an instruction?

THE VON NEUMANN MODEL/ARCHITECTURE Recommended reading Burks, Goldstein, Von Neumann, “Preliminary discussion of the logical design of an electronic computing instrument,” 1946. Stored program Sequential instruction processing

THE VON NEUMANN MODEL (OF A COMPUTER) MEMORY Mem Addr Reg Mem Data Reg PROCESSING UNIT INPUT OUTPUT ALU TEMP CONTROL UNIT IP Inst Register

THE VON NEUMANN MODEL (OF A COMPUTER) Q: Is this the only way that a computer can operate? A: No. Qualified Answer: But, it has been the dominant way i.e., the dominant paradigm for computing for N decades

THE DATA FLOW MODEL (OF A COMPUTER) Von Neumann model: An instruction is fetched and executed in control flow order As specified by the instruction pointer Sequential unless explicit control flow instruction Dataflow model: An instruction is fetched and executed in data flow order i.e., when its operands are ready i.e., there is no instruction pointer Instruction ordering specified by data flow dependence Each instruction specifies “who” should receive the result An instruction can “fire” whenever all operands are received Potentially many instructions can execute at the same time Inherently more parallel

VON NEUMANN VS DATAFLOW Consider a Von Neumann program What is the significance of the program order? What is the significance of the storage locations? Which model is more natural to you as a programmer? a b v <= a + b; w <= b * 2; x <= v - w y <= v + w z <= x * y + *2 - + Sequential * Dataflow z

MORE ON DATA FLOW In a data flow machine, a program consists of data flow nodes A data flow node fires (fetched and executed) when all it inputs are ready i.e. when all inputs have tokens Data flow node and its ISA representation

DATA FLOW NODES

Samira Khan University of Virginia Aug 28, 2017 COMPUTER ARCHITECTURE CS 6354 Fundamental Concepts: Computing Models Samira Khan University of Virginia Aug 28, 2017 The content and concept of this course are adapted from CMU ECE 740