Week 7 - Computer Buses and Pipelining

23 flashcardsby —Griffith—
Study these flashcardsFree · spaced repetition · iPhone, Android, Mac & web

All cards

1
What is a "bus" in the context of computer architecture?
A bus is a shared communication link that carries signals (data, address, control, and power) between components in a computer system.
2
List the four main categories of bus lines.
Data lines, Address lines, Control lines, Power lines
3
What is a Data Line in a bus?
It carries data from one place to another in the system.
4
What is an Address Line in a bus?
It specifies the recipient (memory location or I/O device) for data.
5
What is a Control Line in a bus?
It synchronizes and controls the operations of the bus and connected devices.
6
What is a Power Line in a bus?
It provides electrical power to components connected to the bus.
7
Differentiate a Point-To-Point Bus and a Multipoint Bus.
Point-To-Point connects a specific source to a specific destination; Multipoint connects to several destinations and requires addressing.
8
Give an example of a Point-To-Point Bus.
A port that connects directly to a device like a printer.
9
Give an example of a Multipoint/Multidrop/Broadcast Bus.
Ethernet
10
What is a Backplane or System/External Bus?
It connects the CPU with memory and I/O modules within the same computer system.
11
What is a Bus Protocol?
It defines the meaning and behavior of each bus line and signal for communication between components.
12
What is Pipelining in computer architecture?
A technique where multiple instruction stages are overlapped to improve performance and reduce execution time.
13
What is Data Dependency in pipelining?
When two instructions access the same data simultaneously, causing conflicts and pipeline stalls.
14
What is Branching of Instructions in pipelining?
When a branch instruction changes the flow, preloaded instructions may be discarded, causing delays.
15
How can hardware solve Data Dependency?
Using hardware interlocks or operand forwarding to manage instruction timing and data availability.
16
How does a hardware interlock solve Data Dependency?
It detects dependencies and stalls the pipeline until data is available.
17
How does operand forwarding help with Data Dependency?
It sends the result of one instruction directly to the next, bypassing memory.
18
How can software solve Data Dependency?
Using delayed load, where compilers insert unrelated instructions after a load to fill the gap.
19
How can branching problems be solved in pipelining?
Separate pipelines, branch prediction, using independent instructions, or instruction reordering.
20
What is branch prediction?
A probabilistic method of guessing the branch path and loading instructions accordingly.
21
What happens if branch prediction is wrong?
The pipeline is flushed and reloaded, causing a performance penalty.
22
What is instruction reordering?
Changing instruction order (by compiler or CPU) to reduce stalls and handle dependencies.
23
What is superscalar processing?
A technique where multiple instructions are reordered and executed in parallel to boost performance.
Study all 23 cards for free