RISC Processors and Parallel Processing. Section and 3.3.6

Similar documents
5 Computer Organization

COMPUTER ORGANIZATION AND ARCHITECTURE

Reduced Instruction Set Computer

5 Computer Organization

Computer Organization

ADVANCED COMPUTER ARCHITECTURE TWO MARKS WITH ANSWERS

Announcement. Computer Architecture (CSC-3501) Lecture 25 (24 April 2008) Chapter 9 Objectives. 9.2 RISC Machines

Computer Architecture

Reader's Guide Outline of the Book A Roadmap For Readers and Instructors Why Study Computer Organization and Architecture Internet and Web Resources

Chapter 13 Reduced Instruction Set Computers

2 MARKS Q&A 1 KNREDDY UNIT-I

Introduction. CSCI 4850/5850 High-Performance Computing Spring 2018

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit

Parallel Processors. Session 1 Introduction

3.3 Hardware Parallel processing

Instruction Register. Instruction Decoder. Control Unit (Combinational Circuit) Control Signals (These signals go to register) The bus and the ALU

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

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

Digital System Design Using Verilog. - Processing Unit Design

CS 5803 Introduction to High Performance Computer Architecture: RISC vs. CISC. A.R. Hurson 323 Computer Science Building, Missouri S&T

Chapter 2 Lecture 1 Computer Systems Organization

Micro-programmed Control Ch 15

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

Chapter 05: Basic Processing Units Control Unit Design Organization. Lesson 14: Microprogrammed Control

instruction set computer or RISC.

Processing Unit CS206T

Micro-programmed Control Ch 15

Department of Computer Science and Engineering CS6303-COMPUTER ARCHITECTURE UNIT-I OVERVIEW AND INSTRUCTIONS PART A

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

omputer Design Concept adao Nakamura

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

Lecture 8: RISC & Parallel Computers. Parallel computers

Unit 9 : Fundamentals of Parallel Processing

Parallel Computing: Parallel Architectures Jin, Hai


Micro-programmed Control Ch 17

Dr. Joe Zhang PDC-3: Parallel Platforms

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

ELC4438: Embedded System Design Embedded Processor

Chapter 2: Data Manipulation

Introduction to parallel computing

CHETTINAD COLLEGE OF ENGINEERING AND TECHNOLOGY COMPUTER ARCHITECURE- III YEAR EEE-6 TH SEMESTER 16 MARKS QUESTION BANK UNIT-1

Parallel Computing Ideas

Introduction to Microprocessor

Module 5 Introduction to Parallel Processing Systems

Outline Marquette University

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Microprogrammed Control

COMPUTER STRUCTURE AND ORGANIZATION

Computer Organization and Design, 5th Edition: The Hardware/Software Interface

Lecture 4: RISC Computers

Computer organization by G. Naveen kumar, Asst Prof, C.S.E Department 1


INTELLIGENCE PLUS CHARACTER - THAT IS THE GOAL OF TRUE EDUCATION UNIT-I

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

Computer System Architecture

RISC Principles. Introduction

DC57 COMPUTER ORGANIZATION JUNE 2013

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

Computer Architecture

Embedded Systems Architecture. Computer Architectures

Reduced Instruction Set Computers

PIPELINE AND VECTOR PROCESSING

Introduction to Microcontrollers

Copyright 2012, Elsevier Inc. All rights reserved.

PART A (22 Marks) 2. a) Briefly write about r's complement and (r-1)'s complement. [8] b) Explain any two ways of adding decimal numbers.

Computer Organization CS 206 T Lec# 2: Instruction Sets

EC 513 Computer Architecture

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

Microprogramming is a technique to implement the control system of a CPU using a control store to hold the microoperations.

CISC / RISC. Complex / Reduced Instruction Set Computers

Course Description: This course includes concepts of instruction set architecture,

Computer Hardware Requirements for ERTSs: Microprocessors & Microcontrollers

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

More advanced CPUs. August 4, Howard Huang 1

Computer Architecture A Quantitative Approach, Fifth Edition. Chapter 1. Copyright 2012, Elsevier Inc. All rights reserved. Computer Technology

CS 101, Mock Computer Architecture

Parallel Computer Architectures. Lectured by: Phạm Trần Vũ Prepared by: Thoại Nam

Chapter 2 Logic Gates and Introduction to Computer Architecture

Cambridge International Examinations Cambridge International Advanced Subsidiary and Advanced Level

Introduction II. Overview

Chapter 2: Data Manipulation

A taxonomy of computer architectures

Chapter 3 : Control Unit

Chapter 2: Data Manipulation

Micro-Operations. execution of a sequence of steps, i.e., cycles

SYLLABUS. osmania university CHAPTER - 1 : REGISTER TRANSFER LANGUAGE AND MICRO OPERATION CHAPTER - 2 : BASIC COMPUTER

CC312: Computer Organization

Chapter 4. MARIE: An Introduction to a Simple Computer 4.8 MARIE 4.8 MARIE A Discussion on Decoding

General Purpose Signal Processors

THE MICROPROCESSOR Von Neumann s Architecture Model

SIDDHARTH GROUP OF INSTITUTIONS :: PUTTUR Siddharth Nagar, Narayanavanam Road QUESTION BANK (DESCRIPTIVE) UNIT-I

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

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

3.3.3 Computer Architecture

CISC 360. Computer Architecture. Seth Morecraft Course Web Site:

Computer Architecture Programming Languages and Operating System

Instruction Set Architectures. Part 1

New Advances in Micro-Processors and computer architectures

Lecture 26: Parallel Processing. Spring 2018 Jason Tang

Transcription:

RISC Processors and Parallel Processing Section 3.3.5 and 3.3.6

The Control Unit When a program is being executed it is actually the CPU receiving and executing a sequence of machine code instructions. Here lies the responsibility of the Control Unit to make sure that each instruction is handled properly. There are two methods that the CU can make sure of this

The Hardwired Solution One method is to have the control unit constructed as a logic circuit. This is also known as the hardwired solution. In this method the machine code instructions are directly handled by the hardware.

The microprogramming approach An alternative to the hardwired approach involves a ROM component that contains a series of micro instructions which is responsible for handling the control unit These microinstructions or microprogramming is also referred to as firmware. However, the choice of either methods largely depends on the type of processor.

The Architecture of a Processor The 'architecture' of a processor can be defined in a number of ways. And it involves the following: The instruction set The instruction format The addressing modes The registers accessible by instructions

The choice of instruction set is main reason behind choosing a particular architecture. One approach places emphasis on the Hardware The one places emphasis on the Software

The CISC Approach Complex Instruction Set Computers This is the path that major chip makers have taken for decades. The philosophy is that the chip maker provides customers (programmers) with a rich set of fairly high level instructions with which to write code. e.g. Intel, Motorola But in order to do so, they have design some very complex hardware to decode and run that complex single instruction. For example, there might be a machine code instruction that can multiply floating point numbers in one line : MULT a,b

Complex hardware is not relevant to the programmer of course. However there are only a limited amount of logic gates on a chip and if the decoder takes so much room the number of registers inside the CPU is reduced, which forces more data to move about in memory.

The MULT Command A CISC processor would come prepared with a specific instruction (we'll call it "MULT"). When executed, this instruction loads the two values into separate registers, multiplies the operands in the execution unit, and then stores the product in the appropriate register. Thus, the entire task of multiplying two numbers can be completed with one instruction: MULT 2:3, 5:2 MULT is what is known as a "complex instruction. It closely resembles a command in a higher level language

Advantages of CISC One of the primary advantages of this system is that the compiler has to do very little work to translate a high-level language statement into assembly. Because the length of the code is relatively short, very little RAM is required to store instructions. The emphasis is put on building complex instructions directly into the hardware.

The RISC Approach Reduced Instruction Set Computer A relatively simple CPU decoder with many registers at the expense of having to write more lines of code to do the same thing. The RISC approach has some significant advantages however. For example an instruction only takes a single cycle to complete compared to the multi-cycle CISC approach.

CISC MULT a,b RISC LOAD a from memory into register1 LOAD b from memory into a register2 PROD Register1, Register2 (multiply) STORE Answer back into memory This means more memory is needed to store the instructions, but they may actually run faster overall because each one only takes a single cycle. Furthermore, there is less movement in and out of main memory as there are more registers to hold temporary data.

The downside is that the complier must convert a high level language instruction into many lines of machine code.

Pipelining One of the major driving forces for creating RISC processors was the opportunity they would provide for efficient pipelining. Pipelining is a form of parallelism applied specifically to instruction execution.

The underlying principle of pipelining is that the fetch - decode-execute cycle which is in face divided into the following stages. instruction fetch (IF) instruction decode (ID) operand fetch (OF) instruction execute (IE) result write back (WB)

For pipelining to be implemented, the construction of the processor must have five independent units, with each handling one of the five stages identified. This explains the need for a RISC processor to have many register sets; each processor unit must have access to its own set of registers.

Initially only the first stage of the first instruction has entered the pipeline. At clock cycle 6 the first instruction has left the pipeline, the last stage of instruction 2 is being handled and instruction 6 has just entered. It can be seen that once under way the pipeline is handling five stages of five individual instructions. In particular, at each clock cycle the complete processing of one instruction has finished. Without the pipeline the processing time would be five times long.

Parallel Processing Systems One computer can have multiple processors running in parallel. SISD (Single Instruction Single Data stream) SIMD (Single Instruction Multiple Data stream) MISD (Multiple Instruction Single Data stream) MIMD (Multiple Instruction Multiple Data stream).

SISD (Single Instruction Single Data stream) It is the typical arrangement found in early personal computers. There is a single processor so no processor parallelism. The single data stream just means one memory i.e. Pipeline

SIMD (Single Instruction Multiple Data stream) It describes how an array or vector processor works. The multiple processors each have their own memory. One instruction is input and each processor executes this instruction using data available in its dedicated memory. Array Processing:- Single instruction issued by control unit and applied to a number of data sets If data sets rely on each other then parallel processing cannot be applied. If A has to be processed before B then A and B cannot be processed in parallel.

MISD (Multiple Instruction Single Data stream) This isn't implemented in commercial products.

MIMD (Multiple Instruction Multiple Data stream) These are modern personal computers which are of the symmetric multiprocessor type using identical processors. In this case, each processor executes a different individual instruction. The multiple data stream can be provided by a single memory suitably partitioned. Each processor might have a dedicated cache memory.

Parallel computer systems Examples of one type of multicomputer system are cal led massively parallel computers. These are the systems used by large organisations for computations involving highly complex mathematical processing. They are the latest in an evolution of what have traditionally been called 'supercomputers'. The major difference in architecture is that instead of having a bus structure to support multiple processors there is a network infrastructure to support multiple computer units. The programs running on the different computers can communicate by passing messages using the network.

An alternative type of multicomputer system is cluster computing, where a very large number of PCs are networked.