CISC…AGAIN!!! (and a bit o’ RISC, too) by Javier Arboleda.

Slides:



Advertisements
Similar presentations
RAM (cont.) 220 bytes of RAM (1 Mega-byte) 20 bits of address Address
Advertisements

Instruction Set Design
Fall 2012SYSC 5704: Elements of Computer Systems 1 MicroArchitecture Murdocca, Chapter 5 (selected parts) How to read Chapter 5.
Chapter 2 Data Manipulation Dr. Farzana Rahman Assistant Professor Department of Computer Science James Madison University 1 Some sldes are adapted from.
RISC / CISC Architecture By: Ramtin Raji Kermani Ramtin Raji Kermani Rayan Arasteh Rayan Arasteh An Introduction to Professor: Mr. Khayami Mr. Khayami.
The Assembly Language Level
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.
ΜP rocessor Architectures To : Eng. Ahmad Hassan By: Group 18.
RISC By Don Nichols. Contents Introduction History Problems with CISC RISC Philosophy Early RISC Modern RISC.
CS 300 – Lecture 20 Intro to Computer Architecture / Assembly Language Caches.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
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.
CS 61C L08 Introduction to MIPS Assembly Language: Arithmetic (1) Garcia, Spring 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c.
Unit -II CPU Organization By- Mr. S. S. Hire. CPU organization.
Implementation of a Stored Program Computer
The Pentium: A CISC Architecture Shalvin Maharaj CS Umesh Maharaj:
RISC CSS 548 Joshua Lo.
RISC and CISC by Eugene Clewlow. Overview History of CISC and RISC CISC and RISC  Philosophy  Attributes and disadvantages Summation.
Reduced Instruction Set Computers (RISC) Computer Organization and Architecture.
Cisc Complex Instruction Set Computing By Christopher Wong 1.
Processor 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.
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.
Introduction CS 104: Applied C++ What is Programming? For some given problem: __________ a solution for it -- identify, organize & store the problem's.
Implementation of a Stored Program Computer ITCS 3181 Logic and Computer Systems 2014 B. Wilkinson Slides2.ppt Modification date: Oct 16,
What have mr aldred’s dirty clothes got to do with the cpu
1 Instruction Sets and Beyond Computers, Complexity, and Controversy Brian Blum, Darren Drewry Ben Hocking, Gus Scheidt.
RISC By Ryan Aldana. Agenda Brief Overview of RISC and CISC Features of RISC Instruction Pipeline Register Windowing and renaming Data Conflicts Branch.
RISC Architecture RISC vs CISC Sherwin Chan.
Pirouz Bazargan SabetDecember 2003 Outline Architecture of a RISC Processor Implementation.
Ramesh.B ELEC 6200 Computer Architecture & Design Fall /29/20081Computer Architecture & Design.
Chapter Six Sun SPARC Architecture. SPARC Processor The name SPARC stands for Scalable Processor Architecture SPARC architecture follows the RISC design.
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
Lecture 7: 9/17/2002CS149D Fall CS149D Elements of Computer Science Ayman Abdel-Hamid Department of Computer Science Old Dominion University Lecture.
MIPS Processor Chapter 12 S. Dandamudi To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,
Small constants are used quite frequently (50% of operands) e.g., A = A + 5; B = B + 1; C = C - 18; Solutions? Why not? put 'typical constants' in memory.
 Introduction to SUN SPARC  What is CISC?  History: CISC  Advantages of CISC  Disadvantages of CISC  RISC vs CISC  Features of SUN SPARC  Architecture.
ECEG-3202 Computer Architecture and Organization Chapter 7 Reduced Instruction Set Computers.
Introduction 1 (Read Chap. 1) What is Programming? For some given problem: design a solution for it -- identify, organize & store the problem's data --
Represents different voltage levels High: 5 Volts Low: 0 Volts At this raw level a digital computer is instructed to carry out instructions.
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.
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
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.
The Processor & its components. The CPU The brain. Performs all major calculations. Controls and manages the operations of other components of the computer.
MIPS assembly. Computer  What’s in a computer?  Processor, memory, I/O devices (keyboard, mouse, LCD, video camera, speaker), disk, CD drive, …
CISC. What is it?  CISC - Complex Instruction Set Computer  CISC is a design philosophy that:  1) uses microcode instruction sets  2) uses larger.
1  2004 Morgan Kaufmann Publishers No encoding: –1 bit for each datapath operation –faster, requires more memory (logic) –used for Vax 780 — an astonishing.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
Addressing modes, memory architecture, interrupt and exception handling, and external I/O. An ISA includes a specification of the set of opcodes (machine.
A LECTURE NOTE. Introduction to Programming languages.
Topics to be covered Instruction Execution Characteristics
RISC and CISC Lecture 8.
Overview Introduction General Register Organization Stack Organization
An example of multiplying two numbers A = A * B;
CISC (Complex Instruction Set Computer)
MIPS Assembly.
The Pentium: A CISC Architecture
Central Processing Unit
MIPS assembly.
RISC and CISC.
Introduction to Microprocessor Programming
Presentation transcript:

CISC…AGAIN!!! (and a bit o’ RISC, too) by Javier Arboleda

Agenda Brief History An example of “Closing the semantic gap” Drawbacks of CISC Interesting RISC vs. CISC stuff

CISC’s Roots Back in the 70’s memory & software = $$$ Hardware… not so much $ Move burden of code from software & memory to hardware “Closing the semantic gap”

Department of Redundancy Department So, to reiterate, CISC architecture type was created to :  Reduce software developing costs by making compilers easier to write and code easier to debug  Reduce calls to memory, thus making it possible to do more with less memory which at the time was the most expensive part of a computer system

Exempli Gratia = E.G. != I.E. Let’s pretend that…  H is the name for a high-level language. This language has a function Cube() which will cube an integer  H compiler translates code into assembly language for the A-1 computer, which only has two instructions

A-1 Computer Instructions Move [destination register, integer or source register] This instruction takes a value, either an integer or the contents of another register, and places it in the destination register. So Move [D, 5] would place the number 5 in register D. Move [D, E] would take whatever number is stored in E and place it in D Mult [destination register, integer or source register] This instruction takes the contents of the destination register and multiplies it by either an integer or the contents of the source register, and places the result in the destination register. So Mult [D, 70] would multiply the contents of D by 70 and place the results in D. Mult [D, E] would multiply the contents of D by the contents of E, and place the result in D

Pre-CISC example Statements in HStatements in Assembly for A-1 computer 1.A = 20; 2.B = Cube(A); 1.Move [A, 20] 2.Mult [A, A] 3.Mult [A, A] 4.Move [B, A] Here it takes four statements in the A-1 assembly to do the work of two statements in H since the A-1 computer has no instruction for taking the Cube of a number

Three possible problems 1. If the program H uses Cube() many times, then assembly code will be relatively larger, which is bad for the A-1 computer that has very little memory 2. With computer speeds being so slow, compiler takes a long time to translate all of the Cube() statements to multiple Mult[] instructions 3. Programming in assembly language would be time consuming, tedious, and difficult to debug

How does CISC solve this problem? Include a Cube instruction in the instruction set of the next generation of computers, A-2 Cube[destination register, source register] This instruction takes the contents of the source register and cubes it. It then places the result in the destination register. So Cube [D, E] takes whatever value is in E, cubes it, and places the result in D

Post-CISC example Statements in HStatements in Assembly for A-2 computer 1.A = 20; 2.B = Cube(A); 1.Move [A, 20] 2.Cube[B, A]  One-to-one correspondence between H and assembly code  “Semantic gap” is closed  Complexity has moved from the software level to the hardware level

Result Compiler does less work to translate Less memory needed Easier to debug

Drawbacks When using an instructions set with so many instructions, the decode function of the computer system must be able to recognize a wide variety of functions. As a result, the decode logic, while time critical for purposes of performance, grows to be quite complex Not every one of the complex instructions are used for each software program, and thus much of the decode logic functionality is seldom used during operation Another problem arises from the fact that the complex instructions are often of different lengths, i.e., each instruction could consist of any number of operands and takes any number of cycles to execute

Here comes the 80’s and a….

Birth of RISC & CISC??? RISC = Reduced instruction set computer Previous to RISC, CISC was not called “CISC,” it was just the “really good way to do things computer” or RGWTDTC ( just kidding ) The term “complex instruction set computer” was forced upon anything else that was not RISC

Bloody hell, it’s obvious that RISC and pointy hats are the future, mate!!! Pipelining… BRILLIANT!!

RISC = GOOD!!!! CISC = BAD!!! RISC > CISC

Are you ready to rumble? RISC CISC VS

Warning, Geeky Conspiracy Theory Ahead

CISC + Pipelining = i486 CISC chips started using pipelining with the Intel i486 processor. Now what, RISC?!? Several years later Apple starts using the G3 (third generation PowerPC processors) This was a RISC chip which actually had more instructions than Intel’s Pentium II CISC processor! Hold up, Isn’t RISC suppose to have a reduced number of instructions? Isn’t that why RISC is so much better than CISC?

RISC’s people: “What we meant…” Proponents of RISC started to claim that the actual number of instructions was never intended to be reduced; rather, only the individual instructions themselves were to be reduced in cycle time and complexity All the hoopla was speculated to have been generated from Apple’s camp and users who must insist that the processors in their Macs are pure RISC chips, since

RISC = GOOD!!!! CISC = BAD!!! RISC > CISC

10 Years The argument about RISC being so much better than CISC starts to quiet down, and why? What announcement did Apple make in 2005?

No more PowerPC for Apple, Now it’s all about Intel! Brilliant!!

Hilarious!!

In Conclusion… CISC chips dominate the personal computer market Line between RISC and CISC continues to blur The RISC > CISC || CISC > RISC debate is unheard of

Thank you!

Sources c.html mputer