edited by
601 views
5 votes
5 votes
A Disk drive with $8$ surfaces, $256$ tracks/surface, $256$ sectors/track, $512$ bytes/sector and rotation speed of $3600$ rpm is operated in cycle stealing mode whereby whenever one $2$ Byte word is ready, it is sent to memory. Similarly for writing, the disk interface reads a $2$ Byte word from memory in each DMA cycle. The memory cycle time is $20$ nanoseconds. Find the maximum percentage of time that a CPU gets blocked during DMA operations (rounded to $1$ decimal point).
edited by

1 Answer

Best answer
8 votes
8 votes

Only one surface of a hard disk can be read at a time.
    
Ref: https://superuser.com/questions/25355/multiple-independent-read-write-heads-on-the-same-hard-drive-platter

Track capacity: $512\times 256 = 128$ KB

Data transfer rate:
    $\frac{60}{3600}s\rightarrow 128$ KB
    
    $2 \text{Byte} \rightarrow \frac{2}{60\times 128\times 1024}=254.3$ ns $= \left \lceil \dfrac{254.3}{20}\right \rceil = 13$ memory cycles 

Maximum % of time CPU gets blocked using cycle stealing:
    
$\qquad=\frac{1}{13}\times 100=7.69\%$

If we do not do ceil operation for getting memory cycles, we will get $7.8\%$ which is also fine as that can happen if DMA operation continues for a very long time. 

selected by
Answer:

Related questions