home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 28 / amigaformatcd28.iso / +system+ / tools / expert / aibb_65 / 68040_notes < prev    next >
Text File  |  1998-02-26  |  4KB  |  56 lines

  1.  
  2.                                 A.I.B.B.
  3.                     Amiga Intuition Based Benchmarks
  4.                        Program Release Version 6.5
  5.                     Copyright 1991-1993 LaMonte Koop
  6.                           All Rights Reserved
  7.  
  8.                            MC68040 Users Notes
  9.  
  10.      The Motorola MC68040 microprocessor, newest of the M680x0 series, is of
  11. recent times seeing more use in various Amiga platforms.  The 68040 is
  12. a very versatile and quite advanced unit, capable of outperforming the earlier
  13. M680x0 series microprocessors by great lengths.  However, as with any
  14. advanced processing unit as such, the greatest performance benefit is seen
  15. when it is operating with code fine-tuned for it specifically.  This can be
  16. most easily seen with the 68040 in terms of floating-point operations.
  17.      The MC68040 contains a specialized floating point unit ( FPU )
  18. internally, as opposed to such a unit being interfaced externally such as
  19. the MC68030 and an MC68881 or MC68882 floating-point coprocessor.  The FPU
  20. within the 68040 is basically a fine-tuned sub-unit of the MC68882.  It
  21. supports the basic floating-point multiplication, division, addition, and
  22. subtraction functions, as well as some of the other less complicated
  23. operations.  Unlike the MC68882 and MC68881 however, the complex
  24. transcendental functions, such as sine, cosine, log functions, etc..., are
  25. not hardware microcoded, and thus must be software emulated.
  26.      In order to maintain object code compatibility with the MC68881 and
  27. MC68882, emulation packages for the transcendental functions and other
  28. missing elements in the 68040 FPU have been developed for use.  What these
  29. packages do is perform the function desired and return the result once the
  30. 68040 take an unimplemented instruction exception upon encountering an
  31. FPU call which is not included in this processor's FPU.  This allows for
  32. code previously utilized with the MC68881 and MC68882 to operate normally
  33. with this processor, but it does contain a disadvantage.
  34.      When the 68040 takes the aformentioned exception trap, there is a
  35. fair amount of CPU overhead involved.  The current processor state must
  36. be saved, and then the proper exception vector taken, which leads to the
  37. emulated software function.  All of this takes time, and in a code segment
  38. having many calls to such unimplemented functions in the 68040, this can
  39. lead to a somewhat noticable slowdown as compared to a straight MC68881 or
  40. MC68882 interface on an earlier CPU.  Despite this, let it not be thought
  41. that the FPU on the 68040 is unusable for such features.
  42.      The instruction set supported by the built-in 68040 FPU is in fact
  43. very fine-tuned, with such instructions being performed much faster than on
  44. either the MC68881 or MC68882.  Code specifically designed for the 68040
  45. can take advantage of this by 'building' the transcendental functions out
  46. of the existing functions ( the supported functions are in fact the building
  47. blocks necessary for this ).  Such functions designed this way, as either
  48. a subroutine call or in-line code, will in fact execute FASTER than the
  49. hardware supported MC68881 or MC68882 versions.
  50.      AIBB includes options for both 68881/68882 inline code, and 68040
  51. optimized inline code for floating-point tests.  The 68040 optimized test
  52. code should be used whenever possible when operating on a 68040, but
  53. to get a feel for how more 'common' code, which is designed for the
  54. 68881/68882, would function, feel free to use the standard coprocessor
  55. code options.
  56.