MIPS Processor Chapter 12 S. Dandamudi. 2005 To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,

Slides:



Advertisements
Similar presentations
Instruction Set Design
Advertisements

Chapter 8: Central Processing Unit
1 Lecture 3: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation.
RISC / CISC Architecture By: Ramtin Raji Kermani Ramtin Raji Kermani Rayan Arasteh Rayan Arasteh An Introduction to Professor: Mr. Khayami Mr. Khayami.
Tuan Tran. What is CISC? CISC stands for Complex Instruction Set Computer. CISC are chips that are easy to program and which make efficient use of memory.
PART 4: (2/2) Central Processing Unit (CPU) Basics CHAPTER 13: REDUCED INSTRUCTION SET COMPUTERS (RISC) 1.
Chapter 13 Reduced Instruction Set Computers (RISC) CISC – Complex Instruction Set Computer RISC – Reduced Instruction Set Computer HW: 13.6, 13.7 (Due.
Chapter XI Reduced Instruction Set Computing (RISC) CS 147 Li-Chuan Fang.
S. Barua – CPSC 440 CHAPTER 2 INSTRUCTIONS: LANGUAGE OF THE COMPUTER Goals – To get familiar with.
Chapter 2.2 Machine Language.
Microprocessors Introduction to RISC Mar 19th, 2002.
RISC. Rational Behind RISC Few of the complex instructions were used –data movement – 45% –ALU ops – 25% –branching – 30% Cheaper memory VLSI technology.
11/11/05ELEC CISC (Complex Instruction Set Computer) Veeraraghavan Ramamurthy ELEC 6200 Computer Architecture and Design Fall 2005.
Unit -II CPU Organization By- Mr. S. S. Hire. CPU organization.
Chapter 13 Reduced Instruction Set Computers (RISC) CISC – Complex Instruction Set Computer RISC – Reduced Instruction Set Computer.
Reduced Instruction Set Computers (RISC) Computer Organization and Architecture.
Processor Organization and Architecture
COMPUTER ORGANIZATIONS CSNB123 May 2014Systems and Networking1.
RISC and CISC. Dec. 2008/Dec. and RISC versus CISC The world of microprocessors and CPUs can be divided into two parts:
Computer Organization and Architecture Reduced Instruction Set Computers (RISC) Chapter 13.
CH13 Reduced Instruction Set Computers {Make hardware Simpler, but quicker} Key features  Large number of general purpose registers  Use of compiler.
X86 Assembly Language Same Assembly Language for 8086,80286,80386,80486,Pentium I II and III Newer Processors add a few instructions but include all instructions.
Data Representation By- Mr. S. S. Hire. Data Representation.
Instruction Set Architecture
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Chapter 1 An Introduction to Processor Design 부산대학교 컴퓨터공학과.
Computer architecture Lecture 11: Reduced Instruction Set Computers Piotr Bilski.
1 (Based on text: David A. Patterson & John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd Ed., Morgan Kaufmann,
Part 1.  Intel x86/Pentium family  32-bit CISC processor  SUN SPARC and UltraSPARC  32- and 64-bit RISC processors  Java  C  C++  Java  Why Java?
Chapter 8 CPU and Memory: Design, Implementation, and Enhancement The Architecture of Computer Hardware and Systems Software: An Information Technology.
Instruction Set Architecture The portion of the machine visible to the programmer Issues: Internal storage model Addressing modes Operations Operands Encoding.
CBP 2009Comp 3014 The Nature of Computing 1 Choices in Designing an ISA Uniformity. Should each instruction –Be the same length (in bits or bytes?) –Take.
Chapter 2 Data Manipulation. © 2005 Pearson Addison-Wesley. All rights reserved 2-2 Chapter 2: Data Manipulation 2.1 Computer Architecture 2.2 Machine.
Ted Pedersen – CS 3011 – Chapter 10 1 A brief history of computer architectures CISC – complex instruction set computing –Intel x86, VAX –Evolved from.
RISC and CISC. What is CISC? CISC is an acronym for Complex Instruction Set Computer and are chips that are easy to program and which make efficient use.
COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE Lecture 19 & 20 Instruction Formats PDP-8,PDP-10,PDP-11 & VAX Course Instructor: Engr. Aisha Danish.
Addressing Modes Chapter 6 S. Dandamudi To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,
Differences in ISA Instruction length
Oct. 25, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 9: Alternative Instruction Sets * Jeremy R. Johnson Wed. Oct. 25, 2000.
M. Mateen Yaqoob The University of Lahore Spring 2014.
Crosscutting Issues: The Rôle of Compilers Architects must be aware of current compiler technology Compiler Architecture.
ECEG-3202 Computer Architecture and Organization Chapter 7 Reduced Instruction Set Computers.
Reduced Instruction Set Computers. Major Advances in Computers(1) The family concept —IBM System/ —DEC PDP-8 —Separates architecture from implementation.
COMPUTER ORGANIZATIONS CSNB123 NSMS2013 Ver.1Systems and Networking1.
EECS 322 March 18, 2000 RISC - Reduced Instruction Set Computer Reduced Instruction Set Computer  By reducing the number of instructions that a processor.
ISA's, Compilers, and Assembly
RISC / CISC Architecture by Derek Ng. Overview CISC Architecture RISC Architecture  Pipelining RISC vs CISC.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
Recursion Chapter 16 S. Dandamudi To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer, 2005.
CISC. What is it?  CISC - Complex Instruction Set Computer  CISC is a design philosophy that:  1) uses microcode instruction sets  2) uses larger.
Addressing modes, memory architecture, interrupt and exception handling, and external I/O. An ISA includes a specification of the set of opcodes (machine.
Topics to be covered Instruction Execution Characteristics
Immediate Addressing Mode
Choices in Designing an ISA
Advanced Topic: Alternative Architectures Chapter 9 Objectives
Overview Introduction General Register Organization Stack Organization
An example of multiplying two numbers A = A * B;
Chapter 1 Fundamentals of Computer Design
Computer Architecture
Central Processing Unit
CISC AND RISC SYSTEM Based on instruction set, we broadly classify Computer/microprocessor/microcontroller into CISC and RISC. CISC SYSTEM: COMPLEX INSTRUCTION.
William Stallings Computer Organization and Architecture 8th Edition
Introduction to Microprocessor Programming
Chapter 12 Pipelining and RISC
Lecture 4: Instruction Set Design/Pipelining
COMPUTER ORGANIZATION AND ARCHITECTURE
Presentation transcript:

MIPS Processor Chapter 12 S. Dandamudi

2005 To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,  S. Dandamudi Chapter 12: Page 2 Outline Introduction Evolution of CISC Processors RISC Design Principles MIPS Architecture

2005 To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,  S. Dandamudi Chapter 12: Page 3 Introduction CISC  Complex instruction set »Pentium is the most popular example RISC  Simple instructions »Reduced complexity  Modern processors use this design philosophy »PowerPC, MIPS, SPARC, Intel Itanium –Borrow some features from CISC  No precise definition »We can identify some common characteristics

2005 To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,  S. Dandamudi Chapter 12: Page 4 Evolution of CISC Processors Motivation to efficiently use expensive resources  Processor  Memory High density code  Complex instructions »Hardware complexity is handled by microprogramming »Microprogramming is also helpful to –Reduce the impact of memory access latency –Offers flexibility  Low-cost members of the same family  Tailored to high-level language constructs

2005 To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,  S. Dandamudi Chapter 12: Page 5 Evolution of CISC Designs (cont’d)

2005 To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,  S. Dandamudi Chapter 12: Page 6 Evolution of CISC Designs (cont’d) Example  Autoincrement addressing mode of VAX »Performs the following actions: (R2) = (R2) + R3; R2 = R2 + 1  RISC equivalent R4 = (R2) R4 = R4 + R3 (R2) = R4 R2 = R2 + 1

2005 To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,  S. Dandamudi Chapter 12: Page 7 Why RISC? Simple instructions  Complex instructions are mostly ignored by compilers »Due to semantic gap Few data types  Complex data structures are used relatively infrequently  Better to support a few simple data types efficiently »Synthesize complex ones Simple addressing modes  Complex addressing modes lead to variable length instructions »Lead to inefficient instruction decoding and scheduling

2005 To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,  S. Dandamudi Chapter 12: Page 8 Why RISC? (cont’d) Large register set  Efficient support for procedure calls and returns »Patterson and Sequin’s study –Procedure call/return: 12  15% of HLL statements  Constitute 31  33% of machine language instructions  Generate nearly half (45%) of memory references  Small activation record »Tanenbaum’s study –Only 1.25% of the calls have more than 6 arguments –More than 93% have less than 6 local scalar variables –Large register set can avoid memory references

2005 To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,  S. Dandamudi Chapter 12: Page 9 RISC Design Principles Simple operations  Simple instructions that can execute in one cycle »Operations can be hardwired (see next figure) Register-to-register operations  Only load and store operations access memory  Rest of the operations on a register-to-register basis Simple addressing modes  A few addressing modes (1 or 2) Large number of registers  Needed to support register-to-register operations  Minimize the procedure call and return overhead

2005 To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,  S. Dandamudi Chapter 12: Page 10 RISC Design Principles (cont’d)

2005 To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,  S. Dandamudi Chapter 12: Page 11 RISC Design Principles (cont’d) Fixed-length instructions  Facilitates efficient instruction execution Simple instruction format  Fixed boundaries for various fields »opcode, source operands,… Other features  Tend to use Harvard architecture  Pipelining is visible at the architecture level

2005 To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,  S. Dandamudi Chapter 12: Page 12 MIPS Architecture Registers  32 general-purpose »Identified as $0, $1, …,$31 »Register $0 is hardwired to zero –Used when zero operand is needed »Register $31 is used as the link register –Used to store the return address of a procedure  A Program counter (PC)  2 special-purpose »HI and LO registers –Used in multiply and divide operations

2005 To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,  S. Dandamudi Chapter 12: Page 13 MIPS Architecture (cont’d)

2005 To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,  S. Dandamudi Chapter 12: Page 14 MIPS Architecture (cont’d) MIPS registers and their conventional usage

2005 To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,  S. Dandamudi Chapter 12: Page 15 MIPS Architecture (cont’d) MIPS addressing modes  Bare machine supports only a single addressing mode disp(Rx)  Virtual machine provides several additional addressing modes

2005 To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,  S. Dandamudi Chapter 12: Page 16 Memory Usage Placement of segments allows sharing of unused memory by both data and stack segments Last slide