From: utzoo!decvax!duke!bcw
Newsgroups: net.unix-wizards
Title: Re: DZ-11 vs DH-11
Article-I.D.: duke.2531
Posted: Mon Sep 13 22:06:32 1982
Received: Tue Sep 14 06:15:04 1982

From:	Bruce C. Wright @ Duke University
Re:	DZ-11 vs DH-11

It is entirely reasonable that there are tradeoffs between the DZ-11
and the DH-11.  The DH-11 requires the acquisition of things like
buffered data paths (on the VAX), and freeing them when done;  it
also requires some extra overhead for setting up the dma transfer
registers.  The considerations would look something like:

	DZ-11 time = per_io_setup_time + length_of_transfer *
			(character_translation_time +
			 interrupt_time)

	DH-11 time = per_io_setup_time + length_of_transfer *
			character_translation_time +
			interrupt_time +
			dma_setup_time

where:	per_io_setup_time is the time to set up the i/o operation
			(read and check parameters, etc)
	length_of_transfer is the transfer size in bytes
	character_translation_time is the time to translate things
			like tabs and so forth (you will have to
			scan the string and move the translated
			characters to some new buffer)
	interrupt_time is the length of an interrupt
	dma_setup_time is the time required to set up the dma transfer.

If the transfer is short enough (1 or two bytes), the DZ-11 will
clearly win since it will not have the dma setup time, and will have
the same number of interrupts as the dh-11.  If the transfer is long
enough, the DH-11 will win because all those interrupts will not happen
for the dh.  The only question is where the tradeoff point is, which
is going to be hardware and operating-system dependent.  I have heard
that this happens around 10-15 characters, but have not done any
timing myself;  the claim was by someone with an ax to grind (DEC maybe,
or maybe Able), so I'm not sure that the numbers haven't been fiddled.

For many systems (especially if they tend to do single-character or
only a few-character I/O), the DH-11 will clearly not be worth it.  The
DMF-32 has both programmed I/O (like the DZ) and dma I/O (like the DH),
so the device driver can choose the most efficient method, so this
looks like a better choice in the long run (though I think the DMF-32
is still not intelligent enough...).

			Bruce C. Wright @ Duke University