home *** CD-ROM | disk | FTP | other *** search
/ PC User 1997 April / PCU_APR_97.ISO / utils / cpu / cpuinfo / readme16.txt < prev    next >
Encoding:
Text File  |  1995-10-25  |  6.5 KB  |  146 lines

  1. ReadMe16.txt----------------------------------------------------
  2.  
  3.                   16-bit DLL and Test Program
  4.  
  5. Contents:
  6.     
  7.     o EXECUTE\CPUINF16.DLL    -- 16-bit CPUINFO DLL
  8.     o EXECUTE\TSTDLL16.EXE    -- Test Program for CPUINF16.DLL
  9.     o SOURCE\*.*              -- Source Files for the DLLs, the
  10.                                    test programs, and the DOS
  11.                                    code
  12.  
  13. Installation:
  14.  
  15.  Copy both the TSTDLL16.EXE file and the CPUINF16.DLL file to
  16.  the same directory. Execute the TSTDLL16.EXE program.
  17.  
  18.  The DLL does not have to be placed in the same directory, but
  19.  if it is not placed in the same directory that the program
  20.  is executed from, the DLL must be pointed to by the PATH.
  21.  Otherwise the Windows* will not know where to find the file.
  22.  
  23.  
  24. OVERVIEW
  25.  
  26.  TSTDLL16 is a 16-bit MS-Windows* test program for the CPUINF16
  27.  DLL. TSTDLL16 requires at least an Intel386(TM) processor and
  28.  MS-Windows 3.1. The CPUINF16 DLL contains functions to return
  29.  the family, type/family/model/stepping, feature flags,
  30.  processor speed, and time stamp reading of the host processor.
  31.  Note that some functions do not pertain to all systems. See
  32.  below for further information.
  33.  
  34.  To determine what type of processor is in the computer, 
  35.  the CPUINF16 DLL uses the standard Intel cpuid assembly code.
  36.  To determine clock speed, the CPUINF16 DLL uses one of two 
  37.  algorithms. 
  38.  
  39.  The first algorithm (for use on systems not supporting the 
  40.  Time Stamp Register) directly uses the PC Chipset Timer to 
  41.  determine the amount of time taken to run a specified set of
  42.  instructions. The speed is then calculated based on the number
  43.  of cycles run and the number of microseconds it took to run 
  44.  them. This algorithm is basically a very crude benchmark test.
  45.  
  46.  The second algorithm (for use on systems which do support the
  47.  Time Stamp Register) utilizes the Windows API call 
  48.  timeGetTime() in place of directly reading the PC Chipset 
  49.  Timer. Instead of using a set number of instructions to 
  50.  determine the number of cycles executed throughout the test, 
  51.  this algorithm simply reads the Time Stamp at the beginning 
  52.  and the end of the test to find how many cycles have passed.
  53.  
  54.  
  55. Test Program Functionality
  56.  
  57.  1. CPU Family - this tests the wincpuid() function in 
  58.       CPUINF16.DLL, and returns the cpu Family (5-Pentium(R)
  59.       processor, 4-i486(TM) processor ...) as a hex number in a
  60.       windows message box.
  61.  
  62.  2. CPU Extensions - this tests the wincpuidext() function in 
  63.       CPUINF16.DLL, and returns the Processor Type/Family/
  64.       Model/Stepping as a hexidecimal number in a windows 
  65.       message box. The processor T/F/M/S are a 16-bit quantity
  66.       returned in the AX register by the CPUID operation.  If 
  67.       CPUID is not supported, only the Family, in bits 11:8,
  68.       are displayed by TSTDLL16.
  69.          AX(15:14) = Reserved
  70.          AX(13:12) = Processor type
  71.          AX(11:8)  = CPU Family
  72.          AX(7:4)   = CPU Model(if CPUID supported)
  73.          AX(3:0)   = Stepping #(if CPUID supported)
  74.  
  75.  3. CPU Speed - this tests the cpuspeed() function in
  76.       CPUINF16.DLL, and returns a FREQ_INFO structure which
  77.       contains the calculated speed of the processor, the
  78.       normalized (to the nearest known processor speed) value
  79.       of the processor, and the number of clock cycles and
  80.       microseconds that elapsed during the test sampling. After
  81.       displaying this information, the user is asked whether
  82.       to proceed with the testing and run 100 more iterations
  83.       of the test. The results are then displayed
  84.       statistically. This statistical feedback is primarily for
  85.       the user to get information on the precision of the 
  86.       cpuspeed() function. Note- Multiple sampling iterations
  87.       is done within cpuspeed() as well. In most cases, 
  88.       multiple calls to cpuspeed will not increase the
  89.       accuracy of the data.If greater accuracy is necessary
  90.       simply adjust the constants in SPEED.H.
  91.  
  92.  4. CPU Features - this tests the wincpufeatures() function in 
  93.       cpuid16.DLL, and returns the Feature Flags as a 
  94.       hexidecimal number in a windows message box. The Feature
  95.       Flags are a 32-bit quantity returned in the EDX register
  96.       by the CPUID operation.
  97.  
  98.  5. Read Time Stamp - this tests the winrdtsc() function in
  99.       CPUINF16.DLL. The 64-bit Time Stamp register is currently
  100.       available only on Pentium(R) and Pentium Pro(R)
  101.       processors. All other processors will return all zeroes
  102.       for the time stamp value.
  103.  
  104. 6. Get DLL Version - this tests the getdllversion() function in
  105.       CPUINF16.DLL. It returns an unsigned short. The upper byte
  106.       is the major version and the lower byte is the minor 
  107.       version.
  108.  
  109.  
  110.  
  111.     +----------------------------------------------------------+
  112.     | This program has been developed by Intel Corporation.    |
  113.     | You have Intel's permission to incorporate this code     |
  114.     | into your product, royalty free.  Intel has various      |
  115.     | intellectual property rights which it may assert under   |
  116.     | certain circumstances, such as if another manufacturer's |
  117.     | processor mis-identifies itself as being "GenuineIntel"  |
  118.     | when the CPUID instruction is executed.                  |
  119.     |                                                          |
  120.     | Intel specifically disclaims all warranties, express or  |
  121.     | implied, and all liability, including consequential and  |
  122.     | other indirect damages, for the use of this code,        |
  123.     | including liability for infringement of any proprietary  |
  124.     | rights, and including the warranties of merchantability  |
  125.     | and fitness for a particular purpose.  Intel does not    |
  126.     | assume any responsibility for any errors which may       |
  127.     | appear in this code nor any responsibility to update it. |
  128.     +----------------------------------------------------------+
  129.  
  130.   Information in this document is provided in connection with
  131.   Intel products.  Intel assumes no liability whatsoever, 
  132.   including infringement of any patent or copyright, for sale 
  133.   and use of Intel products except as provided in Intel's Terms 
  134.   and Conditions of Sale for such products.
  135.      
  136.   Intel retains the right to make changes to these specifications 
  137.   at any time, without notice.
  138.   
  139.  
  140.   * Other brands and names are the property of their respective
  141.     owners.
  142.   
  143.   Copyright (c) 1995, Intel Corporation.  All rights reserved.
  144.  
  145. ----------------------------------------------------ReadMe16.txt
  146.