Title: CISC and RISC L1
1CISC and RISC L1
Chapter 11
- Prof. Sin-Min Lee
- Department of Mathematics and Computer Science
2(No Transcript)
3(No Transcript)
4(No Transcript)
5(No Transcript)
6(No Transcript)
7(No Transcript)
8(No Transcript)
9(No Transcript)
10(No Transcript)
11(No Transcript)
12(No Transcript)
13(No Transcript)
14(No Transcript)
15(No Transcript)
16(No Transcript)
17(No Transcript)
18(No Transcript)
19(No Transcript)
20(No Transcript)
21(No Transcript)
22(No Transcript)
23(No Transcript)
24(No Transcript)
25(No Transcript)
26(No Transcript)
27(No Transcript)
28(No Transcript)
29(No Transcript)
30(No Transcript)
31(No Transcript)
32We shall define a RISC as a computer that has
most of the following properties
Instructions are conceptually simple
Instructions are of a uniform length
Instructions use one (or very few) instruction
formats The instruction set is orthogonal
Instructions use one or very few addressing
modes The architecture is a load-and-store
architecture The architecture supports two
or a few more datatypes
33Major techniques used to implement RISC
computers RISC s use pipelining to speed
up instruction decoding and execution (thus RISC
s have separate functional units) RISC s
usually do not allow program self-modification
RISC s use Harvard architectures (separate
instruction stream and bus stream) RISC s
use large register set to reduce CPU-to-memory
traffic RISC s often use delayed branches
to avoid branch penalty, i.e. put off the
instruction execution for the branch, fill in
other instructions (if possible)
34RISC s use delayed loads to avoid waiting, i.e.
insert an instruction that is independent of the
load right after the load instruction and always
executes it! (very similar idea to the use of
delayed branches Pre-fetch branch-target to
reduce the branch delay Use special cache
to decrease memory-to-CPU delay Use
optimizing compilers that can fill
load-delay and branch-delay slots
allocate registers to reduce result-register
dependencies move load instruction as
early as possible move instructions
that evaluate branch addresses and branch
condition test as early as possible to reduce
branch penalty
35(No Transcript)
36(No Transcript)
37(No Transcript)
38- The usual equation for determining performance is
the sum for all instructions of (the number of
cycles per instruction instruction cycle time)
execution time.
39(No Transcript)
40- This allows you to speed up a processor in 3
different ways --- use fewer instructions for a
given task, reduce the number of cycles for some
instructions, or speed up the clock (decrease the
cycle time.) - CISC tries to reduce the number of instructions
for a program, and (as we will see) RISC tries to
reduce the cycles per instruction.