Chapter 6 Computer Architecture
Chapter 6 Computer Architecture
• Introduction
• Stack Organization
• Instruction Formats
• Addressing Modes
• Program Control
Computer Organization
Central Processing Unit 2 Introduction
• Transfer Components
Bus
• Control Components
Control Unit Register
File ALU
Control Unit
Computer Organization
Central Processing Unit 3
REGISTERS
• In Basic Computer, there is only one general purpose register,
the Accumulator (AC)
• In modern CPUs, there are many general purpose registers
• It is advantageous to have many registers
– Transfer between registers within the processor are relatively fast
– Going “off the processor” to access memory is much slower
Computer Organization
Central Processing Unit 4 General Register Organization
Clock Input
R1
R2
R3
R4
R5
R6
R7
Load
(7 lines)
SELA { MUX MUX } SELB
3x8 A bus B bus
decoder
SELD
OPR ALU
Output
Computer Organization
Central Processing Unit 5 Control
ALU CONTROL
Encoding of ALU operations OPR
Select Operation Symbol
00000 Transfer A TSFA
00001 Increment A INCA
00010 ADD A + B ADD
00101 Subtract A - B SUB
00110 Decrement A DECA
01000 AND A and B AND
01010 OR A and B OR
01100 XOR A and B XOR
01110 Complement A COMA
10000 Shift right A SHRA
11000 Shift left A SHLA
Computer Organization
Central Processing Unit 7 Stack Organization
FULL EMPTY
Stack pointer 4
SP C 3
6 bits B 2
A 1
Push, Pop operations 0
DR
/* Initially, SP = 0, EMPTY = 1, FULL = 0 */
PUSH POP
SP SP + 1 DR M[SP]
M[SP] DR SP SP 1
If (SP = 0) then (FULL 1) If (SP = 0) then (EMPTY 1)
EMPTY 0 FULL 0
Computer Organization
Central Processing Unit 8 Stack Organization
SP 3000
stack
3997
3998
3999
4000
4001
- A portion of memory is used as a stack with a Stack grows
processor register as a stack pointer In this direction
- PUSH: SP SP - 1
M[SP] DR
- POP: DR M[SP]
SP SP + 1
- Most computers do not provide hardware to check stack overflow (full
(3 * 4) + (5 * 6) 34*56*+
6
4 5 5 30
3 3 12 12 12 12 42
3 4 * 5 6 * +
Computer Organization
Central Processing Unit 10
PROCESSOR ORGANIZATION
• In general, most processors are organized in one of 3 ways
– Stack organization
» All operations are done using the hardware stack
» For example, an OR instruction will pop the two top elements from the
stack, do a logical OR on them, and push the result on the stack
Computer Organization
Central Processing Unit 11 Instruction Format
INSTRUCTION FORMAT
• Instruction Fields
OP-code field - specifies the operation to be performed
Address field - designates memory address(es) or a processor register(s)
Mode field - determines how the address field is to be interpreted (to
get effective address or the operand)
Program to evaluate X = (A + B) * (C + D) :
ADD R1, A, B /* R1 M[A] + M[B] */
ADD R2, C, D /* R2 M[C] + M[D] */
MUL X, R1, R2 /* M[X] R1 * R2 */
• Two-Address Instructions
Program to evaluate X = (A + B) * (C + D) :
Computer Organization
Central Processing Unit 13 Instruction Format
ADDRESSING MODES
• Addressing Modes
Computer Organization
Central Processing Unit 15 Addressing Modes
• Implied Mode
Address of the operands are specified implicitly
in the definition of the instruction
- No need to specify address in the instruction
- EA = AC, or EA = Stack[SP]
- Examples from Basic Computer
CLA, CME, INP
• Immediate Mode
Instead of specifying the address of the operand,
operand itself is specified
- No need to specify address in the instruction
- However, operand itself needs to be specified
- Sometimes, require more bits than the address
- Fast to acquire an operand
Computer Organization
Central Processing Unit 16 Addressing Modes
Computer Organization
Central Processing Unit 18 Addressing Modes
Computer Organization
Central Processing Unit 19 Addressing Modes
399 450
XR = 100
400 700
AC
500 800
600 900
Computer Organization
Central Processing Unit 21 Data Transfer and Manipulation
Computer Organization
Central Processing Unit 24
Interpretation
Computer Organization
Central Processing Unit 25 Program Control
Computer Organization
Central Processing Unit 26
Example
Computer Organization
Central Processing Unit 27
Example
Computer Organization
Central Processing Unit 28
Example
Computer Organization
Central Processing Unit 29
Example
Computer Organization
Central Processing Unit 30 Program Control
Computer Organization
Central Processing Unit 31 Program Control
PROGRAM INTERRUPT
Types of Interrupts
External interrupts
External Interrupts initiated from the outside of CPU and Memory
- I/O Device → Data transfer request or Data transfer complete
- Timing Device → Timeout
- Power Failure
- Operator
Software Interrupts
Both External and Internal Interrupts are initiated by the computer HW.
Software Interrupts are initiated by the executing an instruction.
- Supervisor Call → Switching from a user mode to the supervisor mode
→ Allows to execute a certain class of operations
which are not allowed in the user mode
Computer Organization
Central Processing Unit 32 Program Control
INTERRUPT PROCEDURE
Interrupt Procedure and Subroutine Call
- The interrupt is usually initiated by an internal or
an external signal rather than from the execution of
an instruction (except for the software interrupt)
Hardware
-program
Compiler
High-Level Instruction
Language Hardware
Set
Architecture
Hardware
Implementation
Computer Organization
Central Processing Unit 34
Computer Organization
Central Processing Unit 35 RISC
Computer Organization
Central Processing Unit 36 RISC
Cache size 64 Kb 64 Kb 64 Kb 64 Kb
Computer Organization
Central Processing Unit 37
Computer Organization
Central Processing Unit 38
Computer Organization
Central Processing Unit 39
Computer Organization
Central Processing Unit 40
Computer Organization
Central Processing Unit 41 RISC
- Complex Instruction
→ Format, Length, Addressing Modes
→ Complicated instruction cycle control due to the complex
decoding HW and decoding process
– Few instructions
– Few addressing modes
– Only load and store instructions access memory
– All other operations are done using on-processor registers
– Fixed length instructions
– Single cycle execution of instructions
– The control unit is hardwired, not microprogrammed
Computer Organization
Central Processing Unit 43
REGISTERS
Computer Organization
Central Processing Unit 45
PIPELINING
Computer Organization
Central Processing Unit 46
PIPELINING
• For instance, at one time, a pipelined processor may be
– Executing instruction it
– Decoding instruction it+1
– Fetching instruction it+2 from memory
Computer Organization
Central Processing Unit 47
REGISTERS
• By having a large number of general purpose registers, a
processor can minimize the number of times it needs to access
memory to load or store a value
• This results in a significant speed up, since memory accesses
are much slower than register accesses
• Register accesses are fast, since they just use the bus on the
CPU itself, and any transfer can be done in one clock cycle
• To go off-processor to memory requires using the much slower
memory (or system) bus
• It may take many clock cycles to read or write to memory
across the memory bus
– The memory bus hardware is usually slower than the processor
– There may even be competition for access to the memory bus by other
devices in the computer (e.g. disk drives)
• So, for this reason alone, a RISC processor may have an
advantage over a comparable CISC processor, since it only
needs to access memory
– for its instructions, and
– occasionally to load or store a memory value
Computer Organization
Central Processing Unit 48 RISC
CHARACTERISTICS OF RISC
• RISC Characteristics
- Relatively few instructions
- Relatively few addressing modes
- Memory access limited to load and store instructions
- All operations done within the registers of the CPU
- Fixed-length, easily decoded instruction format
- Single-cycle instruction format
- Hardwired rather than microprogrammed control
• Advantages of RISC
- VLSI Realization
- Computing Speed
- Design Costs and Reliability
- High Level Language Support
Computer Organization
Central Processing Unit 49 RISC
ADVANTAGES OF RISC
• VLSI Realization Example:
RISC I: 6%
Control area is considerably reduced RISC II: 10%
MC68020: 68%
general CISCs: ~50%
• Computing Speed
- Simpler, smaller control unit faster
- Simpler instruction set; addressing modes; instruction format
faster decoding
- Register operation faster than memory operation
- Register window enhances the overall speed of execution
- Identical instruction length, One cycle instruction execution
suitable for pipelining faster
Computer Organization