News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Rewritten CPUID algo for testing instruction sets.

Started by hutch--, May 01, 2010, 02:04:38 PM

Previous topic - Next topic

dedndave

Hutch - Magicle has a Phenom with SSE4a
so does Greenhorn
Paul Brennick has a Turion that supports SSE4a

hutch--

Dave,

If I remember correctly all of the prescott series PIVs supported EM64T. I don't know if that left you with an extra instruction set that you could use with them but the 3.0, 3.2 and 3.8 Prescotts I have owned all supported EM64T.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

dedndave

as i understand it, the very early ones did not
i could be mistaken, as it's very easy to be when it comes to cpuid - lol
i was very disappointed to learn that mine does not support SAHF/LAHF in 64-bit mode, though   :(

hutch--

Dave,

If you can raise a few spare roubles an Intel i3 is in fact a nice gadget, I built one for friends recently. Genuine dual core with hyperthreading running at just under 3 gig. I set it up with XP SP3 with 2 x 500 gig disks and 4 gig of memory. Everything ran well on it and the machine actually felt fast to use. I only have 1 PIV left now, the server 3.8 gig chip that I bought from Hong Kong and while it does run well, has SpeedStep, hyperthreading, virtualisation etc etc .... the newer ones are faster at almost everything and are true 64 bit hardware.

With the demise of the Gigabyte board on the 3.2 gig PIV, I managed to use the 2 new 320 gig disks and the USB front panel card reader on the new box but it still wasted the rare bits in it, Scythe copper cooler, Northbridge chip cooler, 2 x 1 gig pieces ofr DDR2 and sad to say the last 2 320 gig ATA disks as I have nothing else that will run ATA disks.

On the bright side the two new WD disks that came out of it benchmark at about 105 meg/sec with HDTUNE so they are fast enough to use on the new box, made up for the weird way that the Intel XtremeHD worked where all of the disks must be cotrolled through the Xhd. I normally leave the first pair as normal disks and stripe matched pairs with later ones.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

dedndave

i don't suppose an i3 would swap right into this m/b ?   :bg
the truth is, the way i set up XP, i am quite pleased with this machine in terms of performance
going from 1 Gb to 4 Gb RAM would probably help a lot
it would be fun to play with a couple real cores
if it is simple and inexpensive to speed it up.....

hutch--

ave,

You would need another board and DDR3 memory to go with it but the i3 processors are very cheap, AMD competition has forced Intel to become a lot more competitive. I was nearly tempted to build an AMD Phenom II 965 BE as they are coming down in price but went for the Intel Quad i7 as there was not that much price difference.

I was impressed with the i3 I built for friends, proper dual core with hyperthreading gave it very good multithread performance and at just on 3 gig each core is faster than the fastest PIV so they are no slouch performance wise. The i3 is later technology that the i7 I am running, its 32nm technology where the i7 is 45nm from memory. They run almost stone cold and need very little cooling, perhaps where you live in summer it could use a bit but nothing like the heat a Prescott PIV produces.

Funny enough the model you have runs the hottest of that familiy as the later PIVs had the speedstep technology that dropped their core speed on idle.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

dedndave

yes - it does get a little warm
they put a good-sized heat sink with a fan on it
my problems have been with hard-drives - i suppose the temperature inside the box hasn't helped that situation
i was interested in this latest i7 - not that i really need an upgrade
but, the i3 sounds like a good choice
if i need to look for a new one, i will have to compare prices
no problem as far as keeping the same box - it has all kinds of flash readers on the front - most of them i have never used - lol
Memory Stick - Compact Flash - SM/xD PictureCard - SD/MMC

clive

The work Prescott is a 2MB L2 model with EM64T. http://processorfinder.intel.com/details.aspx?sSpec=SL7Z9

The home one (1MB L2, w/HT) is probably this one. http://processorfinder.intel.com/details.aspx?sSpec=SL7J6
Only Hyperthreading, no EM64T. All part of Intel's feature pricing model.
It could be a random act of randomness. Those happen a lot as well.

ecube


AMD Athlon(tm) 64 Processor 3000+
-----
INTEL
-----
0 sse4.2
0 sse4.1
0 ssse3
1 sse3
1 sse2
1 sse
1 mmx

---
AMD
---
0 sse4a
1 mmx_ex
1 3DNow
1 3DNow_ex

Press any key to continue ...


Hutch I attached a small modification of your code that displays the users CPU name(using cpuid), so that you can see what they have, I also added a build.bat :P

hutch--

Thanks Cube.

With thanks to Paul Dixon who tested the algo, it seems to work fine on AMD Phenom II CPUs so that algo does what it is supposed to do, check for CPUID and if present fills the structure of instruction types with either 0 if not present or 1 if the instruction set is present.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php


Ficko

QuoteHutch I attached a small modification of your code that displays the users CPU name(using cpuid),.....

Hi "E^cube"

I think you have some flaws in your modification. :bg

1.) You call "GetCPUName" too early bypassing Hutch protection for "old timers".

2.) if eax>=80000005h should be eax>=80000004h there is only 3 string pulls:
80000002h
80000003h and
80000004h

3.) You didn't take care of "AMD K5" it is BIG-Endian
80000002h 2D444D41 7428354B 5020296D 65636F72
;AMD- K5(r m) P roce
80000003h 726F7373 00000000 00000000 00000000
;ssor
80000004h 00000000 00000000 00000000 00000000



dedndave

the big-endian K5 is a new one on me
i don't remember seeing anything about that in the AMD docs or on sandpile...

http://www.sandpile.org/ia32/cpuid.htm

Ficko

Yep there is not too much about it anywhere and I can't conform it eighter - not having one  :green -

Only this http://asm.inightmare.org/opcodelst/index.php?op=CPUID

May some one has a "K5" around and can test it ? ::)

dedndave

i read the comments in that routine, Ficko
i can see where it could be a little bit mis-leading for you as English is a foriegn language to you
the comment merely mentions that intel storage is big-endian
but, when you place the dword values into memory, the strings come out in the right order

i don't think there is anything special about the order of the AMD K5 strings
i can't really verify it, because noone that has a K5 ran the program in this thread   :lol

http://www.masm32.com/board/index.php?topic=13044.0

after poking around a bit, i see that MichaelW has or used to have a K5
he only posted data for a P3, though
maybe we can get him to post K5 data in that thread   :bg