Title: Lecture 2: Review of Computer Organization
1Lecture 2 Review of Computer Organization
- Operating System
- Spring 2007
2Four Elements of a Computer System
- Processor (CPU)
- Control the operation of the computer and its
data processing functions. - Main Memory
- Stores data and programs
- RAM - random access memory
- I/O Modules
- Auxiliary storage like disk drives, tape drives
- Printers, terminals, monitors
- System Bus
- Provides for transfer of data among processors,
main memory, and I/O modules
3Computer Organization
4CPU (Processors) Registers
- A processor includes a set of registers that
provide a level of memory faster than main
memory. - User-visible Registers
- Control and Status Registers
5User-visible Registers
- Many instructions operate on data sitting on
working registers. - Since registers are faster than main memory, it
is better that data be moved to registers before
operating on them. - May be referenced by the machine language that
the processor executes - available to all programs - application programs
and system programs. - Types of registers
- Data registers
- Address registers
- For indirect addressing
- For index register
- For segment pointer
- For stack pointer
6Control and Status Registers
- Program Controller (PC) contains the address of
an instruction to be fetched - Instruction Register (IR) contains the
instruction most recently fetched - Memory Address Register (MAR)
- Memory Buffer Register (MBR)
- I/O Address Register (I/O AR)
- I/O Buffer Register (I/O BR)
- Processor Status Word (PSW)
- condition codes or flags
- interrupt enable/disable
- user/supervisor mode
7Instruction Cycle
8Actions of CPU (Types of Instructions)
- Processor-Memory Data Transfer
- Processor-I/O Data Transfer
- Data Processing
- Arithmetic or logic operation on data
- Control
- Alter sequence of execution
9Interrupts
- An interruption of the normal sequence of
execution - Improve processing efficiency
- Allows the processor to execute other
instructions while an I/O operation is in progress
10Interrupts - Classes of Interrupts
- Program
- arithmetic overflow or underflow
- division by zero
- attempt to execute an illegal machine instruction
- reference outside users memory space
- Timer
- I/O
- Hardware Failure
11Interrupts Interrupt Handler
- A program that determines nature of the interrupt
and performs whatever actions are needed - Control is transferred to this program
- Generally part of the operating system
12Interrupt Timeline
13Interrupts and the Instruction Cycle
14Interrupt Cycle
- Processor checks for interrupts
- If no interrupts, fetch the next instruction for
the current program - If an interrupt is pending, suspend execution of
the current program, and execute the interrupt
handler
15Program Flow of Control without and with
Interrupts
16Simple Interrupt Processing
17Multiple Interrupts
- Two methods
- Disable other interrupts while processing one
interrupt - Assign priorities to different interrupts.
Interrupts at higher priority can interrupt lower
ones
18Memory
- Registers
- Cache
- Main memory
- Electronic disk
- Magnetic disk
- Optical disk
- Magnetic tapes
Decreasing cost per bit
volatile
Increasing capacity
Increasing access time
Decreasing frequency of access of the memory by
the processor
nonvolatile
19Performance of Various Levels of Storage
- Movement between levels of storage hierarchy can
be explicit or implicit
20Caching
- Important principle, performed at many levels in
a computer (in hardware, operating system,
software) - Information in use copied from slower to faster
storage temporarily - Faster storage (cache) checked first to determine
if information is there - If it is, information used directly from the
cache (fast) - If not, data copied to cache and used there
21Cache
- Invisible to operating system
- Increase the speed of memory
- Processor speed is faster than memory speed
- Contain a portion of main memory
22Cache Design
- Cache size
- Block size
- Mapping function
- Determine which cache location the block will
occupy - Replacement algorithm
- Determines which block to replace
- Least-Recently-Used(LRU) algorithm
- Write policy
- When the memory write operation takes place
- Can occur every time block is updated
- Can occur only when block is replaced
23I/O Communication Techniques
- Programmed I/O
- Interrupt-Driven I/O
- Direct Memory Access (DMA)
24I/O Communication Techniques
- Programmed I/O
- Interrupt-Driven I/O
- Direct Memory Access (DMA)
25Programmed I/O
- I/O module performs the action, not the processor
- Sets appropriate bits in the I/O status register
- No interrupts occur
- Processor checks status until operation is
complete
26I/O Communication Techniques
- Programmed I/O
- Interrupt-Driven I/O
- Direct Memory Access (DMA)
27Interrupt-Driven I/O
- Processor is interrupt when I/O module ready to
exchange data - Processor is free to do other work
- No needless waiting
- Consumes a lot of processor time because every
word read or written passes through the processor
28I/O Communication Techniques
- Programmed I/O
- Interrupt-Driven I/O
- Direct Memory Access (DMA)
29Direct Memory Access
- Transfer a block of data directly to or from
memory - An interrupt is sent when the task is complete
- The processor is only involved at the beginning
and end of the transfer
30End of lecture 2