STW120CT Computer Architecture and Networks: (Instruction Pipelining)
STW120CT Computer Architecture and Networks: (Instruction Pipelining)
Backing
Control Unit Arithmetic Logic Unit (ALU) Storage
(not always
Accumulator included at
this level)
Input Output
Harvard Architecture
Computer Components: Top Level
• A memory module
View
consists of a set of
locations, defined by
sequentially numbered
addresses. Each location
contains a binary
number that can be
interpreted as either an
instruction or data. An
I/O module transfers
data from external
devices to CPU and
memory, and vice versa.
It contains internal
buffers for temporarily
holding these data until
they can be sent on.
Processor
Organization
The processor must able to do:
•Fetch instruction: The processor reads an instruction from memory
(register, cache, main memory).
•Interpret instruction: The instruction is decoded to determine what action
is required.
•Fetch data: The execution of an instruction may require reading data from
memory or an I/O module.
•Process data: The execution of an instruction may require performing
some arithmetic or logical operation on data.
•Write data: The results of an execution may require writing data to
memory or an I/O module.
CPU with system
bus
• Give simplified view of processor
CPU internal
structure
Basic instruction
•cycle
Use the simplified two-step description
• The two steps are referred to as the fetch cycle and the execute cycle.
• At the beginning of each instruction cycle, the processor fetches an
instruction from memory.
• After an instruction has been interpreted, the processor performs
(executes) the required action
Fetch Cycle
Program Counter (PC) holds address of next instruction to fetch
Processor fetches instruction from memory location pointed to
by PC
Increment PC
Unless told otherwise
11
Execute Cycle
After an instruction has been interpreted, the processor performs (executes) the required
action. In general, these actions fall into the following four categories:
Processor-memory Transfer
Data transfer between CPU and main memory
Processor-I/O Transfer
Data transfer between CPU and I/O module
Data processing
Some arithmetic or logical operation on data
Control
Alteration of sequence of operations
e.g. jump
Combination of above
12
Interrupts
Mechanism by which other modules (e.g. I/O) may interrupt normal sequence of processing
• Demerits:
• True data dependency
• Procedural dependency
• Resource conflicts
• Output dependency
• Antidependency
References
• Computer Organization and Architecture – Designing for Performance (10th
Edition), William Stallings