24-12-2012, 02:57 PM
REDUCED INSTRUCTION SET COMPUTERS (RISC)
1REDUCED INSTRUCTION.pdf (Size: 53.56 KB / Downloads: 39)
What are RISCs and why do we need them?
• RISC architectures represent an important
innovation in the area of computer organization.
• The RISC architecture is an attempt to produce
more CPU power by simplifying the instruction set
of the CPU.
• The opposed trend to RISC is that of complex
instruction set computers (CISC).
Evaluation of Program Execution
or
What are Programs Doing Most of the Time?
• Several studies have been conducted to determine
the execution characteristics of machine instruction
sequences generated from HLL programs.
• Aspects of interest:
1. The frequency of operations performed.
2. The types of operands and their frequency of
use.
3. Execution sequencing (frequency of jumps,
loops, subprogram calls).
Frequency of Instructions Executed
• Frequency distribution of executed machine
instructions:
- moves: 33%
- conditional branch: 20%
- Arithmetic/logic: 16%
- others: Between 0.1% and 10%
• Addressing modes: the overwhelming majority of
instructions uses simple addressing modes, in
which the address can be calculated in a single
cycle (register, register indirect, displacement);
complex addressing modes (memory indirect,
indexed+indirect, displacement+indexed, stack) are
used only by ~18% of the instructions.
Operand Types
• 74 to 80% of the operands are scalars (integers,
reals, characters, etc.) which can be hold in
registers;
• the rest (20-26%) are arrays/structures; 90% of
them are global variables;
• 80% of the scalars are local variables.
Procedure Calls
Investigations have been also performed about the
percentage of the total execution time spent executing a
certain HLL instruction.
• It turned out that comparing HLL instructions, most
of the time is spent executing CALLs and
RETURNs.
• Even if only 15% of the executed HLL instructions
is a CALL or RETURN, they are executed most of
the time, because of their complexity.
• A CALL or RETURN is compiled into a relatively
long sequence of machine instructions with a lot of
memory references.