Week 13 - I/0 Architectures Flashcards

1
Q

What’s the formula for Amdahl’s Law?

A

S = 1/ ((1-f) + f/k)
S is the speedup
f is the fraction of work performed by the faster component
k is the speedup of a new component

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Let’s say that most of your daytime processes spend 70% of their time running in the CPU and 30% waiting for service from the disk. Suppose also that someone is trying to sell you a processor array upgrade that is 50% faster than what you have and costs $10,000. The day before, someone had called you on the phone offering you a set of disk drives for $7,000. These new disks promise two and a half times the throughput of your existing disks. You know that the system performance is starting to degrade, so you need to do something. Which would you choose to yield the best performance improvement for the least amount of money?

A

S1 = 1/ ( (1-f) + f/k )
f = 70% = 0.7
k = 1.5
S1 = 1 / ( (1-0.7) + 0.7/1.5)
S1 = 1.3
Price1 = $10 000
**
S2 = 2.5
Price2 = $7000
**
I think we have an obvious winner here.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Suppose the daytime processing load consists of 60% CPU activity and 40% disk activity. Your customers are complaining that the system is slow. After doing some research, you learn that you can upgrade your disks for $8,000 to make them 2.5 times as fast as they are currently. You have also learned that you can upgrade your CPU to make it 1.4 times as fast for $5,000.
a) Which would you choose to yield the best performance improvement for the least
amount of money?
b) Which option would you choose if you don’t care about the money, but want a faster system?
c) What is the break-even point for the upgrades? That is, what price would be charged for both upgrades to make their cost and performance improvement equal?

A

Given: 60% CPU, 40% Disk

a) Disk upgrade:
Cost / Improvement = 8000/2.5 = 3200
CPU upgrade:
Cost / Speed Improvement = 5000/1.4 = 3571
Disk has lower cost per unit of improvement.

b) **Disk upgrade **
Overall speedup = 1/ ((1-0.4) + 0.4/2.5) = 1.3
CPU upgrade
Overall speedup = 1/((1-0.6) +0.6/1.4) = 1.2

Disk is again better.

c) i am at my breaking point

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What even is I/O?

A

a subsystem of components that moves coded data between external devices ( keyboard, mouse, printer) and a host system ( CPU and main memory).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the I/O control methods?

A

Programmed, Interrupt-driven, Direct Memory Access, Channel-attached.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

State Amdahl’s Law in words.

A

Amdahl’s Law tells us that improving one part of a task in a system only speeds up the overall process by the fraction of time that part takes. It means there are limits to how much we can speed up a task by focusing on just one aspect. To make a system faster, we need to consider all components, not just the fastest one.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a speedup?

A

Speedup is the measure of how much faster a task or process becomes after improvements or optimizations are applied.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is a protocol and why is it important in I/O bus technology?

A

A protocol is a set of rules defining how data is exchanged between devices. In I/O bus tech, it’s important because it makes sure devices can understand each other, helping them work together smoothly.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Explain how programmed I/O is different from the interrupt-driven I/O.

A

Programmed I/O involves the CPU directly managing data transfer between memory and devices, while interrupt-driven I/O relies on devices signaling the CPU when they need attention. In programmed I/O, the CPU actively controls the data transfer, whereas in interrupt-driven I/O, the CPU responds to device-initiated interruptions, allowing for more efficient use of CPU time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is polling?

A

Polling is like repeatedly asking a device if it’s ready to do something. It’s a way for a computer to keep checking if a task is done or if a device needs attention.

more complicated answer in footnote

Polling is a method where a computer system repeatedly checks or “polls” the status of a device or process to determine if it needs attention or if a specific condition has been met. It involves regularly querying the device to see if it is ready for data transfer or if an event has occurred, often in a loop, until the desired condition is met. Polling is commonly used in programmed I/O to check the status of devices.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How are address vectors used in interruptdriven I/O?

A

Address vectors in interrupt-driven I/O act like signposts, guiding the CPU to the right place in memory when an interrupt happens. They help the system quickly know what to do when a device needs attention.

footnote for complicated answer

In interrupt-driven I/O, address vectors are used to point to specific routines or addresses in memory that the CPU should jump to when a particular interrupt occurs. These vectors help the CPU quickly find and execute the appropriate code to handle the interrupt, allowing for efficient and organized management of I/O operations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How does DMA work?

A

DMA, or Direct Memory Access, allows devices to transfer data to and from memory without involving the CPU. It’s like having a helper (DMA controller) that takes care of moving data between devices and memory, freeing up the CPU to do other tasks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a bus master?

A

A bus master is like the traffic cop of a computer’s communication highway (bus). It’s in charge, directing data flow between devices and making sure everything runs smoothly.

footnote has original terms

A bus master is a device on the computer’s communication bus that has the authority to initiate data transfers between devices without needing the CPU’s constant involvement. It takes on a managerial role, coordinating data movement efficiently.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Why does DMA require cycle stealing?

A

DMA requires cycle stealing because it temporarily borrows a few CPU cycles to transfer a small amount of data, allowing other devices to use the bus during that time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What does it mean when someone refers to I/O as bursty?

A

When someone describes I/O as “bursty,” it means that data transfers between the input/output devices and memory occur in occasional bursts or short bursts of high activity, followed by periods of lower or no activity. It suggests an irregular pattern of data flow rather than a continuous and steady stream.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How is channel I/O different from
interrupt-driven I/O?

A

Channel I/O is like having a dedicated helper (channel) manage data transfers between devices and memory without bothering the CPU, while interrupt-driven I/O relies on devices notifying the CPU when they need attention. In channel I/O, the channel independently handles data movement, reducing CPU involvement, while interrupt-driven I/O depends on the CPU responding to device-initiated interruptions.

17
Q

How is channel I/O similar to DMA?

A

Channel I/O and DMA (Direct Memory Access) are alike in that they both help devices transfer data to and from memory without requiring constant CPU involvement. They act as helpers, streamlining data movement and freeing up the CPU for other tasks.

18
Q

What is multiplexing?

A

Multiplexing is like combining multiple signals or data streams into one, sharing a single communication channel efficiently. It’s a way to make the most out of limited resources by allowing multiple devices to use the same pathway at different times.

normal computer terms in footnote.

Multiplexing is like combining multiple signals or data streams into one, sharing a single communication channel efficiently. It’s a way to make the most out of limited resources by allowing multiple devices to use the same pathway at different times.

19
Q

What distinguishes an asynchronous bus from a synchronous bus?

A

An asynchronous bus doesn’t use a fixed clock to coordinate communication; it relies on signals to indicate when data is ready. In contrast, a synchronous bus uses a regular clock signal to synchronize data transfer, making everything move in a coordinated rhythm.

20
Q

What is the function of a CPU?

A

The CPU, or Central Processing Unit, is like the brain of a computer. It processes instructions, performs calculations, and manages data to execute tasks, making the computer run and respond to user commands.

21
Q

What purpose does a datapath serve?

A

A datapath is where a computer crunches numbers and handles data to carry out tasks. It’s like the processing powerhouse inside the computer.

22
Q

What does the control unit do?

A

The control unit is like the traffic cop of a computer, directing the flow of instructions and data between different parts. It manages and coordinates the actions of the computer’s components to execute tasks.

23
Q

Where are registers located and what are the different types?

A

Registers are small, fast storage locations inside the CPU. Common types include:
1. Instruction Register (IR): Holds the current instruction being executed.
2. Program Counter (PC): Keeps track of the memory address of the next instruction.
3. Memory Address Register (MAR): Holds the address of data in memory.
4. Memory Buffer Register (MBR): Temporarily stores data fetched from or to be written to memory.
5. General-Purpose Registers: Used for various data manipulation tasks during program execution.

24
Q

How does the ALU know which function to perform?

A

The ALU knows what to do based on signals from the control unit. It’s like getting instructions: if you need to add, subtract, or do something else, the control unit tells the ALU, and it follows those directions.

25
Q

Why is a bus often a communications bottleneck?

A

A bus can become a communication bottleneck because it’s like a shared pathway for data between different parts of a computer. If too much data tries to go through at once, it can slow down the overall performance, creating a bottleneck where data has to wait its turn.

26
Q

What is the difference between a point-to-point bus and a multipoint bus?

A

A point-to-point bus connects two devices directly, like a private road between them. A multipoint bus, on the other hand, allows multiple devices to share the same communication path, like a highway with several exits.

27
Q

Why is a bus protocol important?

A

A bus protocol is like traffic rules for devices on a computer bus. It’s important to ensure they communicate correctly, avoiding confusion and collisions.

28
Q

Explain the differences between data buses, address buses, and control buses.

A

Data Bus: Moves actual data between components like memory and the CPU.
Address Bus: Specifies the location (address) where data should be read from or written to in the memory.
Control Bus: Manages various control signals, indicating when to read, write, or perform other operations, coordinating the actions of different parts of the computer.

29
Q

What is a bus cycle?

A

A bus cycle is like a round trip on a bus route in a computer. It’s a single operation where data is transferred between different components using the computer bus.