CS6461 - Computer Architecture Fall 2016 Morris Lancaster: Lecture 3 - Instruction Set Architecture
CS6461 - Computer Architecture Fall 2016 Morris Lancaster: Lecture 3 - Instruction Set Architecture
Fall 2016
Morris Lancaster
Adapted from Professor Stephen Kaislers Notes
RISC
(Mips,Sparc,HP-PA,IBM RS6000,PowerPC . . .1987)
One problem with the "kitchen sink" approach is that it's very difficult
to anticipate all the features people will want.
For example, Intel's MMX and SIMD instruction enhancements were
added to make multimedia programming more practical on the Pentium
processor.
Back in 1978, very few people could have possibly anticipated the need
for these instructions.
When designing a CPU using the "kitchen sink" approach, it is often
common to discover that programs almost never use some of the available
instructions.
Unless very few programs use the instruction (and you're willing to let them
break) or you can automatically simulate the instruction in software,
removing instructions is a very difficult thing to do.
Accumulator (acc):
1 address add A acc = acc + memory[A]
1+x address addx A acc = acc + memory[A + x]
Stack:
0 address add tos = tos + next
(tos = top of stack)
General Purpose Register:
2 address add A B EA(A) = EA(A) + EA(B)
3 address add A B C EA(A) = EA(B) + EA(C)
Pop C Store C, R3
memory memory
R3 = R1 + R2
acc = acc + mem[C] R1 = R1 + mem[C]
Characteristics of ISA:
regularity
orthogonality
composability
Compilers perform a giant case analysis
too many choices make it hard
Orthogonal instruction sets
operation, addressing mode, data type
One solution or all possible solutions
2 branch conditions eq, lt
or all six eq, ne, lt, gt, le, ge
not 3 or 4
Let the compiler put the instructions together to make
more complex sequences.
10/7/2017 CS61 Computer Architecture - Lecture 3 34
Designing ISAs to Improve Compilation
Orthogonality
No special registers, few special cases, all operand modes
available with any data type or instruction type
Completeness
Support for a wide range of operations and target applications
Regularity
No overloading for the meanings of instruction fields
Streamlined Design
Resource needs easily determined. Simplify tradeoffs.
Ease of compilation (programming?), Ease of
implementation, Scalability
Other Aspects
Successor How is it specified?
Conditions How are they determined?
Encodings Fixed or variable? Wide?
Parallelism
10/7/2017 CS61 Computer Architecture - Lecture 3 37
Looking at ISAs
3. Patterson and Ditzel, The case for the reduced instruction set
computer. Computer Architecture News, October 1980