Knowing My CPU
Results 1 to 4 of 4

Thread: Knowing My CPU

  1. #1
    Member
    Join Date
    Jul 2004
    Posts
    84

    Question Knowing My CPU

    hey, sorry to bother you guys about this, but I just ordered a custom computer from a store, and I was wondering if there is a way to tell wether the CPU (intel) is the HT ones. The reason im asking is because im afraid of them ripping me off with just a normal 3.2 CPU instead of the ones with hyper-threading. So if anyone can tell me how to see what type it is it would be great =).

    Thanks,
    s3nate

  2. #2
    Senior Member
    Join Date
    Mar 2004
    Posts
    557
    Hi

    The very simplest way is to check the number of CPUs
    displayed by the task manager (assuming windows XP). If you
    have only 1 CPU, but there are 2 CPUs shown, there is a
    good chance that you have HT support (real vs logical CPUs).

    Also simple might be to remove the cooler, look at the CPU for
    a small HT, and put back the cooler correctly (not recommended)

    The second simplest, but safe way would be to use the intel
    tool at [1].


    For those interested in what the tool is actually doing.
    It calls cpuid and obtains information by analysing the
    result (in edx) based on the specification[2].
    I quickly coded an example (for several compilers)

    Code:
    #include <stdio.h>
    
    #define USE_ATandT 1			// set to 1 if you use gcc
    
    int IsHTSupport = 0;
    
    int main(){
    
    	long int one=1;
    	long int test = 0x10000000;
    
    
    #if USE_ATandT
    __asm__ __volatile__( "pushl %%eax\t\n"
    				"movl %1,%%eax\t\n" 
    			        "cpuid\t\n" 
                          "test %2,%%edx\t\n" 
    				 "jz HT_Not_Support\t\n"
    				  "movl %1,%%eax\t\n"
    				  "movl %%eax,%0\t\n"
    				  "HT_Not_Support:\t\n"
    				  "popl %%eax"
                          : "=m" (IsHTSupport)
                          : "m" (one),"m" (test)); 
    #else
    __asm{
    	mov			eax,1
    	cpuid 
    	test        edx,   0x10000000   // Check if bit 28 in EDX is set
    	jz			HT_Not_Support
    	mov			IsHTSupport,1
    	HT_Not_Support:
    	}
    #endif
    
    
    	printf("Result: %d (1=yes, 0=no)\n",IsHTSupport);
    	return 0;
    }
    compile with
    Code:
    > gcc -lstdc++ -o test_HT test_HT.cpp
    Cheers


    [1] http://downloadfinder.intel.com/scri...g/cthenu04.msi
    [2] http://bochs.sourceforge.net/techspe...-and-cpuid.pdf
    If the only tool you have is a hammer, you tend to see every problem as a nail.
    (Abraham Maslow, Psychologist, 1908-70)

  3. #3
    The Doctor Und3ertak3r's Avatar
    Join Date
    Apr 2002
    Posts
    2,744
    it could be a HT cpu but if the MOBO is not HT compatable then you have a plain jane toy with a 533fsb.. and no Hyper Threading..
    "Consumer technology now exceeds the average persons ability to comprehend how to use it..give up hope of them being able to understand how it works." - Me http://www.cybercrypt.co.nr

  4. #4
    Member
    Join Date
    Jul 2004
    Posts
    84
    Thanks, it really helped...and thankfully they didnt try to rip me off=)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

 Security News

     Patches

       Security Trends

         How-To

           Buying Guides