Topics covered so far... What is architecture? 4 design principles

Slides:



Advertisements
Similar presentations
CS/COE1541: Introduction to Computer Architecture Datapath and Control Review Sangyeun Cho Computer Science Department University of Pittsburgh.
Advertisements

Adding the Jump Instruction
1 ECE462/562 ISA and Datapath Review Ali Akoglu. 2 Instruction Set Architecture A very important abstraction –interface between hardware and low-level.
1 ECE369 ECE369 Chapter 2. 2 ECE369 Instruction Set Architecture A very important abstraction –interface between hardware and low-level software –standardizes.
1  1998 Morgan Kaufmann Publishers Summary:. 2  1998 Morgan Kaufmann Publishers How many cycles will it take to execute this code? lw $t2, 0($t3) lw.
Chapter 2 Instructions: Language of the Computer
Chapter 2.
Datorteknik DatapathControl bild 1 Designing a Single Cycle Datapath & Datapath Control.
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
Lecture 5 Sept 14 Goals: Chapter 2 continued MIPS assembly language instruction formats translating c into MIPS - examples.
S. Barua – CPSC 440 CHAPTER 5 THE PROCESSOR: DATAPATH AND CONTROL Goals – Understand how the various.
CDA 3101 Fall 2012 Introduction to Computer Organization Instruction Set Architecture MIPS Instruction Format 04 Sept 2013.
2015/10/22\course\cpeg323-08F\Final-Review F.ppt1 Midterm Review Introduction to Computer Systems Engineering (CPEG 323)
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.
EECS 322: Computer Architecture
1 Computer Organization & Design Microcode for Control Sec. 5.7 (CDROM) Appendix C (CDROM) / / pdf / lec_3a_notes.pdf.
Oct. 25, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 9: Alternative Instruction Sets * Jeremy R. Johnson Wed. Oct. 25, 2000.
Csci 136 Computer Architecture II – Summary of MIPS ISA Xiuzhen Cheng
 1998 Morgan Kaufmann Publishers MIPS arithmetic All instructions have 3 operands Operand order is fixed (destination first) Example: C code: A = B +
Chapter 2 CSF 2009 The MIPS Assembly Language. Stored Program Computers Instructions represented in binary, just like data Instructions and data stored.
Computer Organization CS224 Fall 2012 Lessons 7 and 8.
1 CS/COE0447 Computer Organization & Assembly Language Chapter 5 Part 2.
COM181 Computer Hardware Lecture 6: The MIPs CPU.
Instruction Set Architecture Chapter 3 – P & H. Introduction Instruction set architecture interface between programmer and CPU Good ISA makes program.
1  2004 Morgan Kaufmann Publishers No encoding: –1 bit for each datapath operation –faster, requires more memory (logic) –used for Vax 780 — an astonishing.
CDA 3101 Spring 2016 Introduction to Computer Organization Microprogramming and Exceptions 08 March 2016.
CHAPTER 2 Instruction Set Architecture 3/21/
MIPS Assembly.
CS161 – Design and Architecture of Computer Systems
Instruction Set Architecture
ELEN 468 Advanced Logic Design
Computer Organization & Design Microcode for Control Sec. 5
Morgan Kaufmann Publishers
Processor Architecture: Introduction to RISC Datapath (MIPS and Nios II) CSCE 230.
The University of Adelaide, School of Computer Science
CS/COE0447 Computer Organization & Assembly Language
Computer Architecture (CS 207 D) Instruction Set Architecture ISA
CS/COE0447 Computer Organization & Assembly Language
Instructions - Type and Format
Lecture 4: MIPS Instruction Set
Systems Architecture I (CS ) Lecture 5: MIPS Instruction Set*
CSCI206 - Computer Organization & Programming
Systems Architecture Lecture 5: MIPS Instruction Set
CS/COE0447 Computer Organization & Assembly Language
CS/COE0447 Computer Organization & Assembly Language
A Multiple Clock Cycle Instruction Implementation
MIPS Instructions.
The University of Adelaide, School of Computer Science
Topic 5: Processor Architecture Implementation Methodology
CSE378 Midterm Review Moore’s Law -- What are the two versions?
The Processor Lecture 3.4: Pipelining Datapath and Control
Systems Architecture I
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Topic 5: Processor Architecture
Multicycle Approach We will be reusing functional units
Processor (II).
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Computer Instructions
September 17 Test 1 pre(re)view Fang-Yi will demonstrate Spim
COMP541 Datapaths I Montek Singh Mar 18, 2010.
UCSD ECE 111 Prof. Farinaz Koushanfar Fall 2018
Arrays versus Pointers
What is Computer Architecture?
CS/COE0447 Computer Organization & Assembly Language
Multi-Cycle Datapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Computer Architecture
CS/COE0447 Computer Organization & Assembly Language
Systems Architecture I (CS ) Lecture 5: MIPS Instruction Set*
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

Topics covered so far... What is architecture? 4 design principles Organization? Implementation? NO It ‘s an interface between hardware and software An abstraction presented to the programmer 4 design principles Design for the common case Smaller is faster KISS principle / simplicity favors regularity Good design demands compromise Little endian vs. Big endian Instruction classes Why divide into classes? How do I extend the current encoding to incorporate a new instruction? (eg. Where should the immediate go? Which one should be the src register? The destination register? Pseudoinstructions Use only actual MIPS instructions while expanding Eg. sqr rdest, rsrc 2/24/2019 Ashish Sabharwal

Topics covered so far… (cont’d) Procedure calls Calling conventions Which ones are caller saved ? Callee saved ? Stack usage subu $sp, $sp, 8 sw $t1, 4($sp) sw $t2, 0($sp) ….. lw $t1, 4($sp) lw $t2, 0($sp) addu $sp, $sp, 8 RISC vs. CISC Why was CISC good / bad ? Why is RISC good / bad ? Performance metrics What does CPI represent ? How is speedup calculated ? Why is execution time a good measure? Why was MIPS popular ? Is it a good metric ? While calculating, it’s a good idea to start with 100 instructions instead of working with fractions of 1. 2/24/2019 Ashish Sabharwal

Topics covered so far… (cont’d) Implementation techniques Datapath Control Know what signals are needed and why Can you roughly draw some datapath+control ? (though you will be given a figure in exam, if required) Single cycle vs. multicycle implementation Advantages of multicycle Can you go thru a multicycle implementation cycle by cycle ? Two techniques for actual implementation Finite state machines (direct hardware design) Microprogramming Know the distinction between these two options clearly Advantages / disadvantages earlier ? Advantages / disadvantages now ? 2/24/2019 Ashish Sabharwal

Performance: something to remember An improved program may not always have a lower CPI, but it will definitely have a lower execution time. (Similar to problem 7 on assignment 4) ALU ops 40% 1 cycle Load/stores 20% 2 cycles Branches 40% 3 cycles Original CPI = (40x1 + 20x2 + 40x3) / 100 = 2.0 Original execution time (assuming 100 instructions) = (40x1 + 20x2 + 40x3) = 200 cycles …. the new machine executes 1/2 less branches ….. New CPI = (40x1 + 20x2 + 20x3) / 80 = 1.75 execution time = (40x1 + 20x2 + 20x3) = 140 cycles …. the new machine executes 1/2 less ALU ops ….. New CPI = (20x1 + 20x2 + 40x3) / 80 = 2.25 execution time = (20x1 + 20x2 + 40x3) = 180 cycles 2/24/2019 Ashish Sabharwal

Addition to multicycle implementation Example - Add the following instruction to the multicycle implementation merge rdest, rlow, rhigh Semantics: Take the low order 16 bits of rlow, and merge them with the high order 16 bits of rhigh to form a 32 bit “merged” word. rlow = a31a30….a16a15……..a1a0 rhigh = b31b30….b16b15……..b1b0 rdest = b31b30….b16a15……..a1a0 Highlight used datapath (use your own judgement to not highlight things that do not relate directly to this instruction, such as PC increment) If required, add new components and label them If a mux widens, show that change clearly If width of a wire changes, mark the change It’s a good idea to bring 1 or 2 color pens/pencils to exam 2/24/2019 Ashish Sabharwal