CS 320 Unit 14 CISC Architectures

CS 320 Unit 14 CISC Architectures - Unit 14 CISC...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon
Unit 14 CISC Instruction Set Architectures CS 320 Computer Architecture Spring 2008 Minnesota State University Furman Haddix, Assistant Professor
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Unit 14 RISC Architectures Objectives Unit 14 Complex Instruction Set Computing (CISC) Architectures Java Virtual Machine Intel Architecture-32 Unit 15 Reduced Instruction Set Computing (RISC) Architectures UltraSPARC III PIC Comparison of RISC/CISC Instruction Set Architectures Unit 16 Very Long Instruction Word (VLIW Architecture) VLIW Example: Intel Architecture-64 (IA-64 Itanium) VLIW/RISC Comparison Text, Chapter 5
Background image of page 2
Design alternative: provide more powerful operations goal is to reduce number of instructions coded and executed danger is a slower cycle time and/or a higher CPI Complex Instruction Set Computing (CISC) Examples Implementing an Object-Oriented Language Java and JVM IA-32 (Current Instance – Pentium) Alternative Architectures “The path toward operation complexity is thus fraught with peril. To avoid these problems, designers have moved toward simpler instructions”
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
JVM – A Stack Machine HLL: a = b + c + 7 ILOAD b ILOAD c BIPUSH 7 IADD IADD ISTORE a Memory 748 a 47 $fp 36 22 b c $sp 101 42 843 local variable frame stack 47 36 7 43 90 90 4($fp) 8($fp) 0($fp)
Background image of page 4
4. JVM bytecode bytecode Operation Mnemonic Meaning 60 add iadd TOS'=TOS+NOS; 64 subtract isub TOS'=NOS-TOS; 68 multiply imul TOS'=NOS*TOS; 6C divide idiv TOS'=NOS/TOS; 70 modulo irem TOS'=NOS%TOS; 15 load local integer iload u8 TOS'=Frame[u8] 1A,1B,1C, 1D load local integer iload_{0,1, 2,3} TOS'=Frame[{0,1,2,3}] 36 store local integer istore u8 Frame[u8]=TOS; 3B,3C,3D, 3E store local integer istore_{0,1 ,2,3} MAR=LV+{0,1,2,3}; M[MAR]=MDR; push MDR 2E load integer from array iaload TOS'=*NOS[TOS]; 4F store integer into array iastore *NNOS[NOS]=TOS;
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
5. JVM bytecode bytecode Operation Mnemonic Meaning 10,11 load immediate bipush s8, sipush s16 TOS'=s8 or s16 2,3,4,5,6,7,8 load immediate iconst_{m1,0,1,2 ,3,4,5} TOS'={- 1,0,1,2,3,4,5} 7E and iand TOS'=TOS&NOS; 80 or ior TOS'=TOS|NOS; 78 shift left ishl TOS'=NOS << TOS; 7A, 7C shift right ishr, iushr TOS'=NOS >> TOS; 00 skip nop no change 84 increment iinc u8 s8 Frame[u8]= Frame[u8] + s8 9F branch on equal if_icompeq s16 if TOS == NOS, go to PC + s16; A0 branch on not equal if_icompne s16 if TOS != NOS, go to PC + s16; 99,9D,9C,9B,9 E,9A conditional branch if{eq,gt,ge,lt,le, ne} s16 if TOS {<,<=,>,>=} 0, go to PC +
Background image of page 6
6. JVM bytecodes bytecod e Operation Mnemonic Meaning B1, AC return null/integer ret, ireturn return to calling procedure A8 jump to subroutine jsr s16 go to s16; push; TOS=PC+ 3 57,58 remove from stack pop, pop2 pop, pop twice 59 duplicate on stack dup TOS'=TOS 5F swap top 2 positions on stack swap T=NOS; NOS=TOS; TOS=T C6, C7 check for null reference ifnull s16, ifnotnull s16 if TOS {==,!=} null, go to PC + s16 BE get length of array arraylength TOS' = length of array B6 invoke method invokevirtual Invoke method in
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Java Bytecode Architecture Although many bytecodes are simple, those in the last half-dozen rows above are complex and specific to Java.
Background image of page 8
Image of page 9
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 37

CS 320 Unit 14 CISC Architectures - Unit 14 CISC...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online