in CO and Architecture retagged by
120 views
1 vote
1 vote

Question → Consider a system in which bus cycles take 500 ns. Transfer of bus control in either direction, from processor to I/O device or vice-versa, takes 250 ns. One of the I/O devices has a data transfer rate of 50 KB/s and employs DMA. Data are transferred one byte at a time.
 

a) Suppose we employ DMA at a burst mode. That is, the DMA interface gains bus mastership prior to the start of a
block transfer and maintains control of the bus until the whole block is transferred. For how long would the device tie up the bus when transferring a block of 128 bytes?
 

b)Repeat the calculation for cycle-stealing mode

in CO and Architecture retagged by
120 views

2 Answers

0 votes
0 votes

For Burst Mode :-.

For how long would the device tie up the bus when transferring a block of 128 bytes

Bus has requested and release only one time for whole block of data transfer

Bus is tie up with DMA during data transfer to the memory

So total time =Bus request+release+n*cycle time

250+250 +128*500=64500 ns

____________________________________________________________________________________________________________________

For Cycle Stealing Mode:-

DMA returns the bus after a word is transfer. The DMA effectively steals cycles
from the processor in order to transfer the byte, so single byte transfer is also known as cycle stealing.

Bus is requested  and release for every Byte of transfer So,

total Time= 128*(250+250+500) ==>128000 ns

_______________________________________________________________________________________________________________________

Can anyone please check this solution

0 votes
0 votes
$data\ transfer\ rate=50KB/sec$

$\mathit{bus \ cycle\ =500ns}$

$trasfer\ of\ bus\ control=250ns$

$data\ transfer\ 1\ Byte\ at\ a\ time$

$block\ size=128\ Byte$

 

$\mathit{Burst\ Mode)}$

$ transfer\ time=\frac{block\ size}{data\ transfer\ rate}$

                                      $\frac{128*8}{50*10^{3}*8}=2.56ms$

$actual\ transfer\ time=time\ to\ transfer\ bus\ control\ at\ beginning\ and\ end+transfer\ time$

$=250ns+2.56ms+250ns$

$=2.56ms+500ns$$=2.56ms+500ns(500ns \ is \ negligible)$

$\cong 2.56ms$

 

$\mathit{Cycle\ stealing\ mode)}$

$where\ only\ 1Byte\ is\ transfer\ not\ the\ entire\ data$

$time\ to\ transfer\ 1Byte=250+500+250=1000ns$

$= 1microsec$

$total\ transfer\ time=128*1microsec$

$=128microsec$

2 Comments

Hii @afroze,

Why are taking disk transfer time in Burst Mode ??

Data is already buffered in i/o buffer before the bus has granted to the DMA

0
0
In burst mode data should be transferred at io device transfer rate.
0
0

Related questions