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