CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.

Slides:



Advertisements
Similar presentations
1 Pipelining Part 2 CS Data Hazards Data hazards occur when the pipeline changes the order of read/write accesses to operands that differs from.
Advertisements

1 ECE462/562 ISA and Datapath Review Ali Akoglu. 2 Instruction Set Architecture A very important abstraction –interface between hardware and low-level.
CS1104: Computer Organisation School of Computing National University of Singapore.
Lecture Objectives: 1)Define pipelining 2)Calculate the speedup achieved by pipelining for a given number of instructions. 3)Define how pipelining improves.
ELEN 468 Advanced Logic Design
331 W08.1Spring :332:331 Computer Architecture and Assembly Language Spring 2006 Week 8: Datapath Design [Adapted from Dave Patterson’s UCB CS152.
CS-447– Computer Architecture Lecture 12 Multiple Cycle Datapath
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 23 - Course.
Lec 17 Nov 2 Chapter 4 – CPU design data path design control logic design single-cycle CPU performance limitations of single cycle CPU multi-cycle CPU.
Computer ArchitectureFall 2007 © October 3rd, 2007 Majd F. Sakr CS-447– Computer Architecture.
Lecture 16: Basic CPU Design
Shift Instructions (1/4)
S. Barua – CPSC 440 CHAPTER 5 THE PROCESSOR: DATAPATH AND CONTROL Goals – Understand how the various.
CS 61C: Great Ideas in Computer Architecture (Machine Structures) Lecture 27: Single-Cycle CPU Datapath Design Instructor: Sr Lecturer SOE Dan Garcia
Lecture 24: CPU Design Today’s topic –Multi-Cycle ALU –Introduction to Pipelining 1.
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
CDA 3101 Fall 2012 Introduction to Computer Organization Instruction Set Architecture MIPS Instruction Format 04 Sept 2013.
CS-2710 Computer Organization Dr. Mark L. Hornick web: faculty-web.msoe.edu/hornick – CS-2710 info syllabus, homework, labs… –
1 A Simple but Realistic Assembly Language for a Course in Computer Organization Eric Larson Moon Ok Kim Seattle University October 25, 2008.
Chapter 1 An Introduction to Processor Design 부산대학교 컴퓨터공학과.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
Processor: Datapath and Control
Chapter 4 The Processor CprE 381 Computer Organization and Assembly Level Programming, Fall 2012 Revised from original slides provided by MKP.
CSE 340 Computer Architecture Summer 2014 Basic MIPS Pipelining Review.
CS.305 Computer Architecture Enhancing Performance with Pipelining Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005, and from.
Computer Organization CS224 Fall 2012 Lesson 22. The Big Picture  The Five Classic Components of a Computer  Chapter 4 Topic: Processor Design Control.
EECS 322: Computer Architecture
ECE 445 – Computer Organization
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /19/2013 Lecture 17: The Processor - Overview Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER.
CDA 3101 Fall 2013 Introduction to Computer Organization
Computer Organization & Programming Chapter 6 Single Datapath CPU Architecture.
CDA 3101 Fall 2013 Introduction to Computer Organization Multicycle Datapath 9 October 2013.
1 A single-cycle MIPS processor  An instruction set architecture is an interface that defines the hardware operations which are available to software.
ECE 15B Computer Organization Spring 2011 Dmitri Strukov Partially adapted from Computer Organization and Design, 4 th edition, Patterson and Hennessy,
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
Lecture 17 Final Review Prof. Mike Schulte Computer Architecture ECE 201.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
CPU Overview Computer Organization II 1 February 2009 © McQuain & Ribbens Introduction CPU performance factors – Instruction count n Determined.
LECTURE 7 Pipelining. DATAPATH AND CONTROL We started with the single-cycle implementation, in which a single instruction is executed over a single cycle.
Introduction to Computer Organization Pipelining.
COM181 Computer Hardware Lecture 6: The MIPs CPU.
CDA 3101 Spring 2016 Introduction to Computer Organization Microprogramming and Exceptions 08 March 2016.
1 Lecture 20: OOO, Memory Hierarchy Today’s topics:  Out-of-order execution  Cache basics.
Computer Organization
A Closer Look at Instruction Set Architectures
CSCI206 - Computer Organization & Programming
Lecture 15: Basic CPU Design
Morgan Kaufmann Publishers
Introduction CPU performance factors
ELEN 468 Advanced Logic Design
Morgan Kaufmann Publishers
Processor Architecture: Introduction to RISC Datapath (MIPS and Nios II) CSCE 230.
CDA 3101 Spring 2016 Introduction to Computer Organization
Computer Architecture (CS 207 D) Instruction Set Architecture ISA
Pipelining: Advanced ILP
Instructions - Type and Format
CSCI206 - Computer Organization & Programming
Morgan Kaufmann Publishers The Processor
Rocky K. C. Chang 6 November 2017
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Guest Lecturer TA: Shreyas Chand
Lecture 20: OOO, Memory Hierarchy
Lecture 20: OOO, Memory Hierarchy
Instruction Execution Cycle
MIPS Microarchitecture Multicycle Processor
COMS 361 Computer Organization
COMP541 Datapaths I Montek Singh Mar 18, 2010.
Chapter Four The Processor: Datapath and Control
Lecture 4: Instruction Set Design/Pipelining
Introduction to Computer Systems Engineering
Presentation transcript:

CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks

2 Part 2 (and link to Part 1)  Apparently disjoint  In Part 1 you studied digital logic  In Part 2 we made use of the building blocks you studied in Part 1 to design computer architectures  We designed computers at a high level of abstraction  Your ISA, datapath, control unit design, etc. will be passed over to your EE/ECE friend who will “implement” it in silicon

3 Those who will not design computer architecture  This course will (hopefully) help you to write good programs  You have learnt that variables are stored in registers  You know how memory is organized (using pointers in C will no longer be difficult)  You know about spatial locality and its relation to caches  You know that some instructions take more time to execute than others (shift is better than mul)

4 Those who will design computer architecture  More advanced courses will build upon this course  Graduate-level Computer Architecture  Embedded Systems  Parallel Computer Architecture  This is a big and thriving research area

5 Those who will work at a bank  Hopefully you’ll be able to read product literature better and buy better computers for your office

6 What did we study? Topic 1  Performance evaluation  How to evaluate and compare the performance of different computers  How to summarize performance measurements (averages of execution times, normalized execution times, etc.)  Benchmarking (how should good benchmarks be designed)  CPU performance equation (instruction count, clock cycles per instruction, clock cycle time, how are they determined, what is the relationship between them, how do they change, etc.)  Amdahl’s law (lesson: make the common case fast)

7 Topic 2  Instruction set architecture (ISA)  Executing a stored program – basic organization (ALU, instruction and data memory, machine instructions, what is a program counter, how is a program “executed”, etc.)  What is an ISA?  Storage options on the processor (stack, accumulator, register memory, register load-store, etc.) and their advantages and disadvantages  Memory addressing schemes – big and little endian, word alignment, addressing modes like register, immediate, displacement, direct, register indirect, etc. Which are the most common ones among these? What are their relative advantages and disadvantages  Operations in an instruction set (data transfer, arithmetic/logical, control flow, etc)  Encoding an instruction set (variable, fixed and hybrid encodings)  Different possibilities involved in a design and the associated tradeoffs

8 Topic 3  MIPS assembly language programming  Organization (number of registers, their functions, etc.)  Instruction formats (R-format, I-format, J-format) and their associated fields  Addressing modes (register, immediate, displacement, PC- relative)  Control flow (conditional branches, jumps, etc)  Creating and manipulating arrays  Pseudo-instructions  Simple programming

9 Topic 4  Single-cycle control and datapath  The different components – register file, instruction memory, data memory, PC, ALU, etc – their inputs and outputs  Which parts of the datapath are active during the execution of common instructions: R-format instructions like ADD, I-format instructions like ADDI, LW and SW, instructions for conditional branches, J-format instructions  Putting the above pieces of the datapath together to construct the complete datapath  Which control signals have to be active for each instruction execution? For example, what should be the values of the different control signals during the execution of ADD, or Jump, or BEQ?  How should the control unit be designed – link to the Part 1 of this course

10 Topic 5  Multicycle control and datapath  Differences with the single-cycle implementation  Consequences, advantages and disadvantages of multicycle implementations  Breaking an instruction execution into multiple steps – instruction fetch, instruction decode, execution/memory address computation/branch completion, etc.  For different instruction classes like R-format, or LW/SW, or Jump, how does each of the above steps look like?  What are the active control signals during each of the above steps for different instruction classes?  How is the control unit designed?

11 Topic 6  Pipelining  The basic concept of pipelining, ideal speedup, what makes pipelining easy and difficult  Breaking up instruction execution into stages, comparisons with single-cycle and multicycle datapath  Concept of pipeline registers, how do the different execution stages look like for common instructions like LW, when do pipeline registers get written and when are they read  Graphically representing instruction execution in pipelines  Designing the control unit for pipelined datapath, how is it similar to single- cycle datapath  Hazards, types of hazards (structural, data, control)  Why structural hazards do not occur in MIPS  Hardware and software solutions for data hazards  How to avoid RaW hazards in MIPS – forwarding  Conditions for detecting hazards, forwarding hardware, conditions for forwarding  Stalling, conditions  Control hazard, branch prediction  Exceptions NOT included in the syllabus

12 Topic 7  Memory Hierarchy and Caches  Different types of memories, motivation behind hierarchical organization  Concept of temporal and spatial locality  Caches, concept of blocks, hits, misses  Direct mapped caches – index, offset, tag, Total size of a cache (tag + data)  How to map memory addresses to caches  Different kinds of memory organizations and associated cache penalties  Tradeoffs between block size and miss rate  Set-associative caches, locating data in the cache, total size of the cache  Cache replacement policies

13  Only few basic principles  Read the textbook  Make sure that you understand how simple instructions are executed on a datapath and what the values of the corresponding control signals are Seems we studied a lot!

14  50 Marks from Part 1, 50 Marks from Part 2  20 MCQs (10 from Part 1, 10 from Part 2) – 20 Marks  2 long questions from Part 1 – Marks  2 long questions from Part 2 – Marks Examination

15 Best of luck for the examination!