Macintosh Quadra - Processor

Processor

The transition to the Motorola 68040 was not as smooth as the previous transitions to the Motorola 68020 or Motorola 68030. Due to the Motorola 68040's split instruction and data caches, the Quadra had compatibility problems with self-modifying code (including relocating code, which was common under the Macintosh memory model). Apple partially fixed this by having the basic Mac OS memory copy call flush the caches. This solved the vast majority of stability problems, but negated much of the Motorola 68040's performance improvements. Apple also introduced a variant of the memory copy call that did not flush the cache. The new trap was defined in such a way that calling it on an older version of Mac OS would simply call the previous memory copy routine. The net effect of this was that many complex applications were initially slow or prone to crashing on the 68040, although developers quickly adapted to the new architecture by relying on Apple's memory copy routines rather than their own (or flushing the cache), and using the memory copy that did not flush the cache when appropriate (most of the time).

Read more about this topic:  Macintosh Quadra