CISC / RISC. Complex / Reduced Instruction Set Computers

Similar documents
CISC Attributes. E.g. Pentium is considered a modern CISC processor

Reduced Instruction Set Computer

Chapter 5:: Target Machine Architecture (cont.)

These actions may use different parts of the CPU. Pipelining is when the parts run simultaneously on different instructions.

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

Chapter 13 Reduced Instruction Set Computers

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

Where Does The Cpu Store The Address Of The

COS 140: Foundations of Computer Science

Micro-programmed Control Ch 17

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

EE 3170 Microcontroller Applications

Typical Processor Execution Cycle

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

William Stallings Computer Organization and Architecture. Chapter 12 Reduced Instruction Set Computers

William Stallings Computer Organization and Architecture 8th Edition. Cache Memory

The von Neumann Architecture. IT 3123 Hardware and Software Concepts. The Instruction Cycle. Registers. LMC Executes a Store.

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

Lecture 4: RISC Computers

Computer Architecture

Lecture 4: RISC Computers

Photo David Wright STEVEN R. BAGLEY PIPELINES AND ILP

Microprocessor Architecture Dr. Charles Kim Howard University

EKT 303 WEEK Pearson Education, Inc., Hoboken, NJ. All rights reserved.

Advanced d Processor Architecture. Computer Systems Laboratory Sungkyunkwan University

Hardware Design I Chap. 10 Design of microprocessor

Instruction Level Parallelism

Computer and Hardware Architecture I. Benny Thörnberg Associate Professor in Electronics

EE 354 Fall 2015 Lecture 1 Architecture and Introduction

14:332:331 Pipelined Datapath

MIPS Pipelining. Computer Organization Architectures for Embedded Computing. Wednesday 8 October 14

Superscalar Processors Ch 14

Superscalar Processing (5) Superscalar Processors Ch 14. New dependency for superscalar case? (8) Output Dependency?

SAE5C Computer Organization and Architecture. Unit : I - V

Processing Unit CS206T

Advanced Computer Architecture

Chapter 2. OS Overview

lesson 3 Transforming Data into Information

CPU Structure and Function. Chapter 12, William Stallings Computer Organization and Architecture 7 th Edition

x86 Architectures; Assembly Language Basics of Assembly language for the x86 and x86_64 architectures

Topics Power tends to corrupt; absolute power corrupts absolutely. Computer Organization CS Data Representation

omputer Design Concept adao Nakamura

UNIT- 5. Chapter 12 Processor Structure and Function

Data Manipulation. Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan

ARSITEKTUR SISTEM KOMPUTER. Wayan Suparta, PhD 17 April 2018

RISC, CISC, and ISA Variations

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

RISC Processors and Parallel Processing. Section and 3.3.6

Advanced Processor Architecture. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Computer Architecture and Data Manipulation. Von Neumann Architecture

Chapter 4. The Processor

COMPUTER ORGANIZATION AND DESI

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

Evolution of Computers & Microprocessors. Dr. Cahit Karakuş

Chapter 2 Logic Gates and Introduction to Computer Architecture

Intel released new technology call P6P

Latches. IT 3123 Hardware and Software Concepts. Registers. The Little Man has Registers. Data Registers. Program Counter

Instruction Pipelining

New Advances in Micro-Processors and computer architectures

ELC4438: Embedded System Design Embedded Processor

Instruction Pipelining

Hakim Weatherspoon CS 3410 Computer Science Cornell University

Topics in computer architecture

Uniprocessors. HPC Fall 2012 Prof. Robert van Engelen

Computer System Overview OPERATING SYSTEM TOP-LEVEL COMPONENTS. Simplified view: Operating Systems. Slide 1. Slide /S2. Slide 2.

structural RTL for mov ra, rb Answer:- (Page 164) Virtualians Social Network Prepared by: Irfan Khan

Advanced Processor Architecture

Chapter 2: Instructions How we talk to the computer

Real instruction set architectures. Part 2: a representative sample

Computer Fundamentals and Operating System Theory. By Neil Bloomberg Spring 2017

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

The Single Cycle Processor

REDUCED INSTRUCTION SET COMPUTERS (RISC)

Final Lecture. A few minutes to wrap up and add some perspective

Reduced Instruction Set Computers

Computers and Microprocessors. Lecture 34 PHYS3360/AEP3630

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 12 Processor Structure and Function

Processor Organization and Performance

The Nios II Family of Configurable Soft-core Processors

Characteristics. Microprocessor Design & Organisation HCA2102. Unit of Transfer. Location. Memory Hierarchy Diagram

Computer Organization and Design THE HARDWARE/SOFTWARE INTERFACE

CHAPTER 8: CPU and Memory Design, Enhancement, and Implementation

CPSC 313, 04w Term 2 Midterm Exam 2 Solutions

CPU Structure and Function

Microprocessors. Microprocessors and rpeanut. Memory. Eric McCreath

Microprocessors and rpeanut. Eric McCreath

Pipelining. CSC Friday, November 6, 2015

Computer & Microprocessor Architecture HCA103

Virtual Machines and Dynamic Translation: Implementing ISAs in Software

ECE 486/586. Computer Architecture. Lecture # 8

Computer System Overview

Basic Computer Architecture

ELCT 912: Advanced Embedded Systems

Advanced processor designs

EC 413 Computer Organization

MARIE: An Introduction to a Simple Computer

Chapter 2: Data Manipulation

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

Transcription:

Systems Architecture CISC / RISC Complex / Reduced Instruction Set Computers CISC / RISC p. 1/12

Instruction Usage Instruction Group Average Usage 1 Data Movement 45.28% 2 Flow Control 28.73% 3 Arithmetic 10.75% 4 Compare 5.92% 5 Logical 3.91% 6 Shift 2.93% 7 Bit Manipulation 2.04% 8 I/O & Others 0.44% CISC / RISC p. 2/12

Programming Observations 56% of constants ±15 (5 bits) 98% of constants ±511 (10 bits) 95% of subroutines require less than 6 parameters (arguments) Instruction Usage and Programming Observations lead to a smaller, less complex, instruction set CISC / RISC p. 3/12

RISC / CISC Comparison (1/2) Characteristics RISC CISC 1 On chip registers Many (>30) Few (2 16) 2 Registers per Three Two instruction ADD R1, R2, R3 ADD R1, R2 [R1] [R2] + [R3] [R2] [R1] + [R2] 3 Parameter Efficient on-chip Inefficient off-chip Passing registers memory 4 Flow Control Optimised Not-Optimised Instructions 20 30% of program CISC / RISC p. 4/12

RISC / CISC Comparison (2/2) Characteristics RISC CISC 5 Operations Per One Instruction One microcode Clock Cycle (RTL) Instruction 6 Less used Not Implemented Full Implementation Instructions 7 Microcode Not Implemented All Instructions 8 Instruction Few (4 or 5) Many (18) format fixed length variable lengths (32-bit) (8 80 bits) CISC / RISC p. 5/12

Pipelining Machine cycle: 1 Fetch instruction into IR 2 Decode op-code field 3 Fetch Operands 4 Execute operation 5 Store Operands Different part of circuit for each step Run all steps in parallel (Fetch and decode next instruction at the same time as fetching the operands for current instruction... ) An air bubble may occur (The pipeline is interrupted and a do nothing step is introduced) CISC / RISC p. 6/12

Pipeline Bubble i IF OF E OS i + 1 IF OF E Mem OS i + 2 IF i + 3 OF IF Bubble E OS OF E OS i + 4 IF OF E OS CISC / RISC p. 7/12

Bubbles: Branch Delay Pipeline has already read the next instruction before reaching the execute phase of the branch instruction, thus we have to throw away the next instruction, causing a pipeline bubble. Delay Jump (aka Delay Slot) Always execute the instruction after the Branch Branch Prediction Cache both next and target instructions, so next instruction to be executed is on-chip and ready to load into the pipeline, loosing one clock-cycle, but splitting the cache. Conditional Execution Remove the need for most branch instructions by allowing instructions to be executed conditionally, wasting one clockcycle for each non-executed instruction. CISC / RISC p. 8/12

Bubbles: Dependency Delay Next instruction relies on result of the current instruction Line 1: x = a + b Line 2: y = x + 2 Line 2 must wait for the Operand Store phase of line 1 to complete before it can perform it s Operand Fetch phase, causing a bubble, otherwise x will have the wrong value. Internal forwarding (aka Instruction Scheduling) Place another non-dependent instruction in between the two dependent instructions. Load Delay Allow the CPU to delay by one clock-cycle when a source register for the current instruction is the same as a destination register for the previous instruction, thus skipping over the bubble (allowing the bubble to occur). CISC / RISC p. 9/12

Bubbles: Memory Access There are over 20 CPU clock-cycles per memory clock-cycle. When accessing memory the CPU must slow down to the same cycle rate as the memory, causing a very large bubble. Buffer Memory Access (aka Cache) Use on-chip memory (cache) and a Memory Management Unit (MMU) to access off-chip memory while the CPU is executing at full speed. MMU attempts to predict memory access CPU will have to slow down when accessing memory not in cache (a cache miss). Produce program code in such a way as to reduce the number of external memory accesses required. CISC / RISC p. 10/12

Cache Memory Frequently accessed memory (main or disk) is copied into cache memory Speeds up memory access Memory taken from on-chip cache (fast) rather than external off-chip memory (slow) Update Policy Write Delayed Volatile Memory writes are stored in the cache Periodically write cache to external memory Write Through Non-Volatile Write modifies external memory and cache Slow but always up to date CISC / RISC p. 11/12

The Post RISC era Intel IA32 CISC with 2 stage pipeline (Pentium) IA64 RISC was Hewlett-Packard Pyramid XScale RISC was ARM s StrongARM2 AMD Athlon RISC based Pentium Opteron 64-Bit RISC with Athlon subset Motorola ARM SPARC PowerPC RISC (PowerPC / PowerMac /... ) DragonBall CISC (Early Palm s and Mobile Phones) Advanced RISC Machines Ltd. Has a nine stage pipeline Low power, used in embedded systems Palm Computing, G2.5 and G3 Mobile Phones, etc Scalable Processor ARChitecture A workstation level RISC processor Developed by Sun, Texas Instruments and Fujitsu CISC / RISC p. 12/12