Modern Processors. RISC Architectures

Similar documents
TECH. CH14 Instruction Level Parallelism and Superscalar Processors. What is Superscalar? Why Superscalar? General Superscalar Organization

Architectures & instruction sets R_B_T_C_. von Neumann architecture. Computer architecture taxonomy. Assembly language.

Spring 2014 Midterm Exam Review

Chapter 04: Instruction Sets and the Processor organizations. Lesson 20: RISC and converged Architecture

101. The memory blocks are mapped on to the cache with the help of a) Hash functions b) Vectors c) Mapping functions d) None of the mentioned

SISTEMI EMBEDDED. Computer Organization Pipelining. Federico Baronti Last version:

A superscalar machine is one in which multiple instruction streams allow completion of more than one instruction per cycle.

ECE 341. Lecture # 15

Lecture 4: RISC Computers

Chapter 13 Reduced Instruction Set Computers

Organisasi Sistem Komputer

CPE300: Digital System Architecture and Design

Chapter 06: Instruction Pipelining and Parallel Processing

What is Superscalar? CSCI 4717 Computer Architecture. Why the drive toward Superscalar? What is Superscalar? (continued) In class exercise

Pipelining and Vector Processing

ECE 486/586. Computer Architecture. Lecture # 7

Basic Computer Architecture

Ti Parallel Computing PIPELINING. Michał Roziecki, Tomáš Cipr

Pipeline Processors David Rye :: MTRX3700 Pipelining :: Slide 1 of 15

What is Pipelining? RISC remainder (our assumptions)

Chapter 4. Advanced Pipelining and Instruction-Level Parallelism. In-Cheol Park Dept. of EE, KAIST

Pipelining. CSC Friday, November 6, 2015

Lecture 26: Parallel Processing. Spring 2018 Jason Tang

Multiple Instruction Issue. Superscalars

Instruction Pipelining

Instruction Pipelining

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 14 Instruction Level Parallelism and Superscalar Processors

Hardware-based Speculation

Micro-programmed Control Ch 15

Machine Instructions vs. Micro-instructions. Micro-programmed Control Ch 15. Machine Instructions vs. Micro-instructions (2) Hardwired Control (4)

Micro-programmed Control Ch 15

Dynamic Scheduling. CSE471 Susan Eggers 1

Advanced Computer Architecture

What is Pipelining? Time per instruction on unpipelined machine Number of pipe stages

Course on Advanced Computer Architectures

Instruction Level Parallelism. Appendix C and Chapter 3, HP5e

INTEL Architectures GOPALAKRISHNAN IYER FALL 2009 ELEC : Computer Architecture and Design

Pipeline Hazards. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Control Hazards - branching causes problems since the pipeline can be filled with the wrong instructions.

RISC & Superscalar. COMP 212 Computer Organization & Architecture. COMP 212 Fall Lecture 12. Instruction Pipeline no hazard.

Improve performance by increasing instruction throughput

Micro-programmed Control Ch 17

ECE260: Fundamentals of Computer Engineering

UNIT 8 1. Explain in detail the hardware support for preserving exception behavior during Speculation.

LECTURE 10. Pipelining: Advanced ILP

Hardwired Control (4) Micro-programmed Control Ch 17. Micro-programmed Control (3) Machine Instructions vs. Micro-instructions

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

04 - DSP Architecture and Microarchitecture

Lecture 11: Control Unit and Instruction Encoding

Pipelining, Branch Prediction, Trends

EN164: Design of Computing Systems Topic 08: Parallel Processor Design (introduction)

Processors. Young W. Lim. May 12, 2016

RISC Processors and Parallel Processing. Section and 3.3.6

Chapter 06: Instruction Pipelining and Parallel Processing. Lesson 14: Example of the Pipelined CISC and RISC Processors

Real instruction set architectures. Part 2: a representative sample

Chapter 4. The Processor

Processor Organization and Performance

E0-243: Computer Architecture

omputer Design Concept adao Nakamura

Lecture 4: RISC Computers

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

3/12/2014. Single Cycle (Review) CSE 2021: Computer Organization. Single Cycle with Jump. Multi-Cycle Implementation. Why Multi-Cycle?

Lecture Topics. Announcements. Today: Data and Control Hazards (P&H ) Next: continued. Exam #1 returned. Milestone #5 (due 2/27)

CPU Pipelining Issues

Von Neumann architecture. The first computers used a single fixed program (like a numeric calculator).

Lecture 4: Instruction Set Design/Pipelining

The Processor: Instruction-Level Parallelism

instruction set computer or RISC.

Computer Architecture and Organization

Real Processors. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University

Chapter 4. The Processor

Static vs. Dynamic Scheduling

CISC / RISC. Complex / Reduced Instruction Set Computers

The University of Texas at Austin

Chapter 5:: Target Machine Architecture (cont.)

The Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

SISTEMI EMBEDDED. Computer Organization Central Processing Unit (CPU) Federico Baronti Last version:

Pipelining concepts The DLX architecture A simple DLX pipeline Pipeline Hazards and Solution to overcome

Computer Architecture EE 4720 Midterm Examination

Chapter 4. The Processor

ILP: Instruction Level Parallelism

Chapter 9. Pipelining Design Techniques

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

Architectural Design and Analysis of a VLIW Processor. Arthur Abnous and Nader Bagherzadeh. Department of Electrical and Computer Engineering

Chapter 14 Performance and Processor Design

CS311 Lecture: Pipelining, Superscalar, and VLIW Architectures revised 10/18/07

Complications with long instructions. CMSC 411 Computer Systems Architecture Lecture 6 Basic Pipelining 3. How slow is slow?

Multi-cycle Instructions in the Pipeline (Floating Point)

Chapter 3 (Cont III): Exploiting ILP with Software Approaches. Copyright Josep Torrellas 1999, 2001, 2002,

Photo David Wright STEVEN R. BAGLEY PIPELINES AND ILP

Advanced d Instruction Level Parallelism. Computer Systems Laboratory Sungkyunkwan University

One instruction specifies multiple operations All scheduling of execution units is static

This course provides an overview of the SH-2 32-bit RISC CPU core used in the popular SH-2 series microcontrollers

Lecture 9: Dynamic ILP. Topics: out-of-order processors (Sections )

Pipelining concepts The DLX architecture A simple DLX pipeline Pipeline Hazards and Solution to overcome

PIPELINING: HAZARDS. Mahdi Nazm Bojnordi. CS/ECE 6810: Computer Architecture. Assistant Professor School of Computing University of Utah

Advanced Computer Architecture

Chapter 4. The Processor. Instruction count Determined by ISA and compiler. We will examine two MIPS implementations

Course web site: teaching/courses/car. Piazza discussion forum:

EITF20: Computer Architecture Part2.2.1: Pipeline-1

Transcription:

Modern Processors RISC Architectures Figures used from: Manolis Katevenis, RISC Architectures, Ch. 20 in Zomaya, A.Y.H. (ed), Parallel and Distributed Computing Handbook, McGraw-Hill, 1996

RISC Characteristics Simplified instruction set Register-to-register arithmetic instructions Memory accessed only by load and store instructions A single, simple addressing mode Fixed sized instructions A few, simple instruction formats Pipelining Optimizing compilers Small and simple circuits for high clock rate and reduced design time, design cost, and silicon area 2

Architectural Characteristics of RISC Register orientation register file is small, thus fast register file can have multiport access short address, no effectiveaddress calculation optimizing compiler to make best use of registers Load/store architecture information transfer separated from operation Fixed instruction size simplifies implementation, but gives less compact code Fixed position of source operands in instruction format Single result per instruction Regularity Operations are similar: can all be handled by the same subsystems Provide primitives - not solutions Instruction set stays fixed for years Language-oriented special features left for compiler Compiler optimizes - not human assembly programmer 3

Pipelining and Bypassing The basic 5-stage RISC pipeline Fig. 20.1, Fig. 20.2 Dependencies and bypassing Example, Fig. 20.3 More complicated example, Fig. 20.4 4

Basic RISC Pipeline 5

Pipelined Instruction Execution 6

Bypassing to enable dense register operations 7

Bypassing in load instructions 8

CISC/RISC Comparisons The execution of a typical CISC execution: a memory-to-memory three-operand add Fig. 20.5 Conclusions: RISC is more flexible than CISC in finding and exploiting parallelism CISC determines and defines the exploitable instruction-level parallelism at machine-design time, while RISC does so at compile time 9

Comparing RISC and CISC 10

Instruction Scheduling Rearrange instructions to fill load delay slots Instructions need to be independent Static: At compile time Dynamic: At run time. out-of-order execution needs considerable hardware often costs one extra pipeline stage useful only when it is not known at compile time whether some instructions are mutually independent 11

Multiple Functional Units Additional register file ports Additional ALUs More complicated instruction decoding and control logic CISC: perform multiple operations within complex instructions (defined at design time) RISC: fetch and execute multiple instructions in each clock cycle of the pipeline defined at compile time: VLIW (Very Long Instruction Word) defined at run time: Superscalar 12

Delayed Branches While the branch is being executed, the next instruction is already in the pipeline. What to do if the branch is successful? Annul? Always execute it? (Utilize the delay slot) i.e., the instruction is always executed, as if it were before the branch, yet the branch instruction cannot depend on it, since this instruction is actually executed after the branch Merely another case of instruction scheduling, to be handled by the optimizing compiler Delay slots can be filled by instructions which are moved there from before the branch moved there from one of the two branch targets (consequence?) noop instructions 13

RISC Summary RISC: The raw data path operations are exposed to and controlled by the object code generated by the compiler and the optimizer. RISC is the result of thorough understanding of how hardware and software best co-operate 1980s -- plain RISC processors early 1990s -- superscalar RISC processors current development -- latency tolerant superscalar RISC processors (switch context while waiting) 14