Unit 3
Unit 3
Overview
Introduction
Stack Organization
Instruction Formats
Addressing Modes
Program Control
Program Interrupts
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
Software Interrupts
Both External and Internal Interrupts are initiated by the computer HW.
Software Interrupts are initiated by the executing an instruction.
- Supervisor Call 1. Switching from a user mode to the supervisor mode
2. Allows to execute a certain class of operations
which are
not allowed in the user mode
Interrupt Procedure
- The address of the interrupt service program is determined by the hardware rather
than from the address field of an instruction
- An interrupt procedure usually stores all the information necessary to define the state
of CPU rather than storing only the PC.
Hardware
-program
Compiler
High-Level Instruction Hardware
Language Set
Architecture
Hardware
Implementation
• Continuing growth in semiconductor memory and microprogramming
A much richer and complicated instruction sets
CISC(Complex Instruction Set Computer)
CISC
Arguments Advanced at that time
• Richer instruction sets would simplify compilers
• Richer instruction sets would alleviate the software crisis
– move as much functions to the hardware as possible
• Richer instruction sets would improve architecture quality
CISC
• These computers with many instructions and addressing modes came to
be known as Complex Instruction Set Computers (CISC)
• One goal for CISC machines was to have a machine language instruction
to match each high-level language statement type
- 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
• Since all but the load and store instructions use only registers for
operands, only a few addressing modes are needed
• By having all instructions the same length, reading them in is easy and fast
• The fetch and decode stages are simple
• The instruction and address formats are designed to be easy to decode
• Unlike the variable length CISC instructions, the opcode and register fields
of RISC instructions can be decoded simultaneously
• The control logic of a RISC processor is designed to be simple and fast
• The control logic is simple because of the small number of instructions and
the simple addressing modes
• The control logic is hardwired, rather than microprogrammed, because
hardwired control is faster