Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University RISC & CISC.

Slides:



Advertisements
Similar presentations
CH10 Instruction Sets: Characteristics and Functions
Advertisements

Review of the MIPS Instruction Set Architecture. RISC Instruction Set Basics All operations on data apply to data in registers and typically change the.
1 Instruction Set Principles and Examples 游象甫. 2 Outline Introduction Classifying instruction set architectures Memory addressing Type and size of operands.
ISA Issues; Performance Considerations. Testing / System Verilog: ECE385.
1 Lecture 3: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation.
EECC551 - Shaaban #1 Lec # 2 Fall Instruction Set Architecture (ISA) “... the attributes of a [computing] system as seen by the programmer,
1 ECE462/562 ISA and Datapath Review Ali Akoglu. 2 Instruction Set Architecture A very important abstraction –interface between hardware and low-level.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 5 MIPS ISA & Assembly Language Programming.
ELEN 468 Advanced Logic Design
Chapter 2.
PDP-8 Jon Andrews Project Outline: To implement a real commercial processor into an Field Programmable Gate Array (FPGA). It should be able to run code.
RISC, CISC, and Assemblers Hakim Weatherspoon CS 3410, Spring 2011 Computer Science Cornell University See P&H Appendix B.1-2, and Chapters 2.8 and 2.12.
Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University A Processor See: P&H Chapter ,
CSE378 ISA evolution1 Evolution of ISA’s ISA’s have changed over computer “generations”. A traditional way to look at ISA complexity encompasses: –Number.
CS 536 Spring Code generation I Lecture 20.
What is an instruction set?
4/6/08Prof. Hilfinger CS164 Lecture 291 Code Generation Lecture 29 (based on slides by R. Bodik)
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See P&H Appendix 2.16 – 2.18, and 2.21.
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See P&H Appendix 2.16 – 2.18, and 2.21.
Instruction Set Architecture
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CS-334: Computer.
Computer architecture Lecture 11: Reduced Instruction Set Computers Piotr Bilski.
1 (Based on text: David A. Patterson & John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd Ed., Morgan Kaufmann,
Computer Architecture and Organization
Computer Architecture EKT 422
Oct. 25, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 9: Alternative Instruction Sets * Jeremy R. Johnson Wed. Oct. 25, 2000.
©These slides may be freely used, distributed, and incorporated into other works. 1 Addressing Modes For speed… we want fixed-size instructions, and they.
Chapter 10 Instruction Sets: Characteristics and Functions Felipe Navarro Luis Gomez Collin Brown.
Chapter 2 — Instructions: Language of the Computer — 1 Memory Operands Main memory used for composite data – Arrays, structures, dynamic data To apply.
What is a program? A sequence of steps
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 7, 8 Instruction Set Architecture.
Instruction Sets: Characteristics and Functions  Software and Hardware interface Machine Instruction Characteristics Types of Operands Types of Operations.
ARM (Advanced RISC Machine; initially Acorn RISC Machine) Load/store architecture 65 instructions (all fixed length – one word each = 32 bits) 16 registers.
Computer Architecture & Operations I
Computer Architecture & Operations I
Instruction sets : Addressing modes and Formats
Assembly language.
COMPUTER ARCHITECTURE & OPERATIONS I
ELEN 468 Advanced Logic Design
Prof. Sirer CS 316 Cornell University
The University of Adelaide, School of Computer Science
Instructions - Type and Format
RISC, CISC, and ISA Variations
RISC, CISC, and ISA Variations
CS170 Computer Organization and Architecture I
Systems Architecture I (CS ) Lecture 5: MIPS Instruction Set*
The University of Adelaide, School of Computer Science
Computer Architecture & Operations I
Lecture 30 (based on slides by R. Bodik)
The University of Adelaide, School of Computer Science
ECE232: Hardware Organization and Design
ECEG-3202 Computer Architecture and Organization
Chapter 9 Instruction Sets: Characteristics and Functions
ECEG-3202 Computer Architecture and Organization
Evolution of ISA’s ISA’s have changed over computer “generations”.
Prof. Sirer CS 316 Cornell University
Instruction Set Principles
Evolution of ISA’s ISA’s have changed over computer “generations”.
Evolution of ISA’s ISA’s have changed over computer “generations”.
CPU Structure CPU must:
Systems Architecture I (CS ) Lecture 5: MIPS Instruction Set*
Evolution of ISA’s ISA’s have changed over computer “generations”.
CS 3410, Spring 2014 Computer Science Cornell University
Chapter 10 Instruction Sets: Characteristics and Functions
Presentation transcript:

Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University RISC & CISC

2 Instruction Set Architecture ISA defines the permissible instructions MIPS: load/store, arithmetic, control flow, … ARM: similar to MIPS, but more shift, memory, & conditional ops VAX: arithmetic on memory or registers, strings, polynomial evaluation, stacks/queues, … Cray: vector operations, … x86: a little of everything

3 One Instruction Set Architecture Toy example: subleq a, b, target Mem[b] = Mem[b] – Mem[a] then if (Mem[b] <= 0) goto target else continue with next instruction clear a == subleq a, a, pc+4 jmp c == subleq Z, Z, c add a, b == subleq a, Z, pc+4; subleq Z, b, pc+4; subleq Z, Z, pc+4

4 PDP-8 Not-a-toy example: PDP-8 One register: AC Eight basic instructions: AND a # AC = AC & MEM[a] TAD a # AC = AC + MEM[a] ISZ a # if (!++MEM[a]) skip next DCA a # MEM[a] = AC; AC = 0 JMS a # jump to subroutine (e.g. jump and link) JMP a # jump to MEM[a] IOT x# input/output transfer OPR x # misc operations on AC

5 Stack Based Stack machine data stack in memory, stack pointer register Operands popped/pushed as needed add [ Java Bytecode, PostScript, odd CPUs, some x86 ] Tradeoffs:

6 Accumulator Based Accumulator machine Results usually put in dedicated accumulator register add b store b [ Some x86 ] Tradeoffs:

7 Load-Store Load/store (register-register) architecture computation only between registers [ MIPS, some x86 ] Tradeoffs:

8 Axes Axes: Arguments: stack-based, accumulator, 2-arg, 3-arg Operand types: load-store, memory, mixed, stacks, … Complexity: CISC, RISC

9 Complexity MIPS = Reduced Instruction Set Computer (RlSC) ≈ 200 instructions, 32 bits each, 3 formats all operands in registers –almost all are 32 bits each ≈ 1 addressing mode: Mem[reg + imm] x86 = Complex Instruction Set Computer (ClSC) > 1000 instructions, 1 to 15 bytes each operands in dedicated registers, general purpose registers, memory, on stack, … –can be 1, 2, 4, 8 bytes, signed or unsigned 10s of addressing modes –e.g. Mem[segment + reg + reg*scale + offset]

10 RISC vs CISC RISC Philosophy Regularity & simplicity Leaner means faster Optimize the common case CISC Rebuttal Compilers can be smart Transistors are plentiful Legacy is important Code size counts Micro-code!