Basics and Architectures

Slides:



Advertisements
Similar presentations
Instruction Level Parallelism and Superscalar Processors
Advertisements

Instruction Set Design
Computer Organization and Architecture
CSCI 4717/5717 Computer Architecture
RISC / CISC Architecture By: Ramtin Raji Kermani Ramtin Raji Kermani Rayan Arasteh Rayan Arasteh An Introduction to Professor: Mr. Khayami Mr. Khayami.
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
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.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
ΜP rocessor Architectures To : Eng. Ahmad Hassan By: Group 18.
Vector Processing. Vector Processors Combine vector operands (inputs) element by element to produce an output vector. Typical array-oriented operations.
Chapter XI Reduced Instruction Set Computing (RISC) CS 147 Li-Chuan Fang.
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
RISC By Don Nichols. Contents Introduction History Problems with CISC RISC Philosophy Early RISC Modern RISC.
ELEC Fall 05 1 Very- Long Instruction Word (VLIW) Computer Architecture Fan Wang Department of Electrical and Computer Engineering Auburn.
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.
Understanding the risc and cisc architectures
Prince Sultan College For Woman
Cisc Complex Instruction Set Computing By Christopher Wong 1.
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:
RISC vs. CISC By Chiam D Cook Cs 147 spring 08. CISC Complex Instruction Set Computer –Large number of complex instructions –Low level –Facilitate the.
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
Advanced Computer Architecture 0 Lecture # 1 Introduction by Husnain Sherazi.
RISC Architecture RISC vs CISC Sherwin Chan.
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.
Super computers Parallel Processing By Lecturer: Aisha Dawood.
Advanced Processor Technology Architectural families of modern computers are CISC RISC Superscalar VLIW Super pipelined Vector processors Symbolic processors.
RISC ARCHITECTURE BY TEDDY LEE. TOPICS REVIEW OF RISC RISC ARCHITECTURE RISC VS. CISC PA-RISC HP ARCHITECTURE.
PART 6: (1/2) Enhancing CPU Performance CHAPTER 16: MICROPROGRAMMED CONTROL 1.
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.
Introduction to Microprocessors
 Introduction to SUN SPARC  What is CISC?  History: CISC  Advantages of CISC  Disadvantages of CISC  RISC vs CISC  Features of SUN SPARC  Architecture.
Pipelining and Parallelism Mark Staveley
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.
EKT303/4 Superscalar vs Super-pipelined.
COMPUTER ORGANIZATIONS CSNB123 NSMS2013 Ver.1Systems and Networking1.
Reduced Instruction Set Computing Ammi Blankrot April 26, 2011 (RISC)
3/12/2013Computer Engg, IIT(BHU)1 INTRODUCTION-1.
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,
RISC / CISC Architecture by Derek Ng. Overview CISC Architecture RISC Architecture  Pipelining RISC vs CISC.
CISC. What is it?  CISC - Complex Instruction Set Computer  CISC is a design philosophy that:  1) uses microcode instruction sets  2) uses larger.
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
1  2004 Morgan Kaufmann Publishers No encoding: –1 bit for each datapath operation –faster, requires more memory (logic) –used for Vax 780 — an astonishing.
CPIT Program Execution. Today, general-purpose computers use a set of instructions called a program to process data. A computer executes the.
Basic Concepts Microinstructions The control unit seems a reasonably simple device. Nevertheless, to implement a control unit as an interconnection of.
Addressing modes, memory architecture, interrupt and exception handling, and external I/O. An ISA includes a specification of the set of opcodes (machine.
Introduction to computer software. Programming the computer Program, is a sequence of instructions, written to perform a specified task on a computer.
Microprocessor and Microcontroller Fundamentals
Advanced Architectures
Assembly language.
Visit for more Learning Resources
A Closer Look at Instruction Set Architectures
What is a computer? Simply put, a computer is a sophisticated electronic calculating machine that: Accepts input information, Processes the information.
Embedded Systems Design
A Closer Look at Instruction Set Architectures
AVR Microcontrollers Prepared By: Disha Ruparelia ( )
An example of multiplying two numbers A = A * B;
CISC (Complex Instruction Set Computer)
Superscalar Processors & VLIW Processors
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.
1.1 The Characteristics of Contemporary Processors, Input, Output and Storage Devices Types of Processors.
Introduction to Computer Architecture
William Stallings Computer Organization and Architecture
COMPUTER ORGANIZATION AND ARCHITECTURE
Presentation transcript:

Basics and Architectures

RISC and CISC Processor RISC vs CISCARM Processors ARM Processors 22/04/2017 22/04/2017 RISC and CISC Processor Edit 17 oct 2010 Advanced Computer Systems 2 Advanced Computer SystemsAdvanced Computer Systems

Introduction There are two fundamentally different ways of designing CPUs The CPU can be designed to have an instruction set with: very basic instructions OR a wide range of complex instructions Exercise – List typical instructions for each case add, move-data etc multiply, dsp orientated instructions etc

CISC Processor Complex Instruction Set Computer (CISC). The primary goal of CISC architecture is to complete a task in as few lines of assembly as possible. This is achieved by building processor hardware that is capable of understanding and executing a series of operations. For this particular task, 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 data1, data2 MULT is what is known as a "complex instruction." It operates directly on the computer's memory banks and does not require the programmer to explicitly call any loading or storing functions. It closely resembles a command in a higher level language. For instance, if we let "a" represent the value of “data1” and "b" represent the value of “data2”, then this command is identical to the C statement "a = a * b."

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.

RISC Processor Reduce Instruction Set Computer (RISC). RISC processors only use simple instructions that can be executed within one clock cycle. Thus, the "MULT" command described above could be divided into three separate commands: "LOAD," which moves data from the memory bank to a register, "PROD," which finds the product of two operands located within the registers, and "STORE," which moves data from a register to the memory banks. In order to perform the exact series of steps described in the CISC approach, a programmer would need to code four lines of assembly: LOAD A, data1 LOAD B, data2 PROD A, B STORE data1, A

CISC v/s RISC CISC RISC Emphasis on hardware. Emphasis on software. Includes multi-clock complex instructions Single-clock, reduced instruction only Memory-to-memory: "LOAD" and "STORE" incorporated in instructions Register to register: "LOAD" and "STORE" are independent instructions Small code sizes, high cycles per second Low cycles per second, large code sizes Transistors used for storing complex instructions Spends more transistors on memory registers

Conclusion CISC v/s RISC At first, this may seem like a much less efficient way of completing the operation. Because there are more lines of code, more RAM is needed to store the assembly level instructions. The compiler must also perform more work to convert a high-level language statement into code of this form. However, the RISC strategy also brings some very important advantages. Because each instruction requires only one clock cycle to execute, the entire program will execute in approximately the same amount of time as the multi-cycle "MULT" command. These RISC "reduced instructions" require less transistors of hardware space than the complex instructions, leaving more room for general purpose registers. Because all of the instructions execute in a uniform amount of time (i.e. one clock), pipelining is possible.

Performance Equation The following equation is commonly used for expressing a computer's performance ability: The CISC approach attempts to minimize the number of instructions per program, sacrificing the number of cycles per instruction. RISC does the opposite, reducing the cycles per instruction at the cost of the number of instructions per program.

The Overall RISC Advantage Today, the Intel x86 is arguable the only chip which retains CISC architecture. This is primarily due to advancements in other areas of computer technology. The price of RAM has decreased dramatically. In 1977, 1MB of DRAM cost about $5,000. By 1994, the same amount of memory cost only $6 (when adjusted for inflation). Compiler technology has also become more sophisticated, so that the RISC use of RAM and emphasis on software has become ideal.

Pipelining Concept

Pipelining Concept Fetch Decode Execute The instruction is fetched from memory The instruction is decoded and the data path control signals prepared for the next cycle The operands are read from the register bank, shifted, combined in the ALU and The result written back

3 stage Pipelining That is basically 3 stage pipelining, Fetch Decode Execute

How it works????

3 Basic Architecture Super Scalar Architecture/Von-Neuman Architecture Very Long Instruction word Architecture (VLIW)/ HARWARD Architecture Single Instruction Multiple data (SIMD)

Superscalar Architecture Superscalar processing is the ability to initiate multiple instructions during the same clock cycle. A superscalar architecture consists of a number of pipelines that are working in parallel. Depending on the number and kind of parallel units available, a certain number of instructions can be executed in parallel. It is known as Instruction level parallelism (ILP).

Degree of Superscalar Architecture

Superscalar Execution

Advantage of Superscalar Architecture Maximum Performance Propagation delay is less. Disadvantage of Superscalar Architecture Problem in Scheduling. Example of Superscalar Architecture Athlon(AMD) processor has these type of Architecture

Very Long Instruction Word (VLIW) Architecture/ HARWARD Architecture Problem in Superscalar Architecture : Problem of Scheduling which operation and which one have to wait and has done sequentially after others. A typical VLIW (very long instruction word) machine has instruction words hundreds of bits in length. Every VLIW contains enough bits to specify not just one machine operation but several to be performed simultaneously.

How it can be achieved ? The Word format of VLIW Architecture Operation 1 Operand 1A Operand 1B Operand 1C 2 Operand 2A Operand 2B Operand 2C 3 Operand 3A Operand 3B Operand 3C The Word format of VLIW Architecture It’s name implies: a machine language instruction format that is fixed in length(as in RISC Arch.) but much longer than 32 bit to 64 bits. The format of VLIW word has fixed length and each instructions are scheduled to execute. Now compiler has to more work than a control unit. It is compiler’s job to analyze the program for data and resources and pack the slots of each VLIW with as many concurrently executable operations as possible

Advantages of VLIW Reducing delay by Scheduling. Allow to work the system at higher frequency. It can execute more operation per cycle. Increases CPU Clock speed.

Disadvantages of VLIW Poor code density ( Number of bits required to store each instruction). Wasted bit fields. Take up more space.

SIMD Architecture SIMD stands for single instruction, multiple data. It is the ability to do the same instruction on multiple pieces of data. This can lead to significantly better performance, since it is using less cycles with the same amount of data. This is done by packing the numbers into a vector. For instance, to add {1,2,3,4} to {5,6,7,8} you could add 1 to 5, 2 to 6, and so on. Or you could use SIMD and add 1,2,3,4 to 5,6,7,8, and the result gets stored, when you can then unpack it and store it in a register. This is why it is sometimes called vector math.

SIMD has far-reaching applications; although the bulk and focus has been on multimedia. Why? Because it is an area of computing that needs as much computing power as possible, is popular, and in most cases, it is necessary to compute a lot of data at once. SIMD works by performing an instruction on multiple pieces of data at the same time by packing a vector with data and sending each data parallel to one another.

Application of SIMD Two such real world examples of usage of SIMD are Fast-Fourier Transform (FFT) and three-dimensional transform. Fast Fourier Transform is used primarily with applications dealing with waveforms, such as Digital Signal Processors (DSPs), radar, sonar, and more popularly, audio/mpeg encoding (MP3s).