Time penalty for non-alignment on VAX/780

A.BALDWIN afb3 at hou2d.UUCP
Tue Apr 2 08:20:58 AEST 1985


The SBI is not 64-bits wide.  SBI transactions occur as follows:

	Address (30 bits on 32 bit bus)
	data	(32-bits on 32 bit bus)
	data	(32-bits on 32 bit bus)

All other transactions are "special" (and slow things down!@#$%^&).
The 11/780 has memory organized in 64-bit chunks which can cause
real problems on memory writes (the memory systems has to read the
data, mask in the new stuff, then write the data... sorta like core,
remember??).  If you read the info on the UBA's and MBA's the SBI
interaction is described in detail (hardware handbook).

The cache is two-way set associative (ie. as you say it reads 64-bits
on a miss) write-through cache.  The write through feature really 
slows things on non-aligned transfers for the reason above.  Also, it 
is unclear from the documentation (VAX hardware handbook) that the 
cache organization is quad-word oriented.  In fact most of the VAX cpu 
functions are byte oriented and I would suspect that cache to be also.

Al Baldwin
AT&T-Bell Labs

[These opinions are my own....Who else would want them!!!]

More information about the Comp.lang.c mailing list