Слайд 2
Roadmap
Basic Elements
Processor Registers
Instruction Execution
Interrupts
The Memory Hierarchy
Cache Memory
I/O Communication
Techniques
Слайд 3
Operating System
Exploits the hardware resources of one or
more processors
Provides a set of services to system users
Manages
secondary memory and I/O devices
Слайд 4
A Computer’s
Basic Elements
Processor
Main Memory
I/O Modules
System Bus
Слайд 5
Processor
Controls operation, performs data processing
Two internal registers
Memory address
resister (MAR)
Memory buffer register (MBR)
I/O address register
I/O buffer register
Слайд 6
Main Memory
Volatile
Data is typically lost when power is
removed
Referred to as real memory or primary memory
Consists of
a set of locations defined by sequentially numbers addresses
Containing either data or instructions
Слайд 7
I/O Modules
Moves data between the computer and the
external environment such as:
Storage (e.g. hard drive)
Communications equipment
Terminals
Specified by
an I/O Address Register
(I/OAR)
Слайд 8
System Bus
Communication among processors, main memory, and I/O
modules
Слайд 10
Roadmap
Basic Elements
Processor Registers
Instruction Execution
Interrupts
The Memory Hierarchy
Cache Memory
I/O Communication
Techniques
Слайд 11
Processor Registers
Faster and smaller than main memory
User-visible registers
Enable
programmer to minimize main memory references by optimizing register
use
Control and status registers
Used by processor to control operating of the processor
Used by privileged OS routines to control the execution of programs
Слайд 12
User-Visible Registers
May be referenced by machine language
Available to
all programs – application programs and system programs
Types of
registers typically available are:
data,
address,
condition code registers.
Слайд 13
Data and
Address Registers
Data
Often general purpose
But some restrictions
may apply
Address
Index Register
Segment pointer
Stack pointer
Слайд 14
Control and
Status Registers
Program counter (PC)
Contains the address
of an instruction to be fetched
Instruction register (IR)
Contains the
instruction most recently fetched
Program status word (PSW)
Contains status information
Слайд 15
Roadmap
Basic Elements
Processor Registers
Instruction Execution
Interrupts
The Memory Hierarchy
Cache Memory
I/O Communication
Techniques
Слайд 16
Instruction Execution
A program consists of a set of
instructions stored in memory
Two steps
Processor reads (fetches) instructions from
memory
Processor executes each instruction
Слайд 18
Instruction Fetch
and Execute
The processor fetches the instruction
from memory
Program counter (PC) holds address of the instruction
to be fetched next
PC is incremented after each fetch
Слайд 19
Instruction Register
Fetched instruction loaded into instruction register
Categories
Processor-memory,
processor-I/O,
Data processing,
Control
Слайд 20
Characteristics of a
Hypothetical Machine
Слайд 22
Roadmap
Basic Elements
Processor Registers
Instruction Execution
Interrupts
The Memory Hierarchy
Cache Memory
I/O Communication
Techniques
Слайд 23
Interrupts
Interrupt the normal sequencing of the processor
Provided to
improve processor utilization
Most I/O devices are slower than the
processor
Processor must pause to wait for device
Слайд 25
Flow of Control
without Interrupts
Слайд 26
Interrupts and the
Instruction Cycle
Слайд 27
Transfer of Control
via Interrupts
Слайд 28
Instruction Cycle
with Interrupts
Слайд 32
Changes in Memory and Registers for an Interrupt
Слайд 33
Multiple Interrupts
Suppose an interrupt occurs while another interrupt
is being processed.
E.g. printing data being received via communications
line.
Two approaches:
Disable interrupts during interrupt processing
Use a priority scheme.
Слайд 34
Sequential
Interrupt Processing
Слайд 37
Multiprogramming
Processor has more than one program to execute
The
sequence the programs are executed depend on their relative
priority and whether they are waiting for I/O
After an interrupt handler completes, control may not return to the program that was executing at the time of the interrupt
Слайд 38
Roadmap
Basic Elements
Processor Registers
Instruction Execution
Interrupts
The Memory Hierarchy
Cache Memory
I/O Communication
Techniques
Слайд 39
Memory Hierarchy
Major constraints in memory
Amount
Speed
Expense
Faster access time, greater
cost per bit
Greater capacity, smaller cost per bit
Greater capacity,
slower access speed
Слайд 40
The Memory Hierarchy
Going down the hierarchy
Decreasing cost per
bit
Increasing capacity
Increasing access time
Decreasing frequency of access to the
memory by the processor
Слайд 41
Secondary Memory
Auxiliary memory
External
Nonvolatile
Used to store program and data
files
Слайд 42
Roadmap
Basic Elements
Processor Registers
Instruction Execution
Interrupts
The Memory Hierarchy
Cache Memory
I/O Communication
Techniques
Слайд 43
Cache Memory
Invisible to the OS
Interacts with other memory
management hardware
Processor must access memory at least once per
instruction cycle
Processor speed faster than memory access speed
Exploit the principle of locality with a small fast memory
Слайд 44
Principal of Locality
More details later but in short
…
Data which is required soon is often close to
the current data
If data is referenced, then it’s neighbour might be needed soon.
Слайд 46
Cache Principles
Contains copy of a portion of main
memory
Processor first checks cache
If not found, block of memory
read into cache
Because of locality of reference, likely future memory references are in that block
Слайд 49
Cache Design Issues
Main categories are:
Cache size
Block size
Mapping function
Replacement
algorithm
Write policy
Слайд 50
Size issues
Cache size
Small caches have significant impact on
performance
Block size
The unit of data exchanged between cache and
main memory
Larger block size means more hits
But too large reduces chance of reuse.
Слайд 51
Mapping function
Determines which cache location the block will
occupy
Two constraints:
When one block read in, another may need
to be replaced
Complexity of mapping function increases circuitry costs for searching.
Слайд 52
Replacement Algorithm
Chooses which block to replace when a
new block is to be loaded into the cache.
Ideally
replacing a block that isn’t likely to be needed again
Impossible to guarantee
Effective strategy is to replace a block that has been used less than others
Least Recently Used (LRU)
Слайд 53
Write policy
Dictates when the memory write operation takes
place
Can occur every time the block is updated
Can occur
when the block is replaced
Minimize write operations
Leave main memory in an obsolete state
Слайд 54
Roadmap
Basic Elements
Processor Registers
Instruction Execution
Interrupts
The Memory Hierarchy
Cache Memory
I/O Communication
Techniques
Слайд 55
I/O Techniques
When the processor encounters an instruction relating
to I/O,
it executes that instruction by issuing a
command to the appropriate I/O module.
Three techniques are possible for I/O operations:
Programmed I/O
Interrupt-driven I/O
Direct memory access (DMA)
Слайд 56
Programmed I/O
The I/O module performs the requested action
then sets the appropriate bits in the I/O status
register
but takes no further action to alert the processor.
As there are no interrupts, the processor must determine when the instruction is complete
Слайд 57
Programmed I/O
Instruction Set
Control
Used to activate and instruct device
Status
Tests
status conditions
Transfer
Read/write between process register and device
Слайд 58
Programmed
I/O Example
Data read in a word at
a time
Processor remains in status-checking look while reading
Слайд 59
Interrupt-Driven I/O
Processor issues an I/O command to a
module
and then goes on to do some other
useful work.
The I/O module will then interrupt the processor to request service when it is ready to exchange data with the processor.
Слайд 60
Interrupt-
Driven I/O
Eliminates needless waiting
But everything passes through processor.
Слайд 61
Direct Memory Access
Performed by a separate module on
the system
When needing to read/write processor issues a command
to DMA module with:
Whether a read or write is requested
The address of the I/O device involved
The starting location in memory to read/write
The number of words to be read/written