RISC Architecture RISC vs CISC Sherwin Chan.

Slides:



Advertisements
Similar presentations
Instruction Level Parallelism and Superscalar Processors
Advertisements

CH14 Instruction Level Parallelism and Superscalar Processors
Instruction Set Design
Computer Organization and Architecture
CSCI 4717/5717 Computer Architecture
ELEN 468 Advanced Logic Design
PART 4: (2/2) Central Processing Unit (CPU) Basics CHAPTER 13: REDUCED INSTRUCTION SET COMPUTERS (RISC) 1.
Pipelining II Andreas Klappenecker CPSC321 Computer Architecture.
Chapter 14 Superscalar Processors. What is Superscalar? “Common” instructions (arithmetic, load/store, conditional branch) can be executed independently.
Chapter XI Reduced Instruction Set Computing (RISC) CS 147 Li-Chuan Fang.
Chapter 12 Pipelining Strategies Performance Hazards.
RISC By Don Nichols. Contents Introduction History Problems with CISC RISC Philosophy Early RISC Modern RISC.
RISC. Rational Behind RISC Few of the complex instructions were used –data movement – 45% –ALU ops – 25% –branching – 30% Cheaper memory VLSI technology.
Pipelined Processor II CPSC 321 Andreas Klappenecker.
Chapter 14 Instruction Level Parallelism and Superscalar Processors
(6.1) Central Processing Unit Architecture  Architecture overview  Machine organization – von Neumann  Speeding up CPU operations – multiple registers.
RISC CSS 548 Joshua Lo.
Reduced Instruction Set Computers (RISC) Computer Organization and Architecture.
RISC and CISC. Dec. 2008/Dec. and RISC versus CISC The world of microprocessors and CPUs can be divided into two parts:
CH13 Reduced Instruction Set Computers {Make hardware Simpler, but quicker} Key features  Large number of general purpose registers  Use of compiler.
Computer Organization and Architecture Instruction-Level Parallelism and Superscalar Processors.
Basics and Architectures
RISC:Reduced Instruction Set Computing. Overview What is RISC architecture? How did RISC evolve? How does RISC use instruction pipelining? How does RISC.
Chun Chiu. Overview What is RISC? Characteristics of RISC What is CISC? Why using RISC? RISC Vs. CISC RISC Pipelines Advantage of RISC / disadvantage.
What have mr aldred’s dirty clothes got to do with the cpu
Chapter 2 Parallel Architecture. Moore’s Law The number of transistors on a chip doubles every years. – Has been valid for over 40 years – Can’t.
RISC By Ryan Aldana. Agenda Brief Overview of RISC and CISC Features of RISC Instruction Pipeline Register Windowing and renaming Data Conflicts Branch.
Ramesh.B ELEC 6200 Computer Architecture & Design Fall /29/20081Computer Architecture & Design.
Chapter 8 CPU and Memory: Design, Implementation, and Enhancement The Architecture of Computer Hardware and Systems Software: An Information Technology.
RISC architecture and instruction Level Parallelism (ILP) based on “Computer Architecture: a Quantitative Approach” by Hennessy and Patterson, Morgan Kaufmann.
Comp Sci pipelining 1 Ch. 13 Pipelining. Comp Sci pipelining 2 Pipelining.
Ted Pedersen – CS 3011 – Chapter 10 1 A brief history of computer architectures CISC – complex instruction set computing –Intel x86, VAX –Evolved from.
ECEG-3202 Computer Architecture and Organization Chapter 7 Reduced Instruction Set Computers.
E X C E E D I N G E X P E C T A T I O N S VLIW-RISC CSIS Parallel Architectures and Algorithms Dr. Hoganson Kennesaw State University Instruction.
Cs 147 Spring 2010 Meg Genoar. History Started to emerge in mid-1970s 1988 – RISC took over workstation market.
CISC and RISC 12/25/ What is CISC? acronym for Complex Instruction Set Computer Chips that are easy to program and which make efficient use of memory.
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
EKT303/4 Superscalar vs Super-pipelined.
3/12/2013Computer Engg, IIT(BHU)1 CONCEPTS-1. Pipelining Pipelining is used to increase the speed of processing It uses temporal parallelism In pipelining,
Introduction to Computer Organization Pipelining.
Lecture 9. MIPS Processor Design – Pipelined Processor Design #1 Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System.
RISC / CISC Architecture by Derek Ng. Overview CISC Architecture RISC Architecture  Pipelining RISC vs CISC.
Jan. 5, 2000Systems Architecture II1 Machine Organization (CS 570) Lecture 1: Overview of High Performance Processors * Jeremy R. Johnson Wed. Sept. 27,
High Performance Computing1 High Performance Computing (CS 680) Lecture 2a: Overview of High Performance Processors * Jeremy R. Johnson *This lecture was.
1  2004 Morgan Kaufmann Publishers No encoding: –1 bit for each datapath operation –faster, requires more memory (logic) –used for Vax 780 — an astonishing.
Advanced Pipelining 7.1 – 7.5. Peer Instruction Lecture Materials for Computer Architecture by Dr. Leo Porter is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike.
Advanced Architectures
Instruction Level Parallelism
Central Processing Unit Architecture
A Closer Look at Instruction Set Architectures
3.3.3 Computer architectures
ELEN 468 Advanced Logic Design
Chapter 9 a Instruction Level Parallelism and Superscalar Processors
Advanced Topic: Alternative Architectures Chapter 9 Objectives
Chapter 14 Instruction Level Parallelism and Superscalar Processors
Single Clock Datapath With Control
An example of multiplying two numbers A = A * B;
CISC (Complex Instruction Set Computer)
CDA 3101 Spring 2016 Introduction to Computer Organization
MIPS Assembly.
Instruction Level Parallelism and Superscalar Processors
Instruction Level Parallelism and Superscalar Processors
Instruction Execution Cycle
Arrays versus Pointers
Pipelining: Basic Concepts
CPU Structure CPU must:
Lecture 4: Instruction Set Design/Pipelining
Presentation transcript:

RISC Architecture RISC vs CISC Sherwin Chan

Instruction Set Architecture Types of ISA and examples: RISC -> Playstation CISC -> Intel x86 MISC -> INMOS Transputer ZISC -> ZISC36 SIMD -> many GPUs EPIC -> IA-64 Itanium VLIW -> C6000 (Texas Instruments)

Instruction Set Architecture CISC – Complex Instruction Set Computer RISC – Reduced Instruction Set Computer

Problems of the Past In the past, it was believed that hardware design was easier than compiler design Most programs were written in assembly language Hardware concerns of the past: Limited and slower memory Few registers

The Solution Have instructions do more work, thereby minimizing the number of instructions called in a program Allow for variations of each instruction Usually variations in memory access Minimize the number of memory accesses

CISC Each instruction executes multiple low level operations Ex. A single instruction can load from memory, perform an arithmetic operation, and store the result in memory Smaller program size Less memory calls

The Search for RISC Compilers became more prevalent The majority of CISC instructions were rarely used Some complex instructions were slower than a group of simple instructions performing an equivalent task Too many instructions for designers to optimize each one

Smaller instructions allowed for constants to be stored in the unused bits of the instruction This would mean less memory calls to registers or memory

RISC Architecture Small, highly optimized set of instructions Uses a load-store architecture Short execution time Pipelining Many registers

Load/Store Architecture Individual instructions to store/load data and to perform operations All operations are performed on operands in registers Main memory is used only to load/store instructions

RISC vs CISC Less transistors needed in RISC RISC processors have shorter design cycles RISC instructions take less clock cycles than CISC instructions CISC instructions take up to 3 to 12 times longer Smaller instructions allowed for constants to be stored in the unused bits of the instruction This would mean less memory calls to registers or main memory

MIPS: A RISC example Smaller and simpler instruction set One cycle execution time Pipelining 32 registers 32 bits for each register

MIPS Instruction Set 25 branch/jump instructions 21 arithmetic instructions 15 load instructions 12 comparison instructions 10 store instructions 8 logic instructions 8 bit manipulation instructions 8 move instructions 4 miscellaneous instructions

Pipelining 101 Break instructions into steps Work on instructions like in an assembly line Allows for more instructions to be executed in less time A n-stage pipeline is n times faster than a non pipeline processor (in theory)

MISC/RISC Pipeline Stages Fetch instruction Decode instruction Execute instruction Access operand Write result Note: Slight variations depending on processor

Without Pipelining Normally, you would peform the fetch, decode, execute, operate, and write steps of an instruction and then move on to the next instruction

Without Pipelining Clock Cycle 1 2 3 4 5 6 7 8 9 10 Instr 1 Instr 2

With Pipelining The processor is able to perform each stage simultaneously. If the processor is decoding an instruction, it may also fetch another instruction at the same time.

With Pipelining Instr 1 Instr 2 Instr 3 Instr 4 Instr 5 Clock Cycle 1 2 3 4 5 6 7 8 9 Instr 1 Instr 2 Instr 3 Instr 4 Instr 5

Pipeline (cont.) Length of pipeline depends on the longest step Thus in RISC, all instructions were made to be the same length Each stage takes 1 clock cycle In theory, an instruction should be finished each clock cycle

Pipeline Problem 1 Problem: An instruction may need to wait for the result of another instruction Ex: add $r3, $r2, $r1 add $r5, $r4, $r3 ………

Pipeline Problem 1 (cont) Solution: Compiler may recognize which instructions are dependent or independent of the current instruction, and rearrange them to run the independent one first

Pipelining Problems 2 Problem: A branch instruction evaluates the result of another instruction that has not finished yet Ex: Loop : add $r3, $r2, $r1 sub $r6, $r5, $r4 beq $r3, $r6, Loop …………

Pipelining Problems 2 (cont) Solution 1: Guess. Begin on predicted instruction first. If wrong, clear pipeline and begin on correct instruction. Ex: For a loop statement, assume it will loop back, because the majority of the time it will. Some processors remember old branches and use that to predict new ones

Pipelining Problems 2 (cont) Solution 2: Begin decoding instructions from both sides of the branch. After the branch is evaluated, send the correct instructions to the pipeline.

How to make pipelines faster Superpipelining Divide the stages of pipelining into more stages Ex: Split “fetch instruction” stage into two stages Superduperpipelining Superscalarpipelining Run multiple pipelines in parallel

Dynamic pipeline: Uses buffers to hold Dynamic pipeline: Uses buffers to hold instruction bits in case a dependent instruction stalls

Why CISC Persists Most Intel and AMD chips are CISC x86 Most PC applications are written for x86 Intel spent more money improving the performance of their chips Modern Intel and AMD chips incorporate elements of pipelining During decoding, x86 instructions are split into smaller pieces