News:

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

Which is faster?

Started by Neil, May 01, 2009, 10:56:52 AM

Previous topic - Next topic

hutch--

I am suprised that your BIOS does not tell you the Intel designation for your processor. I have 2 EM64T processors that identify as Prescott, an earlier one that identifies as a Northwood and all of them can handle hyperthreading which you turn off in win2000 as it is not optimised for this technology. Without turning it off in the BIOS,  Win2000 reports 2 processors and runs badly with uneven timings.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

dedndave

Quote from: hutch-- on May 06, 2009, 11:24:32 AM
I have 2 EM64T processors that identify as Prescott, an earlier one that identifies as a Northwood

2 questions for you Hutch.....
1) "identify as" - you mean all CPUID programs tell you the EM64T's are Prescotts ?
2) "an earlier one that identifies as a Northwood" - an earlier EM64T ?

They are all Intel processors - they should ID properly - i could understand if they were manufactured by someone else
Perhaps it is that the CpuID programs used are not doing their thing ?
Of course, if you ask the salesman at radio shack, "is it quad-core", he will answer yes - lol
Do you run a 64-bit OS on any of them?
I bet the Vista-64 installer would tell you right away that they are not Prescotts

hutch--

Dave,

I know their Intel designation from the Intel box they came in. The 6 year old Northwood is the last true 32 bit processor, the EM64T (3.2 and a 3.0 gig versions in 2 seperate boxes) were both designated as Prescott. Here is one of many agreeing dumps from some of the toys I have.


Number of CPU(s) One Physical Processor / One Core / One Logical Processor / 64 bits
Vendor GenuineIntel
CPU Full Name Intel Pentium 4 HT
CPU Name Intel(R) Pentium(R) 4 CPU 3.20GHz
CPU Code Name Prescott
Technology 0.09µ
Platform Name LGA775
Type Original OEM processor
FSB Mode QDR
Platform ID 4
Microcode ID 03
Type ID 0
CPU Clock 3193.53
System Bus Clock 798.38
System Clock 199.60
Multiplier 16.00
Original Clock 3200.00
Original Bus Clock 800.00
Original System Clock 200.00
Original Multiplier 16.00
L2 Cache Speed 3193.53 MHz
L2 Cache Speed Full
CPU Family / Model / Stepping F / 4 / 9
Family Extended 00
HyperThreading 2
L1 T-Cache 12 KµOps
L1 D-Cache 16 KB
L2 Cache 1024 KB
RDMSR 00000000 00000000 10120210 00000000
MMX Yes
MMX+ No
SSE Yes
SSE2 Yes
SSE3 Yes
3DNow! No
3DNow!+ No
DualCore No
HyperThreading Yes
IA-64 No
AMD64 No
EM64T Yes
NX/XD Yes
SpeedStep No
PowerNow! No
LongHaul No
LongRun No
Architecture x86

Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

dedndave

Just got back from a re-boot - I wanted to see what my BIOS said.
I never looked at the CPU part much, other than to notice all the features were enabled.
It says I have a Pentium P4 - on the next line it says "EM64T Capable"
Dang it Hutch - I was all warm and fuzzy with a Prescottt - Now I hafta go find out what the hell "EM64T Capable" means   :eek


Neil


dedndave

Thanks Neil
Now I am thoroughly confused  :dazzled:

dedndave

#111
From what I can gather, EM64T is a specification, not a processor
Let me look further.......

Yikes! - another "whack-a-mole" definition
notice the last sentance....

The final sub-mode of EM64T is 64-bit mode. As one would likely assume, 64-bit mode is utilized by 64-bit applications when they're run under a 64-bit operating system. Intel has made several key changes to the IA-32 architecture to allow for these 64-bit applications, such as adding support for 64-bit linear addressing. Linear addressing is a scheme that allows access to the entirety of memory with use of a single address, usually loaded in a register or instruction. Variations of the IA-32 architecture may not offer full 64-bit linear addressing, an example being the current 600 series Pentium 4 processors which only allow for 48-bit linear addressing.

I am now googling for "Vista-48" - lol

Unless I can run Vista-64 with limited 48-bit linear addressing, it makes no sense to me.
I have no intention of going to Windows x64. I think that OS will, in the future, be viewed much as we now view OS2.
Truthfully, I have my hands full with 32-bits.
Intel, Micorsoft, and the computer manufacturers are in a damn fast hurry to make us believe we need 64 bits.
Anyone who does not believe that they are all working together, is not seeing the big picture.
They want us to scrap out our "old" 32-bit computers, OS's, and software to buy all new stuff.
Hey! Billy! Don't you have enough #$%@#$% money, as it is?
I am happy with 32-bits and, at my age, I don't foresee a need for 64-bits for myself.
I suppose if I was running some high-powered CAD or emulation software, or making CGI graphics for movies, I might want more machine.
They have to realize that "Joe and Jan Sixpack" that want to get their e-mail, edit a few pictures of the kids, and surf the net a bit
do not want, need, nor can they afford more than they already have. Especially after the big corporate CEO's, Bush/Cheney, and all the
other politicians on the planet have sucked the life out of the world economy.

Oops! Sorry for sliding off topic. It is, however, slightly germaine to the discussion at hand.
We would not be in here trying to figure out how to optimize/benchamrk code on all these platforms,
or just identify those platforms, if the issues I mentioned did not affect us.
We have to work harder in order to accomodate "the conspiracy".

P.S. I am an old guy who still thinks the 8088 was a powerhouse. Compared to what we had beforehand, it was.
      I do, however, think they may have reached a point of diminishing return with respect to the "average" consumers' needs.

Mark Jones

Dave, the more you say, the more I like you. :bg

Quote from: dedndave on May 06, 2009, 02:32:58 PM
...Variations of the IA-32 architecture may not offer full 64-bit linear addressing, an example being the current 600 series Pentium 4 processors which only allow for 48-bit linear addressing.

I am now googling for "Vista-48" - lol

I think where some of this abiguity comes from, is that not all bits must be used in an instruction or addressing width. I.e., a 64-bit memory "pointer" may only have 48 bits actually used or implemented, which will give a lot more addressable space than a 32-bit pointer without using the full 64 bits. It is ambiguous, indeed.

Quote
Intel, Microsoft, and the computer manufacturers are in a damn fast hurry to make us believe we need 64 bits.

Well, they are just "propogating the market." If the OS and program size keeps growing exponentially, then the user will be eternally forced to upgrade hardware to keep up... ingenious, if not borderline shady business practice...

Quote
P.S. I am an old guy who still thinks the 8088 was a powerhouse. Compared to what we had beforehand, it was.
      I do, however, think they may have reached a point of diminishing return with respect to the "average" consumers' needs.

Indeed. I think a lot of us view the older hardware in such a positive light because it was so simple and managable that it was elegant. Granted, segmented memory and interrupt tables look nasty, but the instructions and processor itself were nice and concise. Shaving off a few bytes and clocks made amazing improvements, and there was an immediate "reward" for the time invested coding meaningful, good code. However nowadays, a CPU has 4MB of third-level cache and four cores with out-of-order preemptive pipelining or some other crap... making not only programming it effectively a nightmare, but the "golden tweaks" of yesteryear far less valuable or even noticable.

In short, the hardware is adapting to software bloat, instead of vice-versa. ::)
"To deny our impulses... foolish; to revel in them, chaos." MCJ 2003.08

dedndave

I think that is totally true.
I also think that XP, for example, is way more of an OS than is required for many day-to-day tasks.
Back in the days, we could do a DIR on a larger directory and get a feel for how fast the machine was.
If the entire list of files could be read, one by one as they went by, it was a 4.77 mhz 8088 - lol.
If the list scrolled off the screen in a flash of green light, you had a fast machine.
The operating systems in use today have so much overhead.
The machine I am typing on now is fairly decent, and I am pleased with its' performance.
But, not without some tweaking and tuning of the OS.
If I were to (or even could - don't think it would work - no drivers) put DOS 3.3 on this machine, it would fly! - lol
To bring the point a little closer to home, Windows 95 was a very fast OS.
Windows 98, a little less so, but it had many desirable feature upgrades.
Those OS's would blaze on this hardware, but I doubt I could get a complete set of device drivers.
Each OS that comes out is more and more demanding on the hardware.
Where you can really see "the conspiracy", though, is in things like XP support for newer hardware.
It is slowly trickling away. The hardware manufacturers are well aware of their mortality if they continue to support XP.
They actually have to change the hardware in some way so that XP will not run correctly or completely.
This insures that Vista (much slower OS) will be used.
Which, in turn, assures the obsolesance of XP.
Microsoft happily bats the birdie back over the net and assures that each OS requires better, newer, faster hardware to run on.
It all comes out of our pocket, and is part of the reason that the wealthiest 2% of the population have 98% of the money.

One final note - then back to the technical stuff on benchmarking......
Notice how Vista-64 will not run a real mode, making 16-bit code obsolete. MS/Intel/AMD did not have to do that, if they didn't want to.
At the same time, Windows XP-64 is just crippled enough to make it unwanted.
This is one example that really makes me believe that Microsoft, Intel, AMD, the computer manufacturers, and perhaps some of
the larger software companies (other than MS) get together for an annual or bi-annual "meeting" on someones yacht to discuss how
they are going to slowly walk the consumers away from XP into something they don't really need.
I did not hear the consumers hollering for a 64-bit CPU and/or OS to begin with.

FORTRANS

Quote from: dedndave on May 06, 2009, 05:51:01 PM
If I were to (or even could - don't think it would work - no drivers) put DOS 3.3 on this machine, it would fly! - lol

   You probably could boot DOS, I was running a benchmark, and
did it on my "newest" machine.  Made a nice RAM disk 'cause the
hard disks were too big.  And no network.  And no sound.  But I
got some real nice numbers from my nice little graphics program.

Cheers,

Steve N.

P.S.  I would go with DOS 6.x, the last couple of times dealing with
DOS 3.1 were not pretty.  <g>


jj2007

Quote from: Mark Jones on May 06, 2009, 05:14:52 PM

Granted, segmented memory and interrupt tables look nasty, but the instructions and processor itself were nice and concise.


LOAD_ARRP:     MOVE.W  D4,P_FE0(A6)
               MOVE.L  (A0),A0        *A0=Arrptr
               ADDQ.L  #4,A0          *A0=first descriptor
               MULU    #6,D4
               ADD.L   D4,A0          *A0=descriptor P_fe%
               MOVE.L  A0,P_FE_A(A6)  *save for backtrailer
               MOVE.L  D0,D4
               RTS


I used to write my own screen and printer drivers in 68000 assembler. At that time, late 80's, people who were fumbling with segments were considered anachronists :bg
Just ran my old word processor on an emulator. A factor 10 faster than on the real thing, at least

dedndave

That code looks like a foriegn language to most in here JJ - lol
May as well be Greek (or Italiano)
I haven't seen 68000 code since i worked at Edge Computer - mid 80's

I do not miss segmentation, much
I do miss interrupts for hardware detection, though
I haven't figured out how all that works on 32-bit yet
One step at a time...

dedndave

#117
ok, Hutch
  What you and I have (I think the same) are Prescott dual-core CPU's. Mine is a model 630.
They are capable of running Vista 64. I am not sure if we have the 48-bit address or 64-bit address capablilities.
Personally, I can't imagine my needing to breach the first one, as it allows for more memory than my motherboard will allow.
One thing to note; The motherboard, as well as the CPU, must be able to support Vista 64. This is probably why determining
whether or not a particular machine is capable is a bit fuzzy. As for my own m/b, it is an Intel, which made that determination
a little easier.
  Now - here is what will excite some of us. By poking around on the Intel site, I managed to find an Intel CPU ID program.
They also have a utility to measure frequencies. Following is a link to a page with both downloads.

Intel CPU ID Program
http://support.intel.com/support/processors/sb/CS-015477.htm

hutch--

Dave,

This has been the most useful toy in the processor identification area that I have found. There are others that work just as well.

http://www.cpuid.com/cpuz.php
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

dedndave

#119
Here is the official AMD CPU ID program.
Personally, I would think if you want to ID an Intel CPU, who better to trust than Intel.
If you want to ID an AMD CPU, who better to trust than AMD.
The manufacturer may more completely identify a certain CPU's features.

AMD CPU ID Program
http://support.amd.com/us/Pages/dynamicDetails.aspx?ListID=c5cd2c08-1432-4756-aafa-4d9dc646342f&ItemID=132

Intel CPU ID Program
http://support.intel.com/support/processors/sb/CS-015477.htm

btw Hutch - I like that one too - it tells me a few things about my m/b I was not aware of.