in CO and Architecture edited by
618 views
0 votes
0 votes
Consider a disk drive with 16 surfaces, 512 tracks / surface, 256 sectors / track, 8 KB / sector with a rotation speed of 3600 rpm. The disk is operated in cycle stealing mode where by whenever 1 B word is ready it is sent to memory, similarly. For writing, the disk interface reads a 4 B word from the memory in each DMA cycle. The time for each memory cycle is 50 nsec. The maximum percentage of time that the CPU gets blocked during DMA operation is ______
in CO and Architecture edited by
by
618 views

2 Answers

1 vote
1 vote

Revolutions per minute=3600 (3600 rev in 60 seconds)
1 Rev (or 1 track) = 60 / 3600
1 track capacity = 256 * 8 KB

256 * 8 KB = 60 / 3600
1B = 8.138 ns

4byte transfer takes 32.552

DMA will transfer 4byte in 50 ns. (disk interface reads a 4 B word from the memory in each DMA cycle.)

As the question says “maximum percentage of time that the CPU gets blocked during DMA operation” so CPU only gets blocked for the time when the transfer of data(which depends upon memory cycle time) from DMA takes place and in this question it is 50 ns.

So in 1 cycle of 50 ns, we can easily transfer 4byte data which only needs 32.552 ns, so it will be easily transferred without the CPU getting blocked.

percentage of time that CPU gets blocked during DMA operation = 50 / 32.552 = 1.536

As % is more than 100, So CPU won’t get blocked.

For details and discussion on such types of questions refer to:  GATE CSE 2005 | Question:70

 

edited by
0 votes
0 votes

$2^{8}\times 2^{13}B$ transferred in $\frac{1}{60}sec.$

$4B$ transferred in $\frac{4}{60\times 2^{21}}sec.=33ns$

So, total CPU will be blocked for $\frac{50}{33}=1.xx$

So, CPU will not get blocked, as percentage is more than 100.

Ref:https://gateoverflow.in/1393/gate2005-70

1 comment

i didn’t understand the reason why cpu will not get blocked here….

if % is more than 100 than c.p.u should be blocked whenever d.m.a is transferring data
0
0

Related questions