Roof Vent Motor MaxxAir Ventilation Solutions 10-20270 ... - 20270
DS3100 = MacIIci < Sun SS1 = MacIIfx < HP9000/835 < DS5100 < Sun SS2.The SS2 is about 2x the SS1; the DS5100 is about 2x the DS3100. TheDS3100 is probably 70-80% as fast as the fx, possibly less. I may bewrong about the relative position of the HP and the DS5100, but I thinkthat's right...--John--------------------------------------------------------------------------John L. Coolidge Internet:cool...@cs.uiuc.edu UUCP:uiucdcs!coolidgeOf course I don't speak for the U of I (or anyone else except myself)Copyright 1991 John L. Coolidge. Copying allowed if (and only if) attributed.You may redistribute this article if and only if your recipients may as well.
Software compatibility will be a major problem on 68040 accelerators aswell as Apple's new 68040 machine. Apple will have to make majorpatches to the Mac OS to handle problems with memory management andexception handling. In addition, the math code within applications willhave to be rewritten to directly leverage the benefits of the 68040'sFPU.For these reasons, DayStar has decided to wait to introduce its 68040accelerator until after the introduction of Apple's 68040 machine.Apple is best suited make the necessary OS changes as well as drivechanges in third party applications, INITs and cdevs.2.0 Lessons From the Past Each new generation of processor from Motorola has incorporated newfeatures and capabilities, many of which are not compatible with thecurrent generation. The Mac OS, by its very nature, directly addressesthe hardware. To the extent that the hardware changes, the OS must bepatched. The greater the change in the architecture of the processor,the greater the number and sophistication of the patches.2.1 The First Accelerators The first Mac Plus and SE accelerators utilized a 68020 with a 32-bitbus as compared the 16-bit bus on the Mac SE's 68000 processor. Thatand its faster clock speed (16 MHz vs. 8 MHz) caused many aggravatingincompatibilities with parts of the Mac OS, various applications, andmany INITs. It was not until the Mac II was introduced with its own 16MHz 68020 did Apple and the developer community completely solve theproblems.2.2 The Mac II Accelerators Problems started over again when Apple introduced the 16 MHz 68030 MacIIx. Surprisingly, the 68030 is nearly identical to the 68020 exceptfor the addition of the 256 byte internal data cache and the memoryman agement unit (MMU). Yet there were numerous incompatibilities withvarious parts of the Mac OS, third party INITs and applications. Manycdevs and INITs accomplish their special task by making changes to theOS or directly addressing the hardware (necessary to accomplish aspecial task that Apple did not provide, nevertheless, a violation ofApple guidelines).Applications that closely followed developer guidelines generally workedwell on the 68030 conversion. There were several key applications thathad problems working with the internal cache. At the same time DayStarintroduced its 33 MHz 68030 accelerators. Once again, it (and others)exposed yet another set of problems with applications, INITs and cdevsthat had clock timing dependencies and problems working with an externalmemory cache. Even Apple's floppy driver code would not run properly atspeeds above 16 MHz. DayStar (and others) invested significant timepatching the floppy driver code. For the 25 MHz Mac IIci, Apple had tocompletely rewrite their floppy driver code to eliminate these timingdependencies.From a software standpoint, conversion from the 68020 world to the 68030was about as easy as one could ever ask for. Yet it was veryfrustrating for the end-user. While most problems were encountered withINITs and cdevs, users were not willing to eliminate them as they hadbecome an essential part of their "tool kit". Some early buyers foundthe experience very frustrating - they did not have the time (or skills)to fiddle around trying to debug their machine. The same experience wasonce again repeated when Apple introduced their 32-bit clean ROMs onthe Mac IIci and Mac IIfx. With over a year of warning from Apple tothe developer community, there were still many applications, INITs andcdevs that had significant problems, driving the users crazy.3.0 Performance The 68040 incorporates several innovative design features that boostperformance over a 68030/68882 combination running at the same clockspeed. Gains are realized in both integer and FPU performance. Integerperformance drives the Mac OS and virtually all applications. Mac OS,graphics, DTP and pre-press applications make little or no use of theFPU, as shown in Table 2. FPU performance is of benefit only for asubset of functions within CAD and scientific applications.Spreadsheets only use the FPU for spreadsheet recalculations.Table 2 Benefit of 50 MHz FPU on IIci Accelerator Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68030 FPUClock 25 MHz 50 MHz 50 MHz % GainFPU Yes No Yes Yes_______________________________________________________________________Word Scroll 8.9 6.5 6.5 0%RenderMan Render 98.0 82.0 56.0 46%Excel Cut&Paste 9.1 5.5 5.5 0%Excel Scroll 10.3 10.0 0.0 0%Excel Recalc. 10.4 6.6 5.6 17%Quark Xprs Fit in wind 5.4 3.4 3.4 0%Quark Xprs Scroll 24.2 16.9 16.9 0%FreeHand Fit wind 21.8 11.9 11.9 0%FreeHand Duplicate 34.5 18.7 18.7 0%FleMkr Pro Sort 56.3 42.2 42.2 0%Swivel 3D Change View 17.4 8.1 8.1 0%Swivel 3D Tween 73.1 32.6 32.6 0%Claris Cad Fit in wind 6.5 4.6 4.2 8%Photo Shop Rotate 4.8 3.6 3.6 0%Photo Shop Resample 36.6 19.7 19.7 0%Photo Shop Gausian Blr 19.3 12.0 12.0 0%________________________________________________________________________Total Time (sec) 436.53 284.18 256.79 11%Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
First of all, you need a bus conversion state machine, which will translate68040 signals into 68030 signals. This isn't all that difficult, if you'rereal familiar with 68030 signals, but it's not something you'll hack together in a weekend. You also need bus bridging buffers to handle whateversubset of the 68030 bus sizing mechanism the IIfx requires. In other words,you need the Motorola hardware documentation. They do have an appnote on anexample 68040->68030 bus converter, which might be a good starting point, even though it looks a little bloated. -- Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy "This is my mistake. Let me make it good." -R.E.M.
The design requires the following chips:MC88195 clock generator6 PALs (3*22V10, 20R8, 16R8, 16R6)9 TTL logic packages (74F139, 74AS20, 74AS32, 74AS00, 74F64, 74AS821, 74AS257, 2*74AS573)8 bus buffers (74F543)plus various passive components.Now... maybe this is irresponsible speculation, but in the Mac Zonead in the July 1991 "MacWorld" magazine, there's a nice color pictureof a product called Magellan, from Total Systems. This is an040 accelerator for the SE/30 or IIsi. (IIci and IIfx models arepromised but no prices are listed.)It appears to me to have a special oscillator module, 7 PALs, 874FCT543's, and miscellaneous logic and passive components.Could this be the Motorola circuit? Are they using some sort of INITto patch the system? I don't know. The product is reasonably priced,but it's out of my range for the moment, and I have a IIcx anyway.(Disclaimer: I'm not associated with Total Systems, Mac Zone, orMotorola.). png
ZIP Code area for 69420. Any address inside this area has this ZIP Code assgined. Santiago Yucuyachi, Oaxaca phone code. El código ...
3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
High quality 100% Virgin Carbide Cold Heading Dies , Tungsten Carbide Die Grade MD50A from China, China's leading 100% Virgin Carbide Cold Heading Dies ...
>conclusions. An owner of a 68040 workstation told me it outperforms>a DECstation 3100, despite the extra load of running Display>PostScript. And I really don't believe a IIfx is in the same league>as a DECstation 3100 as far as raw speed is concerned.
Applications that closely followed developer guidelines generally workedwell on the 68030 conversion. There were several key applications thathad problems working with the internal cache. At the same time DayStarintroduced its 33 MHz 68030 accelerators. Once again, it (and others)exposed yet another set of problems with applications, INITs and cdevsthat had clock timing dependencies and problems working with an externalmemory cache. Even Apple's floppy driver code would not run properly atspeeds above 16 MHz. DayStar (and others) invested significant timepatching the floppy driver code. For the 25 MHz Mac IIci, Apple had tocompletely rewrite their floppy driver code to eliminate these timingdependencies.From a software standpoint, conversion from the 68020 world to the 68030was about as easy as one could ever ask for. Yet it was veryfrustrating for the end-user. While most problems were encountered withINITs and cdevs, users were not willing to eliminate them as they hadbecome an essential part of their "tool kit". Some early buyers foundthe experience very frustrating - they did not have the time (or skills)to fiddle around trying to debug their machine. The same experience wasonce again repeated when Apple introduced their 32-bit clean ROMs onthe Mac IIci and Mac IIfx. With over a year of warning from Apple tothe developer community, there were still many applications, INITs andcdevs that had significant problems, driving the users crazy.3.0 Performance The 68040 incorporates several innovative design features that boostperformance over a 68030/68882 combination running at the same clockspeed. Gains are realized in both integer and FPU performance. Integerperformance drives the Mac OS and virtually all applications. Mac OS,graphics, DTP and pre-press applications make little or no use of theFPU, as shown in Table 2. FPU performance is of benefit only for asubset of functions within CAD and scientific applications.Spreadsheets only use the FPU for spreadsheet recalculations.Table 2 Benefit of 50 MHz FPU on IIci Accelerator Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68030 FPUClock 25 MHz 50 MHz 50 MHz % GainFPU Yes No Yes Yes_______________________________________________________________________Word Scroll 8.9 6.5 6.5 0%RenderMan Render 98.0 82.0 56.0 46%Excel Cut&Paste 9.1 5.5 5.5 0%Excel Scroll 10.3 10.0 0.0 0%Excel Recalc. 10.4 6.6 5.6 17%Quark Xprs Fit in wind 5.4 3.4 3.4 0%Quark Xprs Scroll 24.2 16.9 16.9 0%FreeHand Fit wind 21.8 11.9 11.9 0%FreeHand Duplicate 34.5 18.7 18.7 0%FleMkr Pro Sort 56.3 42.2 42.2 0%Swivel 3D Change View 17.4 8.1 8.1 0%Swivel 3D Tween 73.1 32.6 32.6 0%Claris Cad Fit in wind 6.5 4.6 4.2 8%Photo Shop Rotate 4.8 3.6 3.6 0%Photo Shop Resample 36.6 19.7 19.7 0%Photo Shop Gausian Blr 19.3 12.0 12.0 0%________________________________________________________________________Total Time (sec) 436.53 284.18 256.79 11%Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
for the 68030 is harder than you might think. I'm just forwarding this, and you should address any comments/questions to "73777...@compuserve.com".
4.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
Feb 23, 2024 — But how fast your heart beats at rest, a.k.a. your resting heart rate, can be strong indicator of your health and your fitness level.
Paragraph 7.1.1, "Software":"System software issues include differences in the memory managementstructure, internal cache initialization and management, softwareemulation of unimplemented floating-point instructions, emulation ofunsupported instructions, and the exclusion of the instructioncontinuation exception model (i.e., bus error)."The design requires the following chips:MC88195 clock generator6 PALs (3*22V10, 20R8, 16R8, 16R6)9 TTL logic packages (74F139, 74AS20, 74AS32, 74AS00, 74F64, 74AS821, 74AS257, 2*74AS573)8 bus buffers (74F543)plus various passive components.Now... maybe this is irresponsible speculation, but in the Mac Zonead in the July 1991 "MacWorld" magazine, there's a nice color pictureof a product called Magellan, from Total Systems. This is an040 accelerator for the SE/30 or IIsi. (IIci and IIfx models arepromised but no prices are listed.)It appears to me to have a special oscillator module, 7 PALs, 874FCT543's, and miscellaneous logic and passive components.Could this be the Motorola circuit? Are they using some sort of INITto patch the system? I don't know. The product is reasonably priced,but it's out of my range for the moment, and I have a IIcx anyway.(Disclaimer: I'm not associated with Total Systems, Mac Zone, orMotorola.). png
Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
plus various passive components.Now... maybe this is irresponsible speculation, but in the Mac Zonead in the July 1991 "MacWorld" magazine, there's a nice color pictureof a product called Magellan, from Total Systems. This is an040 accelerator for the SE/30 or IIsi. (IIci and IIfx models arepromised but no prices are listed.)It appears to me to have a special oscillator module, 7 PALs, 874FCT543's, and miscellaneous logic and passive components.Could this be the Motorola circuit? Are they using some sort of INITto patch the system? I don't know. The product is reasonably priced,but it's out of my range for the moment, and I have a IIcx anyway.(Disclaimer: I'm not associated with Total Systems, Mac Zone, orMotorola.). png
The 68040 on the Macintosh[Originally from: Steve Tuttle [DayStar] 73777,2453 From Internet --> 73777...@compuserve.com Reposted without permission]March 25, 1991(c) DayStar Digital, Inc.1.0 Overview The Motorola 68040 processor is a major step forward in processingpower. When compared to a 25 MHz 68030/68882, a 25 MHz 68040 offersdouble the integer performance and three times the speed in floatingpoint calculations, as shown in Table 1. But a 25 MHz 68040 is onlyslightly faster than a 40 MHz 68030 (Mac IIfx).Table 1 Performance Relative to a 25 MHz 68030/68882 Ref: MotorolaType 25 MHz 68030 40 MHz 68030 25 MHz 68040______________________________________________________________Integer 1.0 1.6 2.1FPU 1.0 1.6 3.3Integer calculations, which drive Mac operating system (OS) performanceand all applications show gains of 30%. The real strength of the 68040lies in the speed of floating point calculations, but these have littleor no benefit for the typical graphics user. Only applications in thescientific and CAD markets use the floating point unit (FPU). Inseveral years the 68040 will be running at 40 MHz. This processor willprovide the much needed power in the DTP, graphics, pre-press andscientific markets.Software compatibility will be a major problem on 68040 accelerators aswell as Apple's new 68040 machine. Apple will have to make majorpatches to the Mac OS to handle problems with memory management andexception handling. In addition, the math code within applications willhave to be rewritten to directly leverage the benefits of the 68040'sFPU.For these reasons, DayStar has decided to wait to introduce its 68040accelerator until after the introduction of Apple's 68040 machine.Apple is best suited make the necessary OS changes as well as drivechanges in third party applications, INITs and cdevs.2.0 Lessons From the Past Each new generation of processor from Motorola has incorporated newfeatures and capabilities, many of which are not compatible with thecurrent generation. The Mac OS, by its very nature, directly addressesthe hardware. To the extent that the hardware changes, the OS must bepatched. The greater the change in the architecture of the processor,the greater the number and sophistication of the patches.2.1 The First Accelerators The first Mac Plus and SE accelerators utilized a 68020 with a 32-bitbus as compared the 16-bit bus on the Mac SE's 68000 processor. Thatand its faster clock speed (16 MHz vs. 8 MHz) caused many aggravatingincompatibilities with parts of the Mac OS, various applications, andmany INITs. It was not until the Mac II was introduced with its own 16MHz 68020 did Apple and the developer community completely solve theproblems.2.2 The Mac II Accelerators Problems started over again when Apple introduced the 16 MHz 68030 MacIIx. Surprisingly, the 68030 is nearly identical to the 68020 exceptfor the addition of the 256 byte internal data cache and the memoryman agement unit (MMU). Yet there were numerous incompatibilities withvarious parts of the Mac OS, third party INITs and applications. Manycdevs and INITs accomplish their special task by making changes to theOS or directly addressing the hardware (necessary to accomplish aspecial task that Apple did not provide, nevertheless, a violation ofApple guidelines).Applications that closely followed developer guidelines generally workedwell on the 68030 conversion. There were several key applications thathad problems working with the internal cache. At the same time DayStarintroduced its 33 MHz 68030 accelerators. Once again, it (and others)exposed yet another set of problems with applications, INITs and cdevsthat had clock timing dependencies and problems working with an externalmemory cache. Even Apple's floppy driver code would not run properly atspeeds above 16 MHz. DayStar (and others) invested significant timepatching the floppy driver code. For the 25 MHz Mac IIci, Apple had tocompletely rewrite their floppy driver code to eliminate these timingdependencies.From a software standpoint, conversion from the 68020 world to the 68030was about as easy as one could ever ask for. Yet it was veryfrustrating for the end-user. While most problems were encountered withINITs and cdevs, users were not willing to eliminate them as they hadbecome an essential part of their "tool kit". Some early buyers foundthe experience very frustrating - they did not have the time (or skills)to fiddle around trying to debug their machine. The same experience wasonce again repeated when Apple introduced their 32-bit clean ROMs onthe Mac IIci and Mac IIfx. With over a year of warning from Apple tothe developer community, there were still many applications, INITs andcdevs that had significant problems, driving the users crazy.3.0 Performance The 68040 incorporates several innovative design features that boostperformance over a 68030/68882 combination running at the same clockspeed. Gains are realized in both integer and FPU performance. Integerperformance drives the Mac OS and virtually all applications. Mac OS,graphics, DTP and pre-press applications make little or no use of theFPU, as shown in Table 2. FPU performance is of benefit only for asubset of functions within CAD and scientific applications.Spreadsheets only use the FPU for spreadsheet recalculations.Table 2 Benefit of 50 MHz FPU on IIci Accelerator Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68030 FPUClock 25 MHz 50 MHz 50 MHz % GainFPU Yes No Yes Yes_______________________________________________________________________Word Scroll 8.9 6.5 6.5 0%RenderMan Render 98.0 82.0 56.0 46%Excel Cut&Paste 9.1 5.5 5.5 0%Excel Scroll 10.3 10.0 0.0 0%Excel Recalc. 10.4 6.6 5.6 17%Quark Xprs Fit in wind 5.4 3.4 3.4 0%Quark Xprs Scroll 24.2 16.9 16.9 0%FreeHand Fit wind 21.8 11.9 11.9 0%FreeHand Duplicate 34.5 18.7 18.7 0%FleMkr Pro Sort 56.3 42.2 42.2 0%Swivel 3D Change View 17.4 8.1 8.1 0%Swivel 3D Tween 73.1 32.6 32.6 0%Claris Cad Fit in wind 6.5 4.6 4.2 8%Photo Shop Rotate 4.8 3.6 3.6 0%Photo Shop Resample 36.6 19.7 19.7 0%Photo Shop Gausian Blr 19.3 12.0 12.0 0%________________________________________________________________________Total Time (sec) 436.53 284.18 256.79 11%Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
Table 1 Performance Relative to a 25 MHz 68030/68882 Ref: MotorolaType 25 MHz 68030 40 MHz 68030 25 MHz 68040______________________________________________________________Integer 1.0 1.6 2.1FPU 1.0 1.6 3.3Integer calculations, which drive Mac operating system (OS) performanceand all applications show gains of 30%. The real strength of the 68040lies in the speed of floating point calculations, but these have littleor no benefit for the typical graphics user. Only applications in thescientific and CAD markets use the floating point unit (FPU). Inseveral years the 68040 will be running at 40 MHz. This processor willprovide the much needed power in the DTP, graphics, pre-press andscientific markets.Software compatibility will be a major problem on 68040 accelerators aswell as Apple's new 68040 machine. Apple will have to make majorpatches to the Mac OS to handle problems with memory management andexception handling. In addition, the math code within applications willhave to be rewritten to directly leverage the benefits of the 68040'sFPU.For these reasons, DayStar has decided to wait to introduce its 68040accelerator until after the introduction of Apple's 68040 machine.Apple is best suited make the necessary OS changes as well as drivechanges in third party applications, INITs and cdevs.2.0 Lessons From the Past Each new generation of processor from Motorola has incorporated newfeatures and capabilities, many of which are not compatible with thecurrent generation. The Mac OS, by its very nature, directly addressesthe hardware. To the extent that the hardware changes, the OS must bepatched. The greater the change in the architecture of the processor,the greater the number and sophistication of the patches.2.1 The First Accelerators The first Mac Plus and SE accelerators utilized a 68020 with a 32-bitbus as compared the 16-bit bus on the Mac SE's 68000 processor. Thatand its faster clock speed (16 MHz vs. 8 MHz) caused many aggravatingincompatibilities with parts of the Mac OS, various applications, andmany INITs. It was not until the Mac II was introduced with its own 16MHz 68020 did Apple and the developer community completely solve theproblems.2.2 The Mac II Accelerators Problems started over again when Apple introduced the 16 MHz 68030 MacIIx. Surprisingly, the 68030 is nearly identical to the 68020 exceptfor the addition of the 256 byte internal data cache and the memoryman agement unit (MMU). Yet there were numerous incompatibilities withvarious parts of the Mac OS, third party INITs and applications. Manycdevs and INITs accomplish their special task by making changes to theOS or directly addressing the hardware (necessary to accomplish aspecial task that Apple did not provide, nevertheless, a violation ofApple guidelines).Applications that closely followed developer guidelines generally workedwell on the 68030 conversion. There were several key applications thathad problems working with the internal cache. At the same time DayStarintroduced its 33 MHz 68030 accelerators. Once again, it (and others)exposed yet another set of problems with applications, INITs and cdevsthat had clock timing dependencies and problems working with an externalmemory cache. Even Apple's floppy driver code would not run properly atspeeds above 16 MHz. DayStar (and others) invested significant timepatching the floppy driver code. For the 25 MHz Mac IIci, Apple had tocompletely rewrite their floppy driver code to eliminate these timingdependencies.From a software standpoint, conversion from the 68020 world to the 68030was about as easy as one could ever ask for. Yet it was veryfrustrating for the end-user. While most problems were encountered withINITs and cdevs, users were not willing to eliminate them as they hadbecome an essential part of their "tool kit". Some early buyers foundthe experience very frustrating - they did not have the time (or skills)to fiddle around trying to debug their machine. The same experience wasonce again repeated when Apple introduced their 32-bit clean ROMs onthe Mac IIci and Mac IIfx. With over a year of warning from Apple tothe developer community, there were still many applications, INITs andcdevs that had significant problems, driving the users crazy.3.0 Performance The 68040 incorporates several innovative design features that boostperformance over a 68030/68882 combination running at the same clockspeed. Gains are realized in both integer and FPU performance. Integerperformance drives the Mac OS and virtually all applications. Mac OS,graphics, DTP and pre-press applications make little or no use of theFPU, as shown in Table 2. FPU performance is of benefit only for asubset of functions within CAD and scientific applications.Spreadsheets only use the FPU for spreadsheet recalculations.Table 2 Benefit of 50 MHz FPU on IIci Accelerator Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68030 FPUClock 25 MHz 50 MHz 50 MHz % GainFPU Yes No Yes Yes_______________________________________________________________________Word Scroll 8.9 6.5 6.5 0%RenderMan Render 98.0 82.0 56.0 46%Excel Cut&Paste 9.1 5.5 5.5 0%Excel Scroll 10.3 10.0 0.0 0%Excel Recalc. 10.4 6.6 5.6 17%Quark Xprs Fit in wind 5.4 3.4 3.4 0%Quark Xprs Scroll 24.2 16.9 16.9 0%FreeHand Fit wind 21.8 11.9 11.9 0%FreeHand Duplicate 34.5 18.7 18.7 0%FleMkr Pro Sort 56.3 42.2 42.2 0%Swivel 3D Change View 17.4 8.1 8.1 0%Swivel 3D Tween 73.1 32.6 32.6 0%Claris Cad Fit in wind 6.5 4.6 4.2 8%Photo Shop Rotate 4.8 3.6 3.6 0%Photo Shop Resample 36.6 19.7 19.7 0%Photo Shop Gausian Blr 19.3 12.0 12.0 0%________________________________________________________________________Total Time (sec) 436.53 284.18 256.79 11%Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
This calculator gives guideline cutting speeds for a specified diameter. Slide the diameter back and forth and the table will update for the various materials.
The SS2 is about 2x the SS1; the DS5100 is about 2x the DS3100. TheDS3100 is probably 70-80% as fast as the fx, possibly less. I may bewrong about the relative position of the HP and the DS5100, but I thinkthat's right...--John--------------------------------------------------------------------------John L. Coolidge Internet:cool...@cs.uiuc.edu UUCP:uiucdcs!coolidgeOf course I don't speak for the U of I (or anyone else except myself)Copyright 1991 John L. Coolidge. Copying allowed if (and only if) attributed.You may redistribute this article if and only if your recipients may as well.
media-lab.media.mit.edu (Alan Ruttenberg) writes:>> I was wondering if a 68040 can be substituted for a 68030 in a> MacIIfx. I understand that the pinouts and the clock rate (40Mhz 030> 25Mhz 040) are different.>> What I am curious about is what a minimal upgrade to a 040 would> entail. Can I buy a chip, and build a small adapter board? Or are> there many changes that would have to be made.
Actually, the Motorola "MC68040 Designer's Handbook" (MC68040DH/AD),a snazzy slip-cased 3-ring binder, contains a section entitled "MC68040to MC68030 Bus Adapter Application".There's a complete schematic with part numbers, and equation files forall the PALs in the design. In short, it describes 100% of the necessaryhardware. There are some limitations; some of the bus interfaceprotocols are necessarily different, but these can be overcome withthe addition of some firmware and/or system software patches.That's the rub... NONE of the necessary firmware/software is provided.Paragraph 7.1.1, "Software":"System software issues include differences in the memory managementstructure, internal cache initialization and management, softwareemulation of unimplemented floating-point instructions, emulation ofunsupported instructions, and the exclusion of the instructioncontinuation exception model (i.e., bus error)."The design requires the following chips:MC88195 clock generator6 PALs (3*22V10, 20R8, 16R8, 16R6)9 TTL logic packages (74F139, 74AS20, 74AS32, 74AS00, 74F64, 74AS821, 74AS257, 2*74AS573)8 bus buffers (74F543)plus various passive components.Now... maybe this is irresponsible speculation, but in the Mac Zonead in the July 1991 "MacWorld" magazine, there's a nice color pictureof a product called Magellan, from Total Systems. This is an040 accelerator for the SE/30 or IIsi. (IIci and IIfx models arepromised but no prices are listed.)It appears to me to have a special oscillator module, 7 PALs, 874FCT543's, and miscellaneous logic and passive components.Could this be the Motorola circuit? Are they using some sort of INITto patch the system? I don't know. The product is reasonably priced,but it's out of my range for the moment, and I have a IIcx anyway.(Disclaimer: I'm not associated with Total Systems, Mac Zone, orMotorola.). png
--------------------------------------------------------------------------John L. Coolidge Internet:cool...@cs.uiuc.edu UUCP:uiucdcs!coolidgeOf course I don't speak for the U of I (or anyone else except myself)Copyright 1991 John L. Coolidge. Copying allowed if (and only if) attributed.You may redistribute this article if and only if your recipients may as well.
>What I am curious about is what a minimal upgrade to a 040 would>entail. Can I buy a chip, and build a small adapter board? Or are>there many changes that would have to be made.
Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
Could this be the Motorola circuit? Are they using some sort of INITto patch the system? I don't know. The product is reasonably priced,but it's out of my range for the moment, and I have a IIcx anyway.(Disclaimer: I'm not associated with Total Systems, Mac Zone, orMotorola.). png
3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
Very interesting. I must admit to being surprised at theirconclusions. An owner of a 68040 workstation told me it outperformsa DECstation 3100, despite the extra load of running DisplayPostScript. And I really don't believe a IIfx is in the same leagueas a DECstation 3100 as far as raw speed is concerned.-- Philip Machanickphi...@pescadero.stanford.edu
The 68040 on the Macintosh[Originally from: Steve Tuttle [DayStar] 73777,2453 From Internet --> 73777...@compuserve.com Reposted without permission]March 25, 1991(c) DayStar Digital, Inc.1.0 Overview The Motorola 68040 processor is a major step forward in processingpower. When compared to a 25 MHz 68030/68882, a 25 MHz 68040 offersdouble the integer performance and three times the speed in floatingpoint calculations, as shown in Table 1. But a 25 MHz 68040 is onlyslightly faster than a 40 MHz 68030 (Mac IIfx).Table 1 Performance Relative to a 25 MHz 68030/68882 Ref: MotorolaType 25 MHz 68030 40 MHz 68030 25 MHz 68040______________________________________________________________Integer 1.0 1.6 2.1FPU 1.0 1.6 3.3Integer calculations, which drive Mac operating system (OS) performanceand all applications show gains of 30%. The real strength of the 68040lies in the speed of floating point calculations, but these have littleor no benefit for the typical graphics user. Only applications in thescientific and CAD markets use the floating point unit (FPU). Inseveral years the 68040 will be running at 40 MHz. This processor willprovide the much needed power in the DTP, graphics, pre-press andscientific markets.Software compatibility will be a major problem on 68040 accelerators aswell as Apple's new 68040 machine. Apple will have to make majorpatches to the Mac OS to handle problems with memory management andexception handling. In addition, the math code within applications willhave to be rewritten to directly leverage the benefits of the 68040'sFPU.For these reasons, DayStar has decided to wait to introduce its 68040accelerator until after the introduction of Apple's 68040 machine.Apple is best suited make the necessary OS changes as well as drivechanges in third party applications, INITs and cdevs.2.0 Lessons From the Past Each new generation of processor from Motorola has incorporated newfeatures and capabilities, many of which are not compatible with thecurrent generation. The Mac OS, by its very nature, directly addressesthe hardware. To the extent that the hardware changes, the OS must bepatched. The greater the change in the architecture of the processor,the greater the number and sophistication of the patches.2.1 The First Accelerators The first Mac Plus and SE accelerators utilized a 68020 with a 32-bitbus as compared the 16-bit bus on the Mac SE's 68000 processor. Thatand its faster clock speed (16 MHz vs. 8 MHz) caused many aggravatingincompatibilities with parts of the Mac OS, various applications, andmany INITs. It was not until the Mac II was introduced with its own 16MHz 68020 did Apple and the developer community completely solve theproblems.2.2 The Mac II Accelerators Problems started over again when Apple introduced the 16 MHz 68030 MacIIx. Surprisingly, the 68030 is nearly identical to the 68020 exceptfor the addition of the 256 byte internal data cache and the memoryman agement unit (MMU). Yet there were numerous incompatibilities withvarious parts of the Mac OS, third party INITs and applications. Manycdevs and INITs accomplish their special task by making changes to theOS or directly addressing the hardware (necessary to accomplish aspecial task that Apple did not provide, nevertheless, a violation ofApple guidelines).Applications that closely followed developer guidelines generally workedwell on the 68030 conversion. There were several key applications thathad problems working with the internal cache. At the same time DayStarintroduced its 33 MHz 68030 accelerators. Once again, it (and others)exposed yet another set of problems with applications, INITs and cdevsthat had clock timing dependencies and problems working with an externalmemory cache. Even Apple's floppy driver code would not run properly atspeeds above 16 MHz. DayStar (and others) invested significant timepatching the floppy driver code. For the 25 MHz Mac IIci, Apple had tocompletely rewrite their floppy driver code to eliminate these timingdependencies.From a software standpoint, conversion from the 68020 world to the 68030was about as easy as one could ever ask for. Yet it was veryfrustrating for the end-user. While most problems were encountered withINITs and cdevs, users were not willing to eliminate them as they hadbecome an essential part of their "tool kit". Some early buyers foundthe experience very frustrating - they did not have the time (or skills)to fiddle around trying to debug their machine. The same experience wasonce again repeated when Apple introduced their 32-bit clean ROMs onthe Mac IIci and Mac IIfx. With over a year of warning from Apple tothe developer community, there were still many applications, INITs andcdevs that had significant problems, driving the users crazy.3.0 Performance The 68040 incorporates several innovative design features that boostperformance over a 68030/68882 combination running at the same clockspeed. Gains are realized in both integer and FPU performance. Integerperformance drives the Mac OS and virtually all applications. Mac OS,graphics, DTP and pre-press applications make little or no use of theFPU, as shown in Table 2. FPU performance is of benefit only for asubset of functions within CAD and scientific applications.Spreadsheets only use the FPU for spreadsheet recalculations.Table 2 Benefit of 50 MHz FPU on IIci Accelerator Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68030 FPUClock 25 MHz 50 MHz 50 MHz % GainFPU Yes No Yes Yes_______________________________________________________________________Word Scroll 8.9 6.5 6.5 0%RenderMan Render 98.0 82.0 56.0 46%Excel Cut&Paste 9.1 5.5 5.5 0%Excel Scroll 10.3 10.0 0.0 0%Excel Recalc. 10.4 6.6 5.6 17%Quark Xprs Fit in wind 5.4 3.4 3.4 0%Quark Xprs Scroll 24.2 16.9 16.9 0%FreeHand Fit wind 21.8 11.9 11.9 0%FreeHand Duplicate 34.5 18.7 18.7 0%FleMkr Pro Sort 56.3 42.2 42.2 0%Swivel 3D Change View 17.4 8.1 8.1 0%Swivel 3D Tween 73.1 32.6 32.6 0%Claris Cad Fit in wind 6.5 4.6 4.2 8%Photo Shop Rotate 4.8 3.6 3.6 0%Photo Shop Resample 36.6 19.7 19.7 0%Photo Shop Gausian Blr 19.3 12.0 12.0 0%________________________________________________________________________Total Time (sec) 436.53 284.18 256.79 11%Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
for the 68030 is harder than you might think. I'm just forwarding this, and you should address any comments/questions to "73777...@compuserve.com".
This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
1.0 Overview The Motorola 68040 processor is a major step forward in processingpower. When compared to a 25 MHz 68030/68882, a 25 MHz 68040 offersdouble the integer performance and three times the speed in floatingpoint calculations, as shown in Table 1. But a 25 MHz 68040 is onlyslightly faster than a 40 MHz 68030 (Mac IIfx).Table 1 Performance Relative to a 25 MHz 68030/68882 Ref: MotorolaType 25 MHz 68030 40 MHz 68030 25 MHz 68040______________________________________________________________Integer 1.0 1.6 2.1FPU 1.0 1.6 3.3Integer calculations, which drive Mac operating system (OS) performanceand all applications show gains of 30%. The real strength of the 68040lies in the speed of floating point calculations, but these have littleor no benefit for the typical graphics user. Only applications in thescientific and CAD markets use the floating point unit (FPU). Inseveral years the 68040 will be running at 40 MHz. This processor willprovide the much needed power in the DTP, graphics, pre-press andscientific markets.Software compatibility will be a major problem on 68040 accelerators aswell as Apple's new 68040 machine. Apple will have to make majorpatches to the Mac OS to handle problems with memory management andexception handling. In addition, the math code within applications willhave to be rewritten to directly leverage the benefits of the 68040'sFPU.For these reasons, DayStar has decided to wait to introduce its 68040accelerator until after the introduction of Apple's 68040 machine.Apple is best suited make the necessary OS changes as well as drivechanges in third party applications, INITs and cdevs.2.0 Lessons From the Past Each new generation of processor from Motorola has incorporated newfeatures and capabilities, many of which are not compatible with thecurrent generation. The Mac OS, by its very nature, directly addressesthe hardware. To the extent that the hardware changes, the OS must bepatched. The greater the change in the architecture of the processor,the greater the number and sophistication of the patches.2.1 The First Accelerators The first Mac Plus and SE accelerators utilized a 68020 with a 32-bitbus as compared the 16-bit bus on the Mac SE's 68000 processor. Thatand its faster clock speed (16 MHz vs. 8 MHz) caused many aggravatingincompatibilities with parts of the Mac OS, various applications, andmany INITs. It was not until the Mac II was introduced with its own 16MHz 68020 did Apple and the developer community completely solve theproblems.2.2 The Mac II Accelerators Problems started over again when Apple introduced the 16 MHz 68030 MacIIx. Surprisingly, the 68030 is nearly identical to the 68020 exceptfor the addition of the 256 byte internal data cache and the memoryman agement unit (MMU). Yet there were numerous incompatibilities withvarious parts of the Mac OS, third party INITs and applications. Manycdevs and INITs accomplish their special task by making changes to theOS or directly addressing the hardware (necessary to accomplish aspecial task that Apple did not provide, nevertheless, a violation ofApple guidelines).Applications that closely followed developer guidelines generally workedwell on the 68030 conversion. There were several key applications thathad problems working with the internal cache. At the same time DayStarintroduced its 33 MHz 68030 accelerators. Once again, it (and others)exposed yet another set of problems with applications, INITs and cdevsthat had clock timing dependencies and problems working with an externalmemory cache. Even Apple's floppy driver code would not run properly atspeeds above 16 MHz. DayStar (and others) invested significant timepatching the floppy driver code. For the 25 MHz Mac IIci, Apple had tocompletely rewrite their floppy driver code to eliminate these timingdependencies.From a software standpoint, conversion from the 68020 world to the 68030was about as easy as one could ever ask for. Yet it was veryfrustrating for the end-user. While most problems were encountered withINITs and cdevs, users were not willing to eliminate them as they hadbecome an essential part of their "tool kit". Some early buyers foundthe experience very frustrating - they did not have the time (or skills)to fiddle around trying to debug their machine. The same experience wasonce again repeated when Apple introduced their 32-bit clean ROMs onthe Mac IIci and Mac IIfx. With over a year of warning from Apple tothe developer community, there were still many applications, INITs andcdevs that had significant problems, driving the users crazy.3.0 Performance The 68040 incorporates several innovative design features that boostperformance over a 68030/68882 combination running at the same clockspeed. Gains are realized in both integer and FPU performance. Integerperformance drives the Mac OS and virtually all applications. Mac OS,graphics, DTP and pre-press applications make little or no use of theFPU, as shown in Table 2. FPU performance is of benefit only for asubset of functions within CAD and scientific applications.Spreadsheets only use the FPU for spreadsheet recalculations.Table 2 Benefit of 50 MHz FPU on IIci Accelerator Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68030 FPUClock 25 MHz 50 MHz 50 MHz % GainFPU Yes No Yes Yes_______________________________________________________________________Word Scroll 8.9 6.5 6.5 0%RenderMan Render 98.0 82.0 56.0 46%Excel Cut&Paste 9.1 5.5 5.5 0%Excel Scroll 10.3 10.0 0.0 0%Excel Recalc. 10.4 6.6 5.6 17%Quark Xprs Fit in wind 5.4 3.4 3.4 0%Quark Xprs Scroll 24.2 16.9 16.9 0%FreeHand Fit wind 21.8 11.9 11.9 0%FreeHand Duplicate 34.5 18.7 18.7 0%FleMkr Pro Sort 56.3 42.2 42.2 0%Swivel 3D Change View 17.4 8.1 8.1 0%Swivel 3D Tween 73.1 32.6 32.6 0%Claris Cad Fit in wind 6.5 4.6 4.2 8%Photo Shop Rotate 4.8 3.6 3.6 0%Photo Shop Resample 36.6 19.7 19.7 0%Photo Shop Gausian Blr 19.3 12.0 12.0 0%________________________________________________________________________Total Time (sec) 436.53 284.18 256.79 11%Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
"System software issues include differences in the memory managementstructure, internal cache initialization and management, softwareemulation of unimplemented floating-point instructions, emulation ofunsupported instructions, and the exclusion of the instructioncontinuation exception model (i.e., bus error)."The design requires the following chips:MC88195 clock generator6 PALs (3*22V10, 20R8, 16R8, 16R6)9 TTL logic packages (74F139, 74AS20, 74AS32, 74AS00, 74F64, 74AS821, 74AS257, 2*74AS573)8 bus buffers (74F543)plus various passive components.Now... maybe this is irresponsible speculation, but in the Mac Zonead in the July 1991 "MacWorld" magazine, there's a nice color pictureof a product called Magellan, from Total Systems. This is an040 accelerator for the SE/30 or IIsi. (IIci and IIfx models arepromised but no prices are listed.)It appears to me to have a special oscillator module, 7 PALs, 874FCT543's, and miscellaneous logic and passive components.Could this be the Motorola circuit? Are they using some sort of INITto patch the system? I don't know. The product is reasonably priced,but it's out of my range for the moment, and I have a IIcx anyway.(Disclaimer: I'm not associated with Total Systems, Mac Zone, orMotorola.). png
2.2 The Mac II Accelerators Problems started over again when Apple introduced the 16 MHz 68030 MacIIx. Surprisingly, the 68030 is nearly identical to the 68020 exceptfor the addition of the 256 byte internal data cache and the memoryman agement unit (MMU). Yet there were numerous incompatibilities withvarious parts of the Mac OS, third party INITs and applications. Manycdevs and INITs accomplish their special task by making changes to theOS or directly addressing the hardware (necessary to accomplish aspecial task that Apple did not provide, nevertheless, a violation ofApple guidelines).Applications that closely followed developer guidelines generally workedwell on the 68030 conversion. There were several key applications thathad problems working with the internal cache. At the same time DayStarintroduced its 33 MHz 68030 accelerators. Once again, it (and others)exposed yet another set of problems with applications, INITs and cdevsthat had clock timing dependencies and problems working with an externalmemory cache. Even Apple's floppy driver code would not run properly atspeeds above 16 MHz. DayStar (and others) invested significant timepatching the floppy driver code. For the 25 MHz Mac IIci, Apple had tocompletely rewrite their floppy driver code to eliminate these timingdependencies.From a software standpoint, conversion from the 68020 world to the 68030was about as easy as one could ever ask for. Yet it was veryfrustrating for the end-user. While most problems were encountered withINITs and cdevs, users were not willing to eliminate them as they hadbecome an essential part of their "tool kit". Some early buyers foundthe experience very frustrating - they did not have the time (or skills)to fiddle around trying to debug their machine. The same experience wasonce again repeated when Apple introduced their 32-bit clean ROMs onthe Mac IIci and Mac IIfx. With over a year of warning from Apple tothe developer community, there were still many applications, INITs andcdevs that had significant problems, driving the users crazy.3.0 Performance The 68040 incorporates several innovative design features that boostperformance over a 68030/68882 combination running at the same clockspeed. Gains are realized in both integer and FPU performance. Integerperformance drives the Mac OS and virtually all applications. Mac OS,graphics, DTP and pre-press applications make little or no use of theFPU, as shown in Table 2. FPU performance is of benefit only for asubset of functions within CAD and scientific applications.Spreadsheets only use the FPU for spreadsheet recalculations.Table 2 Benefit of 50 MHz FPU on IIci Accelerator Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68030 FPUClock 25 MHz 50 MHz 50 MHz % GainFPU Yes No Yes Yes_______________________________________________________________________Word Scroll 8.9 6.5 6.5 0%RenderMan Render 98.0 82.0 56.0 46%Excel Cut&Paste 9.1 5.5 5.5 0%Excel Scroll 10.3 10.0 0.0 0%Excel Recalc. 10.4 6.6 5.6 17%Quark Xprs Fit in wind 5.4 3.4 3.4 0%Quark Xprs Scroll 24.2 16.9 16.9 0%FreeHand Fit wind 21.8 11.9 11.9 0%FreeHand Duplicate 34.5 18.7 18.7 0%FleMkr Pro Sort 56.3 42.2 42.2 0%Swivel 3D Change View 17.4 8.1 8.1 0%Swivel 3D Tween 73.1 32.6 32.6 0%Claris Cad Fit in wind 6.5 4.6 4.2 8%Photo Shop Rotate 4.8 3.6 3.6 0%Photo Shop Resample 36.6 19.7 19.7 0%Photo Shop Gausian Blr 19.3 12.0 12.0 0%________________________________________________________________________Total Time (sec) 436.53 284.18 256.79 11%Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
Dec 4, 2018 — That just happened in a 2 hr and 45 min game. It was so much fun. So I like mill in edh but not a mill deck but as a side strategy. to the deck ...
Integer calculations, which drive Mac operating system (OS) performanceand all applications show gains of 30%. The real strength of the 68040lies in the speed of floating point calculations, but these have littleor no benefit for the typical graphics user. Only applications in thescientific and CAD markets use the floating point unit (FPU). Inseveral years the 68040 will be running at 40 MHz. This processor willprovide the much needed power in the DTP, graphics, pre-press andscientific markets.Software compatibility will be a major problem on 68040 accelerators aswell as Apple's new 68040 machine. Apple will have to make majorpatches to the Mac OS to handle problems with memory management andexception handling. In addition, the math code within applications willhave to be rewritten to directly leverage the benefits of the 68040'sFPU.For these reasons, DayStar has decided to wait to introduce its 68040accelerator until after the introduction of Apple's 68040 machine.Apple is best suited make the necessary OS changes as well as drivechanges in third party applications, INITs and cdevs.2.0 Lessons From the Past Each new generation of processor from Motorola has incorporated newfeatures and capabilities, many of which are not compatible with thecurrent generation. The Mac OS, by its very nature, directly addressesthe hardware. To the extent that the hardware changes, the OS must bepatched. The greater the change in the architecture of the processor,the greater the number and sophistication of the patches.2.1 The First Accelerators The first Mac Plus and SE accelerators utilized a 68020 with a 32-bitbus as compared the 16-bit bus on the Mac SE's 68000 processor. Thatand its faster clock speed (16 MHz vs. 8 MHz) caused many aggravatingincompatibilities with parts of the Mac OS, various applications, andmany INITs. It was not until the Mac II was introduced with its own 16MHz 68020 did Apple and the developer community completely solve theproblems.2.2 The Mac II Accelerators Problems started over again when Apple introduced the 16 MHz 68030 MacIIx. Surprisingly, the 68030 is nearly identical to the 68020 exceptfor the addition of the 256 byte internal data cache and the memoryman agement unit (MMU). Yet there were numerous incompatibilities withvarious parts of the Mac OS, third party INITs and applications. Manycdevs and INITs accomplish their special task by making changes to theOS or directly addressing the hardware (necessary to accomplish aspecial task that Apple did not provide, nevertheless, a violation ofApple guidelines).Applications that closely followed developer guidelines generally workedwell on the 68030 conversion. There were several key applications thathad problems working with the internal cache. At the same time DayStarintroduced its 33 MHz 68030 accelerators. Once again, it (and others)exposed yet another set of problems with applications, INITs and cdevsthat had clock timing dependencies and problems working with an externalmemory cache. Even Apple's floppy driver code would not run properly atspeeds above 16 MHz. DayStar (and others) invested significant timepatching the floppy driver code. For the 25 MHz Mac IIci, Apple had tocompletely rewrite their floppy driver code to eliminate these timingdependencies.From a software standpoint, conversion from the 68020 world to the 68030was about as easy as one could ever ask for. Yet it was veryfrustrating for the end-user. While most problems were encountered withINITs and cdevs, users were not willing to eliminate them as they hadbecome an essential part of their "tool kit". Some early buyers foundthe experience very frustrating - they did not have the time (or skills)to fiddle around trying to debug their machine. The same experience wasonce again repeated when Apple introduced their 32-bit clean ROMs onthe Mac IIci and Mac IIfx. With over a year of warning from Apple tothe developer community, there were still many applications, INITs andcdevs that had significant problems, driving the users crazy.3.0 Performance The 68040 incorporates several innovative design features that boostperformance over a 68030/68882 combination running at the same clockspeed. Gains are realized in both integer and FPU performance. Integerperformance drives the Mac OS and virtually all applications. Mac OS,graphics, DTP and pre-press applications make little or no use of theFPU, as shown in Table 2. FPU performance is of benefit only for asubset of functions within CAD and scientific applications.Spreadsheets only use the FPU for spreadsheet recalculations.Table 2 Benefit of 50 MHz FPU on IIci Accelerator Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68030 FPUClock 25 MHz 50 MHz 50 MHz % GainFPU Yes No Yes Yes_______________________________________________________________________Word Scroll 8.9 6.5 6.5 0%RenderMan Render 98.0 82.0 56.0 46%Excel Cut&Paste 9.1 5.5 5.5 0%Excel Scroll 10.3 10.0 0.0 0%Excel Recalc. 10.4 6.6 5.6 17%Quark Xprs Fit in wind 5.4 3.4 3.4 0%Quark Xprs Scroll 24.2 16.9 16.9 0%FreeHand Fit wind 21.8 11.9 11.9 0%FreeHand Duplicate 34.5 18.7 18.7 0%FleMkr Pro Sort 56.3 42.2 42.2 0%Swivel 3D Change View 17.4 8.1 8.1 0%Swivel 3D Tween 73.1 32.6 32.6 0%Claris Cad Fit in wind 6.5 4.6 4.2 8%Photo Shop Rotate 4.8 3.6 3.6 0%Photo Shop Resample 36.6 19.7 19.7 0%Photo Shop Gausian Blr 19.3 12.0 12.0 0%________________________________________________________________________Total Time (sec) 436.53 284.18 256.79 11%Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
My experience, based on fairly heavy use of all three machines (andseveral others) but admittedly informal benchmarking (largelyprocessor-intensive applications such as compilers andinteger-computation tasks) would produce the following ranking:DS3100 = MacIIci < Sun SS1 = MacIIfx < HP9000/835 < DS5100 < Sun SS2.The SS2 is about 2x the SS1; the DS5100 is about 2x the DS3100. TheDS3100 is probably 70-80% as fast as the fx, possibly less. I may bewrong about the relative position of the HP and the DS5100, but I thinkthat's right...--John--------------------------------------------------------------------------John L. Coolidge Internet:cool...@cs.uiuc.edu UUCP:uiucdcs!coolidgeOf course I don't speak for the U of I (or anyone else except myself)Copyright 1991 John L. Coolidge. Copying allowed if (and only if) attributed.You may redistribute this article if and only if your recipients may as well.
Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
That's the rub... NONE of the necessary firmware/software is provided.Paragraph 7.1.1, "Software":"System software issues include differences in the memory managementstructure, internal cache initialization and management, softwareemulation of unimplemented floating-point instructions, emulation ofunsupported instructions, and the exclusion of the instructioncontinuation exception model (i.e., bus error)."The design requires the following chips:MC88195 clock generator6 PALs (3*22V10, 20R8, 16R8, 16R6)9 TTL logic packages (74F139, 74AS20, 74AS32, 74AS00, 74F64, 74AS821, 74AS257, 2*74AS573)8 bus buffers (74F543)plus various passive components.Now... maybe this is irresponsible speculation, but in the Mac Zonead in the July 1991 "MacWorld" magazine, there's a nice color pictureof a product called Magellan, from Total Systems. This is an040 accelerator for the SE/30 or IIsi. (IIci and IIfx models arepromised but no prices are listed.)It appears to me to have a special oscillator module, 7 PALs, 874FCT543's, and miscellaneous logic and passive components.Could this be the Motorola circuit? Are they using some sort of INITto patch the system? I don't know. The product is reasonably priced,but it's out of my range for the moment, and I have a IIcx anyway.(Disclaimer: I'm not associated with Total Systems, Mac Zone, orMotorola.). png
Type 25 MHz 68030 40 MHz 68030 25 MHz 68040______________________________________________________________Integer 1.0 1.6 2.1FPU 1.0 1.6 3.3Integer calculations, which drive Mac operating system (OS) performanceand all applications show gains of 30%. The real strength of the 68040lies in the speed of floating point calculations, but these have littleor no benefit for the typical graphics user. Only applications in thescientific and CAD markets use the floating point unit (FPU). Inseveral years the 68040 will be running at 40 MHz. This processor willprovide the much needed power in the DTP, graphics, pre-press andscientific markets.Software compatibility will be a major problem on 68040 accelerators aswell as Apple's new 68040 machine. Apple will have to make majorpatches to the Mac OS to handle problems with memory management andexception handling. In addition, the math code within applications willhave to be rewritten to directly leverage the benefits of the 68040'sFPU.For these reasons, DayStar has decided to wait to introduce its 68040accelerator until after the introduction of Apple's 68040 machine.Apple is best suited make the necessary OS changes as well as drivechanges in third party applications, INITs and cdevs.2.0 Lessons From the Past Each new generation of processor from Motorola has incorporated newfeatures and capabilities, many of which are not compatible with thecurrent generation. The Mac OS, by its very nature, directly addressesthe hardware. To the extent that the hardware changes, the OS must bepatched. The greater the change in the architecture of the processor,the greater the number and sophistication of the patches.2.1 The First Accelerators The first Mac Plus and SE accelerators utilized a 68020 with a 32-bitbus as compared the 16-bit bus on the Mac SE's 68000 processor. Thatand its faster clock speed (16 MHz vs. 8 MHz) caused many aggravatingincompatibilities with parts of the Mac OS, various applications, andmany INITs. It was not until the Mac II was introduced with its own 16MHz 68020 did Apple and the developer community completely solve theproblems.2.2 The Mac II Accelerators Problems started over again when Apple introduced the 16 MHz 68030 MacIIx. Surprisingly, the 68030 is nearly identical to the 68020 exceptfor the addition of the 256 byte internal data cache and the memoryman agement unit (MMU). Yet there were numerous incompatibilities withvarious parts of the Mac OS, third party INITs and applications. Manycdevs and INITs accomplish their special task by making changes to theOS or directly addressing the hardware (necessary to accomplish aspecial task that Apple did not provide, nevertheless, a violation ofApple guidelines).Applications that closely followed developer guidelines generally workedwell on the 68030 conversion. There were several key applications thathad problems working with the internal cache. At the same time DayStarintroduced its 33 MHz 68030 accelerators. Once again, it (and others)exposed yet another set of problems with applications, INITs and cdevsthat had clock timing dependencies and problems working with an externalmemory cache. Even Apple's floppy driver code would not run properly atspeeds above 16 MHz. DayStar (and others) invested significant timepatching the floppy driver code. For the 25 MHz Mac IIci, Apple had tocompletely rewrite their floppy driver code to eliminate these timingdependencies.From a software standpoint, conversion from the 68020 world to the 68030was about as easy as one could ever ask for. Yet it was veryfrustrating for the end-user. While most problems were encountered withINITs and cdevs, users were not willing to eliminate them as they hadbecome an essential part of their "tool kit". Some early buyers foundthe experience very frustrating - they did not have the time (or skills)to fiddle around trying to debug their machine. The same experience wasonce again repeated when Apple introduced their 32-bit clean ROMs onthe Mac IIci and Mac IIfx. With over a year of warning from Apple tothe developer community, there were still many applications, INITs andcdevs that had significant problems, driving the users crazy.3.0 Performance The 68040 incorporates several innovative design features that boostperformance over a 68030/68882 combination running at the same clockspeed. Gains are realized in both integer and FPU performance. Integerperformance drives the Mac OS and virtually all applications. Mac OS,graphics, DTP and pre-press applications make little or no use of theFPU, as shown in Table 2. FPU performance is of benefit only for asubset of functions within CAD and scientific applications.Spreadsheets only use the FPU for spreadsheet recalculations.Table 2 Benefit of 50 MHz FPU on IIci Accelerator Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68030 FPUClock 25 MHz 50 MHz 50 MHz % GainFPU Yes No Yes Yes_______________________________________________________________________Word Scroll 8.9 6.5 6.5 0%RenderMan Render 98.0 82.0 56.0 46%Excel Cut&Paste 9.1 5.5 5.5 0%Excel Scroll 10.3 10.0 0.0 0%Excel Recalc. 10.4 6.6 5.6 17%Quark Xprs Fit in wind 5.4 3.4 3.4 0%Quark Xprs Scroll 24.2 16.9 16.9 0%FreeHand Fit wind 21.8 11.9 11.9 0%FreeHand Duplicate 34.5 18.7 18.7 0%FleMkr Pro Sort 56.3 42.2 42.2 0%Swivel 3D Change View 17.4 8.1 8.1 0%Swivel 3D Tween 73.1 32.6 32.6 0%Claris Cad Fit in wind 6.5 4.6 4.2 8%Photo Shop Rotate 4.8 3.6 3.6 0%Photo Shop Resample 36.6 19.7 19.7 0%Photo Shop Gausian Blr 19.3 12.0 12.0 0%________________________________________________________________________Total Time (sec) 436.53 284.18 256.79 11%Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
Our team is an integrated, specialized group of professionals that have been specifically selected and trained for their individual talent, as well as their ...
[Originally from: Steve Tuttle [DayStar] 73777,2453 From Internet --> 73777...@compuserve.com Reposted without permission]March 25, 1991(c) DayStar Digital, Inc.1.0 Overview The Motorola 68040 processor is a major step forward in processingpower. When compared to a 25 MHz 68030/68882, a 25 MHz 68040 offersdouble the integer performance and three times the speed in floatingpoint calculations, as shown in Table 1. But a 25 MHz 68040 is onlyslightly faster than a 40 MHz 68030 (Mac IIfx).Table 1 Performance Relative to a 25 MHz 68030/68882 Ref: MotorolaType 25 MHz 68030 40 MHz 68030 25 MHz 68040______________________________________________________________Integer 1.0 1.6 2.1FPU 1.0 1.6 3.3Integer calculations, which drive Mac operating system (OS) performanceand all applications show gains of 30%. The real strength of the 68040lies in the speed of floating point calculations, but these have littleor no benefit for the typical graphics user. Only applications in thescientific and CAD markets use the floating point unit (FPU). Inseveral years the 68040 will be running at 40 MHz. This processor willprovide the much needed power in the DTP, graphics, pre-press andscientific markets.Software compatibility will be a major problem on 68040 accelerators aswell as Apple's new 68040 machine. Apple will have to make majorpatches to the Mac OS to handle problems with memory management andexception handling. In addition, the math code within applications willhave to be rewritten to directly leverage the benefits of the 68040'sFPU.For these reasons, DayStar has decided to wait to introduce its 68040accelerator until after the introduction of Apple's 68040 machine.Apple is best suited make the necessary OS changes as well as drivechanges in third party applications, INITs and cdevs.2.0 Lessons From the Past Each new generation of processor from Motorola has incorporated newfeatures and capabilities, many of which are not compatible with thecurrent generation. The Mac OS, by its very nature, directly addressesthe hardware. To the extent that the hardware changes, the OS must bepatched. The greater the change in the architecture of the processor,the greater the number and sophistication of the patches.2.1 The First Accelerators The first Mac Plus and SE accelerators utilized a 68020 with a 32-bitbus as compared the 16-bit bus on the Mac SE's 68000 processor. Thatand its faster clock speed (16 MHz vs. 8 MHz) caused many aggravatingincompatibilities with parts of the Mac OS, various applications, andmany INITs. It was not until the Mac II was introduced with its own 16MHz 68020 did Apple and the developer community completely solve theproblems.2.2 The Mac II Accelerators Problems started over again when Apple introduced the 16 MHz 68030 MacIIx. Surprisingly, the 68030 is nearly identical to the 68020 exceptfor the addition of the 256 byte internal data cache and the memoryman agement unit (MMU). Yet there were numerous incompatibilities withvarious parts of the Mac OS, third party INITs and applications. Manycdevs and INITs accomplish their special task by making changes to theOS or directly addressing the hardware (necessary to accomplish aspecial task that Apple did not provide, nevertheless, a violation ofApple guidelines).Applications that closely followed developer guidelines generally workedwell on the 68030 conversion. There were several key applications thathad problems working with the internal cache. At the same time DayStarintroduced its 33 MHz 68030 accelerators. Once again, it (and others)exposed yet another set of problems with applications, INITs and cdevsthat had clock timing dependencies and problems working with an externalmemory cache. Even Apple's floppy driver code would not run properly atspeeds above 16 MHz. DayStar (and others) invested significant timepatching the floppy driver code. For the 25 MHz Mac IIci, Apple had tocompletely rewrite their floppy driver code to eliminate these timingdependencies.From a software standpoint, conversion from the 68020 world to the 68030was about as easy as one could ever ask for. Yet it was veryfrustrating for the end-user. While most problems were encountered withINITs and cdevs, users were not willing to eliminate them as they hadbecome an essential part of their "tool kit". Some early buyers foundthe experience very frustrating - they did not have the time (or skills)to fiddle around trying to debug their machine. The same experience wasonce again repeated when Apple introduced their 32-bit clean ROMs onthe Mac IIci and Mac IIfx. With over a year of warning from Apple tothe developer community, there were still many applications, INITs andcdevs that had significant problems, driving the users crazy.3.0 Performance The 68040 incorporates several innovative design features that boostperformance over a 68030/68882 combination running at the same clockspeed. Gains are realized in both integer and FPU performance. Integerperformance drives the Mac OS and virtually all applications. Mac OS,graphics, DTP and pre-press applications make little or no use of theFPU, as shown in Table 2. FPU performance is of benefit only for asubset of functions within CAD and scientific applications.Spreadsheets only use the FPU for spreadsheet recalculations.Table 2 Benefit of 50 MHz FPU on IIci Accelerator Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68030 FPUClock 25 MHz 50 MHz 50 MHz % GainFPU Yes No Yes Yes_______________________________________________________________________Word Scroll 8.9 6.5 6.5 0%RenderMan Render 98.0 82.0 56.0 46%Excel Cut&Paste 9.1 5.5 5.5 0%Excel Scroll 10.3 10.0 0.0 0%Excel Recalc. 10.4 6.6 5.6 17%Quark Xprs Fit in wind 5.4 3.4 3.4 0%Quark Xprs Scroll 24.2 16.9 16.9 0%FreeHand Fit wind 21.8 11.9 11.9 0%FreeHand Duplicate 34.5 18.7 18.7 0%FleMkr Pro Sort 56.3 42.2 42.2 0%Swivel 3D Change View 17.4 8.1 8.1 0%Swivel 3D Tween 73.1 32.6 32.6 0%Claris Cad Fit in wind 6.5 4.6 4.2 8%Photo Shop Rotate 4.8 3.6 3.6 0%Photo Shop Resample 36.6 19.7 19.7 0%Photo Shop Gausian Blr 19.3 12.0 12.0 0%________________________________________________________________________Total Time (sec) 436.53 284.18 256.79 11%Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
May 19, 2020 — 1) Align bed and plate, clamp down and calculate middle of assembly and co-ordinates of the holes. · 2) Centre drill (shallow cut) each hole in ...
Feb 23, 2021 — You could conceivably make two form cutters and plunge one side at a time, which might be better for your (assumedly) small lathe. I wouldn't ...
>> What I am curious about is what a minimal upgrade to a 040 would> entail. Can I buy a chip, and build a small adapter board? Or are> there many changes that would have to be made.
Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
-- Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy "This is my mistake. Let me make it good." -R.E.M.
March 25, 1991(c) DayStar Digital, Inc.1.0 Overview The Motorola 68040 processor is a major step forward in processingpower. When compared to a 25 MHz 68030/68882, a 25 MHz 68040 offersdouble the integer performance and three times the speed in floatingpoint calculations, as shown in Table 1. But a 25 MHz 68040 is onlyslightly faster than a 40 MHz 68030 (Mac IIfx).Table 1 Performance Relative to a 25 MHz 68030/68882 Ref: MotorolaType 25 MHz 68030 40 MHz 68030 25 MHz 68040______________________________________________________________Integer 1.0 1.6 2.1FPU 1.0 1.6 3.3Integer calculations, which drive Mac operating system (OS) performanceand all applications show gains of 30%. The real strength of the 68040lies in the speed of floating point calculations, but these have littleor no benefit for the typical graphics user. Only applications in thescientific and CAD markets use the floating point unit (FPU). Inseveral years the 68040 will be running at 40 MHz. This processor willprovide the much needed power in the DTP, graphics, pre-press andscientific markets.Software compatibility will be a major problem on 68040 accelerators aswell as Apple's new 68040 machine. Apple will have to make majorpatches to the Mac OS to handle problems with memory management andexception handling. In addition, the math code within applications willhave to be rewritten to directly leverage the benefits of the 68040'sFPU.For these reasons, DayStar has decided to wait to introduce its 68040accelerator until after the introduction of Apple's 68040 machine.Apple is best suited make the necessary OS changes as well as drivechanges in third party applications, INITs and cdevs.2.0 Lessons From the Past Each new generation of processor from Motorola has incorporated newfeatures and capabilities, many of which are not compatible with thecurrent generation. The Mac OS, by its very nature, directly addressesthe hardware. To the extent that the hardware changes, the OS must bepatched. The greater the change in the architecture of the processor,the greater the number and sophistication of the patches.2.1 The First Accelerators The first Mac Plus and SE accelerators utilized a 68020 with a 32-bitbus as compared the 16-bit bus on the Mac SE's 68000 processor. Thatand its faster clock speed (16 MHz vs. 8 MHz) caused many aggravatingincompatibilities with parts of the Mac OS, various applications, andmany INITs. It was not until the Mac II was introduced with its own 16MHz 68020 did Apple and the developer community completely solve theproblems.2.2 The Mac II Accelerators Problems started over again when Apple introduced the 16 MHz 68030 MacIIx. Surprisingly, the 68030 is nearly identical to the 68020 exceptfor the addition of the 256 byte internal data cache and the memoryman agement unit (MMU). Yet there were numerous incompatibilities withvarious parts of the Mac OS, third party INITs and applications. Manycdevs and INITs accomplish their special task by making changes to theOS or directly addressing the hardware (necessary to accomplish aspecial task that Apple did not provide, nevertheless, a violation ofApple guidelines).Applications that closely followed developer guidelines generally workedwell on the 68030 conversion. There were several key applications thathad problems working with the internal cache. At the same time DayStarintroduced its 33 MHz 68030 accelerators. Once again, it (and others)exposed yet another set of problems with applications, INITs and cdevsthat had clock timing dependencies and problems working with an externalmemory cache. Even Apple's floppy driver code would not run properly atspeeds above 16 MHz. DayStar (and others) invested significant timepatching the floppy driver code. For the 25 MHz Mac IIci, Apple had tocompletely rewrite their floppy driver code to eliminate these timingdependencies.From a software standpoint, conversion from the 68020 world to the 68030was about as easy as one could ever ask for. Yet it was veryfrustrating for the end-user. While most problems were encountered withINITs and cdevs, users were not willing to eliminate them as they hadbecome an essential part of their "tool kit". Some early buyers foundthe experience very frustrating - they did not have the time (or skills)to fiddle around trying to debug their machine. The same experience wasonce again repeated when Apple introduced their 32-bit clean ROMs onthe Mac IIci and Mac IIfx. With over a year of warning from Apple tothe developer community, there were still many applications, INITs andcdevs that had significant problems, driving the users crazy.3.0 Performance The 68040 incorporates several innovative design features that boostperformance over a 68030/68882 combination running at the same clockspeed. Gains are realized in both integer and FPU performance. Integerperformance drives the Mac OS and virtually all applications. Mac OS,graphics, DTP and pre-press applications make little or no use of theFPU, as shown in Table 2. FPU performance is of benefit only for asubset of functions within CAD and scientific applications.Spreadsheets only use the FPU for spreadsheet recalculations.Table 2 Benefit of 50 MHz FPU on IIci Accelerator Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68030 FPUClock 25 MHz 50 MHz 50 MHz % GainFPU Yes No Yes Yes_______________________________________________________________________Word Scroll 8.9 6.5 6.5 0%RenderMan Render 98.0 82.0 56.0 46%Excel Cut&Paste 9.1 5.5 5.5 0%Excel Scroll 10.3 10.0 0.0 0%Excel Recalc. 10.4 6.6 5.6 17%Quark Xprs Fit in wind 5.4 3.4 3.4 0%Quark Xprs Scroll 24.2 16.9 16.9 0%FreeHand Fit wind 21.8 11.9 11.9 0%FreeHand Duplicate 34.5 18.7 18.7 0%FleMkr Pro Sort 56.3 42.2 42.2 0%Swivel 3D Change View 17.4 8.1 8.1 0%Swivel 3D Tween 73.1 32.6 32.6 0%Claris Cad Fit in wind 6.5 4.6 4.2 8%Photo Shop Rotate 4.8 3.6 3.6 0%Photo Shop Resample 36.6 19.7 19.7 0%Photo Shop Gausian Blr 19.3 12.0 12.0 0%________________________________________________________________________Total Time (sec) 436.53 284.18 256.79 11%Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
There's a complete schematic with part numbers, and equation files forall the PALs in the design. In short, it describes 100% of the necessaryhardware. There are some limitations; some of the bus interfaceprotocols are necessarily different, but these can be overcome withthe addition of some firmware and/or system software patches.That's the rub... NONE of the necessary firmware/software is provided.Paragraph 7.1.1, "Software":"System software issues include differences in the memory managementstructure, internal cache initialization and management, softwareemulation of unimplemented floating-point instructions, emulation ofunsupported instructions, and the exclusion of the instructioncontinuation exception model (i.e., bus error)."The design requires the following chips:MC88195 clock generator6 PALs (3*22V10, 20R8, 16R8, 16R6)9 TTL logic packages (74F139, 74AS20, 74AS32, 74AS00, 74F64, 74AS821, 74AS257, 2*74AS573)8 bus buffers (74F543)plus various passive components.Now... maybe this is irresponsible speculation, but in the Mac Zonead in the July 1991 "MacWorld" magazine, there's a nice color pictureof a product called Magellan, from Total Systems. This is an040 accelerator for the SE/30 or IIsi. (IIci and IIfx models arepromised but no prices are listed.)It appears to me to have a special oscillator module, 7 PALs, 874FCT543's, and miscellaneous logic and passive components.Could this be the Motorola circuit? Are they using some sort of INITto patch the system? I don't know. The product is reasonably priced,but it's out of my range for the moment, and I have a IIcx anyway.(Disclaimer: I'm not associated with Total Systems, Mac Zone, orMotorola.). png
... Carbide burr shapes its reputation. Advantage: Fine virgin material. Advanced cutting geometry. Brazed joints or solid carbide(under 1/4 inch shank) Result ...
In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
3.0 Performance The 68040 incorporates several innovative design features that boostperformance over a 68030/68882 combination running at the same clockspeed. Gains are realized in both integer and FPU performance. Integerperformance drives the Mac OS and virtually all applications. Mac OS,graphics, DTP and pre-press applications make little or no use of theFPU, as shown in Table 2. FPU performance is of benefit only for asubset of functions within CAD and scientific applications.Spreadsheets only use the FPU for spreadsheet recalculations.Table 2 Benefit of 50 MHz FPU on IIci Accelerator Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68030 FPUClock 25 MHz 50 MHz 50 MHz % GainFPU Yes No Yes Yes_______________________________________________________________________Word Scroll 8.9 6.5 6.5 0%RenderMan Render 98.0 82.0 56.0 46%Excel Cut&Paste 9.1 5.5 5.5 0%Excel Scroll 10.3 10.0 0.0 0%Excel Recalc. 10.4 6.6 5.6 17%Quark Xprs Fit in wind 5.4 3.4 3.4 0%Quark Xprs Scroll 24.2 16.9 16.9 0%FreeHand Fit wind 21.8 11.9 11.9 0%FreeHand Duplicate 34.5 18.7 18.7 0%FleMkr Pro Sort 56.3 42.2 42.2 0%Swivel 3D Change View 17.4 8.1 8.1 0%Swivel 3D Tween 73.1 32.6 32.6 0%Claris Cad Fit in wind 6.5 4.6 4.2 8%Photo Shop Rotate 4.8 3.6 3.6 0%Photo Shop Resample 36.6 19.7 19.7 0%Photo Shop Gausian Blr 19.3 12.0 12.0 0%________________________________________________________________________Total Time (sec) 436.53 284.18 256.79 11%Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
Considerably different. The 68040 bus is completely different than the 68030bus. There's no dynamic bus sizing. All normal memory cycles are "burst"cycles, even writes in the preferred operating mode. The '040 runs from two clocks: BCLK, which determines the bus speed (25MHz is normal) and PCLK, which determines the ALU speed (50MHz on a 25MHz chip). There's no real practical way to kludge this into a 68030 socket, though I suppose someone will do itanyway. Perhaps if the IIfx has some kind of slot designed for a 68040 card, you could build an upgrade. This is what we did on the Amiga 3000.
2.0 Lessons From the Past Each new generation of processor from Motorola has incorporated newfeatures and capabilities, many of which are not compatible with thecurrent generation. The Mac OS, by its very nature, directly addressesthe hardware. To the extent that the hardware changes, the OS must bepatched. The greater the change in the architecture of the processor,the greater the number and sophistication of the patches.2.1 The First Accelerators The first Mac Plus and SE accelerators utilized a 68020 with a 32-bitbus as compared the 16-bit bus on the Mac SE's 68000 processor. Thatand its faster clock speed (16 MHz vs. 8 MHz) caused many aggravatingincompatibilities with parts of the Mac OS, various applications, andmany INITs. It was not until the Mac II was introduced with its own 16MHz 68020 did Apple and the developer community completely solve theproblems.2.2 The Mac II Accelerators Problems started over again when Apple introduced the 16 MHz 68030 MacIIx. Surprisingly, the 68030 is nearly identical to the 68020 exceptfor the addition of the 256 byte internal data cache and the memoryman agement unit (MMU). Yet there were numerous incompatibilities withvarious parts of the Mac OS, third party INITs and applications. Manycdevs and INITs accomplish their special task by making changes to theOS or directly addressing the hardware (necessary to accomplish aspecial task that Apple did not provide, nevertheless, a violation ofApple guidelines).Applications that closely followed developer guidelines generally workedwell on the 68030 conversion. There were several key applications thathad problems working with the internal cache. At the same time DayStarintroduced its 33 MHz 68030 accelerators. Once again, it (and others)exposed yet another set of problems with applications, INITs and cdevsthat had clock timing dependencies and problems working with an externalmemory cache. Even Apple's floppy driver code would not run properly atspeeds above 16 MHz. DayStar (and others) invested significant timepatching the floppy driver code. For the 25 MHz Mac IIci, Apple had tocompletely rewrite their floppy driver code to eliminate these timingdependencies.From a software standpoint, conversion from the 68020 world to the 68030was about as easy as one could ever ask for. Yet it was veryfrustrating for the end-user. While most problems were encountered withINITs and cdevs, users were not willing to eliminate them as they hadbecome an essential part of their "tool kit". Some early buyers foundthe experience very frustrating - they did not have the time (or skills)to fiddle around trying to debug their machine. The same experience wasonce again repeated when Apple introduced their 32-bit clean ROMs onthe Mac IIci and Mac IIfx. With over a year of warning from Apple tothe developer community, there were still many applications, INITs andcdevs that had significant problems, driving the users crazy.3.0 Performance The 68040 incorporates several innovative design features that boostperformance over a 68030/68882 combination running at the same clockspeed. Gains are realized in both integer and FPU performance. Integerperformance drives the Mac OS and virtually all applications. Mac OS,graphics, DTP and pre-press applications make little or no use of theFPU, as shown in Table 2. FPU performance is of benefit only for asubset of functions within CAD and scientific applications.Spreadsheets only use the FPU for spreadsheet recalculations.Table 2 Benefit of 50 MHz FPU on IIci Accelerator Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68030 FPUClock 25 MHz 50 MHz 50 MHz % GainFPU Yes No Yes Yes_______________________________________________________________________Word Scroll 8.9 6.5 6.5 0%RenderMan Render 98.0 82.0 56.0 46%Excel Cut&Paste 9.1 5.5 5.5 0%Excel Scroll 10.3 10.0 0.0 0%Excel Recalc. 10.4 6.6 5.6 17%Quark Xprs Fit in wind 5.4 3.4 3.4 0%Quark Xprs Scroll 24.2 16.9 16.9 0%FreeHand Fit wind 21.8 11.9 11.9 0%FreeHand Duplicate 34.5 18.7 18.7 0%FleMkr Pro Sort 56.3 42.2 42.2 0%Swivel 3D Change View 17.4 8.1 8.1 0%Swivel 3D Tween 73.1 32.6 32.6 0%Claris Cad Fit in wind 6.5 4.6 4.2 8%Photo Shop Rotate 4.8 3.6 3.6 0%Photo Shop Resample 36.6 19.7 19.7 0%Photo Shop Gausian Blr 19.3 12.0 12.0 0%________________________________________________________________________Total Time (sec) 436.53 284.18 256.79 11%Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
--John--------------------------------------------------------------------------John L. Coolidge Internet:cool...@cs.uiuc.edu UUCP:uiucdcs!coolidgeOf course I don't speak for the U of I (or anyone else except myself)Copyright 1991 John L. Coolidge. Copying allowed if (and only if) attributed.You may redistribute this article if and only if your recipients may as well.
Now... maybe this is irresponsible speculation, but in the Mac Zonead in the July 1991 "MacWorld" magazine, there's a nice color pictureof a product called Magellan, from Total Systems. This is an040 accelerator for the SE/30 or IIsi. (IIci and IIfx models arepromised but no prices are listed.)It appears to me to have a special oscillator module, 7 PALs, 874FCT543's, and miscellaneous logic and passive components.Could this be the Motorola circuit? Are they using some sort of INITto patch the system? I don't know. The product is reasonably priced,but it's out of my range for the moment, and I have a IIcx anyway.(Disclaimer: I'm not associated with Total Systems, Mac Zone, orMotorola.). png
From a software standpoint, conversion from the 68020 world to the 68030was about as easy as one could ever ask for. Yet it was veryfrustrating for the end-user. While most problems were encountered withINITs and cdevs, users were not willing to eliminate them as they hadbecome an essential part of their "tool kit". Some early buyers foundthe experience very frustrating - they did not have the time (or skills)to fiddle around trying to debug their machine. The same experience wasonce again repeated when Apple introduced their 32-bit clean ROMs onthe Mac IIci and Mac IIfx. With over a year of warning from Apple tothe developer community, there were still many applications, INITs andcdevs that had significant problems, driving the users crazy.3.0 Performance The 68040 incorporates several innovative design features that boostperformance over a 68030/68882 combination running at the same clockspeed. Gains are realized in both integer and FPU performance. Integerperformance drives the Mac OS and virtually all applications. Mac OS,graphics, DTP and pre-press applications make little or no use of theFPU, as shown in Table 2. FPU performance is of benefit only for asubset of functions within CAD and scientific applications.Spreadsheets only use the FPU for spreadsheet recalculations.Table 2 Benefit of 50 MHz FPU on IIci Accelerator Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68030 FPUClock 25 MHz 50 MHz 50 MHz % GainFPU Yes No Yes Yes_______________________________________________________________________Word Scroll 8.9 6.5 6.5 0%RenderMan Render 98.0 82.0 56.0 46%Excel Cut&Paste 9.1 5.5 5.5 0%Excel Scroll 10.3 10.0 0.0 0%Excel Recalc. 10.4 6.6 5.6 17%Quark Xprs Fit in wind 5.4 3.4 3.4 0%Quark Xprs Scroll 24.2 16.9 16.9 0%FreeHand Fit wind 21.8 11.9 11.9 0%FreeHand Duplicate 34.5 18.7 18.7 0%FleMkr Pro Sort 56.3 42.2 42.2 0%Swivel 3D Change View 17.4 8.1 8.1 0%Swivel 3D Tween 73.1 32.6 32.6 0%Claris Cad Fit in wind 6.5 4.6 4.2 8%Photo Shop Rotate 4.8 3.6 3.6 0%Photo Shop Resample 36.6 19.7 19.7 0%Photo Shop Gausian Blr 19.3 12.0 12.0 0%________________________________________________________________________Total Time (sec) 436.53 284.18 256.79 11%Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
What I am curious about is what a minimal upgrade to a 040 wouldentail. Can I buy a chip, and build a small adapter board? Or arethere many changes that would have to be made.-alan
Table 2 Benefit of 50 MHz FPU on IIci Accelerator Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68030 FPUClock 25 MHz 50 MHz 50 MHz % GainFPU Yes No Yes Yes_______________________________________________________________________Word Scroll 8.9 6.5 6.5 0%RenderMan Render 98.0 82.0 56.0 46%Excel Cut&Paste 9.1 5.5 5.5 0%Excel Scroll 10.3 10.0 0.0 0%Excel Recalc. 10.4 6.6 5.6 17%Quark Xprs Fit in wind 5.4 3.4 3.4 0%Quark Xprs Scroll 24.2 16.9 16.9 0%FreeHand Fit wind 21.8 11.9 11.9 0%FreeHand Duplicate 34.5 18.7 18.7 0%FleMkr Pro Sort 56.3 42.2 42.2 0%Swivel 3D Change View 17.4 8.1 8.1 0%Swivel 3D Tween 73.1 32.6 32.6 0%Claris Cad Fit in wind 6.5 4.6 4.2 8%Photo Shop Rotate 4.8 3.6 3.6 0%Photo Shop Resample 36.6 19.7 19.7 0%Photo Shop Gausian Blr 19.3 12.0 12.0 0%________________________________________________________________________Total Time (sec) 436.53 284.18 256.79 11%Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
2.1 The First Accelerators The first Mac Plus and SE accelerators utilized a 68020 with a 32-bitbus as compared the 16-bit bus on the Mac SE's 68000 processor. Thatand its faster clock speed (16 MHz vs. 8 MHz) caused many aggravatingincompatibilities with parts of the Mac OS, various applications, andmany INITs. It was not until the Mac II was introduced with its own 16MHz 68020 did Apple and the developer community completely solve theproblems.2.2 The Mac II Accelerators Problems started over again when Apple introduced the 16 MHz 68030 MacIIx. Surprisingly, the 68030 is nearly identical to the 68020 exceptfor the addition of the 256 byte internal data cache and the memoryman agement unit (MMU). Yet there were numerous incompatibilities withvarious parts of the Mac OS, third party INITs and applications. Manycdevs and INITs accomplish their special task by making changes to theOS or directly addressing the hardware (necessary to accomplish aspecial task that Apple did not provide, nevertheless, a violation ofApple guidelines).Applications that closely followed developer guidelines generally workedwell on the 68030 conversion. There were several key applications thathad problems working with the internal cache. At the same time DayStarintroduced its 33 MHz 68030 accelerators. Once again, it (and others)exposed yet another set of problems with applications, INITs and cdevsthat had clock timing dependencies and problems working with an externalmemory cache. Even Apple's floppy driver code would not run properly atspeeds above 16 MHz. DayStar (and others) invested significant timepatching the floppy driver code. For the 25 MHz Mac IIci, Apple had tocompletely rewrite their floppy driver code to eliminate these timingdependencies.From a software standpoint, conversion from the 68020 world to the 68030was about as easy as one could ever ask for. Yet it was veryfrustrating for the end-user. While most problems were encountered withINITs and cdevs, users were not willing to eliminate them as they hadbecome an essential part of their "tool kit". Some early buyers foundthe experience very frustrating - they did not have the time (or skills)to fiddle around trying to debug their machine. The same experience wasonce again repeated when Apple introduced their 32-bit clean ROMs onthe Mac IIci and Mac IIfx. With over a year of warning from Apple tothe developer community, there were still many applications, INITs andcdevs that had significant problems, driving the users crazy.3.0 Performance The 68040 incorporates several innovative design features that boostperformance over a 68030/68882 combination running at the same clockspeed. Gains are realized in both integer and FPU performance. Integerperformance drives the Mac OS and virtually all applications. Mac OS,graphics, DTP and pre-press applications make little or no use of theFPU, as shown in Table 2. FPU performance is of benefit only for asubset of functions within CAD and scientific applications.Spreadsheets only use the FPU for spreadsheet recalculations.Table 2 Benefit of 50 MHz FPU on IIci Accelerator Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68030 FPUClock 25 MHz 50 MHz 50 MHz % GainFPU Yes No Yes Yes_______________________________________________________________________Word Scroll 8.9 6.5 6.5 0%RenderMan Render 98.0 82.0 56.0 46%Excel Cut&Paste 9.1 5.5 5.5 0%Excel Scroll 10.3 10.0 0.0 0%Excel Recalc. 10.4 6.6 5.6 17%Quark Xprs Fit in wind 5.4 3.4 3.4 0%Quark Xprs Scroll 24.2 16.9 16.9 0%FreeHand Fit wind 21.8 11.9 11.9 0%FreeHand Duplicate 34.5 18.7 18.7 0%FleMkr Pro Sort 56.3 42.2 42.2 0%Swivel 3D Change View 17.4 8.1 8.1 0%Swivel 3D Tween 73.1 32.6 32.6 0%Claris Cad Fit in wind 6.5 4.6 4.2 8%Photo Shop Rotate 4.8 3.6 3.6 0%Photo Shop Resample 36.6 19.7 19.7 0%Photo Shop Gausian Blr 19.3 12.0 12.0 0%________________________________________________________________________Total Time (sec) 436.53 284.18 256.79 11%Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
First of all, you need a bus conversion state machine, which will translate68040 signals into 68030 signals. This isn't all that difficult, if you'rereal familiar with 68030 signals, but it's not something you'll hack together in a weekend. You also need bus bridging buffers to handle whateversubset of the 68030 bus sizing mechanism the IIfx requires. In other words,you need the Motorola hardware documentation. They do have an appnote on anexample 68040->68030 bus converter, which might be a good starting point, even though it looks a little bloated. -- Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy "This is my mistake. Let me make it good." -R.E.M.
Aug 22, 2024 — Padua Pub, located in Sauk Centre, MN, is a cozy and welcoming pub that has been a local favorite for over 30 years. With a focus on great ...
Gains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
First of all, you need a bus conversion state machine, which will translate68040 signals into 68030 signals. This isn't all that difficult, if you'rereal familiar with 68030 signals, but it's not something you'll hack together in a weekend. You also need bus bridging buffers to handle whateversubset of the 68030 bus sizing mechanism the IIfx requires. In other words,you need the Motorola hardware documentation. They do have an appnote on anexample 68040->68030 bus converter, which might be a good starting point, even though it looks a little bloated. -- Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy "This is my mistake. Let me make it good." -R.E.M.
MC88195 clock generator6 PALs (3*22V10, 20R8, 16R8, 16R6)9 TTL logic packages (74F139, 74AS20, 74AS32, 74AS00, 74F64, 74AS821, 74AS257, 2*74AS573)8 bus buffers (74F543)plus various passive components.Now... maybe this is irresponsible speculation, but in the Mac Zonead in the July 1991 "MacWorld" magazine, there's a nice color pictureof a product called Magellan, from Total Systems. This is an040 accelerator for the SE/30 or IIsi. (IIci and IIfx models arepromised but no prices are listed.)It appears to me to have a special oscillator module, 7 PALs, 874FCT543's, and miscellaneous logic and passive components.Could this be the Motorola circuit? Are they using some sort of INITto patch the system? I don't know. The product is reasonably priced,but it's out of my range for the moment, and I have a IIcx anyway.(Disclaimer: I'm not associated with Total Systems, Mac Zone, orMotorola.). png
i dont think you can easily replace a 68030 with a 68040. hp has aboard that makes a 50MHz 68030 look like a 25Mhz 68040. i know theyare going to have a lot of those boards laying around from all theupgrades they are doing but i doubt that you could get one. from thesize and complexity of the board, i would say that the problem is farfrom trivial...-wayne
If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
Actually, the Motorola "MC68040 Designer's Handbook" (MC68040DH/AD),a snazzy slip-cased 3-ring binder, contains a section entitled "MC68040to MC68030 Bus Adapter Application".There's a complete schematic with part numbers, and equation files forall the PALs in the design. In short, it describes 100% of the necessaryhardware. There are some limitations; some of the bus interfaceprotocols are necessarily different, but these can be overcome withthe addition of some firmware and/or system software patches.That's the rub... NONE of the necessary firmware/software is provided.Paragraph 7.1.1, "Software":"System software issues include differences in the memory managementstructure, internal cache initialization and management, softwareemulation of unimplemented floating-point instructions, emulation ofunsupported instructions, and the exclusion of the instructioncontinuation exception model (i.e., bus error)."The design requires the following chips:MC88195 clock generator6 PALs (3*22V10, 20R8, 16R8, 16R6)9 TTL logic packages (74F139, 74AS20, 74AS32, 74AS00, 74F64, 74AS821, 74AS257, 2*74AS573)8 bus buffers (74F543)plus various passive components.Now... maybe this is irresponsible speculation, but in the Mac Zonead in the July 1991 "MacWorld" magazine, there's a nice color pictureof a product called Magellan, from Total Systems. This is an040 accelerator for the SE/30 or IIsi. (IIci and IIfx models arepromised but no prices are listed.)It appears to me to have a special oscillator module, 7 PALs, 874FCT543's, and miscellaneous logic and passive components.Could this be the Motorola circuit? Are they using some sort of INITto patch the system? I don't know. The product is reasonably priced,but it's out of my range for the moment, and I have a IIcx anyway.(Disclaimer: I'm not associated with Total Systems, Mac Zone, orMotorola.). png
It appears to me to have a special oscillator module, 7 PALs, 874FCT543's, and miscellaneous logic and passive components.Could this be the Motorola circuit? Are they using some sort of INITto patch the system? I don't know. The product is reasonably priced,but it's out of my range for the moment, and I have a IIcx anyway.(Disclaimer: I'm not associated with Total Systems, Mac Zone, orMotorola.). png
For these reasons, DayStar has decided to wait to introduce its 68040accelerator until after the introduction of Apple's 68040 machine.Apple is best suited make the necessary OS changes as well as drivechanges in third party applications, INITs and cdevs.2.0 Lessons From the Past Each new generation of processor from Motorola has incorporated newfeatures and capabilities, many of which are not compatible with thecurrent generation. The Mac OS, by its very nature, directly addressesthe hardware. To the extent that the hardware changes, the OS must bepatched. The greater the change in the architecture of the processor,the greater the number and sophistication of the patches.2.1 The First Accelerators The first Mac Plus and SE accelerators utilized a 68020 with a 32-bitbus as compared the 16-bit bus on the Mac SE's 68000 processor. Thatand its faster clock speed (16 MHz vs. 8 MHz) caused many aggravatingincompatibilities with parts of the Mac OS, various applications, andmany INITs. It was not until the Mac II was introduced with its own 16MHz 68020 did Apple and the developer community completely solve theproblems.2.2 The Mac II Accelerators Problems started over again when Apple introduced the 16 MHz 68030 MacIIx. Surprisingly, the 68030 is nearly identical to the 68020 exceptfor the addition of the 256 byte internal data cache and the memoryman agement unit (MMU). Yet there were numerous incompatibilities withvarious parts of the Mac OS, third party INITs and applications. Manycdevs and INITs accomplish their special task by making changes to theOS or directly addressing the hardware (necessary to accomplish aspecial task that Apple did not provide, nevertheless, a violation ofApple guidelines).Applications that closely followed developer guidelines generally workedwell on the 68030 conversion. There were several key applications thathad problems working with the internal cache. At the same time DayStarintroduced its 33 MHz 68030 accelerators. Once again, it (and others)exposed yet another set of problems with applications, INITs and cdevsthat had clock timing dependencies and problems working with an externalmemory cache. Even Apple's floppy driver code would not run properly atspeeds above 16 MHz. DayStar (and others) invested significant timepatching the floppy driver code. For the 25 MHz Mac IIci, Apple had tocompletely rewrite their floppy driver code to eliminate these timingdependencies.From a software standpoint, conversion from the 68020 world to the 68030was about as easy as one could ever ask for. Yet it was veryfrustrating for the end-user. While most problems were encountered withINITs and cdevs, users were not willing to eliminate them as they hadbecome an essential part of their "tool kit". Some early buyers foundthe experience very frustrating - they did not have the time (or skills)to fiddle around trying to debug their machine. The same experience wasonce again repeated when Apple introduced their 32-bit clean ROMs onthe Mac IIci and Mac IIfx. With over a year of warning from Apple tothe developer community, there were still many applications, INITs andcdevs that had significant problems, driving the users crazy.3.0 Performance The 68040 incorporates several innovative design features that boostperformance over a 68030/68882 combination running at the same clockspeed. Gains are realized in both integer and FPU performance. Integerperformance drives the Mac OS and virtually all applications. Mac OS,graphics, DTP and pre-press applications make little or no use of theFPU, as shown in Table 2. FPU performance is of benefit only for asubset of functions within CAD and scientific applications.Spreadsheets only use the FPU for spreadsheet recalculations.Table 2 Benefit of 50 MHz FPU on IIci Accelerator Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68030 FPUClock 25 MHz 50 MHz 50 MHz % GainFPU Yes No Yes Yes_______________________________________________________________________Word Scroll 8.9 6.5 6.5 0%RenderMan Render 98.0 82.0 56.0 46%Excel Cut&Paste 9.1 5.5 5.5 0%Excel Scroll 10.3 10.0 0.0 0%Excel Recalc. 10.4 6.6 5.6 17%Quark Xprs Fit in wind 5.4 3.4 3.4 0%Quark Xprs Scroll 24.2 16.9 16.9 0%FreeHand Fit wind 21.8 11.9 11.9 0%FreeHand Duplicate 34.5 18.7 18.7 0%FleMkr Pro Sort 56.3 42.2 42.2 0%Swivel 3D Change View 17.4 8.1 8.1 0%Swivel 3D Tween 73.1 32.6 32.6 0%Claris Cad Fit in wind 6.5 4.6 4.2 8%Photo Shop Rotate 4.8 3.6 3.6 0%Photo Shop Resample 36.6 19.7 19.7 0%Photo Shop Gausian Blr 19.3 12.0 12.0 0%________________________________________________________________________Total Time (sec) 436.53 284.18 256.79 11%Shown in Table 2 is a Mac IIci accelerator with and without a 50 MHz68882 FPU. Doubling the speed of the FPU has no benefit in manyapplications, even within CAD applications. Based on the evidence inFigure 2, DayStar recommends that its graphics and DTP customers not buyan optional 68882 FPU on its accelerators.3.1 Integer Performance For integer performance, the 68040 has a high degree of instructionparallelism -- it is capable of executing in one clock cycle aninstruction that may take 3-4 cycles to execute on a 68030. The 68040has two 4,096 byte caches for both instruction and data, and both arefour-way set associative. Contrast this to a 68030, which has only a256 bytes direct mapped cache (less efficient). Therefore, the 68040will exhibit a much higher "hit" rate allowing zero wait stateperformance up to 40 MHz. In fact, the 68040 caches are so efficientthat there will be no need to add an external cache, as is required inthe faster 68030's.Predicted integer performance for the 68040 (based on Motorola data) isshown in the Table 3 against a zero wait state 68030. Percentage gainsare shown against a 40 MHz 68030 (to represent a Mac IIfx). Expectedgains for the 25 MHz 68040 are only on the order of 30% (1.3) whencompared to the 40 MHz 68030.Table 3 Performance Relative to a 40 MHz 68030 Ref: Motorola Clock 68030 68040 68040 Volume Ship______________________________________________________________16 MHz 0.4 n/a n/a25 MHz 0.6 1.3 Q2-9133 MHz 0.8 1.7 Q1-9240 MHz 1.0 2.1 Late 9250 MHz 1.3 n/a n/aGains of 30% will not satisfy power users. They really demand gains of100-200%, and these will not be available for several years, at leastfor the Mac IIfx. Gains on the 16 MHz Mac IIs should be a little overthree times greater when the 40 MHz 68040 is introduced in late 1992, soan appreciable upgrade market will exist for users who want better thanIIfx class performance. But in the mean time, will the initial 68040compatibility problems be more of a problem than a IIfx upgrade or a 50MHz accelerator?3.2 FPU performance The real power of the 68040 lies within its FPU performance. Bycombining the CPU and FPU into the same piece of silicon, FPU has beenboosted three times. But to achieve this integration Motorola accepteda major sacrifice in instruction set commonality. Applications notwritten to directly address the 68040 FPU will either have to berewritten, or will have to operate through about 256K of code thattranslates the 68882 calls into 68040 calls. The overhead required forthis translation process will drastically reduce 68040 FPU performancegains.If an FPU intensive function is rewritten to directly use the 68040 FPUinstruction set, then performance gains can be substantial. Table 4contains estimates for the impact of the 68040 FPU on the two FPUintensive func tions shown in Table 2.Table 4 Estimated Possible 25 MHz 68040 FPU Performance Gain Ref: DayStar Platform Mac IIci Accel IIci Accel IIci Accel IIciProcessor 68030 68030 68040 FPUClock 25 MHz 50 MHz 25 MHz % GainFPU Yes Yes Yes _______________________________________________________________________RenderMan Render 98.0 56.0 17.8 215%Excel Recalculate 10.4 5.6 3.5 60%In summary, the Mac community will not see immediate gains in 68040performance. A 25 MHz 68040 is not that much faster than a Mac IIfx,for integer performance. And, 68040 FPU performance will be of littlebenefit to the typical Mac user. However, in several years the 40 MHz68040 will be double the speed of the Mac IIfx, and offer even greatergains for CAD and scientific functions directly utilizing the 68040'sFPU.3.3 Today's Accelerator Performance The limited gains of the 25 MHz 68040 are verified by benchmarks run atthe January, 1991 San Francisco Macworld. Here, prototype acceleratorswere being shown by two different companies. In Table 5, benchmarkperformance is shown against current state-of-the-art machines. Thesetests show that gains in integer performance are below Motorolaestimates. FPU performance is no better than a regular Mac. Theseprototypes were operating in a very restricted environment (they wereonly running benchmarks). Applications were not being shown. Incontrast, once the 68030 was stable, up and running, there were few MacOS or application problems to overcome. In all fairness, these were justearly engineering prototypes, and they had not yet "tweeked" performanceto the maximum, as is common in the development process.Table 5 25 MHz Prototype Accelerator Performance Ref: DayStar Measurements OEM Apple Apple DayStar TokaMac IIR Platform Mac IIci Mac IIfx Mac IIci Mac LC Mac II/IIxCPU 68030 68030 68030 68040 68040FPU Yes Yes Yes Yes YesSpeed 25 MHz 40 MHz 50 MHz 25 MHz 25 MHz_______________________________________________________________________Float Integer 0.18 0.15 0.10 0.20 0.10Trig FPU 0.57 0.36 0.32 3.18 1.20Butterfly FPU 2.33 2.17 1.57 4.18 2.40Ripples FPU 17.10 12.87 9.83 30.53 7.80Sieve Integer 0.27 0.18 0.15 0.22 0.16Moire Integer 8.77 9.40 5.58 7.50 5.20_______________________________________________________________________Total (sec) 29.22 25.13 17.55 45.81 16.864.0. Compatibility The major problems come in the area of software integration (both Mac OSand applications). There are three areas of compatibility problems: (1)memory management, (2) exception handling and (3) floating point.4.1 Memory Management Since the introduction of the Mac IIx, use of the Memory Management Unit(MMU) in the 68030 has become a fundamental part of Mac system software.It is used to grant access to memory, flip between 24 and 32 bit mode,and provide virtual memory under System 7.0 and A/UX.Both the 68030 and 68040 have on-chip MMUs, but they are very differentin feature set, register format, and page table formats. It is safe tosay that all ROM code and Mac system software which deals with the MMUmust be modified to run on the 68040. The majority of third partysoftware should not need modification (except processor specificproducts such as Virtual) or products that address MMU hardware directly(those which violate Apple's guidelines).4.2 Exception Handling An exception is defined as a condition that the processor does not knowhow to handle. For example, dividing by zero, accessing non-existentmemory, and unknown processor instructions all generate exceptions. Theprocessor saves information about the operation on the stack and callsthe exception handler. In some cases, the 68040 will put differentinformation on the stack than the 68030, causing an error with theexception handler. Applications, INITs and cdevs commonly use the buserror mechanism to check for the existence of memory. All of these mustbe recoded to run on the 68040. Mac debuggers must also be modified forcorrect operation on the 68040Mac system and ROM software which handles exceptions must be modified,as well as the A/UX kernel. Some third party software will also need tobe changed.4.3 Floating Point Unit The 68882 (the FPU that is used with 68030 based systems) understands 50different operations. The 68040 understands only 20. Unlike the68882's FPU, the 68040's internal FPU does not provide trigonometricoperations such as SIN, COS, and TAN. For applications to workcorrectly, an emulator must be provided that runs whenever anunrecognized floating-point operation is encountered. This softwaremust decode the requested operation, do the operation in software, andreturn the results to the program.This processing can be done transparently to the user under System 6 andSystem 7. For A/UX compatibility, the kernel will have to be modified.Motorola provides about 256K of translation code to be called by themodified OS, but it adds additional overhead to the processor totranslate the code. This tends to offset the performance benefits.5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
> I was wondering if a 68040 can be substituted for a 68030 in a> MacIIfx. I understand that the pinouts and the clock rate (40Mhz 030
>What I am curious about is what a minimal upgrade to a 040 would>entail. Can I buy a chip, and build a small adapter board? Or are>there many changes that would have to be made.
5.0 Conclusion Conversion from the world of the 68030 to the 68040 is the toughest onefaced yet. Early accelerator board users will face an unpredictableenvironment where some INITs, cdevs, applications do not work. Most ofall, they will face an operating system with major incompatibilities ina few key areas (especially System 7 virtual memory). In addition,performance gains for the 25 MHz and 33 MHz version will not be muchgreater than IIfx levels. For these reasons, DayStar decided in early1990 to wait until Apple introduced their own 68040. Apple can bestmake the changes necessary for 68040 compatibility. DayStar has learned that end-users judge accelerator quality first bycompatibility and then by speed. Until a product is reliable, forwhatever reason, it should not be shipped. Waiting for Apple's 68040 tobe released will force the developer community to solve itscompatibility problems, with a speed far greater than that provided byany third party developer. In addition, Apple will have solved its ownincompatibilities with the op erating system.Several months after Apple's 68040 introduction DayStar plans tointroduce a 68040 accelerator. It will be an accelerator that builds onApple's approach to 68040 integration. This was an especially difficultdecision since DayStar had always been the first to bring faster speedto the Macintosh II family. In this case, it is best to let Apple gofirst. DayStar does not want to place its users on the "bleeding-edge"of technology with little or no performance benefit.
My experience, based on fairly heavy use of all three machines (andseveral others) but admittedly informal benchmarking (largelyprocessor-intensive applications such as compilers andinteger-computation tasks) would produce the following ranking:DS3100 = MacIIci < Sun SS1 = MacIIfx < HP9000/835 < DS5100 < Sun SS2.The SS2 is about 2x the SS1; the DS5100 is about 2x the DS3100. TheDS3100 is probably 70-80% as fast as the fx, possibly less. I may bewrong about the relative position of the HP and the DS5100, but I thinkthat's right...--John--------------------------------------------------------------------------John L. Coolidge Internet:cool...@cs.uiuc.edu UUCP:uiucdcs!coolidgeOf course I don't speak for the U of I (or anyone else except myself)Copyright 1991 John L. Coolidge. Copying allowed if (and only if) attributed.You may redistribute this article if and only if your recipients may as well.