home *** CD-ROM | disk | FTP | other *** search
/ hobbes.nmsu.edu / 2008-06-02_hobbes.nmsu.edu.zip / dos / xmtp12.zip / XMTP.DOC < prev    next >
Text File  |  1995-03-29  |  6KB  |  117 lines

  1. XMTP Copyright (C)1995 Cornel Huth  12-Feb-95  FREEWARE
  2. Extended Memory-access Time Piece for 386+
  3.  
  4. [Text updated 29-Mar-95]
  5.  
  6. Options: C>xmtp xy
  7.  
  8.  where x=nothing and y=nothing is the default
  9.  where x=1 show alternate results (total time rather than time/KB)
  10.  where y=1 do alternate test (mov/dec rather than rep lodsd/stosd)
  11.  
  12. For example: C>xmtp     (for std results, std test)
  13.              C>xmtp 10  (for alt results, std test)
  14.              C>xmtp 01  (for std results, alt test)
  15.  
  16. ------------------------------------------------------------------------------
  17. What it is:
  18.  
  19. Since I couldn't find anything to time extended memory (at least, not
  20. complete timing data) XMTP was born.  I recently installed 16MB (went
  21. from 8MB to 20MB -- 8 slots) and noticed a slowdown in OS/2.  Odd.
  22. I found one program that timed memory and gave a "factor", with 1.0
  23. being the fastest, etc.  From this program, I concluded that something
  24. was up with my memory over 16MB (16-20MB chunk), since it was giving a
  25. 1.7 "factor", compared to the rest at "1.0".  By disabling my i486DX/33
  26. internal cache (L1, 8K), I got a "1.0" factor for all 20MB.  Obviously,
  27. that test program is not going to get me very far.
  28.  
  29. XMTP presents timing data for all extended memory (up to 63MB), and gives
  30. it in either microseconds/KB access time, or total microseconds per
  31. access.  Accesses are made in power of two sizes (1,2,4,8...1024KB) for
  32. each extended MB of memory, starting at 100000h (1MB+).  Both read and
  33. write access are timed (see TEST.0? for several examples), and the
  34. read tests are run twice to make use of any caching available.
  35.  
  36.  
  37. Interesting things about my test:
  38.  
  39. 1) My motherboard is not L1-caching memory about 8MB -- no wonder the
  40. slowdown when adding 16MB (I haven't put the other 4MB in -- and won't
  41. -- there's no doubt I need a replacement motherboard, especially since
  42. this dates to 1991 and is ISA/64K L2 cache).
  43.  
  44. 2) Reads are pretty much as expected with both caches on.  There is
  45. a break a 8KB (L1 size) and again at 64KB (L2 size), and the problem
  46. at 800000h (8MB) where the access reverts to L2 times.  Writes are
  47.  
  48.    [CORRECTION - ...where the access reverts to NO CACHE times.]
  49.  
  50. weird -- the times are L1 for all 15MB of extended memory (if L1 is
  51. active).  It's possible there is a flaw in the testing method.  Not
  52. related (necessarily), but the system is put into mongo mode and memory
  53. accesses are via 32-bit index registers with the DS and ES segments using
  54. 4GB limits.  Anyway, right now the write test isn't terribly important --
  55. I just wanted to see what the slowdown was all about.
  56.  
  57.  
  58. [UPDATE] -----------------------------------------------------------------
  59.  
  60. I replaced the motherboard.  It uses a 256KB L2 cache and does cache more
  61. than the old board, but only up to 16MB.  The results are almost identical
  62. to the tests included, except that cache-speed goes to 16MB instead of 8MB.
  63. This is not necessarily something that occurs on all 256K L2 motherboards,
  64. since I also had another one before this an it cached at least up to 20MB
  65. with the 256KB.  The manual of my now-in-use motherboard claims that 256KB
  66. L2 is enough to cache up to 32MB (where 64KB would do 8MB, and 1MB of cache
  67. is required for 64MB).  Not so!  Anyway, I can work with 16MB for this
  68. machines remaining life, and it will be put to good use when it retires.
  69.  
  70. On that other board, the one I returned even though it cached to at least 20MB,
  71. the problem with that one was that it would not run OS/2 (it was a NiCE Green
  72. 486 VLB -- a known problem board, so I found out).  Plus, even though it had
  73. a write-back L2 cache, it showed inferior results in my testing.  This new 
  74. board, though only "cacheable" to 16MB (and no x-setup to alter it, not even 
  75. hidden), does run fast (or, at least, on par) for a i486 system.  Now, what 
  76. to do with the 8 1MB SIMMs (30-pin, 60ns, 9-chip)...offers?
  77.  
  78. ---------------------------------------------------------------------------
  79.  
  80. Test options:
  81.  
  82. As the option info at the top shows, there are two result display modes
  83. and two access tests.  The first result mode gives times in us/KB accessed.
  84. The alternate mode is to show the actual time, in microseconds (us), that
  85. the access took.  Tests that cannot complete with 54ms (milliseconds)
  86. show as "ov", for overflow.  The first test uses REP LODSD to read-access
  87. to memory (with ECX set to block-size/4), and REP STOSD for write-access.
  88. The alternate test uses several instructions, including MOV EAX,[ESI]/
  89. ADD ESI,4/DEC ECX/JNZ... (similar to this, at least, and also MOV [EDI],EAX
  90. ... for write-access).
  91.  
  92. Output is via DOS, and can be redirected to a file:
  93.  
  94.         C>xmtp > file.rez
  95.  
  96. It may be necessary to explicitly add the command-line options, such as
  97. C>xmtp 00, even for standard (default) runs, otherwise previous command
  98. line options/garbage may be used (program-slop).
  99.  
  100. Only full MB blocks are tested currently.  Partial MB blocks (15MB + 256KB)
  101. are noted, but not timed (maybe next time).  Source code is not available
  102. for release.
  103.  
  104. Comments/problems/ideas should be sent to addresses at bottom.
  105.  
  106. Be specific, and send any test results if you expect me to reply.  Also, you 
  107. may want to check my FTP site for any updates to this program, or for other 
  108. programs.  Currently, there are programmer toolkits (database and soundcard),
  109. along with MIDI/VOC/WAVE/MOD players, an LP solver,and who knows what.  
  110. For DOS, Win, and OS/2.
  111.  
  112.                                 cornel@crl.com
  113. (FTP) ftp.crl.com /users/ro/cornel --- (WWW) ftp://ftp.crl.com/users/ro/cornel
  114. BBS/fax: +1-210-684-8065 / Monday-Friday after 5pm / Weekends 24 hours [-0500]
  115.             - Bullet/DOS - Bullet/Win - Bullet/2 - Ruckus/DOS -
  116.  
  117.