Documentation Archive Developer
Search

ADC Home > Reference Library > Technical Notes > Legacy Documents > Hardware & Drivers >

Legacy Documentclose button

Important: This document is part of the Legacy section of the ADC Reference Library. This information should not be used for new development.

Current information on this Reference Library topic can be found here:

Byte Smear(ing) Tactics

CONTENTS

This Technical Note discusses a feature of the current Macintosh hardware which will not be supported in the future. Macintosh hardware developers and driver writers should be aware of this limitation as it affects current and future products.

Current Macintosh hardware supports a feature of MC68020 and MC68030 processors which is herein referred to as "byte smearing." Future Macintosh platforms may not support this feature, and if you have hardware or software dependent on this feature you need to revise it. Likewise you should be aware of this limitation if you are developing new hardware or software.

[Aug 01 1990]






Spreading the Bytes Around

MC68020 and MC68030 processors have a "feature" which causes the data for byte and word transfers to be replicated (smeared) across all 32 data lines. An example illustrates the problem.

Consider the following code:

    MOVE.L    #$12345678,D0        ; Stuff some data
    MOVE.B    D0,$102              ; Write a byte of data

The data actually placed on the data bus, with and without byte smearing, is shown in Figure 1.

Effect of Byte Smearing

Figure 1 - Effect of Byte Smearing

With byte smearing, the byte of data is replicated across all the byte lanes; without smearing, the other bytes are undefined. A similar replication of data can occur with word transfers.

As an example where this can cause trouble, suppose you have a NuBus(TM) card with a device register which expects to be byte addressed at byte $102. With byte smearing it is actually possible to get away with writing a byte to any address from $100 through $103; without byte smearing, the card only sees the correct data when addressed at the correct byte $102.

Back to top

Summary

The lack of "byte smearing" as a feature should not be a problem for most developers; after all, why would anyone write to byte $100 when they really meant to write to byte $102? Well, sad to say, at least one case of this happening has been uncovered, so if you have, either inadvertently or by design, relied on this feature, you should revise your products to run on future Macintosh platforms.

Back to top

References

MC68020 User's Manual, pp. 7-9

MC68030 User's Manual, pp. 7-9

NuBus is a trademark of Texas Instruments.

Back to top

Downloadables

Acrobat gif

Acrobat version of this Note (80K)

Download


Back to top